@inneranimalmedia/agentsam-sdk 2.6.9 → 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 (176) hide show
  1. package/README.md +18 -0
  2. package/apps/cad-creator/shared/cad/package.json +1 -1
  3. package/apps/client-cms-editor/backend/package.json +3 -3
  4. package/apps/client-cms-editor/frontend/package.json +4 -4
  5. package/apps/client-cms-editor/package-lock.json +8 -8
  6. package/apps/client-cms-editor/package.json +1 -1
  7. package/apps/client-cms-editor/shared/cms/package.json +2 -2
  8. package/docs/architecture/HOOKS-MODELS-SELF-HOSTING-PLAN.md +199 -0
  9. package/examples/hyperspace-demo/index.html +16 -0
  10. package/examples/hyperspace-demo/package.json +21 -0
  11. package/examples/hyperspace-demo/src/main.tsx +160 -0
  12. package/examples/hyperspace-demo/tsconfig.json +9 -0
  13. package/examples/hyperspace-demo/vite.config.ts +24 -0
  14. package/migrations/runtime/0005_agentsam_hooks.sql +87 -0
  15. package/package.json +23 -7
  16. package/packages/agentsam-brand/package.json +1 -1
  17. package/packages/agentsam-brand/src/core/v2/compile.js +1 -1
  18. package/packages/agentsam-brand/src/core/v2/schema.js +1 -1
  19. package/packages/agentsam-contracts/package.json +1 -1
  20. package/packages/agentsam-contracts/src/errors.ts +19 -10
  21. package/packages/agentsam-errors/package.json +11 -3
  22. package/packages/agentsam-errors/protocol/agentsam.error.v2.schema.json +821 -0
  23. package/packages/agentsam-errors/protocol/error-catalog.json +3512 -0
  24. package/packages/agentsam-errors/src/envelope.js +63 -11
  25. package/packages/agentsam-errors/src/error.js +6 -0
  26. package/packages/agentsam-errors/src/fingerprint.js +9 -1
  27. package/packages/agentsam-errors/src/normalize.js +51 -6
  28. package/packages/agentsam-errors/src/recovery.js +9 -35
  29. package/packages/agentsam-errors/src/transport.js +6 -1
  30. package/packages/agentsam-errors/src/vocabulary.js +515 -126
  31. package/packages/agentsam-errors/test/catalog-v2.test.mjs +106 -0
  32. package/packages/agentsam-errors/types/index.d.ts +157 -0
  33. package/packages/agentsam-goap/package.json +2 -2
  34. package/packages/agentsam-hooks/README.md +206 -0
  35. package/packages/agentsam-hooks/bin/agentsam-hooks.mjs +64 -0
  36. package/packages/agentsam-hooks/bindings/go/command.go +55 -0
  37. package/packages/agentsam-hooks/bindings/go/errors_generated.go +402 -0
  38. package/packages/agentsam-hooks/bindings/go/go.mod +3 -0
  39. package/packages/agentsam-hooks/bindings/go/hooks.go +285 -0
  40. package/packages/agentsam-hooks/bindings/go/hooks_test.go +48 -0
  41. package/packages/agentsam-hooks/bindings/rust/Cargo.toml +11 -0
  42. package/packages/agentsam-hooks/bindings/rust/src/errors_generated.rs +396 -0
  43. package/packages/agentsam-hooks/bindings/rust/src/lib.rs +397 -0
  44. package/packages/agentsam-hooks/package.json +69 -0
  45. package/packages/agentsam-hooks/schema/manifest.json +54 -0
  46. package/packages/agentsam-hooks/scripts/clean-protocol.mjs +17 -0
  47. package/packages/agentsam-hooks/scripts/sync-protocol.mjs +27 -0
  48. package/packages/agentsam-hooks/src/adapters/agents.js +82 -0
  49. package/packages/agentsam-hooks/src/adapters/callback.js +4 -0
  50. package/packages/agentsam-hooks/src/adapters/capability.js +122 -0
  51. package/packages/agentsam-hooks/src/adapters/command.js +104 -0
  52. package/packages/agentsam-hooks/src/adapters/composite.js +31 -0
  53. package/packages/agentsam-hooks/src/adapters/http.js +58 -0
  54. package/packages/agentsam-hooks/src/adapters/lsp.js +116 -0
  55. package/packages/agentsam-hooks/src/adapters/mcp.js +76 -0
  56. package/packages/agentsam-hooks/src/adapters/provider.js +129 -0
  57. package/packages/agentsam-hooks/src/config.js +143 -0
  58. package/packages/agentsam-hooks/src/contracts.js +284 -0
  59. package/packages/agentsam-hooks/src/errors-generated.js +2732 -0
  60. package/packages/agentsam-hooks/src/index.d.ts +193 -0
  61. package/packages/agentsam-hooks/src/index.js +14 -0
  62. package/packages/agentsam-hooks/src/policy.js +34 -0
  63. package/packages/agentsam-hooks/src/runtime.js +312 -0
  64. package/packages/agentsam-hooks/src/store.js +264 -0
  65. package/packages/agentsam-hooks/test/adapters.test.mjs +216 -0
  66. package/packages/agentsam-hooks/test/runtime.test.mjs +258 -0
  67. package/packages/agentsam-knowledge/package.json +1 -1
  68. package/packages/agentsam-nav/dist/Nav.d.ts +43 -0
  69. package/packages/agentsam-nav/dist/NavCollapsible.d.ts +10 -0
  70. package/packages/agentsam-nav/dist/NavContent.d.ts +2 -0
  71. package/packages/agentsam-nav/dist/NavFooter.d.ts +2 -0
  72. package/packages/agentsam-nav/dist/NavGroup.d.ts +3 -0
  73. package/packages/agentsam-nav/dist/NavHeader.d.ts +2 -0
  74. package/packages/agentsam-nav/dist/NavMenu.d.ts +22 -0
  75. package/packages/agentsam-nav/dist/NavProvider.d.ts +35 -0
  76. package/packages/agentsam-nav/dist/NavTrigger.d.ts +2 -0
  77. package/packages/agentsam-nav/dist/Surfaces.d.ts +41 -0
  78. package/packages/agentsam-nav/dist/browser.d.ts +11 -0
  79. package/packages/agentsam-nav/dist/browser.global.js +135 -0
  80. package/packages/agentsam-nav/dist/browser.js +7290 -0
  81. package/packages/agentsam-nav/dist/contracts.d.ts +76 -0
  82. package/packages/agentsam-nav/dist/index.d.ts +11 -0
  83. package/packages/agentsam-nav/dist/index.js +7291 -0
  84. package/packages/agentsam-nav/dist/legacy.css +83 -0
  85. package/packages/agentsam-nav/dist/shell.css +113 -0
  86. package/packages/agentsam-nav/dist/theme.css +113 -0
  87. package/packages/agentsam-nav/dist/utils.d.ts +1 -0
  88. package/packages/agentsam-nav/package.json +1 -1
  89. package/packages/agentsam-queue-control/package.json +1 -1
  90. package/packages/agentsam-repository/package.json +1 -1
  91. package/packages/agentsam-repository/src/goap.js.bak-20260922011251 +670 -0
  92. package/packages/agentsam-vault/package.json +1 -1
  93. package/packages/agentsam-workbench/package.json +3 -3
  94. package/packages/connectors/cloudflare/package.json +1 -1
  95. package/packages/heuristic-theme/package.json +1 -1
  96. package/packages/identity/package.json +2 -2
  97. package/packages/providers/completeful/package.json +1 -1
  98. package/packages/theme-church-site/package.json +2 -2
  99. package/packages/theme-companions-site/package.json +2 -2
  100. package/packages/theme-floors-site/package.json +2 -2
  101. package/packages/theme-fuelnfree-site/package.json +2 -2
  102. package/packages/theme-handyman-site/package.json +2 -2
  103. package/packages/theme-insurance-site/package.json +2 -2
  104. package/packages/theme-scenes/package.json +1 -1
  105. package/packages/theme-shinshu-site/package.json +2 -2
  106. package/packages/work-graph/package.json +1 -1
  107. package/protocol/apps/agentsam.app.v1.schema.json +1 -1
  108. package/protocol/apps/agentsam.host-install.v1.schema.json +1 -1
  109. package/protocol/assets/asset-record.v1.schema.json +1 -1
  110. package/protocol/brand/brandpack.v1.schema.json +1 -1
  111. package/protocol/capabilities/capability-manifest.schema.json +1 -1
  112. package/protocol/capabilities/knowledge-search-input.schema.json +1 -0
  113. package/protocol/credentials/issue.v1.schema.json +1 -1
  114. package/protocol/database/agentsam.schema-pack.v1.schema.json +1 -1
  115. package/protocol/database/connection.v1.schema.json +1 -1
  116. package/protocol/embeddings/embedding-profile.v1.schema.json +1 -1
  117. package/protocol/errors/README.md +36 -0
  118. package/protocol/errors/agentsam.error.v2.schema.json +821 -0
  119. package/protocol/errors/error-catalog.json +3506 -158
  120. package/protocol/errors/error-envelope.schema.json +195 -52
  121. package/protocol/errors/recovery.v1.schema.json +1 -1
  122. package/protocol/features/agentsam.feature.v1.schema.json +1 -1
  123. package/protocol/hooks/README.md +18 -0
  124. package/protocol/hooks/agentsam.hook.output.v1.schema.json +27 -0
  125. package/protocol/hooks/agentsam.hook.receipt.v1.schema.json +61 -0
  126. package/protocol/hooks/agentsam.hook.v1.schema.json +35 -0
  127. package/protocol/hooks/agentsam.hooks.config.v1.schema.json +78 -0
  128. package/protocol/local-engine/benchmark.v1.schema.json +1 -1
  129. package/protocol/local-engine/engine.v1.schema.json +1 -1
  130. package/protocol/models/model-inventory-v2.schema.json +1 -1
  131. package/protocol/models/provider-model-snapshot.v1.schema.json +22 -0
  132. package/protocol/rpc/v1/errors.proto +1 -0
  133. package/protocol/runtime/agentsam.runtime.v1.schema.json +1 -1
  134. package/protocol/runtime/workspace-fs.v1.schema.json +1 -1
  135. package/protocol/sam/activity.v1.schema.json +1 -1
  136. package/protocol/sam/answer.v1.schema.json +1 -1
  137. package/protocol/sam/calibration.v1.schema.json +1 -1
  138. package/protocol/sam/decision-receipt.v1.schema.json +1 -1
  139. package/protocol/sam/evaluation.v1.schema.json +1 -1
  140. package/protocol/sam/operation.schema.json +1 -1
  141. package/protocol/sam/outcome.v1.schema.json +1 -1
  142. package/protocol/sam/question.v1.schema.json +1 -1
  143. package/protocol/sam/result.schema.json +1 -1
  144. package/protocol/sam/state.v1.schema.json +1 -1
  145. package/protocol/scoring/scorecard.v1.schema.json +1 -1
  146. package/protocol/skills/agentsam.interaction.v1.schema.json +1 -1
  147. package/protocol/skills/agentsam.skill.v1.schema.json +1 -1
  148. package/protocol/theme-refinery/product-metadata.schema.json +1 -1
  149. package/protocol/theme-refinery/reconciliation-receipt.schema.json +1 -1
  150. package/protocol/ui/icon.v1.schema.json +1 -1
  151. package/python/README.md +20 -0
  152. package/python/agentsam_sdk/errors/__init__.py +4 -0
  153. package/python/agentsam_sdk/errors/vocabulary.py +2730 -0
  154. package/python/agentsam_sdk/hooks/__init__.py +32 -0
  155. package/python/agentsam_sdk/hooks/adapters.py +132 -0
  156. package/python/agentsam_sdk/hooks/contracts.py +121 -0
  157. package/python/agentsam_sdk/hooks/runtime.py +253 -0
  158. package/python/tests/test_hooks.py +115 -0
  159. package/src/agent/responses-runner.js +145 -1
  160. package/src/cli/command-catalog.js +1 -0
  161. package/src/cli.js +9 -0
  162. package/src/commands/cheat-sheet.js +1 -0
  163. package/src/commands/hooks.js +260 -0
  164. package/src/commands/models.js +1 -1
  165. package/src/commands/shell.js +114 -9
  166. package/src/errors/diagnostic.js +9 -9
  167. package/src/index.js +32 -0
  168. package/src/knowledge/service/grpc-codec.js +2 -0
  169. package/src/lib/slash-commands.js +1 -0
  170. package/src/local/runtime-store.js +46 -0
  171. package/src/models/catalog.js +0 -49
  172. package/src/models/inventory-core.js +69 -0
  173. package/src/plugins/index.js +8 -1
  174. package/src/plugins/registry.js +56 -0
  175. package/src/rpc/generated/errors_pb.js +49 -1
  176. package/src/tools/runtime.js +13 -5
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "$schema": "https://json-schema.org/draft/2020-12/schema",
3
- "$id": "https://agentsam.inneranimalmedia.com/protocol/errors/error-envelope.schema.json",
4
- "title": "AgentSam ErrorEnvelope v1",
3
+ "$id": "https://schemas.inneranimalmedia.com/agentsam/errors/agentsam.error.v2.schema.json",
4
+ "title": "AgentSam ErrorEnvelope v2",
5
5
  "type": "object",
