cohorte 2.10.1 → 3.0.0-dev.0

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 (211) hide show
  1. package/README.md +7 -0
  2. package/assets/manifest.json +193 -0
  3. package/assets/migrations/config/README.md +12 -0
  4. package/assets/migrations/state/0001_init.sql +154 -0
  5. package/assets/prompts/README.md +11 -0
  6. package/assets/prompts/agents/fixer.md +7 -0
  7. package/assets/prompts/agents/implementer.md +12 -0
  8. package/assets/prompts/agents/reviewer.md +8 -0
  9. package/assets/prompts/agents/security-reviewer.md +7 -0
  10. package/assets/prompts/phases/build.md +5 -0
  11. package/assets/prompts/phases/review.md +5 -0
  12. package/assets/prompts/phases/test.md +5 -0
  13. package/assets/prompts/system.md +11 -0
  14. package/assets/schemas/agent-output.schema.json +225 -0
  15. package/assets/schemas/auth-status.schema.json +87 -0
  16. package/assets/schemas/command-result.schema.json +192 -0
  17. package/assets/schemas/commands.schema.json +952 -0
  18. package/assets/schemas/config.schema.json +2259 -0
  19. package/assets/schemas/doctor-report.schema.json +104 -0
  20. package/assets/schemas/events.schema.json +8514 -0
  21. package/assets/schemas/fake-script.schema.json +549 -0
  22. package/assets/schemas/inspect.schema.json +3133 -0
  23. package/assets/schemas/manifest.schema.json +79 -0
  24. package/assets/schemas/ownership.schema.json +52 -0
  25. package/assets/schemas/policy-verdict.schema.json +282 -0
  26. package/assets/schemas/project-model.schema.json +783 -0
  27. package/assets/schemas/project-status.schema.json +217 -0
  28. package/assets/schemas/reconcile-plan.schema.json +155 -0
  29. package/assets/schemas/run-diff.schema.json +177 -0
  30. package/assets/schemas/run-snapshot-manifest.schema.json +2104 -0
  31. package/assets/schemas/run-state.schema.json +1755 -0
  32. package/assets/schemas/runtime-capabilities.schema.json +1545 -0
  33. package/assets/schemas/sandbox-capabilities.schema.json +116 -0
  34. package/assets/schemas/skill.schema.json +87 -0
  35. package/assets/schemas/spec.schema.json +202 -0
  36. package/assets/schemas/tool-catalogue.schema.json +655 -0
  37. package/assets/schemas/trust-record.schema.json +38 -0
  38. package/assets/skills/README.md +9 -0
  39. package/assets/skills/inspect-surface.md +4 -0
  40. package/dist/agent-host.mjs +50 -0
  41. package/dist/agent-host.mjs.map +1 -0
  42. package/dist/bundle-manifest.json +102 -0
  43. package/dist/chunks/__host-DgGPyco9.mjs +18 -0
  44. package/dist/chunks/__host-DgGPyco9.mjs.map +1 -0
  45. package/dist/chunks/approve-Cv135UqI.mjs +19 -0
  46. package/dist/chunks/approve-Cv135UqI.mjs.map +1 -0
  47. package/dist/chunks/auth-BT5oVp76.mjs +132 -0
  48. package/dist/chunks/auth-BT5oVp76.mjs.map +1 -0
  49. package/dist/chunks/auth-D8rCVY33.mjs +84 -0
  50. package/dist/chunks/auth-D8rCVY33.mjs.map +1 -0
  51. package/dist/chunks/brainstorm-CU10T1tm.mjs +7 -0
  52. package/dist/chunks/brainstorm-CU10T1tm.mjs.map +1 -0
  53. package/dist/chunks/cancel-KV_cpsqS.mjs +15 -0
  54. package/dist/chunks/cancel-KV_cpsqS.mjs.map +1 -0
  55. package/dist/chunks/canonical-C8UxeEmB.mjs +57 -0
  56. package/dist/chunks/canonical-C8UxeEmB.mjs.map +1 -0
  57. package/dist/chunks/catalogue-BvwSrM_j.mjs +1549 -0
  58. package/dist/chunks/catalogue-BvwSrM_j.mjs.map +1 -0
  59. package/dist/chunks/compose-Cr0hP0qm.mjs +7303 -0
  60. package/dist/chunks/compose-Cr0hP0qm.mjs.map +1 -0
  61. package/dist/chunks/config-DefHA2Lw.mjs +96 -0
  62. package/dist/chunks/config-DefHA2Lw.mjs.map +1 -0
  63. package/dist/chunks/contract-B0ra2-bm.mjs +295 -0
  64. package/dist/chunks/contract-B0ra2-bm.mjs.map +1 -0
  65. package/dist/chunks/contract-vYbwYr0Y.mjs +123 -0
  66. package/dist/chunks/contract-vYbwYr0Y.mjs.map +1 -0
  67. package/dist/chunks/deny-ClTxSvHJ.mjs +15 -0
  68. package/dist/chunks/deny-ClTxSvHJ.mjs.map +1 -0
  69. package/dist/chunks/diff-Qw0II0sj.mjs +101 -0
  70. package/dist/chunks/diff-Qw0II0sj.mjs.map +1 -0
  71. package/dist/chunks/discover-30Ciya_0.mjs +20 -0
  72. package/dist/chunks/discover-30Ciya_0.mjs.map +1 -0
  73. package/dist/chunks/doctor-DfCrKpfT.mjs +222 -0
  74. package/dist/chunks/doctor-DfCrKpfT.mjs.map +1 -0
  75. package/dist/chunks/fix-D4Tj8RVA.mjs +18 -0
  76. package/dist/chunks/fix-D4Tj8RVA.mjs.map +1 -0
  77. package/dist/chunks/gc-BBXlBF5w.mjs +161 -0
  78. package/dist/chunks/gc-BBXlBF5w.mjs.map +1 -0
  79. package/dist/chunks/init-Okz4mlhW.mjs +30 -0
  80. package/dist/chunks/init-Okz4mlhW.mjs.map +1 -0
  81. package/dist/chunks/inspect-Buby4cQD.mjs +22 -0
  82. package/dist/chunks/inspect-Buby4cQD.mjs.map +1 -0
  83. package/dist/chunks/logs-Giq5sUau.mjs +25 -0
  84. package/dist/chunks/logs-Giq5sUau.mjs.map +1 -0
  85. package/dist/chunks/migrate-DRoFUg53.mjs +19 -0
  86. package/dist/chunks/migrate-DRoFUg53.mjs.map +1 -0
  87. package/dist/chunks/models-Btp6X2YZ.mjs +24 -0
  88. package/dist/chunks/models-Btp6X2YZ.mjs.map +1 -0
  89. package/dist/chunks/pause-BASBfKLO.mjs +16 -0
  90. package/dist/chunks/pause-BASBfKLO.mjs.map +1 -0
  91. package/dist/chunks/policy-DUIgzF3W.mjs +139 -0
  92. package/dist/chunks/policy-DUIgzF3W.mjs.map +1 -0
  93. package/dist/chunks/providers-Dx78imKj.mjs +19 -0
  94. package/dist/chunks/providers-Dx78imKj.mjs.map +1 -0
  95. package/dist/chunks/reconcile-BfD785gd.mjs +26 -0
  96. package/dist/chunks/reconcile-BfD785gd.mjs.map +1 -0
  97. package/dist/chunks/render-DyZr5Lgi.mjs +53 -0
  98. package/dist/chunks/render-DyZr5Lgi.mjs.map +1 -0
  99. package/dist/chunks/resume-GJQRb2Eb.mjs +15 -0
  100. package/dist/chunks/resume-GJQRb2Eb.mjs.map +1 -0
  101. package/dist/chunks/retry-CLrUem1H.mjs +15 -0
  102. package/dist/chunks/retry-CLrUem1H.mjs.map +1 -0
  103. package/dist/chunks/review-BDdjb6kB.mjs +17 -0
  104. package/dist/chunks/review-BDdjb6kB.mjs.map +1 -0
  105. package/dist/chunks/run-CgTWYlcd.mjs +82 -0
  106. package/dist/chunks/run-CgTWYlcd.mjs.map +1 -0
  107. package/dist/chunks/run-tool-C3rAv4XF.mjs +26 -0
  108. package/dist/chunks/run-tool-C3rAv4XF.mjs.map +1 -0
  109. package/dist/chunks/schema-C9QbUW4H.mjs +578 -0
  110. package/dist/chunks/schema-C9QbUW4H.mjs.map +1 -0
  111. package/dist/chunks/send-BdnJ85Nz.mjs +19 -0
  112. package/dist/chunks/send-BdnJ85Nz.mjs.map +1 -0
  113. package/dist/chunks/ship-DTuLGoaJ.mjs +19 -0
  114. package/dist/chunks/ship-DTuLGoaJ.mjs.map +1 -0
  115. package/dist/chunks/shutdown-BM92Iyv2.mjs +15 -0
  116. package/dist/chunks/shutdown-BM92Iyv2.mjs.map +1 -0
  117. package/dist/chunks/skip-DZG5kpcH.mjs +18 -0
  118. package/dist/chunks/skip-DZG5kpcH.mjs.map +1 -0
  119. package/dist/chunks/spec-Bq0P3jVh.mjs +20 -0
  120. package/dist/chunks/spec-Bq0P3jVh.mjs.map +1 -0
  121. package/dist/chunks/src-CId6kMsY.mjs +1689 -0
  122. package/dist/chunks/src-CId6kMsY.mjs.map +1 -0
  123. package/dist/chunks/src-CfAOde7C.mjs +5403 -0
  124. package/dist/chunks/src-CfAOde7C.mjs.map +1 -0
  125. package/dist/chunks/src-Cu3TxNob.mjs +783 -0
  126. package/dist/chunks/src-Cu3TxNob.mjs.map +1 -0
  127. package/dist/chunks/src-DcU4IXMe.mjs +117 -0
  128. package/dist/chunks/src-DcU4IXMe.mjs.map +1 -0
  129. package/dist/chunks/src-JxawBQBn.mjs +446 -0
  130. package/dist/chunks/src-JxawBQBn.mjs.map +1 -0
  131. package/dist/chunks/src-s7YRvk0t.mjs +2116 -0
  132. package/dist/chunks/src-s7YRvk0t.mjs.map +1 -0
  133. package/dist/chunks/status-SMjiOMYy.mjs +29 -0
  134. package/dist/chunks/status-SMjiOMYy.mjs.map +1 -0
  135. package/dist/chunks/tail-BuhT-2PH.mjs +25 -0
  136. package/dist/chunks/tail-BuhT-2PH.mjs.map +1 -0
  137. package/dist/chunks/update-BXIppsbi.mjs +16 -0
  138. package/dist/chunks/update-BXIppsbi.mjs.map +1 -0
  139. package/dist/cli.mjs +175 -0
  140. package/dist/cli.mjs.map +1 -0
  141. package/package.json +17 -32
  142. package/CHANGELOG.md +0 -1461
  143. package/bin/cli.js +0 -817
  144. package/bin/report.js +0 -141
  145. package/core/adapter/render.js +0 -415
  146. package/core/agents/implementer.template.md +0 -142
  147. package/core/agents/profile-reader.md +0 -50
  148. package/core/agents/release.md +0 -58
  149. package/core/agents/review.md +0 -179
  150. package/core/commands/cohorte-align-ds.md +0 -33
  151. package/core/commands/cohorte-audit.md +0 -58
  152. package/core/commands/cohorte-brainstorm.md +0 -70
  153. package/core/commands/cohorte-build.md +0 -219
  154. package/core/commands/cohorte-doctor.md +0 -194
  155. package/core/commands/cohorte-fix.md +0 -80
  156. package/core/commands/cohorte-fleet.md +0 -103
  157. package/core/commands/cohorte-init-pipeline.md +0 -31
  158. package/core/commands/cohorte-intake.md +0 -92
  159. package/core/commands/cohorte-patch.md +0 -118
  160. package/core/commands/cohorte-refactor.md +0 -59
  161. package/core/commands/cohorte-retro.md +0 -85
  162. package/core/commands/cohorte-review.md +0 -270
  163. package/core/commands/cohorte-ship.md +0 -122
  164. package/core/commands/cohorte-spec.md +0 -101
  165. package/core/commands/cohorte-update-pipeline.md +0 -165
  166. package/core/hooks/gate.py +0 -588
  167. package/core/runtimes/claude.json +0 -74
  168. package/core/runtimes/codex.json +0 -85
  169. package/core/runtimes/cursor.json +0 -76
  170. package/core/runtimes/gemini.json +0 -76
  171. package/core/runtimes/opencode.json +0 -73
  172. package/core/templates/agent-handoff.md +0 -34
  173. package/core/templates/brainstorm-return.md +0 -36
  174. package/core/templates/decisions.template.md +0 -42
  175. package/core/templates/design-brief.md +0 -44
  176. package/core/templates/patch.template.md +0 -86
  177. package/core/templates/pr-body.md +0 -25
  178. package/core/templates/review-feedback.md +0 -38
  179. package/core/templates/spec.template.md +0 -87
  180. package/core/templates/steps/init-pipeline/01-detect-stack.md +0 -44
  181. package/core/templates/steps/init-pipeline/02-interview-gaps.md +0 -55
  182. package/core/templates/steps/init-pipeline/03-draft-profile.md +0 -10
  183. package/core/templates/steps/init-pipeline/04-write-render.md +0 -145
  184. package/core/templates/steps/init-pipeline/05-report.md +0 -12
  185. package/core/workflows/audit.js +0 -240
  186. package/core/workflows/loop.js +0 -641
  187. package/core/workflows/refactor.js +0 -276
  188. package/core/workflows/review.js +0 -456
  189. package/install.ps1 +0 -103
  190. package/install.sh +0 -114
  191. package/lib/doctor.js +0 -534
  192. package/lib/runtime.js +0 -139
  193. package/lib/versions.js +0 -149
  194. package/lib/yaml.js +0 -129
  195. package/profile/PIPELINE.template.md +0 -259
  196. package/profile/SCHEMA.md +0 -735
  197. package/profile/cohorte.config.template.yaml +0 -43
  198. package/scripts/assert-gate-hook.mjs +0 -75
  199. package/scripts/kanban-move.sh +0 -313
  200. package/scripts/metrics/collect.mjs +0 -531
  201. package/scripts/metrics/prices.json +0 -42
  202. package/scripts/new-feature.sh.template +0 -98
  203. package/scripts/preflight.sh +0 -124
  204. package/scripts/remove-feature.sh.template +0 -56
  205. package/scripts/test-adapter.mjs +0 -437
  206. package/scripts/test-gate.mjs +0 -443
  207. package/scripts/test-kanban.mjs +0 -304
  208. package/scripts/test-lib.mjs +0 -356
  209. package/scripts/test-metrics.mjs +0 -156
  210. package/scripts/test-workflows.mjs +0 -758
  211. package/scripts/validate-core.mjs +0 -325
