@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,396 @@
1
+ // Code generated by scripts/generate-error-contracts.mjs. DO NOT EDIT.
2
+ pub const ERROR_SCHEMA_VERSION: u32 = 2;
3
+
4
+ #[derive(Debug, Clone, Copy, PartialEq, Eq)]
5
+ pub struct ErrorPolicy {
6
+ pub reason: &'static str, pub code: &'static str, pub domain: &'static str,
7
+ pub failure_class: &'static str, pub severity: &'static str, pub retryable: bool,
8
+ pub resolution_owner: &'static str, pub remediation_action: &'static str, pub default_stage: &'static str,
9
+ }
10
+
11
+ pub static ERROR_REASON_POLICIES: &[ErrorPolicy] = &[
12
+ ErrorPolicy { reason: "unknown", code: "UNKNOWN", domain: "runtime", failure_class: "internal", severity: "blocking_internal", retryable: false, resolution_owner: "unknown", remediation_action: "inspect_platform", default_stage: "execute" },
13
+ ErrorPolicy { reason: "input_invalid", code: "INVALID_ARGUMENT", domain: "runtime", failure_class: "validation", severity: "blocking_user_fixable", retryable: false, resolution_owner: "user", remediation_action: "change_input", default_stage: "validate" },
14
+ ErrorPolicy { reason: "input_out_of_range", code: "OUT_OF_RANGE", domain: "runtime", failure_class: "validation", severity: "blocking_user_fixable", retryable: false, resolution_owner: "user", remediation_action: "change_input", default_stage: "execute" },
15
+ ErrorPolicy { reason: "precondition_failed", code: "FAILED_PRECONDITION", domain: "runtime", failure_class: "configuration", severity: "blocking_user_fixable", retryable: false, resolution_owner: "user", remediation_action: "change_configuration", default_stage: "validate" },
16
+ ErrorPolicy { reason: "unsupported_operation", code: "UNIMPLEMENTED", domain: "runtime", failure_class: "validation", severity: "blocking_user_fixable", retryable: false, resolution_owner: "user", remediation_action: "change_configuration", default_stage: "validate" },
17
+ ErrorPolicy { reason: "auth_missing", code: "UNAUTHENTICATED", domain: "auth", failure_class: "authentication", severity: "blocking_user_fixable", retryable: false, resolution_owner: "user", remediation_action: "reauthenticate", default_stage: "authorize" },
18
+ ErrorPolicy { reason: "auth_invalid", code: "UNAUTHENTICATED", domain: "auth", failure_class: "authentication", severity: "blocking_user_fixable", retryable: false, resolution_owner: "user", remediation_action: "reauthenticate", default_stage: "authorize" },
19
+ ErrorPolicy { reason: "permission_denied", code: "PERMISSION_DENIED", domain: "auth", failure_class: "authorization", severity: "policy_blocking", retryable: false, resolution_owner: "policy", remediation_action: "request_permission", default_stage: "authorize" },
20
+ ErrorPolicy { reason: "user_permission_denied", code: "PERMISSION_DENIED", domain: "auth", failure_class: "authorization", severity: "blocking_user_fixable", retryable: false, resolution_owner: "user", remediation_action: "request_permission", default_stage: "authorize" },
21
+ ErrorPolicy { reason: "provider_not_connected", code: "FAILED_PRECONDITION", domain: "provider", failure_class: "execution", severity: "blocking_user_fixable", retryable: false, resolution_owner: "user", remediation_action: "connect_provider", default_stage: "connect" },
22
+ ErrorPolicy { reason: "provider_credential_missing", code: "FAILED_PRECONDITION", domain: "provider", failure_class: "authentication", severity: "blocking_user_fixable", retryable: false, resolution_owner: "user", remediation_action: "configure_provider_credential", default_stage: "authorize" },
23
+ ErrorPolicy { reason: "provider_credential_invalid", code: "UNAUTHENTICATED", domain: "provider", failure_class: "authentication", severity: "blocking_user_fixable", retryable: false, resolution_owner: "user", remediation_action: "refresh_provider_credential", default_stage: "authorize" },
24
+ ErrorPolicy { reason: "provider_credential_expired", code: "UNAUTHENTICATED", domain: "provider", failure_class: "authentication", severity: "blocking_user_fixable", retryable: false, resolution_owner: "user", remediation_action: "refresh_provider_credential", default_stage: "authorize" },
25
+ ErrorPolicy { reason: "provider_scope_insufficient", code: "PERMISSION_DENIED", domain: "provider", failure_class: "authorization", severity: "blocking_user_fixable", retryable: false, resolution_owner: "user", remediation_action: "request_permission", default_stage: "authorize" },
26
+ ErrorPolicy { reason: "provider_budget_exhausted", code: "RESOURCE_EXHAUSTED", domain: "provider", failure_class: "capacity", severity: "blocking_user_fixable", retryable: false, resolution_owner: "user", remediation_action: "add_budget", default_stage: "execute" },
27
+ ErrorPolicy { reason: "provider_quota_exhausted", code: "RESOURCE_EXHAUSTED", domain: "provider", failure_class: "capacity", severity: "blocking_user_fixable", retryable: false, resolution_owner: "user", remediation_action: "increase_quota", default_stage: "execute" },
28
+ ErrorPolicy { reason: "provider_rate_limited", code: "RESOURCE_EXHAUSTED", domain: "provider", failure_class: "capacity", severity: "transient", retryable: true, resolution_owner: "provider", remediation_action: "retry_later", default_stage: "execute" },
29
+ ErrorPolicy { reason: "provider_capacity_exhausted", code: "RESOURCE_EXHAUSTED", domain: "provider", failure_class: "capacity", severity: "transient", retryable: true, resolution_owner: "provider", remediation_action: "retry_later", default_stage: "execute" },
30
+ ErrorPolicy { reason: "provider_unavailable", code: "UNAVAILABLE", domain: "provider", failure_class: "availability", severity: "transient", retryable: true, resolution_owner: "provider", remediation_action: "retry_later", default_stage: "execute" },
31
+ ErrorPolicy { reason: "provider_overloaded", code: "UNAVAILABLE", domain: "provider", failure_class: "execution", severity: "transient", retryable: true, resolution_owner: "provider", remediation_action: "retry_later", default_stage: "execute" },
32
+ ErrorPolicy { reason: "provider_request_invalid", code: "INVALID_ARGUMENT", domain: "provider", failure_class: "validation", severity: "blocking_user_fixable", retryable: false, resolution_owner: "user", remediation_action: "change_input", default_stage: "validate" },
33
+ ErrorPolicy { reason: "provider_model_not_found", code: "NOT_FOUND", domain: "provider", failure_class: "availability", severity: "blocking_user_fixable", retryable: false, resolution_owner: "user", remediation_action: "select_model", default_stage: "resolve" },
34
+ ErrorPolicy { reason: "provider_region_unsupported", code: "FAILED_PRECONDITION", domain: "provider", failure_class: "validation", severity: "blocking_user_fixable", retryable: false, resolution_owner: "user", remediation_action: "change_region", default_stage: "validate" },
35
+ ErrorPolicy { reason: "provider_content_blocked", code: "PERMISSION_DENIED", domain: "provider", failure_class: "authorization", severity: "policy_blocking", retryable: false, resolution_owner: "policy", remediation_action: "none", default_stage: "execute" },
36
+ ErrorPolicy { reason: "context_window_exceeded", code: "RESOURCE_EXHAUSTED", domain: "model", failure_class: "capacity", severity: "blocking_user_fixable", retryable: false, resolution_owner: "user", remediation_action: "reduce_scope", default_stage: "execute" },
37
+ ErrorPolicy { reason: "service_tier_unsupported", code: "FAILED_PRECONDITION", domain: "model", failure_class: "validation", severity: "blocking_user_fixable", retryable: false, resolution_owner: "user", remediation_action: "change_configuration", default_stage: "validate" },
38
+ ErrorPolicy { reason: "continuation_invalid", code: "FAILED_PRECONDITION", domain: "model", failure_class: "validation", severity: "transient", retryable: true, resolution_owner: "agentsam", remediation_action: "retry", default_stage: "validate" },
39
+ ErrorPolicy { reason: "target_not_found", code: "NOT_FOUND", domain: "runtime", failure_class: "availability", severity: "blocking_user_fixable", retryable: false, resolution_owner: "user", remediation_action: "change_input", default_stage: "resolve" },
40
+ ErrorPolicy { reason: "already_exists", code: "ALREADY_EXISTS", domain: "runtime", failure_class: "conflict", severity: "blocking_user_fixable", retryable: false, resolution_owner: "user", remediation_action: "change_input", default_stage: "execute" },
41
+ ErrorPolicy { reason: "conflict", code: "ABORTED", domain: "runtime", failure_class: "conflict", severity: "blocking_user_fixable", retryable: false, resolution_owner: "user", remediation_action: "change_input", default_stage: "execute" },
42
+ ErrorPolicy { reason: "stale_version", code: "ABORTED", domain: "runtime", failure_class: "conflict", severity: "transient", retryable: true, resolution_owner: "user", remediation_action: "retry", default_stage: "execute" },
43
+ ErrorPolicy { reason: "rate_limited", code: "RESOURCE_EXHAUSTED", domain: "runtime", failure_class: "capacity", severity: "transient", retryable: true, resolution_owner: "provider", remediation_action: "retry_later", default_stage: "execute" },
44
+ ErrorPolicy { reason: "quota_exhausted", code: "RESOURCE_EXHAUSTED", domain: "runtime", failure_class: "capacity", severity: "blocking_user_fixable", retryable: false, resolution_owner: "user", remediation_action: "increase_quota", default_stage: "execute" },
45
+ ErrorPolicy { reason: "capacity_exhausted", code: "RESOURCE_EXHAUSTED", domain: "runtime", failure_class: "capacity", severity: "transient", retryable: true, resolution_owner: "provider", remediation_action: "retry_later", default_stage: "execute" },
46
+ ErrorPolicy { reason: "transport_unreachable", code: "UNAVAILABLE", domain: "transport", failure_class: "availability", severity: "transient", retryable: true, resolution_owner: "provider", remediation_action: "retry_later", default_stage: "connect" },
47
+ ErrorPolicy { reason: "transport_refused", code: "UNAVAILABLE", domain: "transport", failure_class: "availability", severity: "transient", retryable: true, resolution_owner: "provider", remediation_action: "retry_later", default_stage: "connect" },
48
+ ErrorPolicy { reason: "transport_timeout", code: "DEADLINE_EXCEEDED", domain: "transport", failure_class: "timeout", severity: "transient", retryable: true, resolution_owner: "provider", remediation_action: "retry_later", default_stage: "execute" },
49
+ ErrorPolicy { reason: "upstream_invalid_response", code: "UNAVAILABLE", domain: "runtime", failure_class: "validation", severity: "transient", retryable: true, resolution_owner: "provider", remediation_action: "retry_later", default_stage: "validate" },
50
+ ErrorPolicy { reason: "dns_unresolved", code: "UNAVAILABLE", domain: "transport", failure_class: "transport", severity: "transient", retryable: true, resolution_owner: "provider", remediation_action: "retry_later", default_stage: "connect" },
51
+ ErrorPolicy { reason: "tls_handshake_failed", code: "UNAVAILABLE", domain: "transport", failure_class: "transport", severity: "blocking_internal", retryable: false, resolution_owner: "agentsam", remediation_action: "inspect_platform", default_stage: "connect" },
52
+ ErrorPolicy { reason: "tls_certificate_invalid", code: "UNAVAILABLE", domain: "transport", failure_class: "transport", severity: "blocking_internal", retryable: false, resolution_owner: "agentsam", remediation_action: "inspect_platform", default_stage: "connect" },
53
+ ErrorPolicy { reason: "tunnel_connector_unavailable", code: "UNAVAILABLE", domain: "transport", failure_class: "availability", severity: "transient", retryable: true, resolution_owner: "user", remediation_action: "reconnect_service", default_stage: "connect" },
54
+ ErrorPolicy { reason: "cancelled", code: "CANCELLED", domain: "runtime", failure_class: "cancellation", severity: "blocking_user_fixable", retryable: false, resolution_owner: "user", remediation_action: "none", default_stage: "execute" },
55
+ ErrorPolicy { reason: "deadline_exceeded", code: "DEADLINE_EXCEEDED", domain: "runtime", failure_class: "timeout", severity: "transient", retryable: true, resolution_owner: "unknown", remediation_action: "retry_later", default_stage: "execute" },
56
+ ErrorPolicy { reason: "execution_timeout", code: "DEADLINE_EXCEEDED", domain: "runtime", failure_class: "timeout", severity: "transient", retryable: true, resolution_owner: "unknown", remediation_action: "retry_later", default_stage: "execute" },
57
+ ErrorPolicy { reason: "execution_failed", code: "INTERNAL", domain: "runtime", failure_class: "internal", severity: "blocking_internal", retryable: false, resolution_owner: "unknown", remediation_action: "inspect_platform", default_stage: "execute" },
58
+ ErrorPolicy { reason: "process_spawn_failed", code: "FAILED_PRECONDITION", domain: "runtime", failure_class: "process", severity: "blocking_user_fixable", retryable: false, resolution_owner: "user", remediation_action: "install_dependency", default_stage: "execute" },
59
+ ErrorPolicy { reason: "process_crashed", code: "INTERNAL", domain: "runtime", failure_class: "process", severity: "blocking_internal", retryable: false, resolution_owner: "unknown", remediation_action: "inspect_platform", default_stage: "execute" },
60
+ ErrorPolicy { reason: "process_output_limit", code: "RESOURCE_EXHAUSTED", domain: "runtime", failure_class: "capacity", severity: "blocking_user_fixable", retryable: false, resolution_owner: "user", remediation_action: "reduce_scope", default_stage: "execute" },
61
+ ErrorPolicy { reason: "device_not_enrolled", code: "FAILED_PRECONDITION", domain: "device", failure_class: "execution", severity: "blocking_user_fixable", retryable: false, resolution_owner: "user", remediation_action: "reenroll_device", default_stage: "execute" },
62
+ ErrorPolicy { reason: "device_credential_missing", code: "FAILED_PRECONDITION", domain: "device", failure_class: "authentication", severity: "blocking_user_fixable", retryable: false, resolution_owner: "user", remediation_action: "reenroll_device", default_stage: "authorize" },
63
+ ErrorPolicy { reason: "device_credential_invalid", code: "UNAUTHENTICATED", domain: "device", failure_class: "authentication", severity: "blocking_user_fixable", retryable: false, resolution_owner: "user", remediation_action: "reenroll_device", default_stage: "authorize" },
64
+ ErrorPolicy { reason: "device_credential_expired", code: "UNAUTHENTICATED", domain: "device", failure_class: "authentication", severity: "blocking_user_fixable", retryable: false, resolution_owner: "user", remediation_action: "reenroll_device", default_stage: "authorize" },
65
+ ErrorPolicy { reason: "device_registration_missing", code: "FAILED_PRECONDITION", domain: "device", failure_class: "execution", severity: "blocking_user_fixable", retryable: false, resolution_owner: "user", remediation_action: "reenroll_device", default_stage: "resolve" },
66
+ ErrorPolicy { reason: "device_registration_stale", code: "FAILED_PRECONDITION", domain: "device", failure_class: "conflict", severity: "blocking_user_fixable", retryable: false, resolution_owner: "user", remediation_action: "reenroll_device", default_stage: "execute" },
67
+ ErrorPolicy { reason: "connection_revoked", code: "FAILED_PRECONDITION", domain: "identity", failure_class: "execution", severity: "blocking_user_fixable", retryable: false, resolution_owner: "user", remediation_action: "reenroll_device", default_stage: "connect" },
68
+ ErrorPolicy { reason: "connection_disabled", code: "FAILED_PRECONDITION", domain: "identity", failure_class: "execution", severity: "blocking_user_fixable", retryable: false, resolution_owner: "user", remediation_action: "reconnect_service", default_stage: "connect" },
69
+ ErrorPolicy { reason: "identity_resolution_failed", code: "INTERNAL", domain: "identity", failure_class: "identity", severity: "blocking_internal", retryable: false, resolution_owner: "agentsam", remediation_action: "inspect_platform", default_stage: "execute" },
70
+ ErrorPolicy { reason: "identity_mismatch", code: "INTERNAL", domain: "identity", failure_class: "identity", severity: "blocking_internal", retryable: false, resolution_owner: "agentsam", remediation_action: "inspect_platform", default_stage: "validate" },
71
+ ErrorPolicy { reason: "repository_scope_violation", code: "PERMISSION_DENIED", domain: "repository", failure_class: "authorization", severity: "policy_blocking", retryable: false, resolution_owner: "policy", remediation_action: "none", default_stage: "authorize" },
72
+ ErrorPolicy { reason: "repository_changed", code: "ABORTED", domain: "repository", failure_class: "conflict", severity: "transient", retryable: true, resolution_owner: "user", remediation_action: "retry", default_stage: "execute" },
73
+ ErrorPolicy { reason: "index_stale", code: "FAILED_PRECONDITION", domain: "indexing", failure_class: "conflict", severity: "blocking_user_fixable", retryable: false, resolution_owner: "user", remediation_action: "retry", default_stage: "persist" },
74
+ ErrorPolicy { reason: "index_failed", code: "INTERNAL", domain: "indexing", failure_class: "internal", severity: "blocking_internal", retryable: false, resolution_owner: "agentsam", remediation_action: "inspect_platform", default_stage: "persist" },
75
+ ErrorPolicy { reason: "embedding_failed", code: "INTERNAL", domain: "knowledge", failure_class: "persistence", severity: "blocking_internal", retryable: false, resolution_owner: "unknown", remediation_action: "inspect_platform", default_stage: "persist" },
76
+ ErrorPolicy { reason: "vector_store_failed", code: "INTERNAL", domain: "knowledge", failure_class: "persistence", severity: "blocking_internal", retryable: false, resolution_owner: "agentsam", remediation_action: "inspect_platform", default_stage: "persist" },
77
+ ErrorPolicy { reason: "github_installation_missing", code: "FAILED_PRECONDITION", domain: "repository", failure_class: "execution", severity: "blocking_user_fixable", retryable: false, resolution_owner: "user", remediation_action: "connect_provider", default_stage: "resolve" },
78
+ ErrorPolicy { reason: "github_repository_not_found", code: "NOT_FOUND", domain: "repository", failure_class: "availability", severity: "blocking_user_fixable", retryable: false, resolution_owner: "user", remediation_action: "change_input", default_stage: "resolve" },
79
+ ErrorPolicy { reason: "github_rate_limited", code: "RESOURCE_EXHAUSTED", domain: "repository", failure_class: "capacity", severity: "transient", retryable: true, resolution_owner: "provider", remediation_action: "retry_later", default_stage: "execute" },
80
+ ErrorPolicy { reason: "github_secondary_rate_limited", code: "RESOURCE_EXHAUSTED", domain: "repository", failure_class: "capacity", severity: "transient", retryable: true, resolution_owner: "provider", remediation_action: "retry_later", default_stage: "execute" },
81
+ ErrorPolicy { reason: "github_scope_insufficient", code: "PERMISSION_DENIED", domain: "repository", failure_class: "authorization", severity: "blocking_user_fixable", retryable: false, resolution_owner: "user", remediation_action: "request_permission", default_stage: "authorize" },
82
+ ErrorPolicy { reason: "cloudflare_workers_cpu_exhausted", code: "RESOURCE_EXHAUSTED", domain: "deployment", failure_class: "capacity", severity: "blocking_internal", retryable: false, resolution_owner: "agentsam", remediation_action: "inspect_platform", default_stage: "execute" },
83
+ ErrorPolicy { reason: "cloudflare_service_binding_unavailable", code: "UNAVAILABLE", domain: "deployment", failure_class: "availability", severity: "transient", retryable: true, resolution_owner: "provider", remediation_action: "retry_later", default_stage: "execute" },
84
+ ErrorPolicy { reason: "cloudflare_durable_object_unavailable", code: "UNAVAILABLE", domain: "deployment", failure_class: "availability", severity: "transient", retryable: true, resolution_owner: "provider", remediation_action: "retry_later", default_stage: "execute" },
85
+ ErrorPolicy { reason: "cloudflare_d1_unavailable", code: "UNAVAILABLE", domain: "deployment", failure_class: "availability", severity: "transient", retryable: true, resolution_owner: "provider", remediation_action: "retry_later", default_stage: "execute" },
86
+ ErrorPolicy { reason: "cloudflare_r2_unavailable", code: "UNAVAILABLE", domain: "deployment", failure_class: "availability", severity: "transient", retryable: true, resolution_owner: "provider", remediation_action: "retry_later", default_stage: "execute" },
87
+ ErrorPolicy { reason: "docker_daemon_unavailable", code: "UNAVAILABLE", domain: "runtime", failure_class: "availability", severity: "blocking_user_fixable", retryable: false, resolution_owner: "user", remediation_action: "restart_runtime", default_stage: "execute" },
88
+ ErrorPolicy { reason: "docker_image_not_found", code: "NOT_FOUND", domain: "runtime", failure_class: "availability", severity: "blocking_user_fixable", retryable: false, resolution_owner: "user", remediation_action: "change_input", default_stage: "resolve" },
89
+ ErrorPolicy { reason: "docker_build_failed", code: "FAILED_PRECONDITION", domain: "runtime", failure_class: "execution", severity: "blocking_user_fixable", retryable: false, resolution_owner: "user", remediation_action: "change_input", default_stage: "build" },
90
+ ErrorPolicy { reason: "docker_container_failed", code: "FAILED_PRECONDITION", domain: "runtime", failure_class: "execution", severity: "blocking_user_fixable", retryable: false, resolution_owner: "user", remediation_action: "change_configuration", default_stage: "execute" },
91
+ ErrorPolicy { reason: "docker_registry_auth_failed", code: "UNAUTHENTICATED", domain: "runtime", failure_class: "execution", severity: "blocking_user_fixable", retryable: false, resolution_owner: "user", remediation_action: "reauthenticate", default_stage: "execute" },
92
+ ErrorPolicy { reason: "docker_pull_rate_limited", code: "RESOURCE_EXHAUSTED", domain: "runtime", failure_class: "capacity", severity: "transient", retryable: true, resolution_owner: "provider", remediation_action: "retry_later", default_stage: "execute" },
93
+ ErrorPolicy { reason: "gcp_project_missing", code: "FAILED_PRECONDITION", domain: "deployment", failure_class: "execution", severity: "blocking_user_fixable", retryable: false, resolution_owner: "user", remediation_action: "change_configuration", default_stage: "resolve" },
94
+ ErrorPolicy { reason: "gcp_api_disabled", code: "FAILED_PRECONDITION", domain: "deployment", failure_class: "execution", severity: "blocking_user_fixable", retryable: false, resolution_owner: "user", remediation_action: "change_configuration", default_stage: "execute" },
95
+ ErrorPolicy { reason: "gcp_quota_exhausted", code: "RESOURCE_EXHAUSTED", domain: "deployment", failure_class: "capacity", severity: "blocking_user_fixable", retryable: false, resolution_owner: "user", remediation_action: "increase_quota", default_stage: "execute" },
96
+ ErrorPolicy { reason: "gcp_vm_not_found", code: "NOT_FOUND", domain: "deployment", failure_class: "availability", severity: "blocking_user_fixable", retryable: false, resolution_owner: "user", remediation_action: "change_input", default_stage: "resolve" },
97
+ ErrorPolicy { reason: "gcp_vm_unavailable", code: "UNAVAILABLE", domain: "deployment", failure_class: "availability", severity: "transient", retryable: true, resolution_owner: "provider", remediation_action: "retry_later", default_stage: "execute" },
98
+ ErrorPolicy { reason: "cad_tool_not_installed", code: "FAILED_PRECONDITION", domain: "cad", failure_class: "dependency", severity: "blocking_user_fixable", retryable: false, resolution_owner: "user", remediation_action: "install_dependency", default_stage: "install" },
99
+ ErrorPolicy { reason: "cad_tool_not_executable", code: "FAILED_PRECONDITION", domain: "cad", failure_class: "execution", severity: "blocking_user_fixable", retryable: false, resolution_owner: "user", remediation_action: "configure_dependency", default_stage: "execute" },
100
+ ErrorPolicy { reason: "cad_tool_version_incompatible", code: "FAILED_PRECONDITION", domain: "cad", failure_class: "execution", severity: "blocking_user_fixable", retryable: false, resolution_owner: "user", remediation_action: "upgrade_dependency", default_stage: "execute" },
101
+ ErrorPolicy { reason: "cad_component_missing", code: "FAILED_PRECONDITION", domain: "cad", failure_class: "dependency", severity: "blocking_user_fixable", retryable: false, resolution_owner: "user", remediation_action: "install_dependency", default_stage: "resolve" },
102
+ ErrorPolicy { reason: "cad_dependency_missing", code: "FAILED_PRECONDITION", domain: "cad", failure_class: "dependency", severity: "blocking_user_fixable", retryable: false, resolution_owner: "user", remediation_action: "install_dependency", default_stage: "resolve" },
103
+ ErrorPolicy { reason: "cad_dependency_version_incompatible", code: "FAILED_PRECONDITION", domain: "cad", failure_class: "dependency", severity: "blocking_user_fixable", retryable: false, resolution_owner: "user", remediation_action: "upgrade_dependency", default_stage: "execute" },
104
+ ErrorPolicy { reason: "cad_source_parse_failed", code: "INVALID_ARGUMENT", domain: "cad", failure_class: "execution", severity: "blocking_user_fixable", retryable: false, resolution_owner: "user", remediation_action: "change_input", default_stage: "execute" },
105
+ ErrorPolicy { reason: "cad_input_format_unsupported", code: "INVALID_ARGUMENT", domain: "cad", failure_class: "validation", severity: "blocking_user_fixable", retryable: false, resolution_owner: "user", remediation_action: "change_input", default_stage: "validate" },
106
+ ErrorPolicy { reason: "cad_import_failed", code: "INVALID_ARGUMENT", domain: "cad", failure_class: "execution", severity: "blocking_user_fixable", retryable: false, resolution_owner: "user", remediation_action: "change_input", default_stage: "execute" },
107
+ ErrorPolicy { reason: "cad_model_recompute_failed", code: "FAILED_PRECONDITION", domain: "cad", failure_class: "execution", severity: "blocking_user_fixable", retryable: false, resolution_owner: "user", remediation_action: "change_input", default_stage: "execute" },
108
+ ErrorPolicy { reason: "cad_constraint_unsatisfied", code: "FAILED_PRECONDITION", domain: "cad", failure_class: "execution", severity: "blocking_user_fixable", retryable: false, resolution_owner: "user", remediation_action: "change_input", default_stage: "execute" },
109
+ ErrorPolicy { reason: "cad_geometry_invalid", code: "INVALID_ARGUMENT", domain: "cad", failure_class: "validation", severity: "blocking_user_fixable", retryable: false, resolution_owner: "user", remediation_action: "change_input", default_stage: "validate" },
110
+ ErrorPolicy { reason: "cad_null_shape", code: "INVALID_ARGUMENT", domain: "cad", failure_class: "execution", severity: "blocking_user_fixable", retryable: false, resolution_owner: "user", remediation_action: "change_input", default_stage: "execute" },
111
+ ErrorPolicy { reason: "cad_boolean_failed", code: "FAILED_PRECONDITION", domain: "cad", failure_class: "execution", severity: "blocking_user_fixable", retryable: false, resolution_owner: "user", remediation_action: "change_input", default_stage: "execute" },
112
+ ErrorPolicy { reason: "cad_kernel_failed", code: "INTERNAL", domain: "cad", failure_class: "internal", severity: "blocking_internal", retryable: false, resolution_owner: "unknown", remediation_action: "inspect_platform", default_stage: "execute" },
113
+ ErrorPolicy { reason: "cad_script_failed", code: "INVALID_ARGUMENT", domain: "cad", failure_class: "execution", severity: "blocking_user_fixable", retryable: false, resolution_owner: "user", remediation_action: "change_input", default_stage: "execute" },
114
+ ErrorPolicy { reason: "cad_export_format_unsupported", code: "INVALID_ARGUMENT", domain: "cad", failure_class: "validation", severity: "blocking_user_fixable", retryable: false, resolution_owner: "user", remediation_action: "change_input", default_stage: "validate" },
115
+ ErrorPolicy { reason: "cad_export_failed", code: "INTERNAL", domain: "cad", failure_class: "internal", severity: "blocking_internal", retryable: false, resolution_owner: "unknown", remediation_action: "inspect_platform", default_stage: "transform" },
116
+ ErrorPolicy { reason: "cad_output_missing", code: "DATA_LOSS", domain: "cad", failure_class: "internal", severity: "blocking_internal", retryable: false, resolution_owner: "unknown", remediation_action: "inspect_platform", default_stage: "resolve" },
117
+ ErrorPolicy { reason: "cad_output_invalid", code: "DATA_LOSS", domain: "cad", failure_class: "data_integrity", severity: "blocking_internal", retryable: false, resolution_owner: "unknown", remediation_action: "inspect_platform", default_stage: "validate" },
118
+ ErrorPolicy { reason: "cad_render_engine_unavailable", code: "FAILED_PRECONDITION", domain: "cad", failure_class: "availability", severity: "blocking_user_fixable", retryable: false, resolution_owner: "user", remediation_action: "change_configuration", default_stage: "execute" },
119
+ ErrorPolicy { reason: "cad_gpu_unavailable", code: "FAILED_PRECONDITION", domain: "cad", failure_class: "availability", severity: "blocking_user_fixable", retryable: false, resolution_owner: "user", remediation_action: "change_configuration", default_stage: "execute" },
120
+ ErrorPolicy { reason: "cad_render_failed", code: "INTERNAL", domain: "cad", failure_class: "internal", severity: "blocking_internal", retryable: false, resolution_owner: "unknown", remediation_action: "inspect_platform", default_stage: "execute" },
121
+ ErrorPolicy { reason: "cad_memory_exhausted", code: "RESOURCE_EXHAUSTED", domain: "cad", failure_class: "capacity", severity: "blocking_user_fixable", retryable: false, resolution_owner: "user", remediation_action: "change_configuration", default_stage: "execute" },
122
+ ErrorPolicy { reason: "cad_process_crashed", code: "INTERNAL", domain: "cad", failure_class: "internal", severity: "blocking_internal", retryable: false, resolution_owner: "unknown", remediation_action: "inspect_platform", default_stage: "execute" },
123
+ ErrorPolicy { reason: "cad_warning_escalated", code: "FAILED_PRECONDITION", domain: "cad", failure_class: "execution", severity: "blocking_user_fixable", retryable: false, resolution_owner: "user", remediation_action: "change_input", default_stage: "execute" },
124
+ ErrorPolicy { reason: "policy_blocked", code: "PERMISSION_DENIED", domain: "policy", failure_class: "authorization", severity: "policy_blocking", retryable: false, resolution_owner: "policy", remediation_action: "none", default_stage: "execute" },
125
+ ErrorPolicy { reason: "copyright_blocked", code: "PERMISSION_DENIED", domain: "policy", failure_class: "authorization", severity: "policy_blocking", retryable: false, resolution_owner: "policy", remediation_action: "none", default_stage: "execute" },
126
+ ErrorPolicy { reason: "persistence_failed", code: "INTERNAL", domain: "persistence", failure_class: "persistence", severity: "blocking_internal", retryable: false, resolution_owner: "agentsam", remediation_action: "inspect_platform", default_stage: "persist" },
127
+ ErrorPolicy { reason: "data_corrupt", code: "DATA_LOSS", domain: "persistence", failure_class: "data_integrity", severity: "blocking_internal", retryable: false, resolution_owner: "agentsam", remediation_action: "inspect_platform", default_stage: "persist" },
128
+ ErrorPolicy { reason: "data_loss", code: "DATA_LOSS", domain: "persistence", failure_class: "data_integrity", severity: "blocking_internal", retryable: false, resolution_owner: "agentsam", remediation_action: "inspect_platform", default_stage: "persist" },
129
+ ErrorPolicy { reason: "internal", code: "INTERNAL", domain: "runtime", failure_class: "internal", severity: "blocking_internal", retryable: false, resolution_owner: "agentsam", remediation_action: "inspect_platform", default_stage: "execute" },
130
+ ErrorPolicy { reason: "internal_invariant_violation", code: "INTERNAL", domain: "runtime", failure_class: "internal", severity: "blocking_internal", retryable: false, resolution_owner: "agentsam", remediation_action: "inspect_platform", default_stage: "execute" },
131
+ ErrorPolicy { reason: "internal_configuration_invalid", code: "INTERNAL", domain: "runtime", failure_class: "validation", severity: "blocking_internal", retryable: false, resolution_owner: "agentsam", remediation_action: "inspect_platform", default_stage: "validate" },
132
+ ErrorPolicy { reason: "internal_contract_violation", code: "INTERNAL", domain: "runtime", failure_class: "internal", severity: "blocking_internal", retryable: false, resolution_owner: "agentsam", remediation_action: "inspect_platform", default_stage: "execute" },
133
+ ErrorPolicy { reason: "internal_adapter_failed", code: "INTERNAL", domain: "runtime", failure_class: "internal", severity: "blocking_internal", retryable: false, resolution_owner: "agentsam", remediation_action: "inspect_platform", default_stage: "execute" },
134
+ ErrorPolicy { reason: "internal_dependency_failed", code: "INTERNAL", domain: "runtime", failure_class: "dependency", severity: "blocking_internal", retryable: false, resolution_owner: "agentsam", remediation_action: "inspect_platform", default_stage: "execute" },
135
+ ErrorPolicy { reason: "hook_definition_invalid", code: "INVALID_ARGUMENT", domain: "hook", failure_class: "validation", severity: "blocking_user_fixable", retryable: false, resolution_owner: "user", remediation_action: "change_configuration", default_stage: "validate" },
136
+ ErrorPolicy { reason: "hook_duplicate_id", code: "ALREADY_EXISTS", domain: "hook", failure_class: "conflict", severity: "blocking_user_fixable", retryable: false, resolution_owner: "user", remediation_action: "change_configuration", default_stage: "validate" },
137
+ ErrorPolicy { reason: "hook_not_found", code: "NOT_FOUND", domain: "hook", failure_class: "availability", severity: "blocking_user_fixable", retryable: false, resolution_owner: "user", remediation_action: "change_configuration", default_stage: "validate" },
138
+ ErrorPolicy { reason: "hook_disabled", code: "FAILED_PRECONDITION", domain: "hook", failure_class: "configuration", severity: "blocking_user_fixable", retryable: false, resolution_owner: "user", remediation_action: "change_configuration", default_stage: "validate" },
139
+ ErrorPolicy { reason: "hook_event_unsupported", code: "UNIMPLEMENTED", domain: "hook", failure_class: "protocol", severity: "blocking_user_fixable", retryable: false, resolution_owner: "user", remediation_action: "change_configuration", default_stage: "validate" },
140
+ ErrorPolicy { reason: "hook_configuration_invalid", code: "INVALID_ARGUMENT", domain: "hook", failure_class: "configuration", severity: "blocking_user_fixable", retryable: false, resolution_owner: "user", remediation_action: "change_configuration", default_stage: "validate" },
141
+ ErrorPolicy { reason: "hook_adapter_unknown", code: "UNIMPLEMENTED", domain: "hook", failure_class: "configuration", severity: "blocking_user_fixable", retryable: false, resolution_owner: "user", remediation_action: "change_configuration", default_stage: "validate" },
142
+ ErrorPolicy { reason: "hook_adapter_unavailable", code: "UNAVAILABLE", domain: "hook", failure_class: "availability", severity: "transient", retryable: true, resolution_owner: "user", remediation_action: "reconnect_service", default_stage: "connect" },
143
+ ErrorPolicy { reason: "hook_handler_unavailable", code: "FAILED_PRECONDITION", domain: "hook", failure_class: "availability", severity: "blocking_user_fixable", retryable: false, resolution_owner: "user", remediation_action: "change_configuration", default_stage: "validate" },
144
+ ErrorPolicy { reason: "hook_handler_timeout", code: "DEADLINE_EXCEEDED", domain: "hook", failure_class: "timeout", severity: "transient", retryable: true, resolution_owner: "user", remediation_action: "retry_later", default_stage: "execute" },
145
+ ErrorPolicy { reason: "hook_handler_failed", code: "INTERNAL", domain: "hook", failure_class: "execution", severity: "blocking_internal", retryable: false, resolution_owner: "agentsam", remediation_action: "inspect_platform", default_stage: "execute" },
146
+ ErrorPolicy { reason: "hook_output_invalid", code: "INVALID_ARGUMENT", domain: "hook", failure_class: "protocol", severity: "blocking_user_fixable", retryable: false, resolution_owner: "user", remediation_action: "change_configuration", default_stage: "validate" },
147
+ ErrorPolicy { reason: "hook_output_limit_exceeded", code: "RESOURCE_EXHAUSTED", domain: "hook", failure_class: "capacity", severity: "blocking_user_fixable", retryable: false, resolution_owner: "user", remediation_action: "change_configuration", default_stage: "validate" },
148
+ ErrorPolicy { reason: "hook_output_field_unsupported", code: "INVALID_ARGUMENT", domain: "hook", failure_class: "protocol", severity: "blocking_user_fixable", retryable: false, resolution_owner: "user", remediation_action: "change_configuration", default_stage: "validate" },
149
+ ErrorPolicy { reason: "hook_http_timeout", code: "DEADLINE_EXCEEDED", domain: "hook", failure_class: "timeout", severity: "transient", retryable: true, resolution_owner: "user", remediation_action: "retry_later", default_stage: "execute" },
150
+ ErrorPolicy { reason: "hook_http_request_failed", code: "UNAVAILABLE", domain: "hook", failure_class: "transport", severity: "transient", retryable: true, resolution_owner: "provider", remediation_action: "retry_later", default_stage: "execute" },
151
+ ErrorPolicy { reason: "hook_http_response_invalid", code: "DATA_LOSS", domain: "hook", failure_class: "protocol", severity: "blocking_internal", retryable: false, resolution_owner: "agentsam", remediation_action: "inspect_platform", default_stage: "transform" },
152
+ ErrorPolicy { reason: "hook_http_response_limit_exceeded", code: "RESOURCE_EXHAUSTED", domain: "hook", failure_class: "capacity", severity: "blocking_user_fixable", retryable: false, resolution_owner: "user", remediation_action: "change_configuration", default_stage: "transform" },
153
+ ErrorPolicy { reason: "hook_http_protocol_unsupported", code: "UNIMPLEMENTED", domain: "hook", failure_class: "protocol", severity: "blocking_user_fixable", retryable: false, resolution_owner: "user", remediation_action: "change_configuration", default_stage: "validate" },
154
+ ErrorPolicy { reason: "hook_http_credentials_forbidden", code: "INVALID_ARGUMENT", domain: "hook", failure_class: "policy", severity: "blocking_user_fixable", retryable: false, resolution_owner: "policy", remediation_action: "none", default_stage: "authorize" },
155
+ ErrorPolicy { reason: "hook_mcp_timeout", code: "DEADLINE_EXCEEDED", domain: "hook", failure_class: "timeout", severity: "transient", retryable: true, resolution_owner: "user", remediation_action: "retry_later", default_stage: "execute" },
156
+ ErrorPolicy { reason: "hook_mcp_server_unavailable", code: "UNAVAILABLE", domain: "hook", failure_class: "availability", severity: "transient", retryable: true, resolution_owner: "user", remediation_action: "restart_service", default_stage: "connect" },
157
+ ErrorPolicy { reason: "hook_mcp_capability_missing", code: "NOT_FOUND", domain: "hook", failure_class: "availability", severity: "blocking_user_fixable", retryable: false, resolution_owner: "user", remediation_action: "change_configuration", default_stage: "validate" },
158
+ ErrorPolicy { reason: "hook_mcp_capability_duplicate", code: "ALREADY_EXISTS", domain: "hook", failure_class: "conflict", severity: "blocking_user_fixable", retryable: false, resolution_owner: "user", remediation_action: "change_configuration", default_stage: "validate" },
159
+ ErrorPolicy { reason: "hook_mcp_response_invalid", code: "DATA_LOSS", domain: "hook", failure_class: "protocol", severity: "blocking_internal", retryable: false, resolution_owner: "agentsam", remediation_action: "inspect_platform", default_stage: "transform" },
160
+ ErrorPolicy { reason: "hook_mcp_transport_failed", code: "UNAVAILABLE", domain: "hook", failure_class: "transport", severity: "transient", retryable: true, resolution_owner: "user", remediation_action: "reconnect_service", default_stage: "connect" },
161
+ ErrorPolicy { reason: "hook_lsp_timeout", code: "DEADLINE_EXCEEDED", domain: "hook", failure_class: "timeout", severity: "transient", retryable: true, resolution_owner: "user", remediation_action: "retry_later", default_stage: "execute" },
162
+ ErrorPolicy { reason: "hook_lsp_server_unavailable", code: "UNAVAILABLE", domain: "hook", failure_class: "availability", severity: "transient", retryable: true, resolution_owner: "user", remediation_action: "restart_service", default_stage: "connect" },
163
+ ErrorPolicy { reason: "hook_lsp_language_required", code: "INVALID_ARGUMENT", domain: "hook", failure_class: "validation", severity: "blocking_user_fixable", retryable: false, resolution_owner: "user", remediation_action: "change_configuration", default_stage: "validate" },
164
+ ErrorPolicy { reason: "hook_lsp_capability_unsupported", code: "UNIMPLEMENTED", domain: "hook", failure_class: "protocol", severity: "blocking_user_fixable", retryable: false, resolution_owner: "user", remediation_action: "change_configuration", default_stage: "validate" },
165
+ ErrorPolicy { reason: "hook_lsp_initialize_failed", code: "UNAVAILABLE", domain: "hook", failure_class: "protocol", severity: "transient", retryable: true, resolution_owner: "user", remediation_action: "restart_service", default_stage: "start" },
166
+ ErrorPolicy { reason: "hook_lsp_response_invalid", code: "DATA_LOSS", domain: "hook", failure_class: "protocol", severity: "blocking_internal", retryable: false, resolution_owner: "agentsam", remediation_action: "inspect_platform", default_stage: "transform" },
167
+ ErrorPolicy { reason: "hook_command_required", code: "INVALID_ARGUMENT", domain: "hook", failure_class: "validation", severity: "blocking_user_fixable", retryable: false, resolution_owner: "user", remediation_action: "change_configuration", default_stage: "validate" },
168
+ ErrorPolicy { reason: "hook_command_timeout", code: "DEADLINE_EXCEEDED", domain: "hook", failure_class: "timeout", severity: "transient", retryable: true, resolution_owner: "user", remediation_action: "retry_later", default_stage: "execute" },
169
+ ErrorPolicy { reason: "hook_command_spawn_failed", code: "FAILED_PRECONDITION", domain: "hook", failure_class: "process", severity: "blocking_user_fixable", retryable: false, resolution_owner: "user", remediation_action: "change_configuration", default_stage: "validate" },
170
+ ErrorPolicy { reason: "hook_command_exit_nonzero", code: "FAILED_PRECONDITION", domain: "hook", failure_class: "process", severity: "blocking_user_fixable", retryable: false, resolution_owner: "user", remediation_action: "change_configuration", default_stage: "validate" },
171
+ ErrorPolicy { reason: "hook_command_output_limit_exceeded", code: "RESOURCE_EXHAUSTED", domain: "hook", failure_class: "capacity", severity: "blocking_user_fixable", retryable: false, resolution_owner: "user", remediation_action: "change_configuration", default_stage: "validate" },
172
+ ErrorPolicy { reason: "hook_command_output_invalid", code: "DATA_LOSS", domain: "hook", failure_class: "protocol", severity: "blocking_internal", retryable: false, resolution_owner: "agentsam", remediation_action: "inspect_platform", default_stage: "transform" },
173
+ ErrorPolicy { reason: "hook_permission_denied", code: "PERMISSION_DENIED", domain: "hook", failure_class: "authorization", severity: "policy_blocking", retryable: false, resolution_owner: "policy", remediation_action: "request_permission", default_stage: "authorize" },
174
+ ErrorPolicy { reason: "hook_capability_unavailable", code: "NOT_FOUND", domain: "hook", failure_class: "availability", severity: "blocking_user_fixable", retryable: false, resolution_owner: "user", remediation_action: "change_configuration", default_stage: "validate" },
175
+ ErrorPolicy { reason: "hook_capability_duplicate", code: "ALREADY_EXISTS", domain: "hook", failure_class: "conflict", severity: "blocking_user_fixable", retryable: false, resolution_owner: "user", remediation_action: "change_configuration", default_stage: "validate" },
176
+ ErrorPolicy { reason: "hook_error_handling_invalid", code: "INVALID_ARGUMENT", domain: "hook", failure_class: "protocol", severity: "blocking_user_fixable", retryable: false, resolution_owner: "user", remediation_action: "change_configuration", default_stage: "validate" },
177
+ ErrorPolicy { reason: "hook_error_handling_unsupported", code: "UNIMPLEMENTED", domain: "hook", failure_class: "protocol", severity: "blocking_user_fixable", retryable: false, resolution_owner: "user", remediation_action: "change_configuration", default_stage: "validate" },
178
+ ErrorPolicy { reason: "hook_retry_limit_exceeded", code: "OUT_OF_RANGE", domain: "hook", failure_class: "validation", severity: "blocking_user_fixable", retryable: false, resolution_owner: "user", remediation_action: "change_configuration", default_stage: "validate" },
179
+ ErrorPolicy { reason: "hook_stop_decision_invalid", code: "INVALID_ARGUMENT", domain: "hook", failure_class: "protocol", severity: "blocking_user_fixable", retryable: false, resolution_owner: "user", remediation_action: "change_configuration", default_stage: "validate" },
180
+ ErrorPolicy { reason: "package_manifest_invalid", code: "INVALID_ARGUMENT", domain: "package", failure_class: "validation", severity: "blocking_user_fixable", retryable: false, resolution_owner: "user", remediation_action: "change_configuration", default_stage: "validate" },
181
+ ErrorPolicy { reason: "package_export_missing", code: "FAILED_PRECONDITION", domain: "package", failure_class: "configuration", severity: "blocking_internal", retryable: false, resolution_owner: "agentsam", remediation_action: "regenerate_artifact", default_stage: "verify" },
182
+ ErrorPolicy { reason: "package_file_missing", code: "NOT_FOUND", domain: "package", failure_class: "availability", severity: "blocking_user_fixable", retryable: false, resolution_owner: "user", remediation_action: "change_configuration", default_stage: "verify" },
183
+ ErrorPolicy { reason: "package_unwanted_file_included", code: "FAILED_PRECONDITION", domain: "package", failure_class: "distribution", severity: "blocking_user_fixable", retryable: false, resolution_owner: "user", remediation_action: "change_configuration", default_stage: "verify" },
184
+ ErrorPolicy { reason: "package_dependency_missing", code: "FAILED_PRECONDITION", domain: "package", failure_class: "dependency", severity: "blocking_user_fixable", retryable: false, resolution_owner: "user", remediation_action: "install_dependency", default_stage: "resolve" },
185
+ ErrorPolicy { reason: "package_dependency_version_mismatch", code: "FAILED_PRECONDITION", domain: "package", failure_class: "dependency", severity: "blocking_user_fixable", retryable: false, resolution_owner: "user", remediation_action: "upgrade_dependency", default_stage: "resolve" },
186
+ ErrorPolicy { reason: "lockfile_missing", code: "FAILED_PRECONDITION", domain: "package", failure_class: "dependency", severity: "blocking_user_fixable", retryable: false, resolution_owner: "user", remediation_action: "update_lockfile", default_stage: "install" },
187
+ ErrorPolicy { reason: "lockfile_stale", code: "FAILED_PRECONDITION", domain: "package", failure_class: "dependency", severity: "blocking_user_fixable", retryable: false, resolution_owner: "user", remediation_action: "update_lockfile", default_stage: "install" },
188
+ ErrorPolicy { reason: "lockfile_incompatible", code: "FAILED_PRECONDITION", domain: "package", failure_class: "dependency", severity: "blocking_user_fixable", retryable: false, resolution_owner: "user", remediation_action: "update_lockfile", default_stage: "install" },
189
+ ErrorPolicy { reason: "workspace_not_installed", code: "FAILED_PRECONDITION", domain: "build", failure_class: "dependency", severity: "blocking_user_fixable", retryable: false, resolution_owner: "user", remediation_action: "reinstall_workspace", default_stage: "build" },
190
+ ErrorPolicy { reason: "workspace_resolution_failed", code: "FAILED_PRECONDITION", domain: "build", failure_class: "dependency", severity: "blocking_user_fixable", retryable: false, resolution_owner: "user", remediation_action: "reinstall_workspace", default_stage: "resolve" },
191
+ ErrorPolicy { reason: "workspace_boundary_invalid", code: "FAILED_PRECONDITION", domain: "build", failure_class: "configuration", severity: "blocking_user_fixable", retryable: false, resolution_owner: "user", remediation_action: "change_configuration", default_stage: "validate" },
192
+ ErrorPolicy { reason: "build_dependency_missing", code: "FAILED_PRECONDITION", domain: "build", failure_class: "dependency", severity: "blocking_user_fixable", retryable: false, resolution_owner: "user", remediation_action: "install_dependency", default_stage: "build" },
193
+ ErrorPolicy { reason: "build_failed", code: "INTERNAL", domain: "build", failure_class: "build", severity: "blocking_internal", retryable: false, resolution_owner: "agentsam", remediation_action: "inspect_platform", default_stage: "build" },
194
+ ErrorPolicy { reason: "build_output_missing", code: "DATA_LOSS", domain: "build", failure_class: "build", severity: "blocking_internal", retryable: false, resolution_owner: "agentsam", remediation_action: "regenerate_artifact", default_stage: "verify" },
195
+ ErrorPolicy { reason: "build_output_stale", code: "FAILED_PRECONDITION", domain: "build", failure_class: "build", severity: "blocking_internal", retryable: false, resolution_owner: "agentsam", remediation_action: "regenerate_artifact", default_stage: "verify" },
196
+ ErrorPolicy { reason: "pack_failed", code: "INTERNAL", domain: "package", failure_class: "distribution", severity: "blocking_internal", retryable: false, resolution_owner: "agentsam", remediation_action: "inspect_platform", default_stage: "publish" },
197
+ ErrorPolicy { reason: "pack_contents_invalid", code: "FAILED_PRECONDITION", domain: "package", failure_class: "distribution", severity: "blocking_user_fixable", retryable: false, resolution_owner: "user", remediation_action: "change_configuration", default_stage: "verify" },
198
+ ErrorPolicy { reason: "pack_provenance_violation", code: "PERMISSION_DENIED", domain: "package", failure_class: "policy", severity: "policy_blocking", retryable: false, resolution_owner: "policy", remediation_action: "none", default_stage: "verify" },
199
+ ErrorPolicy { reason: "distribution_artifact_missing", code: "NOT_FOUND", domain: "distribution", failure_class: "distribution", severity: "blocking_internal", retryable: false, resolution_owner: "agentsam", remediation_action: "republish_artifact", default_stage: "publish" },
200
+ ErrorPolicy { reason: "distribution_identity_mismatch", code: "FAILED_PRECONDITION", domain: "distribution", failure_class: "identity", severity: "blocking_internal", retryable: false, resolution_owner: "agentsam", remediation_action: "republish_artifact", default_stage: "verify" },
201
+ ErrorPolicy { reason: "distribution_version_mismatch", code: "FAILED_PRECONDITION", domain: "distribution", failure_class: "conflict", severity: "blocking_internal", retryable: false, resolution_owner: "agentsam", remediation_action: "republish_artifact", default_stage: "verify" },
202
+ ErrorPolicy { reason: "distribution_install_failed", code: "FAILED_PRECONDITION", domain: "distribution", failure_class: "distribution", severity: "blocking_user_fixable", retryable: false, resolution_owner: "user", remediation_action: "reinstall_workspace", default_stage: "install" },
203
+ ErrorPolicy { reason: "distribution_smoke_failed", code: "FAILED_PRECONDITION", domain: "distribution", failure_class: "distribution", severity: "blocking_internal", retryable: false, resolution_owner: "agentsam", remediation_action: "inspect_platform", default_stage: "verify" },
204
+ ErrorPolicy { reason: "release_train_misaligned", code: "FAILED_PRECONDITION", domain: "distribution", failure_class: "conflict", severity: "blocking_user_fixable", retryable: false, resolution_owner: "user", remediation_action: "change_configuration", default_stage: "verify" },
205
+ ErrorPolicy { reason: "published_artifact_stale", code: "FAILED_PRECONDITION", domain: "distribution", failure_class: "distribution", severity: "blocking_internal", retryable: false, resolution_owner: "agentsam", remediation_action: "republish_artifact", default_stage: "verify" },
206
+ ErrorPolicy { reason: "published_artifact_missing", code: "NOT_FOUND", domain: "distribution", failure_class: "distribution", severity: "blocking_internal", retryable: false, resolution_owner: "agentsam", remediation_action: "republish_artifact", default_stage: "discover" },
207
+ ErrorPolicy { reason: "schema_invalid", code: "INVALID_ARGUMENT", domain: "schema", failure_class: "schema", severity: "blocking_user_fixable", retryable: false, resolution_owner: "user", remediation_action: "change_input", default_stage: "validate" },
208
+ ErrorPolicy { reason: "schema_version_unsupported", code: "UNIMPLEMENTED", domain: "schema", failure_class: "schema", severity: "blocking_user_fixable", retryable: false, resolution_owner: "user", remediation_action: "upgrade_dependency", default_stage: "validate" },
209
+ ErrorPolicy { reason: "schema_contract_mismatch", code: "FAILED_PRECONDITION", domain: "schema", failure_class: "schema", severity: "blocking_user_fixable", retryable: false, resolution_owner: "user", remediation_action: "change_configuration", default_stage: "validate" },
210
+ ErrorPolicy { reason: "schema_pack_missing", code: "NOT_FOUND", domain: "schema", failure_class: "schema", severity: "blocking_user_fixable", retryable: false, resolution_owner: "user", remediation_action: "install_dependency", default_stage: "resolve" },
211
+ ErrorPolicy { reason: "schema_pack_dependency_missing", code: "FAILED_PRECONDITION", domain: "schema", failure_class: "dependency", severity: "blocking_user_fixable", retryable: false, resolution_owner: "user", remediation_action: "install_dependency", default_stage: "resolve" },
212
+ ErrorPolicy { reason: "schema_pack_dependency_cycle", code: "FAILED_PRECONDITION", domain: "schema", failure_class: "dependency", severity: "blocking_user_fixable", retryable: false, resolution_owner: "user", remediation_action: "change_configuration", default_stage: "resolve" },
213
+ ErrorPolicy { reason: "schema_pack_ownership_conflict", code: "ABORTED", domain: "schema", failure_class: "conflict", severity: "blocking_user_fixable", retryable: false, resolution_owner: "user", remediation_action: "change_configuration", default_stage: "validate" },
214
+ ErrorPolicy { reason: "migration_missing", code: "NOT_FOUND", domain: "migration", failure_class: "migration", severity: "blocking_user_fixable", retryable: false, resolution_owner: "user", remediation_action: "run_migration", default_stage: "migrate" },
215
+ ErrorPolicy { reason: "migration_failed", code: "INTERNAL", domain: "migration", failure_class: "migration", severity: "blocking_internal", retryable: false, resolution_owner: "agentsam", remediation_action: "inspect_platform", default_stage: "migrate" },
216
+ ErrorPolicy { reason: "migration_checksum_mismatch", code: "DATA_LOSS", domain: "migration", failure_class: "data_integrity", severity: "blocking_user_fixable", retryable: false, resolution_owner: "user", remediation_action: "repair_schema", default_stage: "verify" },
217
+ ErrorPolicy { reason: "migration_order_invalid", code: "FAILED_PRECONDITION", domain: "migration", failure_class: "migration", severity: "blocking_user_fixable", retryable: false, resolution_owner: "user", remediation_action: "change_configuration", default_stage: "migrate" },
218
+ ErrorPolicy { reason: "migration_already_applied_conflict", code: "ALREADY_EXISTS", domain: "migration", failure_class: "conflict", severity: "blocking_user_fixable", retryable: false, resolution_owner: "user", remediation_action: "repair_schema", default_stage: "migrate" },
219
+ ErrorPolicy { reason: "migration_requires_manual_repair", code: "FAILED_PRECONDITION", domain: "migration", failure_class: "migration", severity: "blocking_user_fixable", retryable: false, resolution_owner: "user", remediation_action: "repair_schema", default_stage: "migrate" },
220
+ ErrorPolicy { reason: "database_unreachable", code: "UNAVAILABLE", domain: "database", failure_class: "availability", severity: "transient", retryable: true, resolution_owner: "provider", remediation_action: "reconnect_service", default_stage: "connect" },
221
+ ErrorPolicy { reason: "database_driver_unsupported", code: "UNIMPLEMENTED", domain: "database", failure_class: "dependency", severity: "blocking_user_fixable", retryable: false, resolution_owner: "user", remediation_action: "install_dependency", default_stage: "connect" },
222
+ ErrorPolicy { reason: "database_authority_unresolved", code: "FAILED_PRECONDITION", domain: "database", failure_class: "configuration", severity: "blocking_user_fixable", retryable: false, resolution_owner: "user", remediation_action: "change_configuration", default_stage: "resolve" },
223
+ ErrorPolicy { reason: "database_authorization_failed", code: "PERMISSION_DENIED", domain: "database", failure_class: "authorization", severity: "blocking_user_fixable", retryable: false, resolution_owner: "user", remediation_action: "request_permission", default_stage: "authorize" },
224
+ ErrorPolicy { reason: "database_schema_drift", code: "FAILED_PRECONDITION", domain: "database", failure_class: "schema", severity: "blocking_user_fixable", retryable: false, resolution_owner: "user", remediation_action: "run_migration", default_stage: "validate" },
225
+ ErrorPolicy { reason: "model_discovery_failed", code: "UNAVAILABLE", domain: "model", failure_class: "discovery", severity: "transient", retryable: true, resolution_owner: "provider", remediation_action: "retry_later", default_stage: "discover" },
226
+ ErrorPolicy { reason: "model_catalog_stale", code: "FAILED_PRECONDITION", domain: "model", failure_class: "discovery", severity: "blocking_user_fixable", retryable: false, resolution_owner: "user", remediation_action: "select_model", default_stage: "discover" },
227
+ ErrorPolicy { reason: "model_snapshot_missing", code: "NOT_FOUND", domain: "model", failure_class: "discovery", severity: "blocking_user_fixable", retryable: false, resolution_owner: "user", remediation_action: "select_model", default_stage: "load" },
228
+ ErrorPolicy { reason: "model_snapshot_stale", code: "FAILED_PRECONDITION", domain: "model", failure_class: "discovery", severity: "blocking_user_fixable", retryable: false, resolution_owner: "user", remediation_action: "select_model", default_stage: "load" },
229
+ ErrorPolicy { reason: "model_capability_unknown", code: "FAILED_PRECONDITION", domain: "model", failure_class: "configuration", severity: "blocking_user_fixable", retryable: false, resolution_owner: "user", remediation_action: "select_model", default_stage: "validate" },
230
+ ErrorPolicy { reason: "model_capability_unsupported", code: "UNIMPLEMENTED", domain: "model", failure_class: "validation", severity: "blocking_user_fixable", retryable: false, resolution_owner: "user", remediation_action: "select_model", default_stage: "validate" },
231
+ ErrorPolicy { reason: "model_provider_mismatch", code: "FAILED_PRECONDITION", domain: "model", failure_class: "configuration", severity: "blocking_user_fixable", retryable: false, resolution_owner: "user", remediation_action: "select_model", default_stage: "resolve" },
232
+ ErrorPolicy { reason: "model_identity_conflict", code: "ABORTED", domain: "model", failure_class: "identity", severity: "blocking_user_fixable", retryable: false, resolution_owner: "user", remediation_action: "select_model", default_stage: "resolve" },
233
+ ErrorPolicy { reason: "model_probe_failed", code: "UNAVAILABLE", domain: "model", failure_class: "discovery", severity: "transient", retryable: true, resolution_owner: "provider", remediation_action: "retry_later", default_stage: "verify" },
234
+ ErrorPolicy { reason: "model_probe_partial", code: "UNAVAILABLE", domain: "model", failure_class: "discovery", severity: "transient", retryable: true, resolution_owner: "provider", remediation_action: "retry_later", default_stage: "verify" },
235
+ ErrorPolicy { reason: "runtime_not_installed", code: "FAILED_PRECONDITION", domain: "runtime", failure_class: "dependency", severity: "blocking_user_fixable", retryable: false, resolution_owner: "user", remediation_action: "install_dependency", default_stage: "install" },
236
+ ErrorPolicy { reason: "runtime_not_running", code: "UNAVAILABLE", domain: "runtime", failure_class: "availability", severity: "transient", retryable: true, resolution_owner: "user", remediation_action: "restart_runtime", default_stage: "connect" },
237
+ ErrorPolicy { reason: "runtime_version_incompatible", code: "FAILED_PRECONDITION", domain: "runtime", failure_class: "dependency", severity: "blocking_user_fixable", retryable: false, resolution_owner: "user", remediation_action: "upgrade_dependency", default_stage: "validate" },
238
+ ErrorPolicy { reason: "runtime_capability_missing", code: "FAILED_PRECONDITION", domain: "runtime", failure_class: "configuration", severity: "blocking_user_fixable", retryable: false, resolution_owner: "user", remediation_action: "change_configuration", default_stage: "validate" },
239
+ ErrorPolicy { reason: "runtime_protocol_mismatch", code: "FAILED_PRECONDITION", domain: "runtime", failure_class: "protocol", severity: "blocking_user_fixable", retryable: false, resolution_owner: "user", remediation_action: "upgrade_dependency", default_stage: "connect" },
240
+ ErrorPolicy { reason: "runtime_connection_unresolved", code: "UNAVAILABLE", domain: "runtime", failure_class: "transport", severity: "transient", retryable: true, resolution_owner: "user", remediation_action: "reconnect_service", default_stage: "connect" },
241
+ ErrorPolicy { reason: "runtime_connection_revoked", code: "PERMISSION_DENIED", domain: "runtime", failure_class: "authorization", severity: "blocking_user_fixable", retryable: false, resolution_owner: "user", remediation_action: "reenroll_device", default_stage: "authorize" },
242
+ ErrorPolicy { reason: "pty_create_failed", code: "INTERNAL", domain: "terminal", failure_class: "process", severity: "blocking_internal", retryable: false, resolution_owner: "agentsam", remediation_action: "inspect_platform", default_stage: "start" },
243
+ ErrorPolicy { reason: "pty_attach_failed", code: "UNAVAILABLE", domain: "terminal", failure_class: "transport", severity: "transient", retryable: true, resolution_owner: "user", remediation_action: "reconnect_service", default_stage: "attach" },
244
+ ErrorPolicy { reason: "pty_session_not_found", code: "NOT_FOUND", domain: "terminal", failure_class: "availability", severity: "blocking_user_fixable", retryable: false, resolution_owner: "user", remediation_action: "change_input", default_stage: "attach" },
245
+ ErrorPolicy { reason: "pty_session_expired", code: "FAILED_PRECONDITION", domain: "terminal", failure_class: "availability", severity: "blocking_user_fixable", retryable: false, resolution_owner: "user", remediation_action: "restart_runtime", default_stage: "attach" },
246
+ ErrorPolicy { reason: "pty_replay_cursor_invalid", code: "OUT_OF_RANGE", domain: "terminal", failure_class: "validation", severity: "blocking_user_fixable", retryable: false, resolution_owner: "user", remediation_action: "change_input", default_stage: "attach" },
247
+ ErrorPolicy { reason: "transport_not_configured", code: "FAILED_PRECONDITION", domain: "transport", failure_class: "configuration", severity: "blocking_user_fixable", retryable: false, resolution_owner: "user", remediation_action: "change_configuration", default_stage: "configure" },
248
+ ErrorPolicy { reason: "transport_auth_failed", code: "UNAUTHENTICATED", domain: "transport", failure_class: "authentication", severity: "blocking_user_fixable", retryable: false, resolution_owner: "user", remediation_action: "reauthenticate", default_stage: "authorize" },
249
+ ErrorPolicy { reason: "transport_attach_failed", code: "UNAVAILABLE", domain: "transport", failure_class: "transport", severity: "transient", retryable: true, resolution_owner: "provider", remediation_action: "reconnect_service", default_stage: "attach" },
250
+ ErrorPolicy { reason: "sidecar_missing", code: "FAILED_PRECONDITION", domain: "runtime", failure_class: "dependency", severity: "blocking_user_fixable", retryable: false, resolution_owner: "user", remediation_action: "install_dependency", default_stage: "resolve" },
251
+ ErrorPolicy { reason: "sidecar_start_failed", code: "INTERNAL", domain: "runtime", failure_class: "process", severity: "blocking_internal", retryable: false, resolution_owner: "agentsam", remediation_action: "inspect_platform", default_stage: "start" },
252
+ ErrorPolicy { reason: "sidecar_health_failed", code: "UNAVAILABLE", domain: "runtime", failure_class: "availability", severity: "transient", retryable: true, resolution_owner: "user", remediation_action: "restart_service", default_stage: "verify" },
253
+ ErrorPolicy { reason: "tool_not_found", code: "NOT_FOUND", domain: "tool", failure_class: "availability", severity: "blocking_user_fixable", retryable: false, resolution_owner: "user", remediation_action: "change_input", default_stage: "resolve" },
254
+ ErrorPolicy { reason: "tool_disabled", code: "FAILED_PRECONDITION", domain: "tool", failure_class: "configuration", severity: "blocking_user_fixable", retryable: false, resolution_owner: "user", remediation_action: "change_configuration", default_stage: "validate" },
255
+ ErrorPolicy { reason: "tool_handler_unavailable", code: "FAILED_PRECONDITION", domain: "tool", failure_class: "availability", severity: "blocking_user_fixable", retryable: false, resolution_owner: "user", remediation_action: "configure_dependency", default_stage: "resolve" },
256
+ ErrorPolicy { reason: "tool_execution_failed", code: "INTERNAL", domain: "tool", failure_class: "execution", severity: "blocking_internal", retryable: false, resolution_owner: "agentsam", remediation_action: "inspect_platform", default_stage: "execute" },
257
+ ErrorPolicy { reason: "tool_timeout", code: "DEADLINE_EXCEEDED", domain: "tool", failure_class: "timeout", severity: "transient", retryable: true, resolution_owner: "unknown", remediation_action: "retry_later", default_stage: "execute" },
258
+ ErrorPolicy { reason: "tool_output_invalid", code: "DATA_LOSS", domain: "tool", failure_class: "protocol", severity: "blocking_internal", retryable: false, resolution_owner: "agentsam", remediation_action: "inspect_platform", default_stage: "transform" },
259
+ ErrorPolicy { reason: "tool_permission_denied", code: "PERMISSION_DENIED", domain: "tool", failure_class: "authorization", severity: "policy_blocking", retryable: false, resolution_owner: "policy", remediation_action: "request_permission", default_stage: "authorize" },
260
+ ErrorPolicy { reason: "mcp_timeout", code: "DEADLINE_EXCEEDED", domain: "tool", failure_class: "timeout", severity: "transient", retryable: true, resolution_owner: "user", remediation_action: "retry_later", default_stage: "execute" },
261
+ ErrorPolicy { reason: "mcp_server_unavailable", code: "UNAVAILABLE", domain: "tool", failure_class: "availability", severity: "transient", retryable: true, resolution_owner: "user", remediation_action: "restart_service", default_stage: "connect" },
262
+ ErrorPolicy { reason: "mcp_capability_unsupported", code: "UNIMPLEMENTED", domain: "tool", failure_class: "protocol", severity: "blocking_user_fixable", retryable: false, resolution_owner: "user", remediation_action: "change_configuration", default_stage: "validate" },
263
+ ErrorPolicy { reason: "mcp_response_invalid", code: "DATA_LOSS", domain: "tool", failure_class: "protocol", severity: "blocking_internal", retryable: false, resolution_owner: "agentsam", remediation_action: "inspect_platform", default_stage: "transform" },
264
+ ErrorPolicy { reason: "mcp_transport_failed", code: "UNAVAILABLE", domain: "tool", failure_class: "transport", severity: "transient", retryable: true, resolution_owner: "user", remediation_action: "reconnect_service", default_stage: "connect" },
265
+ ErrorPolicy { reason: "lsp_timeout", code: "DEADLINE_EXCEEDED", domain: "tool", failure_class: "timeout", severity: "transient", retryable: true, resolution_owner: "user", remediation_action: "retry_later", default_stage: "execute" },
266
+ ErrorPolicy { reason: "lsp_server_unavailable", code: "UNAVAILABLE", domain: "tool", failure_class: "availability", severity: "transient", retryable: true, resolution_owner: "user", remediation_action: "restart_service", default_stage: "connect" },
267
+ ErrorPolicy { reason: "lsp_capability_unsupported", code: "UNIMPLEMENTED", domain: "tool", failure_class: "protocol", severity: "blocking_user_fixable", retryable: false, resolution_owner: "user", remediation_action: "change_configuration", default_stage: "validate" },
268
+ ErrorPolicy { reason: "lsp_response_invalid", code: "DATA_LOSS", domain: "tool", failure_class: "protocol", severity: "blocking_internal", retryable: false, resolution_owner: "agentsam", remediation_action: "inspect_platform", default_stage: "transform" },
269
+ ErrorPolicy { reason: "lsp_transport_failed", code: "UNAVAILABLE", domain: "tool", failure_class: "transport", severity: "transient", retryable: true, resolution_owner: "user", remediation_action: "reconnect_service", default_stage: "connect" },
270
+ ErrorPolicy { reason: "mcp_call_failed", code: "INTERNAL", domain: "tool", failure_class: "execution", severity: "blocking_internal", retryable: false, resolution_owner: "agentsam", remediation_action: "inspect_platform", default_stage: "execute" },
271
+ ErrorPolicy { reason: "lsp_request_failed", code: "INTERNAL", domain: "tool", failure_class: "execution", severity: "blocking_internal", retryable: false, resolution_owner: "agentsam", remediation_action: "inspect_platform", default_stage: "execute" },
272
+ ];
273
+
274
+ pub static ERROR_REASON_ALIASES: &[(&str, &str)] = &[
275
+ ("invalid_agent_id", "input_invalid"),
276
+ ("subagent_task_required", "input_invalid"),
277
+ ("hook_definition_must_be_object", "hook_definition_invalid"),
278
+ ("hook_id_required", "hook_definition_invalid"),
279
+ ("hook_id_and_handler_required", "hook_definition_invalid"),
280
+ ("invalid_hook_failure_mode", "hook_definition_invalid"),
281
+ ("invalid_hook_timeout_ms", "hook_definition_invalid"),
282
+ ("hook_timestamp_must_be_non_negative", "hook_definition_invalid"),
283
+ ("hook_timestamp_must_be_non_negative_number", "hook_definition_invalid"),
284
+ ("hook_clock_must_return_non_negative_number", "hook_definition_invalid"),
285
+ ("hook_input_must_be_object", "hook_definition_invalid"),
286
+ ("hook_invocation_must_be_object", "hook_definition_invalid"),
287
+ ("hook_invocation_metadata_must_be_object", "hook_definition_invalid"),
288
+ ("unsupported_hook_invocation_field", "hook_definition_invalid"),
289
+ ("unsupported_hook_schema", "hook_definition_invalid"),
290
+ ("hook_match_must_be_object", "hook_definition_invalid"),
291
+ ("hook_match_$in_must_be_array", "hook_definition_invalid"),
292
+ ("unsupported_hook_match_operator", "hook_definition_invalid"),
293
+ ("hook_matches_must_be_function", "hook_definition_invalid"),
294
+ ("hook_key_required", "hook_definition_invalid"),
295
+ ("hook_receipt_hook_id_required", "hook_definition_invalid"),
296
+ ("invalid_hook_id", "hook_definition_invalid"),
297
+ ("invalid_hook_priority", "hook_definition_invalid"),
298
+ ("invalid_hook_command_output_limit", "hook_definition_invalid"),
299
+ ("invalid_hook_command_timeout", "hook_definition_invalid"),
300
+ ("invalid_hook_http_response_limit", "hook_definition_invalid"),
301
+ ("invalid_hook_http_timeout", "hook_definition_invalid"),
302
+ ("duplicate_hook_id", "hook_duplicate_id"),
303
+ ("agentsam_hook_config_not_found", "hook_not_found"),
304
+ ("unsupported_hook_event", "hook_event_unsupported"),
305
+ ("hook_config_must_be_object", "hook_configuration_invalid"),
306
+ ("unsupported_hook_config_field", "hook_configuration_invalid"),
307
+ ("unsupported_hook_config_schema", "hook_configuration_invalid"),
308
+ ("hook_config_unreadable", "hook_configuration_invalid"),
309
+ ("invalid_configured_hook", "hook_configuration_invalid"),
310
+ ("unsupported_configured_hook_field", "hook_configuration_invalid"),
311
+ ("configured_hook_match_must_be_object", "hook_configuration_invalid"),
312
+ ("invalid_hook_env_reference", "hook_configuration_invalid"),
313
+ ("missing_hook_environment", "hook_configuration_invalid"),
314
+ ("invalid_hook_environment_key", "hook_configuration_invalid"),
315
+ ("hook_command_cwd_outside_config_directory", "hook_configuration_invalid"),
316
+ ("hook_store_database_required", "hook_configuration_invalid"),
317
+ ("invalid_hook_adapter", "hook_adapter_unknown"),
318
+ ("unknown_hook_adapter", "hook_adapter_unknown"),
319
+ ("unsupported_hook_adapter_type", "hook_adapter_unknown"),
320
+ ("unsupported_hook_adapter_field", "hook_adapter_unknown"),
321
+ ("hook_handler_required", "hook_handler_unavailable"),
322
+ ("callback_hook_handler_required", "hook_handler_unavailable"),
323
+ ("base_capability_adapter_required", "hook_handler_unavailable"),
324
+ ("base_provider_adapter_required", "hook_handler_unavailable"),
325
+ ("hook_runtime_required", "hook_handler_unavailable"),
326
+ ("invalid_hook_runtime", "hook_handler_unavailable"),
327
+ ("composite_capability_adapters_required", "hook_handler_unavailable"),
328
+ ("hook_http_fetch_required", "hook_handler_unavailable"),
329
+ ("hook_store_required", "hook_handler_unavailable"),
330
+ ("lsp_request_adapter_required", "hook_handler_unavailable"),
331
+ ("mcp_call_tool_adapter_required", "hook_handler_unavailable"),
332
+ ("run_agent_adapter_required", "hook_handler_unavailable"),
333
+ ("stored_hook_handler_unavailable", "hook_handler_unavailable"),
334
+ ("hook_timeout", "hook_handler_timeout"),
335
+ ("AGENTSAM_HOOK_TIMEOUT", "hook_handler_timeout"),
336
+ ("context deadline exceeded", "hook_handler_timeout"),
337
+ ("deadline has elapsed", "hook_handler_timeout"),
338
+ ("hook_execution_failed", "hook_handler_failed"),
339
+ ("AGENTSAM_HOOK_EXECUTION_FAILED", "hook_handler_failed"),
340
+ ("AGENTSAM_HOOK_FAILED", "hook_handler_failed"),
341
+ ("hook_output_must_be_object", "hook_output_invalid"),
342
+ ("invalid_permission_decision", "hook_output_invalid"),
343
+ ("modified_args_must_be_object", "hook_output_invalid"),
344
+ ("modified_request_must_be_object", "hook_output_invalid"),
345
+ ("modified_prompt_must_be_string", "hook_output_invalid"),
346
+ ("modified_transformed_prompt_must_be_string", "hook_output_invalid"),
347
+ ("modified_config_must_be_object", "hook_output_invalid"),
348
+ ("AGENTSAM_HOOK_INVALID_OUTPUT", "hook_output_invalid"),
349
+ ("AGENTSAM_HOOK_OUTPUT_LIMIT", "hook_output_limit_exceeded"),
350
+ ("unsupported_hook_output_field", "hook_output_field_unsupported"),
351
+ ("permission_decision_not_supported", "hook_output_field_unsupported"),
352
+ ("modified_args_not_supported", "hook_output_field_unsupported"),
353
+ ("modified_request_not_supported", "hook_output_field_unsupported"),
354
+ ("modified_result_not_supported", "hook_output_field_unsupported"),
355
+ ("modified_prompt_not_supported", "hook_output_field_unsupported"),
356
+ ("modified_transformed_prompt_not_supported", "hook_output_field_unsupported"),
357
+ ("modified_config_not_supported", "hook_output_field_unsupported"),
358
+ ("hook_http_failed", "hook_http_request_failed"),
359
+ ("AGENTSAM_HOOK_HTTP_FAILED", "hook_http_request_failed"),
360
+ ("hook_http_invalid_json", "hook_http_response_invalid"),
361
+ ("unsupported_hook_http_protocol", "hook_http_protocol_unsupported"),
362
+ ("hook_http_url_must_not_contain_credentials", "hook_http_credentials_forbidden"),
363
+ ("mcp_capability_unavailable", "hook_mcp_capability_missing"),
364
+ ("duplicate_mcp_capability", "hook_mcp_capability_duplicate"),
365
+ ("lsp_language_not_configured", "hook_lsp_server_unavailable"),
366
+ ("lsp_language_required", "hook_lsp_language_required"),
367
+ ("lsp_capability_unavailable", "hook_lsp_capability_unsupported"),
368
+ ("configured_hook_command_required", "hook_command_required"),
369
+ ("hook_command_stdin_unavailable", "hook_command_spawn_failed"),
370
+ ("hook_command_failed", "hook_command_exit_nonzero"),
371
+ ("AGENTSAM_HOOK_COMMAND_FAILED", "hook_command_exit_nonzero"),
372
+ ("hook_command_invalid_json", "hook_command_output_invalid"),
373
+ ("AGENTSAM_HOOK_PERMISSION_DENIED", "hook_permission_denied"),
374
+ ("AGENTSAM_HOOK_APPROVAL_REQUIRED", "hook_permission_denied"),
375
+ ("capability_handler_unavailable", "hook_capability_unavailable"),
376
+ ("agent_capability_unavailable", "hook_capability_unavailable"),
377
+ ("duplicate_capability_descriptor", "hook_capability_duplicate"),
378
+ ("invalid_error_handling", "hook_error_handling_invalid"),
379
+ ("error_handling_not_supported", "hook_error_handling_unsupported"),
380
+ ("retry_count_must_be_between_0_and_10", "hook_retry_limit_exceeded"),
381
+ ("invalid_stop_decision", "hook_stop_decision_invalid"),
382
+ ("distribution_command_failed", "distribution_smoke_failed"),
383
+ ];
384
+
385
+ pub fn error_policy(reason: &str) -> Option<&'static ErrorPolicy> {
386
+ ERROR_REASON_POLICIES.iter().find(|row| row.reason == reason)
387
+ }
388
+
389
+ pub fn normalize_error_reason(values: &[&str]) -> &'static str {
390
+ for value in values {
391
+ let candidate = value.trim().split(':').next().unwrap_or("");
392
+ if let Some(policy) = error_policy(candidate) { return policy.reason; }
393
+ if let Some((_, reason)) = ERROR_REASON_ALIASES.iter().find(|(alias, _)| alias.eq_ignore_ascii_case(candidate)) { return *reason; }
394
+ }
395
+ "hook_handler_failed"
396
+ }