6
6
  "additionalProperties": false,
7
7
  "required": [
@@ -9,14 +9,22 @@
9
9
  "schema_version",
10
10
  "code",
11
11
  "reason",
12
+ "domain",
13
+ "failure_class",
14
+ "stage",
15
+ "native_stage",
16
+ "feature",
17
+ "failure_behavior",
12
18
  "severity",
13
- "source",
19
+ "retryable",
20
+ "side_effect_state",
14
21
  "resolution_owner",
15
- "domain",
22
+ "source",
23
+ "adapter",
24
+ "protocol",
25
+ "transport",
16
26
  "tool",
17
- "stage",
18
27
  "message",
19
- "retryable",
20
28
  "retry_after_ms",
21
29
  "remediation",
22
30
  "resource",
@@ -24,7 +32,6 @@
24
32
  "environment",
25
33
  "http_status",
26
34
  "grpc_status",
27
- "transport",
28
35
  "provider",
29
36
  "provider_code",
30
37
  "request_id",
@@ -38,7 +45,7 @@
38
45
  "const": false
39
46
  },
40
47
  "schema_version": {
41
- "const": 1
48
+ "const": 2
42
49
  },
43
50
  "code": {
44
51
  "enum": [
@@ -64,6 +71,137 @@
64
71
  "type": "string",
65
72
  "pattern": "^[a-z][a-z0-9_]{0,127}$"
66
73
  },
74
+ "domain": {
75
+ "enum": [
76
+ "runtime",
77
+ "provider",
78
+ "auth",
79
+ "identity",
80
+ "device",
81
+ "terminal",
82
+ "transport",
83
+ "repository",
84
+ "indexing",
85
+ "knowledge",
86
+ "cad",
87
+ "hook",
88
+ "model",
89
+ "configuration",
90
+ "schema",
91
+ "migration",
92
+ "database",
93
+ "package",
94
+ "build",
95
+ "distribution",
96
+ "deployment",
97
+ "workflow",
98
+ "persistence",
99
+ "policy",
100
+ "tool"
101
+ ]
102
+ },
103
+ "failure_class": {
104
+ "enum": [
105
+ "input",
106
+ "validation",
107
+ "authentication",
108
+ "authorization",
109
+ "policy",
110
+ "discovery",
111
+ "resolution",
112
+ "availability",
113
+ "transport",
114
+ "protocol",
115
+ "timeout",
116
+ "rate_limit",
117
+ "capacity",
118
+ "resource",
119
+ "configuration",
120
+ "dependency",
121
+ "filesystem",
122
+ "persistence",
123
+ "consistency",
124
+ "conflict",
125
+ "process",
126
+ "ipc",
127
+ "data_integrity",
128
+ "cancellation",
129
+ "cancelled",
130
+ "build",
131
+ "distribution",
132
+ "migration",
133
+ "schema",
134
+ "identity",
135
+ "execution",
136
+ "internal",
137
+ "unknown"
138
+ ]
139
+ },
140
+ "stage": {
141
+ "enum": [
142
+ "discover",
143
+ "resolve",
144
+ "load",
145
+ "configure",
146
+ "validate",
147
+ "authorize",
148
+ "connect",
149
+ "prepare",
150
+ "install",
151
+ "build",
152
+ "start",
153
+ "execute",
154
+ "transform",
155
+ "persist",
156
+ "migrate",
157
+ "verify",
158
+ "publish",
159
+ "attach",
160
+ "detach",
161
+ "cleanup",
162
+ "shutdown"
163
+ ]
164
+ },
165
+ "native_stage": {
166
+ "anyOf": [
167
+ {
168
+ "type": "string"
169
+ },
170
+ {
171
+ "type": "null"
172
+ }
173
+ ]
174
+ },
175
+ "feature": {
176
+ "anyOf": [
177
+ {
178
+ "type": "string",
179
+ "pattern": "^[a-z][a-z0-9]*(?:[._-][a-z0-9]+)*$",
180
+ "maxLength": 256
181
+ },
182
+ {
183
+ "type": "null"
184
+ }
185
+ ]
186
+ },
187
+ "failure_behavior": {
188
+ "anyOf": [
189
+ {
190
+ "enum": [
191
+ "fail_closed",
192
+ "fail_open",
193
+ "observe_only",
194
+ "retry_bounded",
195
+ "skip",
196
+ "abort",
197
+ "no_replay"
198
+ ]
199
+ },
200
+ {
201
+ "type": "null"
202
+ }
203
+ ]
204
+ },
67
205
  "severity": {
68
206
  "enum": [
69
207
  "transient",
@@ -72,6 +210,29 @@
72
210
  "policy_blocking"
73
211
  ]
74
212
  },
213
+ "retryable": {
214
+ "type": "boolean"
215
+ },
216
+ "side_effect_state": {
217
+ "enum": [
218
+ "none",
219
+ "not_started",
220
+ "confirmed_not_applied",
221
+ "confirmed_applied",
222
+ "partially_applied",
223
+ "unknown"
224
+ ]
225
+ },
226
+ "resolution_owner": {
227
+ "enum": [
228
+ "user",
229
+ "agentsam",
230
+ "provider",
231
+ "organization_admin",
232
+ "policy",
233
+ "unknown"
234
+ ]
235
+ },
75
236
  "source": {
76
237
  "type": "object",
77
238
  "additionalProperties": false,
@@ -108,35 +269,27 @@
108
269
  }
109
270
  }