@@ -0,0 +1,2104 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://cohorte.dev/schemas/3/run-snapshot-manifest.schema.json",
4
+ "title": "Cohorte run snapshot manifest",
5
+ "type": "object",
6
+ "required": [
7
+ "manifestVersion",
8
+ "createdAt",
9
+ "app",
10
+ "packages",
11
+ "bundles",
12
+ "assets",
13
+ "schemas",
14
+ "prompts",
15
+ "skills",
16
+ "config",
17
+ "spec",
18
+ "environment",
19
+ "runtime"
20
+ ],
21
+ "properties": {
22
+ "manifestVersion": {
23
+ "type": "number",
24
+ "const": 1
25
+ },
26
+ "createdAt": {
27
+ "type": "string",
28
+ "format": "date-time",
29
+ "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}\\.[0-9]{3}Z$"
30
+ },
31
+ "app": {
32
+ "type": "object",
33
+ "required": [
34
+ "name",
35
+ "version",
36
+ "installDir",
37
+ "gitHash"
38
+ ],
39
+ "properties": {
40
+ "name": {
41
+ "type": "string",
42
+ "const": "cohorte"
43
+ },
44
+ "version": {
45
+ "type": "string"
46
+ },
47
+ "installDir": {
48
+ "type": "string"
49
+ },
50
+ "gitHash": {
51
+ "anyOf": [
52
+ {
53
+ "type": "string"
54
+ },
55
+ {
56
+ "type": "null"
57
+ }
58
+ ]
59
+ }
60
+ }
61
+ },
62
+ "packages": {
63
+ "type": "array",
64
+ "items": {
65
+ "type": "object",
66
+ "required": [
67
+ "name",
68
+ "version"
69
+ ],
70
+ "properties": {
71
+ "name": {
72
+ "type": "string"
73
+ },
74
+ "version": {
75
+ "type": "string"
76
+ }
77
+ }
78
+ }
79
+ },
80
+ "bundles": {
81
+ "type": "array",
82
+ "items": {
83
+ "type": "object",
84
+ "required": [
85
+ "file",
86
+ "sha256",
87
+ "bytes"
88
+ ],
89
+ "properties": {
90
+ "file": {
91
+ "type": "string"
92
+ },
93
+ "sha256": {
94
+ "type": "string",
95
+ "pattern": "^[0-9a-f]{64}$"
96
+ },
97
+ "bytes": {
98
+ "type": "integer",
99
+ "minimum": 0
100
+ }
101
+ }
102
+ }
103
+ },
104
+ "assets": {
105
+ "type": "object",
106
+ "required": [
107
+ "treeSha256",
108
+ "embeddedTreeSha256"
109
+ ],
110
+ "properties": {
111
+ "treeSha256": {
112
+ "type": "string",
113
+ "pattern": "^[0-9a-f]{64}$"
114
+ },
115
+ "embeddedTreeSha256": {
116
+ "type": "string",
117
+ "pattern": "^[0-9a-f]{64}$"
118
+ }
119
+ }
120
+ },
121
+ "schemas": {
122
+ "type": "object",
123
+ "required": [
124
+ "protocolVersion",
125
+ "stateSchemaVersion",
126
+ "configSchemaVersion",
127
+ "transitionTable"
128
+ ],
129
+ "properties": {
130
+ "protocolVersion": {
131
+ "type": "string",
132
+ "const": "1.0"
133
+ },
134
+ "stateSchemaVersion": {
135
+ "type": "integer",
136
+ "minimum": 0
137
+ },
138
+ "configSchemaVersion": {
139
+ "type": "integer",
140
+ "minimum": 0
141
+ },
142
+ "transitionTable": {
143
+ "type": "object",
144
+ "required": [
145
+ "profile",
146
+ "version"
147
+ ],
148
+ "properties": {
149
+ "profile": {
150
+ "type": "string",
151
+ "x-cohorte-known": [
152
+ "feature",
153
+ "bugfix",
154
+ "review"
155
+ ]
156
+ },
157
+ "version": {
158
+ "type": "integer",
159
+ "minimum": 0
160
+ }
161
+ }
162
+ }
163
+ }
164
+ },
165
+ "prompts": {
166
+ "type": "array",
167
+ "items": {
168
+ "type": "object",
169
+ "required": [
170
+ "id",
171
+ "source",
172
+ "logicalPath",
173
+ "sha256"
174
+ ],
175
+ "properties": {
176
+ "id": {
177
+ "type": "string"
178
+ },
179
+ "source": {
180
+ "anyOf": [
181
+ {
182
+ "type": "string",
183
+ "const": "shipped"
184
+ },
185
+ {
186
+ "type": "string",
187
+ "const": "project-override"
188
+ }
189
+ ]
190
+ },
191
+ "logicalPath": {
192
+ "type": "string"
193
+ },
194
+ "sha256": {
195
+ "type": "string",
196
+ "pattern": "^[0-9a-f]{64}$"
197
+ }
198
+ }
199
+ }
200
+ },
201
+ "skills": {
202
+ "type": "array",
203
+ "items": {
204
+ "type": "object",
205
+ "required": [
206
+ "id",
207
+ "version",
208
+ "source",
209
+ "sha256"
210
+ ],
211
+ "properties": {
212
+ "id": {
213
+ "type": "string"
214
+ },
215
+ "version": {
216
+ "type": "string"
217
+ },
218
+ "source": {
219
+ "anyOf": [
220
+ {
221
+ "type": "string",
222
+ "const": "shipped"
223
+ },
224
+ {
225
+ "type": "string",
226
+ "const": "project"
227
+ }
228
+ ]
229
+ },
230
+ "sha256": {
231
+ "type": "string",
232
+ "pattern": "^[0-9a-f]{64}$"
233
+ }
234
+ }
235
+ }
236
+ },
237
+ "config": {
238
+ "type": "object",
239
+ "required": [
240
+ "resolvedSha256",
241
+ "ownershipSha256",
242
+ "policySha256",
243
+ "conventionsSha256",
244
+ "trust"
245
+ ],
246
+ "properties": {
247
+ "resolvedSha256": {
248
+ "type": "string",
249
+ "pattern": "^[0-9a-f]{64}$"
250
+ },
251
+ "ownershipSha256": {
252
+ "type": "string",
253
+ "pattern": "^[0-9a-f]{64}$"
254
+ },
255
+ "policySha256": {
256
+ "type": "string",
257
+ "pattern": "^[0-9a-f]{64}$"
258
+ },
259
+ "conventionsSha256": {
260
+ "anyOf": [
261
+ {
262
+ "type": "string",
263
+ "pattern": "^[0-9a-f]{64}$"
264
+ },
265
+ {
266
+ "type": "null"
267
+ }
268
+ ]
269
+ },
270
+ "trust": {
271
+ "type": "object",
272
+ "required": [
273
+ "policySha256",
274
+ "loosenedKeys",
275
+ "grantedBy"
276
+ ],
277
+ "properties": {
278
+ "policySha256": {
279
+ "type": "string",
280
+ "pattern": "^[0-9a-f]{64}$"
281
+ },
282
+ "loosenedKeys": {
283
+ "type": "array",
284
+ "items": {
285
+ "type": "string"
286
+ }
287
+ },
288
+ "grantedBy": {
289
+ "type": "string"
290
+ }
291
+ }
292
+ }
293
+ }
294
+ },
295
+ "spec": {
296
+ "anyOf": [
297
+ {
298
+ "type": "object",
299
+ "required": [
300
+ "id",
301
+ "sha256"
302
+ ],
303
+ "properties": {
304
+ "id": {
305
+ "type": "string",
306
+ "pattern": "^[A-Za-z0-9_][A-Za-z0-9_.-]{0,127}$"
307
+ },
308
+ "sha256": {
309
+ "type": "string",
310
+ "pattern": "^[0-9a-f]{64}$"
311
+ }
312
+ }
313
+ },
314
+ {
315
+ "type": "null"
316
+ }
317
+ ]
318
+ },
319
+ "environment": {
320
+ "type": "object",
321
+ "required": [
322
+ "pinnedPath",
323
+ "platform",
324
+ "arch",
325
+ "sandbox",
326
+ "runtimeCapabilities"
327
+ ],
328
+ "properties": {
329
+ "pinnedPath": {
330
+ "type": "array",
331
+ "items": {
332
+ "type": "string"
333
+ }
334
+ },
335
+ "platform": {
336
+ "type": "string"
337
+ },
338
+ "arch": {
339
+ "type": "string"
340
+ },
341
+ "sandbox": {
342
+ "type": "object",
343
+ "required": [
344
+ "level",
345
+ "backend",
346
+ "filesystem",
347
+ "network",
348
+ "processEscape",
349
+ "envFiltering",
350
+ "timeout",
351
+ "outputCap",
352
+ "cpuTime",
353
+ "memory",
354
+ "processes",
355
+ "killTree",
356
+ "missing",
357
+ "notes"
358
+ ],
359
+ "properties": {
360
+ "level": {
361
+ "type": "string",
362
+ "enum": [
363
+ "L0-process",
364
+ "L1-os"
365
+ ]
366
+ },
367
+ "backend": {
368
+ "type": "string",
369
+ "enum": [
370
+ "none",
371
+ "seatbelt",
372
+ "bubblewrap"
373
+ ]
374
+ },
375
+ "filesystem": {
376
+ "type": "string",
377
+ "enum": [
378
+ "enforced",
379
+ "partial",
380
+ "advisory"
381
+ ]
382
+ },
383
+ "network": {
384
+ "type": "string",
385
+ "enum": [
386
+ "enforced-off",
387
+ "partial",
388
+ "unenforced"
389
+ ]
390
+ },
391
+ "processEscape": {
392
+ "type": "string",
393
+ "enum": [
394
+ "denied",
395
+ "partial",
396
+ "possible"
397
+ ]
398
+ },
399
+ "envFiltering": {
400
+ "type": "string",
401
+ "const": "enforced"
402
+ },
403
+ "timeout": {
404
+ "type": "string",
405
+ "const": "enforced"
406
+ },
407
+ "outputCap": {
408
+ "type": "string",
409
+ "const": "enforced"
410
+ },
411
+ "cpuTime": {
412
+ "type": "string",
413
+ "enum": [
414
+ "enforced",
415
+ "unavailable"
416
+ ]
417
+ },
418
+ "memory": {
419
+ "type": "string",
420
+ "enum": [
421
+ "enforced",
422
+ "node-only",
423
+ "unavailable"
424
+ ]
425
+ },
426
+ "processes": {
427
+ "type": "string",
428
+ "enum": [
429
+ "enforced",
430
+ "unavailable"
431
+ ]
432
+ },
433
+ "killTree": {
434
+ "type": "string",
435
+ "enum": [
436
+ "pid-namespace",
437
+ "process-group-with-sweep"
438
+ ]
439
+ },
440
+ "missing": {
441
+ "type": "array",
442
+ "items": {
443
+ "type": "string"
444
+ }
445
+ },
446
+ "notes": {
447
+ "type": "array",
448
+ "items": {
449
+ "type": "string"
450
+ }
451
+ }
452
+ }
453
+ },
454
+ "runtimeCapabilities": {
455
+ "type": "object",
456
+ "required": [
457
+ "contractVersion",
458
+ "toolExecution",
459
+ "streaming",
460
+ "thinkingStream",
461
+ "send",
462
+ "cancelCooperative",
463
+ "cancelHard",
464
+ "pause",
465
+ "continuationFromTranscript",
466
+ "processIsolation",
467
+ "envFiltering",
468
+ "brainSandbox",
469
+ "resourceLimits",
470
+ "budgetEnforcement",
471
+ "hiddenModelCalls",
472
+ "usageReporting",
473
+ "effectiveModelReporting",
474
+ "quotaReporting",
475
+ "authStatusWithoutSecret",
476
+ "subscriptionModeAssertion",
477
+ "systemPromptExact",
478
+ "runtimePinning",
479
+ "platforms",
480
+ "hints"
481
+ ],
482
+ "properties": {
483
+ "contractVersion": {
484
+ "type": "string",
485
+ "const": "1"
486
+ },
487
+ "toolExecution": {
488
+ "type": "string",
489
+ "const": "host-delegated"
490
+ },
491
+ "streaming": {
492
+ "anyOf": [
493
+ {
494
+ "type": "object",
495
+ "required": [
496
+ "value"
497
+ ],
498
+ "properties": {
499
+ "value": {
500
+ "type": "string",
501
+ "const": "yes"
502
+ }
503
+ }
504
+ },
505
+ {
506
+ "type": "object",
507
+ "required": [
508
+ "value",
509
+ "why"
510
+ ],
511
+ "properties": {
512
+ "value": {
513
+ "type": "string",
514
+ "const": "no"
515
+ },
516
+ "why": {
517
+ "type": "string"
518
+ }
519
+ }
520
+ },
521
+ {
522
+ "type": "object",
523
+ "required": [
524
+ "value",
525
+ "why"
526
+ ],
527
+ "properties": {
528
+ "value": {
529
+ "type": "string",
530
+ "const": "partial"
531
+ },
532
+ "why": {
533
+ "type": "string"
534
+ }
535
+ }
536
+ }
537
+ ]
538
+ },
539
+ "thinkingStream": {
540
+ "anyOf": [
541
+ {
542
+ "type": "object",
543
+ "required": [
544
+ "value"
545
+ ],
546
+ "properties": {
547
+ "value": {
548
+ "type": "string",
549
+ "const": "yes"
550
+ }
551
+ }
552
+ },
553
+ {
554
+ "type": "object",
555
+ "required": [
556
+ "value",
557
+ "why"
558
+ ],
559
+ "properties": {
560
+ "value": {
561
+ "type": "string",
562
+ "const": "no"
563
+ },
564
+ "why": {
565
+ "type": "string"
566
+ }
567
+ }
568
+ },
569
+ {
570
+ "type": "object",
571
+ "required": [
572
+ "value",
573
+ "why"
574
+ ],
575
+ "properties": {
576
+ "value": {
577
+ "type": "string",
578
+ "const": "partial"
579
+ },
580
+ "why": {
581
+ "type": "string"
582
+ }
583
+ }
584
+ }
585
+ ]
586
+ },
587
+ "send": {
588
+ "type": "object",
589
+ "required": [
590
+ "steer",
591
+ "followUp"
592
+ ],
593
+ "properties": {
594
+ "steer": {
595
+ "anyOf": [
596
+ {
597
+ "type": "object",
598
+ "required": [
599
+ "value"
600
+ ],
601
+ "properties": {
602
+ "value": {
603
+ "type": "string",
604
+ "const": "yes"
605
+ }
606
+ }
607
+ },
608
+ {
609
+ "type": "object",
610
+ "required": [
611
+ "value",
612
+ "why"
613
+ ],
614
+ "properties": {
615
+ "value": {
616
+ "type": "string",
617
+ "const": "no"
618
+ },
619
+ "why": {
620
+ "type": "string"
621
+ }
622
+ }
623
+ },
624
+ {
625
+ "type": "object",
626
+ "required": [
627
+ "value",
628
+ "why"
629
+ ],
630
+ "properties": {
631
+ "value": {
632
+ "type": "string",
633
+ "const": "partial"
634
+ },
635
+ "why": {
636
+ "type": "string"
637
+ }
638
+ }
639
+ }
640
+ ]
641
+ },
642
+ "followUp": {
643
+ "anyOf": [
644
+ {
645
+ "type": "object",
646
+ "required": [
647
+ "value"
648
+ ],
649
+ "properties": {
650
+ "value": {
651
+ "type": "string",
652
+ "const": "yes"
653
+ }
654
+ }
655
+ },
656
+ {
657
+ "type": "object",
658
+ "required": [
659
+ "value",
660
+ "why"
661
+ ],
662
+ "properties": {
663
+ "value": {
664
+ "type": "string",
665
+ "const": "no"
666
+ },
667
+ "why": {
668
+ "type": "string"
669
+ }
670
+ }
671
+ },
672
+ {
673
+ "type": "object",
674
+ "required": [
675
+ "value",
676
+ "why"
677
+ ],
678
+ "properties": {
679
+ "value": {
680
+ "type": "string",
681
+ "const": "partial"
682
+ },
683
+ "why": {
684
+ "type": "string"
685
+ }
686
+ }
687
+ }
688
+ ]
689
+ }
690
+ }
691
+ },
692
+ "cancelCooperative": {
693
+ "anyOf": [
694
+ {
695
+ "type": "object",
696
+ "required": [
697
+ "value"
698
+ ],
699
+ "properties": {
700
+ "value": {
701
+ "type": "string",
702
+ "const": "yes"
703
+ }
704
+ }
705
+ },
706
+ {
707
+ "type": "object",
708
+ "required": [
709
+ "value",
710
+ "why"
711
+ ],
712
+ "properties": {
713
+ "value": {
714
+ "type": "string",
715
+ "const": "no"
716
+ },
717
+ "why": {
718
+ "type": "string"
719
+ }
720
+ }
721
+ },
722
+ {
723
+ "type": "object",
724
+ "required": [
725
+ "value",
726
+ "why"
727
+ ],
728
+ "properties": {
729
+ "value": {
730
+ "type": "string",
731
+ "const": "partial"
732
+ },
733
+ "why": {
734
+ "type": "string"
735
+ }
736
+ }
737
+ }
738
+ ]
739
+ },
740
+ "cancelHard": {
741
+ "anyOf": [
742
+ {
743
+ "type": "object",
744
+ "required": [
745
+ "value"
746
+ ],
747
+ "properties": {
748
+ "value": {
749
+ "type": "string",
750
+ "const": "yes"
751
+ }
752
+ }
753
+ },
754
+ {
755
+ "type": "object",
756
+ "required": [
757
+ "value",
758
+ "why"
759
+ ],
760
+ "properties": {
761
+ "value": {
762
+ "type": "string",
763
+ "const": "no"
764
+ },
765
+ "why": {
766
+ "type": "string"
767
+ }
768
+ }
769
+ },
770
+ {
771
+ "type": "object",
772
+ "required": [
773
+ "value",
774
+ "why"
775
+ ],
776
+ "properties": {
777
+ "value": {
778
+ "type": "string",
779
+ "const": "partial"
780
+ },
781
+ "why": {
782
+ "type": "string"
783
+ }
784
+ }
785
+ }
786
+ ]
787
+ },
788
+ "pause": {
789
+ "type": "object",
790
+ "required": [
791
+ "toolBoundary",
792
+ "modelBoundary"
793
+ ],
794
+ "properties": {
795
+ "toolBoundary": {
796
+ "anyOf": [
797
+ {
798
+ "type": "object",
799
+ "required": [
800
+ "value"
801
+ ],
802
+ "properties": {
803
+ "value": {
804
+ "type": "string",
805
+ "const": "yes"
806
+ }
807
+ }
808
+ },
809
+ {
810
+ "type": "object",
811
+ "required": [
812
+ "value",
813
+ "why"
814
+ ],
815
+ "properties": {
816
+ "value": {
817
+ "type": "string",
818
+ "const": "no"
819
+ },
820
+ "why": {
821
+ "type": "string"
822
+ }
823
+ }
824
+ },
825
+ {
826
+ "type": "object",
827
+ "required": [
828
+ "value",
829
+ "why"
830
+ ],
831
+ "properties": {
832
+ "value": {
833
+ "type": "string",
834
+ "const": "partial"
835
+ },
836
+ "why": {
837
+ "type": "string"
838
+ }
839
+ }
840
+ }
841
+ ]
842
+ },
843
+ "modelBoundary": {
844
+ "anyOf": [
845
+ {
846
+ "type": "object",
847
+ "required": [
848
+ "value"
849
+ ],
850
+ "properties": {
851
+ "value": {
852
+ "type": "string",
853
+ "const": "yes"
854
+ }
855
+ }
856
+ },
857
+ {
858
+ "type": "object",
859
+ "required": [
860
+ "value",
861
+ "why"
862
+ ],
863
+ "properties": {
864
+ "value": {
865
+ "type": "string",
866
+ "const": "no"
867
+ },
868
+ "why": {
869
+ "type": "string"
870
+ }
871
+ }
872
+ },
873
+ {
874
+ "type": "object",
875
+ "required": [
876
+ "value",
877
+ "why"
878
+ ],
879
+ "properties": {
880
+ "value": {
881
+ "type": "string",
882
+ "const": "partial"
883
+ },
884
+ "why": {
885
+ "type": "string"
886
+ }
887
+ }
888
+ }
889
+ ]
890
+ }
891
+ }
892
+ },
893
+ "continuationFromTranscript": {
894
+ "anyOf": [
895
+ {
896
+ "type": "object",
897
+ "required": [
898
+ "value"
899
+ ],
900
+ "properties": {
901
+ "value": {
902
+ "type": "string",
903
+ "const": "yes"
904
+ }
905
+ }
906
+ },
907
+ {
908
+ "type": "object",
909
+ "required": [
910
+ "value",
911
+ "why"
912
+ ],
913
+ "properties": {
914
+ "value": {
915
+ "type": "string",
916
+ "const": "no"
917
+ },
918
+ "why": {
919
+ "type": "string"
920
+ }
921
+ }
922
+ },
923
+ {
924
+ "type": "object",
925
+ "required": [
926
+ "value",
927
+ "why"
928
+ ],
929
+ "properties": {
930
+ "value": {
931
+ "type": "string",
932
+ "const": "partial"
933
+ },
934
+ "why": {
935
+ "type": "string"
936
+ }
937
+ }
938
+ }
939
+ ]
940
+ },
941
+ "processIsolation": {
942
+ "anyOf": [
943
+ {
944
+ "type": "object",
945
+ "required": [
946
+ "value"
947
+ ],
948
+ "properties": {
949
+ "value": {
950
+ "type": "string",
951
+ "const": "yes"
952
+ }
953
+ }
954
+ },
955
+ {
956
+ "type": "object",
957
+ "required": [
958
+ "value",
959
+ "why"
960
+ ],
961
+ "properties": {
962
+ "value": {
963
+ "type": "string",
964
+ "const": "no"
965
+ },
966
+ "why": {
967
+ "type": "string"
968
+ }
969
+ }
970
+ },
971
+ {
972
+ "type": "object",
973
+ "required": [
974
+ "value",
975
+ "why"
976
+ ],
977
+ "properties": {
978
+ "value": {
979
+ "type": "string",
980
+ "const": "partial"
981
+ },
982
+ "why": {
983
+ "type": "string"
984
+ }
985
+ }
986
+ }
987
+ ]
988
+ },
989
+ "envFiltering": {
990
+ "anyOf": [
991
+ {
992
+ "type": "object",
993
+ "required": [
994
+ "value"
995
+ ],
996
+ "properties": {
997
+ "value": {
998
+ "type": "string",
999
+ "const": "yes"
1000
+ }
1001
+ }
1002
+ },
1003
+ {
1004
+ "type": "object",
1005
+ "required": [
1006
+ "value",
1007
+ "why"
1008
+ ],
1009
+ "properties": {
1010
+ "value": {
1011
+ "type": "string",
1012
+ "const": "no"
1013
+ },
1014
+ "why": {
1015
+ "type": "string"
1016
+ }
1017
+ }
1018
+ },
1019
+ {
1020
+ "type": "object",
1021
+ "required": [
1022
+ "value",
1023
+ "why"
1024
+ ],
1025
+ "properties": {
1026
+ "value": {
1027
+ "type": "string",
1028
+ "const": "partial"
1029
+ },
1030
+ "why": {
1031
+ "type": "string"
1032
+ }
1033
+ }
1034
+ }
1035
+ ]
1036
+ },
1037
+ "brainSandbox": {
1038
+ "anyOf": [
1039
+ {
1040
+ "type": "object",
1041
+ "required": [
1042
+ "value"
1043
+ ],
1044
+ "properties": {
1045
+ "value": {
1046
+ "type": "string",
1047
+ "const": "yes"
1048
+ }
1049
+ }
1050
+ },
1051
+ {
1052
+ "type": "object",
1053
+ "required": [
1054
+ "value",
1055
+ "why"
1056
+ ],
1057
+ "properties": {
1058
+ "value": {
1059
+ "type": "string",
1060
+ "const": "no"
1061
+ },
1062
+ "why": {
1063
+ "type": "string"
1064
+ }
1065
+ }
1066
+ },
1067
+ {
1068
+ "type": "object",
1069
+ "required": [
1070
+ "value",
1071
+ "why"
1072
+ ],
1073
+ "properties": {
1074
+ "value": {
1075
+ "type": "string",
1076
+ "const": "partial"
1077
+ },
1078
+ "why": {
1079
+ "type": "string"
1080
+ }
1081
+ }
1082
+ }
1083
+ ]
1084
+ },
1085
+ "resourceLimits": {
1086
+ "anyOf": [
1087
+ {
1088
+ "type": "object",
1089
+ "required": [
1090
+ "value"
1091
+ ],
1092
+ "properties": {
1093
+ "value": {
1094
+ "type": "string",
1095
+ "const": "yes"
1096
+ }
1097
+ }
1098
+ },
1099
+ {
1100
+ "type": "object",
1101
+ "required": [
1102
+ "value",
1103
+ "why"
1104
+ ],
1105
+ "properties": {
1106
+ "value": {
1107
+ "type": "string",
1108
+ "const": "no"
1109
+ },
1110
+ "why": {
1111
+ "type": "string"
1112
+ }
1113
+ }
1114
+ },
1115
+ {
1116
+ "type": "object",
1117
+ "required": [
1118
+ "value",
1119
+ "why"
1120
+ ],
1121
+ "properties": {
1122
+ "value": {
1123
+ "type": "string",
1124
+ "const": "partial"
1125
+ },
1126
+ "why": {
1127
+ "type": "string"
1128
+ }
1129
+ }
1130
+ }
1131
+ ]
1132
+ },
1133
+ "budgetEnforcement": {
1134
+ "type": "object",
1135
+ "required": [
1136
+ "turns",
1137
+ "modelRequests",
1138
+ "tokens",
1139
+ "context",
1140
+ "wallClock",
1141
+ "outputTokensPerRequest"
1142
+ ],
1143
+ "properties": {
1144
+ "turns": {
1145
+ "anyOf": [
1146
+ {
1147
+ "type": "object",
1148
+ "required": [
1149
+ "value"
1150
+ ],
1151
+ "properties": {
1152
+ "value": {
1153
+ "type": "string",
1154
+ "const": "yes"
1155
+ }
1156
+ }
1157
+ },
1158
+ {
1159
+ "type": "object",
1160
+ "required": [
1161
+ "value",
1162
+ "why"
1163
+ ],
1164
+ "properties": {
1165
+ "value": {
1166
+ "type": "string",
1167
+ "const": "no"
1168
+ },
1169
+ "why": {
1170
+ "type": "string"
1171
+ }
1172
+ }
1173
+ },
1174
+ {
1175
+ "type": "object",
1176
+ "required": [
1177
+ "value",
1178
+ "why"
1179
+ ],
1180
+ "properties": {
1181
+ "value": {
1182
+ "type": "string",
1183
+ "const": "partial"
1184
+ },
1185
+ "why": {
1186
+ "type": "string"
1187
+ }
1188
+ }
1189
+ }
1190
+ ]
1191
+ },
1192
+ "modelRequests": {
1193
+ "anyOf": [
1194
+ {
1195
+ "type": "object",
1196
+ "required": [
1197
+ "value"
1198
+ ],
1199
+ "properties": {
1200
+ "value": {
1201
+ "type": "string",
1202
+ "const": "yes"
1203
+ }
1204
+ }
1205
+ },
1206
+ {
1207
+ "type": "object",
1208
+ "required": [
1209
+ "value",
1210
+ "why"
1211
+ ],
1212
+ "properties": {
1213
+ "value": {
1214
+ "type": "string",
1215
+ "const": "no"
1216
+ },
1217
+ "why": {
1218
+ "type": "string"
1219
+ }
1220
+ }
1221
+ },
1222
+ {
1223
+ "type": "object",
1224
+ "required": [
1225
+ "value",
1226
+ "why"
1227
+ ],
1228
+ "properties": {
1229
+ "value": {
1230
+ "type": "string",
1231
+ "const": "partial"
1232
+ },
1233
+ "why": {
1234
+ "type": "string"
1235
+ }
1236
+ }
1237
+ }
1238
+ ]
1239
+ },
1240
+ "tokens": {
1241
+ "anyOf": [
1242
+ {
1243
+ "type": "object",
1244
+ "required": [
1245
+ "value"
1246
+ ],
1247
+ "properties": {
1248
+ "value": {
1249
+ "type": "string",
1250
+ "const": "yes"
1251
+ }
1252
+ }
1253
+ },
1254
+ {
1255
+ "type": "object",
1256
+ "required": [
1257
+ "value",
1258
+ "why"
1259
+ ],
1260
+ "properties": {
1261
+ "value": {
1262
+ "type": "string",
1263
+ "const": "no"
1264
+ },
1265
+ "why": {
1266
+ "type": "string"
1267
+ }
1268
+ }
1269
+ },
1270
+ {
1271
+ "type": "object",
1272
+ "required": [
1273
+ "value",
1274
+ "why"
1275
+ ],
1276
+ "properties": {
1277
+ "value": {
1278
+ "type": "string",
1279
+ "const": "partial"
1280
+ },
1281
+ "why": {
1282
+ "type": "string"
1283
+ }
1284
+ }
1285
+ }
1286
+ ]
1287
+ },
1288
+ "context": {
1289
+ "anyOf": [
1290
+ {
1291
+ "type": "object",
1292
+ "required": [
1293
+ "value"
1294
+ ],
1295
+ "properties": {
1296
+ "value": {
1297
+ "type": "string",
1298
+ "const": "yes"
1299
+ }
1300
+ }
1301
+ },
1302
+ {
1303
+ "type": "object",
1304
+ "required": [
1305
+ "value",
1306
+ "why"
1307
+ ],
1308
+ "properties": {
1309
+ "value": {
1310
+ "type": "string",
1311
+ "const": "no"
1312
+ },
1313
+ "why": {
1314
+ "type": "string"
1315
+ }
1316
+ }
1317
+ },
1318
+ {
1319
+ "type": "object",
1320
+ "required": [
1321
+ "value",
1322
+ "why"
1323
+ ],
1324
+ "properties": {
1325
+ "value": {
1326
+ "type": "string",
1327
+ "const": "partial"
1328
+ },
1329
+ "why": {
1330
+ "type": "string"
1331
+ }
1332
+ }
1333
+ }
1334
+ ]
1335
+ },
1336
+ "wallClock": {
1337
+ "anyOf": [
1338
+ {
1339
+ "type": "object",
1340
+ "required": [
1341
+ "value"
1342
+ ],
1343
+ "properties": {
1344
+ "value": {
1345
+ "type": "string",
1346
+ "const": "yes"
1347
+ }
1348
+ }
1349
+ },
1350
+ {
1351
+ "type": "object",
1352
+ "required": [
1353
+ "value",
1354
+ "why"
1355
+ ],
1356
+ "properties": {
1357
+ "value": {
1358
+ "type": "string",
1359
+ "const": "no"
1360
+ },
1361
+ "why": {
1362
+ "type": "string"
1363
+ }
1364
+ }
1365
+ },
1366
+ {
1367
+ "type": "object",
1368
+ "required": [
1369
+ "value",
1370
+ "why"
1371
+ ],
1372
+ "properties": {
1373
+ "value": {
1374
+ "type": "string",
1375
+ "const": "partial"
1376
+ },
1377
+ "why": {
1378
+ "type": "string"
1379
+ }
1380
+ }
1381
+ }
1382
+ ]
1383
+ },
1384
+ "outputTokensPerRequest": {
1385
+ "anyOf": [
1386
+ {
1387
+ "type": "object",
1388
+ "required": [
1389
+ "value"
1390
+ ],
1391
+ "properties": {
1392
+ "value": {
1393
+ "type": "string",
1394
+ "const": "yes"
1395
+ }
1396
+ }
1397
+ },
1398
+ {
1399
+ "type": "object",
1400
+ "required": [
1401
+ "value",
1402
+ "why"
1403
+ ],
1404
+ "properties": {
1405
+ "value": {
1406
+ "type": "string",
1407
+ "const": "no"
1408
+ },
1409
+ "why": {
1410
+ "type": "string"
1411
+ }
1412
+ }
1413
+ },
1414
+ {
1415
+ "type": "object",
1416
+ "required": [
1417
+ "value",
1418
+ "why"
1419
+ ],
1420
+ "properties": {
1421
+ "value": {
1422
+ "type": "string",
1423
+ "const": "partial"
1424
+ },
1425
+ "why": {
1426
+ "type": "string"
1427
+ }
1428
+ }
1429
+ }
1430
+ ]
1431
+ }
1432
+ }
1433
+ },
1434
+ "hiddenModelCalls": {
1435
+ "anyOf": [
1436
+ {
1437
+ "type": "object",
1438
+ "required": [
1439
+ "value"
1440
+ ],
1441
+ "properties": {
1442
+ "value": {
1443
+ "type": "string",
1444
+ "const": "yes"
1445
+ }
1446
+ }
1447
+ },
1448
+ {
1449
+ "type": "object",
1450
+ "required": [
1451
+ "value",
1452
+ "why"
1453
+ ],
1454
+ "properties": {
1455
+ "value": {
1456
+ "type": "string",
1457
+ "const": "no"
1458
+ },
1459
+ "why": {
1460
+ "type": "string"
1461
+ }
1462
+ }
1463
+ },
1464
+ {
1465
+ "type": "object",
1466
+ "required": [
1467
+ "value",
1468
+ "why"
1469
+ ],
1470
+ "properties": {
1471
+ "value": {
1472
+ "type": "string",
1473
+ "const": "partial"
1474
+ },
1475
+ "why": {
1476
+ "type": "string"
1477
+ }
1478
+ }
1479
+ }
1480
+ ]
1481
+ },
1482
+ "usageReporting": {
1483
+ "anyOf": [
1484
+ {
1485
+ "type": "object",
1486
+ "required": [
1487
+ "value"
1488
+ ],
1489
+ "properties": {
1490
+ "value": {
1491
+ "type": "string",
1492
+ "const": "yes"
1493
+ }
1494
+ }
1495
+ },
1496
+ {
1497
+ "type": "object",
1498
+ "required": [
1499
+ "value",
1500
+ "why"
1501
+ ],
1502
+ "properties": {
1503
+ "value": {
1504
+ "type": "string",
1505
+ "const": "no"
1506
+ },
1507
+ "why": {
1508
+ "type": "string"
1509
+ }
1510
+ }
1511
+ },
1512
+ {
1513
+ "type": "object",
1514
+ "required": [
1515
+ "value",
1516
+ "why"
1517
+ ],
1518
+ "properties": {
1519
+ "value": {
1520
+ "type": "string",
1521
+ "const": "partial"
1522
+ },
1523
+ "why": {
1524
+ "type": "string"
1525
+ }
1526
+ }
1527
+ }
1528
+ ]
1529
+ },
1530
+ "effectiveModelReporting": {
1531
+ "anyOf": [
1532
+ {
1533
+ "type": "object",
1534
+ "required": [
1535
+ "value"
1536
+ ],
1537
+ "properties": {
1538
+ "value": {
1539
+ "type": "string",
1540
+ "const": "yes"
1541
+ }
1542
+ }
1543
+ },
1544
+ {
1545
+ "type": "object",
1546
+ "required": [
1547
+ "value",
1548
+ "why"
1549
+ ],
1550
+ "properties": {
1551
+ "value": {
1552
+ "type": "string",
1553
+ "const": "no"
1554
+ },
1555
+ "why": {
1556
+ "type": "string"
1557
+ }
1558
+ }
1559
+ },
1560
+ {
1561
+ "type": "object",
1562
+ "required": [
1563
+ "value",
1564
+ "why"
1565
+ ],
1566
+ "properties": {
1567
+ "value": {
1568
+ "type": "string",
1569
+ "const": "partial"
1570
+ },
1571
+ "why": {
1572
+ "type": "string"
1573
+ }
1574
+ }
1575
+ }
1576
+ ]
1577
+ },
1578
+ "quotaReporting": {
1579
+ "anyOf": [
1580
+ {
1581
+ "type": "object",
1582
+ "required": [
1583
+ "value"
1584
+ ],
1585
+ "properties": {
1586
+ "value": {
1587
+ "type": "string",
1588
+ "const": "yes"
1589
+ }
1590
+ }
1591
+ },
1592
+ {
1593
+ "type": "object",
1594
+ "required": [
1595
+ "value",
1596
+ "why"
1597
+ ],
1598
+ "properties": {
1599
+ "value": {
1600
+ "type": "string",
1601
+ "const": "no"
1602
+ },
1603
+ "why": {
1604
+ "type": "string"
1605
+ }
1606
+ }
1607
+ },
1608
+ {
1609
+ "type": "object",
1610
+ "required": [
1611
+ "value",
1612
+ "why"
1613
+ ],
1614
+ "properties": {
1615
+ "value": {
1616
+ "type": "string",
1617
+ "const": "partial"
1618
+ },
1619
+ "why": {
1620
+ "type": "string"
1621
+ }
1622
+ }
1623
+ }
1624
+ ]
1625
+ },
1626
+ "authStatusWithoutSecret": {
1627
+ "anyOf": [
1628
+ {
1629
+ "type": "object",
1630
+ "required": [
1631
+ "value"
1632
+ ],
1633
+ "properties": {
1634
+ "value": {
1635
+ "type": "string",
1636
+ "const": "yes"
1637
+ }
1638
+ }
1639
+ },
1640
+ {
1641
+ "type": "object",
1642
+ "required": [
1643
+ "value",
1644
+ "why"
1645
+ ],
1646
+ "properties": {
1647
+ "value": {
1648
+ "type": "string",
1649
+ "const": "no"
1650
+ },
1651
+ "why": {
1652
+ "type": "string"
1653
+ }
1654
+ }
1655
+ },
1656
+ {
1657
+ "type": "object",
1658
+ "required": [
1659
+ "value",
1660
+ "why"
1661
+ ],
1662
+ "properties": {
1663
+ "value": {
1664
+ "type": "string",
1665
+ "const": "partial"
1666
+ },
1667
+ "why": {
1668
+ "type": "string"
1669
+ }
1670
+ }
1671
+ }
1672
+ ]
1673
+ },
1674
+ "subscriptionModeAssertion": {
1675
+ "anyOf": [
1676
+ {
1677
+ "type": "object",
1678
+ "required": [
1679
+ "value"
1680
+ ],
1681
+ "properties": {
1682
+ "value": {
1683
+ "type": "string",
1684
+ "const": "yes"
1685
+ }
1686
+ }
1687
+ },
1688
+ {
1689
+ "type": "object",
1690
+ "required": [
1691
+ "value",
1692
+ "why"
1693
+ ],
1694
+ "properties": {
1695
+ "value": {
1696
+ "type": "string",
1697
+ "const": "no"
1698
+ },
1699
+ "why": {
1700
+ "type": "string"
1701
+ }
1702
+ }
1703
+ },
1704
+ {
1705
+ "type": "object",
1706
+ "required": [
1707
+ "value",
1708
+ "why"
1709
+ ],
1710
+ "properties": {
1711
+ "value": {
1712
+ "type": "string",
1713
+ "const": "partial"
1714
+ },
1715
+ "why": {
1716
+ "type": "string"
1717
+ }
1718
+ }
1719
+ }
1720
+ ]
1721
+ },
1722
+ "systemPromptExact": {
1723
+ "anyOf": [
1724
+ {
1725
+ "type": "object",
1726
+ "required": [
1727
+ "value"
1728
+ ],
1729
+ "properties": {
1730
+ "value": {
1731
+ "type": "string",
1732
+ "const": "yes"
1733
+ }
1734
+ }
1735
+ },
1736
+ {
1737
+ "type": "object",
1738
+ "required": [
1739
+ "value",
1740
+ "why"
1741
+ ],
1742
+ "properties": {
1743
+ "value": {
1744
+ "type": "string",
1745
+ "const": "no"
1746
+ },
1747
+ "why": {
1748
+ "type": "string"
1749
+ }
1750
+ }
1751
+ },
1752
+ {
1753
+ "type": "object",
1754
+ "required": [
1755
+ "value",
1756
+ "why"
1757
+ ],
1758
+ "properties": {
1759
+ "value": {
1760
+ "type": "string",
1761
+ "const": "partial"
1762
+ },
1763
+ "why": {
1764
+ "type": "string"
1765
+ }
1766
+ }
1767
+ }
1768
+ ]
1769
+ },
1770
+ "runtimePinning": {
1771
+ "anyOf": [
1772
+ {
1773
+ "type": "object",
1774
+ "required": [
1775
+ "value"
1776
+ ],
1777
+ "properties": {
1778
+ "value": {
1779
+ "type": "string",
1780
+ "const": "yes"
1781
+ }
1782
+ }
1783
+ },
1784
+ {
1785
+ "type": "object",
1786
+ "required": [
1787
+ "value",
1788
+ "why"
1789
+ ],
1790
+ "properties": {
1791
+ "value": {
1792
+ "type": "string",
1793
+ "const": "no"
1794
+ },
1795
+ "why": {
1796
+ "type": "string"
1797
+ }
1798
+ }
1799
+ },
1800
+ {
1801
+ "type": "object",
1802
+ "required": [
1803
+ "value",
1804
+ "why"
1805
+ ],
1806
+ "properties": {
1807
+ "value": {
1808
+ "type": "string",
1809
+ "const": "partial"
1810
+ },
1811
+ "why": {
1812
+ "type": "string"
1813
+ }
1814
+ }
1815
+ }
1816
+ ]
1817
+ },
1818
+ "platforms": {
1819
+ "type": "object",
1820
+ "required": [
1821
+ "darwin",
1822
+ "linux",
1823
+ "win32"
1824
+ ],
1825
+ "properties": {
1826
+ "darwin": {
1827
+ "anyOf": [
1828
+ {
1829
+ "type": "object",
1830
+ "required": [
1831
+ "value"
1832
+ ],
1833
+ "properties": {
1834
+ "value": {
1835
+ "type": "string",
1836
+ "const": "yes"
1837
+ }
1838
+ }
1839
+ },
1840
+ {
1841
+ "type": "object",
1842
+ "required": [
1843
+ "value",
1844
+ "why"
1845
+ ],
1846
+ "properties": {
1847
+ "value": {
1848
+ "type": "string",
1849
+ "const": "no"
1850
+ },
1851
+ "why": {
1852
+ "type": "string"
1853
+ }
1854
+ }
1855
+ },
1856
+ {
1857
+ "type": "object",
1858
+ "required": [
1859
+ "value",
1860
+ "why"
1861
+ ],
1862
+ "properties": {
1863
+ "value": {
1864
+ "type": "string",
1865
+ "const": "partial"
1866
+ },
1867
+ "why": {
1868
+ "type": "string"
1869
+ }
1870
+ }
1871
+ }
1872
+ ]
1873
+ },
1874
+ "linux": {
1875
+ "anyOf": [
1876
+ {
1877
+ "type": "object",
1878
+ "required": [
1879
+ "value"
1880
+ ],
1881
+ "properties": {
1882
+ "value": {
1883
+ "type": "string",
1884
+ "const": "yes"
1885
+ }
1886
+ }
1887
+ },
1888
+ {
1889
+ "type": "object",
1890
+ "required": [
1891
+ "value",
1892
+ "why"
1893
+ ],
1894
+ "properties": {
1895
+ "value": {
1896
+ "type": "string",
1897
+ "const": "no"
1898
+ },
1899
+ "why": {
1900
+ "type": "string"
1901
+ }
1902
+ }
1903
+ },
1904
+ {
1905
+ "type": "object",
1906
+ "required": [
1907
+ "value",
1908
+ "why"
1909
+ ],
1910
+ "properties": {
1911
+ "value": {
1912
+ "type": "string",
1913
+ "const": "partial"
1914
+ },
1915
+ "why": {
1916
+ "type": "string"
1917
+ }
1918
+ }
1919
+ }
1920
+ ]
1921
+ },
1922
+ "win32": {
1923
+ "anyOf": [
1924
+ {
1925
+ "type": "object",
1926
+ "required": [
1927
+ "value"
1928
+ ],
1929
+ "properties": {
1930
+ "value": {
1931
+ "type": "string",
1932
+ "const": "yes"
1933
+ }
1934
+ }
1935
+ },
1936
+ {
1937
+ "type": "object",
1938
+ "required": [
1939
+ "value",
1940
+ "why"
1941
+ ],
1942
+ "properties": {
1943
+ "value": {
1944
+ "type": "string",
1945
+ "const": "no"
1946
+ },
1947
+ "why": {
1948
+ "type": "string"
1949
+ }
1950
+ }
1951
+ },
1952
+ {
1953
+ "type": "object",
1954
+ "required": [
1955
+ "value",
1956
+ "why"
1957
+ ],
1958
+ "properties": {
1959
+ "value": {
1960
+ "type": "string",
1961
+ "const": "partial"
1962
+ },
1963
+ "why": {
1964
+ "type": "string"
1965
+ }
1966
+ }
1967
+ }
1968
+ ]
1969
+ }
1970
+ }
1971
+ },
1972
+ "hints": {
1973
+ "type": "object",
1974
+ "required": [
1975
+ "memoryPerAgentMb",
1976
+ "coldStartMs",
1977
+ "maxConcurrentAgents"
1978
+ ],
1979
+ "properties": {
1980
+ "memoryPerAgentMb": {
1981
+ "type": "number",
1982
+ "minimum": 0
1983
+ },
1984
+ "coldStartMs": {
1985
+ "type": "number",
1986
+ "minimum": 0
1987
+ },
1988
+ "maxConcurrentAgents": {
1989
+ "type": "integer",
1990
+ "minimum": 1
1991
+ }
1992
+ }
1993
+ }
1994
+ }
1995
+ }
1996
+ }
1997
+ },
1998
+ "runtime": {
1999
+ "type": "object",
2000
+ "required": [
2001
+ "runtimeId",
2002
+ "adapterVersion",
2003
+ "engine",
2004
+ "node",
2005
+ "artifacts",
2006
+ "digest"
2007
+ ],
2008
+ "properties": {
2009
+ "runtimeId": {
2010
+ "type": "string"
2011
+ },
2012
+ "adapterVersion": {
2013
+ "type": "string"
2014
+ },
2015
+ "engine": {
2016
+ "anyOf": [
2017
+ {
2018
+ "type": "object",
2019
+ "required": [
2020
+ "name",
2021
+ "version"
2022
+ ],
2023
+ "properties": {
2024
+ "name": {
2025
+ "type": "string"
2026
+ },
2027
+ "version": {
2028
+ "type": "string"
2029
+ }
2030
+ }
2031
+ },
2032
+ {
2033
+ "type": "null"
2034
+ }
2035
+ ]
2036
+ },
2037
+ "node": {
2038
+ "type": "object",
2039
+ "required": [
2040
+ "version",
2041
+ "execPath"
2042
+ ],
2043
+ "properties": {
2044
+ "version": {
2045
+ "type": "string"
2046
+ },
2047
+ "execPath": {
2048
+ "type": "string"
2049
+ }
2050
+ }
2051
+ },
2052
+ "artifacts": {
2053
+ "type": "array",
2054
+ "items": {
2055
+ "type": "object",
2056
+ "required": [
2057
+ "role",
2058
+ "path",
2059
+ "sha256",
2060
+ "bytes"
2061
+ ],
2062
+ "properties": {
2063
+ "role": {
2064
+ "anyOf": [
2065
+ {
2066
+ "type": "string",
2067
+ "const": "agent-host-bundle"
2068
+ },
2069
+ {
2070
+ "type": "string",
2071
+ "const": "engine-package-tree"
2072
+ },
2073
+ {
2074
+ "type": "string",
2075
+ "const": "install-lock"
2076
+ }
2077
+ ]
2078
+ },
2079
+ "path": {
2080
+ "type": "string"
2081
+ },
2082
+ "sha256": {
2083
+ "type": "string",
2084
+ "pattern": "^[0-9a-f]{64}$"
2085
+ },
2086
+ "files": {
2087
+ "type": "integer",
2088
+ "minimum": 0
2089
+ },
2090
+ "bytes": {
2091
+ "type": "integer",
2092
+ "minimum": 0
2093
+ }
2094
+ }
2095
+ }
2096
+ },
2097
+ "digest": {
2098
+ "type": "string",
2099
+ "pattern": "^[0-9a-f]{64}$"
2100
+ }
2101
+ }
2102
+ }
2103
+ }
2104
+ }