@inneranimalmedia/agentsam-sdk 2.6.9 → 2.6.11

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 (392) hide show
  1. package/README.md +21 -0
  2. package/TRADEMARKS.md +22 -0
  3. package/apps/README.md +3 -0
  4. package/apps/cad-creator/LICENSE +21 -0
  5. package/apps/cad-creator/README.md +4 -1
  6. package/apps/cad-creator/shared/cad/package.json +1 -1
  7. package/apps/client-cms-editor/LICENSE +21 -0
  8. package/apps/client-cms-editor/README.md +3 -0
  9. package/apps/client-cms-editor/backend/package.json +3 -3
  10. package/apps/client-cms-editor/frontend/package.json +4 -4
  11. package/apps/client-cms-editor/package-lock.json +43 -43
  12. package/apps/client-cms-editor/package.json +3 -3
  13. package/apps/client-cms-editor/reference/harvest/HARVEST_RECEIPT.json +1 -1
  14. package/apps/client-cms-editor/reference/harvest/README.md +1 -1
  15. package/apps/client-cms-editor/reference/harvest/plans/ARCHIVE-INTAKE.md +1 -1
  16. package/apps/client-cms-editor/reference/harvest/plans/HARVEST-INDEX.md +1 -1
  17. package/apps/client-cms-editor/reference/harvest/plans/TOOLING-LAB.md +1 -1
  18. package/apps/client-cms-editor/shared/cms/package.json +2 -2
  19. package/docs/MINI.md +4 -2
  20. package/docs/REPO_FILE_MAP.txt +0 -1
  21. package/docs/SOURCE_ARCHITECTURE.md +1 -1
  22. package/docs/architecture/DUAL_ANALYTICS_PRODUCT.md +140 -0
  23. package/docs/architecture/HOOKS-MODELS-SELF-HOSTING-PLAN.md +199 -0
  24. package/docs/content-studio/REVISION_GATE_2026-09-27.md +1 -1
  25. package/docs/engineering/go-portability/01-product-project-deployment-authority.md +69 -0
  26. package/docs/engineering/provider-internal-renames/01-lane-initialization.md +20 -0
  27. package/docs/engineering/provider-internal-renames/01a-runtime-environment-contract.md +115 -0
  28. package/docs/engineering/provider-internal-renames/02-cfoa.md +57 -0
  29. package/docs/engineering/provider-internal-renames/03-gclioa.md +32 -0
  30. package/docs/engineering/provider-internal-renames/04-goaude.md +50 -0
  31. package/docs/engineering/provider-internal-renames/05-gdrv.md +33 -0
  32. package/docs/engineering/provider-internal-renames/06-verification.md +103 -0
  33. package/docs/engineering/provider-internal-renames/README.md +77 -0
  34. package/docs/engineering/provider-internal-renames/runtime-environment-contract.json +220 -0
  35. package/docs/engineering/test-diagnostics/go-cli-test-hang-20261003.md +49 -0
  36. package/docs/engineering/test-diagnostics/go-skip-deploy-docker-fix.md +90 -0
  37. package/docs/knowledge-service-verification.md +3 -3
  38. package/docs/plans/AGENTSAM-SUSPEND-QUEUE-KNOWLEDGE-RDP-2026-10-03.md +870 -0
  39. package/docs/plans/LOCAL-STUDIO-GRADUATION-2026-09-26.md +9 -9
  40. package/docs/plans/MACHINE-FIRST-APPS-TUI-2026-09-24.md +11 -11
  41. package/docs/plans/RECONCILIATION-2026-09-19.md +6 -6
  42. package/docs/plans/SAM_WORK_PROTOCOL.md +667 -0
  43. package/docs/plans/TOMORROW-EXTENSIVE-TODO-2026-09-26.md +2 -2
  44. package/docs/plans/UNIVERSAL-INGEST-MACHINE-FIRST-2026-09-24.md +3 -3
  45. package/examples/hyperspace-demo/index.html +16 -0
  46. package/examples/hyperspace-demo/package.json +21 -0
  47. package/examples/hyperspace-demo/src/main.tsx +277 -0
  48. package/examples/hyperspace-demo/tsconfig.json +9 -0
  49. package/examples/hyperspace-demo/vite.config.ts +24 -0
  50. package/migrations/d1/0020_agentsam_receipt_catalog.sql +35 -0
  51. package/migrations/runtime/0005_agentsam_hooks.sql +87 -0
  52. package/migrations/runtime/0006_agent_run_suspend_activity.sql +53 -0
  53. package/migrations/runtime/0007_queue_control.sql +40 -0
  54. package/migrations/runtime/0008_agent_run_dependencies.sql +24 -0
  55. package/migrations/runtime/0008_analytics_legacy_bootstrap.sql +43 -0
  56. package/migrations/runtime/0009_analytics_authority.sql +108 -0
  57. package/package.json +45 -14
  58. package/packages/agentsam-brand/README.md +3 -0
  59. package/packages/agentsam-brand/package.json +2 -2
  60. package/packages/agentsam-brand/src/core/v2/compile.js +1 -1
  61. package/packages/agentsam-brand/src/core/v2/schema.js +1 -1
  62. package/packages/agentsam-contracts/dist/adapter.d.ts +22 -0
  63. package/packages/agentsam-contracts/dist/adapter.js +0 -0
  64. package/packages/agentsam-contracts/dist/agent.d.ts +66 -0
  65. package/packages/agentsam-contracts/dist/agent.js +15 -0
  66. package/packages/agentsam-contracts/dist/artifacts.d.ts +70 -0
  67. package/packages/agentsam-contracts/dist/artifacts.js +0 -0
  68. package/packages/agentsam-contracts/dist/authority.d.ts +21 -0
  69. package/packages/agentsam-contracts/dist/authority.js +0 -0
  70. package/packages/agentsam-contracts/dist/context.d.ts +14 -0
  71. package/packages/agentsam-contracts/dist/context.js +0 -0
  72. package/packages/agentsam-contracts/dist/errors.d.ts +121 -0
  73. package/packages/agentsam-contracts/dist/errors.js +5 -0
  74. package/packages/agentsam-contracts/dist/events.d.ts +53 -0
  75. package/packages/agentsam-contracts/dist/events.js +0 -0
  76. package/packages/agentsam-contracts/dist/execution.d.ts +38 -0
  77. package/packages/agentsam-contracts/dist/execution.js +0 -0
  78. package/packages/agentsam-contracts/dist/hooks.d.ts +31 -0
  79. package/packages/agentsam-contracts/dist/hooks.js +0 -0
  80. package/packages/agentsam-contracts/dist/identity.d.ts +15 -0
  81. package/packages/agentsam-contracts/dist/identity.js +0 -0
  82. package/packages/agentsam-contracts/dist/index.d.ts +16 -0
  83. package/packages/agentsam-contracts/dist/index.js +164 -0
  84. package/packages/agentsam-contracts/dist/models.d.ts +9 -0
  85. package/packages/agentsam-contracts/dist/models.js +0 -0
  86. package/packages/agentsam-contracts/dist/providers.d.ts +27 -0
  87. package/packages/agentsam-contracts/dist/providers.js +0 -0
  88. package/packages/agentsam-contracts/dist/repository.d.ts +56 -0
  89. package/packages/agentsam-contracts/dist/repository.js +15 -0
  90. package/packages/agentsam-contracts/dist/run.d.ts +113 -0
  91. package/packages/agentsam-contracts/dist/run.js +132 -0
  92. package/packages/agentsam-contracts/dist/tools.d.ts +82 -0
  93. package/packages/agentsam-contracts/dist/tools.js +0 -0
  94. package/packages/agentsam-contracts/dist/widgets.d.ts +38 -0
  95. package/packages/agentsam-contracts/dist/widgets.js +0 -0
  96. package/packages/agentsam-contracts/package.json +9 -1
  97. package/packages/agentsam-contracts/scripts/build.mjs +1 -1
  98. package/packages/agentsam-contracts/src/agent.ts +78 -3
  99. package/packages/agentsam-contracts/src/errors.ts +19 -10
  100. package/packages/agentsam-contracts/src/index.ts +2 -0
  101. package/packages/agentsam-contracts/src/run.ts +320 -0
  102. package/packages/agentsam-contracts/src/widgets.ts +58 -0
  103. package/packages/agentsam-contracts/test/contracts.test.mjs +1 -1
  104. package/packages/agentsam-contracts/test/run-contract.test.mjs +94 -0
  105. package/packages/agentsam-errors/package.json +11 -3
  106. package/packages/agentsam-errors/protocol/agentsam.error.v2.schema.json +821 -0
  107. package/packages/agentsam-errors/protocol/error-catalog.json +3512 -0
  108. package/packages/agentsam-errors/src/envelope.js +63 -11
  109. package/packages/agentsam-errors/src/error.js +6 -0
  110. package/packages/agentsam-errors/src/fingerprint.js +9 -1
  111. package/packages/agentsam-errors/src/normalize.js +51 -6
  112. package/packages/agentsam-errors/src/recovery.js +9 -35
  113. package/packages/agentsam-errors/src/transport.js +6 -1
  114. package/packages/agentsam-errors/src/vocabulary.js +515 -126
  115. package/packages/agentsam-errors/test/catalog-v2.test.mjs +106 -0
  116. package/packages/agentsam-errors/types/index.d.ts +157 -0
  117. package/packages/agentsam-goap/README.md +3 -0
  118. package/packages/agentsam-goap/package.json +2 -2
  119. package/packages/agentsam-hooks/README.md +206 -0
  120. package/packages/agentsam-hooks/bin/agentsam-hooks.mjs +64 -0
  121. package/packages/agentsam-hooks/bindings/go/command.go +55 -0
  122. package/packages/agentsam-hooks/bindings/go/errors_generated.go +402 -0
  123. package/packages/agentsam-hooks/bindings/go/go.mod +3 -0
  124. package/packages/agentsam-hooks/bindings/go/hooks.go +285 -0
  125. package/packages/agentsam-hooks/bindings/go/hooks_test.go +48 -0
  126. package/packages/agentsam-hooks/bindings/rust/Cargo.toml +11 -0
  127. package/packages/agentsam-hooks/bindings/rust/src/errors_generated.rs +396 -0
  128. package/packages/agentsam-hooks/bindings/rust/src/lib.rs +397 -0
  129. package/packages/agentsam-hooks/package.json +69 -0
  130. package/packages/agentsam-hooks/schema/manifest.json +54 -0
  131. package/packages/agentsam-hooks/scripts/clean-protocol.mjs +17 -0
  132. package/packages/agentsam-hooks/scripts/sync-protocol.mjs +27 -0
  133. package/packages/agentsam-hooks/src/adapters/agents.js +108 -0
  134. package/packages/agentsam-hooks/src/adapters/callback.js +4 -0
  135. package/packages/agentsam-hooks/src/adapters/capability.js +122 -0
  136. package/packages/agentsam-hooks/src/adapters/command.js +104 -0
  137. package/packages/agentsam-hooks/src/adapters/composite.js +31 -0
  138. package/packages/agentsam-hooks/src/adapters/http.js +58 -0
  139. package/packages/agentsam-hooks/src/adapters/lsp.js +116 -0
  140. package/packages/agentsam-hooks/src/adapters/mcp.js +76 -0
  141. package/packages/agentsam-hooks/src/adapters/provider.js +129 -0
  142. package/packages/agentsam-hooks/src/config.js +143 -0
  143. package/packages/agentsam-hooks/src/contracts.js +284 -0
  144. package/packages/agentsam-hooks/src/errors-generated.js +2732 -0
  145. package/packages/agentsam-hooks/src/index.d.ts +209 -0
  146. package/packages/agentsam-hooks/src/index.js +14 -0
  147. package/packages/agentsam-hooks/src/policy.js +34 -0
  148. package/packages/agentsam-hooks/src/runtime.js +312 -0
  149. package/packages/agentsam-hooks/src/store.js +264 -0
  150. package/packages/agentsam-hooks/test/adapters.test.mjs +216 -0
  151. package/packages/agentsam-hooks/test/runtime.test.mjs +258 -0
  152. package/packages/agentsam-knowledge/package.json +1 -1
  153. package/packages/agentsam-knowledge/src/backends/index.js +1 -1
  154. package/packages/agentsam-merch/README.md +62 -0
  155. package/packages/agentsam-merch/bin/agentsam-merch.mjs +16 -0
  156. package/packages/agentsam-merch/package.json +65 -0
  157. package/packages/agentsam-merch/profiles/completeful/dtg-back-large.json +42 -0
  158. package/packages/agentsam-merch/profiles/completeful/laser-engraving.json +39 -0
  159. package/packages/agentsam-merch/profiles/generic/embroidery-digitization.json +22 -0
  160. package/packages/agentsam-merch/schemas/collection-candidate.schema.json +66 -0
  161. package/packages/agentsam-merch/schemas/manufacturing-profile.schema.json +221 -0
  162. package/packages/agentsam-merch/src/adapters-completeful.js +50 -0
  163. package/packages/agentsam-merch/src/cli.js +93 -0
  164. package/packages/agentsam-merch/src/collection-lab.js +60 -0
  165. package/packages/agentsam-merch/src/compatibility.js +501 -0
  166. package/packages/agentsam-merch/src/derivatives.js +112 -0
  167. package/packages/agentsam-merch/src/index.d.ts +316 -0
  168. package/packages/agentsam-merch/src/index.js +46 -0
  169. package/packages/agentsam-merch/src/node/index.d.ts +58 -0
  170. package/packages/agentsam-merch/src/node/index.js +6 -0
  171. package/packages/agentsam-merch/src/node/raster.js +142 -0
  172. package/packages/agentsam-merch/src/node/vector.js +239 -0
  173. package/packages/agentsam-merch/src/product-concepts.js +118 -0
  174. package/packages/agentsam-merch/src/profile-registry.js +104 -0
  175. package/packages/agentsam-merch/src/profile.js +158 -0
  176. package/packages/agentsam-merch/src/transforms.js +215 -0
  177. package/packages/agentsam-merch/test/merch.test.mjs +332 -0
  178. package/packages/agentsam-merch/test/node-transforms.test.mjs +149 -0
  179. package/packages/agentsam-nav/dist/Nav.d.ts +43 -0
  180. package/packages/agentsam-nav/dist/NavCollapsible.d.ts +10 -0
  181. package/packages/agentsam-nav/dist/NavContent.d.ts +2 -0
  182. package/packages/agentsam-nav/dist/NavFooter.d.ts +2 -0
  183. package/packages/agentsam-nav/dist/NavGroup.d.ts +3 -0
  184. package/packages/agentsam-nav/dist/NavHeader.d.ts +2 -0
  185. package/packages/agentsam-nav/dist/NavMenu.d.ts +22 -0
  186. package/packages/agentsam-nav/dist/NavProvider.d.ts +35 -0
  187. package/packages/agentsam-nav/dist/NavTrigger.d.ts +2 -0
  188. package/packages/agentsam-nav/dist/Surfaces.d.ts +41 -0
  189. package/packages/agentsam-nav/dist/browser.d.ts +11 -0
  190. package/packages/agentsam-nav/dist/browser.global.js +172 -0
  191. package/packages/agentsam-nav/dist/browser.js +9688 -0
  192. package/packages/agentsam-nav/dist/contracts.d.ts +76 -0
  193. package/packages/agentsam-nav/dist/index.d.ts +11 -0
  194. package/packages/agentsam-nav/dist/index.js +9689 -0
  195. package/packages/agentsam-nav/dist/legacy.css +83 -0
  196. package/packages/agentsam-nav/dist/shell.css +113 -0
  197. package/packages/agentsam-nav/dist/theme.css +113 -0
  198. package/packages/agentsam-nav/dist/utils.d.ts +1 -0
  199. package/packages/agentsam-nav/package.json +1 -1
  200. package/packages/agentsam-queue-control/README.md +4 -1
  201. package/packages/agentsam-queue-control/package.json +4 -3
  202. package/packages/agentsam-queue-control/schemas/job-envelope.schema.json +111 -11
  203. package/packages/agentsam-queue-control/src/adapters/cloudflare.js +34 -6
  204. package/packages/agentsam-queue-control/src/adapters/memory.js +11 -2
  205. package/packages/agentsam-queue-control/src/adapters/sqlite.js +259 -0
  206. package/packages/agentsam-queue-control/src/contracts.js +207 -3
  207. package/packages/agentsam-queue-control/src/control-plane.js +62 -2
  208. package/packages/agentsam-queue-control/src/index.js +1 -0
  209. package/packages/agentsam-queue-control/test/queue-control.test.mjs +310 -0
  210. package/packages/agentsam-queue-control/test/sqlite-adapter.test.mjs +91 -0
  211. package/packages/agentsam-rapid-rust/README.md +3 -0
  212. package/packages/agentsam-repository/README.md +3 -0
  213. package/packages/agentsam-repository/package.json +1 -1
  214. package/packages/agentsam-vault/package.json +1 -1
  215. package/packages/agentsam-workbench/README.md +43 -0
  216. package/packages/agentsam-workbench/package.json +14 -4
  217. package/packages/agentsam-workbench/src/agent/AgentConversationSurface.tsx +108 -0
  218. package/packages/agentsam-workbench/src/agent/AgentPanel.tsx +25 -8
  219. package/packages/agentsam-workbench/src/agent/AgentRuntimeField.tsx +152 -0
  220. package/packages/agentsam-workbench/src/agent/Composer.tsx +10 -1
  221. package/packages/agentsam-workbench/src/agent/RunMode.ts +26 -0
  222. package/packages/agentsam-workbench/src/agent/Thread.tsx +18 -3
  223. package/packages/agentsam-workbench/src/agent/index.ts +3 -0
  224. package/packages/agentsam-workbench/src/index.ts +4 -0
  225. package/packages/agentsam-workbench/src/manufacturing/PreflightIndicator.tsx +203 -0
  226. package/packages/agentsam-workbench/src/manufacturing/index.ts +2 -0
  227. package/packages/agentsam-workbench/src/manufacturing/loading.ts +147 -0
  228. package/packages/agentsam-workbench/src/widgets/BuiltinWidget.tsx +22 -0
  229. package/packages/agentsam-workbench/src/widgets/CountdownWidget.tsx +68 -0
  230. package/packages/agentsam-workbench/src/widgets/WidgetFrame.tsx +56 -0
  231. package/packages/agentsam-workbench/src/widgets/countdown.ts +25 -0
  232. package/packages/agentsam-workbench/src/widgets/index.ts +6 -0
  233. package/packages/agentsam-workbench/src/widgets/registry.ts +13 -0
  234. package/packages/agentsam-workbench/src/widgets/useCountdown.ts +128 -0
  235. package/packages/agentsam-workbench/src/widgets/widgets.css +102 -0
  236. package/packages/connectors/{cloudflare → cfoa}/package.json +3 -3
  237. package/packages/heuristic-theme/package.json +1 -1
  238. package/packages/identity/README.md +3 -0
  239. package/packages/identity/backend/README.md +3 -0
  240. package/packages/identity/package.json +2 -2
  241. package/packages/identity/src/frontend/auth-portal/README.md +3 -0
  242. package/packages/identity/src/index.js +1 -1
  243. package/packages/identity/src/oauth/README.md +4 -1
  244. package/packages/identity/src/oauth/credentials.js +1 -1
  245. package/packages/identity/src/server/worker-router.js +1 -1
  246. package/packages/identity/tests/google-desktop-identity-login.test.mjs +1 -1
  247. package/packages/identity/tests/lane1-packed-consumer.test.mjs +1 -1
  248. package/packages/identity/tests/oauth-presets-accounts-ssot.test.mjs +1 -1
  249. package/packages/providers/completeful/package.json +1 -1
  250. package/packages/theme-church-site/package.json +2 -2
  251. package/packages/theme-companions-site/package.json +2 -2
  252. package/packages/theme-floors-site/package.json +2 -2
  253. package/packages/theme-fuelnfree-site/package.json +2 -2
  254. package/packages/theme-handyman-site/package.json +2 -2
  255. package/packages/theme-insurance-site/package.json +2 -2
  256. package/packages/theme-scenes/package.json +1 -1
  257. package/packages/theme-shinshu-site/package.json +2 -2
  258. package/packages/work-graph/package.json +1 -1
  259. package/protocol/apps/agentsam.app.v1.schema.json +1 -1
  260. package/protocol/apps/agentsam.host-install.v1.schema.json +1 -1
  261. package/protocol/assets/asset-record.v1.schema.json +1 -1
  262. package/protocol/brand/brandpack.v1.schema.json +1 -1
  263. package/protocol/capabilities/capability-manifest.schema.json +1 -1
  264. package/protocol/capabilities/knowledge-search-input.schema.json +1 -0
  265. package/protocol/credentials/issue.v1.schema.json +1 -1
  266. package/protocol/database/agentsam.schema-pack.v1.schema.json +1 -1
  267. package/protocol/database/connection.v1.schema.json +1 -1
  268. package/protocol/embeddings/embedding-profile.v1.schema.json +1 -1
  269. package/protocol/errors/README.md +36 -0
  270. package/protocol/errors/agentsam.error.v2.schema.json +821 -0
  271. package/protocol/errors/error-catalog.json +3506 -158
  272. package/protocol/errors/error-envelope.schema.json +195 -52
  273. package/protocol/errors/recovery.v1.schema.json +1 -1
  274. package/protocol/features/agentsam.feature.v1.schema.json +1 -1
  275. package/protocol/hooks/README.md +18 -0
  276. package/protocol/hooks/agentsam.hook.output.v1.schema.json +27 -0
  277. package/protocol/hooks/agentsam.hook.receipt.v1.schema.json +61 -0
  278. package/protocol/hooks/agentsam.hook.v1.schema.json +35 -0
  279. package/protocol/hooks/agentsam.hooks.config.v1.schema.json +78 -0
  280. package/protocol/local-engine/benchmark.v1.schema.json +1 -1
  281. package/protocol/local-engine/engine.v1.schema.json +1 -1
  282. package/protocol/models/README.md +3 -0
  283. package/protocol/models/model-inventory-v2.schema.json +1 -1
  284. package/protocol/models/provider-model-snapshot.v1.schema.json +22 -0
  285. package/protocol/receipts/agentsam.receipt.v1.json +95 -0
  286. package/protocol/rpc/v1/errors.proto +1 -0
  287. package/protocol/runtime/agentsam.runtime.v1.schema.json +1 -1
  288. package/protocol/runtime/workspace-fs.v1.schema.json +1 -1
  289. package/protocol/sam/activity.v1.schema.json +1 -1
  290. package/protocol/sam/answer.v1.schema.json +1 -1
  291. package/protocol/sam/calibration.v1.schema.json +1 -1
  292. package/protocol/sam/decision-receipt.v1.schema.json +1 -1
  293. package/protocol/sam/evaluation.v1.schema.json +1 -1
  294. package/protocol/sam/operation.schema.json +1 -1
  295. package/protocol/sam/outcome.v1.schema.json +1 -1
  296. package/protocol/sam/question.v1.schema.json +1 -1
  297. package/protocol/sam/result.schema.json +1 -1
  298. package/protocol/sam/state.v1.schema.json +1 -1
  299. package/protocol/scoring/scorecard.v1.schema.json +1 -1
  300. package/protocol/skills/agentsam.interaction.v1.schema.json +1 -1
  301. package/protocol/skills/agentsam.skill.v1.schema.json +1 -1
  302. package/protocol/theme-refinery/product-metadata.schema.json +1 -1
  303. package/protocol/theme-refinery/receipts/products-registry-batch-20260924.json +6 -6
  304. package/protocol/theme-refinery/receipts/theme-harvest-20260924.json +6 -6
  305. package/protocol/theme-refinery/reconciliation-receipt.schema.json +1 -1
  306. package/protocol/ui/icon.v1.schema.json +1 -1
  307. package/python/README.md +20 -0
  308. package/python/agentsam_sdk/errors/__init__.py +4 -0
  309. package/python/agentsam_sdk/errors/vocabulary.py +2730 -0
  310. package/python/agentsam_sdk/hooks/__init__.py +32 -0
  311. package/python/agentsam_sdk/hooks/adapters.py +132 -0
  312. package/python/agentsam_sdk/hooks/contracts.py +121 -0
  313. package/python/agentsam_sdk/hooks/runtime.py +253 -0
  314. package/python/tests/test_hooks.py +115 -0
  315. package/skills/README.md +3 -0
  316. package/src/acp/agent-executor.js +106 -0
  317. package/src/acp/client.js +316 -0
  318. package/src/acp/dependencies.js +426 -0
  319. package/src/acp/http.js +207 -0
  320. package/src/acp/index.js +22 -0
  321. package/src/acp/runs.js +125 -0
  322. package/src/acp/runtime-selection.js +180 -0
  323. package/src/agent/responses-runner.js +145 -1
  324. package/src/cli/command-catalog.js +4 -0
  325. package/src/cli.js +33 -0
  326. package/src/commands/cheat-sheet.js +1 -0
  327. package/src/commands/cloudflare-login.js +1 -1
  328. package/src/commands/cloudflare.js +2 -2
  329. package/src/commands/connections.js +1 -1
  330. package/src/commands/go.js +76 -6
  331. package/src/commands/hooks.js +260 -0
  332. package/src/commands/merch.js +5 -0
  333. package/src/commands/mini.js +1 -1
  334. package/src/commands/models.js +1 -1
  335. package/src/commands/receipts.js +140 -0
  336. package/src/commands/run.js +253 -0
  337. package/src/commands/shell.js +114 -9
  338. package/src/errors/diagnostic.js +9 -9
  339. package/src/go/container.js +1 -1
  340. package/src/go/contract.js +61 -18
  341. package/src/go/discover.js +0 -4
  342. package/src/go/index.js +13 -1
  343. package/src/go/probe.js +109 -0
  344. package/src/go/{cloudflare.js → providers/cloudflare.js} +36 -136
  345. package/src/go/verify.js +1 -1
  346. package/src/index.js +32 -0
  347. package/src/indexing/ingest/inventory.js +1 -1
  348. package/src/knowledge/service/grpc-codec.js +2 -0
  349. package/src/lib/deploy/local-studio.js +2 -2
  350. package/src/lib/mini/scaffold.js +1 -1
  351. package/src/lib/slash-commands.js +1 -0
  352. package/src/lib/whoami-capabilities.js +1 -1
  353. package/src/local/runtime-store.js +54 -0
  354. package/src/mcp/cloudflare-bundles.js +1 -1
  355. package/src/models/catalog.js +0 -49
  356. package/src/models/inventory-core.js +69 -0
  357. package/src/plugins/index.js +9 -1
  358. package/src/plugins/registry.js +115 -6
  359. package/src/receipts/contract.js +68 -0
  360. package/src/receipts/index.js +20 -0
  361. package/src/receipts/prune.js +64 -0
  362. package/src/receipts/sinks.js +285 -0
  363. package/src/rpc/generated/errors_pb.js +49 -1
  364. package/src/tools/runtime.js +13 -5
  365. package/templates/mini/gadget/app.js +15 -40
  366. package/templates/mini/gadget/index.html +7 -7
  367. package/templates/mini/shared/style.css +1 -1
  368. /package/packages/connectors/{cloudflare → cfoa}/OAUTH_STORAGE_AUDIT.md +0 -0
  369. /package/packages/connectors/{cloudflare → cfoa}/src/api-client.js +0 -0
  370. /package/packages/connectors/{cloudflare → cfoa}/src/capabilities.js +0 -0
  371. /package/packages/connectors/{cloudflare → cfoa}/src/credential.js +0 -0
  372. /package/packages/connectors/{cloudflare → cfoa}/src/families/brand-protection.js +0 -0
  373. /package/packages/connectors/{cloudflare → cfoa}/src/families/keyless.js +0 -0
  374. /package/packages/connectors/{cloudflare → cfoa}/src/families/pages.js +0 -0
  375. /package/packages/connectors/{cloudflare → cfoa}/src/families/scanner.js +0 -0
  376. /package/packages/connectors/{cloudflare → cfoa}/src/families/snippets.js +0 -0
  377. /package/packages/connectors/{cloudflare → cfoa}/src/families/tag-gateway.js +0 -0
  378. /package/packages/connectors/{cloudflare → cfoa}/src/families/tags.js +0 -0
  379. /package/packages/connectors/{cloudflare → cfoa}/src/families/token-validation.js +0 -0
  380. /package/packages/connectors/{cloudflare → cfoa}/src/families/vectorize.js +0 -0
  381. /package/packages/connectors/{cloudflare → cfoa}/src/families/workflows.js +0 -0
  382. /package/packages/connectors/{cloudflare → cfoa}/src/index.js +0 -0
  383. /package/packages/connectors/{cloudflare → cfoa}/src/oauth-persist.js +0 -0
  384. /package/packages/connectors/{cloudflare → cfoa}/src/owner.js +0 -0
  385. /package/packages/connectors/{cloudflare → cfoa}/src/permission-options.js +0 -0
  386. /package/packages/connectors/{cloudflare → cfoa}/src/routes.js +0 -0
  387. /package/packages/connectors/{cloudflare → cfoa}/src/scope-catalog.js +0 -0
  388. /package/packages/connectors/{cloudflare → cfoa}/src/vault.js +0 -0
  389. /package/packages/connectors/{cloudflare → cfoa}/tests/capabilities.test.mjs +0 -0
  390. /package/packages/connectors/{cloudflare → cfoa}/tests/connector.test.mjs +0 -0
  391. /package/packages/connectors/{cloudflare → cfoa}/tests/oauth-persist.test.mjs +0 -0
  392. /package/packages/identity/src/oauth/{google-desktop-exchange.js → goaude.js} +0 -0