110
271
  },
111
- "resolution_owner": {
112
- "enum": [
113
- "user",
114
- "agentsam",
115
- "provider",
116
- "organization_admin",
117
- "policy",
118
- "unknown"
272
+ "adapter": {
273
+ "anyOf": [
274
+ {
275
+ "type": "string"
276
+ },
277
+ {
278
+ "type": "null"
279
+ }
119
280
  ]
120
281
  },
121
- "domain": {
122
- "enum": [
123
- "runtime",
124
- "provider",
125
- "auth",
126
- "device",
127
- "terminal",
128
- "transport",
129
- "repository",
130
- "indexing",
131
- "knowledge",
132
- "cad",
133
- "deployment",
134
- "persistence",
135
- "policy",
136
- "tool"
282
+ "protocol": {
283
+ "anyOf": [
284
+ {
285
+ "type": "string"
286
+ },
287
+ {
288
+ "type": "null"
289
+ }
137
290
  ]
138
291
  },
139
- "tool": {
292
+ "transport": {
140
293
  "anyOf": [
141
294
  {
142
295
  "type": "string"
@@ -146,7 +299,7 @@
146
299
  }
147
300
  ]
148
301
  },
149
- "stage": {
302
+ "tool": {
150
303
  "anyOf": [
151
304
  {
152
305
  "type": "string"
@@ -161,9 +314,6 @@
161
314
  "minLength": 1,
162
315
  "maxLength": 4000
163
316
  },
164
- "retryable": {
165
- "type": "boolean"
166
- },
167
317
  "retry_after_ms": {
168
318
  "anyOf": [
169
319
  {
@@ -212,7 +362,14 @@
212
362
  "inspect_platform",
213
363
  "contact_provider",
214
364
  "contact_agentsam",
215
- "contact_organization_admin"
365
+ "contact_organization_admin",
366
+ "restart_service",
367
+ "repair_schema",
368
+ "run_migration",
369
+ "regenerate_artifact",
370
+ "update_lockfile",
371
+ "reinstall_workspace",
372
+ "republish_artifact"
216
373
  ]
217
374
  },
218
375
  "message": {
@@ -481,16 +638,6 @@
481
638
  }
482
639
  ]
483
640
  },
484
- "transport": {
485
- "anyOf": [
486
- {
487
- "type": "string"
488
- },
489
- {
490
- "type": "null"
491
- }
492
- ]
493
- },
494
641
  "provider": {
495
642
  "anyOf": [
496
643
  {
@@ -540,10 +687,6 @@
540
687
  "minimum": 1
541
688
  },
542
689
  "details": {},
543
- "failure_class": {
544
- "type": "string",
545
- "description": "Provider-independent failure dimension; prefer this over exploding ERROR_REASON"
546
- },
547
690
  "operation": {
548
691
  "type": "object",
549
692
  "properties": {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "$schema": "https://json-schema.org/draft/2020-12/schema",
3
- "$id": "https://agentsam.inneranimalmedia.com/protocol/errors/recovery.v1.schema.json",
3
+ "$id": "https://schemas.inneranimalmedia.com/agentsam/errors/recovery.v1.schema.json",
4
4
  "title": "AgentSamRecoveryPlan",
5
5
  "type": "object",
6
6
  "required": ["schema", "disposition", "attempts", "notify", "reason"],
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "$schema": "https://json-schema.org/draft/2020-12/schema",
3
- "$id": "https://agentsam.dev/protocol/features/agentsam.feature.v1.schema.json",
3
+ "$id": "https://schemas.inneranimalmedia.com/agentsam/features/agentsam.feature.v1.schema.json",
4
4
  "title": "AgentSam Feature Capsule",
5
5
  "description": "Vertical product capability that a host APP can activate. npm install is inert; AgentSam activates after plan + approval. Not a full APP \u2014 use agentsam.app.v1 / .agentsam/app.json for runnable compositions.",
6
6
  "type": "object",
@@ -0,0 +1,18 @@
1
+ # AgentSam Hooks protocol
2
+
3
+ `agentsam.hook.v1` is the language-neutral lifecycle boundary for AgentSam hosts.
4
+
5
+ - `agentsam.hook.v1.schema.json`: invocation envelope.
6
+ - `agentsam.hook.output.v1.schema.json`: handler response.
7
+ - `agentsam.hooks.config.v1.schema.json`: explicit command/HTTP wiring.
8
+ - `agentsam.hook.receipt.v1.schema.json`: value-free execution evidence with canonical AgentSam error dimensions and separately redacted native evidence.
9
+
10
+ The wire format uses snake_case and Unix epoch milliseconds. Event-specific data stays under `input`; host-owned correlation IDs stay under `invocation`. Providers, MCP transports, LSP clients, runtimes, and agent schedulers adapt into this boundary rather than adding provider fields to the lifecycle contract.
11
+
12
+ Hooks are policy and transformation ports, not identity or capability authorities. Hosts must enforce permission decisions and continue to own authorization, grants, retries, persistence, and receipts. Unknown output properties are rejected so a misspelled decision cannot silently become an allow. `session_start.modified_config` is a composable patch: patches merge in priority order, and each host explicitly allowlists which host-scoped session settings it applies.
13
+
14
+ The optional portable registry is owned by `migrations/runtime/0005_agentsam_hooks.sql`; package lifecycle scripts generate the standalone schema-pack copy from that authority. It uses `owner_id` plus `scope_type`/`scope_ref`, not required tenant/workspace tables.
15
+
16
+ Cross-language bindings live in `packages/agentsam-hooks`. Its `sync:protocol` pretest/prepack gate generates distributable schema copies from this authority; a package test verifies that those generated artifacts are byte-identical.
17
+
18
+ Failed receipts do not invent a hook-only error taxonomy. They store `error_code`, `reason`, `domain`, `failure_class`, `stage`, `feature`, `failure_behavior`, `retryable`, `side_effect_state`, and `fingerprint` from `protocol/errors/error-catalog.json`. Adapter, protocol, and transport remain separate dimensions. Redacted native code/type/message evidence is stored in `native_evidence`. A failed post-tool or post-model hook records the already-applied side effect and is never routed back through the tool/model replay path.
@@ -0,0 +1,27 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://schemas.inneranimalmedia.com/agentsam/hooks/agentsam.hook.output.v1.schema.json",
4
+ "title": "AgentSam hook output",
5
+ "type": "object",
6
+ "properties": {
7
+ "permission_decision": { "enum": ["allow", "deny", "ask"] },
8
+ "permission_decision_reason": { "type": "string" },
9
+ "modified_args": { "type": "object" },
10
+ "modified_request": { "type": "object" },
11
+ "modified_result": {},
12
+ "modified_prompt": { "type": "string" },
13
+ "modified_transformed_prompt": { "type": "string" },
14
+ "modified_config": { "type": "object" },
15
+ "additional_context": { "type": "string" },
16
+ "suppress_output": { "type": "boolean" },
17
+ "error_handling": { "enum": ["retry", "skip", "abort"] },
18
+ "retry_count": { "type": "integer", "minimum": 0, "maximum": 10 },
19
+ "user_notification": { "type": "string" },
20
+ "decision": { "enum": ["allow", "block"] },
21
+ "reason": { "type": "string" },
22
+ "cleanup_actions": { "type": "array", "items": { "type": "string" } },
23
+ "session_summary": { "type": "string" },
24
+ "metadata": { "type": "object" }
25
+ },
26
+ "additionalProperties": false
27
+ }
@@ -0,0 +1,61 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://schemas.inneranimalmedia.com/agentsam/hooks/agentsam.hook.receipt.v1.schema.json",
4
+ "title": "AgentSam hook execution receipt",
5
+ "type": "object",
6
+ "required": ["schema", "hook_id", "hook", "status", "started_at", "completed_at", "duration_ms", "input_keys", "output_keys"],
7
+ "properties": {
8
+ "schema": { "const": "agentsam.hook.receipt.v1" },
9
+ "hook_id": { "type": "string", "minLength": 1 },
10
+ "hook": {
11
+ "enum": [
12
+ "session_start", "session_end", "user_prompt_submitted", "user_prompt_transformed",
13
+ "pre_model_use", "post_model_use", "pre_tool_use", "post_tool_use",
14
+ "post_tool_use_failure", "error_occurred", "agent_stop", "subagent_start", "subagent_stop"
15
+ ]
16
+ },
17
+ "invocation": { "type": "object" },
18
+ "status": { "enum": ["completed", "failed"] },
19
+ "started_at": { "type": "number", "minimum": 0 },
20
+ "completed_at": { "type": "number", "minimum": 0 },
21
+ "duration_ms": { "type": "number", "minimum": 0 },
22
+ "input_keys": { "type": "array", "items": { "type": "string" }, "uniqueItems": true },
23
+ "output_keys": { "type": "array", "items": { "type": "string" }, "uniqueItems": true },
24
+ "error": {
25
+ "type": "object",
26
+ "required": [
27
+ "error_code", "reason", "domain", "failure_class", "stage", "feature",
28
+ "failure_behavior", "retryable", "side_effect_state", "adapter", "protocol",
29
+ "transport", "fingerprint", "message"
30
+ ],
31
+ "properties": {
32
+ "error_code": { "type": "string", "pattern": "^[A-Z][A-Z_]{1,63}$" },
33
+ "reason": { "type": "string", "pattern": "^[a-z][a-z0-9_]{0,127}$" },
34
+ "domain": { "type": "string", "minLength": 1 },
35
+ "failure_class": { "type": "string", "minLength": 1 },
36
+ "stage": { "type": "string", "minLength": 1 },
37
+ "feature": { "type": "string", "pattern": "^[a-z][a-z0-9]*(?:[._-][a-z0-9]+)*$" },
38
+ "failure_behavior": { "enum": ["fail_closed", "fail_open", "observe_only", "retry_bounded", "skip", "abort", "no_replay"] },
39
+ "retryable": { "type": "boolean" },
40
+ "side_effect_state": { "enum": ["none", "not_started", "confirmed_not_applied", "confirmed_applied", "partially_applied", "unknown"] },
41
+ "adapter": { "type": ["string", "null"] },
42
+ "protocol": { "type": ["string", "null"] },
43
+ "transport": { "type": ["string", "null"] },
44
+ "fingerprint": { "type": "string", "pattern": "^err_[A-Za-z0-9_-]{8,128}$" },
45
+ "message": { "type": "string" }
46
+ },
47
+ "additionalProperties": false
48
+ },
49
+ "native_evidence": {
50
+ "type": "object",
51
+ "required": ["code", "exception_type", "message"],
52
+ "properties": {
53
+ "code": { "type": ["string", "null"] },
54
+ "exception_type": { "type": ["string", "null"] },
55
+ "message": { "type": "string", "maxLength": 512 }
56
+ },
57
+ "additionalProperties": false
58
+ }
59
+ },
60
+ "additionalProperties": false
61
+ }
@@ -0,0 +1,35 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://schemas.inneranimalmedia.com/agentsam/hooks/agentsam.hook.v1.schema.json",
4
+ "title": "AgentSam hook invocation envelope",
5
+ "type": "object",
6
+ "required": ["schema", "hook", "timestamp", "cwd", "invocation", "input"],
7
+ "properties": {
8
+ "schema": { "const": "agentsam.hook.v1" },
9
+ "hook": {
10
+ "enum": [
11
+ "session_start", "session_end", "user_prompt_submitted", "user_prompt_transformed",
12
+ "pre_model_use", "post_model_use", "pre_tool_use", "post_tool_use",
13
+ "post_tool_use_failure", "error_occurred", "agent_stop", "subagent_start", "subagent_stop"
14
+ ]
15
+ },
16
+ "timestamp": { "type": "number", "minimum": 0, "description": "Unix epoch milliseconds." },
17
+ "cwd": { "type": "string" },
18
+ "invocation": {
19
+ "type": "object",
20
+ "properties": {
21
+ "session_id": { "type": "string" },
22
+ "run_id": { "type": "string" },
23
+ "turn_id": { "type": "string" },
24
+ "message_id": { "type": "string" },
25
+ "agent_id": { "type": "string" },
26
+ "parent_agent_id": { "type": "string" },
27
+ "source": { "type": "string" },
28
+ "metadata": { "type": "object" }
29
+ },
30
+ "additionalProperties": false
31
+ },
32
+ "input": { "type": "object", "description": "Event-specific, provider-neutral payload." }
33
+ },
34
+ "additionalProperties": false
35
+ }
@@ -0,0 +1,78 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://schemas.inneranimalmedia.com/agentsam/hooks/agentsam.hooks.config.v1.schema.json",
4
+ "title": "AgentSam portable hook configuration",
5
+ "type": "object",
6
+ "required": ["schema", "adapters", "hooks"],
7
+ "properties": {
8
+ "schema": { "const": "agentsam.hooks.config.v1" },
9
+ "adapters": {
10
+ "type": "object",
11
+ "additionalProperties": {
12
+ "oneOf": [
13
+ {
14
+ "type": "object",
15
+ "required": ["type", "command"],
16
+ "properties": {
17
+ "type": { "const": "command" },
18
+ "command": { "type": "string", "minLength": 1 },
19
+ "args": { "type": "array", "items": { "type": "string" } },
20
+ "cwd": { "type": "string" },
21
+ "env": { "type": "object", "additionalProperties": { "type": "string" } },
22
+ "inherit_environment": { "type": "boolean" },
23
+ "timeout_ms": { "type": "integer", "minimum": 1, "maximum": 600000 },
24
+ "max_output_bytes": { "type": "integer", "minimum": 1, "maximum": 16777216 }
25
+ },
26
+ "additionalProperties": false
27
+ },
28
+ {
29
+ "type": "object",
30
+ "required": ["type", "url"],
31
+ "properties": {
32
+ "type": { "const": "http" },
33
+ "url": { "type": "string", "format": "uri" },
34
+ "headers": { "type": "object", "additionalProperties": { "type": "string" } },
35
+ "timeout_ms": { "type": "integer", "minimum": 1, "maximum": 600000 },
36
+ "max_response_bytes": { "type": "integer", "minimum": 1, "maximum": 16777216 }
37
+ },
38
+ "additionalProperties": false
39
+ }
40
+ ]
41
+ }
42
+ },
43
+ "hooks": {
44
+ "type": "object",
45
+ "propertyNames": {
46
+ "enum": [
47
+ "session_start", "session_end", "user_prompt_submitted", "user_prompt_transformed",
48
+ "pre_model_use", "post_model_use", "pre_tool_use", "post_tool_use",
49
+ "post_tool_use_failure", "error_occurred", "agent_stop", "subagent_start", "subagent_stop"
50
+ ]
51
+ },
52
+ "additionalProperties": {
53
+ "type": "array",
54
+ "items": {
55
+ "oneOf": [
56
+ { "type": "string" },
57
+ {
58
+ "type": "object",
59
+ "required": ["adapter"],
60
+ "properties": {
61
+ "id": { "type": "string", "pattern": "^[A-Za-z0-9][A-Za-z0-9._:-]{0,127}$" },
62
+ "adapter": { "type": "string" },
63
+ "priority": { "type": "number" },
64
+ "timeout_ms": { "type": "integer", "minimum": 1, "maximum": 600000 },
65
+ "failure_mode": { "enum": ["open", "closed", "error"] },
66
+ "enabled": { "type": "boolean" },
67
+ "match": { "type": "object" },
68
+ "metadata": { "type": "object" }
69
+ },
70
+ "additionalProperties": false
71
+ }
72
+ ]
73
+ }
74
+ }
75
+ }
76
+ },
77
+ "additionalProperties": false
78
+ }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "$schema": "https://json-schema.org/draft/2020-12/schema",
3
- "$id": "agentsam.engine.benchmark.v1",
3
+ "$id": "https://schemas.inneranimalmedia.com/agentsam/local-engine/benchmark.v1.schema.json",
4
4
  "type": "object",
5
5
  "required": ["schema_version", "engine_id", "runs", "summary"],
6
6
  "properties": {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "$schema": "https://json-schema.org/draft/2020-12/schema",
3
- "$id": "agentsam.local-engine.v1",
3
+ "$id": "https://schemas.inneranimalmedia.com/agentsam/local-engine/engine.v1.schema.json",
4
4
  "type": "object",
5
5
  "required": ["schema_version", "engine_id", "status", "capabilities"],
6
6
  "properties": {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "$schema": "https://json-schema.org/draft/2020-12/schema",
3
- "$id": "https://inneranimalmedia.com/protocol/models/model-inventory-v2.schema.json",
3
+ "$id": "https://schemas.inneranimalmedia.com/agentsam/models/model-inventory-v2.schema.json",
4
4
  "title": "AgentSam Model Inventory v2",
5
5
  "type": "object",
6
6
  "additionalProperties": false,
@@ -0,0 +1,22 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://schemas.inneranimalmedia.com/agentsam/models/provider-model-snapshot.v1.schema.json",
4
+ "title": "AgentSam credential-scoped provider model snapshot",
5
+ "description": "Compact metadata_json payload for an agentsam_plugins AI installation. This is availability evidence, not the global model catalog and never contains credential material.",
6
+ "type": "object",
7
+ "additionalProperties": false,
8
+ "required": ["schema", "provider", "model_ids", "model_count", "models_hash", "fetched_at_unix"],
9
+ "properties": {
10
+ "schema": { "const": "agentsam.provider-model-snapshot.v1" },
11
+ "provider": { "type": "string", "minLength": 1 },
12
+ "model_ids": {
13
+ "type": "array",
14
+ "items": { "type": "string", "minLength": 1 },
15
+ "uniqueItems": true
16
+ },
17
+ "model_count": { "type": "integer", "minimum": 0 },
18
+ "models_hash": { "type": "string", "pattern": "^fnv1a32:[0-9a-f]{8}$" },
19
+ "fetched_at_unix": { "type": "integer", "minimum": 0 },
20
+ "authority": { "const": "credential_scoped_provider_discovery" }
21
+ }
22
+ }
@@ -56,4 +56,5 @@ message ErrorDetail {
56
56
  optional uint32 occurrence_count = 26;
57
57
  optional string request_id = 27;
58
58
  optional uint32 schema_version = 28;
59
+ optional string native_stage = 29;
59
60
  }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "$schema": "https://json-schema.org/draft/2020-12/schema",
3
- "$id": "https://agentsam.inneranimalmedia.com/protocol/runtime/agentsam.runtime.v1.schema.json",
3
+ "$id": "https://schemas.inneranimalmedia.com/agentsam/runtime/agentsam.runtime.v1.schema.json",
4
4
  "title": "agentsam.runtime.v1",
5
5
  "description": "AgentSam Runtime Registry + protocol. Physical D1 tables remain terminal_*; domain nouns are Runtime*. PTY is a capability. transport ≠ adapter.",
6
6
  "type": "object",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "$schema": "https://json-schema.org/draft/2020-12/schema",
3
- "$id": "https://agentsam.inneranimalmedia.com/protocol/runtime/workspace-fs.v1.schema.json",
3
+ "$id": "https://schemas.inneranimalmedia.com/agentsam/runtime/workspace-fs.v1.schema.json",
4
4
  "title": "AgentSamWorkspaceFilesystemContract",
5
5
  "description": "Stable browser/WorkspaceAdapter contract. TypeScript local-fs implements today; Go agentsamd may replace the host without changing these operations.",
6
6
  "type": "object",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "$schema": "https://json-schema.org/draft/2020-12/schema",
3
- "$id": "https://agentsam.inneranimalmedia.com/protocol/sam/activity.v1.schema.json",
3
+ "$id": "https://schemas.inneranimalmedia.com/agentsam/sam/activity.v1.schema.json",
4
4
  "title": "AgentSamActivityEvent",
5
5
  "type": "object",
6
6
  "required": ["schema", "run_id", "seq", "timestamp", "phase", "event", "label"],