Files
wehub-resource-sync a9cd7750f4
CI / detect-changes (push) Waiting to run
CI / build (push) Waiting to run
UI v2 CI / E2E (Mocked) (push) Blocked by required conditions
UI v2 Integration CI / E2E (Integration) (push) Waiting to run
CI / unit-test (push) Blocked by required conditions
CI / test-harness (push) Waiting to run
CI / generate-e2e-matrix (push) Waiting to run
CI / e2e (push) Blocked by required conditions
CI / build-ui (push) Waiting to run
Publish docs via GitHub Pages / Deploy docs (push) Waiting to run
Release Drafter / update_release_draft (push) Waiting to run
UI v2 CI / Lint, Format & Test (push) Waiting to run
chore: import upstream snapshot with attribution
2026-07-13 12:37:56 +08:00

211 lines
5.7 KiB
JSON

{
"$schema": "http://json-schema.org/draft-07/schema#",
"$id": "https://conductoross.org/schemas/TaskDef.json",
"title": "TaskDef",
"description": "Task definition schema",
"type": "object",
"required": ["name"],
"properties": {
"name": {
"type": "string",
"description": "Unique name identifying the task",
"minLength": 1
},
"description": {
"type": "string",
"description": "Description of the task"
},
"retryCount": {
"type": "integer",
"description": "Number of times to retry the task on failure",
"minimum": 0,
"default": 3
},
"timeoutSeconds": {
"type": "integer",
"description": "Time in seconds after which the task is marked as TIMED_OUT if not completed",
"minimum": 0
},
"inputKeys": {
"type": "array",
"description": "List of keys expected in the input",
"items": {
"type": "string"
},
"default": []
},
"outputKeys": {
"type": "array",
"description": "List of keys expected in the output",
"items": {
"type": "string"
},
"default": []
},
"timeoutPolicy": {
"type": "string",
"description": "Policy to apply when task times out",
"enum": ["RETRY", "TIME_OUT_WF", "ALERT_ONLY"],
"default": "TIME_OUT_WF"
},
"retryLogic": {
"type": "string",
"description": "Mechanism for retry logic",
"enum": ["FIXED", "EXPONENTIAL_BACKOFF", "LINEAR_BACKOFF"],
"default": "FIXED"
},
"retryDelaySeconds": {
"type": "integer",
"description": "Time in seconds to wait before retrying the task",
"minimum": 0,
"default": 60
},
"responseTimeoutSeconds": {
"type": "integer",
"description": "Time in seconds after which the task is re-queued if no response is received",
"minimum": 1,
"default": 3600
},
"concurrentExecLimit": {
"type": "integer",
"description": "Maximum number of concurrent task executions",
"minimum": 0
},
"inputTemplate": {
"type": "object",
"description": "Template for task input parameters",
"additionalProperties": true,
"default": {}
},
"rateLimitPerFrequency": {
"type": "integer",
"description": "Maximum number of task executions per rateLimitFrequencyInSeconds",
"minimum": 0
},
"rateLimitFrequencyInSeconds": {
"type": "integer",
"description": "Frequency window in seconds for rate limiting",
"minimum": 1
},
"isolationGroupId": {
"type": "string",
"description": "Isolation group identifier for task execution"
},
"executionNameSpace": {
"type": "string",
"description": "Namespace for task execution"
},
"ownerEmail": {
"type": "string",
"description": "Email address of the task definition owner",
"format": "email"
},
"pollTimeoutSeconds": {
"type": "integer",
"description": "Time in seconds after which the task poll times out",
"minimum": 0
},
"backoffScaleFactor": {
"type": "integer",
"description": "Backoff multiplier for LINEAR_BACKOFF retry logic",
"minimum": 1,
"default": 1
},
"baseType": {
"type": "string",
"description": "Base type of the task (for task type inheritance)"
},
"totalTimeoutSeconds": {
"type": "integer",
"description": "Total timeout including all retries",
"minimum": 0
},
"inputSchema": {
"$ref": "#/definitions/SchemaDef"
},
"outputSchema": {
"$ref": "#/definitions/SchemaDef"
},
"enforceSchema": {
"type": "boolean",
"description": "Whether to enforce schema validation",
"default": false
},
"ownerApp": {
"type": "string",
"description": "Owner application name"
},
"createTime": {
"type": "integer",
"description": "Creation timestamp in milliseconds",
"format": "int64"
},
"updateTime": {
"type": "integer",
"description": "Last update timestamp in milliseconds",
"format": "int64"
},
"createdBy": {
"type": "string",
"description": "User who created this task definition"
},
"updatedBy": {
"type": "string",
"description": "User who last updated this task definition"
}
},
"definitions": {
"SchemaDef": {
"type": "object",
"required": ["name", "type"],
"properties": {
"name": {
"type": "string",
"description": "Schema name"
},
"version": {
"type": "integer",
"description": "Schema version",
"default": 1
},
"type": {
"type": "string",
"description": "Schema type",
"enum": ["JSON", "AVRO", "PROTOBUF"]
},
"data": {
"type": "object",
"description": "Schema definition data",
"additionalProperties": true
},
"externalRef": {
"type": "string",
"description": "External schema reference (e.g., schema registry reference)"
},
"ownerApp": {
"type": "string",
"description": "Owner application"
},
"createTime": {
"type": "integer",
"description": "Creation timestamp",
"format": "int64"
},
"updateTime": {
"type": "integer",
"description": "Update timestamp",
"format": "int64"
},
"createdBy": {
"type": "string",
"description": "Creator"
},
"updatedBy": {
"type": "string",
"description": "Last updater"
}
}
}
}
}