{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://github.com/shleder/vetto/blob/main/docs/schema/agent-adapter.schema.json",
"title": "Vetto agent adapter manifest (rescue contract v1)",
"description": "A declarative adapter manifest. Unknown fields are invalid; runtime discovery and recovery remain bounded and read-only as specified by docs/schema/rescue-adapter-contract-v1.md.",
"type": "object",
"additionalProperties": false,
"required": [
"schema_version",
"id",
"display_name",
"version",
"surfaces",
"capabilities",
"executables"
],
"properties": {
"schema_version": {
"const": 1
},
"id": {
"type": "string",
"pattern": "^[a-z0-9]+(?:[.-][a-z0-9]+)*$"
},
"display_name": {
"type": "string",
"minLength": 1,
"maxLength": 80
},
"version": {
"type": "string",
"minLength": 1,
"maxLength": 40
},
"support_level": {
"type": "string",
"enum": [
"protected",
"integrated",
"rescue-only",
"observe-only",
"unsupported"
],
"description": "The strongest support claim this adapter is allowed to make. Availability is reported separately at runtime."
},
"surfaces": {
"type": "array",
"minItems": 1,
"uniqueItems": true,
"items": {
"enum": ["cli", "desktop", "ide", "cloud"]
}
},
"capabilities": {
"type": "array",
"uniqueItems": true,
"items": {
"enum": [
"detect",
"discover_sessions",
"snapshot",
"diagnose",
"resume",
"fork",
"restore_to_copy",
"lifecycle_events",
"protected_launch"
]
}
},
"executables": {
"type": "array",
"minItems": 1,
"uniqueItems": true,
"items": {
"type": "string",
"pattern": "^[A-Za-z0-9._+-]+$"
}
}
},
"$defs": {
"support_level": {
"type": "string",
"enum": [
"protected",
"integrated",
"rescue-only",
"observe-only",
"unsupported"
]
}
}
}