@gaunt-sloth/core 2.0.0-alpha.3 → 2.0.0-alpha.30

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (271) hide show
  1. package/README.md +52 -20
  2. package/dist/config/colour.d.ts +38 -0
  3. package/dist/config/colour.js +36 -0
  4. package/dist/config/colour.js.map +1 -0
  5. package/dist/config/defaults.d.ts +84 -0
  6. package/dist/config/defaults.js +99 -0
  7. package/dist/config/defaults.js.map +1 -0
  8. package/dist/config/filesystem-tools.d.ts +41 -0
  9. package/dist/config/filesystem-tools.js +56 -0
  10. package/dist/config/filesystem-tools.js.map +1 -0
  11. package/dist/config/jsonc.d.ts +12 -0
  12. package/dist/config/jsonc.js +41 -0
  13. package/dist/config/jsonc.js.map +1 -0
  14. package/dist/config/loader.d.ts +246 -0
  15. package/dist/config/loader.js +1321 -0
  16. package/dist/config/loader.js.map +1 -0
  17. package/dist/config/mouse.d.ts +50 -0
  18. package/dist/config/mouse.js +44 -0
  19. package/dist/config/mouse.js.map +1 -0
  20. package/dist/config/profiles.d.ts +68 -0
  21. package/dist/config/profiles.js +93 -0
  22. package/dist/config/profiles.js.map +1 -0
  23. package/dist/config/providerKeys.d.ts +69 -0
  24. package/dist/config/providerKeys.js +69 -0
  25. package/dist/config/providerKeys.js.map +1 -0
  26. package/dist/config/schema.d.ts +2999 -0
  27. package/dist/config/schema.js +1519 -0
  28. package/dist/config/schema.js.map +1 -0
  29. package/dist/config/shell-policy.d.ts +896 -0
  30. package/dist/config/shell-policy.js +750 -0
  31. package/dist/config/shell-policy.js.map +1 -0
  32. package/dist/config/tool-descriptions.d.ts +211 -0
  33. package/dist/config/tool-descriptions.js +272 -0
  34. package/dist/config/tool-descriptions.js.map +1 -0
  35. package/dist/config/types.d.ts +760 -0
  36. package/dist/config/types.js +13 -0
  37. package/dist/config/types.js.map +1 -0
  38. package/dist/config.d.ts +34 -827
  39. package/dist/config.js +25 -657
  40. package/dist/config.js.map +1 -1
  41. package/dist/constants.d.ts +46 -0
  42. package/dist/constants.js +46 -0
  43. package/dist/constants.js.map +1 -1
  44. package/dist/core/GthAbstractAgent.d.ts +135 -2
  45. package/dist/core/GthAbstractAgent.js +496 -30
  46. package/dist/core/GthAbstractAgent.js.map +1 -1
  47. package/dist/core/GthAgentRunner.d.ts +568 -54
  48. package/dist/core/GthAgentRunner.js +1537 -136
  49. package/dist/core/GthAgentRunner.js.map +1 -1
  50. package/dist/core/GthLangChainAgent.d.ts +115 -0
  51. package/dist/core/GthLangChainAgent.js +644 -17
  52. package/dist/core/GthLangChainAgent.js.map +1 -1
  53. package/dist/core/approvals/annotations.d.ts +122 -0
  54. package/dist/core/approvals/annotations.js +137 -0
  55. package/dist/core/approvals/annotations.js.map +1 -0
  56. package/dist/core/approvals/grants.d.ts +216 -0
  57. package/dist/core/approvals/grants.js +469 -0
  58. package/dist/core/approvals/grants.js.map +1 -0
  59. package/dist/core/approvals/matcher.d.ts +202 -0
  60. package/dist/core/approvals/matcher.js +267 -0
  61. package/dist/core/approvals/matcher.js.map +1 -0
  62. package/dist/core/approvals/mcpSubjects.d.ts +40 -0
  63. package/dist/core/approvals/mcpSubjects.js +99 -0
  64. package/dist/core/approvals/mcpSubjects.js.map +1 -0
  65. package/dist/core/approvals/toolAnnotationSources.d.ts +105 -0
  66. package/dist/core/approvals/toolAnnotationSources.js +277 -0
  67. package/dist/core/approvals/toolAnnotationSources.js.map +1 -0
  68. package/dist/core/approvals/toolHost.d.ts +46 -0
  69. package/dist/core/approvals/toolHost.js +108 -0
  70. package/dist/core/approvals/toolHost.js.map +1 -0
  71. package/dist/core/debugCapture.d.ts +75 -0
  72. package/dist/core/debugCapture.js +101 -0
  73. package/dist/core/debugCapture.js.map +1 -0
  74. package/dist/core/gthLeanAgentFactory.d.ts +9 -0
  75. package/dist/core/gthLeanAgentFactory.js +10 -0
  76. package/dist/core/gthLeanAgentFactory.js.map +1 -0
  77. package/dist/core/launchBanner.d.ts +120 -0
  78. package/dist/core/launchBanner.js +418 -0
  79. package/dist/core/launchBanner.js.map +1 -0
  80. package/dist/core/plainToolIndication.d.ts +15 -0
  81. package/dist/core/plainToolIndication.js +174 -0
  82. package/dist/core/plainToolIndication.js.map +1 -0
  83. package/dist/core/reasoningBlocks.d.ts +60 -0
  84. package/dist/core/reasoningBlocks.js +98 -0
  85. package/dist/core/reasoningBlocks.js.map +1 -0
  86. package/dist/core/refusal.d.ts +53 -0
  87. package/dist/core/refusal.js +133 -0
  88. package/dist/core/refusal.js.map +1 -0
  89. package/dist/core/runStats.d.ts +52 -0
  90. package/dist/core/runStats.js +118 -0
  91. package/dist/core/runStats.js.map +1 -0
  92. package/dist/core/shell/ShellCommandFailedError.d.ts +54 -0
  93. package/dist/core/shell/ShellCommandFailedError.js +68 -0
  94. package/dist/core/shell/ShellCommandFailedError.js.map +1 -0
  95. package/dist/core/shell/abstention.d.ts +88 -0
  96. package/dist/core/shell/abstention.js +184 -0
  97. package/dist/core/shell/abstention.js.map +1 -0
  98. package/dist/core/shell/approvalCapture.d.ts +271 -0
  99. package/dist/core/shell/approvalCapture.js +108 -0
  100. package/dist/core/shell/approvalCapture.js.map +1 -0
  101. package/dist/core/shell/approvalStop.d.ts +84 -0
  102. package/dist/core/shell/approvalStop.js +119 -0
  103. package/dist/core/shell/approvalStop.js.map +1 -0
  104. package/dist/core/shell/arity.d.ts +6 -0
  105. package/dist/core/shell/arity.js +20 -6
  106. package/dist/core/shell/arity.js.map +1 -1
  107. package/dist/core/shell/denylist.d.ts +11 -0
  108. package/dist/core/shell/denylist.js +37 -0
  109. package/dist/core/shell/denylist.js.map +1 -0
  110. package/dist/core/shell/escalationSeverity.d.ts +141 -0
  111. package/dist/core/shell/escalationSeverity.js +89 -0
  112. package/dist/core/shell/escalationSeverity.js.map +1 -0
  113. package/dist/core/shell/framing.d.ts +190 -0
  114. package/dist/core/shell/framing.js +633 -0
  115. package/dist/core/shell/framing.js.map +1 -0
  116. package/dist/core/shell/hardline.d.ts +81 -0
  117. package/dist/core/shell/hardline.js +607 -0
  118. package/dist/core/shell/hardline.js.map +1 -0
  119. package/dist/core/shell/negotiation.d.ts +249 -0
  120. package/dist/core/shell/negotiation.js +355 -0
  121. package/dist/core/shell/negotiation.js.map +1 -0
  122. package/dist/core/shell/normalize.d.ts +44 -4
  123. package/dist/core/shell/normalize.js +61 -7
  124. package/dist/core/shell/normalize.js.map +1 -1
  125. package/dist/core/shell/openWorld.d.ts +263 -0
  126. package/dist/core/shell/openWorld.js +1188 -0
  127. package/dist/core/shell/openWorld.js.map +1 -0
  128. package/dist/core/shell/rater.d.ts +935 -0
  129. package/dist/core/shell/rater.js +1473 -0
  130. package/dist/core/shell/rater.js.map +1 -0
  131. package/dist/core/shell/raterModel.d.ts +41 -0
  132. package/dist/core/shell/raterModel.js +51 -0
  133. package/dist/core/shell/raterModel.js.map +1 -0
  134. package/dist/core/shell/rejection.d.ts +69 -0
  135. package/dist/core/shell/rejection.js +38 -0
  136. package/dist/core/shell/rejection.js.map +1 -0
  137. package/dist/core/toolCallRepair/grammar.d.ts +41 -0
  138. package/dist/core/toolCallRepair/grammar.js +116 -0
  139. package/dist/core/toolCallRepair/grammar.js.map +1 -0
  140. package/dist/core/toolCallRepair/index.d.ts +2 -0
  141. package/dist/core/toolCallRepair/index.js +7 -0
  142. package/dist/core/toolCallRepair/index.js.map +1 -0
  143. package/dist/core/toolCallRepair/payload.d.ts +36 -0
  144. package/dist/core/toolCallRepair/payload.js +341 -0
  145. package/dist/core/toolCallRepair/payload.js.map +1 -0
  146. package/dist/core/toolCallRepair/promote.d.ts +45 -0
  147. package/dist/core/toolCallRepair/promote.js +90 -0
  148. package/dist/core/toolCallRepair/promote.js.map +1 -0
  149. package/dist/core/toolDisplay.d.ts +123 -0
  150. package/dist/core/toolDisplay.js +451 -0
  151. package/dist/core/toolDisplay.js.map +1 -0
  152. package/dist/core/toolOutputChannel.d.ts +95 -0
  153. package/dist/core/toolOutputChannel.js +165 -0
  154. package/dist/core/toolOutputChannel.js.map +1 -0
  155. package/dist/core/types.d.ts +294 -12
  156. package/dist/core/types.js.map +1 -1
  157. package/dist/history/historyFormat.d.ts +28 -0
  158. package/dist/history/historyFormat.js +127 -0
  159. package/dist/history/historyFormat.js.map +1 -0
  160. package/dist/history/historyStore.d.ts +198 -0
  161. package/dist/history/historyStore.js +482 -0
  162. package/dist/history/historyStore.js.map +1 -0
  163. package/dist/history/recordSession.d.ts +37 -0
  164. package/dist/history/recordSession.js +56 -0
  165. package/dist/history/recordSession.js.map +1 -0
  166. package/dist/index.d.ts +4 -0
  167. package/dist/index.js +4 -0
  168. package/dist/index.js.map +1 -1
  169. package/dist/providers/anthropic.d.ts +1 -1
  170. package/dist/providers/anthropic.js +5 -10
  171. package/dist/providers/anthropic.js.map +1 -1
  172. package/dist/providers/deepseek.d.ts +1 -1
  173. package/dist/providers/deepseek.js +5 -10
  174. package/dist/providers/deepseek.js.map +1 -1
  175. package/dist/providers/geminiSchemaSanitizer.d.ts +55 -0
  176. package/dist/providers/geminiSchemaSanitizer.js +347 -0
  177. package/dist/providers/geminiSchemaSanitizer.js.map +1 -0
  178. package/dist/providers/geminiThinking.d.ts +52 -0
  179. package/dist/providers/geminiThinking.js +72 -0
  180. package/dist/providers/geminiThinking.js.map +1 -0
  181. package/dist/providers/google-genai.d.ts +1 -1
  182. package/dist/providers/google-genai.js +12 -11
  183. package/dist/providers/google-genai.js.map +1 -1
  184. package/dist/providers/groq.d.ts +1 -1
  185. package/dist/providers/groq.js +5 -10
  186. package/dist/providers/groq.js.map +1 -1
  187. package/dist/providers/huggingface.d.ts +25 -0
  188. package/dist/providers/huggingface.js +69 -0
  189. package/dist/providers/huggingface.js.map +1 -0
  190. package/dist/providers/modelCatalog.d.ts +109 -0
  191. package/dist/providers/modelCatalog.js +245 -0
  192. package/dist/providers/modelCatalog.js.map +1 -0
  193. package/dist/providers/modelDiscovery.d.ts +153 -6
  194. package/dist/providers/modelDiscovery.js +295 -41
  195. package/dist/providers/modelDiscovery.js.map +1 -1
  196. package/dist/providers/ollama.d.ts +19 -5
  197. package/dist/providers/ollama.js +60 -52
  198. package/dist/providers/ollama.js.map +1 -1
  199. package/dist/providers/openai.d.ts +1 -1
  200. package/dist/providers/openai.js +39 -10
  201. package/dist/providers/openai.js.map +1 -1
  202. package/dist/providers/openrouter.d.ts +4 -5
  203. package/dist/providers/openrouter.js +20 -35
  204. package/dist/providers/openrouter.js.map +1 -1
  205. package/dist/providers/vertexai.d.ts +1 -1
  206. package/dist/providers/vertexai.js +12 -11
  207. package/dist/providers/vertexai.js.map +1 -1
  208. package/dist/providers/xai.d.ts +1 -1
  209. package/dist/providers/xai.js +5 -10
  210. package/dist/providers/xai.js.map +1 -1
  211. package/dist/runtime/askStructured.d.ts +105 -0
  212. package/dist/runtime/askStructured.js +120 -0
  213. package/dist/runtime/askStructured.js.map +1 -0
  214. package/dist/runtime/conversation.d.ts +60 -0
  215. package/dist/runtime/conversation.js +151 -0
  216. package/dist/runtime/conversation.js.map +1 -0
  217. package/dist/runtime/singleShot.d.ts +25 -5
  218. package/dist/runtime/singleShot.js +95 -36
  219. package/dist/runtime/singleShot.js.map +1 -1
  220. package/dist/runtime/structuredOutput.d.ts +104 -0
  221. package/dist/runtime/structuredOutput.js +393 -0
  222. package/dist/runtime/structuredOutput.js.map +1 -0
  223. package/dist/utils/ProgressIndicator.d.ts +21 -0
  224. package/dist/utils/ProgressIndicator.js +30 -3
  225. package/dist/utils/ProgressIndicator.js.map +1 -1
  226. package/dist/utils/aiignoreUtils.js.map +1 -1
  227. package/dist/utils/binaryOutputUtils.js.map +1 -1
  228. package/dist/utils/consoleUtils.d.ts +52 -0
  229. package/dist/utils/consoleUtils.js +72 -2
  230. package/dist/utils/consoleUtils.js.map +1 -1
  231. package/dist/utils/crashHandler.d.ts +87 -0
  232. package/dist/utils/crashHandler.js +128 -0
  233. package/dist/utils/crashHandler.js.map +1 -0
  234. package/dist/utils/debugDump.d.ts +134 -0
  235. package/dist/utils/debugDump.js +381 -0
  236. package/dist/utils/debugDump.js.map +1 -0
  237. package/dist/utils/debugUtils.d.ts +13 -4
  238. package/dist/utils/debugUtils.js +36 -13
  239. package/dist/utils/debugUtils.js.map +1 -1
  240. package/dist/utils/displayWidth.d.ts +53 -0
  241. package/dist/utils/displayWidth.js +195 -0
  242. package/dist/utils/displayWidth.js.map +1 -0
  243. package/dist/utils/fileUtils.d.ts +24 -2
  244. package/dist/utils/fileUtils.js +54 -12
  245. package/dist/utils/fileUtils.js.map +1 -1
  246. package/dist/utils/llmUtils.d.ts +39 -8
  247. package/dist/utils/llmUtils.js +76 -8
  248. package/dist/utils/llmUtils.js.map +1 -1
  249. package/dist/utils/redactSecrets.d.ts +63 -0
  250. package/dist/utils/redactSecrets.js +286 -0
  251. package/dist/utils/redactSecrets.js.map +1 -0
  252. package/dist/utils/systemPromptNotes.d.ts +225 -0
  253. package/dist/utils/systemPromptNotes.js +340 -0
  254. package/dist/utils/systemPromptNotes.js.map +1 -0
  255. package/dist/utils/systemUtils.d.ts +49 -1
  256. package/dist/utils/systemUtils.js +67 -3
  257. package/dist/utils/systemUtils.js.map +1 -1
  258. package/dist/utils/toolMatching.d.ts +30 -0
  259. package/dist/utils/toolMatching.js +44 -0
  260. package/dist/utils/toolMatching.js.map +1 -0
  261. package/dist/utils/untrustedText.d.ts +66 -0
  262. package/dist/utils/untrustedText.js +80 -0
  263. package/dist/utils/untrustedText.js.map +1 -0
  264. package/package.json +22 -6
  265. package/schema/gsloth-config.schema.json +3134 -0
  266. package/dist/core/shell/allowlist.d.ts +0 -75
  267. package/dist/core/shell/allowlist.js +0 -187
  268. package/dist/core/shell/allowlist.js.map +0 -1
  269. package/dist/core/shell/judge.d.ts +0 -161
  270. package/dist/core/shell/judge.js +0 -261
  271. package/dist/core/shell/judge.js.map +0 -1
