Files
.pouch/skills/ack/templates/agents.schema.json
T

83 lines
3.2 KiB
JSON

{
"$schema": "http://json-schema.org/draft-07/schema#",
"$id": "https://git.yumee.top/laily/pouch/skills/ack/templates/agents.schema.json",
"title": "ACK project agent routing override",
"description": "Optional .pouch/ack/agents.yaml. It has the same routing shape as project.orchestration.",
"type": "object",
"required": ["profileVersion", "mode", "modelAllowlist", "profiles", "defaults"],
"additionalProperties": false,
"properties": {
"profileVersion": {"type": "integer", "const": 1},
"mode": {"type": "string", "enum": ["orca", "manual"]},
"modelAllowlist": {"$ref": "#/definitions/modelAllowlist"},
"profiles": {
"type": "object",
"propertyNames": {"$ref": "#/definitions/profileId"},
"additionalProperties": {"$ref": "#/definitions/workerProfile"}
},
"defaults": {"$ref": "#/definitions/defaults"}
},
"definitions": {
"profileId": {"type": "string", "pattern": "^[a-z][a-z0-9-]{1,63}$"},
"model": {
"oneOf": [
{"type": "string", "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/+@-]{0,127}$"},
{"type": "null", "description": "仅 pi 使用 null 表示默认模型"}
]
},
"modelList": {"type": "array", "minItems": 1, "uniqueItems": true, "items": {"$ref": "#/definitions/model"}},
"modelTierAllowlist": {
"type": "object",
"minProperties": 1,
"additionalProperties": false,
"properties": {
"standard": {"$ref": "#/definitions/modelList"},
"strong": {"$ref": "#/definitions/modelList"}
}
},
"modelRoleAllowlist": {
"type": "object",
"minProperties": 1,
"additionalProperties": false,
"properties": {
"developer": {"$ref": "#/definitions/modelTierAllowlist"},
"test": {"$ref": "#/definitions/modelTierAllowlist"}
}
},
"modelAllowlist": {
"type": "object",
"additionalProperties": false,
"properties": {
"codex": {"$ref": "#/definitions/modelRoleAllowlist"},
"cursor-agent": {"$ref": "#/definitions/modelRoleAllowlist"},
"grok": {"$ref": "#/definitions/modelRoleAllowlist"},
"omp": {"$ref": "#/definitions/modelRoleAllowlist"},
"pi": {"$ref": "#/definitions/modelRoleAllowlist"}
}
},
"workerProfile": {
"type": "object",
"required": ["role", "cli", "tier", "model", "reasoningEffort", "permissionMode"],
"additionalProperties": false,
"properties": {
"role": {"type": "string", "enum": ["developer", "test"]},
"cli": {"type": "string", "enum": ["codex", "cursor-agent", "grok", "omp", "pi"]},
"tier": {"type": "string", "enum": ["standard", "strong"]},
"model": {"$ref": "#/definitions/model"},
"reasoningEffort": {"type": ["string", "null"], "enum": ["low", "medium", "high", "xhigh", null]},
"permissionMode": {"type": "string", "enum": ["read-only", "workspace-write"]}
}
},
"defaults": {
"type": "object",
"additionalProperties": false,
"required": ["developer", "test"],
"properties": {
"developer": {"$ref": "#/definitions/profileId"},
"test": {"$ref": "#/definitions/profileId"},
"developerUpgraded": {"$ref": "#/definitions/profileId"}
}
}
}
}