@aiwg/cli 2026.10.1 → 2026.10.4

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 (361) hide show
  1. package/README.md +2 -2
  2. package/agentic/code/providers/capability-matrix.yaml +270 -0
  3. package/agentic/code/providers/model-capabilities.v1.json +3183 -24
  4. package/bin/aiwg.mjs +135 -47
  5. package/dist/src/a2a/codecs.js +9 -0
  6. package/dist/src/agents/grounding/knowledge-base.js +54 -6
  7. package/dist/src/artifacts/browser-export.js +6 -0
  8. package/dist/src/artifacts/checksum-manifest.js +1 -0
  9. package/dist/src/artifacts/citation-parser.js +173 -92
  10. package/dist/src/artifacts/citation-table-schema.js +59 -0
  11. package/dist/src/artifacts/cli.js +57 -18
  12. package/dist/src/artifacts/corpus-tools/snapshot.js +1 -1
  13. package/dist/src/artifacts/corpus-tools/vision-extract.js +107 -15
  14. package/dist/src/artifacts/corpus-views/ref-parser.js +3 -1
  15. package/dist/src/artifacts/corpus-views/renderers.js +3 -3
  16. package/dist/src/artifacts/discovery-eval.js +6 -4
  17. package/dist/src/artifacts/fortemi-core-query-adapter.js +36 -3
  18. package/dist/src/artifacts/fortemi-core-sync.js +166 -40
  19. package/dist/src/artifacts/framework-capabilities.js +171 -0
  20. package/dist/src/artifacts/framework-index-paths.js +73 -0
  21. package/dist/src/artifacts/framework-source-digest.js +75 -0
  22. package/dist/src/artifacts/index-builder.js +285 -131
  23. package/dist/src/artifacts/index-files.js +132 -18
  24. package/dist/src/artifacts/index-preparation.js +65 -0
  25. package/dist/src/artifacts/index-refresh.js +576 -0
  26. package/dist/src/artifacts/index-worker.mjs +9 -0
  27. package/dist/src/artifacts/prebuilt-build-lock.js +47 -4
  28. package/dist/src/artifacts/prebuilt-deployment.js +46 -0
  29. package/dist/src/artifacts/prebuilt-relations.js +80 -0
  30. package/dist/src/artifacts/query-engine.js +410 -88
  31. package/dist/src/artifacts/relations-builder.js +168 -0
  32. package/dist/src/artifacts/relations.js +148 -0
  33. package/dist/src/artifacts/repair.js +9 -4
  34. package/dist/src/artifacts/stats.js +5 -2
  35. package/dist/src/artifacts/types.js +30 -10
  36. package/dist/src/artifacts/watcher.js +1 -1
  37. package/dist/src/auth/credential-store.js +2 -1
  38. package/dist/src/catalog/cli.d.mts +5 -0
  39. package/dist/src/channel/manager.d.mts +20 -0
  40. package/dist/src/channel/manager.mjs +78 -12
  41. package/dist/src/cli/child-process-result.js +40 -0
  42. package/dist/src/cli/command-log.js +2 -3
  43. package/dist/src/cli/env.js +38 -16
  44. package/dist/src/cli/flag-parsing.js +236 -0
  45. package/dist/src/cli/handlers/artifacts.js +3 -0
  46. package/dist/src/cli/handlers/auth.js +3 -0
  47. package/dist/src/cli/handlers/decision.js +218 -5
  48. package/dist/src/cli/handlers/diagnose.js +13 -5
  49. package/dist/src/cli/handlers/effect.js +4 -2
  50. package/dist/src/cli/handlers/evidence.js +3 -0
  51. package/dist/src/cli/handlers/feedback.js +14 -5
  52. package/dist/src/cli/handlers/help.js +1 -0
  53. package/dist/src/cli/handlers/index.js +3 -1
  54. package/dist/src/cli/handlers/init.js +248 -30
  55. package/dist/src/cli/handlers/lint.js +5 -0
  56. package/dist/src/cli/handlers/mc.js +23 -0
  57. package/dist/src/cli/handlers/models.js +169 -10
  58. package/dist/src/cli/handlers/ralph-launcher.js +2 -0
  59. package/dist/src/cli/handlers/ralph.js +3 -0
  60. package/dist/src/cli/handlers/refresh.js +28 -0
  61. package/dist/src/cli/handlers/regenerate.js +14 -0
  62. package/dist/src/cli/handlers/resource-versions.js +3 -0
  63. package/dist/src/cli/handlers/rules.js +195 -0
  64. package/dist/src/cli/handlers/run.js +4 -0
  65. package/dist/src/cli/handlers/runtime-info.js +25 -11
  66. package/dist/src/cli/handlers/script-runner.js +19 -8
  67. package/dist/src/cli/handlers/session.js +406 -62
  68. package/dist/src/cli/handlers/sessions.js +243 -76
  69. package/dist/src/cli/handlers/setup-manifest.js +474 -79
  70. package/dist/src/cli/handlers/setup.js +180 -39
  71. package/dist/src/cli/handlers/steward.js +11 -0
  72. package/dist/src/cli/handlers/subcommands.js +60 -3
  73. package/dist/src/cli/handlers/team.js +18 -8
  74. package/dist/src/cli/handlers/uhp.js +3 -0
  75. package/dist/src/cli/handlers/use.js +307 -55
  76. package/dist/src/cli/handlers/utilities.js +125 -26
  77. package/dist/src/cli/handlers/version.js +8 -0
  78. package/dist/src/cli/prompt-utils.js +72 -0
  79. package/dist/src/cli/provider-resolution.js +11 -0
  80. package/dist/src/cli/router.js +15 -1
  81. package/dist/src/cli/services/deployment-verification.js +19 -9
  82. package/dist/src/cli/services/provider-prepare-coordinator.js +24 -0
  83. package/dist/src/cli/skill-usage.js +2 -3
  84. package/dist/src/config/aiwg-config.js +349 -35
  85. package/dist/src/config/cli.js +256 -23
  86. package/dist/src/config/decision-config.js +106 -0
  87. package/dist/src/config/dispatch-thresholds-runtime.d.mts +8 -0
  88. package/dist/src/config/dispatch-thresholds-runtime.mjs +38 -0
  89. package/dist/src/config/gitignore.js +50 -0
  90. package/dist/src/config/index-graph-overrides.js +36 -0
  91. package/dist/src/config/project-artifacts-health.d.mts +37 -0
  92. package/dist/src/config/project-artifacts-health.mjs +14 -3
  93. package/dist/src/config/project-artifacts-runtime.d.mts +16 -0
  94. package/dist/src/config/user-config-dir.d.mts +9 -0
  95. package/dist/src/config/user-config.js +38 -11
  96. package/dist/src/config/user-registry.js +23 -15
  97. package/dist/src/config/user-state.js +7 -0
  98. package/dist/src/decision/adapters/jev.js +75 -27
  99. package/dist/src/decision/ask.js +203 -43
  100. package/dist/src/decision/context-live-qualification.js +2 -2
  101. package/dist/src/decision/driver.js +14 -7
  102. package/dist/src/decision/ensemble/aggregate.js +23 -10
  103. package/dist/src/decision/ensemble-study/multifact-study.js +6 -2
  104. package/dist/src/decision/entry.js +25 -6
  105. package/dist/src/decision/graph-live-qualification.js +1 -1
  106. package/dist/src/decision/graph-run.js +9 -0
  107. package/dist/src/decision/heldout/collector.js +15 -14
  108. package/dist/src/decision/heldout/contract.js +30 -7
  109. package/dist/src/decision/index.js +1 -0
  110. package/dist/src/decision/interop.js +60 -8
  111. package/dist/src/decision/jev-credentials.js +15 -1
  112. package/dist/src/decision/ledger.js +942 -0
  113. package/dist/src/decision/offload-activation.js +137 -0
  114. package/dist/src/decision/offload.js +550 -0
  115. package/dist/src/decision/qualification/load.js +4 -6
  116. package/dist/src/decision/savings.js +28 -0
  117. package/dist/src/decision/validate.js +6 -3
  118. package/dist/src/effects/dispatch-verifier.js +252 -0
  119. package/dist/src/effects/index.js +1 -0
  120. package/dist/src/effects/types.js +5 -1
  121. package/dist/src/effects/verifiers/git.js +2 -1
  122. package/dist/src/effects/verifiers/tracker.js +26 -14
  123. package/dist/src/extensions/commands/definitions.js +19 -0
  124. package/dist/src/extensions/project-local-remove.js +36 -1
  125. package/dist/src/features/installer.js +2 -2
  126. package/dist/src/flow/graph-metadata.js +5 -0
  127. package/dist/src/gates/providers/loader.js +64 -18
  128. package/dist/src/installation/manager-command.d.mts +18 -0
  129. package/dist/src/installation/manager-command.mjs +15 -3
  130. package/dist/src/installation/manager.d.mts +49 -0
  131. package/dist/src/installation/manager.mjs +95 -5
  132. package/dist/src/issues/cli.js +4 -4
  133. package/dist/src/issues/local.js +24 -5
  134. package/dist/src/jobs/runner.js +1 -1
  135. package/dist/src/lint/cli.js +27 -1
  136. package/dist/src/lint/loader.js +2 -1
  137. package/dist/src/lint/reporters.js +25 -1
  138. package/dist/src/lint/rule-activation.js +43 -0
  139. package/dist/src/lint/runner.js +137 -62
  140. package/dist/src/mcp/adapters/codex-runtime.js +366 -56
  141. package/dist/src/mcp/claude-install.d.mts +4 -0
  142. package/dist/src/mcp/claude-install.mjs +41 -0
  143. package/dist/src/mcp/cli.d.mts +1 -0
  144. package/dist/src/mcp/cli.mjs +620 -85
  145. package/dist/src/mcp/config-file.d.mts +28 -0
  146. package/dist/src/mcp/config-file.mjs +279 -0
  147. package/dist/src/mcp/config-layers.d.mts +36 -0
  148. package/dist/src/mcp/config-layers.mjs +348 -0
  149. package/dist/src/mcp/credentials.d.mts +51 -0
  150. package/dist/src/mcp/credentials.mjs +484 -0
  151. package/dist/src/mcp/grok-build-config.d.mts +6 -0
  152. package/dist/src/mcp/grok-build-config.mjs +17 -27
  153. package/dist/src/mcp/helpers.mjs +109 -4
  154. package/dist/src/mcp/muse-native-config.d.mts +13 -0
  155. package/dist/src/mcp/muse-native-config.mjs +1 -0
  156. package/dist/src/mcp/omp-config.d.mts +4 -0
  157. package/dist/src/mcp/omp-config.mjs +50 -29
  158. package/dist/src/mcp/profiles.js +97 -23
  159. package/dist/src/mcp/profiles.mjs +99 -27
  160. package/dist/src/mcp/registry.js +248 -131
  161. package/dist/src/mcp/registry.mjs +169 -100
  162. package/dist/src/mcp/server-config.d.mts +3 -0
  163. package/dist/src/mcp/server-config.mjs +89 -0
  164. package/dist/src/mcp/server.mjs +127 -82
  165. package/dist/src/mcp/test-simple.mjs +2 -1
  166. package/dist/src/mcp/toml-editor.d.mts +4 -0
  167. package/dist/src/mcp/toml-string.d.mts +1 -0
  168. package/dist/src/mcp/toml-string.mjs +9 -0
  169. package/dist/src/mcp/toml-strip-mcp.d.mts +1 -0
  170. package/dist/src/mcp/toml-strip-mcp.mjs +135 -0
  171. package/dist/src/mcp/tool-filters.d.mts +46 -0
  172. package/dist/src/mcp/tool-filters.mjs +357 -0
  173. package/dist/src/mcp/tools/agentic-sandbox.mjs +3 -1
  174. package/dist/src/mcp/tools/decision.mjs +22 -3
  175. package/dist/src/mcp/tools/discovery.mjs +62 -55
  176. package/dist/src/mcp/tools/orchestration.mjs +50 -2
  177. package/dist/src/mcp/tools/subsystems.mjs +39 -8
  178. package/dist/src/mcp/tools/worker-invoke.mjs +2856 -0
  179. package/dist/src/mcp/tools/worker-shell-control.mjs +289 -0
  180. package/dist/src/mcp/tools/worker-stdin-runtime.mjs +79 -0
  181. package/dist/src/memory/project-registry.js +2 -2
  182. package/dist/src/mission-protocol/codecs.js +647 -1
  183. package/dist/src/mission-protocol/types.js +110 -0
  184. package/dist/src/mission-protocol/worker-status.js +2 -0
  185. package/dist/src/models/config-loader.js +76 -14
  186. package/dist/src/models/grok-build-models.js +93 -41
  187. package/dist/src/models/model-capabilities.v1.json +3183 -24
  188. package/dist/src/models/model-discovery.js +931 -67
  189. package/dist/src/models/provider-policy.js +719 -11
  190. package/dist/src/models/qualification-digest.d.mts +2 -0
  191. package/dist/src/models/qualification-digest.mjs +17 -0
  192. package/dist/src/models/resolver.js +261 -0
  193. package/dist/src/models/worker-direct-readiness.js +550 -0
  194. package/dist/src/models/worker-dispatch-offer.js +169 -0
  195. package/dist/src/models/worker-health-readiness.js +144 -0
  196. package/dist/src/models/worker-installation.d.mts +39 -0
  197. package/dist/src/models/worker-installation.mjs +986 -0
  198. package/dist/src/models/wrapper-route.js +18 -0
  199. package/dist/src/ops/registry.js +9 -14
  200. package/dist/src/plugins/standalone-packager.js +4 -3
  201. package/dist/src/process/bounded-child-process.d.mts +84 -0
  202. package/dist/src/process/bounded-child-process.mjs +430 -0
  203. package/dist/src/process/cli-command.d.mts +16 -0
  204. package/dist/src/process/cli-command.mjs +75 -0
  205. package/dist/src/process/signal-child.d.mts +6 -0
  206. package/dist/src/process/signal-child.mjs +7 -0
  207. package/dist/src/providers/capability-matrix.js +8 -0
  208. package/dist/src/providers/capability-matrix.yaml +270 -0
  209. package/dist/src/providers/deployed-skill-roots.js +20 -0
  210. package/dist/src/providers/grok-build-acp.js +3 -2
  211. package/dist/src/providers/grok-build-headless.js +53 -23
  212. package/dist/src/providers/grok-build-inspect.js +1 -0
  213. package/dist/src/providers/omp-agent.d.mts +8 -0
  214. package/dist/src/providers/omp-diagnostics.d.mts +1 -0
  215. package/dist/src/providers/omp-paths.d.mts +13 -0
  216. package/dist/src/providers/provider-definitions.js +9 -1
  217. package/dist/src/providers/provider-definitions.mjs +9 -2
  218. package/dist/src/providers/skill-ownership.d.mts +9 -0
  219. package/dist/src/providers/skill-ownership.mjs +88 -0
  220. package/dist/src/rules/activation.d.mts +21 -0
  221. package/dist/src/rules/activation.mjs +62 -0
  222. package/dist/src/rules/inline-budget.d.mts +26 -0
  223. package/dist/src/rules/inline-budget.mjs +66 -0
  224. package/dist/src/rules/inventory.js +129 -0
  225. package/dist/src/rules/pin-state.js +73 -0
  226. package/dist/src/rules/pins.d.mts +14 -0
  227. package/dist/src/rules/pins.mjs +112 -0
  228. package/dist/src/rules/rule-frontmatter.schema.json +197 -0
  229. package/dist/src/serve/executor-registry.js +16 -24
  230. package/dist/src/serve/fleet-mission-conductor.js +9 -0
  231. package/dist/src/serve/mission-conductor.js +47 -12
  232. package/dist/src/serve/shared-host-scheduler.js +2 -0
  233. package/dist/src/serve/worker-invocation.js +558 -0
  234. package/dist/src/serve/worker-stdin-frame.d.mts +10 -0
  235. package/dist/src/serve/worker-stdin-frame.mjs +107 -0
  236. package/dist/src/sessions/adapter-registry.js +49 -0
  237. package/dist/src/sessions/adapters/claude.js +39 -54
  238. package/dist/src/sessions/adapters/codex.js +82 -67
  239. package/dist/src/sessions/adapters/copilot.js +4 -4
  240. package/dist/src/sessions/adapters/cursor.js +40 -57
  241. package/dist/src/sessions/adapters/deepseek-harness.js +15 -12
  242. package/dist/src/sessions/adapters/factory.js +31 -27
  243. package/dist/src/sessions/adapters/generic.js +43 -9
  244. package/dist/src/sessions/adapters/grok-build.js +11 -11
  245. package/dist/src/sessions/adapters/grokbot-locator.js +111 -0
  246. package/dist/src/sessions/adapters/grokbot.js +434 -24
  247. package/dist/src/sessions/adapters/hermes.js +27 -29
  248. package/dist/src/sessions/adapters/muse-workspace-scan.js +128 -0
  249. package/dist/src/sessions/adapters/muse.js +200 -104
  250. package/dist/src/sessions/adapters/omp.js +28 -14
  251. package/dist/src/sessions/adapters/openclaw.js +89 -79
  252. package/dist/src/sessions/adapters/opencode.js +27 -24
  253. package/dist/src/sessions/adapters/openhuman.js +18 -60
  254. package/dist/src/sessions/adapters/pi.js +30 -14
  255. package/dist/src/sessions/adapters/warp.js +3 -3
  256. package/dist/src/sessions/adapters/windsurf.js +19 -48
  257. package/dist/src/sessions/batch-contracts.js +25 -5
  258. package/dist/src/sessions/batch-import.js +72 -51
  259. package/dist/src/sessions/candidates.js +47 -11
  260. package/dist/src/sessions/contracts.js +75 -2
  261. package/dist/src/sessions/coverage-preflight.js +134 -0
  262. package/dist/src/sessions/discovery.js +3 -0
  263. package/dist/src/sessions/export-plan.js +4 -3
  264. package/dist/src/sessions/grok-build-cli.js +67 -5
  265. package/dist/src/sessions/import-exclusions.js +72 -0
  266. package/dist/src/sessions/import-lease.js +34 -18
  267. package/dist/src/sessions/import-limits.js +37 -0
  268. package/dist/src/sessions/importer.js +84 -46
  269. package/dist/src/sessions/index.js +2 -0
  270. package/dist/src/sessions/lifecycle.js +45 -0
  271. package/dist/src/sessions/policy.js +133 -25
  272. package/dist/src/sessions/readers.js +106 -53
  273. package/dist/src/sessions/refresh.js +106 -0
  274. package/dist/src/sessions/repository.js +199 -63
  275. package/dist/src/sessions/workspace-discovery.js +315 -88
  276. package/dist/src/sessions/workspace-matching.js +107 -0
  277. package/dist/src/skills/adapters/clawhub.js +10 -8
  278. package/dist/src/skills/adapters/openclaw.js +10 -7
  279. package/dist/src/skills/importer.js +1 -0
  280. package/dist/src/smiths/context-pipeline/aiwg-md.js +11 -0
  281. package/dist/src/smiths/context-pipeline/claude-hook.js +3 -26
  282. package/dist/src/smiths/context-pipeline/finalization.js +6 -5
  283. package/dist/src/smiths/context-pipeline/generator.js +21 -4
  284. package/dist/src/smiths/context-pipeline/parallelism-section.js +195 -14
  285. package/dist/src/smiths/context-pipeline/workspace-context.js +116 -9
  286. package/dist/src/smiths/hook-bridge/codex-translator.js +6 -5
  287. package/dist/src/smiths/mcpsmith/example.js +1 -1
  288. package/dist/src/smiths/mcpsmith/generator.js +1 -1
  289. package/dist/src/smiths/toolsmith/runtime-discovery.d.mts +10 -0
  290. package/dist/src/smiths/toolsmith/runtime-discovery.mjs +85 -31
  291. package/dist/src/storage/backends/fs.js +18 -76
  292. package/dist/src/storage/backends/logseq.js +68 -7
  293. package/dist/src/storage/backends/obsidian.js +1 -0
  294. package/dist/src/storage/fortemi-qualification-receipt.js +2 -2
  295. package/dist/src/testing/generators/test-code-generator.js +57 -30
  296. package/dist/src/tracker/forge-http.js +2 -1
  297. package/dist/src/uhp/client.js +11 -1
  298. package/dist/src/uhp/mission.js +5 -0
  299. package/dist/src/update/checker.d.mts +2 -0
  300. package/dist/src/update/checker.mjs +5 -5
  301. package/dist/src/update/notifier.mjs +54 -2
  302. package/dist/src/update/service.d.mts +22 -0
  303. package/dist/src/utils/contained-filesystem.d.mts +37 -0
  304. package/dist/src/utils/contained-filesystem.mjs +683 -0
  305. package/dist/src/utils/temporary-directory.js +36 -0
  306. package/dist/src/writing/example-generator.js +1 -1
  307. package/dist/src/writing/fidelity.js +18 -1
  308. package/package.json +32 -2
  309. package/schemas/mission-v1.schema.json +2429 -0
  310. package/schemas/models/model-catalog.v1.schema.json +301 -0
  311. package/schemas/models/model-config-compatibility.v1.schema.json +281 -0
  312. package/schemas/models/model-policy.v1.schema.json +14 -0
  313. package/schemas/models/provider-model-capabilities.v1.schema.json +1072 -0
  314. package/tools/_resolve-impl.mjs +39 -2
  315. package/tools/agents/deploy-agents.mjs +64 -23
  316. package/tools/agents/providers/base.mjs +153 -166
  317. package/tools/agents/providers/claude.mjs +8 -24
  318. package/tools/agents/providers/codex.mjs +18 -11
  319. package/tools/agents/providers/cursor.mjs +19 -18
  320. package/tools/agents/providers/grok-build.mjs +3 -1
  321. package/tools/agents/providers/grokbot.mjs +11 -12
  322. package/tools/agents/providers/hermes.mjs +62 -49
  323. package/tools/agents/providers/omp.mjs +5 -2
  324. package/tools/agents/providers/openclaw-translator.mjs +19 -5
  325. package/tools/agents/providers/openclaw.mjs +9 -4
  326. package/tools/agents/providers/pi.mjs +5 -0
  327. package/tools/agents/providers/provider-prepare-channel.mjs +5 -0
  328. package/tools/agents/providers/provider-prepare-coordinator.mjs +247 -0
  329. package/tools/agents/providers/provider-prepare-worker.mjs +84 -0
  330. package/tools/agents/providers/rule-delivery.mjs +1270 -0
  331. package/tools/agents/providers/warp.mjs +20 -26
  332. package/tools/cli/decision-offload-report.mjs +40 -0
  333. package/tools/cli/workspace-status.mjs +862 -0
  334. package/tools/plugin/package-plugins.mjs +186 -8
  335. package/tools/plugin/plugin-links.mjs +114 -0
  336. package/tools/providers/antigravity-transport.mjs +3 -1
  337. package/tools/providers/deepseek-harness-transport.mjs +360 -0
  338. package/tools/providers/omp-transport.mjs +194 -0
  339. package/tools/ralph-external/lib/claude-adapter.mjs +389 -0
  340. package/tools/ralph-external/lib/codex-adapter.mjs +432 -0
  341. package/tools/ralph-external/lib/consecutive-failure-circuit-breaker.mjs +1748 -0
  342. package/tools/ralph-external/lib/deepseek-harness-adapter.mjs +397 -0
  343. package/tools/ralph-external/lib/factory-adapter.mjs +503 -0
  344. package/tools/ralph-external/lib/launcher-recovery-evidence.mjs +55 -0
  345. package/tools/ralph-external/lib/muse-adapter.mjs +364 -0
  346. package/tools/ralph-external/lib/omp-adapter.mjs +315 -0
  347. package/tools/ralph-external/lib/opencode-adapter.mjs +575 -0
  348. package/tools/ralph-external/lib/openhuman-adapter.mjs +75 -0
  349. package/tools/ralph-external/lib/pi-adapter.mjs +329 -0
  350. package/tools/ralph-external/lib/provider-adapter.mjs +748 -0
  351. package/tools/ralph-external/lib/recovery-probe.mjs +72 -0
  352. package/tools/ralph-external/lib/session-environment.mjs +28 -0
  353. package/tools/ralph-external/lib/systemd-client.mjs +49 -0
  354. package/tools/ralph-external/lib/worker-health.mjs +439 -0
  355. package/tools/ralph-external/lib/worker-isolation.mjs +717 -0
  356. package/tools/ralph-external/lib/worker-overflow.mjs +50 -0
  357. package/tools/ralph-external/process-monitor.mjs +1017 -0
  358. package/tools/ralph-external/session-launcher.mjs +5057 -0
  359. package/tools/scripts/resource-preflight.mjs +541 -0
  360. package/tools/skills/deploy-skills-codex.mjs +2 -1
  361. package/vscode-extension/schemas/aiwg.config.v1.json +2916 -0
