-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathschema.json
More file actions
73 lines (73 loc) · 2.2 KB
/
schema.json
File metadata and controls
73 lines (73 loc) · 2.2 KB
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
71
72
73
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"required": ["mode", "provider"],
"properties": {
"mode": { "enum": ["single", "orchestrator"], "default": "single" },
"provider": {
"enum": ["strands", "claude-agent-sdk", "openai", "ollama"],
"default": "strands"
},
"streaming": { "type": "boolean", "default": true },
"prompt": { "type": "string" },
"middleware": {
"type": "array",
"items": {
"oneOf": [
{ "type": "string" },
{ "type": "object", "minProperties": 1, "maxProperties": 1 }
]
}
},
"session": {
"type": "object",
"properties": {
"dev": { "type": "string", "default": "file" },
"prod": { "type": "object" }
}
},
"tools": {
"type": "array",
"items": {
"type": "object",
"required": ["name", "type"],
"properties": {
"name": { "type": "string", "pattern": "^[a-z][a-z0-9-]*$" },
"type": { "enum": ["http", "cli", "database", "mcp"] },
"config": { "type": "object" }
}
}
},
"agents": {
"type": "array",
"items": {
"type": "object",
"required": ["name", "prompt"],
"properties": {
"name": { "type": "string" },
"prompt": { "type": "string" },
"tools": { "type": "array", "items": { "type": "string" } },
"critical": { "type": "boolean", "default": true }
}
}
},
"routing": { "enum": ["sequential", "parallel", "llm-decided"], "default": "sequential" },
"outputSchema": {
"type": "array",
"items": {
"type": "object",
"required": ["name", "type"],
"properties": {
"name": { "type": "string" },
"type": { "enum": ["string", "int", "bool", "list"] },
"description": { "type": "string" },
"required": { "type": "boolean", "default": true }
}
}
},
"cfrs": { "type": "object", "additionalProperties": { "type": "boolean" } }
},
"if": { "properties": { "mode": { "const": "orchestrator" } } },
"then": { "required": ["agents"] },
"else": { "required": ["prompt", "tools"] }
}