File size: 1,739 Bytes
f109bf8 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 | {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://david.local/schemas/agent_descriptor.json",
"title": "AgentDescriptor",
"type": "object",
"required": [
"agent_id",
"domain",
"capabilities",
"languages",
"input_types",
"output_types",
"required_evidence",
"permissions",
"risk_class",
"dependencies",
"execution_endpoint"
],
"properties": {
"agent_id": { "type": "string", "minLength": 1 },
"domain": { "type": "string" },
"capabilities": {
"type": "array",
"items": { "type": "string" },
"uniqueItems": true
},
"languages": {
"type": "array",
"items": { "type": "string" }
},
"input_types": {
"type": "array",
"items": { "type": "string" }
},
"output_types": {
"type": "array",
"items": { "type": "string" }
},
"required_evidence": {
"type": "array",
"items": { "type": "string" }
},
"permissions": {
"type": "array",
"items": { "type": "string" }
},
"risk_class": {
"type": "string",
"enum": ["low", "medium", "high", "critical"]
},
"dependencies": {
"type": "array",
"items": { "type": "string" },
"description": "Other agent_id values required for dependency closure"
},
"embedding": {
"type": "array",
"items": { "type": "number" },
"description": "Optional; usually stored only in pgvector"
},
"execution_endpoint": { "type": "string" },
"control_plane": {
"type": "boolean",
"default": false,
"description": "If true, always considered for Risk/Audit/Response closure"
}
},
"additionalProperties": false
}
|