@@ -0,0 +1,1072 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://aiwg.io/schemas/models/provider-model-capabilities.v1.schema.json",
4
+ "title": "AIWG provider model capability registry",
5
+ "type": "object",
6
+ "additionalProperties": false,
7
+ "required": [
8
+ "version",
9
+ "verifiedAt",
10
+ "providers"
11
+ ],
12
+ "properties": {
13
+ "version": {
14
+ "const": "1.0.0"
15
+ },
16
+ "verifiedAt": {
17
+ "type": "string",
18
+ "format": "date"
19
+ },
20
+ "providers": {
21
+ "type": "object",
22
+ "minProperties": 11,
23
+ "additionalProperties": {
24
+ "type": "object",
25
+ "additionalProperties": false,
26
+ "required": [
27
+ "agent",
28
+ "skill",
29
+ "globalChild",
30
+ "identifierSyntax",
31
+ "inheritance",
32
+ "invalidPinFallback",
33
+ "configTarget",
34
+ "artifactFormat",
35
+ "verification",
36
+ "sourceUrl",
37
+ "verifiedAt"
38
+ ],
39
+ "properties": {
40
+ "sessionEnvAllowlist": {
41
+ "description": "Exact provider auth/config names for legacy full agent sessions, in addition to the launcher's base environment. Independent of worker invocation allowlists.",
42
+ "type": "array",
43
+ "items": { "type": "string", "pattern": "^[A-Za-z_][A-Za-z0-9_]*$" },
44
+ "uniqueItems": true
45
+ },
46
+ "agent": {
47
+ "$ref": "#/$defs/control"
48
+ },
49
+ "skill": {
50
+ "$ref": "#/$defs/control"
51
+ },
52
+ "globalChild": {
53
+ "$ref": "#/$defs/control"
54
+ },
55
+ "identifierSyntax": {
56
+ "type": "string",
57
+ "minLength": 1
58
+ },
59
+ "effortValues": {
60
+ "type": "array",
61
+ "items": {
62
+ "type": "string",
63
+ "minLength": 1
64
+ },
65
+ "uniqueItems": true
66
+ },
67
+ "inheritance": {
68
+ "type": "string",
69
+ "minLength": 1
70
+ },
71
+ "invalidPinFallback": {
72
+ "type": "string",
73
+ "minLength": 1
74
+ },
75
+ "configTarget": {
76
+ "type": "string",
77
+ "minLength": 1
78
+ },
79
+ "artifactFormat": {
80
+ "type": "string",
81
+ "minLength": 1
82
+ },
83
+ "verification": {
84
+ "type": "string",
85
+ "minLength": 1
86
+ },
87
+ "sourceUrl": {
88
+ "type": "string",
89
+ "format": "uri"
90
+ },
91
+ "verifiedAt": {
92
+ "type": "string",
93
+ "format": "date"
94
+ },
95
+ "workerAdapter": {
96
+ "$ref": "#/$defs/workerAdapter"
97
+ },
98
+ "workerHealthAdapter": {
99
+ "description": "Descriptive health evidence only; does not register an executable worker adapter.",
100
+ "$ref": "#/$defs/workerAdapter"
101
+ },
102
+ "workerHealthCoverage": {
103
+ "type": "object",
104
+ "additionalProperties": false,
105
+ "properties": {
106
+ "scope": {
107
+ "const": "out"
108
+ },
109
+ "coverage": {
110
+ "const": "unobserved"
111
+ },
112
+ "handshake": {
113
+ "const": "unobserved"
114
+ },
115
+ "evidenceGrades": {
116
+ "type": "array",
117
+ "maxItems": 3,
118
+ "uniqueItems": true,
119
+ "items": {
120
+ "enum": [
121
+ "H",
122
+ "R",
123
+ "D"
124
+ ]
125
+ }
126
+ },
127
+ "qualificationOwner": {
128
+ "type": "string",
129
+ "pattern": "^B-OG-[0-9]{2}$"
130
+ },
131
+ "provenance": {
132
+ "type": "array",
133
+ "minItems": 1,
134
+ "maxItems": 16,
135
+ "items": {
136
+ "type": "string",
137
+ "minLength": 1,
138
+ "maxLength": 4096
139
+ }
140
+ },
141
+ "reason": {
142
+ "type": "string",
143
+ "minLength": 1,
144
+ "maxLength": 4096
145
+ }
146
+ },
147
+ "required": [
148
+ "scope",
149
+ "coverage",
150
+ "handshake",
151
+ "evidenceGrades",
152
+ "qualificationOwner",
153
+ "provenance",
154
+ "reason"
155
+ ]
156
+ }
157
+ }
158
+ }
159
+ },
160
+ "workerAdapters": {
161
+ "type": "object",
162
+ "maxProperties": 128,
163
+ "propertyNames": {
164
+ "pattern": "^[a-z][a-z0-9-]{0,62}$"
165
+ },
166
+ "additionalProperties": {
167
+ "$ref": "#/$defs/workerAdapter"
168
+ }
169
+ },
170
+ "workerHealthAdapters": {
171
+ "description": "Descriptive health evidence only; entries do not register executable worker adapters.",
172
+ "type": "object",
173
+ "maxProperties": 128,
174
+ "propertyNames": {
175
+ "pattern": "^[a-z][a-z0-9-]{0,62}$"
176
+ },
177
+ "additionalProperties": {
178
+ "$ref": "#/$defs/workerAdapter"
179
+ }
180
+ },
181
+ "$schema": {
182
+ "enum": [
183
+ "../../../schemas/models/provider-model-capabilities.v1.schema.json",
184
+ "https://aiwg.io/schemas/models/provider-model-capabilities.v1.schema.json"
185
+ ]
186
+ }
187
+ },
188
+ "$defs": {
189
+ "control": {
190
+ "enum": [
191
+ "native",
192
+ "compiled",
193
+ "inherited",
194
+ "global-only",
195
+ "informational",
196
+ "unsupported"
197
+ ]
198
+ },
199
+ "process": {
200
+ "type": "object",
201
+ "additionalProperties": false,
202
+ "properties": {
203
+ "kind": {
204
+ "const": "process"
205
+ },
206
+ "executable": {
207
+ "type": "string",
208
+ "minLength": 1
209
+ },
210
+ "argv": {
211
+ "type": "array",
212
+ "items": {
213
+ "type": "string",
214
+ "minLength": 1
215
+ },
216
+ "minItems": 1
217
+ },
218
+ "stdin": {
219
+ "enum": [
220
+ "closed",
221
+ "brief-json",
222
+ "brief-text",
223
+ "adapter-frame"
224
+ ]
225
+ },
226
+ "cwd": {
227
+ "const": "${workspace}"
228
+ },
229
+ "envAllowlist": {
230
+ "type": "array",
231
+ "items": {
232
+ "type": "string",
233
+ "minLength": 1
234
+ },
235
+ "minItems": 0,
236
+ "uniqueItems": true
237
+ },
238
+ "versionArgv": {
239
+ "type": "array",
240
+ "items": {
241
+ "type": "string",
242
+ "minLength": 1
243
+ },
244
+ "minItems": 1
245
+ },
246
+ "versionPattern": {
247
+ "type": "string",
248
+ "minLength": 1,
249
+ "maxLength": 256
250
+ },
251
+ "maxOutputBytes": {
252
+ "type": "integer",
253
+ "minimum": 1,
254
+ "default": 10485760
255
+ }
256
+ },
257
+ "required": [
258
+ "kind",
259
+ "executable",
260
+ "argv",
261
+ "stdin",
262
+ "cwd",
263
+ "envAllowlist",
264
+ "versionArgv"
265
+ ]
266
+ },
267
+ "http": {
268
+ "type": "object",
269
+ "additionalProperties": false,
270
+ "properties": {
271
+ "kind": {
272
+ "const": "http"
273
+ },
274
+ "protocol": {
275
+ "enum": [
276
+ "ollama",
277
+ "llama-cpp",
278
+ "openai-compatible"
279
+ ]
280
+ },
281
+ "healthPath": {
282
+ "type": "string",
283
+ "minLength": 1,
284
+ "pattern": "^/"
285
+ },
286
+ "modelsPath": {
287
+ "type": "string",
288
+ "minLength": 1,
289
+ "pattern": "^/"
290
+ },
291
+ "generatePath": {
292
+ "type": "string",
293
+ "minLength": 1,
294
+ "pattern": "^/"
295
+ },
296
+ "timeoutSeconds": {
297
+ "type": "integer",
298
+ "minimum": 1,
299
+ "default": 900
300
+ },
301
+ "maxOutputBytes": {
302
+ "type": "integer",
303
+ "minimum": 1,
304
+ "default": 10485760
305
+ }
306
+ },
307
+ "required": [
308
+ "kind",
309
+ "protocol",
310
+ "healthPath",
311
+ "modelsPath",
312
+ "generatePath"
313
+ ]
314
+ },
315
+ "catalogAdapter": {
316
+ "type": "object",
317
+ "additionalProperties": false,
318
+ "properties": {
319
+ "kind": {
320
+ "enum": [
321
+ "command",
322
+ "file",
323
+ "http",
324
+ "module"
325
+ ]
326
+ },
327
+ "locator": {
328
+ "type": "string",
329
+ "minLength": 1
330
+ },
331
+ "argv": {
332
+ "type": "array",
333
+ "items": {
334
+ "type": "string",
335
+ "minLength": 1
336
+ },
337
+ "minItems": 0
338
+ },
339
+ "parser": {
340
+ "type": "string",
341
+ "minLength": 1
342
+ },
343
+ "timeoutSeconds": {
344
+ "type": "integer",
345
+ "minimum": 1,
346
+ "default": 10
347
+ },
348
+ "maxBytes": {
349
+ "type": "integer",
350
+ "minimum": 1,
351
+ "default": 5242880
352
+ }
353
+ },
354
+ "required": [
355
+ "kind",
356
+ "locator",
357
+ "parser"
358
+ ]
359
+ },
360
+ "invocationProfile": {
361
+ "type": "object",
362
+ "additionalProperties": false,
363
+ "properties": {
364
+ "transport": {
365
+ "enum": [
366
+ "shell",
367
+ "mcp"
368
+ ]
369
+ },
370
+ "supportedVersions": {
371
+ "type": "string",
372
+ "minLength": 1
373
+ },
374
+ "controls": {
375
+ "type": "object",
376
+ "additionalProperties": {
377
+ "type": "object",
378
+ "additionalProperties": false,
379
+ "properties": {
380
+ "support": {
381
+ "enum": [
382
+ "native",
383
+ "external",
384
+ "not-applicable",
385
+ "unqualified"
386
+ ]
387
+ },
388
+ "mapping": {
389
+ "type": "string",
390
+ "maxLength": 2048
391
+ },
392
+ "evidence": {
393
+ "type": "string",
394
+ "maxLength": 2048
395
+ }
396
+ },
397
+ "required": [
398
+ "support",
399
+ "mapping",
400
+ "evidence"
401
+ ]
402
+ },
403
+ "required": [
404
+ "model",
405
+ "effort",
406
+ "sandbox",
407
+ "approval",
408
+ "workdir",
409
+ "finalOutput",
410
+ "stdin",
411
+ "structuredOutput",
412
+ "stepCap",
413
+ "trust",
414
+ "children",
415
+ "fallback"
416
+ ],
417
+ "properties": {
418
+ "model": {
419
+ "$ref": "#/$defs/invocationProfile/properties/controls/additionalProperties"
420
+ },
421
+ "effort": {
422
+ "$ref": "#/$defs/invocationProfile/properties/controls/additionalProperties"
423
+ },
424
+ "sandbox": {
425
+ "$ref": "#/$defs/invocationProfile/properties/controls/additionalProperties"
426
+ },
427
+ "approval": {
428
+ "$ref": "#/$defs/invocationProfile/properties/controls/additionalProperties"
429
+ },
430
+ "workdir": {
431
+ "$ref": "#/$defs/invocationProfile/properties/controls/additionalProperties"
432
+ },
433
+ "finalOutput": {
434
+ "$ref": "#/$defs/invocationProfile/properties/controls/additionalProperties"
435
+ },
436
+ "stdin": {
437
+ "$ref": "#/$defs/invocationProfile/properties/controls/additionalProperties"
438
+ },
439
+ "structuredOutput": {
440
+ "$ref": "#/$defs/invocationProfile/properties/controls/additionalProperties"
441
+ },
442
+ "stepCap": {
443
+ "$ref": "#/$defs/invocationProfile/properties/controls/additionalProperties"
444
+ },
445
+ "trust": {
446
+ "$ref": "#/$defs/invocationProfile/properties/controls/additionalProperties"
447
+ },
448
+ "children": {
449
+ "$ref": "#/$defs/invocationProfile/properties/controls/additionalProperties"
450
+ },
451
+ "fallback": {
452
+ "$ref": "#/$defs/invocationProfile/properties/controls/additionalProperties"
453
+ }
454
+ }
455
+ },
456
+ "envAllowlist": {
457
+ "type": "array",
458
+ "items": {
459
+ "type": "string"
460
+ },
461
+ "uniqueItems": true
462
+ },
463
+ "pitfalls": {
464
+ "type": "array",
465
+ "items": {
466
+ "type": "string",
467
+ "maxLength": 2048
468
+ }
469
+ },
470
+ "mcp": {
471
+ "type": "object",
472
+ "additionalProperties": false,
473
+ "properties": {
474
+ "serverRef": {
475
+ "type": "string"
476
+ },
477
+ "tool": {
478
+ "type": "string"
479
+ },
480
+ "inputSchemaDigest": {
481
+ "type": "string",
482
+ "pattern": "^sha256:[a-f0-9]{64}$"
483
+ },
484
+ "outputSchemaDigest": {
485
+ "type": "string",
486
+ "pattern": "^sha256:[a-f0-9]{64}$"
487
+ },
488
+ "sessionIsolation": {
489
+ "enum": [
490
+ "per-call",
491
+ "per-instance",
492
+ "serialized"
493
+ ]
494
+ },
495
+ "cancel": {
496
+ "enum": [
497
+ "confirmed",
498
+ "uncertain"
499
+ ]
500
+ }
501
+ },
502
+ "required": [
503
+ "serverRef",
504
+ "tool",
505
+ "inputSchemaDigest",
506
+ "outputSchemaDigest",
507
+ "sessionIsolation",
508
+ "cancel"
509
+ ]
510
+ },
511
+ "installationQualification": {
512
+ "type": "object",
513
+ "additionalProperties": false,
514
+ "properties": {
515
+ "scopeDigest": {
516
+ "type": "string",
517
+ "pattern": "^sha256:[a-f0-9]{64}$"
518
+ },
519
+ "fixtureDigest": {
520
+ "type": "string",
521
+ "pattern": "^sha256:[a-f0-9]{64}$"
522
+ },
523
+ "verifiedAt": {
524
+ "type": "string",
525
+ "format": "date-time"
526
+ },
527
+ "evidenceRef": {
528
+ "type": "string",
529
+ "minLength": 1
530
+ }
531
+ },
532
+ "required": [
533
+ "scopeDigest",
534
+ "fixtureDigest",
535
+ "verifiedAt",
536
+ "evidenceRef"
537
+ ]
538
+ },
539
+ "health": {
540
+ "type": "object",
541
+ "additionalProperties": false,
542
+ "properties": {
543
+ "version": {
544
+ "const": 1
545
+ },
546
+ "handshake": {
547
+ "enum": [
548
+ "semantic",
549
+ "process-only",
550
+ "unobserved"
551
+ ]
552
+ },
553
+ "outputFraming": {
554
+ "enum": [
555
+ "jsonl",
556
+ "plain",
557
+ "final-json",
558
+ "http-stream",
559
+ "mcp-progress",
560
+ "opaque"
561
+ ]
562
+ },
563
+ "signalParser": {
564
+ "type": "string",
565
+ "minLength": 1,
566
+ "maxLength": 4096
567
+ },
568
+ "sessionLogLocator": {
569
+ "type": [
570
+ "string",
571
+ "null"
572
+ ],
573
+ "maxLength": 4096
574
+ },
575
+ "progressEvidence": {
576
+ "type": "array",
577
+ "maxItems": 16,
578
+ "items": {
579
+ "type": "string",
580
+ "minLength": 1,
581
+ "maxLength": 4096
582
+ }
583
+ },
584
+ "stopEvidence": {
585
+ "type": "string",
586
+ "minLength": 1,
587
+ "maxLength": 4096
588
+ },
589
+ "fixtureRef": {
590
+ "type": "string",
591
+ "minLength": 1,
592
+ "maxLength": 4096
593
+ },
594
+ "qualifiedAt": {
595
+ "type": [
596
+ "string",
597
+ "null"
598
+ ],
599
+ "format": "date-time"
600
+ },
601
+ "statusOperation": {
602
+ "type": [
603
+ "string",
604
+ "null"
605
+ ],
606
+ "maxLength": 256
607
+ },
608
+ "cancelOperation": {
609
+ "type": [
610
+ "string",
611
+ "null"
612
+ ],
613
+ "maxLength": 256
614
+ },
615
+ "coverage": {
616
+ "enum": [
617
+ "full",
618
+ "degraded",
619
+ "unobserved"
620
+ ]
621
+ },
622
+ "qualificationTarget": {
623
+ "enum": [
624
+ "semantic",
625
+ "process-only",
626
+ "unobserved"
627
+ ]
628
+ },
629
+ "evidenceGrades": {
630
+ "type": "array",
631
+ "maxItems": 3,
632
+ "uniqueItems": true,
633
+ "items": {
634
+ "enum": [
635
+ "H",
636
+ "R",
637
+ "D"
638
+ ]
639
+ }
640
+ },
641
+ "provenance": {
642
+ "type": "array",
643
+ "maxItems": 16,
644
+ "items": {
645
+ "type": "object",
646
+ "additionalProperties": false,
647
+ "properties": {
648
+ "kind": {
649
+ "enum": [
650
+ "help",
651
+ "repository",
652
+ "documentation",
653
+ "synthetic"
654
+ ]
655
+ },
656
+ "ref": {
657
+ "type": "string",
658
+ "minLength": 1,
659
+ "maxLength": 4096
660
+ },
661
+ "observedAt": {
662
+ "type": "string",
663
+ "format": "date-time"
664
+ },
665
+ "cliVersion": {
666
+ "type": [
667
+ "string",
668
+ "null"
669
+ ],
670
+ "minLength": 1,
671
+ "maxLength": 256
672
+ }
673
+ },
674
+ "required": [
675
+ "kind",
676
+ "ref",
677
+ "observedAt",
678
+ "cliVersion"
679
+ ]
680
+ }
681
+ },
682
+ "qualificationOwner": {
683
+ "type": "string",
684
+ "pattern": "^B-OG-[0-9]{2}$"
685
+ },
686
+ "qualification": {
687
+ "type": "object",
688
+ "additionalProperties": false,
689
+ "properties": {
690
+ "status": {
691
+ "enum": [
692
+ "unqualified",
693
+ "synthetic",
694
+ "live-qualified"
695
+ ]
696
+ },
697
+ "scopeDigest": {
698
+ "type": [
699
+ "string",
700
+ "null"
701
+ ],
702
+ "pattern": "^sha256:[a-f0-9]{64}$"
703
+ },
704
+ "cliVersion": {
705
+ "type": [
706
+ "string",
707
+ "null"
708
+ ],
709
+ "minLength": 1,
710
+ "maxLength": 256
711
+ },
712
+ "accountScope": {
713
+ "type": [
714
+ "string",
715
+ "null"
716
+ ],
717
+ "minLength": 1,
718
+ "maxLength": 256
719
+ },
720
+ "profileRef": {
721
+ "type": [
722
+ "string",
723
+ "null"
724
+ ],
725
+ "minLength": 1,
726
+ "maxLength": 256
727
+ },
728
+ "modelKey": {
729
+ "type": [
730
+ "string",
731
+ "null"
732
+ ],
733
+ "minLength": 1,
734
+ "maxLength": 4096
735
+ },
736
+ "effort": {
737
+ "type": [
738
+ "string",
739
+ "null"
740
+ ],
741
+ "minLength": 1,
742
+ "maxLength": 256
743
+ },
744
+ "authorizedLive": {
745
+ "type": "boolean"
746
+ }
747
+ },
748
+ "required": [
749
+ "status",
750
+ "scopeDigest",
751
+ "cliVersion",
752
+ "accountScope",
753
+ "profileRef",
754
+ "modelKey",
755
+ "effort",
756
+ "authorizedLive"
757
+ ],
758
+ "allOf": [
759
+ {
760
+ "if": {
761
+ "properties": {
762
+ "status": {
763
+ "enum": [
764
+ "synthetic",
765
+ "live-qualified"
766
+ ]
767
+ }
768
+ }
769
+ },
770
+ "then": {
771
+ "properties": {
772
+ "scopeDigest": {
773
+ "type": "string"
774
+ },
775
+ "cliVersion": {
776
+ "type": "string"
777
+ },
778
+ "accountScope": {
779
+ "type": "string"
780
+ },
781
+ "profileRef": {
782
+ "type": "string"
783
+ },
784
+ "modelKey": {
785
+ "type": "string"
786
+ }
787
+ }
788
+ }
789
+ },
790
+ {
791
+ "if": {
792
+ "properties": {
793
+ "status": {
794
+ "const": "live-qualified"
795
+ }
796
+ }
797
+ },
798
+ "then": {
799
+ "properties": {
800
+ "authorizedLive": {
801
+ "const": true
802
+ }
803
+ }
804
+ }
805
+ }
806
+ ]
807
+ }
808
+ },
809
+ "required": [
810
+ "version",
811
+ "handshake",
812
+ "outputFraming",
813
+ "signalParser",
814
+ "sessionLogLocator",
815
+ "progressEvidence",
816
+ "stopEvidence",
817
+ "fixtureRef",
818
+ "qualifiedAt",
819
+ "statusOperation",
820
+ "cancelOperation"
821
+ ],
822
+ "allOf": [
823
+ {
824
+ "if": {
825
+ "required": [
826
+ "qualification"
827
+ ],
828
+ "properties": {
829
+ "qualification": {
830
+ "properties": {
831
+ "status": {
832
+ "enum": [
833
+ "synthetic",
834
+ "live-qualified"
835
+ ]
836
+ }
837
+ },
838
+ "type": "object"
839
+ }
840
+ }
841
+ },
842
+ "then": {
843
+ "properties": {
844
+ "qualifiedAt": {
845
+ "type": "string"
846
+ }
847
+ }
848
+ }
849
+ }
850
+ ]
851
+ }
852
+ },
853
+ "required": [
854
+ "transport",
855
+ "supportedVersions",
856
+ "controls",
857
+ "envAllowlist",
858
+ "pitfalls"
859
+ ],
860
+ "allOf": [
861
+ {
862
+ "if": {
863
+ "properties": {
864
+ "transport": {
865
+ "const": "mcp"
866
+ }
867
+ }
868
+ },
869
+ "then": {
870
+ "properties": {
871
+ "mcp": {}
872
+ },
873
+ "required": [
874
+ "mcp"
875
+ ]
876
+ }
877
+ }
878
+ ]
879
+ },
880
+ "workerAdapter": {
881
+ "type": "object",
882
+ "additionalProperties": false,
883
+ "properties": {
884
+ "version": {
885
+ "const": 1
886
+ },
887
+ "id": {
888
+ "type": "string",
889
+ "minLength": 1
890
+ },
891
+ "provider": {
892
+ "type": "string",
893
+ "minLength": 1
894
+ },
895
+ "adapterVersion": {
896
+ "type": "string",
897
+ "minLength": 1
898
+ },
899
+ "supportedVersions": {
900
+ "type": "string",
901
+ "minLength": 1
902
+ },
903
+ "runtimeDriver": {
904
+ "type": "string",
905
+ "minLength": 1
906
+ },
907
+ "catalogAdapter": {
908
+ "$ref": "#/$defs/catalogAdapter"
909
+ },
910
+ "invocation": {
911
+ "oneOf": [
912
+ {
913
+ "$ref": "#/$defs/process"
914
+ },
915
+ {
916
+ "$ref": "#/$defs/http"
917
+ }
918
+ ]
919
+ },
920
+ "capabilities": {
921
+ "type": "object",
922
+ "additionalProperties": false,
923
+ "properties": {
924
+ "output": {
925
+ "enum": [
926
+ "native-schema",
927
+ "validated-file",
928
+ "text"
929
+ ]
930
+ },
931
+ "modelPin": {
932
+ "enum": [
933
+ "observed",
934
+ "requested",
935
+ "unsupported"
936
+ ]
937
+ },
938
+ "effort": {
939
+ "enum": [
940
+ "explicit",
941
+ "not-applicable",
942
+ "unsupported"
943
+ ]
944
+ },
945
+ "cancel": {
946
+ "enum": [
947
+ "process-group",
948
+ "session",
949
+ "none"
950
+ ]
951
+ },
952
+ "resume": {
953
+ "type": "boolean"
954
+ },
955
+ "sandboxModes": {
956
+ "type": "array",
957
+ "items": {
958
+ "enum": [
959
+ "read-only",
960
+ "workspace-write",
961
+ "external"
962
+ ]
963
+ },
964
+ "minItems": 1,
965
+ "uniqueItems": true
966
+ },
967
+ "nestedAgentsControllable": {
968
+ "type": "boolean"
969
+ },
970
+ "nativeFallbackControllable": {
971
+ "type": "boolean"
972
+ },
973
+ "hardBudget": {
974
+ "type": "array",
975
+ "items": {
976
+ "enum": [
977
+ "tokens",
978
+ "cost",
979
+ "wall-time"
980
+ ]
981
+ },
982
+ "minItems": 0,
983
+ "uniqueItems": true
984
+ }
985
+ },
986
+ "required": [
987
+ "output",
988
+ "modelPin",
989
+ "effort",
990
+ "cancel",
991
+ "resume",
992
+ "sandboxModes",
993
+ "nestedAgentsControllable",
994
+ "nativeFallbackControllable",
995
+ "hardBudget"
996
+ ]
997
+ },
998
+ "qualification": {
999
+ "type": "object",
1000
+ "additionalProperties": false,
1001
+ "properties": {
1002
+ "status": {
1003
+ "enum": [
1004
+ "unqualified",
1005
+ "qualified"
1006
+ ]
1007
+ },
1008
+ "fixtureDigest": {
1009
+ "type": "string",
1010
+ "minLength": 1,
1011
+ "pattern": "^sha256:[a-f0-9]{64}$"
1012
+ },
1013
+ "verifiedAt": {
1014
+ "type": "string",
1015
+ "minLength": 1,
1016
+ "format": "date-time"
1017
+ },
1018
+ "evidenceRef": {
1019
+ "type": "string",
1020
+ "minLength": 1
1021
+ }
1022
+ },
1023
+ "required": [
1024
+ "status"
1025
+ ],
1026
+ "allOf": [
1027
+ {
1028
+ "if": {
1029
+ "properties": {
1030
+ "status": {
1031
+ "const": "qualified"
1032
+ }
1033
+ }
1034
+ },
1035
+ "then": {
1036
+ "properties": {
1037
+ "fixtureDigest": {},
1038
+ "verifiedAt": {},
1039
+ "evidenceRef": {}
1040
+ },
1041
+ "required": [
1042
+ "fixtureDigest",
1043
+ "verifiedAt",
1044
+ "evidenceRef"
1045
+ ]
1046
+ }
1047
+ }
1048
+ ]
1049
+ },
1050
+ "invocationProfiles": {
1051
+ "type": "object",
1052
+ "minProperties": 1,
1053
+ "additionalProperties": {
1054
+ "$ref": "#/$defs/invocationProfile"
1055
+ }
1056
+ }
1057
+ },
1058
+ "required": [
1059
+ "version",
1060
+ "id",
1061
+ "provider",
1062
+ "adapterVersion",
1063
+ "supportedVersions",
1064
+ "runtimeDriver",
1065
+ "catalogAdapter",
1066
+ "invocation",
1067
+ "capabilities",
1068
+ "qualification"
1069
+ ]
1070
+ }
1071
+ }
1072
+ }