@inneranimalmedia/agentsam-sdk 2.6.8 → 2.6.10

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 (203) hide show
  1. package/README.md +18 -0
  2. package/apps/README.md +25 -0
  3. package/apps/cad-creator/shared/cad/package.json +1 -1
  4. package/apps/client-cms-editor/backend/package.json +5 -7
  5. package/apps/client-cms-editor/frontend/package.json +5 -7
  6. package/apps/client-cms-editor/frontend/tsconfig.json +27 -8
  7. package/apps/client-cms-editor/package-lock.json +8 -8
  8. package/apps/client-cms-editor/package.json +1 -1
  9. package/apps/client-cms-editor/shared/cms/package.json +3 -5
  10. package/docs/LOCAL_ENGINE_COMPUTE_AUDIT_PLAN.md +299 -0
  11. package/docs/architecture/HOOKS-MODELS-SELF-HOSTING-PLAN.md +199 -0
  12. package/examples/hyperspace-demo/index.html +16 -0
  13. package/examples/hyperspace-demo/package.json +21 -0
  14. package/examples/hyperspace-demo/src/main.tsx +160 -0
  15. package/examples/hyperspace-demo/tsconfig.json +9 -0
  16. package/examples/hyperspace-demo/vite.config.ts +24 -0
  17. package/migrations/runtime/0005_agentsam_hooks.sql +87 -0
  18. package/package.json +37 -10
  19. package/packages/agentsam-brand/package.json +1 -1
  20. package/packages/agentsam-brand/src/core/v2/compile.js +1 -1
  21. package/packages/agentsam-brand/src/core/v2/schema.js +1 -1
  22. package/packages/agentsam-contracts/package.json +71 -20
  23. package/packages/agentsam-contracts/scripts/build.mjs +18 -0
  24. package/packages/agentsam-contracts/src/errors.ts +19 -10
  25. package/packages/agentsam-contracts/test/contracts.test.mjs +4 -1
  26. package/packages/agentsam-contracts/test/repository.test.mjs +4 -1
  27. package/packages/agentsam-contracts/tsconfig.build.json +10 -0
  28. package/packages/agentsam-errors/package.json +13 -4
  29. package/packages/agentsam-errors/protocol/agentsam.error.v2.schema.json +821 -0
  30. package/packages/agentsam-errors/protocol/error-catalog.json +3512 -0
  31. package/packages/agentsam-errors/src/envelope.js +63 -11
  32. package/packages/agentsam-errors/src/error.js +6 -0
  33. package/packages/agentsam-errors/src/fingerprint.js +9 -1
  34. package/packages/agentsam-errors/src/normalize.js +51 -6
  35. package/packages/agentsam-errors/src/recovery.js +9 -35
  36. package/packages/agentsam-errors/src/transport.js +6 -1
  37. package/packages/agentsam-errors/src/vocabulary.js +515 -126
  38. package/packages/agentsam-errors/test/catalog-v2.test.mjs +106 -0
  39. package/packages/agentsam-errors/types/index.d.ts +157 -0
  40. package/packages/agentsam-goap/package.json +2 -2
  41. package/packages/agentsam-hooks/README.md +206 -0
  42. package/packages/agentsam-hooks/bin/agentsam-hooks.mjs +64 -0
  43. package/packages/agentsam-hooks/bindings/go/command.go +55 -0
  44. package/packages/agentsam-hooks/bindings/go/errors_generated.go +402 -0
  45. package/packages/agentsam-hooks/bindings/go/go.mod +3 -0
  46. package/packages/agentsam-hooks/bindings/go/hooks.go +285 -0
  47. package/packages/agentsam-hooks/bindings/go/hooks_test.go +48 -0
  48. package/packages/agentsam-hooks/bindings/rust/Cargo.toml +11 -0
  49. package/packages/agentsam-hooks/bindings/rust/src/errors_generated.rs +396 -0
  50. package/packages/agentsam-hooks/bindings/rust/src/lib.rs +397 -0
  51. package/packages/agentsam-hooks/package.json +69 -0
  52. package/packages/agentsam-hooks/schema/manifest.json +54 -0
  53. package/packages/agentsam-hooks/scripts/clean-protocol.mjs +17 -0
  54. package/packages/agentsam-hooks/scripts/sync-protocol.mjs +27 -0
  55. package/packages/agentsam-hooks/src/adapters/agents.js +82 -0
  56. package/packages/agentsam-hooks/src/adapters/callback.js +4 -0
  57. package/packages/agentsam-hooks/src/adapters/capability.js +122 -0
  58. package/packages/agentsam-hooks/src/adapters/command.js +104 -0
  59. package/packages/agentsam-hooks/src/adapters/composite.js +31 -0
  60. package/packages/agentsam-hooks/src/adapters/http.js +58 -0
  61. package/packages/agentsam-hooks/src/adapters/lsp.js +116 -0
  62. package/packages/agentsam-hooks/src/adapters/mcp.js +76 -0
  63. package/packages/agentsam-hooks/src/adapters/provider.js +129 -0
  64. package/packages/agentsam-hooks/src/config.js +143 -0
  65. package/packages/agentsam-hooks/src/contracts.js +284 -0
  66. package/packages/agentsam-hooks/src/errors-generated.js +2732 -0
  67. package/packages/agentsam-hooks/src/index.d.ts +193 -0
  68. package/packages/agentsam-hooks/src/index.js +14 -0
  69. package/packages/agentsam-hooks/src/policy.js +34 -0
  70. package/packages/agentsam-hooks/src/runtime.js +312 -0
  71. package/packages/agentsam-hooks/src/store.js +264 -0
  72. package/packages/agentsam-hooks/test/adapters.test.mjs +216 -0
  73. package/packages/agentsam-hooks/test/runtime.test.mjs +258 -0
  74. package/packages/agentsam-knowledge/package.json +3 -2
  75. package/packages/agentsam-nav/package.json +1 -1
  76. package/packages/agentsam-queue-control/package.json +1 -1
  77. package/packages/agentsam-rapid-rust/src/main.rs +1 -0
  78. package/packages/agentsam-repository/package.json +3 -2
  79. package/packages/agentsam-vault/package.json +8 -5
  80. package/packages/agentsam-workbench/package.json +45 -18
  81. package/packages/connectors/cloudflare/package.json +1 -1
  82. package/packages/heuristic-theme/package.json +1 -1
  83. package/packages/identity/package.json +3 -2
  84. package/packages/identity/tests/lane1-packed-consumer.test.mjs +9 -1
  85. package/packages/providers/completeful/package.json +1 -1
  86. package/packages/theme-church-site/README.md +2 -2
  87. package/packages/theme-church-site/package.json +2 -3
  88. package/packages/theme-church-site/src/index.js +1 -1
  89. package/packages/theme-church-site/test/theme.test.mjs +1 -1
  90. package/packages/theme-companions-site/README.md +2 -2
  91. package/packages/theme-companions-site/package.json +2 -3
  92. package/packages/theme-companions-site/src/index.js +1 -1
  93. package/packages/theme-companions-site/test/theme.test.mjs +1 -1
  94. package/packages/theme-floors-site/README.md +2 -2
  95. package/packages/theme-floors-site/package.json +2 -3
  96. package/packages/theme-floors-site/src/index.js +1 -1
  97. package/packages/theme-floors-site/test/theme.test.mjs +1 -1
  98. package/packages/theme-fuelnfree-site/README.md +2 -2
  99. package/packages/theme-fuelnfree-site/package.json +2 -3
  100. package/packages/theme-fuelnfree-site/src/index.js +1 -1
  101. package/packages/theme-fuelnfree-site/test/theme.test.mjs +1 -1
  102. package/packages/theme-handyman-site/README.md +2 -2
  103. package/packages/theme-handyman-site/package.json +2 -3
  104. package/packages/theme-handyman-site/src/index.js +1 -1
  105. package/packages/theme-handyman-site/test/theme.test.mjs +1 -1
  106. package/packages/theme-insurance-site/README.md +2 -2
  107. package/packages/theme-insurance-site/package.json +2 -3
  108. package/packages/theme-insurance-site/src/index.js +1 -1
  109. package/packages/theme-insurance-site/test/theme.test.mjs +1 -1
  110. package/packages/theme-scenes/package.json +1 -1
  111. package/packages/theme-shinshu-site/README.md +2 -2
  112. package/packages/theme-shinshu-site/package.json +2 -3
  113. package/packages/theme-shinshu-site/src/index.js +1 -1
  114. package/packages/theme-shinshu-site/test/theme.test.mjs +1 -1
  115. package/packages/work-graph/package.json +3 -2
  116. package/protocol/apps/agentsam.app.v1.schema.json +1 -1
  117. package/protocol/apps/agentsam.host-install.v1.schema.json +1 -1
  118. package/protocol/assets/asset-record.v1.schema.json +1 -1
  119. package/protocol/brand/brandpack.v1.schema.json +1 -1
  120. package/protocol/capabilities/capability-manifest.schema.json +1 -1
  121. package/protocol/capabilities/knowledge-search-input.schema.json +1 -0
  122. package/protocol/credentials/issue.v1.schema.json +1 -1
  123. package/protocol/database/agentsam.schema-pack.v1.schema.json +1 -1
  124. package/protocol/database/connection.v1.schema.json +1 -1
  125. package/protocol/embeddings/embedding-profile.v1.schema.json +1 -1
  126. package/protocol/errors/README.md +36 -0
  127. package/protocol/errors/agentsam.error.v2.schema.json +821 -0
  128. package/protocol/errors/error-catalog.json +3506 -158
  129. package/protocol/errors/error-envelope.schema.json +195 -52
  130. package/protocol/errors/recovery.v1.schema.json +1 -1
  131. package/protocol/features/agentsam.feature.v1.schema.json +1 -1
  132. package/protocol/hooks/README.md +18 -0
  133. package/protocol/hooks/agentsam.hook.output.v1.schema.json +27 -0
  134. package/protocol/hooks/agentsam.hook.receipt.v1.schema.json +61 -0
  135. package/protocol/hooks/agentsam.hook.v1.schema.json +35 -0
  136. package/protocol/hooks/agentsam.hooks.config.v1.schema.json +78 -0
  137. package/protocol/local-engine/benchmark.v1.schema.json +14 -0
  138. package/protocol/local-engine/engine.v1.schema.json +17 -0
  139. package/protocol/models/model-inventory-v2.schema.json +1 -1
  140. package/protocol/models/provider-model-snapshot.v1.schema.json +22 -0
  141. package/protocol/rpc/v1/errors.proto +1 -0
  142. package/protocol/runtime/agentsam.runtime.v1.schema.json +1 -1
  143. package/protocol/runtime/workspace-fs.v1.schema.json +1 -1
  144. package/protocol/sam/activity.v1.schema.json +1 -1
  145. package/protocol/sam/answer.v1.schema.json +1 -1
  146. package/protocol/sam/calibration.v1.schema.json +1 -1
  147. package/protocol/sam/decision-receipt.v1.schema.json +1 -1
  148. package/protocol/sam/evaluation.v1.schema.json +1 -1
  149. package/protocol/sam/operation.schema.json +1 -1
  150. package/protocol/sam/outcome.v1.schema.json +1 -1
  151. package/protocol/sam/question.v1.schema.json +1 -1
  152. package/protocol/sam/result.schema.json +1 -1
  153. package/protocol/sam/state.v1.schema.json +1 -1
  154. package/protocol/scoring/scorecard.v1.schema.json +1 -1
  155. package/protocol/skills/agentsam.interaction.v1.schema.json +1 -1
  156. package/protocol/skills/agentsam.skill.v1.schema.json +1 -1
  157. package/protocol/theme-refinery/product-metadata.schema.json +1 -1
  158. package/protocol/theme-refinery/reconciliation-receipt.schema.json +1 -1
  159. package/protocol/ui/icon.v1.schema.json +1 -1
  160. package/python/README.md +20 -0
  161. package/python/agentsam_sdk/errors/__init__.py +4 -0
  162. package/python/agentsam_sdk/errors/vocabulary.py +2730 -0
  163. package/python/agentsam_sdk/hooks/__init__.py +32 -0
  164. package/python/agentsam_sdk/hooks/adapters.py +132 -0
  165. package/python/agentsam_sdk/hooks/contracts.py +121 -0
  166. package/python/agentsam_sdk/hooks/runtime.py +253 -0
  167. package/python/tests/test_hooks.py +115 -0
  168. package/src/agent/responses-runner.js +145 -1
  169. package/src/cli/command-catalog.js +2 -0
  170. package/src/cli.js +19 -0
  171. package/src/commands/app.js +10 -0
  172. package/src/commands/cheat-sheet.js +1 -0
  173. package/src/commands/engine.js +10 -0
  174. package/src/commands/hooks.js +260 -0
  175. package/src/commands/machine.js +71 -38
  176. package/src/commands/models.js +1 -1
  177. package/src/commands/package.js +10 -3
  178. package/src/commands/runtime.js +25 -10
  179. package/src/commands/setup.js +30 -6
  180. package/src/commands/shell.js +114 -9
  181. package/src/commands/terminal.js +20 -8
  182. package/src/errors/contract.js +4 -4
  183. package/src/errors/diagnostic.js +10 -10
  184. package/src/errors/index.js +1 -1
  185. package/src/index.js +52 -0
  186. package/src/indexing/ingest/materials.js +237 -30
  187. package/src/knowledge/service/grpc-codec.js +2 -0
  188. package/src/lib/setup/runtime.js +4 -2
  189. package/src/lib/slash-commands.js +1 -0
  190. package/src/local/runtime-store.js +46 -0
  191. package/src/local-engine/assets.js +37 -0
  192. package/src/local-engine/audit.js +133 -0
  193. package/src/local-engine/benchmark.js +26 -0
  194. package/src/local-engine/contracts.js +101 -0
  195. package/src/local-engine/engines.js +142 -0
  196. package/src/local-engine/index.js +18 -0
  197. package/src/local-engine/runtime.js +39 -0
  198. package/src/models/catalog.js +0 -49
  199. package/src/models/inventory-core.js +69 -0
  200. package/src/plugins/index.js +8 -1
  201. package/src/plugins/registry.js +56 -0
  202. package/src/rpc/generated/errors_pb.js +49 -1
  203. package/src/tools/runtime.js +13 -5
@@ -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
+ }