Files
ITWorx_MCP_Hub-Public/contracts/schemas/operation.schema.json
T

103 lines
2.0 KiB
JSON

{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"title": "ITWorx MCP Hub Operation",
"description": "Durable internal operation record used before future MCP Tasks support.",
"type": "object",
"additionalProperties": false,
"$id": "https://hub.example.com/schemas/operation.schema.json",
"required": [
"operationId",
"type",
"project",
"environment",
"requestedBy",
"clientId",
"state",
"riskClass",
"planHash",
"createdAt"
],
"properties": {
"operationId": {
"type": "string",
"pattern": "^op_[A-Za-z0-9_-]{10,80}$"
},
"type": {
"type": "string",
"pattern": "^[a-z][a-z0-9_.-]+$",
"maxLength": 120
},
"project": {
"$ref": "common.schema.json#/$defs/slug"
},
"environment": {
"$ref": "common.schema.json#/$defs/environmentName"
},
"requestedBy": {
"type": "string",
"minLength": 1,
"maxLength": 300
},
"clientId": {
"type": "string",
"minLength": 1,
"maxLength": 300
},
"state": {
"enum": [
"planned",
"awaiting_approval",
"approved",
"queued",
"running",
"verifying",
"succeeded",
"failed",
"cancelled",
"rolling_back",
"rolled_back",
"expired"
]
},
"riskClass": {
"$ref": "common.schema.json#/$defs/riskClass"
},
"planHash": {
"type": "string",
"pattern": "^sha256:[a-f0-9]{64}$"
},
"createdAt": {
"type": "string",
"format": "date-time"
},
"expiresAt": {
"type": [
"string",
"null"
],
"format": "date-time"
},
"startedAt": {
"type": [
"string",
"null"
],
"format": "date-time"
},
"finishedAt": {
"type": [
"string",
"null"
],
"format": "date-time"
},
"resultSummary": {
"type": [
"string",
"null"
],
"maxLength": 4000
}
}
}