@@ -0,0 +1,3134 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "type": "object",
4
+ "properties": {
5
+ "$schema": {
6
+ "type": "string"
7
+ },
8
+ "llm": {
9
+ "type": "object",
10
+ "properties": {
11
+ "type": {
12
+ "type": "string"
13
+ },
14
+ "model": {
15
+ "type": "string"
16
+ },
17
+ "configuration": {
18
+ "type": "object",
19
+ "propertyNames": {
20
+ "type": "string"
21
+ },
22
+ "additionalProperties": {}
23
+ },
24
+ "apiKeyEnvironmentVariable": {
25
+ "type": "string"
26
+ }
27
+ },
28
+ "additionalProperties": {}
29
+ },
30
+ "extends": {
31
+ "type": "string"
32
+ },
33
+ "agent": {
34
+ "type": "object",
35
+ "properties": {
36
+ "backend": {
37
+ "type": "string",
38
+ "enum": [
39
+ "deep",
40
+ "lean"
41
+ ]
42
+ }
43
+ }
44
+ },
45
+ "history": {
46
+ "type": "object",
47
+ "properties": {
48
+ "enabled": {
49
+ "type": "boolean"
50
+ },
51
+ "dbPath": {
52
+ "type": "string"
53
+ }
54
+ }
55
+ },
56
+ "memory": {
57
+ "type": "object",
58
+ "properties": {
59
+ "enabled": {
60
+ "type": "boolean"
61
+ }
62
+ }
63
+ },
64
+ "binaryFormats": {
65
+ "anyOf": [
66
+ {
67
+ "type": "boolean",
68
+ "const": false
69
+ },
70
+ {
71
+ "type": "array",
72
+ "items": {
73
+ "type": "object",
74
+ "properties": {
75
+ "type": {
76
+ "type": "string",
77
+ "enum": [
78
+ "image",
79
+ "file",
80
+ "audio",
81
+ "video",
82
+ "binary"
83
+ ]
84
+ },
85
+ "extensions": {
86
+ "type": "array",
87
+ "items": {
88
+ "type": "string"
89
+ }
90
+ },
91
+ "maxSize": {
92
+ "type": "number"
93
+ },
94
+ "mimeTypes": {
95
+ "type": "object",
96
+ "propertyNames": {
97
+ "type": "string"
98
+ },
99
+ "additionalProperties": {
100
+ "type": "string"
101
+ }
102
+ }
103
+ },
104
+ "required": [
105
+ "type",
106
+ "extensions"
107
+ ]
108
+ }
109
+ }
110
+ ]
111
+ },
112
+ "contentSource": {
113
+ "type": "string"
114
+ },
115
+ "requirementSource": {
116
+ "type": "string"
117
+ },
118
+ "contentSourceConfig": {
119
+ "type": "object",
120
+ "propertyNames": {
121
+ "type": "string"
122
+ },
123
+ "additionalProperties": {}
124
+ },
125
+ "requirementSourceConfig": {
126
+ "type": "object",
127
+ "propertyNames": {
128
+ "type": "string"
129
+ },
130
+ "additionalProperties": {}
131
+ },
132
+ "prompts": {
133
+ "type": "object",
134
+ "properties": {
135
+ "backstory": {
136
+ "anyOf": [
137
+ {
138
+ "type": "string"
139
+ },
140
+ {
141
+ "type": "object",
142
+ "properties": {
143
+ "path": {
144
+ "type": "string"
145
+ },
146
+ "enabled": {
147
+ "type": "boolean"
148
+ },
149
+ "mode": {
150
+ "type": "string",
151
+ "enum": [
152
+ "replace",
153
+ "append"
154
+ ]
155
+ }
156
+ }
157
+ }
158
+ ]
159
+ },
160
+ "guidelines": {
161
+ "anyOf": [
162
+ {
163
+ "type": "string"
164
+ },
165
+ {
166
+ "type": "object",
167
+ "properties": {
168
+ "path": {
169
+ "type": "string"
170
+ },
171
+ "enabled": {
172
+ "type": "boolean"
173
+ },
174
+ "mode": {
175
+ "type": "string",
176
+ "enum": [
177
+ "replace",
178
+ "append"
179
+ ]
180
+ }
181
+ }
182
+ }
183
+ ]
184
+ },
185
+ "system": {
186
+ "anyOf": [
187
+ {
188
+ "type": "string"
189
+ },
190
+ {
191
+ "type": "object",
192
+ "properties": {
193
+ "path": {
194
+ "type": "string"
195
+ },
196
+ "enabled": {
197
+ "type": "boolean"
198
+ },
199
+ "mode": {
200
+ "type": "string",
201
+ "enum": [
202
+ "replace",
203
+ "append"
204
+ ]
205
+ }
206
+ }
207
+ }
208
+ ]
209
+ },
210
+ "chat": {
211
+ "anyOf": [
212
+ {
213
+ "type": "string"
214
+ },
215
+ {
216
+ "type": "object",
217
+ "properties": {
218
+ "path": {
219
+ "type": "string"
220
+ },
221
+ "enabled": {
222
+ "type": "boolean"
223
+ },
224
+ "mode": {
225
+ "type": "string",
226
+ "enum": [
227
+ "replace",
228
+ "append"
229
+ ]
230
+ }
231
+ }
232
+ }
233
+ ]
234
+ },
235
+ "code": {
236
+ "anyOf": [
237
+ {
238
+ "type": "string"
239
+ },
240
+ {
241
+ "type": "object",
242
+ "properties": {
243
+ "path": {
244
+ "type": "string"
245
+ },
246
+ "enabled": {
247
+ "type": "boolean"
248
+ },
249
+ "mode": {
250
+ "type": "string",
251
+ "enum": [
252
+ "replace",
253
+ "append"
254
+ ]
255
+ }
256
+ }
257
+ }
258
+ ]
259
+ },
260
+ "exec": {
261
+ "anyOf": [
262
+ {
263
+ "type": "string"
264
+ },
265
+ {
266
+ "type": "object",
267
+ "properties": {
268
+ "path": {
269
+ "type": "string"
270
+ },
271
+ "enabled": {
272
+ "type": "boolean"
273
+ },
274
+ "mode": {
275
+ "type": "string",
276
+ "enum": [
277
+ "replace",
278
+ "append"
279
+ ]
280
+ }
281
+ }
282
+ }
283
+ ]
284
+ },
285
+ "review": {
286
+ "anyOf": [
287
+ {
288
+ "type": "string"
289
+ },
290
+ {
291
+ "type": "object",
292
+ "properties": {
293
+ "path": {
294
+ "type": "string"
295
+ },
296
+ "enabled": {
297
+ "type": "boolean"
298
+ },
299
+ "mode": {
300
+ "type": "string",
301
+ "enum": [
302
+ "replace",
303
+ "append"
304
+ ]
305
+ }
306
+ }
307
+ }
308
+ ]
309
+ }
310
+ }
311
+ },
312
+ "identityProfile": {
313
+ "type": "string"
314
+ },
315
+ "includeCurrentDateAfterGuidelines": {
316
+ "type": "boolean"
317
+ },
318
+ "organization": {
319
+ "type": "object",
320
+ "properties": {
321
+ "name": {
322
+ "type": "string"
323
+ },
324
+ "locale": {
325
+ "type": "string"
326
+ },
327
+ "timezone": {
328
+ "type": "string"
329
+ }
330
+ }
331
+ },
332
+ "noDefaultPrompts": {
333
+ "type": "boolean"
334
+ },
335
+ "filesystem": {
336
+ "anyOf": [
337
+ {
338
+ "type": "array",
339
+ "items": {
340
+ "type": "string"
341
+ }
342
+ },
343
+ {
344
+ "type": "string",
345
+ "enum": [
346
+ "all",
347
+ "read",
348
+ "none"
349
+ ]
350
+ }
351
+ ]
352
+ },
353
+ "builtInTools": {
354
+ "anyOf": [
355
+ {
356
+ "type": "array",
357
+ "items": {
358
+ "type": "string"
359
+ }
360
+ },
361
+ {
362
+ "type": "object",
363
+ "propertyNames": {
364
+ "type": "string"
365
+ },
366
+ "additionalProperties": {
367
+ "anyOf": [
368
+ {
369
+ "type": "boolean"
370
+ },
371
+ {
372
+ "type": "object",
373
+ "properties": {
374
+ "enabled": {
375
+ "type": "boolean"
376
+ },
377
+ "command": {
378
+ "type": "string"
379
+ },
380
+ "timeout": {
381
+ "type": "number"
382
+ },
383
+ "maxOutputBytes": {
384
+ "type": "number"
385
+ },
386
+ "fileSet": {
387
+ "type": "string",
388
+ "enum": [
389
+ "gitignore",
390
+ "all"
391
+ ]
392
+ }
393
+ }
394
+ }
395
+ ]
396
+ }
397
+ }
398
+ ]
399
+ },
400
+ "approvals": {
401
+ "anyOf": [
402
+ {
403
+ "type": "string",
404
+ "enum": [
405
+ "manual",
406
+ "write",
407
+ "assisted",
408
+ "auto",
409
+ "bypass"
410
+ ]
411
+ },
412
+ {
413
+ "type": "object",
414
+ "properties": {
415
+ "mode": {
416
+ "type": "string",
417
+ "enum": [
418
+ "manual",
419
+ "write",
420
+ "assisted",
421
+ "auto",
422
+ "bypass"
423
+ ]
424
+ },
425
+ "rater": {
426
+ "type": "string"
427
+ },
428
+ "allow": {
429
+ "type": "array",
430
+ "items": {
431
+ "$ref": "#/$defs/ApprovalEntry"
432
+ }
433
+ },
434
+ "deny": {
435
+ "type": "array",
436
+ "items": {
437
+ "$ref": "#/$defs/ApprovalEntry"
438
+ }
439
+ },
440
+ "escalate": {
441
+ "type": "array",
442
+ "items": {
443
+ "$ref": "#/$defs/ApprovalEntry"
444
+ }
445
+ },
446
+ "raterTimeoutMs": {
447
+ "type": "integer",
448
+ "minimum": 1,
449
+ "maximum": 9007199254740991
450
+ },
451
+ "mcp": {
452
+ "type": "object",
453
+ "properties": {
454
+ "defaults": {
455
+ "type": "object",
456
+ "properties": {
457
+ "trustAnnotations": {
458
+ "type": "array",
459
+ "items": {
460
+ "type": "string",
461
+ "enum": [
462
+ "readOnlyHint",
463
+ "destructiveHint",
464
+ "idempotentHint",
465
+ "openWorldHint"
466
+ ]
467
+ }
468
+ }
469
+ },
470
+ "additionalProperties": false
471
+ },
472
+ "servers": {
473
+ "type": "object",
474
+ "propertyNames": {
475
+ "type": "string",
476
+ "minLength": 1
477
+ },
478
+ "additionalProperties": {
479
+ "type": "object",
480
+ "properties": {
481
+ "trustAnnotations": {
482
+ "type": "array",
483
+ "items": {
484
+ "type": "string",
485
+ "enum": [
486
+ "readOnlyHint",
487
+ "destructiveHint",
488
+ "idempotentHint",
489
+ "openWorldHint"
490
+ ]
491
+ }
492
+ }
493
+ },
494
+ "additionalProperties": false
495
+ }
496
+ }
497
+ },
498
+ "additionalProperties": false
499
+ }
500
+ }
501
+ }
502
+ ]
503
+ },
504
+ "tools": {
505
+ "type": "array",
506
+ "items": {}
507
+ },
508
+ "allowedTools": {
509
+ "type": "array",
510
+ "items": {
511
+ "type": "string"
512
+ }
513
+ },
514
+ "middleware": {
515
+ "type": "array",
516
+ "items": {}
517
+ },
518
+ "streamOutput": {
519
+ "type": "boolean"
520
+ },
521
+ "writeOutputToFile": {
522
+ "anyOf": [
523
+ {
524
+ "type": "boolean"
525
+ },
526
+ {
527
+ "type": "string"
528
+ }
529
+ ]
530
+ },
531
+ "writeBinaryOutputsToFile": {
532
+ "type": "boolean"
533
+ },
534
+ "useColour": {
535
+ "type": "boolean"
536
+ },
537
+ "useMouse": {
538
+ "type": "boolean"
539
+ },
540
+ "tui": {
541
+ "type": "boolean"
542
+ },
543
+ "streamSessionInferenceLog": {
544
+ "type": "boolean"
545
+ },
546
+ "canInterruptInferenceWithEsc": {
547
+ "type": "boolean"
548
+ },
549
+ "debugLog": {
550
+ "type": "boolean"
551
+ },
552
+ "recursionLimit": {
553
+ "type": "number"
554
+ },
555
+ "consoleLevel": {
556
+ "anyOf": [
557
+ {
558
+ "type": "string"
559
+ },
560
+ {
561
+ "type": "number"
562
+ }
563
+ ]
564
+ },
565
+ "customTools": {
566
+ "type": "object",
567
+ "propertyNames": {
568
+ "type": "string"
569
+ },
570
+ "additionalProperties": {
571
+ "type": "object",
572
+ "properties": {
573
+ "command": {
574
+ "type": "string"
575
+ },
576
+ "description": {
577
+ "type": "string"
578
+ },
579
+ "parameters": {
580
+ "type": "object",
581
+ "propertyNames": {
582
+ "type": "string"
583
+ },
584
+ "additionalProperties": {
585
+ "type": "object",
586
+ "properties": {
587
+ "description": {
588
+ "type": "string"
589
+ },
590
+ "allow": {
591
+ "type": "array",
592
+ "items": {
593
+ "type": "string",
594
+ "enum": [
595
+ "absolute-paths",
596
+ "directory-traversal",
597
+ "shell-injection",
598
+ "null-bytes"
599
+ ]
600
+ }
601
+ }
602
+ },
603
+ "required": [
604
+ "description"
605
+ ]
606
+ }
607
+ },
608
+ "timeout": {
609
+ "type": "number"
610
+ }
611
+ },
612
+ "required": [
613
+ "command",
614
+ "description"
615
+ ]
616
+ }
617
+ },
618
+ "mcpServers": {
619
+ "type": "object",
620
+ "propertyNames": {
621
+ "type": "string",
622
+ "minLength": 1,
623
+ "pattern": "^([^*]|[\\s\\S]{2,})$"
624
+ },
625
+ "additionalProperties": {}
626
+ },
627
+ "tls": {
628
+ "type": "object",
629
+ "properties": {
630
+ "extraCaCerts": {
631
+ "type": "array",
632
+ "items": {
633
+ "type": "string"
634
+ }
635
+ },
636
+ "rejectUnauthorized": {
637
+ "type": "boolean"
638
+ }
639
+ }
640
+ },
641
+ "a2aAgents": {
642
+ "type": "object",
643
+ "propertyNames": {
644
+ "type": "string"
645
+ },
646
+ "additionalProperties": {}
647
+ },
648
+ "builtInToolsConfig": {
649
+ "type": "object",
650
+ "propertyNames": {
651
+ "type": "string"
652
+ },
653
+ "additionalProperties": {}
654
+ },
655
+ "aiignore": {
656
+ "type": "object",
657
+ "properties": {
658
+ "enabled": {
659
+ "type": "boolean"
660
+ },
661
+ "patterns": {
662
+ "type": "array",
663
+ "items": {
664
+ "type": "string"
665
+ }
666
+ }
667
+ }
668
+ },
669
+ "commands": {
670
+ "type": "object",
671
+ "properties": {
672
+ "pr": {
673
+ "type": "object",
674
+ "properties": {
675
+ "contentSource": {
676
+ "type": "string"
677
+ },
678
+ "requirementSource": {
679
+ "type": "string"
680
+ },
681
+ "filesystem": {
682
+ "anyOf": [
683
+ {
684
+ "type": "array",
685
+ "items": {
686
+ "type": "string"
687
+ }
688
+ },
689
+ {
690
+ "type": "string",
691
+ "enum": [
692
+ "all",
693
+ "read",
694
+ "none"
695
+ ]
696
+ }
697
+ ]
698
+ },
699
+ "builtInTools": {
700
+ "anyOf": [
701
+ {
702
+ "type": "array",
703
+ "items": {
704
+ "type": "string"
705
+ }
706
+ },
707
+ {
708
+ "type": "object",
709
+ "propertyNames": {
710
+ "type": "string"
711
+ },
712
+ "additionalProperties": {
713
+ "anyOf": [
714
+ {
715
+ "type": "boolean"
716
+ },
717
+ {
718
+ "type": "object",
719
+ "properties": {
720
+ "enabled": {
721
+ "type": "boolean"
722
+ },
723
+ "command": {
724
+ "type": "string"
725
+ },
726
+ "timeout": {
727
+ "type": "number"
728
+ },
729
+ "maxOutputBytes": {
730
+ "type": "number"
731
+ },
732
+ "fileSet": {
733
+ "type": "string",
734
+ "enum": [
735
+ "gitignore",
736
+ "all"
737
+ ]
738
+ }
739
+ }
740
+ }
741
+ ]
742
+ }
743
+ }
744
+ ]
745
+ },
746
+ "approvals": {
747
+ "anyOf": [
748
+ {
749
+ "type": "string",
750
+ "enum": [
751
+ "manual",
752
+ "write",
753
+ "assisted",
754
+ "auto",
755
+ "bypass"
756
+ ]
757
+ },
758
+ {
759
+ "type": "object",
760
+ "properties": {
761
+ "mode": {
762
+ "type": "string",
763
+ "enum": [
764
+ "manual",
765
+ "write",
766
+ "assisted",
767
+ "auto",
768
+ "bypass"
769
+ ]
770
+ },
771
+ "rater": {
772
+ "type": "string"
773
+ },
774
+ "allow": {
775
+ "type": "array",
776
+ "items": {
777
+ "$ref": "#/$defs/ApprovalEntry"
778
+ }
779
+ },
780
+ "deny": {
781
+ "type": "array",
782
+ "items": {
783
+ "$ref": "#/$defs/ApprovalEntry"
784
+ }
785
+ },
786
+ "escalate": {
787
+ "type": "array",
788
+ "items": {
789
+ "$ref": "#/$defs/ApprovalEntry"
790
+ }
791
+ },
792
+ "raterTimeoutMs": {
793
+ "type": "integer",
794
+ "minimum": 1,
795
+ "maximum": 9007199254740991
796
+ },
797
+ "mcp": {
798
+ "type": "object",
799
+ "properties": {
800
+ "defaults": {
801
+ "type": "object",
802
+ "properties": {
803
+ "trustAnnotations": {
804
+ "type": "array",
805
+ "items": {
806
+ "type": "string",
807
+ "enum": [
808
+ "readOnlyHint",
809
+ "destructiveHint",
810
+ "idempotentHint",
811
+ "openWorldHint"
812
+ ]
813
+ }
814
+ }
815
+ },
816
+ "additionalProperties": false
817
+ },
818
+ "servers": {
819
+ "type": "object",
820
+ "propertyNames": {
821
+ "type": "string",
822
+ "minLength": 1
823
+ },
824
+ "additionalProperties": {
825
+ "type": "object",
826
+ "properties": {
827
+ "trustAnnotations": {
828
+ "type": "array",
829
+ "items": {
830
+ "type": "string",
831
+ "enum": [
832
+ "readOnlyHint",
833
+ "destructiveHint",
834
+ "idempotentHint",
835
+ "openWorldHint"
836
+ ]
837
+ }
838
+ }
839
+ },
840
+ "additionalProperties": false
841
+ }
842
+ }
843
+ },
844
+ "additionalProperties": false
845
+ }
846
+ }
847
+ }
848
+ ]
849
+ },
850
+ "customTools": {
851
+ "anyOf": [
852
+ {
853
+ "type": "boolean",
854
+ "const": false
855
+ },
856
+ {
857
+ "type": "object",
858
+ "propertyNames": {
859
+ "type": "string"
860
+ },
861
+ "additionalProperties": {
862
+ "type": "object",
863
+ "properties": {
864
+ "command": {
865
+ "type": "string"
866
+ },
867
+ "description": {
868
+ "type": "string"
869
+ },
870
+ "parameters": {
871
+ "type": "object",
872
+ "propertyNames": {
873
+ "type": "string"
874
+ },
875
+ "additionalProperties": {
876
+ "type": "object",
877
+ "properties": {
878
+ "description": {
879
+ "type": "string"
880
+ },
881
+ "allow": {
882
+ "type": "array",
883
+ "items": {
884
+ "type": "string",
885
+ "enum": [
886
+ "absolute-paths",
887
+ "directory-traversal",
888
+ "shell-injection",
889
+ "null-bytes"
890
+ ]
891
+ }
892
+ }
893
+ },
894
+ "required": [
895
+ "description"
896
+ ]
897
+ }
898
+ },
899
+ "timeout": {
900
+ "type": "number"
901
+ }
902
+ },
903
+ "required": [
904
+ "command",
905
+ "description"
906
+ ]
907
+ }
908
+ }
909
+ ]
910
+ },
911
+ "allowedTools": {
912
+ "type": "array",
913
+ "items": {
914
+ "type": "string"
915
+ }
916
+ },
917
+ "logWorkForReviewInSeconds": {
918
+ "type": "number"
919
+ },
920
+ "rating": {
921
+ "type": "object",
922
+ "properties": {
923
+ "enabled": {
924
+ "type": "boolean"
925
+ },
926
+ "passThreshold": {
927
+ "type": "number"
928
+ },
929
+ "maxRating": {
930
+ "type": "number"
931
+ },
932
+ "minRating": {
933
+ "type": "number"
934
+ },
935
+ "errorOnReviewFail": {
936
+ "type": "boolean"
937
+ }
938
+ }
939
+ },
940
+ "binaryFormats": {
941
+ "anyOf": [
942
+ {
943
+ "type": "boolean",
944
+ "const": false
945
+ },
946
+ {
947
+ "type": "array",
948
+ "items": {
949
+ "type": "object",
950
+ "properties": {
951
+ "type": {
952
+ "type": "string",
953
+ "enum": [
954
+ "image",
955
+ "file",
956
+ "audio",
957
+ "video",
958
+ "binary"
959
+ ]
960
+ },
961
+ "extensions": {
962
+ "type": "array",
963
+ "items": {
964
+ "type": "string"
965
+ }
966
+ },
967
+ "maxSize": {
968
+ "type": "number"
969
+ },
970
+ "mimeTypes": {
971
+ "type": "object",
972
+ "propertyNames": {
973
+ "type": "string"
974
+ },
975
+ "additionalProperties": {
976
+ "type": "string"
977
+ }
978
+ }
979
+ },
980
+ "required": [
981
+ "type",
982
+ "extensions"
983
+ ]
984
+ }
985
+ }
986
+ ]
987
+ }
988
+ }
989
+ },
990
+ "review": {
991
+ "type": "object",
992
+ "properties": {
993
+ "contentSource": {
994
+ "type": "string"
995
+ },
996
+ "requirementSource": {
997
+ "type": "string"
998
+ },
999
+ "filesystem": {
1000
+ "anyOf": [
1001
+ {
1002
+ "type": "array",
1003
+ "items": {
1004
+ "type": "string"
1005
+ }
1006
+ },
1007
+ {
1008
+ "type": "string",
1009
+ "enum": [
1010
+ "all",
1011
+ "read",
1012
+ "none"
1013
+ ]
1014
+ }
1015
+ ]
1016
+ },
1017
+ "builtInTools": {
1018
+ "anyOf": [
1019
+ {
1020
+ "type": "array",
1021
+ "items": {
1022
+ "type": "string"
1023
+ }
1024
+ },
1025
+ {
1026
+ "type": "object",
1027
+ "propertyNames": {
1028
+ "type": "string"
1029
+ },
1030
+ "additionalProperties": {
1031
+ "anyOf": [
1032
+ {
1033
+ "type": "boolean"
1034
+ },
1035
+ {
1036
+ "type": "object",
1037
+ "properties": {
1038
+ "enabled": {
1039
+ "type": "boolean"
1040
+ },
1041
+ "command": {
1042
+ "type": "string"
1043
+ },
1044
+ "timeout": {
1045
+ "type": "number"
1046
+ },
1047
+ "maxOutputBytes": {
1048
+ "type": "number"
1049
+ },
1050
+ "fileSet": {
1051
+ "type": "string",
1052
+ "enum": [
1053
+ "gitignore",
1054
+ "all"
1055
+ ]
1056
+ }
1057
+ }
1058
+ }
1059
+ ]
1060
+ }
1061
+ }
1062
+ ]
1063
+ },
1064
+ "approvals": {
1065
+ "anyOf": [
1066
+ {
1067
+ "type": "string",
1068
+ "enum": [
1069
+ "manual",
1070
+ "write",
1071
+ "assisted",
1072
+ "auto",
1073
+ "bypass"
1074
+ ]
1075
+ },
1076
+ {
1077
+ "type": "object",
1078
+ "properties": {
1079
+ "mode": {
1080
+ "type": "string",
1081
+ "enum": [
1082
+ "manual",
1083
+ "write",
1084
+ "assisted",
1085
+ "auto",
1086
+ "bypass"
1087
+ ]
1088
+ },
1089
+ "rater": {
1090
+ "type": "string"
1091
+ },
1092
+ "allow": {
1093
+ "type": "array",
1094
+ "items": {
1095
+ "$ref": "#/$defs/ApprovalEntry"
1096
+ }
1097
+ },
1098
+ "deny": {
1099
+ "type": "array",
1100
+ "items": {
1101
+ "$ref": "#/$defs/ApprovalEntry"
1102
+ }
1103
+ },
1104
+ "escalate": {
1105
+ "type": "array",
1106
+ "items": {
1107
+ "$ref": "#/$defs/ApprovalEntry"
1108
+ }
1109
+ },
1110
+ "raterTimeoutMs": {
1111
+ "type": "integer",
1112
+ "minimum": 1,
1113
+ "maximum": 9007199254740991
1114
+ },
1115
+ "mcp": {
1116
+ "type": "object",
1117
+ "properties": {
1118
+ "defaults": {
1119
+ "type": "object",
1120
+ "properties": {
1121
+ "trustAnnotations": {
1122
+ "type": "array",
1123
+ "items": {
1124
+ "type": "string",
1125
+ "enum": [
1126
+ "readOnlyHint",
1127
+ "destructiveHint",
1128
+ "idempotentHint",
1129
+ "openWorldHint"
1130
+ ]
1131
+ }
1132
+ }
1133
+ },
1134
+ "additionalProperties": false
1135
+ },
1136
+ "servers": {
1137
+ "type": "object",
1138
+ "propertyNames": {
1139
+ "type": "string",
1140
+ "minLength": 1
1141
+ },
1142
+ "additionalProperties": {
1143
+ "type": "object",
1144
+ "properties": {
1145
+ "trustAnnotations": {
1146
+ "type": "array",
1147
+ "items": {
1148
+ "type": "string",
1149
+ "enum": [
1150
+ "readOnlyHint",
1151
+ "destructiveHint",
1152
+ "idempotentHint",
1153
+ "openWorldHint"
1154
+ ]
1155
+ }
1156
+ }
1157
+ },
1158
+ "additionalProperties": false
1159
+ }
1160
+ }
1161
+ },
1162
+ "additionalProperties": false
1163
+ }
1164
+ }
1165
+ }
1166
+ ]
1167
+ },
1168
+ "customTools": {
1169
+ "anyOf": [
1170
+ {
1171
+ "type": "boolean",
1172
+ "const": false
1173
+ },
1174
+ {
1175
+ "type": "object",
1176
+ "propertyNames": {
1177
+ "type": "string"
1178
+ },
1179
+ "additionalProperties": {
1180
+ "type": "object",
1181
+ "properties": {
1182
+ "command": {
1183
+ "type": "string"
1184
+ },
1185
+ "description": {
1186
+ "type": "string"
1187
+ },
1188
+ "parameters": {
1189
+ "type": "object",
1190
+ "propertyNames": {
1191
+ "type": "string"
1192
+ },
1193
+ "additionalProperties": {
1194
+ "type": "object",
1195
+ "properties": {
1196
+ "description": {
1197
+ "type": "string"
1198
+ },
1199
+ "allow": {
1200
+ "type": "array",
1201
+ "items": {
1202
+ "type": "string",
1203
+ "enum": [
1204
+ "absolute-paths",
1205
+ "directory-traversal",
1206
+ "shell-injection",
1207
+ "null-bytes"
1208
+ ]
1209
+ }
1210
+ }
1211
+ },
1212
+ "required": [
1213
+ "description"
1214
+ ]
1215
+ }
1216
+ },
1217
+ "timeout": {
1218
+ "type": "number"
1219
+ }
1220
+ },
1221
+ "required": [
1222
+ "command",
1223
+ "description"
1224
+ ]
1225
+ }
1226
+ }
1227
+ ]
1228
+ },
1229
+ "allowedTools": {
1230
+ "type": "array",
1231
+ "items": {
1232
+ "type": "string"
1233
+ }
1234
+ },
1235
+ "rating": {
1236
+ "type": "object",
1237
+ "properties": {
1238
+ "enabled": {
1239
+ "type": "boolean"
1240
+ },
1241
+ "passThreshold": {
1242
+ "type": "number"
1243
+ },
1244
+ "maxRating": {
1245
+ "type": "number"
1246
+ },
1247
+ "minRating": {
1248
+ "type": "number"
1249
+ },
1250
+ "errorOnReviewFail": {
1251
+ "type": "boolean"
1252
+ }
1253
+ }
1254
+ },
1255
+ "binaryFormats": {
1256
+ "anyOf": [
1257
+ {
1258
+ "type": "boolean",
1259
+ "const": false
1260
+ },
1261
+ {
1262
+ "type": "array",
1263
+ "items": {
1264
+ "type": "object",
1265
+ "properties": {
1266
+ "type": {
1267
+ "type": "string",
1268
+ "enum": [
1269
+ "image",
1270
+ "file",
1271
+ "audio",
1272
+ "video",
1273
+ "binary"
1274
+ ]
1275
+ },
1276
+ "extensions": {
1277
+ "type": "array",
1278
+ "items": {
1279
+ "type": "string"
1280
+ }
1281
+ },
1282
+ "maxSize": {
1283
+ "type": "number"
1284
+ },
1285
+ "mimeTypes": {
1286
+ "type": "object",
1287
+ "propertyNames": {
1288
+ "type": "string"
1289
+ },
1290
+ "additionalProperties": {
1291
+ "type": "string"
1292
+ }
1293
+ }
1294
+ },
1295
+ "required": [
1296
+ "type",
1297
+ "extensions"
1298
+ ]
1299
+ }
1300
+ }
1301
+ ]
1302
+ }
1303
+ }
1304
+ },
1305
+ "ask": {
1306
+ "type": "object",
1307
+ "properties": {
1308
+ "filesystem": {
1309
+ "anyOf": [
1310
+ {
1311
+ "type": "array",
1312
+ "items": {
1313
+ "type": "string"
1314
+ }
1315
+ },
1316
+ {
1317
+ "type": "string",
1318
+ "enum": [
1319
+ "all",
1320
+ "read",
1321
+ "none"
1322
+ ]
1323
+ }
1324
+ ]
1325
+ },
1326
+ "builtInTools": {
1327
+ "anyOf": [
1328
+ {
1329
+ "type": "array",
1330
+ "items": {
1331
+ "type": "string"
1332
+ }
1333
+ },
1334
+ {
1335
+ "type": "object",
1336
+ "propertyNames": {
1337
+ "type": "string"
1338
+ },
1339
+ "additionalProperties": {
1340
+ "anyOf": [
1341
+ {
1342
+ "type": "boolean"
1343
+ },
1344
+ {
1345
+ "type": "object",
1346
+ "properties": {
1347
+ "enabled": {
1348
+ "type": "boolean"
1349
+ },
1350
+ "command": {
1351
+ "type": "string"
1352
+ },
1353
+ "timeout": {
1354
+ "type": "number"
1355
+ },
1356
+ "maxOutputBytes": {
1357
+ "type": "number"
1358
+ },
1359
+ "fileSet": {
1360
+ "type": "string",
1361
+ "enum": [
1362
+ "gitignore",
1363
+ "all"
1364
+ ]
1365
+ }
1366
+ }
1367
+ }
1368
+ ]
1369
+ }
1370
+ }
1371
+ ]
1372
+ },
1373
+ "approvals": {
1374
+ "anyOf": [
1375
+ {
1376
+ "type": "string",
1377
+ "enum": [
1378
+ "manual",
1379
+ "write",
1380
+ "assisted",
1381
+ "auto",
1382
+ "bypass"
1383
+ ]
1384
+ },
1385
+ {
1386
+ "type": "object",
1387
+ "properties": {
1388
+ "mode": {
1389
+ "type": "string",
1390
+ "enum": [
1391
+ "manual",
1392
+ "write",
1393
+ "assisted",
1394
+ "auto",
1395
+ "bypass"
1396
+ ]
1397
+ },
1398
+ "rater": {
1399
+ "type": "string"
1400
+ },
1401
+ "allow": {
1402
+ "type": "array",
1403
+ "items": {
1404
+ "$ref": "#/$defs/ApprovalEntry"
1405
+ }
1406
+ },
1407
+ "deny": {
1408
+ "type": "array",
1409
+ "items": {
1410
+ "$ref": "#/$defs/ApprovalEntry"
1411
+ }
1412
+ },
1413
+ "escalate": {
1414
+ "type": "array",
1415
+ "items": {
1416
+ "$ref": "#/$defs/ApprovalEntry"
1417
+ }
1418
+ },
1419
+ "raterTimeoutMs": {
1420
+ "type": "integer",
1421
+ "minimum": 1,
1422
+ "maximum": 9007199254740991
1423
+ },
1424
+ "mcp": {
1425
+ "type": "object",
1426
+ "properties": {
1427
+ "defaults": {
1428
+ "type": "object",
1429
+ "properties": {
1430
+ "trustAnnotations": {
1431
+ "type": "array",
1432
+ "items": {
1433
+ "type": "string",
1434
+ "enum": [
1435
+ "readOnlyHint",
1436
+ "destructiveHint",
1437
+ "idempotentHint",
1438
+ "openWorldHint"
1439
+ ]
1440
+ }
1441
+ }
1442
+ },
1443
+ "additionalProperties": false
1444
+ },
1445
+ "servers": {
1446
+ "type": "object",
1447
+ "propertyNames": {
1448
+ "type": "string",
1449
+ "minLength": 1
1450
+ },
1451
+ "additionalProperties": {
1452
+ "type": "object",
1453
+ "properties": {
1454
+ "trustAnnotations": {
1455
+ "type": "array",
1456
+ "items": {
1457
+ "type": "string",
1458
+ "enum": [
1459
+ "readOnlyHint",
1460
+ "destructiveHint",
1461
+ "idempotentHint",
1462
+ "openWorldHint"
1463
+ ]
1464
+ }
1465
+ }
1466
+ },
1467
+ "additionalProperties": false
1468
+ }
1469
+ }
1470
+ },
1471
+ "additionalProperties": false
1472
+ }
1473
+ }
1474
+ }
1475
+ ]
1476
+ },
1477
+ "customTools": {
1478
+ "anyOf": [
1479
+ {
1480
+ "type": "boolean",
1481
+ "const": false
1482
+ },
1483
+ {
1484
+ "type": "object",
1485
+ "propertyNames": {
1486
+ "type": "string"
1487
+ },
1488
+ "additionalProperties": {
1489
+ "type": "object",
1490
+ "properties": {
1491
+ "command": {
1492
+ "type": "string"
1493
+ },
1494
+ "description": {
1495
+ "type": "string"
1496
+ },
1497
+ "parameters": {
1498
+ "type": "object",
1499
+ "propertyNames": {
1500
+ "type": "string"
1501
+ },
1502
+ "additionalProperties": {
1503
+ "type": "object",
1504
+ "properties": {
1505
+ "description": {
1506
+ "type": "string"
1507
+ },
1508
+ "allow": {
1509
+ "type": "array",
1510
+ "items": {
1511
+ "type": "string",
1512
+ "enum": [
1513
+ "absolute-paths",
1514
+ "directory-traversal",
1515
+ "shell-injection",
1516
+ "null-bytes"
1517
+ ]
1518
+ }
1519
+ }
1520
+ },
1521
+ "required": [
1522
+ "description"
1523
+ ]
1524
+ }
1525
+ },
1526
+ "timeout": {
1527
+ "type": "number"
1528
+ }
1529
+ },
1530
+ "required": [
1531
+ "command",
1532
+ "description"
1533
+ ]
1534
+ }
1535
+ }
1536
+ ]
1537
+ },
1538
+ "allowedTools": {
1539
+ "type": "array",
1540
+ "items": {
1541
+ "type": "string"
1542
+ }
1543
+ },
1544
+ "binaryFormats": {
1545
+ "anyOf": [
1546
+ {
1547
+ "type": "boolean",
1548
+ "const": false
1549
+ },
1550
+ {
1551
+ "type": "array",
1552
+ "items": {
1553
+ "type": "object",
1554
+ "properties": {
1555
+ "type": {
1556
+ "type": "string",
1557
+ "enum": [
1558
+ "image",
1559
+ "file",
1560
+ "audio",
1561
+ "video",
1562
+ "binary"
1563
+ ]
1564
+ },
1565
+ "extensions": {
1566
+ "type": "array",
1567
+ "items": {
1568
+ "type": "string"
1569
+ }
1570
+ },
1571
+ "maxSize": {
1572
+ "type": "number"
1573
+ },
1574
+ "mimeTypes": {
1575
+ "type": "object",
1576
+ "propertyNames": {
1577
+ "type": "string"
1578
+ },
1579
+ "additionalProperties": {
1580
+ "type": "string"
1581
+ }
1582
+ }
1583
+ },
1584
+ "required": [
1585
+ "type",
1586
+ "extensions"
1587
+ ]
1588
+ }
1589
+ }
1590
+ ]
1591
+ }
1592
+ }
1593
+ },
1594
+ "chat": {
1595
+ "type": "object",
1596
+ "properties": {
1597
+ "filesystem": {
1598
+ "anyOf": [
1599
+ {
1600
+ "type": "array",
1601
+ "items": {
1602
+ "type": "string"
1603
+ }
1604
+ },
1605
+ {
1606
+ "type": "string",
1607
+ "enum": [
1608
+ "all",
1609
+ "read",
1610
+ "none"
1611
+ ]
1612
+ }
1613
+ ]
1614
+ },
1615
+ "builtInTools": {
1616
+ "anyOf": [
1617
+ {
1618
+ "type": "array",
1619
+ "items": {
1620
+ "type": "string"
1621
+ }
1622
+ },
1623
+ {
1624
+ "type": "object",
1625
+ "propertyNames": {
1626
+ "type": "string"
1627
+ },
1628
+ "additionalProperties": {
1629
+ "anyOf": [
1630
+ {
1631
+ "type": "boolean"
1632
+ },
1633
+ {
1634
+ "type": "object",
1635
+ "properties": {
1636
+ "enabled": {
1637
+ "type": "boolean"
1638
+ },
1639
+ "command": {
1640
+ "type": "string"
1641
+ },
1642
+ "timeout": {
1643
+ "type": "number"
1644
+ },
1645
+ "maxOutputBytes": {
1646
+ "type": "number"
1647
+ },
1648
+ "fileSet": {
1649
+ "type": "string",
1650
+ "enum": [
1651
+ "gitignore",
1652
+ "all"
1653
+ ]
1654
+ }
1655
+ }
1656
+ }
1657
+ ]
1658
+ }
1659
+ }
1660
+ ]
1661
+ },
1662
+ "approvals": {
1663
+ "anyOf": [
1664
+ {
1665
+ "type": "string",
1666
+ "enum": [
1667
+ "manual",
1668
+ "write",
1669
+ "assisted",
1670
+ "auto",
1671
+ "bypass"
1672
+ ]
1673
+ },
1674
+ {
1675
+ "type": "object",
1676
+ "properties": {
1677
+ "mode": {
1678
+ "type": "string",
1679
+ "enum": [
1680
+ "manual",
1681
+ "write",
1682
+ "assisted",
1683
+ "auto",
1684
+ "bypass"
1685
+ ]
1686
+ },
1687
+ "rater": {
1688
+ "type": "string"
1689
+ },
1690
+ "allow": {
1691
+ "type": "array",
1692
+ "items": {
1693
+ "$ref": "#/$defs/ApprovalEntry"
1694
+ }
1695
+ },
1696
+ "deny": {
1697
+ "type": "array",
1698
+ "items": {
1699
+ "$ref": "#/$defs/ApprovalEntry"
1700
+ }
1701
+ },
1702
+ "escalate": {
1703
+ "type": "array",
1704
+ "items": {
1705
+ "$ref": "#/$defs/ApprovalEntry"
1706
+ }
1707
+ },
1708
+ "raterTimeoutMs": {
1709
+ "type": "integer",
1710
+ "minimum": 1,
1711
+ "maximum": 9007199254740991
1712
+ },
1713
+ "mcp": {
1714
+ "type": "object",
1715
+ "properties": {
1716
+ "defaults": {
1717
+ "type": "object",
1718
+ "properties": {
1719
+ "trustAnnotations": {
1720
+ "type": "array",
1721
+ "items": {
1722
+ "type": "string",
1723
+ "enum": [
1724
+ "readOnlyHint",
1725
+ "destructiveHint",
1726
+ "idempotentHint",
1727
+ "openWorldHint"
1728
+ ]
1729
+ }
1730
+ }
1731
+ },
1732
+ "additionalProperties": false
1733
+ },
1734
+ "servers": {
1735
+ "type": "object",
1736
+ "propertyNames": {
1737
+ "type": "string",
1738
+ "minLength": 1
1739
+ },
1740
+ "additionalProperties": {
1741
+ "type": "object",
1742
+ "properties": {
1743
+ "trustAnnotations": {
1744
+ "type": "array",
1745
+ "items": {
1746
+ "type": "string",
1747
+ "enum": [
1748
+ "readOnlyHint",
1749
+ "destructiveHint",
1750
+ "idempotentHint",
1751
+ "openWorldHint"
1752
+ ]
1753
+ }
1754
+ }
1755
+ },
1756
+ "additionalProperties": false
1757
+ }
1758
+ }
1759
+ },
1760
+ "additionalProperties": false
1761
+ }
1762
+ }
1763
+ }
1764
+ ]
1765
+ },
1766
+ "customTools": {
1767
+ "anyOf": [
1768
+ {
1769
+ "type": "boolean",
1770
+ "const": false
1771
+ },
1772
+ {
1773
+ "type": "object",
1774
+ "propertyNames": {
1775
+ "type": "string"
1776
+ },
1777
+ "additionalProperties": {
1778
+ "type": "object",
1779
+ "properties": {
1780
+ "command": {
1781
+ "type": "string"
1782
+ },
1783
+ "description": {
1784
+ "type": "string"
1785
+ },
1786
+ "parameters": {
1787
+ "type": "object",
1788
+ "propertyNames": {
1789
+ "type": "string"
1790
+ },
1791
+ "additionalProperties": {
1792
+ "type": "object",
1793
+ "properties": {
1794
+ "description": {
1795
+ "type": "string"
1796
+ },
1797
+ "allow": {
1798
+ "type": "array",
1799
+ "items": {
1800
+ "type": "string",
1801
+ "enum": [
1802
+ "absolute-paths",
1803
+ "directory-traversal",
1804
+ "shell-injection",
1805
+ "null-bytes"
1806
+ ]
1807
+ }
1808
+ }
1809
+ },
1810
+ "required": [
1811
+ "description"
1812
+ ]
1813
+ }
1814
+ },
1815
+ "timeout": {
1816
+ "type": "number"
1817
+ }
1818
+ },
1819
+ "required": [
1820
+ "command",
1821
+ "description"
1822
+ ]
1823
+ }
1824
+ }
1825
+ ]
1826
+ },
1827
+ "allowedTools": {
1828
+ "type": "array",
1829
+ "items": {
1830
+ "type": "string"
1831
+ }
1832
+ },
1833
+ "binaryFormats": {
1834
+ "anyOf": [
1835
+ {
1836
+ "type": "boolean",
1837
+ "const": false
1838
+ },
1839
+ {
1840
+ "type": "array",
1841
+ "items": {
1842
+ "type": "object",
1843
+ "properties": {
1844
+ "type": {
1845
+ "type": "string",
1846
+ "enum": [
1847
+ "image",
1848
+ "file",
1849
+ "audio",
1850
+ "video",
1851
+ "binary"
1852
+ ]
1853
+ },
1854
+ "extensions": {
1855
+ "type": "array",
1856
+ "items": {
1857
+ "type": "string"
1858
+ }
1859
+ },
1860
+ "maxSize": {
1861
+ "type": "number"
1862
+ },
1863
+ "mimeTypes": {
1864
+ "type": "object",
1865
+ "propertyNames": {
1866
+ "type": "string"
1867
+ },
1868
+ "additionalProperties": {
1869
+ "type": "string"
1870
+ }
1871
+ }
1872
+ },
1873
+ "required": [
1874
+ "type",
1875
+ "extensions"
1876
+ ]
1877
+ }
1878
+ }
1879
+ ]
1880
+ }
1881
+ }
1882
+ },
1883
+ "code": {
1884
+ "type": "object",
1885
+ "properties": {
1886
+ "filesystem": {
1887
+ "anyOf": [
1888
+ {
1889
+ "type": "array",
1890
+ "items": {
1891
+ "type": "string"
1892
+ }
1893
+ },
1894
+ {
1895
+ "type": "string",
1896
+ "enum": [
1897
+ "all",
1898
+ "read",
1899
+ "none"
1900
+ ]
1901
+ }
1902
+ ]
1903
+ },
1904
+ "builtInTools": {
1905
+ "anyOf": [
1906
+ {
1907
+ "type": "array",
1908
+ "items": {
1909
+ "type": "string"
1910
+ }
1911
+ },
1912
+ {
1913
+ "type": "object",
1914
+ "propertyNames": {
1915
+ "type": "string"
1916
+ },
1917
+ "additionalProperties": {
1918
+ "anyOf": [
1919
+ {
1920
+ "type": "boolean"
1921
+ },
1922
+ {
1923
+ "type": "object",
1924
+ "properties": {
1925
+ "enabled": {
1926
+ "type": "boolean"
1927
+ },
1928
+ "command": {
1929
+ "type": "string"
1930
+ },
1931
+ "timeout": {
1932
+ "type": "number"
1933
+ },
1934
+ "maxOutputBytes": {
1935
+ "type": "number"
1936
+ },
1937
+ "fileSet": {
1938
+ "type": "string",
1939
+ "enum": [
1940
+ "gitignore",
1941
+ "all"
1942
+ ]
1943
+ }
1944
+ }
1945
+ }
1946
+ ]
1947
+ }
1948
+ }
1949
+ ]
1950
+ },
1951
+ "approvals": {
1952
+ "anyOf": [
1953
+ {
1954
+ "type": "string",
1955
+ "enum": [
1956
+ "manual",
1957
+ "write",
1958
+ "assisted",
1959
+ "auto",
1960
+ "bypass"
1961
+ ]
1962
+ },
1963
+ {
1964
+ "type": "object",
1965
+ "properties": {
1966
+ "mode": {
1967
+ "type": "string",
1968
+ "enum": [
1969
+ "manual",
1970
+ "write",
1971
+ "assisted",
1972
+ "auto",
1973
+ "bypass"
1974
+ ]
1975
+ },
1976
+ "rater": {
1977
+ "type": "string"
1978
+ },
1979
+ "allow": {
1980
+ "type": "array",
1981
+ "items": {
1982
+ "$ref": "#/$defs/ApprovalEntry"
1983
+ }
1984
+ },
1985
+ "deny": {
1986
+ "type": "array",
1987
+ "items": {
1988
+ "$ref": "#/$defs/ApprovalEntry"
1989
+ }
1990
+ },
1991
+ "escalate": {
1992
+ "type": "array",
1993
+ "items": {
1994
+ "$ref": "#/$defs/ApprovalEntry"
1995
+ }
1996
+ },
1997
+ "raterTimeoutMs": {
1998
+ "type": "integer",
1999
+ "minimum": 1,
2000
+ "maximum": 9007199254740991
2001
+ },
2002
+ "mcp": {
2003
+ "type": "object",
2004
+ "properties": {
2005
+ "defaults": {
2006
+ "type": "object",
2007
+ "properties": {
2008
+ "trustAnnotations": {
2009
+ "type": "array",
2010
+ "items": {
2011
+ "type": "string",
2012
+ "enum": [
2013
+ "readOnlyHint",
2014
+ "destructiveHint",
2015
+ "idempotentHint",
2016
+ "openWorldHint"
2017
+ ]
2018
+ }
2019
+ }
2020
+ },
2021
+ "additionalProperties": false
2022
+ },
2023
+ "servers": {
2024
+ "type": "object",
2025
+ "propertyNames": {
2026
+ "type": "string",
2027
+ "minLength": 1
2028
+ },
2029
+ "additionalProperties": {
2030
+ "type": "object",
2031
+ "properties": {
2032
+ "trustAnnotations": {
2033
+ "type": "array",
2034
+ "items": {
2035
+ "type": "string",
2036
+ "enum": [
2037
+ "readOnlyHint",
2038
+ "destructiveHint",
2039
+ "idempotentHint",
2040
+ "openWorldHint"
2041
+ ]
2042
+ }
2043
+ }
2044
+ },
2045
+ "additionalProperties": false
2046
+ }
2047
+ }
2048
+ },
2049
+ "additionalProperties": false
2050
+ }
2051
+ }
2052
+ }
2053
+ ]
2054
+ },
2055
+ "customTools": {
2056
+ "anyOf": [
2057
+ {
2058
+ "type": "boolean",
2059
+ "const": false
2060
+ },
2061
+ {
2062
+ "type": "object",
2063
+ "propertyNames": {
2064
+ "type": "string"
2065
+ },
2066
+ "additionalProperties": {
2067
+ "type": "object",
2068
+ "properties": {
2069
+ "command": {
2070
+ "type": "string"
2071
+ },
2072
+ "description": {
2073
+ "type": "string"
2074
+ },
2075
+ "parameters": {
2076
+ "type": "object",
2077
+ "propertyNames": {
2078
+ "type": "string"
2079
+ },
2080
+ "additionalProperties": {
2081
+ "type": "object",
2082
+ "properties": {
2083
+ "description": {
2084
+ "type": "string"
2085
+ },
2086
+ "allow": {
2087
+ "type": "array",
2088
+ "items": {
2089
+ "type": "string",
2090
+ "enum": [
2091
+ "absolute-paths",
2092
+ "directory-traversal",
2093
+ "shell-injection",
2094
+ "null-bytes"
2095
+ ]
2096
+ }
2097
+ }
2098
+ },
2099
+ "required": [
2100
+ "description"
2101
+ ]
2102
+ }
2103
+ },
2104
+ "timeout": {
2105
+ "type": "number"
2106
+ }
2107
+ },
2108
+ "required": [
2109
+ "command",
2110
+ "description"
2111
+ ]
2112
+ }
2113
+ }
2114
+ ]
2115
+ },
2116
+ "allowedTools": {
2117
+ "type": "array",
2118
+ "items": {
2119
+ "type": "string"
2120
+ }
2121
+ },
2122
+ "binaryFormats": {
2123
+ "anyOf": [
2124
+ {
2125
+ "type": "boolean",
2126
+ "const": false
2127
+ },
2128
+ {
2129
+ "type": "array",
2130
+ "items": {
2131
+ "type": "object",
2132
+ "properties": {
2133
+ "type": {
2134
+ "type": "string",
2135
+ "enum": [
2136
+ "image",
2137
+ "file",
2138
+ "audio",
2139
+ "video",
2140
+ "binary"
2141
+ ]
2142
+ },
2143
+ "extensions": {
2144
+ "type": "array",
2145
+ "items": {
2146
+ "type": "string"
2147
+ }
2148
+ },
2149
+ "maxSize": {
2150
+ "type": "number"
2151
+ },
2152
+ "mimeTypes": {
2153
+ "type": "object",
2154
+ "propertyNames": {
2155
+ "type": "string"
2156
+ },
2157
+ "additionalProperties": {
2158
+ "type": "string"
2159
+ }
2160
+ }
2161
+ },
2162
+ "required": [
2163
+ "type",
2164
+ "extensions"
2165
+ ]
2166
+ }
2167
+ }
2168
+ ]
2169
+ }
2170
+ }
2171
+ },
2172
+ "exec": {
2173
+ "type": "object",
2174
+ "properties": {
2175
+ "filesystem": {
2176
+ "anyOf": [
2177
+ {
2178
+ "type": "array",
2179
+ "items": {
2180
+ "type": "string"
2181
+ }
2182
+ },
2183
+ {
2184
+ "type": "string",
2185
+ "enum": [
2186
+ "all",
2187
+ "read",
2188
+ "none"
2189
+ ]
2190
+ }
2191
+ ]
2192
+ },
2193
+ "builtInTools": {
2194
+ "anyOf": [
2195
+ {
2196
+ "type": "array",
2197
+ "items": {
2198
+ "type": "string"
2199
+ }
2200
+ },
2201
+ {
2202
+ "type": "object",
2203
+ "propertyNames": {
2204
+ "type": "string"
2205
+ },
2206
+ "additionalProperties": {
2207
+ "anyOf": [
2208
+ {
2209
+ "type": "boolean"
2210
+ },
2211
+ {
2212
+ "type": "object",
2213
+ "properties": {
2214
+ "enabled": {
2215
+ "type": "boolean"
2216
+ },
2217
+ "command": {
2218
+ "type": "string"
2219
+ },
2220
+ "timeout": {
2221
+ "type": "number"
2222
+ },
2223
+ "maxOutputBytes": {
2224
+ "type": "number"
2225
+ },
2226
+ "fileSet": {
2227
+ "type": "string",
2228
+ "enum": [
2229
+ "gitignore",
2230
+ "all"
2231
+ ]
2232
+ }
2233
+ }
2234
+ }
2235
+ ]
2236
+ }
2237
+ }
2238
+ ]
2239
+ },
2240
+ "approvals": {
2241
+ "anyOf": [
2242
+ {
2243
+ "type": "string",
2244
+ "enum": [
2245
+ "manual",
2246
+ "write",
2247
+ "assisted",
2248
+ "auto",
2249
+ "bypass"
2250
+ ]
2251
+ },
2252
+ {
2253
+ "type": "object",
2254
+ "properties": {
2255
+ "mode": {
2256
+ "type": "string",
2257
+ "enum": [
2258
+ "manual",
2259
+ "write",
2260
+ "assisted",
2261
+ "auto",
2262
+ "bypass"
2263
+ ]
2264
+ },
2265
+ "rater": {
2266
+ "type": "string"
2267
+ },
2268
+ "allow": {
2269
+ "type": "array",
2270
+ "items": {
2271
+ "$ref": "#/$defs/ApprovalEntry"
2272
+ }
2273
+ },
2274
+ "deny": {
2275
+ "type": "array",
2276
+ "items": {
2277
+ "$ref": "#/$defs/ApprovalEntry"
2278
+ }
2279
+ },
2280
+ "escalate": {
2281
+ "type": "array",
2282
+ "items": {
2283
+ "$ref": "#/$defs/ApprovalEntry"
2284
+ }
2285
+ },
2286
+ "raterTimeoutMs": {
2287
+ "type": "integer",
2288
+ "minimum": 1,
2289
+ "maximum": 9007199254740991
2290
+ },
2291
+ "mcp": {
2292
+ "type": "object",
2293
+ "properties": {
2294
+ "defaults": {
2295
+ "type": "object",
2296
+ "properties": {
2297
+ "trustAnnotations": {
2298
+ "type": "array",
2299
+ "items": {
2300
+ "type": "string",
2301
+ "enum": [
2302
+ "readOnlyHint",
2303
+ "destructiveHint",
2304
+ "idempotentHint",
2305
+ "openWorldHint"
2306
+ ]
2307
+ }
2308
+ }
2309
+ },
2310
+ "additionalProperties": false
2311
+ },
2312
+ "servers": {
2313
+ "type": "object",
2314
+ "propertyNames": {
2315
+ "type": "string",
2316
+ "minLength": 1
2317
+ },
2318
+ "additionalProperties": {
2319
+ "type": "object",
2320
+ "properties": {
2321
+ "trustAnnotations": {
2322
+ "type": "array",
2323
+ "items": {
2324
+ "type": "string",
2325
+ "enum": [
2326
+ "readOnlyHint",
2327
+ "destructiveHint",
2328
+ "idempotentHint",
2329
+ "openWorldHint"
2330
+ ]
2331
+ }
2332
+ }
2333
+ },
2334
+ "additionalProperties": false
2335
+ }
2336
+ }
2337
+ },
2338
+ "additionalProperties": false
2339
+ }
2340
+ }
2341
+ }
2342
+ ]
2343
+ },
2344
+ "customTools": {
2345
+ "anyOf": [
2346
+ {
2347
+ "type": "boolean",
2348
+ "const": false
2349
+ },
2350
+ {
2351
+ "type": "object",
2352
+ "propertyNames": {
2353
+ "type": "string"
2354
+ },
2355
+ "additionalProperties": {
2356
+ "type": "object",
2357
+ "properties": {
2358
+ "command": {
2359
+ "type": "string"
2360
+ },
2361
+ "description": {
2362
+ "type": "string"
2363
+ },
2364
+ "parameters": {
2365
+ "type": "object",
2366
+ "propertyNames": {
2367
+ "type": "string"
2368
+ },
2369
+ "additionalProperties": {
2370
+ "type": "object",
2371
+ "properties": {
2372
+ "description": {
2373
+ "type": "string"
2374
+ },
2375
+ "allow": {
2376
+ "type": "array",
2377
+ "items": {
2378
+ "type": "string",
2379
+ "enum": [
2380
+ "absolute-paths",
2381
+ "directory-traversal",
2382
+ "shell-injection",
2383
+ "null-bytes"
2384
+ ]
2385
+ }
2386
+ }
2387
+ },
2388
+ "required": [
2389
+ "description"
2390
+ ]
2391
+ }
2392
+ },
2393
+ "timeout": {
2394
+ "type": "number"
2395
+ }
2396
+ },
2397
+ "required": [
2398
+ "command",
2399
+ "description"
2400
+ ]
2401
+ }
2402
+ }
2403
+ ]
2404
+ },
2405
+ "allowedTools": {
2406
+ "type": "array",
2407
+ "items": {
2408
+ "type": "string"
2409
+ }
2410
+ },
2411
+ "binaryFormats": {
2412
+ "anyOf": [
2413
+ {
2414
+ "type": "boolean",
2415
+ "const": false
2416
+ },
2417
+ {
2418
+ "type": "array",
2419
+ "items": {
2420
+ "type": "object",
2421
+ "properties": {
2422
+ "type": {
2423
+ "type": "string",
2424
+ "enum": [
2425
+ "image",
2426
+ "file",
2427
+ "audio",
2428
+ "video",
2429
+ "binary"
2430
+ ]
2431
+ },
2432
+ "extensions": {
2433
+ "type": "array",
2434
+ "items": {
2435
+ "type": "string"
2436
+ }
2437
+ },
2438
+ "maxSize": {
2439
+ "type": "number"
2440
+ },
2441
+ "mimeTypes": {
2442
+ "type": "object",
2443
+ "propertyNames": {
2444
+ "type": "string"
2445
+ },
2446
+ "additionalProperties": {
2447
+ "type": "string"
2448
+ }
2449
+ }
2450
+ },
2451
+ "required": [
2452
+ "type",
2453
+ "extensions"
2454
+ ]
2455
+ }
2456
+ }
2457
+ ]
2458
+ }
2459
+ }
2460
+ },
2461
+ "api": {
2462
+ "type": "object",
2463
+ "properties": {
2464
+ "filesystem": {
2465
+ "anyOf": [
2466
+ {
2467
+ "type": "array",
2468
+ "items": {
2469
+ "type": "string"
2470
+ }
2471
+ },
2472
+ {
2473
+ "type": "string",
2474
+ "enum": [
2475
+ "all",
2476
+ "read",
2477
+ "none"
2478
+ ]
2479
+ }
2480
+ ]
2481
+ },
2482
+ "builtInTools": {
2483
+ "anyOf": [
2484
+ {
2485
+ "type": "array",
2486
+ "items": {
2487
+ "type": "string"
2488
+ }
2489
+ },
2490
+ {
2491
+ "type": "object",
2492
+ "propertyNames": {
2493
+ "type": "string"
2494
+ },
2495
+ "additionalProperties": {
2496
+ "anyOf": [
2497
+ {
2498
+ "type": "boolean"
2499
+ },
2500
+ {
2501
+ "type": "object",
2502
+ "properties": {
2503
+ "enabled": {
2504
+ "type": "boolean"
2505
+ },
2506
+ "command": {
2507
+ "type": "string"
2508
+ },
2509
+ "timeout": {
2510
+ "type": "number"
2511
+ },
2512
+ "maxOutputBytes": {
2513
+ "type": "number"
2514
+ },
2515
+ "fileSet": {
2516
+ "type": "string",
2517
+ "enum": [
2518
+ "gitignore",
2519
+ "all"
2520
+ ]
2521
+ }
2522
+ }
2523
+ }
2524
+ ]
2525
+ }
2526
+ }
2527
+ ]
2528
+ },
2529
+ "approvals": {
2530
+ "anyOf": [
2531
+ {
2532
+ "type": "string",
2533
+ "enum": [
2534
+ "manual",
2535
+ "write",
2536
+ "assisted",
2537
+ "auto",
2538
+ "bypass"
2539
+ ]
2540
+ },
2541
+ {
2542
+ "type": "object",
2543
+ "properties": {
2544
+ "mode": {
2545
+ "type": "string",
2546
+ "enum": [
2547
+ "manual",
2548
+ "write",
2549
+ "assisted",
2550
+ "auto",
2551
+ "bypass"
2552
+ ]
2553
+ },
2554
+ "rater": {
2555
+ "type": "string"
2556
+ },
2557
+ "allow": {
2558
+ "type": "array",
2559
+ "items": {
2560
+ "$ref": "#/$defs/ApprovalEntry"
2561
+ }
2562
+ },
2563
+ "deny": {
2564
+ "type": "array",
2565
+ "items": {
2566
+ "$ref": "#/$defs/ApprovalEntry"
2567
+ }
2568
+ },
2569
+ "escalate": {
2570
+ "type": "array",
2571
+ "items": {
2572
+ "$ref": "#/$defs/ApprovalEntry"
2573
+ }
2574
+ },
2575
+ "raterTimeoutMs": {
2576
+ "type": "integer",
2577
+ "minimum": 1,
2578
+ "maximum": 9007199254740991
2579
+ },
2580
+ "mcp": {
2581
+ "type": "object",
2582
+ "properties": {
2583
+ "defaults": {
2584
+ "type": "object",
2585
+ "properties": {
2586
+ "trustAnnotations": {
2587
+ "type": "array",
2588
+ "items": {
2589
+ "type": "string",
2590
+ "enum": [
2591
+ "readOnlyHint",
2592
+ "destructiveHint",
2593
+ "idempotentHint",
2594
+ "openWorldHint"
2595
+ ]
2596
+ }
2597
+ }
2598
+ },
2599
+ "additionalProperties": false
2600
+ },
2601
+ "servers": {
2602
+ "type": "object",
2603
+ "propertyNames": {
2604
+ "type": "string",
2605
+ "minLength": 1
2606
+ },
2607
+ "additionalProperties": {
2608
+ "type": "object",
2609
+ "properties": {
2610
+ "trustAnnotations": {
2611
+ "type": "array",
2612
+ "items": {
2613
+ "type": "string",
2614
+ "enum": [
2615
+ "readOnlyHint",
2616
+ "destructiveHint",
2617
+ "idempotentHint",
2618
+ "openWorldHint"
2619
+ ]
2620
+ }
2621
+ }
2622
+ },
2623
+ "additionalProperties": false
2624
+ }
2625
+ }
2626
+ },
2627
+ "additionalProperties": false
2628
+ }
2629
+ }
2630
+ }
2631
+ ]
2632
+ },
2633
+ "port": {
2634
+ "type": "number"
2635
+ },
2636
+ "cors": {
2637
+ "type": "object",
2638
+ "properties": {
2639
+ "allowOrigin": {
2640
+ "type": "string"
2641
+ },
2642
+ "allowMethods": {
2643
+ "type": "string"
2644
+ },
2645
+ "allowHeaders": {
2646
+ "type": "string"
2647
+ }
2648
+ }
2649
+ }
2650
+ }
2651
+ }
2652
+ }
2653
+ },
2654
+ "commit": {
2655
+ "type": "object",
2656
+ "properties": {
2657
+ "coAuthor": {
2658
+ "type": "object",
2659
+ "properties": {
2660
+ "name": {
2661
+ "type": "string"
2662
+ },
2663
+ "email": {
2664
+ "type": "string"
2665
+ }
2666
+ }
2667
+ }
2668
+ }
2669
+ },
2670
+ "modelDisplayName": {
2671
+ "type": "string"
2672
+ },
2673
+ "injectModelContext": {
2674
+ "type": "boolean"
2675
+ },
2676
+ "debugDump": {
2677
+ "type": "object",
2678
+ "properties": {
2679
+ "redact": {
2680
+ "type": "boolean"
2681
+ }
2682
+ }
2683
+ },
2684
+ "allowDirs": {
2685
+ "type": "array",
2686
+ "items": {
2687
+ "type": "string"
2688
+ }
2689
+ },
2690
+ "askWriteMode": {
2691
+ "type": "boolean"
2692
+ },
2693
+ "output": {
2694
+ "type": "object",
2695
+ "properties": {
2696
+ "header": {
2697
+ "type": "boolean"
2698
+ }
2699
+ }
2700
+ },
2701
+ "toolLoopGuard": {
2702
+ "anyOf": [
2703
+ {
2704
+ "type": "boolean"
2705
+ },
2706
+ {
2707
+ "type": "object",
2708
+ "properties": {
2709
+ "warn": {
2710
+ "type": "boolean"
2711
+ },
2712
+ "halt": {
2713
+ "type": "boolean"
2714
+ },
2715
+ "threshold": {
2716
+ "type": "number"
2717
+ }
2718
+ }
2719
+ }
2720
+ ]
2721
+ },
2722
+ "reporters": {
2723
+ "type": "object",
2724
+ "propertyNames": {
2725
+ "type": "string"
2726
+ },
2727
+ "additionalProperties": {
2728
+ "type": "string"
2729
+ }
2730
+ },
2731
+ "subagents": {
2732
+ "type": "array",
2733
+ "items": {
2734
+ "type": "object",
2735
+ "properties": {
2736
+ "name": {
2737
+ "type": "string"
2738
+ },
2739
+ "description": {
2740
+ "type": "string"
2741
+ },
2742
+ "profile": {
2743
+ "type": "string"
2744
+ }
2745
+ },
2746
+ "required": [
2747
+ "name",
2748
+ "profile"
2749
+ ]
2750
+ }
2751
+ }
2752
+ },
2753
+ "additionalProperties": {},
2754
+ "$defs": {
2755
+ "ApprovalEntry": {
2756
+ "oneOf": [
2757
+ {
2758
+ "oneOf": [
2759
+ {
2760
+ "type": "object",
2761
+ "properties": {
2762
+ "type": {
2763
+ "type": "string",
2764
+ "const": "shell"
2765
+ },
2766
+ "matcher": {
2767
+ "type": "string",
2768
+ "const": "exact"
2769
+ },
2770
+ "pattern": {
2771
+ "type": "string"
2772
+ },
2773
+ "rate": {
2774
+ "type": "boolean"
2775
+ }
2776
+ },
2777
+ "required": [
2778
+ "type",
2779
+ "matcher",
2780
+ "pattern"
2781
+ ],
2782
+ "additionalProperties": false
2783
+ },
2784
+ {
2785
+ "type": "object",
2786
+ "properties": {
2787
+ "type": {
2788
+ "type": "string",
2789
+ "const": "shell"
2790
+ },
2791
+ "matcher": {
2792
+ "type": "string",
2793
+ "const": "glob"
2794
+ },
2795
+ "pattern": {
2796
+ "type": "string"
2797
+ },
2798
+ "rate": {
2799
+ "type": "boolean"
2800
+ }
2801
+ },
2802
+ "required": [
2803
+ "type",
2804
+ "matcher",
2805
+ "pattern"
2806
+ ],
2807
+ "additionalProperties": false
2808
+ },
2809
+ {
2810
+ "type": "object",
2811
+ "properties": {
2812
+ "type": {
2813
+ "type": "string",
2814
+ "const": "shell"
2815
+ },
2816
+ "matcher": {
2817
+ "type": "string",
2818
+ "const": "regexp"
2819
+ },
2820
+ "pattern": {
2821
+ "type": "string",
2822
+ "maxLength": 200
2823
+ },
2824
+ "rate": {
2825
+ "type": "boolean"
2826
+ }
2827
+ },
2828
+ "required": [
2829
+ "type",
2830
+ "matcher",
2831
+ "pattern"
2832
+ ],
2833
+ "additionalProperties": false
2834
+ }
2835
+ ]
2836
+ },
2837
+ {
2838
+ "oneOf": [
2839
+ {
2840
+ "type": "object",
2841
+ "properties": {
2842
+ "type": {
2843
+ "type": "string",
2844
+ "const": "tool"
2845
+ },
2846
+ "matcher": {
2847
+ "type": "string",
2848
+ "const": "exact"
2849
+ },
2850
+ "pattern": {
2851
+ "type": "string"
2852
+ },
2853
+ "host": {
2854
+ "type": "string",
2855
+ "minLength": 1
2856
+ },
2857
+ "rate": {
2858
+ "type": "boolean"
2859
+ }
2860
+ },
2861
+ "required": [
2862
+ "type",
2863
+ "matcher",
2864
+ "pattern"
2865
+ ],
2866
+ "additionalProperties": false
2867
+ },
2868
+ {
2869
+ "type": "object",
2870
+ "properties": {
2871
+ "type": {
2872
+ "type": "string",
2873
+ "const": "tool"
2874
+ },
2875
+ "matcher": {
2876
+ "type": "string",
2877
+ "const": "glob"
2878
+ },
2879
+ "pattern": {
2880
+ "type": "string"
2881
+ },
2882
+ "host": {
2883
+ "type": "string",
2884
+ "minLength": 1
2885
+ },
2886
+ "rate": {
2887
+ "type": "boolean"
2888
+ }
2889
+ },
2890
+ "required": [
2891
+ "type",
2892
+ "matcher",
2893
+ "pattern"
2894
+ ],
2895
+ "additionalProperties": false
2896
+ },
2897
+ {
2898
+ "type": "object",
2899
+ "properties": {
2900
+ "type": {
2901
+ "type": "string",
2902
+ "const": "tool"
2903
+ },
2904
+ "matcher": {
2905
+ "type": "string",
2906
+ "const": "regexp"
2907
+ },
2908
+ "pattern": {
2909
+ "type": "string",
2910
+ "maxLength": 200
2911
+ },
2912
+ "host": {
2913
+ "type": "string",
2914
+ "minLength": 1
2915
+ },
2916
+ "rate": {
2917
+ "type": "boolean"
2918
+ }
2919
+ },
2920
+ "required": [
2921
+ "type",
2922
+ "matcher",
2923
+ "pattern"
2924
+ ],
2925
+ "additionalProperties": false
2926
+ },
2927
+ {
2928
+ "type": "object",
2929
+ "properties": {
2930
+ "type": {
2931
+ "type": "string",
2932
+ "const": "tool"
2933
+ },
2934
+ "matcher": {
2935
+ "type": "string",
2936
+ "const": "hint"
2937
+ },
2938
+ "pattern": {
2939
+ "type": "object",
2940
+ "properties": {
2941
+ "readOnlyHint": {
2942
+ "type": "boolean"
2943
+ },
2944
+ "destructiveHint": {
2945
+ "type": "boolean"
2946
+ },
2947
+ "idempotentHint": {
2948
+ "type": "boolean"
2949
+ },
2950
+ "openWorldHint": {
2951
+ "type": "boolean"
2952
+ }
2953
+ },
2954
+ "additionalProperties": false,
2955
+ "minProperties": 1
2956
+ },
2957
+ "host": {
2958
+ "type": "string",
2959
+ "minLength": 1
2960
+ },
2961
+ "rate": {
2962
+ "type": "boolean"
2963
+ }
2964
+ },
2965
+ "required": [
2966
+ "type",
2967
+ "matcher",
2968
+ "pattern"
2969
+ ],
2970
+ "additionalProperties": false
2971
+ }
2972
+ ]
2973
+ },
2974
+ {
2975
+ "oneOf": [
2976
+ {
2977
+ "type": "object",
2978
+ "properties": {
2979
+ "type": {
2980
+ "type": "string",
2981
+ "const": "mcpTool"
2982
+ },
2983
+ "matcher": {
2984
+ "type": "string",
2985
+ "const": "exact"
2986
+ },
2987
+ "server": {
2988
+ "type": "string",
2989
+ "minLength": 1
2990
+ },
2991
+ "pattern": {
2992
+ "type": "string"
2993
+ },
2994
+ "host": {
2995
+ "type": "string",
2996
+ "minLength": 1
2997
+ },
2998
+ "rate": {
2999
+ "type": "boolean"
3000
+ }
3001
+ },
3002
+ "required": [
3003
+ "type",
3004
+ "matcher",
3005
+ "server",
3006
+ "pattern"
3007
+ ],
3008
+ "additionalProperties": false
3009
+ },
3010
+ {
3011
+ "type": "object",
3012
+ "properties": {
3013
+ "type": {
3014
+ "type": "string",
3015
+ "const": "mcpTool"
3016
+ },
3017
+ "matcher": {
3018
+ "type": "string",
3019
+ "const": "glob"
3020
+ },
3021
+ "server": {
3022
+ "type": "string",
3023
+ "minLength": 1
3024
+ },
3025
+ "pattern": {
3026
+ "type": "string"
3027
+ },
3028
+ "host": {
3029
+ "type": "string",
3030
+ "minLength": 1
3031
+ },
3032
+ "rate": {
3033
+ "type": "boolean"
3034
+ }
3035
+ },
3036
+ "required": [
3037
+ "type",
3038
+ "matcher",
3039
+ "server",
3040
+ "pattern"
3041
+ ],
3042
+ "additionalProperties": false
3043
+ },
3044
+ {
3045
+ "type": "object",
3046
+ "properties": {
3047
+ "type": {
3048
+ "type": "string",
3049
+ "const": "mcpTool"
3050
+ },
3051
+ "matcher": {
3052
+ "type": "string",
3053
+ "const": "regexp"
3054
+ },
3055
+ "server": {
3056
+ "type": "string",
3057
+ "minLength": 1
3058
+ },
3059
+ "pattern": {
3060
+ "type": "string",
3061
+ "maxLength": 200
3062
+ },
3063
+ "host": {
3064
+ "type": "string",
3065
+ "minLength": 1
3066
+ },
3067
+ "rate": {
3068
+ "type": "boolean"
3069
+ }
3070
+ },
3071
+ "required": [
3072
+ "type",
3073
+ "matcher",
3074
+ "server",
3075
+ "pattern"
3076
+ ],
3077
+ "additionalProperties": false
3078
+ },
3079
+ {
3080
+ "type": "object",
3081
+ "properties": {
3082
+ "type": {
3083
+ "type": "string",
3084
+ "const": "mcpTool"
3085
+ },
3086
+ "matcher": {
3087
+ "type": "string",
3088
+ "const": "hint"
3089
+ },
3090
+ "server": {
3091
+ "type": "string",
3092
+ "minLength": 1
3093
+ },
3094
+ "pattern": {
3095
+ "type": "object",
3096
+ "properties": {
3097
+ "readOnlyHint": {
3098
+ "type": "boolean"
3099
+ },
3100
+ "destructiveHint": {
3101
+ "type": "boolean"
3102
+ },
3103
+ "idempotentHint": {
3104
+ "type": "boolean"
3105
+ },
3106
+ "openWorldHint": {
3107
+ "type": "boolean"
3108
+ }
3109
+ },
3110
+ "additionalProperties": false,
3111
+ "minProperties": 1
3112
+ },
3113
+ "host": {
3114
+ "type": "string",
3115
+ "minLength": 1
3116
+ },
3117
+ "rate": {
3118
+ "type": "boolean"
3119
+ }
3120
+ },
3121
+ "required": [
3122
+ "type",
3123
+ "matcher",
3124
+ "server",
3125
+ "pattern"
3126
+ ],
3127
+ "additionalProperties": false
3128
+ }
3129
+ ]
3130
+ }
3131
+ ]
3132
+ }
3133
+ }
3134
+ }