83 lines
3.2 KiB
JSON
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"}
|
|
}
|
|
}
|
|
}
|
|
}
|