aps-agent/shared/schemas/plan_node.schema.json

60 lines
1.2 KiB
JSON

{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://aps-agent.local/schemas/plan_node.schema.json",
"title": "PlanNode",
"type": "object",
"additionalProperties": false,
"required": [
"planId",
"layer",
"parentId",
"version",
"regenCount",
"inputsHash",
"status",
"payload",
"evidenceRefs",
"createdAt",
"createdBy"
],
"properties": {
"planId": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]{0,127}$"
},
"layer": {
"enum": ["L0", "L1", "L2", "L3"]
},
"parentId": {
"type": ["string", "null"]
},
"version": {
"type": "integer",
"minimum": 1
},
"regenCount": {
"type": "integer",
"minimum": 0
},
"inputsHash": {
"type": "string",
"pattern": "^[0-9a-f]{64}$"
},
"status": {
"enum": ["DRAFT", "APPROVED", "RUNNING", "DONE", "FAILED", "SUPERSEDED"]
},
"payload": {},
"evidenceRefs": {
"type": "array",
"items": {"type": "string"}
},
"createdAt": {
"type": "string",
"minLength": 1
},
"createdBy": {
"enum": ["LLM", "USER", "SYSTEM"]
}
}
}