@@ -0,0 +1,2730 @@
1
+ # Generated by scripts/generate-error-contracts.mjs. Do not edit.
2
+ """Cross-language AgentSam error vocabulary generated from the canonical catalog."""
3
+ from __future__ import annotations
4
+
5
+ ERROR_SCHEMA_VERSION = 2
6
+ ERROR_REASON_POLICY = {
7
+ "unknown": {
8
+ "code": "UNKNOWN",
9
+ "domain": "runtime",
10
+ "failure_class": "internal",
11
+ "severity": "blocking_internal",
12
+ "retryable": False,
13
+ "resolution_owner": "unknown",
14
+ "remediation_action": "inspect_platform",
15
+ "default_stage": "execute"
16
+ },
17
+ "input_invalid": {
18
+ "code": "INVALID_ARGUMENT",
19
+ "domain": "runtime",
20
+ "failure_class": "validation",
21
+ "severity": "blocking_user_fixable",
22
+ "retryable": False,
23
+ "resolution_owner": "user",
24
+ "remediation_action": "change_input",
25
+ "default_stage": "validate"
26
+ },
27
+ "input_out_of_range": {
28
+ "code": "OUT_OF_RANGE",
29
+ "domain": "runtime",
30
+ "failure_class": "validation",
31
+ "severity": "blocking_user_fixable",
32
+ "retryable": False,
33
+ "resolution_owner": "user",
34
+ "remediation_action": "change_input",
35
+ "default_stage": "execute"
36
+ },
37
+ "precondition_failed": {
38
+ "code": "FAILED_PRECONDITION",
39
+ "domain": "runtime",
40
+ "failure_class": "configuration",
41
+ "severity": "blocking_user_fixable",
42
+ "retryable": False,
43
+ "resolution_owner": "user",
44
+ "remediation_action": "change_configuration",
45
+ "default_stage": "validate"
46
+ },
47
+ "unsupported_operation": {
48
+ "code": "UNIMPLEMENTED",
49
+ "domain": "runtime",
50
+ "failure_class": "validation",
51
+ "severity": "blocking_user_fixable",
52
+ "retryable": False,
53
+ "resolution_owner": "user",
54
+ "remediation_action": "change_configuration",
55
+ "default_stage": "validate"
56
+ },
57
+ "auth_missing": {
58
+ "code": "UNAUTHENTICATED",
59
+ "domain": "auth",
60
+ "failure_class": "authentication",
61
+ "severity": "blocking_user_fixable",
62
+ "retryable": False,
63
+ "resolution_owner": "user",
64
+ "remediation_action": "reauthenticate",
65
+ "default_stage": "authorize"
66
+ },
67
+ "auth_invalid": {
68
+ "code": "UNAUTHENTICATED",
69
+ "domain": "auth",
70
+ "failure_class": "authentication",
71
+ "severity": "blocking_user_fixable",
72
+ "retryable": False,
73
+ "resolution_owner": "user",
74
+ "remediation_action": "reauthenticate",
75
+ "default_stage": "authorize"
76
+ },
77
+ "permission_denied": {
78
+ "code": "PERMISSION_DENIED",
79
+ "domain": "auth",
80
+ "failure_class": "authorization",
81
+ "severity": "policy_blocking",
82
+ "retryable": False,
83
+ "resolution_owner": "policy",
84
+ "remediation_action": "request_permission",
85
+ "default_stage": "authorize"
86
+ },
87
+ "user_permission_denied": {
88
+ "code": "PERMISSION_DENIED",
89
+ "domain": "auth",
90
+ "failure_class": "authorization",
91
+ "severity": "blocking_user_fixable",
92
+ "retryable": False,
93
+ "resolution_owner": "user",
94
+ "remediation_action": "request_permission",
95
+ "default_stage": "authorize"
96
+ },
97
+ "provider_not_connected": {
98
+ "code": "FAILED_PRECONDITION",
99
+ "domain": "provider",
100
+ "failure_class": "execution",
101
+ "severity": "blocking_user_fixable",
102
+ "retryable": False,
103
+ "resolution_owner": "user",
104
+ "remediation_action": "connect_provider",
105
+ "default_stage": "connect"
106
+ },
107
+ "provider_credential_missing": {
108
+ "code": "FAILED_PRECONDITION",
109
+ "domain": "provider",
110
+ "failure_class": "authentication",
111
+ "severity": "blocking_user_fixable",
112
+ "retryable": False,
113
+ "resolution_owner": "user",
114
+ "remediation_action": "configure_provider_credential",
115
+ "default_stage": "authorize"
116
+ },
117
+ "provider_credential_invalid": {
118
+ "code": "UNAUTHENTICATED",
119
+ "domain": "provider",
120
+ "failure_class": "authentication",
121
+ "severity": "blocking_user_fixable",
122
+ "retryable": False,
123
+ "resolution_owner": "user",
124
+ "remediation_action": "refresh_provider_credential",
125
+ "default_stage": "authorize"
126
+ },
127
+ "provider_credential_expired": {
128
+ "code": "UNAUTHENTICATED",
129
+ "domain": "provider",
130
+ "failure_class": "authentication",
131
+ "severity": "blocking_user_fixable",
132
+ "retryable": False,
133
+ "resolution_owner": "user",
134
+ "remediation_action": "refresh_provider_credential",
135
+ "default_stage": "authorize"
136
+ },
137
+ "provider_scope_insufficient": {
138
+ "code": "PERMISSION_DENIED",
139
+ "domain": "provider",
140
+ "failure_class": "authorization",
141
+ "severity": "blocking_user_fixable",
142
+ "retryable": False,
143
+ "resolution_owner": "user",
144
+ "remediation_action": "request_permission",
145
+ "default_stage": "authorize"
146
+ },
147
+ "provider_budget_exhausted": {
148
+ "code": "RESOURCE_EXHAUSTED",
149
+ "domain": "provider",
150
+ "failure_class": "capacity",
151
+ "severity": "blocking_user_fixable",
152
+ "retryable": False,
153
+ "resolution_owner": "user",
154
+ "remediation_action": "add_budget",
155
+ "default_stage": "execute"
156
+ },
157
+ "provider_quota_exhausted": {
158
+ "code": "RESOURCE_EXHAUSTED",
159
+ "domain": "provider",
160
+ "failure_class": "capacity",
161
+ "severity": "blocking_user_fixable",
162
+ "retryable": False,
163
+ "resolution_owner": "user",
164
+ "remediation_action": "increase_quota",
165
+ "default_stage": "execute"
166
+ },
167
+ "provider_rate_limited": {
168
+ "code": "RESOURCE_EXHAUSTED",
169
+ "domain": "provider",
170
+ "failure_class": "capacity",
171
+ "severity": "transient",
172
+ "retryable": True,
173
+ "resolution_owner": "provider",
174
+ "remediation_action": "retry_later",
175
+ "default_stage": "execute"
176
+ },
177
+ "provider_capacity_exhausted": {
178
+ "code": "RESOURCE_EXHAUSTED",
179
+ "domain": "provider",
180
+ "failure_class": "capacity",
181
+ "severity": "transient",
182
+ "retryable": True,
183
+ "resolution_owner": "provider",
184
+ "remediation_action": "retry_later",
185
+ "default_stage": "execute"
186
+ },
187
+ "provider_unavailable": {
188
+ "code": "UNAVAILABLE",
189
+ "domain": "provider",
190
+ "failure_class": "availability",
191
+ "severity": "transient",
192
+ "retryable": True,
193
+ "resolution_owner": "provider",
194
+ "remediation_action": "retry_later",
195
+ "default_stage": "execute"
196
+ },
197
+ "provider_overloaded": {
198
+ "code": "UNAVAILABLE",
199
+ "domain": "provider",
200
+ "failure_class": "execution",
201
+ "severity": "transient",
202
+ "retryable": True,
203
+ "resolution_owner": "provider",
204
+ "remediation_action": "retry_later",
205
+ "default_stage": "execute"
206
+ },
207
+ "provider_request_invalid": {
208
+ "code": "INVALID_ARGUMENT",
209
+ "domain": "provider",
210
+ "failure_class": "validation",
211
+ "severity": "blocking_user_fixable",
212
+ "retryable": False,
213
+ "resolution_owner": "user",
214
+ "remediation_action": "change_input",
215
+ "default_stage": "validate"
216
+ },
217
+ "provider_model_not_found": {
218
+ "code": "NOT_FOUND",
219
+ "domain": "provider",
220
+ "failure_class": "availability",
221
+ "severity": "blocking_user_fixable",
222
+ "retryable": False,
223
+ "resolution_owner": "user",
224
+ "remediation_action": "select_model",
225
+ "default_stage": "resolve"
226
+ },
227
+ "provider_region_unsupported": {
228
+ "code": "FAILED_PRECONDITION",
229
+ "domain": "provider",
230
+ "failure_class": "validation",
231
+ "severity": "blocking_user_fixable",
232
+ "retryable": False,
233
+ "resolution_owner": "user",
234
+ "remediation_action": "change_region",
235
+ "default_stage": "validate"
236
+ },
237
+ "provider_content_blocked": {
238
+ "code": "PERMISSION_DENIED",
239
+ "domain": "provider",
240
+ "failure_class": "authorization",
241
+ "severity": "policy_blocking",
242
+ "retryable": False,
243
+ "resolution_owner": "policy",
244
+ "remediation_action": "none",
245
+ "default_stage": "execute"
246
+ },
247
+ "context_window_exceeded": {
248
+ "code": "RESOURCE_EXHAUSTED",
249
+ "domain": "model",
250
+ "failure_class": "capacity",
251
+ "severity": "blocking_user_fixable",
252
+ "retryable": False,
253
+ "resolution_owner": "user",
254
+ "remediation_action": "reduce_scope",
255
+ "default_stage": "execute"
256
+ },
257
+ "service_tier_unsupported": {
258
+ "code": "FAILED_PRECONDITION",
259
+ "domain": "model",
260
+ "failure_class": "validation",
261
+ "severity": "blocking_user_fixable",
262
+ "retryable": False,
263
+ "resolution_owner": "user",
264
+ "remediation_action": "change_configuration",
265
+ "default_stage": "validate"
266
+ },
267
+ "continuation_invalid": {
268
+ "code": "FAILED_PRECONDITION",
269
+ "domain": "model",
270
+ "failure_class": "validation",
271
+ "severity": "transient",
272
+ "retryable": True,
273
+ "resolution_owner": "agentsam",
274
+ "remediation_action": "retry",
275
+ "default_stage": "validate"
276
+ },
277
+ "target_not_found": {
278
+ "code": "NOT_FOUND",
279
+ "domain": "runtime",
280
+ "failure_class": "availability",
281
+ "severity": "blocking_user_fixable",
282
+ "retryable": False,
283
+ "resolution_owner": "user",
284
+ "remediation_action": "change_input",
285
+ "default_stage": "resolve"
286
+ },
287
+ "already_exists": {
288
+ "code": "ALREADY_EXISTS",
289
+ "domain": "runtime",
290
+ "failure_class": "conflict",
291
+ "severity": "blocking_user_fixable",
292
+ "retryable": False,
293
+ "resolution_owner": "user",
294
+ "remediation_action": "change_input",
295
+ "default_stage": "execute"
296
+ },
297
+ "conflict": {
298
+ "code": "ABORTED",
299
+ "domain": "runtime",
300
+ "failure_class": "conflict",
301
+ "severity": "blocking_user_fixable",
302
+ "retryable": False,
303
+ "resolution_owner": "user",
304
+ "remediation_action": "change_input",
305
+ "default_stage": "execute"
306
+ },
307
+ "stale_version": {
308
+ "code": "ABORTED",
309
+ "domain": "runtime",
310
+ "failure_class": "conflict",
311
+ "severity": "transient",
312
+ "retryable": True,
313
+ "resolution_owner": "user",
314
+ "remediation_action": "retry",
315
+ "default_stage": "execute"
316
+ },
317
+ "rate_limited": {
318
+ "code": "RESOURCE_EXHAUSTED",
319
+ "domain": "runtime",
320
+ "failure_class": "capacity",
321
+ "severity": "transient",
322
+ "retryable": True,
323
+ "resolution_owner": "provider",
324
+ "remediation_action": "retry_later",
325
+ "default_stage": "execute"
326
+ },
327
+ "quota_exhausted": {
328
+ "code": "RESOURCE_EXHAUSTED",
329
+ "domain": "runtime",
330
+ "failure_class": "capacity",
331
+ "severity": "blocking_user_fixable",
332
+ "retryable": False,
333
+ "resolution_owner": "user",
334
+ "remediation_action": "increase_quota",
335
+ "default_stage": "execute"
336
+ },
337
+ "capacity_exhausted": {
338
+ "code": "RESOURCE_EXHAUSTED",
339
+ "domain": "runtime",
340
+ "failure_class": "capacity",
341
+ "severity": "transient",
342
+ "retryable": True,
343
+ "resolution_owner": "provider",
344
+ "remediation_action": "retry_later",
345
+ "default_stage": "execute"
346
+ },
347
+ "transport_unreachable": {
348
+ "code": "UNAVAILABLE",
349
+ "domain": "transport",
350
+ "failure_class": "availability",
351
+ "severity": "transient",
352
+ "retryable": True,
353
+ "resolution_owner": "provider",
354
+ "remediation_action": "retry_later",
355
+ "default_stage": "connect"
356
+ },
357
+ "transport_refused": {
358
+ "code": "UNAVAILABLE",
359
+ "domain": "transport",
360
+ "failure_class": "availability",
361
+ "severity": "transient",
362
+ "retryable": True,
363
+ "resolution_owner": "provider",
364
+ "remediation_action": "retry_later",
365
+ "default_stage": "connect"
366
+ },
367
+ "transport_timeout": {
368
+ "code": "DEADLINE_EXCEEDED",
369
+ "domain": "transport",
370
+ "failure_class": "timeout",
371
+ "severity": "transient",
372
+ "retryable": True,
373
+ "resolution_owner": "provider",
374
+ "remediation_action": "retry_later",
375
+ "default_stage": "execute"
376
+ },
377
+ "upstream_invalid_response": {
378
+ "code": "UNAVAILABLE",
379
+ "domain": "runtime",
380
+ "failure_class": "validation",
381
+ "severity": "transient",
382
+ "retryable": True,
383
+ "resolution_owner": "provider",
384
+ "remediation_action": "retry_later",
385
+ "default_stage": "validate"
386
+ },
387
+ "dns_unresolved": {
388
+ "code": "UNAVAILABLE",
389
+ "domain": "transport",
390
+ "failure_class": "transport",
391
+ "severity": "transient",
392
+ "retryable": True,
393
+ "resolution_owner": "provider",
394
+ "remediation_action": "retry_later",
395
+ "default_stage": "connect"
396
+ },
397
+ "tls_handshake_failed": {
398
+ "code": "UNAVAILABLE",
399
+ "domain": "transport",
400
+ "failure_class": "transport",
401
+ "severity": "blocking_internal",
402
+ "retryable": False,
403
+ "resolution_owner": "agentsam",
404
+ "remediation_action": "inspect_platform",
405
+ "default_stage": "connect"
406
+ },
407
+ "tls_certificate_invalid": {
408
+ "code": "UNAVAILABLE",
409
+ "domain": "transport",
410
+ "failure_class": "transport",
411
+ "severity": "blocking_internal",
412
+ "retryable": False,
413
+ "resolution_owner": "agentsam",
414
+ "remediation_action": "inspect_platform",
415
+ "default_stage": "connect"
416
+ },
417
+ "tunnel_connector_unavailable": {
418
+ "code": "UNAVAILABLE",
419
+ "domain": "transport",
420
+ "failure_class": "availability",
421
+ "severity": "transient",
422
+ "retryable": True,
423
+ "resolution_owner": "user",
424
+ "remediation_action": "reconnect_service",
425
+ "default_stage": "connect"
426
+ },
427
+ "cancelled": {
428
+ "code": "CANCELLED",
429
+ "domain": "runtime",
430
+ "failure_class": "cancellation",
431
+ "severity": "blocking_user_fixable",
432
+ "retryable": False,
433
+ "resolution_owner": "user",
434
+ "remediation_action": "none",
435
+ "default_stage": "execute"
436
+ },
437
+ "deadline_exceeded": {
438
+ "code": "DEADLINE_EXCEEDED",
439
+ "domain": "runtime",
440
+ "failure_class": "timeout",
441
+ "severity": "transient",
442
+ "retryable": True,
443
+ "resolution_owner": "unknown",
444
+ "remediation_action": "retry_later",
445
+ "default_stage": "execute"
446
+ },
447
+ "execution_timeout": {
448
+ "code": "DEADLINE_EXCEEDED",
449
+ "domain": "runtime",
450
+ "failure_class": "timeout",
451
+ "severity": "transient",
452
+ "retryable": True,
453
+ "resolution_owner": "unknown",
454
+ "remediation_action": "retry_later",
455
+ "default_stage": "execute"
456
+ },
457
+ "execution_failed": {
458
+ "code": "INTERNAL",
459
+ "domain": "runtime",
460
+ "failure_class": "internal",
461
+ "severity": "blocking_internal",
462
+ "retryable": False,
463
+ "resolution_owner": "unknown",
464
+ "remediation_action": "inspect_platform",
465
+ "default_stage": "execute"
466
+ },
467
+ "process_spawn_failed": {
468
+ "code": "FAILED_PRECONDITION",
469
+ "domain": "runtime",
470
+ "failure_class": "process",
471
+ "severity": "blocking_user_fixable",
472
+ "retryable": False,
473
+ "resolution_owner": "user",
474
+ "remediation_action": "install_dependency",
475
+ "default_stage": "execute"
476
+ },
477
+ "process_crashed": {
478
+ "code": "INTERNAL",
479
+ "domain": "runtime",
480
+ "failure_class": "process",
481
+ "severity": "blocking_internal",
482
+ "retryable": False,
483
+ "resolution_owner": "unknown",
484
+ "remediation_action": "inspect_platform",
485
+ "default_stage": "execute"
486
+ },
487
+ "process_output_limit": {
488
+ "code": "RESOURCE_EXHAUSTED",
489
+ "domain": "runtime",
490
+ "failure_class": "capacity",
491
+ "severity": "blocking_user_fixable",
492
+ "retryable": False,
493
+ "resolution_owner": "user",
494
+ "remediation_action": "reduce_scope",
495
+ "default_stage": "execute"
496
+ },
497
+ "device_not_enrolled": {
498
+ "code": "FAILED_PRECONDITION",
499
+ "domain": "device",
500
+ "failure_class": "execution",
501
+ "severity": "blocking_user_fixable",
502
+ "retryable": False,
503
+ "resolution_owner": "user",
504
+ "remediation_action": "reenroll_device",
505
+ "default_stage": "execute"
506
+ },
507
+ "device_credential_missing": {
508
+ "code": "FAILED_PRECONDITION",
509
+ "domain": "device",
510
+ "failure_class": "authentication",
511
+ "severity": "blocking_user_fixable",
512
+ "retryable": False,
513
+ "resolution_owner": "user",
514
+ "remediation_action": "reenroll_device",
515
+ "default_stage": "authorize"
516
+ },
517
+ "device_credential_invalid": {
518
+ "code": "UNAUTHENTICATED",
519
+ "domain": "device",
520
+ "failure_class": "authentication",
521
+ "severity": "blocking_user_fixable",
522
+ "retryable": False,
523
+ "resolution_owner": "user",
524
+ "remediation_action": "reenroll_device",
525
+ "default_stage": "authorize"
526
+ },
527
+ "device_credential_expired": {
528
+ "code": "UNAUTHENTICATED",
529
+ "domain": "device",
530
+ "failure_class": "authentication",
531
+ "severity": "blocking_user_fixable",
532
+ "retryable": False,
533
+ "resolution_owner": "user",
534
+ "remediation_action": "reenroll_device",
535
+ "default_stage": "authorize"
536
+ },
537
+ "device_registration_missing": {
538
+ "code": "FAILED_PRECONDITION",
539
+ "domain": "device",
540
+ "failure_class": "execution",
541
+ "severity": "blocking_user_fixable",
542
+ "retryable": False,
543
+ "resolution_owner": "user",
544
+ "remediation_action": "reenroll_device",
545
+ "default_stage": "resolve"
546
+ },
547
+ "device_registration_stale": {
548
+ "code": "FAILED_PRECONDITION",
549
+ "domain": "device",
550
+ "failure_class": "conflict",
551
+ "severity": "blocking_user_fixable",
552
+ "retryable": False,
553
+ "resolution_owner": "user",
554
+ "remediation_action": "reenroll_device",
555
+ "default_stage": "execute"
556
+ },
557
+ "connection_revoked": {
558
+ "code": "FAILED_PRECONDITION",
559
+ "domain": "identity",
560
+ "failure_class": "execution",
561
+ "severity": "blocking_user_fixable",
562
+ "retryable": False,
563
+ "resolution_owner": "user",
564
+ "remediation_action": "reenroll_device",
565
+ "default_stage": "connect"
566
+ },
567
+ "connection_disabled": {
568
+ "code": "FAILED_PRECONDITION",
569
+ "domain": "identity",
570
+ "failure_class": "execution",
571
+ "severity": "blocking_user_fixable",
572
+ "retryable": False,
573
+ "resolution_owner": "user",
574
+ "remediation_action": "reconnect_service",
575
+ "default_stage": "connect"
576
+ },
577
+ "identity_resolution_failed": {
578
+ "code": "INTERNAL",
579
+ "domain": "identity",
580
+ "failure_class": "identity",
581
+ "severity": "blocking_internal",
582
+ "retryable": False,
583
+ "resolution_owner": "agentsam",
584
+ "remediation_action": "inspect_platform",
585
+ "default_stage": "execute"
586
+ },
587
+ "identity_mismatch": {
588
+ "code": "INTERNAL",
589
+ "domain": "identity",
590
+ "failure_class": "identity",
591
+ "severity": "blocking_internal",
592
+ "retryable": False,
593
+ "resolution_owner": "agentsam",
594
+ "remediation_action": "inspect_platform",
595
+ "default_stage": "validate"
596
+ },
597
+ "repository_scope_violation": {
598
+ "code": "PERMISSION_DENIED",
599
+ "domain": "repository",
600
+ "failure_class": "authorization",
601
+ "severity": "policy_blocking",
602
+ "retryable": False,
603
+ "resolution_owner": "policy",
604
+ "remediation_action": "none",
605
+ "default_stage": "authorize"
606
+ },
607
+ "repository_changed": {
608
+ "code": "ABORTED",
609
+ "domain": "repository",
610
+ "failure_class": "conflict",
611
+ "severity": "transient",
612
+ "retryable": True,
613
+ "resolution_owner": "user",
614
+ "remediation_action": "retry",
615
+ "default_stage": "execute"
616
+ },
617
+ "index_stale": {
618
+ "code": "FAILED_PRECONDITION",
619
+ "domain": "indexing",
620
+ "failure_class": "conflict",
621
+ "severity": "blocking_user_fixable",
622
+ "retryable": False,
623
+ "resolution_owner": "user",
624
+ "remediation_action": "retry",
625
+ "default_stage": "persist"
626
+ },
627
+ "index_failed": {
628
+ "code": "INTERNAL",
629
+ "domain": "indexing",
630
+ "failure_class": "internal",
631
+ "severity": "blocking_internal",
632
+ "retryable": False,
633
+ "resolution_owner": "agentsam",
634
+ "remediation_action": "inspect_platform",
635
+ "default_stage": "persist"
636
+ },
637
+ "embedding_failed": {
638
+ "code": "INTERNAL",
639
+ "domain": "knowledge",
640
+ "failure_class": "persistence",
641
+ "severity": "blocking_internal",
642
+ "retryable": False,
643
+ "resolution_owner": "unknown",
644
+ "remediation_action": "inspect_platform",
645
+ "default_stage": "persist"
646
+ },
647
+ "vector_store_failed": {
648
+ "code": "INTERNAL",
649
+ "domain": "knowledge",
650
+ "failure_class": "persistence",
651
+ "severity": "blocking_internal",
652
+ "retryable": False,
653
+ "resolution_owner": "agentsam",
654
+ "remediation_action": "inspect_platform",
655
+ "default_stage": "persist"
656
+ },
657
+ "github_installation_missing": {
658
+ "code": "FAILED_PRECONDITION",
659
+ "domain": "repository",
660
+ "failure_class": "execution",
661
+ "severity": "blocking_user_fixable",
662
+ "retryable": False,
663
+ "resolution_owner": "user",
664
+ "remediation_action": "connect_provider",
665
+ "default_stage": "resolve"
666
+ },
667
+ "github_repository_not_found": {
668
+ "code": "NOT_FOUND",
669
+ "domain": "repository",
670
+ "failure_class": "availability",
671
+ "severity": "blocking_user_fixable",
672
+ "retryable": False,
673
+ "resolution_owner": "user",
674
+ "remediation_action": "change_input",
675
+ "default_stage": "resolve"
676
+ },
677
+ "github_rate_limited": {
678
+ "code": "RESOURCE_EXHAUSTED",
679
+ "domain": "repository",
680
+ "failure_class": "capacity",
681
+ "severity": "transient",
682
+ "retryable": True,
683
+ "resolution_owner": "provider",
684
+ "remediation_action": "retry_later",
685
+ "default_stage": "execute"
686
+ },
687
+ "github_secondary_rate_limited": {
688
+ "code": "RESOURCE_EXHAUSTED",
689
+ "domain": "repository",
690
+ "failure_class": "capacity",
691
+ "severity": "transient",
692
+ "retryable": True,
693
+ "resolution_owner": "provider",
694
+ "remediation_action": "retry_later",
695
+ "default_stage": "execute"
696
+ },
697
+ "github_scope_insufficient": {
698
+ "code": "PERMISSION_DENIED",
699
+ "domain": "repository",
700
+ "failure_class": "authorization",
701
+ "severity": "blocking_user_fixable",
702
+ "retryable": False,
703
+ "resolution_owner": "user",
704
+ "remediation_action": "request_permission",
705
+ "default_stage": "authorize"
706
+ },
707
+ "cloudflare_workers_cpu_exhausted": {
708
+ "code": "RESOURCE_EXHAUSTED",
709
+ "domain": "deployment",
710
+ "failure_class": "capacity",
711
+ "severity": "blocking_internal",
712
+ "retryable": False,
713
+ "resolution_owner": "agentsam",
714
+ "remediation_action": "inspect_platform",
715
+ "default_stage": "execute"
716
+ },
717
+ "cloudflare_service_binding_unavailable": {
718
+ "code": "UNAVAILABLE",
719
+ "domain": "deployment",
720
+ "failure_class": "availability",
721
+ "severity": "transient",
722
+ "retryable": True,
723
+ "resolution_owner": "provider",
724
+ "remediation_action": "retry_later",
725
+ "default_stage": "execute"
726
+ },
727
+ "cloudflare_durable_object_unavailable": {
728
+ "code": "UNAVAILABLE",
729
+ "domain": "deployment",
730
+ "failure_class": "availability",
731
+ "severity": "transient",
732
+ "retryable": True,
733
+ "resolution_owner": "provider",
734
+ "remediation_action": "retry_later",
735
+ "default_stage": "execute"
736
+ },
737
+ "cloudflare_d1_unavailable": {
738
+ "code": "UNAVAILABLE",
739
+ "domain": "deployment",
740
+ "failure_class": "availability",
741
+ "severity": "transient",
742
+ "retryable": True,
743
+ "resolution_owner": "provider",
744
+ "remediation_action": "retry_later",
745
+ "default_stage": "execute"
746
+ },
747
+ "cloudflare_r2_unavailable": {
748
+ "code": "UNAVAILABLE",
749
+ "domain": "deployment",
750
+ "failure_class": "availability",
751
+ "severity": "transient",
752
+ "retryable": True,
753
+ "resolution_owner": "provider",
754
+ "remediation_action": "retry_later",
755
+ "default_stage": "execute"
756
+ },
757
+ "docker_daemon_unavailable": {
758
+ "code": "UNAVAILABLE",
759
+ "domain": "runtime",
760
+ "failure_class": "availability",
761
+ "severity": "blocking_user_fixable",
762
+ "retryable": False,
763
+ "resolution_owner": "user",
764
+ "remediation_action": "restart_runtime",
765
+ "default_stage": "execute"
766
+ },
767
+ "docker_image_not_found": {
768
+ "code": "NOT_FOUND",
769
+ "domain": "runtime",
770
+ "failure_class": "availability",
771
+ "severity": "blocking_user_fixable",
772
+ "retryable": False,
773
+ "resolution_owner": "user",
774
+ "remediation_action": "change_input",
775
+ "default_stage": "resolve"
776
+ },
777
+ "docker_build_failed": {
778
+ "code": "FAILED_PRECONDITION",
779
+ "domain": "runtime",
780
+ "failure_class": "execution",
781
+ "severity": "blocking_user_fixable",
782
+ "retryable": False,
783
+ "resolution_owner": "user",
784
+ "remediation_action": "change_input",
785
+ "default_stage": "build"
786
+ },
787
+ "docker_container_failed": {
788
+ "code": "FAILED_PRECONDITION",
789
+ "domain": "runtime",
790
+ "failure_class": "execution",
791
+ "severity": "blocking_user_fixable",
792
+ "retryable": False,
793
+ "resolution_owner": "user",
794
+ "remediation_action": "change_configuration",
795
+ "default_stage": "execute"
796
+ },
797
+ "docker_registry_auth_failed": {
798
+ "code": "UNAUTHENTICATED",
799
+ "domain": "runtime",
800
+ "failure_class": "execution",
801
+ "severity": "blocking_user_fixable",
802
+ "retryable": False,
803
+ "resolution_owner": "user",
804
+ "remediation_action": "reauthenticate",
805
+ "default_stage": "execute"
806
+ },
807
+ "docker_pull_rate_limited": {
808
+ "code": "RESOURCE_EXHAUSTED",
809
+ "domain": "runtime",
810
+ "failure_class": "capacity",
811
+ "severity": "transient",
812
+ "retryable": True,
813
+ "resolution_owner": "provider",
814
+ "remediation_action": "retry_later",
815
+ "default_stage": "execute"
816
+ },
817
+ "gcp_project_missing": {
818
+ "code": "FAILED_PRECONDITION",
819
+ "domain": "deployment",
820
+ "failure_class": "execution",
821
+ "severity": "blocking_user_fixable",
822
+ "retryable": False,
823
+ "resolution_owner": "user",
824
+ "remediation_action": "change_configuration",
825
+ "default_stage": "resolve"
826
+ },
827
+ "gcp_api_disabled": {
828
+ "code": "FAILED_PRECONDITION",
829
+ "domain": "deployment",
830
+ "failure_class": "execution",
831
+ "severity": "blocking_user_fixable",
832
+ "retryable": False,
833
+ "resolution_owner": "user",
834
+ "remediation_action": "change_configuration",
835
+ "default_stage": "execute"
836
+ },
837
+ "gcp_quota_exhausted": {
838
+ "code": "RESOURCE_EXHAUSTED",
839
+ "domain": "deployment",
840
+ "failure_class": "capacity",
841
+ "severity": "blocking_user_fixable",
842
+ "retryable": False,
843
+ "resolution_owner": "user",
844
+ "remediation_action": "increase_quota",
845
+ "default_stage": "execute"
846
+ },
847
+ "gcp_vm_not_found": {
848
+ "code": "NOT_FOUND",
849
+ "domain": "deployment",
850
+ "failure_class": "availability",
851
+ "severity": "blocking_user_fixable",
852
+ "retryable": False,
853
+ "resolution_owner": "user",
854
+ "remediation_action": "change_input",
855
+ "default_stage": "resolve"
856
+ },
857
+ "gcp_vm_unavailable": {
858
+ "code": "UNAVAILABLE",
859
+ "domain": "deployment",
860
+ "failure_class": "availability",
861
+ "severity": "transient",
862
+ "retryable": True,
863
+ "resolution_owner": "provider",
864
+ "remediation_action": "retry_later",
865
+ "default_stage": "execute"
866
+ },
867
+ "cad_tool_not_installed": {
868
+ "code": "FAILED_PRECONDITION",
869
+ "domain": "cad",
870
+ "failure_class": "dependency",
871
+ "severity": "blocking_user_fixable",
872
+ "retryable": False,
873
+ "resolution_owner": "user",
874
+ "remediation_action": "install_dependency",
875
+ "default_stage": "install"
876
+ },
877
+ "cad_tool_not_executable": {
878
+ "code": "FAILED_PRECONDITION",
879
+ "domain": "cad",
880
+ "failure_class": "execution",
881
+ "severity": "blocking_user_fixable",
882
+ "retryable": False,
883
+ "resolution_owner": "user",
884
+ "remediation_action": "configure_dependency",
885
+ "default_stage": "execute"
886
+ },
887
+ "cad_tool_version_incompatible": {
888
+ "code": "FAILED_PRECONDITION",
889
+ "domain": "cad",
890
+ "failure_class": "execution",
891
+ "severity": "blocking_user_fixable",
892
+ "retryable": False,
893
+ "resolution_owner": "user",
894
+ "remediation_action": "upgrade_dependency",
895
+ "default_stage": "execute"
896
+ },
897
+ "cad_component_missing": {
898
+ "code": "FAILED_PRECONDITION",
899
+ "domain": "cad",
900
+ "failure_class": "dependency",
901
+ "severity": "blocking_user_fixable",
902
+ "retryable": False,
903
+ "resolution_owner": "user",
904
+ "remediation_action": "install_dependency",
905
+ "default_stage": "resolve"
906
+ },
907
+ "cad_dependency_missing": {
908
+ "code": "FAILED_PRECONDITION",
909
+ "domain": "cad",
910
+ "failure_class": "dependency",
911
+ "severity": "blocking_user_fixable",
912
+ "retryable": False,
913
+ "resolution_owner": "user",
914
+ "remediation_action": "install_dependency",
915
+ "default_stage": "resolve"
916
+ },
917
+ "cad_dependency_version_incompatible": {
918
+ "code": "FAILED_PRECONDITION",
919
+ "domain": "cad",
920
+ "failure_class": "dependency",
921
+ "severity": "blocking_user_fixable",
922
+ "retryable": False,
923
+ "resolution_owner": "user",
924
+ "remediation_action": "upgrade_dependency",
925
+ "default_stage": "execute"
926
+ },
927
+ "cad_source_parse_failed": {
928
+ "code": "INVALID_ARGUMENT",
929
+ "domain": "cad",
930
+ "failure_class": "execution",
931
+ "severity": "blocking_user_fixable",
932
+ "retryable": False,
933
+ "resolution_owner": "user",
934
+ "remediation_action": "change_input",
935
+ "default_stage": "execute"
936
+ },
937
+ "cad_input_format_unsupported": {
938
+ "code": "INVALID_ARGUMENT",
939
+ "domain": "cad",
940
+ "failure_class": "validation",
941
+ "severity": "blocking_user_fixable",
942
+ "retryable": False,
943
+ "resolution_owner": "user",
944
+ "remediation_action": "change_input",
945
+ "default_stage": "validate"
946
+ },
947
+ "cad_import_failed": {
948
+ "code": "INVALID_ARGUMENT",
949
+ "domain": "cad",
950
+ "failure_class": "execution",
951
+ "severity": "blocking_user_fixable",
952
+ "retryable": False,
953
+ "resolution_owner": "user",
954
+ "remediation_action": "change_input",
955
+ "default_stage": "execute"
956
+ },
957
+ "cad_model_recompute_failed": {
958
+ "code": "FAILED_PRECONDITION",
959
+ "domain": "cad",
960
+ "failure_class": "execution",
961
+ "severity": "blocking_user_fixable",
962
+ "retryable": False,
963
+ "resolution_owner": "user",
964
+ "remediation_action": "change_input",
965
+ "default_stage": "execute"
966
+ },
967
+ "cad_constraint_unsatisfied": {
968
+ "code": "FAILED_PRECONDITION",
969
+ "domain": "cad",
970
+ "failure_class": "execution",
971
+ "severity": "blocking_user_fixable",
972
+ "retryable": False,
973
+ "resolution_owner": "user",
974
+ "remediation_action": "change_input",
975
+ "default_stage": "execute"
976
+ },
977
+ "cad_geometry_invalid": {
978
+ "code": "INVALID_ARGUMENT",
979
+ "domain": "cad",
980
+ "failure_class": "validation",
981
+ "severity": "blocking_user_fixable",
982
+ "retryable": False,
983
+ "resolution_owner": "user",
984
+ "remediation_action": "change_input",
985
+ "default_stage": "validate"
986
+ },
987
+ "cad_null_shape": {
988
+ "code": "INVALID_ARGUMENT",
989
+ "domain": "cad",
990
+ "failure_class": "execution",
991
+ "severity": "blocking_user_fixable",
992
+ "retryable": False,
993
+ "resolution_owner": "user",
994
+ "remediation_action": "change_input",
995
+ "default_stage": "execute"
996
+ },
997
+ "cad_boolean_failed": {
998
+ "code": "FAILED_PRECONDITION",
999
+ "domain": "cad",
1000
+ "failure_class": "execution",
1001
+ "severity": "blocking_user_fixable",
1002
+ "retryable": False,
1003
+ "resolution_owner": "user",
1004
+ "remediation_action": "change_input",
1005
+ "default_stage": "execute"
1006
+ },
1007
+ "cad_kernel_failed": {
1008
+ "code": "INTERNAL",
1009
+ "domain": "cad",
1010
+ "failure_class": "internal",
1011
+ "severity": "blocking_internal",
1012
+ "retryable": False,
1013
+ "resolution_owner": "unknown",
1014
+ "remediation_action": "inspect_platform",
1015
+ "default_stage": "execute"
1016
+ },
1017
+ "cad_script_failed": {
1018
+ "code": "INVALID_ARGUMENT",
1019
+ "domain": "cad",
1020
+ "failure_class": "execution",
1021
+ "severity": "blocking_user_fixable",
1022
+ "retryable": False,
1023
+ "resolution_owner": "user",
1024
+ "remediation_action": "change_input",
1025
+ "default_stage": "execute"
1026
+ },
1027
+ "cad_export_format_unsupported": {
1028
+ "code": "INVALID_ARGUMENT",
1029
+ "domain": "cad",
1030
+ "failure_class": "validation",
1031
+ "severity": "blocking_user_fixable",
1032
+ "retryable": False,
1033
+ "resolution_owner": "user",
1034
+ "remediation_action": "change_input",
1035
+ "default_stage": "validate"
1036
+ },
1037
+ "cad_export_failed": {
1038
+ "code": "INTERNAL",
1039
+ "domain": "cad",
1040
+ "failure_class": "internal",
1041
+ "severity": "blocking_internal",
1042
+ "retryable": False,
1043
+ "resolution_owner": "unknown",
1044
+ "remediation_action": "inspect_platform",
1045
+ "default_stage": "transform"
1046
+ },
1047
+ "cad_output_missing": {
1048
+ "code": "DATA_LOSS",
1049
+ "domain": "cad",
1050
+ "failure_class": "internal",
1051
+ "severity": "blocking_internal",
1052
+ "retryable": False,
1053
+ "resolution_owner": "unknown",
1054
+ "remediation_action": "inspect_platform",
1055
+ "default_stage": "resolve"
1056
+ },
1057
+ "cad_output_invalid": {
1058
+ "code": "DATA_LOSS",
1059
+ "domain": "cad",
1060
+ "failure_class": "data_integrity",
1061
+ "severity": "blocking_internal",
1062
+ "retryable": False,
1063
+ "resolution_owner": "unknown",
1064
+ "remediation_action": "inspect_platform",
1065
+ "default_stage": "validate"
1066
+ },
1067
+ "cad_render_engine_unavailable": {
1068
+ "code": "FAILED_PRECONDITION",
1069
+ "domain": "cad",
1070
+ "failure_class": "availability",
1071
+ "severity": "blocking_user_fixable",
1072
+ "retryable": False,
1073
+ "resolution_owner": "user",
1074
+ "remediation_action": "change_configuration",
1075
+ "default_stage": "execute"
1076
+ },
1077
+ "cad_gpu_unavailable": {
1078
+ "code": "FAILED_PRECONDITION",
1079
+ "domain": "cad",
1080
+ "failure_class": "availability",
1081
+ "severity": "blocking_user_fixable",
1082
+ "retryable": False,
1083
+ "resolution_owner": "user",
1084
+ "remediation_action": "change_configuration",
1085
+ "default_stage": "execute"
1086
+ },
1087
+ "cad_render_failed": {
1088
+ "code": "INTERNAL",
1089
+ "domain": "cad",
1090
+ "failure_class": "internal",
1091
+ "severity": "blocking_internal",
1092
+ "retryable": False,
1093
+ "resolution_owner": "unknown",
1094
+ "remediation_action": "inspect_platform",
1095
+ "default_stage": "execute"
1096
+ },
1097
+ "cad_memory_exhausted": {
1098
+ "code": "RESOURCE_EXHAUSTED",
1099
+ "domain": "cad",
1100
+ "failure_class": "capacity",
1101
+ "severity": "blocking_user_fixable",
1102
+ "retryable": False,
1103
+ "resolution_owner": "user",
1104
+ "remediation_action": "change_configuration",
1105
+ "default_stage": "execute"
1106
+ },
1107
+ "cad_process_crashed": {
1108
+ "code": "INTERNAL",
1109
+ "domain": "cad",
1110
+ "failure_class": "internal",
1111
+ "severity": "blocking_internal",
1112
+ "retryable": False,
1113
+ "resolution_owner": "unknown",
1114
+ "remediation_action": "inspect_platform",
1115
+ "default_stage": "execute"
1116
+ },
1117
+ "cad_warning_escalated": {
1118
+ "code": "FAILED_PRECONDITION",
1119
+ "domain": "cad",
1120
+ "failure_class": "execution",
1121
+ "severity": "blocking_user_fixable",
1122
+ "retryable": False,
1123
+ "resolution_owner": "user",
1124
+ "remediation_action": "change_input",
1125
+ "default_stage": "execute"
1126
+ },
1127
+ "policy_blocked": {
1128
+ "code": "PERMISSION_DENIED",
1129
+ "domain": "policy",
1130
+ "failure_class": "authorization",
1131
+ "severity": "policy_blocking",
1132
+ "retryable": False,
1133
+ "resolution_owner": "policy",
1134
+ "remediation_action": "none",
1135
+ "default_stage": "execute"
1136
+ },
1137
+ "copyright_blocked": {
1138
+ "code": "PERMISSION_DENIED",
1139
+ "domain": "policy",
1140
+ "failure_class": "authorization",
1141
+ "severity": "policy_blocking",
1142
+ "retryable": False,
1143
+ "resolution_owner": "policy",
1144
+ "remediation_action": "none",
1145
+ "default_stage": "execute"
1146
+ },
1147
+ "persistence_failed": {
1148
+ "code": "INTERNAL",
1149
+ "domain": "persistence",
1150
+ "failure_class": "persistence",
1151
+ "severity": "blocking_internal",
1152
+ "retryable": False,
1153
+ "resolution_owner": "agentsam",
1154
+ "remediation_action": "inspect_platform",
1155
+ "default_stage": "persist"
1156
+ },
1157
+ "data_corrupt": {
1158
+ "code": "DATA_LOSS",
1159
+ "domain": "persistence",
1160
+ "failure_class": "data_integrity",
1161
+ "severity": "blocking_internal",
1162
+ "retryable": False,
1163
+ "resolution_owner": "agentsam",
1164
+ "remediation_action": "inspect_platform",
1165
+ "default_stage": "persist"
1166
+ },
1167
+ "data_loss": {
1168
+ "code": "DATA_LOSS",
1169
+ "domain": "persistence",
1170
+ "failure_class": "data_integrity",
1171
+ "severity": "blocking_internal",
1172
+ "retryable": False,
1173
+ "resolution_owner": "agentsam",
1174
+ "remediation_action": "inspect_platform",
1175
+ "default_stage": "persist"
1176
+ },
1177
+ "internal": {
1178
+ "code": "INTERNAL",
1179
+ "domain": "runtime",
1180
+ "failure_class": "internal",
1181
+ "severity": "blocking_internal",
1182
+ "retryable": False,
1183
+ "resolution_owner": "agentsam",
1184
+ "remediation_action": "inspect_platform",
1185
+ "default_stage": "execute"
1186
+ },
1187
+ "internal_invariant_violation": {
1188
+ "code": "INTERNAL",
1189
+ "domain": "runtime",
1190
+ "failure_class": "internal",
1191
+ "severity": "blocking_internal",
1192
+ "retryable": False,
1193
+ "resolution_owner": "agentsam",
1194
+ "remediation_action": "inspect_platform",
1195
+ "default_stage": "execute"
1196
+ },
1197
+ "internal_configuration_invalid": {
1198
+ "code": "INTERNAL",
1199
+ "domain": "runtime",
1200
+ "failure_class": "validation",
1201
+ "severity": "blocking_internal",
1202
+ "retryable": False,
1203
+ "resolution_owner": "agentsam",
1204
+ "remediation_action": "inspect_platform",
1205
+ "default_stage": "validate"
1206
+ },
1207
+ "internal_contract_violation": {
1208
+ "code": "INTERNAL",
1209
+ "domain": "runtime",
1210
+ "failure_class": "internal",
1211
+ "severity": "blocking_internal",
1212
+ "retryable": False,
1213
+ "resolution_owner": "agentsam",
1214
+ "remediation_action": "inspect_platform",
1215
+ "default_stage": "execute"
1216
+ },
1217
+ "internal_adapter_failed": {
1218
+ "code": "INTERNAL",
1219
+ "domain": "runtime",
1220
+ "failure_class": "internal",
1221
+ "severity": "blocking_internal",
1222
+ "retryable": False,
1223
+ "resolution_owner": "agentsam",
1224
+ "remediation_action": "inspect_platform",
1225
+ "default_stage": "execute"
1226
+ },
1227
+ "internal_dependency_failed": {
1228
+ "code": "INTERNAL",
1229
+ "domain": "runtime",
1230
+ "failure_class": "dependency",
1231
+ "severity": "blocking_internal",
1232
+ "retryable": False,
1233
+ "resolution_owner": "agentsam",
1234
+ "remediation_action": "inspect_platform",
1235
+ "default_stage": "execute"
1236
+ },
1237
+ "hook_definition_invalid": {
1238
+ "code": "INVALID_ARGUMENT",
1239
+ "domain": "hook",
1240
+ "failure_class": "validation",
1241
+ "severity": "blocking_user_fixable",
1242
+ "retryable": False,
1243
+ "resolution_owner": "user",
1244
+ "remediation_action": "change_configuration",
1245
+ "default_stage": "validate"
1246
+ },
1247
+ "hook_duplicate_id": {
1248
+ "code": "ALREADY_EXISTS",
1249
+ "domain": "hook",
1250
+ "failure_class": "conflict",
1251
+ "severity": "blocking_user_fixable",
1252
+ "retryable": False,
1253
+ "resolution_owner": "user",
1254
+ "remediation_action": "change_configuration",
1255
+ "default_stage": "validate"
1256
+ },
1257
+ "hook_not_found": {
1258
+ "code": "NOT_FOUND",
1259
+ "domain": "hook",
1260
+ "failure_class": "availability",
1261
+ "severity": "blocking_user_fixable",
1262
+ "retryable": False,
1263
+ "resolution_owner": "user",
1264
+ "remediation_action": "change_configuration",
1265
+ "default_stage": "validate"
1266
+ },
1267
+ "hook_disabled": {
1268
+ "code": "FAILED_PRECONDITION",
1269
+ "domain": "hook",
1270
+ "failure_class": "configuration",
1271
+ "severity": "blocking_user_fixable",
1272
+ "retryable": False,
1273
+ "resolution_owner": "user",
1274
+ "remediation_action": "change_configuration",
1275
+ "default_stage": "validate"
1276
+ },
1277
+ "hook_event_unsupported": {
1278
+ "code": "UNIMPLEMENTED",
1279
+ "domain": "hook",
1280
+ "failure_class": "protocol",
1281
+ "severity": "blocking_user_fixable",
1282
+ "retryable": False,
1283
+ "resolution_owner": "user",
1284
+ "remediation_action": "change_configuration",
1285
+ "default_stage": "validate"
1286
+ },
1287
+ "hook_configuration_invalid": {
1288
+ "code": "INVALID_ARGUMENT",
1289
+ "domain": "hook",
1290
+ "failure_class": "configuration",
1291
+ "severity": "blocking_user_fixable",
1292
+ "retryable": False,
1293
+ "resolution_owner": "user",
1294
+ "remediation_action": "change_configuration",
1295
+ "default_stage": "validate"
1296
+ },
1297
+ "hook_adapter_unknown": {
1298
+ "code": "UNIMPLEMENTED",
1299
+ "domain": "hook",
1300
+ "failure_class": "configuration",
1301
+ "severity": "blocking_user_fixable",
1302
+ "retryable": False,
1303
+ "resolution_owner": "user",
1304
+ "remediation_action": "change_configuration",
1305
+ "default_stage": "validate"
1306
+ },
1307
+ "hook_adapter_unavailable": {
1308
+ "code": "UNAVAILABLE",
1309
+ "domain": "hook",
1310
+ "failure_class": "availability",
1311
+ "severity": "transient",
1312
+ "retryable": True,
1313
+ "resolution_owner": "user",
1314
+ "remediation_action": "reconnect_service",
1315
+ "default_stage": "connect"
1316
+ },
1317
+ "hook_handler_unavailable": {
1318
+ "code": "FAILED_PRECONDITION",
1319
+ "domain": "hook",
1320
+ "failure_class": "availability",
1321
+ "severity": "blocking_user_fixable",
1322
+ "retryable": False,
1323
+ "resolution_owner": "user",
1324
+ "remediation_action": "change_configuration",
1325
+ "default_stage": "validate"
1326
+ },
1327
+ "hook_handler_timeout": {
1328
+ "code": "DEADLINE_EXCEEDED",
1329
+ "domain": "hook",
1330
+ "failure_class": "timeout",
1331
+ "severity": "transient",
1332
+ "retryable": True,
1333
+ "resolution_owner": "user",
1334
+ "remediation_action": "retry_later",
1335
+ "default_stage": "execute"
1336
+ },
1337
+ "hook_handler_failed": {
1338
+ "code": "INTERNAL",
1339
+ "domain": "hook",
1340
+ "failure_class": "execution",
1341
+ "severity": "blocking_internal",
1342
+ "retryable": False,
1343
+ "resolution_owner": "agentsam",
1344
+ "remediation_action": "inspect_platform",
1345
+ "default_stage": "execute"
1346
+ },
1347
+ "hook_output_invalid": {
1348
+ "code": "INVALID_ARGUMENT",
1349
+ "domain": "hook",
1350
+ "failure_class": "protocol",
1351
+ "severity": "blocking_user_fixable",
1352
+ "retryable": False,
1353
+ "resolution_owner": "user",
1354
+ "remediation_action": "change_configuration",
1355
+ "default_stage": "validate"
1356
+ },
1357
+ "hook_output_limit_exceeded": {
1358
+ "code": "RESOURCE_EXHAUSTED",
1359
+ "domain": "hook",
1360
+ "failure_class": "capacity",
1361
+ "severity": "blocking_user_fixable",
1362
+ "retryable": False,
1363
+ "resolution_owner": "user",
1364
+ "remediation_action": "change_configuration",
1365
+ "default_stage": "validate"
1366
+ },
1367
+ "hook_output_field_unsupported": {
1368
+ "code": "INVALID_ARGUMENT",
1369
+ "domain": "hook",
1370
+ "failure_class": "protocol",
1371
+ "severity": "blocking_user_fixable",
1372
+ "retryable": False,
1373
+ "resolution_owner": "user",
1374
+ "remediation_action": "change_configuration",
1375
+ "default_stage": "validate"
1376
+ },
1377
+ "hook_http_timeout": {
1378
+ "code": "DEADLINE_EXCEEDED",
1379
+ "domain": "hook",
1380
+ "failure_class": "timeout",
1381
+ "severity": "transient",
1382
+ "retryable": True,
1383
+ "resolution_owner": "user",
1384
+ "remediation_action": "retry_later",
1385
+ "default_stage": "execute"
1386
+ },
1387
+ "hook_http_request_failed": {
1388
+ "code": "UNAVAILABLE",
1389
+ "domain": "hook",
1390
+ "failure_class": "transport",
1391
+ "severity": "transient",
1392
+ "retryable": True,
1393
+ "resolution_owner": "provider",
1394
+ "remediation_action": "retry_later",
1395
+ "default_stage": "execute"
1396
+ },
1397
+ "hook_http_response_invalid": {
1398
+ "code": "DATA_LOSS",
1399
+ "domain": "hook",
1400
+ "failure_class": "protocol",
1401
+ "severity": "blocking_internal",
1402
+ "retryable": False,
1403
+ "resolution_owner": "agentsam",
1404
+ "remediation_action": "inspect_platform",
1405
+ "default_stage": "transform"
1406
+ },
1407
+ "hook_http_response_limit_exceeded": {
1408
+ "code": "RESOURCE_EXHAUSTED",
1409
+ "domain": "hook",
1410
+ "failure_class": "capacity",
1411
+ "severity": "blocking_user_fixable",
1412
+ "retryable": False,
1413
+ "resolution_owner": "user",
1414
+ "remediation_action": "change_configuration",
1415
+ "default_stage": "transform"
1416
+ },
1417
+ "hook_http_protocol_unsupported": {
1418
+ "code": "UNIMPLEMENTED",
1419
+ "domain": "hook",
1420
+ "failure_class": "protocol",
1421
+ "severity": "blocking_user_fixable",
1422
+ "retryable": False,
1423
+ "resolution_owner": "user",
1424
+ "remediation_action": "change_configuration",
1425
+ "default_stage": "validate"
1426
+ },
1427
+ "hook_http_credentials_forbidden": {
1428
+ "code": "INVALID_ARGUMENT",
1429
+ "domain": "hook",
1430
+ "failure_class": "policy",
1431
+ "severity": "blocking_user_fixable",
1432
+ "retryable": False,
1433
+ "resolution_owner": "policy",
1434
+ "remediation_action": "none",
1435
+ "default_stage": "authorize"
1436
+ },
1437
+ "hook_mcp_timeout": {
1438
+ "code": "DEADLINE_EXCEEDED",
1439
+ "domain": "hook",
1440
+ "failure_class": "timeout",
1441
+ "severity": "transient",
1442
+ "retryable": True,
1443
+ "resolution_owner": "user",
1444
+ "remediation_action": "retry_later",
1445
+ "default_stage": "execute"
1446
+ },
1447
+ "hook_mcp_server_unavailable": {
1448
+ "code": "UNAVAILABLE",
1449
+ "domain": "hook",
1450
+ "failure_class": "availability",
1451
+ "severity": "transient",
1452
+ "retryable": True,
1453
+ "resolution_owner": "user",
1454
+ "remediation_action": "restart_service",
1455
+ "default_stage": "connect"
1456
+ },
1457
+ "hook_mcp_capability_missing": {
1458
+ "code": "NOT_FOUND",
1459
+ "domain": "hook",
1460
+ "failure_class": "availability",
1461
+ "severity": "blocking_user_fixable",
1462
+ "retryable": False,
1463
+ "resolution_owner": "user",
1464
+ "remediation_action": "change_configuration",
1465
+ "default_stage": "validate"
1466
+ },
1467
+ "hook_mcp_capability_duplicate": {
1468
+ "code": "ALREADY_EXISTS",
1469
+ "domain": "hook",
1470
+ "failure_class": "conflict",
1471
+ "severity": "blocking_user_fixable",
1472
+ "retryable": False,
1473
+ "resolution_owner": "user",
1474
+ "remediation_action": "change_configuration",
1475
+ "default_stage": "validate"
1476
+ },
1477
+ "hook_mcp_response_invalid": {
1478
+ "code": "DATA_LOSS",
1479
+ "domain": "hook",
1480
+ "failure_class": "protocol",
1481
+ "severity": "blocking_internal",
1482
+ "retryable": False,
1483
+ "resolution_owner": "agentsam",
1484
+ "remediation_action": "inspect_platform",
1485
+ "default_stage": "transform"
1486
+ },
1487
+ "hook_mcp_transport_failed": {
1488
+ "code": "UNAVAILABLE",
1489
+ "domain": "hook",
1490
+ "failure_class": "transport",
1491
+ "severity": "transient",
1492
+ "retryable": True,
1493
+ "resolution_owner": "user",
1494
+ "remediation_action": "reconnect_service",
1495
+ "default_stage": "connect"
1496
+ },
1497
+ "hook_lsp_timeout": {
1498
+ "code": "DEADLINE_EXCEEDED",
1499
+ "domain": "hook",
1500
+ "failure_class": "timeout",
1501
+ "severity": "transient",
1502
+ "retryable": True,
1503
+ "resolution_owner": "user",
1504
+ "remediation_action": "retry_later",
1505
+ "default_stage": "execute"
1506
+ },
1507
+ "hook_lsp_server_unavailable": {
1508
+ "code": "UNAVAILABLE",
1509
+ "domain": "hook",
1510
+ "failure_class": "availability",
1511
+ "severity": "transient",
1512
+ "retryable": True,
1513
+ "resolution_owner": "user",
1514
+ "remediation_action": "restart_service",
1515
+ "default_stage": "connect"
1516
+ },
1517
+ "hook_lsp_language_required": {
1518
+ "code": "INVALID_ARGUMENT",
1519
+ "domain": "hook",
1520
+ "failure_class": "validation",
1521
+ "severity": "blocking_user_fixable",
1522
+ "retryable": False,
1523
+ "resolution_owner": "user",
1524
+ "remediation_action": "change_configuration",
1525
+ "default_stage": "validate"
1526
+ },
1527
+ "hook_lsp_capability_unsupported": {
1528
+ "code": "UNIMPLEMENTED",
1529
+ "domain": "hook",
1530
+ "failure_class": "protocol",
1531
+ "severity": "blocking_user_fixable",
1532
+ "retryable": False,
1533
+ "resolution_owner": "user",
1534
+ "remediation_action": "change_configuration",
1535
+ "default_stage": "validate"
1536
+ },
1537
+ "hook_lsp_initialize_failed": {
1538
+ "code": "UNAVAILABLE",
1539
+ "domain": "hook",
1540
+ "failure_class": "protocol",
1541
+ "severity": "transient",
1542
+ "retryable": True,
1543
+ "resolution_owner": "user",
1544
+ "remediation_action": "restart_service",
1545
+ "default_stage": "start"
1546
+ },
1547
+ "hook_lsp_response_invalid": {
1548
+ "code": "DATA_LOSS",
1549
+ "domain": "hook",
1550
+ "failure_class": "protocol",
1551
+ "severity": "blocking_internal",
1552
+ "retryable": False,
1553
+ "resolution_owner": "agentsam",
1554
+ "remediation_action": "inspect_platform",
1555
+ "default_stage": "transform"
1556
+ },
1557
+ "hook_command_required": {
1558
+ "code": "INVALID_ARGUMENT",
1559
+ "domain": "hook",
1560
+ "failure_class": "validation",
1561
+ "severity": "blocking_user_fixable",
1562
+ "retryable": False,
1563
+ "resolution_owner": "user",
1564
+ "remediation_action": "change_configuration",
1565
+ "default_stage": "validate"
1566
+ },
1567
+ "hook_command_timeout": {
1568
+ "code": "DEADLINE_EXCEEDED",
1569
+ "domain": "hook",
1570
+ "failure_class": "timeout",
1571
+ "severity": "transient",
1572
+ "retryable": True,
1573
+ "resolution_owner": "user",
1574
+ "remediation_action": "retry_later",
1575
+ "default_stage": "execute"
1576
+ },
1577
+ "hook_command_spawn_failed": {
1578
+ "code": "FAILED_PRECONDITION",
1579
+ "domain": "hook",
1580
+ "failure_class": "process",
1581
+ "severity": "blocking_user_fixable",
1582
+ "retryable": False,
1583
+ "resolution_owner": "user",
1584
+ "remediation_action": "change_configuration",
1585
+ "default_stage": "validate"
1586
+ },
1587
+ "hook_command_exit_nonzero": {
1588
+ "code": "FAILED_PRECONDITION",
1589
+ "domain": "hook",
1590
+ "failure_class": "process",
1591
+ "severity": "blocking_user_fixable",
1592
+ "retryable": False,
1593
+ "resolution_owner": "user",
1594
+ "remediation_action": "change_configuration",
1595
+ "default_stage": "validate"
1596
+ },
1597
+ "hook_command_output_limit_exceeded": {
1598
+ "code": "RESOURCE_EXHAUSTED",
1599
+ "domain": "hook",
1600
+ "failure_class": "capacity",
1601
+ "severity": "blocking_user_fixable",
1602
+ "retryable": False,
1603
+ "resolution_owner": "user",
1604
+ "remediation_action": "change_configuration",
1605
+ "default_stage": "validate"
1606
+ },
1607
+ "hook_command_output_invalid": {
1608
+ "code": "DATA_LOSS",
1609
+ "domain": "hook",
1610
+ "failure_class": "protocol",
1611
+ "severity": "blocking_internal",
1612
+ "retryable": False,
1613
+ "resolution_owner": "agentsam",
1614
+ "remediation_action": "inspect_platform",
1615
+ "default_stage": "transform"
1616
+ },
1617
+ "hook_permission_denied": {
1618
+ "code": "PERMISSION_DENIED",
1619
+ "domain": "hook",
1620
+ "failure_class": "authorization",
1621
+ "severity": "policy_blocking",
1622
+ "retryable": False,
1623
+ "resolution_owner": "policy",
1624
+ "remediation_action": "request_permission",
1625
+ "default_stage": "authorize"
1626
+ },
1627
+ "hook_capability_unavailable": {
1628
+ "code": "NOT_FOUND",
1629
+ "domain": "hook",
1630
+ "failure_class": "availability",
1631
+ "severity": "blocking_user_fixable",
1632
+ "retryable": False,
1633
+ "resolution_owner": "user",
1634
+ "remediation_action": "change_configuration",
1635
+ "default_stage": "validate"
1636
+ },
1637
+ "hook_capability_duplicate": {
1638
+ "code": "ALREADY_EXISTS",
1639
+ "domain": "hook",
1640
+ "failure_class": "conflict",
1641
+ "severity": "blocking_user_fixable",
1642
+ "retryable": False,
1643
+ "resolution_owner": "user",
1644
+ "remediation_action": "change_configuration",
1645
+ "default_stage": "validate"
1646
+ },
1647
+ "hook_error_handling_invalid": {
1648
+ "code": "INVALID_ARGUMENT",
1649
+ "domain": "hook",
1650
+ "failure_class": "protocol",
1651
+ "severity": "blocking_user_fixable",
1652
+ "retryable": False,
1653
+ "resolution_owner": "user",
1654
+ "remediation_action": "change_configuration",
1655
+ "default_stage": "validate"
1656
+ },
1657
+ "hook_error_handling_unsupported": {
1658
+ "code": "UNIMPLEMENTED",
1659
+ "domain": "hook",
1660
+ "failure_class": "protocol",
1661
+ "severity": "blocking_user_fixable",
1662
+ "retryable": False,
1663
+ "resolution_owner": "user",
1664
+ "remediation_action": "change_configuration",
1665
+ "default_stage": "validate"
1666
+ },
1667
+ "hook_retry_limit_exceeded": {
1668
+ "code": "OUT_OF_RANGE",
1669
+ "domain": "hook",
1670
+ "failure_class": "validation",
1671
+ "severity": "blocking_user_fixable",
1672
+ "retryable": False,
1673
+ "resolution_owner": "user",
1674
+ "remediation_action": "change_configuration",
1675
+ "default_stage": "validate"
1676
+ },
1677
+ "hook_stop_decision_invalid": {
1678
+ "code": "INVALID_ARGUMENT",
1679
+ "domain": "hook",
1680
+ "failure_class": "protocol",
1681
+ "severity": "blocking_user_fixable",
1682
+ "retryable": False,
1683
+ "resolution_owner": "user",
1684
+ "remediation_action": "change_configuration",
1685
+ "default_stage": "validate"
1686
+ },
1687
+ "package_manifest_invalid": {
1688
+ "code": "INVALID_ARGUMENT",
1689
+ "domain": "package",
1690
+ "failure_class": "validation",
1691
+ "severity": "blocking_user_fixable",
1692
+ "retryable": False,
1693
+ "resolution_owner": "user",
1694
+ "remediation_action": "change_configuration",
1695
+ "default_stage": "validate"
1696
+ },
1697
+ "package_export_missing": {
1698
+ "code": "FAILED_PRECONDITION",
1699
+ "domain": "package",
1700
+ "failure_class": "configuration",
1701
+ "severity": "blocking_internal",
1702
+ "retryable": False,
1703
+ "resolution_owner": "agentsam",
1704
+ "remediation_action": "regenerate_artifact",
1705
+ "default_stage": "verify"
1706
+ },
1707
+ "package_file_missing": {
1708
+ "code": "NOT_FOUND",
1709
+ "domain": "package",
1710
+ "failure_class": "availability",
1711
+ "severity": "blocking_user_fixable",
1712
+ "retryable": False,
1713
+ "resolution_owner": "user",
1714
+ "remediation_action": "change_configuration",
1715
+ "default_stage": "verify"
1716
+ },
1717
+ "package_unwanted_file_included": {
1718
+ "code": "FAILED_PRECONDITION",
1719
+ "domain": "package",
1720
+ "failure_class": "distribution",
1721
+ "severity": "blocking_user_fixable",
1722
+ "retryable": False,
1723
+ "resolution_owner": "user",
1724
+ "remediation_action": "change_configuration",
1725
+ "default_stage": "verify"
1726
+ },
1727
+ "package_dependency_missing": {
1728
+ "code": "FAILED_PRECONDITION",
1729
+ "domain": "package",
1730
+ "failure_class": "dependency",
1731
+ "severity": "blocking_user_fixable",
1732
+ "retryable": False,
1733
+ "resolution_owner": "user",
1734
+ "remediation_action": "install_dependency",
1735
+ "default_stage": "resolve"
1736
+ },
1737
+ "package_dependency_version_mismatch": {
1738
+ "code": "FAILED_PRECONDITION",
1739
+ "domain": "package",
1740
+ "failure_class": "dependency",
1741
+ "severity": "blocking_user_fixable",
1742
+ "retryable": False,
1743
+ "resolution_owner": "user",
1744
+ "remediation_action": "upgrade_dependency",
1745
+ "default_stage": "resolve"
1746
+ },
1747
+ "lockfile_missing": {
1748
+ "code": "FAILED_PRECONDITION",
1749
+ "domain": "package",
1750
+ "failure_class": "dependency",
1751
+ "severity": "blocking_user_fixable",
1752
+ "retryable": False,
1753
+ "resolution_owner": "user",
1754
+ "remediation_action": "update_lockfile",
1755
+ "default_stage": "install"
1756
+ },
1757
+ "lockfile_stale": {
1758
+ "code": "FAILED_PRECONDITION",
1759
+ "domain": "package",
1760
+ "failure_class": "dependency",
1761
+ "severity": "blocking_user_fixable",
1762
+ "retryable": False,
1763
+ "resolution_owner": "user",
1764
+ "remediation_action": "update_lockfile",
1765
+ "default_stage": "install"
1766
+ },
1767
+ "lockfile_incompatible": {
1768
+ "code": "FAILED_PRECONDITION",
1769
+ "domain": "package",
1770
+ "failure_class": "dependency",
1771
+ "severity": "blocking_user_fixable",
1772
+ "retryable": False,
1773
+ "resolution_owner": "user",
1774
+ "remediation_action": "update_lockfile",
1775
+ "default_stage": "install"
1776
+ },
1777
+ "workspace_not_installed": {
1778
+ "code": "FAILED_PRECONDITION",
1779
+ "domain": "build",
1780
+ "failure_class": "dependency",
1781
+ "severity": "blocking_user_fixable",
1782
+ "retryable": False,
1783
+ "resolution_owner": "user",
1784
+ "remediation_action": "reinstall_workspace",
1785
+ "default_stage": "build"
1786
+ },
1787
+ "workspace_resolution_failed": {
1788
+ "code": "FAILED_PRECONDITION",
1789
+ "domain": "build",
1790
+ "failure_class": "dependency",
1791
+ "severity": "blocking_user_fixable",
1792
+ "retryable": False,
1793
+ "resolution_owner": "user",
1794
+ "remediation_action": "reinstall_workspace",
1795
+ "default_stage": "resolve"
1796
+ },
1797
+ "workspace_boundary_invalid": {
1798
+ "code": "FAILED_PRECONDITION",
1799
+ "domain": "build",
1800
+ "failure_class": "configuration",
1801
+ "severity": "blocking_user_fixable",
1802
+ "retryable": False,
1803
+ "resolution_owner": "user",
1804
+ "remediation_action": "change_configuration",
1805
+ "default_stage": "validate"
1806
+ },
1807
+ "build_dependency_missing": {
1808
+ "code": "FAILED_PRECONDITION",
1809
+ "domain": "build",
1810
+ "failure_class": "dependency",
1811
+ "severity": "blocking_user_fixable",
1812
+ "retryable": False,
1813
+ "resolution_owner": "user",
1814
+ "remediation_action": "install_dependency",
1815
+ "default_stage": "build"
1816
+ },
1817
+ "build_failed": {
1818
+ "code": "INTERNAL",
1819
+ "domain": "build",
1820
+ "failure_class": "build",
1821
+ "severity": "blocking_internal",
1822
+ "retryable": False,
1823
+ "resolution_owner": "agentsam",
1824
+ "remediation_action": "inspect_platform",
1825
+ "default_stage": "build"
1826
+ },
1827
+ "build_output_missing": {
1828
+ "code": "DATA_LOSS",
1829
+ "domain": "build",
1830
+ "failure_class": "build",
1831
+ "severity": "blocking_internal",
1832
+ "retryable": False,
1833
+ "resolution_owner": "agentsam",
1834
+ "remediation_action": "regenerate_artifact",
1835
+ "default_stage": "verify"
1836
+ },
1837
+ "build_output_stale": {
1838
+ "code": "FAILED_PRECONDITION",
1839
+ "domain": "build",
1840
+ "failure_class": "build",
1841
+ "severity": "blocking_internal",
1842
+ "retryable": False,
1843
+ "resolution_owner": "agentsam",
1844
+ "remediation_action": "regenerate_artifact",
1845
+ "default_stage": "verify"
1846
+ },
1847
+ "pack_failed": {
1848
+ "code": "INTERNAL",
1849
+ "domain": "package",
1850
+ "failure_class": "distribution",
1851
+ "severity": "blocking_internal",
1852
+ "retryable": False,
1853
+ "resolution_owner": "agentsam",
1854
+ "remediation_action": "inspect_platform",
1855
+ "default_stage": "publish"
1856
+ },
1857
+ "pack_contents_invalid": {
1858
+ "code": "FAILED_PRECONDITION",
1859
+ "domain": "package",
1860
+ "failure_class": "distribution",
1861
+ "severity": "blocking_user_fixable",
1862
+ "retryable": False,
1863
+ "resolution_owner": "user",
1864
+ "remediation_action": "change_configuration",
1865
+ "default_stage": "verify"
1866
+ },
1867
+ "pack_provenance_violation": {
1868
+ "code": "PERMISSION_DENIED",
1869
+ "domain": "package",
1870
+ "failure_class": "policy",
1871
+ "severity": "policy_blocking",
1872
+ "retryable": False,
1873
+ "resolution_owner": "policy",
1874
+ "remediation_action": "none",
1875
+ "default_stage": "verify"
1876
+ },
1877
+ "distribution_artifact_missing": {
1878
+ "code": "NOT_FOUND",
1879
+ "domain": "distribution",
1880
+ "failure_class": "distribution",
1881
+ "severity": "blocking_internal",
1882
+ "retryable": False,
1883
+ "resolution_owner": "agentsam",
1884
+ "remediation_action": "republish_artifact",
1885
+ "default_stage": "publish"
1886
+ },
1887
+ "distribution_identity_mismatch": {
1888
+ "code": "FAILED_PRECONDITION",
1889
+ "domain": "distribution",
1890
+ "failure_class": "identity",
1891
+ "severity": "blocking_internal",
1892
+ "retryable": False,
1893
+ "resolution_owner": "agentsam",
1894
+ "remediation_action": "republish_artifact",
1895
+ "default_stage": "verify"
1896
+ },
1897
+ "distribution_version_mismatch": {
1898
+ "code": "FAILED_PRECONDITION",
1899
+ "domain": "distribution",
1900
+ "failure_class": "conflict",
1901
+ "severity": "blocking_internal",
1902
+ "retryable": False,
1903
+ "resolution_owner": "agentsam",
1904
+ "remediation_action": "republish_artifact",
1905
+ "default_stage": "verify"
1906
+ },
1907
+ "distribution_install_failed": {
1908
+ "code": "FAILED_PRECONDITION",
1909
+ "domain": "distribution",
1910
+ "failure_class": "distribution",
1911
+ "severity": "blocking_user_fixable",
1912
+ "retryable": False,
1913
+ "resolution_owner": "user",
1914
+ "remediation_action": "reinstall_workspace",
1915
+ "default_stage": "install"
1916
+ },
1917
+ "distribution_smoke_failed": {
1918
+ "code": "FAILED_PRECONDITION",
1919
+ "domain": "distribution",
1920
+ "failure_class": "distribution",
1921
+ "severity": "blocking_internal",
1922
+ "retryable": False,
1923
+ "resolution_owner": "agentsam",
1924
+ "remediation_action": "inspect_platform",
1925
+ "default_stage": "verify"
1926
+ },
1927
+ "release_train_misaligned": {
1928
+ "code": "FAILED_PRECONDITION",
1929
+ "domain": "distribution",
1930
+ "failure_class": "conflict",
1931
+ "severity": "blocking_user_fixable",
1932
+ "retryable": False,
1933
+ "resolution_owner": "user",
1934
+ "remediation_action": "change_configuration",
1935
+ "default_stage": "verify"
1936
+ },
1937
+ "published_artifact_stale": {
1938
+ "code": "FAILED_PRECONDITION",
1939
+ "domain": "distribution",
1940
+ "failure_class": "distribution",
1941
+ "severity": "blocking_internal",
1942
+ "retryable": False,
1943
+ "resolution_owner": "agentsam",
1944
+ "remediation_action": "republish_artifact",
1945
+ "default_stage": "verify"
1946
+ },
1947
+ "published_artifact_missing": {
1948
+ "code": "NOT_FOUND",
1949
+ "domain": "distribution",
1950
+ "failure_class": "distribution",
1951
+ "severity": "blocking_internal",
1952
+ "retryable": False,
1953
+ "resolution_owner": "agentsam",
1954
+ "remediation_action": "republish_artifact",
1955
+ "default_stage": "discover"
1956
+ },
1957
+ "schema_invalid": {
1958
+ "code": "INVALID_ARGUMENT",
1959
+ "domain": "schema",
1960
+ "failure_class": "schema",
1961
+ "severity": "blocking_user_fixable",
1962
+ "retryable": False,
1963
+ "resolution_owner": "user",
1964
+ "remediation_action": "change_input",
1965
+ "default_stage": "validate"
1966
+ },
1967
+ "schema_version_unsupported": {
1968
+ "code": "UNIMPLEMENTED",
1969
+ "domain": "schema",
1970
+ "failure_class": "schema",
1971
+ "severity": "blocking_user_fixable",
1972
+ "retryable": False,
1973
+ "resolution_owner": "user",
1974
+ "remediation_action": "upgrade_dependency",
1975
+ "default_stage": "validate"
1976
+ },
1977
+ "schema_contract_mismatch": {
1978
+ "code": "FAILED_PRECONDITION",
1979
+ "domain": "schema",
1980
+ "failure_class": "schema",
1981
+ "severity": "blocking_user_fixable",
1982
+ "retryable": False,
1983
+ "resolution_owner": "user",
1984
+ "remediation_action": "change_configuration",
1985
+ "default_stage": "validate"
1986
+ },
1987
+ "schema_pack_missing": {
1988
+ "code": "NOT_FOUND",
1989
+ "domain": "schema",
1990
+ "failure_class": "schema",
1991
+ "severity": "blocking_user_fixable",
1992
+ "retryable": False,
1993
+ "resolution_owner": "user",
1994
+ "remediation_action": "install_dependency",
1995
+ "default_stage": "resolve"
1996
+ },
1997
+ "schema_pack_dependency_missing": {
1998
+ "code": "FAILED_PRECONDITION",
1999
+ "domain": "schema",
2000
+ "failure_class": "dependency",
2001
+ "severity": "blocking_user_fixable",
2002
+ "retryable": False,
2003
+ "resolution_owner": "user",
2004
+ "remediation_action": "install_dependency",
2005
+ "default_stage": "resolve"
2006
+ },
2007
+ "schema_pack_dependency_cycle": {
2008
+ "code": "FAILED_PRECONDITION",
2009
+ "domain": "schema",
2010
+ "failure_class": "dependency",
2011
+ "severity": "blocking_user_fixable",
2012
+ "retryable": False,
2013
+ "resolution_owner": "user",
2014
+ "remediation_action": "change_configuration",
2015
+ "default_stage": "resolve"
2016
+ },
2017
+ "schema_pack_ownership_conflict": {
2018
+ "code": "ABORTED",
2019
+ "domain": "schema",
2020
+ "failure_class": "conflict",
2021
+ "severity": "blocking_user_fixable",
2022
+ "retryable": False,
2023
+ "resolution_owner": "user",
2024
+ "remediation_action": "change_configuration",
2025
+ "default_stage": "validate"
2026
+ },
2027
+ "migration_missing": {
2028
+ "code": "NOT_FOUND",
2029
+ "domain": "migration",
2030
+ "failure_class": "migration",
2031
+ "severity": "blocking_user_fixable",
2032
+ "retryable": False,
2033
+ "resolution_owner": "user",
2034
+ "remediation_action": "run_migration",
2035
+ "default_stage": "migrate"
2036
+ },
2037
+ "migration_failed": {
2038
+ "code": "INTERNAL",
2039
+ "domain": "migration",
2040
+ "failure_class": "migration",
2041
+ "severity": "blocking_internal",
2042
+ "retryable": False,
2043
+ "resolution_owner": "agentsam",
2044
+ "remediation_action": "inspect_platform",
2045
+ "default_stage": "migrate"
2046
+ },
2047
+ "migration_checksum_mismatch": {
2048
+ "code": "DATA_LOSS",
2049
+ "domain": "migration",
2050
+ "failure_class": "data_integrity",
2051
+ "severity": "blocking_user_fixable",
2052
+ "retryable": False,
2053
+ "resolution_owner": "user",
2054
+ "remediation_action": "repair_schema",
2055
+ "default_stage": "verify"
2056
+ },
2057
+ "migration_order_invalid": {
2058
+ "code": "FAILED_PRECONDITION",
2059
+ "domain": "migration",
2060
+ "failure_class": "migration",
2061
+ "severity": "blocking_user_fixable",
2062
+ "retryable": False,
2063
+ "resolution_owner": "user",
2064
+ "remediation_action": "change_configuration",
2065
+ "default_stage": "migrate"
2066
+ },
2067
+ "migration_already_applied_conflict": {
2068
+ "code": "ALREADY_EXISTS",
2069
+ "domain": "migration",
2070
+ "failure_class": "conflict",
2071
+ "severity": "blocking_user_fixable",
2072
+ "retryable": False,
2073
+ "resolution_owner": "user",
2074
+ "remediation_action": "repair_schema",
2075
+ "default_stage": "migrate"
2076
+ },
2077
+ "migration_requires_manual_repair": {
2078
+ "code": "FAILED_PRECONDITION",
2079
+ "domain": "migration",
2080
+ "failure_class": "migration",
2081
+ "severity": "blocking_user_fixable",
2082
+ "retryable": False,
2083
+ "resolution_owner": "user",
2084
+ "remediation_action": "repair_schema",
2085
+ "default_stage": "migrate"
2086
+ },
2087
+ "database_unreachable": {
2088
+ "code": "UNAVAILABLE",
2089
+ "domain": "database",
2090
+ "failure_class": "availability",
2091
+ "severity": "transient",
2092
+ "retryable": True,
2093
+ "resolution_owner": "provider",
2094
+ "remediation_action": "reconnect_service",
2095
+ "default_stage": "connect"
2096
+ },
2097
+ "database_driver_unsupported": {
2098
+ "code": "UNIMPLEMENTED",
2099
+ "domain": "database",
2100
+ "failure_class": "dependency",
2101
+ "severity": "blocking_user_fixable",
2102
+ "retryable": False,
2103
+ "resolution_owner": "user",
2104
+ "remediation_action": "install_dependency",
2105
+ "default_stage": "connect"
2106
+ },
2107
+ "database_authority_unresolved": {
2108
+ "code": "FAILED_PRECONDITION",
2109
+ "domain": "database",
2110
+ "failure_class": "configuration",
2111
+ "severity": "blocking_user_fixable",
2112
+ "retryable": False,
2113
+ "resolution_owner": "user",
2114
+ "remediation_action": "change_configuration",
2115
+ "default_stage": "resolve"
2116
+ },
2117
+ "database_authorization_failed": {
2118
+ "code": "PERMISSION_DENIED",
2119
+ "domain": "database",
2120
+ "failure_class": "authorization",
2121
+ "severity": "blocking_user_fixable",
2122
+ "retryable": False,
2123
+ "resolution_owner": "user",
2124
+ "remediation_action": "request_permission",
2125
+ "default_stage": "authorize"
2126
+ },
2127
+ "database_schema_drift": {
2128
+ "code": "FAILED_PRECONDITION",
2129
+ "domain": "database",
2130
+ "failure_class": "schema",
2131
+ "severity": "blocking_user_fixable",
2132
+ "retryable": False,
2133
+ "resolution_owner": "user",
2134
+ "remediation_action": "run_migration",
2135
+ "default_stage": "validate"
2136
+ },
2137
+ "model_discovery_failed": {
2138
+ "code": "UNAVAILABLE",
2139
+ "domain": "model",
2140
+ "failure_class": "discovery",
2141
+ "severity": "transient",
2142
+ "retryable": True,
2143
+ "resolution_owner": "provider",
2144
+ "remediation_action": "retry_later",
2145
+ "default_stage": "discover"
2146
+ },
2147
+ "model_catalog_stale": {
2148
+ "code": "FAILED_PRECONDITION",
2149
+ "domain": "model",
2150
+ "failure_class": "discovery",
2151
+ "severity": "blocking_user_fixable",
2152
+ "retryable": False,
2153
+ "resolution_owner": "user",
2154
+ "remediation_action": "select_model",
2155
+ "default_stage": "discover"
2156
+ },
2157
+ "model_snapshot_missing": {
2158
+ "code": "NOT_FOUND",
2159
+ "domain": "model",
2160
+ "failure_class": "discovery",
2161
+ "severity": "blocking_user_fixable",
2162
+ "retryable": False,
2163
+ "resolution_owner": "user",
2164
+ "remediation_action": "select_model",
2165
+ "default_stage": "load"
2166
+ },
2167
+ "model_snapshot_stale": {
2168
+ "code": "FAILED_PRECONDITION",
2169
+ "domain": "model",
2170
+ "failure_class": "discovery",
2171
+ "severity": "blocking_user_fixable",
2172
+ "retryable": False,
2173
+ "resolution_owner": "user",
2174
+ "remediation_action": "select_model",
2175
+ "default_stage": "load"
2176
+ },
2177
+ "model_capability_unknown": {
2178
+ "code": "FAILED_PRECONDITION",
2179
+ "domain": "model",
2180
+ "failure_class": "configuration",
2181
+ "severity": "blocking_user_fixable",
2182
+ "retryable": False,
2183
+ "resolution_owner": "user",
2184
+ "remediation_action": "select_model",
2185
+ "default_stage": "validate"
2186
+ },
2187
+ "model_capability_unsupported": {
2188
+ "code": "UNIMPLEMENTED",
2189
+ "domain": "model",
2190
+ "failure_class": "validation",
2191
+ "severity": "blocking_user_fixable",
2192
+ "retryable": False,
2193
+ "resolution_owner": "user",
2194
+ "remediation_action": "select_model",
2195
+ "default_stage": "validate"
2196
+ },
2197
+ "model_provider_mismatch": {
2198
+ "code": "FAILED_PRECONDITION",
2199
+ "domain": "model",
2200
+ "failure_class": "configuration",
2201
+ "severity": "blocking_user_fixable",
2202
+ "retryable": False,
2203
+ "resolution_owner": "user",
2204
+ "remediation_action": "select_model",
2205
+ "default_stage": "resolve"
2206
+ },
2207
+ "model_identity_conflict": {
2208
+ "code": "ABORTED",
2209
+ "domain": "model",
2210
+ "failure_class": "identity",
2211
+ "severity": "blocking_user_fixable",
2212
+ "retryable": False,
2213
+ "resolution_owner": "user",
2214
+ "remediation_action": "select_model",
2215
+ "default_stage": "resolve"
2216
+ },
2217
+ "model_probe_failed": {
2218
+ "code": "UNAVAILABLE",
2219
+ "domain": "model",
2220
+ "failure_class": "discovery",
2221
+ "severity": "transient",
2222
+ "retryable": True,
2223
+ "resolution_owner": "provider",
2224
+ "remediation_action": "retry_later",
2225
+ "default_stage": "verify"
2226
+ },
2227
+ "model_probe_partial": {
2228
+ "code": "UNAVAILABLE",
2229
+ "domain": "model",
2230
+ "failure_class": "discovery",
2231
+ "severity": "transient",
2232
+ "retryable": True,
2233
+ "resolution_owner": "provider",
2234
+ "remediation_action": "retry_later",
2235
+ "default_stage": "verify"
2236
+ },
2237
+ "runtime_not_installed": {
2238
+ "code": "FAILED_PRECONDITION",
2239
+ "domain": "runtime",
2240
+ "failure_class": "dependency",
2241
+ "severity": "blocking_user_fixable",
2242
+ "retryable": False,
2243
+ "resolution_owner": "user",
2244
+ "remediation_action": "install_dependency",
2245
+ "default_stage": "install"
2246
+ },
2247
+ "runtime_not_running": {
2248
+ "code": "UNAVAILABLE",
2249
+ "domain": "runtime",
2250
+ "failure_class": "availability",
2251
+ "severity": "transient",
2252
+ "retryable": True,
2253
+ "resolution_owner": "user",
2254
+ "remediation_action": "restart_runtime",
2255
+ "default_stage": "connect"
2256
+ },
2257
+ "runtime_version_incompatible": {
2258
+ "code": "FAILED_PRECONDITION",
2259
+ "domain": "runtime",
2260
+ "failure_class": "dependency",
2261
+ "severity": "blocking_user_fixable",
2262
+ "retryable": False,
2263
+ "resolution_owner": "user",
2264
+ "remediation_action": "upgrade_dependency",
2265
+ "default_stage": "validate"
2266
+ },
2267
+ "runtime_capability_missing": {
2268
+ "code": "FAILED_PRECONDITION",
2269
+ "domain": "runtime",
2270
+ "failure_class": "configuration",
2271
+ "severity": "blocking_user_fixable",
2272
+ "retryable": False,
2273
+ "resolution_owner": "user",
2274
+ "remediation_action": "change_configuration",
2275
+ "default_stage": "validate"
2276
+ },
2277
+ "runtime_protocol_mismatch": {
2278
+ "code": "FAILED_PRECONDITION",
2279
+ "domain": "runtime",
2280
+ "failure_class": "protocol",
2281
+ "severity": "blocking_user_fixable",
2282
+ "retryable": False,
2283
+ "resolution_owner": "user",
2284
+ "remediation_action": "upgrade_dependency",
2285
+ "default_stage": "connect"
2286
+ },
2287
+ "runtime_connection_unresolved": {
2288
+ "code": "UNAVAILABLE",
2289
+ "domain": "runtime",
2290
+ "failure_class": "transport",
2291
+ "severity": "transient",
2292
+ "retryable": True,
2293
+ "resolution_owner": "user",
2294
+ "remediation_action": "reconnect_service",
2295
+ "default_stage": "connect"
2296
+ },
2297
+ "runtime_connection_revoked": {
2298
+ "code": "PERMISSION_DENIED",
2299
+ "domain": "runtime",
2300
+ "failure_class": "authorization",
2301
+ "severity": "blocking_user_fixable",
2302
+ "retryable": False,
2303
+ "resolution_owner": "user",
2304
+ "remediation_action": "reenroll_device",
2305
+ "default_stage": "authorize"
2306
+ },
2307
+ "pty_create_failed": {
2308
+ "code": "INTERNAL",
2309
+ "domain": "terminal",
2310
+ "failure_class": "process",
2311
+ "severity": "blocking_internal",
2312
+ "retryable": False,
2313
+ "resolution_owner": "agentsam",
2314
+ "remediation_action": "inspect_platform",
2315
+ "default_stage": "start"
2316
+ },
2317
+ "pty_attach_failed": {
2318
+ "code": "UNAVAILABLE",
2319
+ "domain": "terminal",
2320
+ "failure_class": "transport",
2321
+ "severity": "transient",
2322
+ "retryable": True,
2323
+ "resolution_owner": "user",
2324
+ "remediation_action": "reconnect_service",
2325
+ "default_stage": "attach"
2326
+ },
2327
+ "pty_session_not_found": {
2328
+ "code": "NOT_FOUND",
2329
+ "domain": "terminal",
2330
+ "failure_class": "availability",
2331
+ "severity": "blocking_user_fixable",
2332
+ "retryable": False,
2333
+ "resolution_owner": "user",
2334
+ "remediation_action": "change_input",
2335
+ "default_stage": "attach"
2336
+ },
2337
+ "pty_session_expired": {
2338
+ "code": "FAILED_PRECONDITION",
2339
+ "domain": "terminal",
2340
+ "failure_class": "availability",
2341
+ "severity": "blocking_user_fixable",
2342
+ "retryable": False,
2343
+ "resolution_owner": "user",
2344
+ "remediation_action": "restart_runtime",
2345
+ "default_stage": "attach"
2346
+ },
2347
+ "pty_replay_cursor_invalid": {
2348
+ "code": "OUT_OF_RANGE",
2349
+ "domain": "terminal",
2350
+ "failure_class": "validation",
2351
+ "severity": "blocking_user_fixable",
2352
+ "retryable": False,
2353
+ "resolution_owner": "user",
2354
+ "remediation_action": "change_input",
2355
+ "default_stage": "attach"
2356
+ },
2357
+ "transport_not_configured": {
2358
+ "code": "FAILED_PRECONDITION",
2359
+ "domain": "transport",
2360
+ "failure_class": "configuration",
2361
+ "severity": "blocking_user_fixable",
2362
+ "retryable": False,
2363
+ "resolution_owner": "user",
2364
+ "remediation_action": "change_configuration",
2365
+ "default_stage": "configure"
2366
+ },
2367
+ "transport_auth_failed": {
2368
+ "code": "UNAUTHENTICATED",
2369
+ "domain": "transport",
2370
+ "failure_class": "authentication",
2371
+ "severity": "blocking_user_fixable",
2372
+ "retryable": False,
2373
+ "resolution_owner": "user",
2374
+ "remediation_action": "reauthenticate",
2375
+ "default_stage": "authorize"
2376
+ },
2377
+ "transport_attach_failed": {
2378
+ "code": "UNAVAILABLE",
2379
+ "domain": "transport",
2380
+ "failure_class": "transport",
2381
+ "severity": "transient",
2382
+ "retryable": True,
2383
+ "resolution_owner": "provider",
2384
+ "remediation_action": "reconnect_service",
2385
+ "default_stage": "attach"
2386
+ },
2387
+ "sidecar_missing": {
2388
+ "code": "FAILED_PRECONDITION",
2389
+ "domain": "runtime",
2390
+ "failure_class": "dependency",
2391
+ "severity": "blocking_user_fixable",
2392
+ "retryable": False,
2393
+ "resolution_owner": "user",
2394
+ "remediation_action": "install_dependency",
2395
+ "default_stage": "resolve"
2396
+ },
2397
+ "sidecar_start_failed": {
2398
+ "code": "INTERNAL",
2399
+ "domain": "runtime",
2400
+ "failure_class": "process",
2401
+ "severity": "blocking_internal",
2402
+ "retryable": False,
2403
+ "resolution_owner": "agentsam",
2404
+ "remediation_action": "inspect_platform",
2405
+ "default_stage": "start"
2406
+ },
2407
+ "sidecar_health_failed": {
2408
+ "code": "UNAVAILABLE",
2409
+ "domain": "runtime",
2410
+ "failure_class": "availability",
2411
+ "severity": "transient",
2412
+ "retryable": True,
2413
+ "resolution_owner": "user",
2414
+ "remediation_action": "restart_service",
2415
+ "default_stage": "verify"
2416
+ },
2417
+ "tool_not_found": {
2418
+ "code": "NOT_FOUND",
2419
+ "domain": "tool",
2420
+ "failure_class": "availability",
2421
+ "severity": "blocking_user_fixable",
2422
+ "retryable": False,
2423
+ "resolution_owner": "user",
2424
+ "remediation_action": "change_input",
2425
+ "default_stage": "resolve"
2426
+ },
2427
+ "tool_disabled": {
2428
+ "code": "FAILED_PRECONDITION",
2429
+ "domain": "tool",
2430
+ "failure_class": "configuration",
2431
+ "severity": "blocking_user_fixable",
2432
+ "retryable": False,
2433
+ "resolution_owner": "user",
2434
+ "remediation_action": "change_configuration",
2435
+ "default_stage": "validate"
2436
+ },
2437
+ "tool_handler_unavailable": {
2438
+ "code": "FAILED_PRECONDITION",
2439
+ "domain": "tool",
2440
+ "failure_class": "availability",
2441
+ "severity": "blocking_user_fixable",
2442
+ "retryable": False,
2443
+ "resolution_owner": "user",
2444
+ "remediation_action": "configure_dependency",
2445
+ "default_stage": "resolve"
2446
+ },
2447
+ "tool_execution_failed": {
2448
+ "code": "INTERNAL",
2449
+ "domain": "tool",
2450
+ "failure_class": "execution",
2451
+ "severity": "blocking_internal",
2452
+ "retryable": False,
2453
+ "resolution_owner": "agentsam",
2454
+ "remediation_action": "inspect_platform",
2455
+ "default_stage": "execute"
2456
+ },
2457
+ "tool_timeout": {
2458
+ "code": "DEADLINE_EXCEEDED",
2459
+ "domain": "tool",
2460
+ "failure_class": "timeout",
2461
+ "severity": "transient",
2462
+ "retryable": True,
2463
+ "resolution_owner": "unknown",
2464
+ "remediation_action": "retry_later",
2465
+ "default_stage": "execute"
2466
+ },
2467
+ "tool_output_invalid": {
2468
+ "code": "DATA_LOSS",
2469
+ "domain": "tool",
2470
+ "failure_class": "protocol",
2471
+ "severity": "blocking_internal",
2472
+ "retryable": False,
2473
+ "resolution_owner": "agentsam",
2474
+ "remediation_action": "inspect_platform",
2475
+ "default_stage": "transform"
2476
+ },
2477
+ "tool_permission_denied": {
2478
+ "code": "PERMISSION_DENIED",
2479
+ "domain": "tool",
2480
+ "failure_class": "authorization",
2481
+ "severity": "policy_blocking",
2482
+ "retryable": False,
2483
+ "resolution_owner": "policy",
2484
+ "remediation_action": "request_permission",
2485
+ "default_stage": "authorize"
2486
+ },
2487
+ "mcp_timeout": {
2488
+ "code": "DEADLINE_EXCEEDED",
2489
+ "domain": "tool",
2490
+ "failure_class": "timeout",
2491
+ "severity": "transient",
2492
+ "retryable": True,
2493
+ "resolution_owner": "user",
2494
+ "remediation_action": "retry_later",
2495
+ "default_stage": "execute"
2496
+ },
2497
+ "mcp_server_unavailable": {
2498
+ "code": "UNAVAILABLE",
2499
+ "domain": "tool",
2500
+ "failure_class": "availability",
2501
+ "severity": "transient",
2502
+ "retryable": True,
2503
+ "resolution_owner": "user",
2504
+ "remediation_action": "restart_service",
2505
+ "default_stage": "connect"
2506
+ },
2507
+ "mcp_capability_unsupported": {
2508
+ "code": "UNIMPLEMENTED",
2509
+ "domain": "tool",
2510
+ "failure_class": "protocol",
2511
+ "severity": "blocking_user_fixable",
2512
+ "retryable": False,
2513
+ "resolution_owner": "user",
2514
+ "remediation_action": "change_configuration",
2515
+ "default_stage": "validate"
2516
+ },
2517
+ "mcp_response_invalid": {
2518
+ "code": "DATA_LOSS",
2519
+ "domain": "tool",
2520
+ "failure_class": "protocol",
2521
+ "severity": "blocking_internal",
2522
+ "retryable": False,
2523
+ "resolution_owner": "agentsam",
2524
+ "remediation_action": "inspect_platform",
2525
+ "default_stage": "transform"
2526
+ },
2527
+ "mcp_transport_failed": {
2528
+ "code": "UNAVAILABLE",
2529
+ "domain": "tool",
2530
+ "failure_class": "transport",
2531
+ "severity": "transient",
2532
+ "retryable": True,
2533
+ "resolution_owner": "user",
2534
+ "remediation_action": "reconnect_service",
2535
+ "default_stage": "connect"
2536
+ },
2537
+ "lsp_timeout": {
2538
+ "code": "DEADLINE_EXCEEDED",
2539
+ "domain": "tool",
2540
+ "failure_class": "timeout",
2541
+ "severity": "transient",
2542
+ "retryable": True,
2543
+ "resolution_owner": "user",
2544
+ "remediation_action": "retry_later",
2545
+ "default_stage": "execute"
2546
+ },
2547
+ "lsp_server_unavailable": {
2548
+ "code": "UNAVAILABLE",
2549
+ "domain": "tool",
2550
+ "failure_class": "availability",
2551
+ "severity": "transient",
2552
+ "retryable": True,
2553
+ "resolution_owner": "user",
2554
+ "remediation_action": "restart_service",
2555
+ "default_stage": "connect"
2556
+ },
2557
+ "lsp_capability_unsupported": {
2558
+ "code": "UNIMPLEMENTED",
2559
+ "domain": "tool",
2560
+ "failure_class": "protocol",
2561
+ "severity": "blocking_user_fixable",
2562
+ "retryable": False,
2563
+ "resolution_owner": "user",
2564
+ "remediation_action": "change_configuration",
2565
+ "default_stage": "validate"
2566
+ },
2567
+ "lsp_response_invalid": {
2568
+ "code": "DATA_LOSS",
2569
+ "domain": "tool",
2570
+ "failure_class": "protocol",
2571
+ "severity": "blocking_internal",
2572
+ "retryable": False,
2573
+ "resolution_owner": "agentsam",
2574
+ "remediation_action": "inspect_platform",
2575
+ "default_stage": "transform"
2576
+ },
2577
+ "lsp_transport_failed": {
2578
+ "code": "UNAVAILABLE",
2579
+ "domain": "tool",
2580
+ "failure_class": "transport",
2581
+ "severity": "transient",
2582
+ "retryable": True,
2583
+ "resolution_owner": "user",
2584
+ "remediation_action": "reconnect_service",
2585
+ "default_stage": "connect"
2586
+ },
2587
+ "mcp_call_failed": {
2588
+ "code": "INTERNAL",
2589
+ "domain": "tool",
2590
+ "failure_class": "execution",
2591
+ "severity": "blocking_internal",
2592
+ "retryable": False,
2593
+ "resolution_owner": "agentsam",
2594
+ "remediation_action": "inspect_platform",
2595
+ "default_stage": "execute"
2596
+ },
2597
+ "lsp_request_failed": {
2598
+ "code": "INTERNAL",
2599
+ "domain": "tool",
2600
+ "failure_class": "execution",
2601
+ "severity": "blocking_internal",
2602
+ "retryable": False,
2603
+ "resolution_owner": "agentsam",
2604
+ "remediation_action": "inspect_platform",
2605
+ "default_stage": "execute"
2606
+ }
2607
+ }
2608
+ ERROR_REASON_ALIASES = {
2609
+ "invalid_agent_id": "input_invalid",
2610
+ "subagent_task_required": "input_invalid",
2611
+ "hook_definition_must_be_object": "hook_definition_invalid",
2612
+ "hook_id_required": "hook_definition_invalid",
2613
+ "hook_id_and_handler_required": "hook_definition_invalid",
2614
+ "invalid_hook_failure_mode": "hook_definition_invalid",
2615
+ "invalid_hook_timeout_ms": "hook_definition_invalid",
2616
+ "hook_timestamp_must_be_non_negative": "hook_definition_invalid",
2617
+ "hook_timestamp_must_be_non_negative_number": "hook_definition_invalid",
2618
+ "hook_clock_must_return_non_negative_number": "hook_definition_invalid",
2619
+ "hook_input_must_be_object": "hook_definition_invalid",
2620
+ "hook_invocation_must_be_object": "hook_definition_invalid",
2621
+ "hook_invocation_metadata_must_be_object": "hook_definition_invalid",
2622
+ "unsupported_hook_invocation_field": "hook_definition_invalid",
2623
+ "unsupported_hook_schema": "hook_definition_invalid",
2624
+ "hook_match_must_be_object": "hook_definition_invalid",
2625
+ "hook_match_$in_must_be_array": "hook_definition_invalid",
2626
+ "unsupported_hook_match_operator": "hook_definition_invalid",
2627
+ "hook_matches_must_be_function": "hook_definition_invalid",
2628
+ "hook_key_required": "hook_definition_invalid",
2629
+ "hook_receipt_hook_id_required": "hook_definition_invalid",
2630
+ "invalid_hook_id": "hook_definition_invalid",
2631
+ "invalid_hook_priority": "hook_definition_invalid",
2632
+ "invalid_hook_command_output_limit": "hook_definition_invalid",
2633
+ "invalid_hook_command_timeout": "hook_definition_invalid",
2634
+ "invalid_hook_http_response_limit": "hook_definition_invalid",
2635
+ "invalid_hook_http_timeout": "hook_definition_invalid",
2636
+ "duplicate_hook_id": "hook_duplicate_id",
2637
+ "agentsam_hook_config_not_found": "hook_not_found",
2638
+ "unsupported_hook_event": "hook_event_unsupported",
2639
+ "hook_config_must_be_object": "hook_configuration_invalid",
2640
+ "unsupported_hook_config_field": "hook_configuration_invalid",
2641
+ "unsupported_hook_config_schema": "hook_configuration_invalid",
2642
+ "hook_config_unreadable": "hook_configuration_invalid",
2643
+ "invalid_configured_hook": "hook_configuration_invalid",
2644
+ "unsupported_configured_hook_field": "hook_configuration_invalid",
2645
+ "configured_hook_match_must_be_object": "hook_configuration_invalid",
2646
+ "invalid_hook_env_reference": "hook_configuration_invalid",
2647
+ "missing_hook_environment": "hook_configuration_invalid",
2648
+ "invalid_hook_environment_key": "hook_configuration_invalid",
2649
+ "hook_command_cwd_outside_config_directory": "hook_configuration_invalid",
2650
+ "hook_store_database_required": "hook_configuration_invalid",
2651
+ "invalid_hook_adapter": "hook_adapter_unknown",
2652
+ "unknown_hook_adapter": "hook_adapter_unknown",
2653
+ "unsupported_hook_adapter_type": "hook_adapter_unknown",
2654
+ "unsupported_hook_adapter_field": "hook_adapter_unknown",
2655
+ "hook_handler_required": "hook_handler_unavailable",
2656
+ "callback_hook_handler_required": "hook_handler_unavailable",
2657
+ "base_capability_adapter_required": "hook_handler_unavailable",
2658
+ "base_provider_adapter_required": "hook_handler_unavailable",
2659
+ "hook_runtime_required": "hook_handler_unavailable",
2660
+ "invalid_hook_runtime": "hook_handler_unavailable",
2661
+ "composite_capability_adapters_required": "hook_handler_unavailable",
2662
+ "hook_http_fetch_required": "hook_handler_unavailable",
2663
+ "hook_store_required": "hook_handler_unavailable",
2664
+ "lsp_request_adapter_required": "hook_handler_unavailable",
2665
+ "mcp_call_tool_adapter_required": "hook_handler_unavailable",
2666
+ "run_agent_adapter_required": "hook_handler_unavailable",
2667
+ "stored_hook_handler_unavailable": "hook_handler_unavailable",
2668
+ "hook_timeout": "hook_handler_timeout",
2669
+ "AGENTSAM_HOOK_TIMEOUT": "hook_handler_timeout",
2670
+ "context deadline exceeded": "hook_handler_timeout",
2671
+ "deadline has elapsed": "hook_handler_timeout",
2672
+ "hook_execution_failed": "hook_handler_failed",
2673
+ "AGENTSAM_HOOK_EXECUTION_FAILED": "hook_handler_failed",
2674
+ "AGENTSAM_HOOK_FAILED": "hook_handler_failed",
2675
+ "hook_output_must_be_object": "hook_output_invalid",
2676
+ "invalid_permission_decision": "hook_output_invalid",
2677
+ "modified_args_must_be_object": "hook_output_invalid",
2678
+ "modified_request_must_be_object": "hook_output_invalid",
2679
+ "modified_prompt_must_be_string": "hook_output_invalid",
2680
+ "modified_transformed_prompt_must_be_string": "hook_output_invalid",
2681
+ "modified_config_must_be_object": "hook_output_invalid",
2682
+ "AGENTSAM_HOOK_INVALID_OUTPUT": "hook_output_invalid",
2683
+ "AGENTSAM_HOOK_OUTPUT_LIMIT": "hook_output_limit_exceeded",
2684
+ "unsupported_hook_output_field": "hook_output_field_unsupported",
2685
+ "permission_decision_not_supported": "hook_output_field_unsupported",
2686
+ "modified_args_not_supported": "hook_output_field_unsupported",
2687
+ "modified_request_not_supported": "hook_output_field_unsupported",
2688
+ "modified_result_not_supported": "hook_output_field_unsupported",
2689
+ "modified_prompt_not_supported": "hook_output_field_unsupported",
2690
+ "modified_transformed_prompt_not_supported": "hook_output_field_unsupported",
2691
+ "modified_config_not_supported": "hook_output_field_unsupported",
2692
+ "hook_http_failed": "hook_http_request_failed",
2693
+ "AGENTSAM_HOOK_HTTP_FAILED": "hook_http_request_failed",
2694
+ "hook_http_invalid_json": "hook_http_response_invalid",
2695
+ "unsupported_hook_http_protocol": "hook_http_protocol_unsupported",
2696
+ "hook_http_url_must_not_contain_credentials": "hook_http_credentials_forbidden",
2697
+ "mcp_capability_unavailable": "hook_mcp_capability_missing",
2698
+ "duplicate_mcp_capability": "hook_mcp_capability_duplicate",
2699
+ "lsp_language_not_configured": "hook_lsp_server_unavailable",
2700
+ "lsp_language_required": "hook_lsp_language_required",
2701
+ "lsp_capability_unavailable": "hook_lsp_capability_unsupported",
2702
+ "configured_hook_command_required": "hook_command_required",
2703
+ "hook_command_stdin_unavailable": "hook_command_spawn_failed",
2704
+ "hook_command_failed": "hook_command_exit_nonzero",
2705
+ "AGENTSAM_HOOK_COMMAND_FAILED": "hook_command_exit_nonzero",
2706
+ "hook_command_invalid_json": "hook_command_output_invalid",
2707
+ "AGENTSAM_HOOK_PERMISSION_DENIED": "hook_permission_denied",
2708
+ "AGENTSAM_HOOK_APPROVAL_REQUIRED": "hook_permission_denied",
2709
+ "capability_handler_unavailable": "hook_capability_unavailable",
2710
+ "agent_capability_unavailable": "hook_capability_unavailable",
2711
+ "duplicate_capability_descriptor": "hook_capability_duplicate",
2712
+ "invalid_error_handling": "hook_error_handling_invalid",
2713
+ "error_handling_not_supported": "hook_error_handling_unsupported",
2714
+ "retry_count_must_be_between_0_and_10": "hook_retry_limit_exceeded",
2715
+ "invalid_stop_decision": "hook_stop_decision_invalid",
2716
+ "distribution_command_failed": "distribution_smoke_failed"
2717
+ }
2718
+
2719
+ def normalize_error_reason(*values: object) -> str:
2720
+ for value in values:
2721
+ candidate = str(value or "").strip().split(":", 1)[0]
2722
+ if candidate in ERROR_REASON_POLICY:
2723
+ return candidate
2724
+ reason = ERROR_REASON_ALIASES.get(candidate) or ERROR_REASON_ALIASES.get(candidate.lower()) or ERROR_REASON_ALIASES.get(candidate.upper())
2725
+ if reason:
2726
+ return reason
2727
+ return "hook_handler_failed"
2728
+
2729
+ def error_policy(reason: str) -> dict[str, object]:
2730
+ return ERROR_REASON_POLICY.get(reason, ERROR_REASON_POLICY["hook_handler_failed"])