@inneranimalmedia/agentsam-sdk 2.6.1 → 2.6.3

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 (507) hide show
  1. package/AGENTSAM.md +45 -1
  2. package/README.md +80 -0
  3. package/apps/README.md +34 -0
  4. package/apps/cad-creator/README.md +728 -0
  5. package/apps/cad-creator/shared/cad/package.json +19 -0
  6. package/apps/cad-creator/shared/cad/src/domain/operations.ts +7 -0
  7. package/apps/cad-creator/shared/cad/src/domain/project-contract.d.ts +3 -0
  8. package/apps/cad-creator/shared/cad/src/domain/project-contract.js +75 -0
  9. package/apps/cad-creator/shared/cad/src/domain/project-tools.d.ts +1 -0
  10. package/apps/cad-creator/shared/cad/src/domain/project-tools.js +24 -0
  11. package/apps/cad-creator/shared/cad/src/domain/validation.ts +191 -0
  12. package/apps/cad-creator/shared/cad/src/index.ts +4 -0
  13. package/apps/cad-creator/shared/cad/src/robotics/types.ts +232 -0
  14. package/apps/cad-creator/shared/cad/src/types.ts +507 -0
  15. package/apps/cad-creator/shared/cad/tsconfig.json +14 -0
  16. package/docs/AUTH_IDENTITY_CONTRACT.md +25 -27
  17. package/docs/AUTORAG.md +58 -0
  18. package/docs/BRAND_INTELLIGENCE.md +30 -0
  19. package/docs/CLI_SHELL.md +4 -2
  20. package/docs/CMS_CONTEXTUAL_COMPOSER.md +38 -0
  21. package/docs/MERKLE.md +4 -0
  22. package/docs/PROJECT_CONFIG.md +3 -0
  23. package/docs/REPOSITORY_KNOWLEDGE.md +2 -0
  24. package/docs/SDK_WORKER.md +4 -3
  25. package/docs/THEME_REFINERY.md +120 -0
  26. package/docs/architecture/PROVIDER-TOOLS-AND-COMPACTION.md +60 -0
  27. package/docs/architecture/STORAGE.md +87 -0
  28. package/docs/cad-project-tools.md +69 -0
  29. package/docs/cms-scaffolding-pattern-reference.md +73 -0
  30. package/docs/plans/AGENTSAM-INTERACTIVE-UI-REQUIREMENTS-codex-tui-20260919.md +113 -0
  31. package/docs/plans/AGENTSAM-INTERACTIVE-UI-REQUIREMENTS.md +85 -0
  32. package/docs/plans/AGENTSAM-MCP-CLIENT-2026-09-19.md +181 -0
  33. package/docs/plans/ASBD-PORTABLE-WORKGRAPH-UI-DEFERRED.md +34 -0
  34. package/docs/plans/ASTRA-BRIEF-2026-09-18.md +258 -0
  35. package/docs/plans/MULTI-AGENT-SPRINTS-2026-09-19.md +373 -0
  36. package/docs/plans/NEXT-AGENT-HANDOFF.md +167 -0
  37. package/docs/plans/RECONCILIATION-2026-09-19.md +178 -0
  38. package/docs/plugins.md +43 -0
  39. package/docs/tools/README.md +57 -0
  40. package/docs/tools/agent-and-orchestration.md +49 -0
  41. package/docs/tools/browser-and-research.md +46 -0
  42. package/docs/tools/cloudflare-platform.md +32 -0
  43. package/docs/tools/cms.md +25 -0
  44. package/docs/tools/communications.md +41 -0
  45. package/docs/tools/database-and-storage.md +62 -0
  46. package/docs/tools/design-and-media.md +64 -0
  47. package/docs/tools/filesystem-and-code.md +55 -0
  48. package/docs/tools/github.md +56 -0
  49. package/docs/tools/integrations-and-misc.md +16 -0
  50. package/docs/tools/memory.md +21 -0
  51. package/docs/tools/terminal-and-execution.md +29 -0
  52. package/docs/tools/tickets-and-platform.md +30 -0
  53. package/migrations/d1/0001_agentsam_plugin_runtime.sql +177 -0
  54. package/migrations/d1/0002_agentsam_ticket_ownership.sql +8 -0
  55. package/migrations/d1/0002_dynamic_model_policies.sql +23 -0
  56. package/migrations/d1/0003_expand_tool_handler_families.sql +18 -0
  57. package/migrations/d1/0004_project_aware_retrieval_lanes.sql +24 -0
  58. package/migrations/d1/0005_portable_knowledge_identity.sql +104 -0
  59. package/migrations/d1/0006_repair_ops_trail_account_scope.sql +14 -0
  60. package/migrations/d1/0007_repair_ops_trail_agent_run_account.sql +13 -0
  61. package/migrations/d1/0008_backfill_knowledge_run_legacy_tenant.sql +14 -0
  62. package/migrations/d1/0009_normalize_cloudflare_plugin_installations.sql +137 -0
  63. package/migrations/runtime/0001_cli_runtime.sql +67 -0
  64. package/migrations/runtime/0002_project_sessions.sql +15 -0
  65. package/migrations/runtime/0003_provider_continuations.sql +8 -0
  66. package/package.json +92 -12
  67. package/packages/agentsam-brand/README.md +21 -0
  68. package/packages/agentsam-brand/package.json +22 -0
  69. package/packages/agentsam-brand/src/contract.js +59 -0
  70. package/packages/agentsam-brand/src/extract.js +126 -0
  71. package/packages/agentsam-brand/src/goap-actions.js +73 -0
  72. package/packages/agentsam-brand/src/index.js +48 -0
  73. package/packages/agentsam-brand/src/plan.js +115 -0
  74. package/packages/agentsam-brand/src/resolve.js +139 -0
  75. package/packages/agentsam-brand/src/scan.js +250 -0
  76. package/packages/agentsam-brand/test/brand-scan.test.mjs +106 -0
  77. package/packages/agentsam-contracts/README.md +23 -0
  78. package/packages/agentsam-contracts/package.json +32 -0
  79. package/packages/agentsam-contracts/src/adapter.ts +25 -0
  80. package/packages/agentsam-contracts/src/agent.ts +35 -0
  81. package/packages/agentsam-contracts/src/artifacts.ts +33 -0
  82. package/packages/agentsam-contracts/src/authority.ts +29 -0
  83. package/packages/agentsam-contracts/src/context.ts +16 -0
  84. package/packages/agentsam-contracts/src/errors.ts +46 -0
  85. package/packages/agentsam-contracts/src/events.ts +47 -0
  86. package/packages/agentsam-contracts/src/execution.ts +50 -0
  87. package/packages/agentsam-contracts/src/hooks.ts +40 -0
  88. package/packages/agentsam-contracts/src/identity.ts +16 -0
  89. package/packages/agentsam-contracts/src/index.ts +14 -0
  90. package/packages/agentsam-contracts/src/models.ts +9 -0
  91. package/packages/agentsam-contracts/src/providers.ts +33 -0
  92. package/packages/agentsam-contracts/src/repository.ts +64 -0
  93. package/packages/agentsam-contracts/src/tools.ts +98 -0
  94. package/packages/agentsam-contracts/test/contracts.test.mjs +16 -0
  95. package/packages/agentsam-contracts/test/errors-catalog.test.mjs +25 -0
  96. package/packages/agentsam-contracts/test/repository.test.mjs +18 -0
  97. package/packages/agentsam-contracts/tsconfig.json +12 -0
  98. package/packages/agentsam-errors/package.json +17 -0
  99. package/packages/agentsam-errors/src/adapters/anthropic.js +15 -0
  100. package/packages/agentsam-errors/src/adapters/cad.js +109 -0
  101. package/packages/agentsam-errors/src/adapters/cloudflare.js +21 -0
  102. package/packages/agentsam-errors/src/adapters/cursor.js +4 -0
  103. package/packages/agentsam-errors/src/adapters/device.js +38 -0
  104. package/packages/agentsam-errors/src/adapters/docker.js +28 -0
  105. package/packages/agentsam-errors/src/adapters/gcp.js +14 -0
  106. package/packages/agentsam-errors/src/adapters/github.js +22 -0
  107. package/packages/agentsam-errors/src/adapters/google.js +17 -0
  108. package/packages/agentsam-errors/src/adapters/index.js +55 -0
  109. package/packages/agentsam-errors/src/adapters/internal.js +40 -0
  110. package/packages/agentsam-errors/src/adapters/oauth.js +24 -0
  111. package/packages/agentsam-errors/src/adapters/openai.js +17 -0
  112. package/packages/agentsam-errors/src/adapters/process.js +35 -0
  113. package/packages/agentsam-errors/src/adapters/provider.js +114 -0
  114. package/packages/agentsam-errors/src/envelope.js +186 -0
  115. package/packages/agentsam-errors/src/error.js +24 -0
  116. package/packages/agentsam-errors/src/fingerprint.js +35 -0
  117. package/packages/agentsam-errors/src/index.js +10 -0
  118. package/packages/agentsam-errors/src/normalize.js +30 -0
  119. package/packages/agentsam-errors/src/redaction.js +52 -0
  120. package/packages/agentsam-errors/src/render.js +16 -0
  121. package/packages/agentsam-errors/src/retry.js +10 -0
  122. package/packages/agentsam-errors/src/transport.js +52 -0
  123. package/packages/agentsam-errors/src/vocabulary.js +320 -0
  124. package/packages/agentsam-errors/test/envelope.test.mjs +70 -0
  125. package/packages/agentsam-errors/test/providers.test.mjs +99 -0
  126. package/packages/agentsam-errors/test/redaction.test.mjs +21 -0
  127. package/packages/agentsam-errors/test/runtime-cad-device.test.mjs +76 -0
  128. package/packages/agentsam-errors/test/transport.test.mjs +46 -0
  129. package/packages/agentsam-knowledge/package.json +15 -0
  130. package/packages/agentsam-knowledge/src/autorag/index.js +64 -0
  131. package/packages/agentsam-knowledge/src/backends/index.js +26 -0
  132. package/packages/agentsam-knowledge/src/index.js +3 -0
  133. package/packages/agentsam-knowledge/src/providers/index.js +95 -0
  134. package/packages/agentsam-knowledge/test/autorag.test.mjs +42 -0
  135. package/packages/agentsam-nav/README.md +40 -0
  136. package/packages/agentsam-nav/dist/Nav.d.ts +43 -0
  137. package/packages/agentsam-nav/dist/NavCollapsible.d.ts +10 -0
  138. package/packages/agentsam-nav/dist/NavContent.d.ts +2 -0
  139. package/packages/agentsam-nav/dist/NavFooter.d.ts +2 -0
  140. package/packages/agentsam-nav/dist/NavGroup.d.ts +3 -0
  141. package/packages/agentsam-nav/dist/NavHeader.d.ts +2 -0
  142. package/packages/agentsam-nav/dist/NavMenu.d.ts +22 -0
  143. package/packages/agentsam-nav/dist/NavProvider.d.ts +35 -0
  144. package/packages/agentsam-nav/dist/NavTrigger.d.ts +2 -0
  145. package/packages/agentsam-nav/dist/Surfaces.d.ts +41 -0
  146. package/packages/agentsam-nav/dist/browser.d.ts +11 -0
  147. package/packages/agentsam-nav/dist/browser.global.js +132 -0
  148. package/packages/agentsam-nav/dist/browser.js +613 -0
  149. package/packages/agentsam-nav/dist/contracts.d.ts +76 -0
  150. package/packages/agentsam-nav/dist/index.d.ts +11 -0
  151. package/packages/agentsam-nav/dist/index.js +614 -0
  152. package/packages/agentsam-nav/dist/legacy.css +83 -0
  153. package/packages/agentsam-nav/dist/shell.css +113 -0
  154. package/packages/agentsam-nav/dist/theme.css +113 -0
  155. package/packages/agentsam-nav/dist/utils.d.ts +1 -0
  156. package/packages/agentsam-nav/package.json +43 -0
  157. package/packages/agentsam-queue-control/README.md +107 -0
  158. package/packages/agentsam-queue-control/package.json +31 -0
  159. package/packages/agentsam-queue-control/schemas/job-envelope.schema.json +56 -0
  160. package/packages/agentsam-queue-control/src/adapters/cloudflare.js +152 -0
  161. package/packages/agentsam-queue-control/src/adapters/memory.js +38 -0
  162. package/packages/agentsam-queue-control/src/contracts.js +130 -0
  163. package/packages/agentsam-queue-control/src/control-plane.js +141 -0
  164. package/packages/agentsam-queue-control/src/dispatch.js +43 -0
  165. package/packages/agentsam-queue-control/src/index.js +7 -0
  166. package/packages/agentsam-queue-control/src/policy.js +88 -0
  167. package/packages/agentsam-queue-control/src/topology.js +66 -0
  168. package/packages/agentsam-queue-control/test/queue-control.test.mjs +100 -0
  169. package/packages/agentsam-repository/src/goap.js +718 -0
  170. package/packages/agentsam-repository/src/goap.js.bak-20260922011251 +670 -0
  171. package/packages/agentsam-repository/src/index.js +5 -0
  172. package/packages/agentsam-repository/src/merkle/cloudflare-persistence.js +2 -2
  173. package/packages/agentsam-repository/src/tickets.js +184 -0
  174. package/packages/agentsam-repository/src/work-tracking.js +199 -0
  175. package/packages/agentsam-repository/src/workspace-state.js +176 -0
  176. package/packages/agentsam-repository/test/goap-tickets-workspace-state.test.mjs +152 -0
  177. package/packages/connectors/cloudflare/src/index.js +297 -15
  178. package/packages/connectors/cloudflare/src/owner.js +43 -40
  179. package/packages/connectors/cloudflare/src/routes.js +167 -26
  180. package/packages/connectors/cloudflare/tests/connector.test.mjs +112 -2
  181. package/packages/heuristic-theme/README.md +11 -0
  182. package/packages/heuristic-theme/package.json +25 -0
  183. package/packages/heuristic-theme/src/index.js +2 -0
  184. package/packages/heuristic-theme/src/registry.js +36 -0
  185. package/packages/heuristic-theme/src/theme.js +41 -0
  186. package/packages/heuristic-theme/test/theme.test.mjs +26 -0
  187. package/packages/identity/.agentsam/features/oauth-login-portal/agentsam.feature.json +64 -0
  188. package/packages/identity/.agentsam/features/oauth-login-portal/providers.json +96 -0
  189. package/packages/identity/.agentsam/features/oauth-login-portal/resources.json +47 -0
  190. package/packages/identity/.agentsam/features/oauth-login-portal/routes.json +74 -0
  191. package/packages/identity/.agentsam/features/oauth-login-portal/ui.json +35 -0
  192. package/packages/identity/package.json +4 -3
  193. package/packages/identity/src/adapters/cloudflare-d1/ids.js +4 -0
  194. package/packages/identity/src/adapters/cloudflare-d1/index.js +39 -1
  195. package/packages/identity/src/contracts/auth-config.js +23 -40
  196. package/packages/identity/src/contracts/provider.js +3 -2
  197. package/packages/identity/src/frontend/auth-portal/pages/login.html +7 -0
  198. package/packages/identity/src/index.js +2 -0
  199. package/packages/identity/src/oauth/credentials.js +13 -0
  200. package/packages/identity/src/oauth/iam-platform.js +5 -5
  201. package/packages/identity/src/providers/cloudflare/index.js +19 -0
  202. package/packages/identity/src/providers/cloudflare/mapper.js +21 -0
  203. package/packages/identity/src/providers/cloudflare/oauth.js +48 -0
  204. package/packages/identity/src/providers/cloudflare/profile.js +28 -0
  205. package/packages/identity/src/providers/index.js +18 -2
  206. package/packages/identity/src/server/identity-service.js +13 -3
  207. package/packages/identity/src/server/worker-router.js +63 -8
  208. package/packages/identity/tests/auth-config.test.mjs +14 -23
  209. package/packages/identity/tests/identity-service.test.mjs +15 -0
  210. package/packages/providers/completeful/README.md +38 -0
  211. package/packages/providers/completeful/package.json +29 -0
  212. package/packages/providers/completeful/src/client.js +162 -0
  213. package/packages/providers/completeful/src/events.js +49 -0
  214. package/packages/providers/completeful/src/index.js +22 -0
  215. package/packages/providers/completeful/src/tools.js +579 -0
  216. package/packages/providers/completeful/src/webhooks.js +55 -0
  217. package/packages/providers/completeful/test/provider.test.mjs +196 -0
  218. package/packages/theme-church-site/README.md +10 -0
  219. package/packages/theme-church-site/package.json +30 -0
  220. package/packages/theme-church-site/src/harvest.json +14 -0
  221. package/packages/theme-church-site/src/index.js +84 -0
  222. package/packages/theme-church-site/test/theme.test.mjs +19 -0
  223. package/packages/theme-companions-site/README.md +10 -0
  224. package/packages/theme-companions-site/package.json +30 -0
  225. package/packages/theme-companions-site/src/harvest.json +12 -0
  226. package/packages/theme-companions-site/src/index.js +82 -0
  227. package/packages/theme-companions-site/test/theme.test.mjs +19 -0
  228. package/packages/theme-floors-site/README.md +10 -0
  229. package/packages/theme-floors-site/package.json +30 -0
  230. package/packages/theme-floors-site/src/harvest.json +14 -0
  231. package/packages/theme-floors-site/src/index.js +82 -0
  232. package/packages/theme-floors-site/test/theme.test.mjs +19 -0
  233. package/packages/theme-fuelnfree-site/README.md +10 -0
  234. package/packages/theme-fuelnfree-site/package.json +30 -0
  235. package/packages/theme-fuelnfree-site/src/harvest.json +13 -0
  236. package/packages/theme-fuelnfree-site/src/index.js +81 -0
  237. package/packages/theme-fuelnfree-site/test/theme.test.mjs +19 -0
  238. package/packages/theme-handyman-site/README.md +10 -0
  239. package/packages/theme-handyman-site/package.json +30 -0
  240. package/packages/theme-handyman-site/src/harvest.json +10 -0
  241. package/packages/theme-handyman-site/src/index.js +83 -0
  242. package/packages/theme-handyman-site/test/theme.test.mjs +19 -0
  243. package/packages/theme-insurance-site/README.md +10 -0
  244. package/packages/theme-insurance-site/package.json +30 -0
  245. package/packages/theme-insurance-site/src/harvest.json +10 -0
  246. package/packages/theme-insurance-site/src/index.js +83 -0
  247. package/packages/theme-insurance-site/test/theme.test.mjs +19 -0
  248. package/packages/theme-shinshu-site/README.md +10 -0
  249. package/packages/theme-shinshu-site/package.json +30 -0
  250. package/packages/theme-shinshu-site/src/harvest.json +12 -0
  251. package/packages/theme-shinshu-site/src/index.js +83 -0
  252. package/packages/theme-shinshu-site/test/theme.test.mjs +19 -0
  253. package/packages/work-graph/README.md +49 -0
  254. package/packages/work-graph/package.json +19 -0
  255. package/packages/work-graph/prototype/README.md +32 -0
  256. package/packages/work-graph/prototype/data/demo-workgraph.js +47 -0
  257. package/packages/work-graph/prototype/renderers/timeline-model.js +21 -0
  258. package/packages/work-graph/prototype/renderers/workgraph-runtime.js +38 -0
  259. package/packages/work-graph/prototype-gnantt.html +655 -0
  260. package/packages/work-graph/src/adapters/business/projects.js +23 -0
  261. package/packages/work-graph/src/adapters/engineering/git.js +22 -0
  262. package/packages/work-graph/src/adapters/engineering/mcp.js +22 -0
  263. package/packages/work-graph/src/index.js +76 -0
  264. package/packages/work-graph/src/renderers/gantt-model.js +11 -0
  265. package/packages/work-graph/src/renderers/timeline.js +16 -0
  266. package/packages/work-graph/test/work-graph.test.mjs +37 -0
  267. package/protocol/README.md +12 -0
  268. package/protocol/capabilities/cloudflare-cpu-audit-input.schema.json +30 -6
  269. package/protocol/capabilities/cloudflare-cpu-profile-input.schema.json +18 -4
  270. package/protocol/capabilities/cloudflare-wrangler-native-input.schema.json +59 -10
  271. package/protocol/capabilities/knowledge-search-input.schema.json +35 -0
  272. package/protocol/capabilities/manifest.json +163 -1
  273. package/protocol/capabilities/repository-audit-input.schema.json +39 -6
  274. package/protocol/capabilities/repository-snapshot-input.schema.json +15 -3
  275. package/protocol/capabilities/terminal-exec-input.schema.json +55 -0
  276. package/protocol/commerce/catalog.v1.json +50 -0
  277. package/protocol/errors/error-catalog.json +164 -0
  278. package/protocol/errors/error-envelope.schema.json +544 -0
  279. package/protocol/features/README.md +57 -0
  280. package/protocol/features/agentsam.feature.v1.schema.json +290 -0
  281. package/protocol/features/catalog.json +65 -0
  282. package/protocol/features/examples/provider-resend.feature.json +17 -0
  283. package/protocol/go/agentsam-go-runtime.v1.json +17 -0
  284. package/protocol/knowledge/LIFECYCLE.md +140 -0
  285. package/protocol/knowledge/README.md +4 -0
  286. package/protocol/presets/catalog.json +128 -19
  287. package/protocol/rpc/v1/errors.proto +24 -0
  288. package/protocol/theme-refinery/d1-reconciliation.md +48 -0
  289. package/protocol/theme-refinery/product-metadata.schema.json +27 -0
  290. package/protocol/theme-refinery/receipts/products-registry-batch-20260924.json +318 -0
  291. package/protocol/theme-refinery/receipts/theme-harvest-20260924.json +472 -0
  292. package/protocol/theme-refinery/reconciliation-receipt.schema.json +83 -0
  293. package/services/cad/server.py +249 -2
  294. package/src/agent/capability-adapter.js +15 -5
  295. package/src/agent/index.js +2 -1
  296. package/src/agent/model-turn.js +51 -0
  297. package/src/agent/responses-runner.js +304 -38
  298. package/src/capabilities/index.js +1 -0
  299. package/src/capabilities/terminal-exec.js +78 -0
  300. package/src/cli.js +129 -31
  301. package/src/cloudflare/index.js +6 -0
  302. package/src/cloudflare/runtime-status.js +393 -0
  303. package/src/cloudflare/wrangler.js +17 -1
  304. package/src/commands/account-auth.js +1 -1
  305. package/src/commands/app.js +106 -0
  306. package/src/commands/autorag.js +77 -0
  307. package/src/commands/brand.js +293 -0
  308. package/src/commands/cad.js +1 -0
  309. package/src/commands/connections.js +126 -29
  310. package/src/commands/context-economics.js +8 -0
  311. package/src/commands/db.js +7 -0
  312. package/src/commands/deploy.js +2 -2
  313. package/src/commands/env.js +5 -4
  314. package/src/commands/eval.js +209 -14
  315. package/src/commands/go.js +365 -0
  316. package/src/commands/goap.js +176 -0
  317. package/src/commands/identity-init.js +27 -3
  318. package/src/commands/identity-protocol.js +195 -0
  319. package/src/commands/knowledge.js +64 -5
  320. package/src/commands/mcp.js +341 -0
  321. package/src/commands/merkle-persist.js +3 -1
  322. package/src/commands/merkle.js +18 -3
  323. package/src/commands/models.js +109 -23
  324. package/src/commands/plugins.js +175 -0
  325. package/src/commands/preferences.js +28 -8
  326. package/src/commands/product.js +53 -10
  327. package/src/commands/providers.js +389 -0
  328. package/src/commands/resume.js +9 -5
  329. package/src/commands/runtime-status.js +154 -0
  330. package/src/commands/shell.js +469 -54
  331. package/src/commands/status.js +82 -7
  332. package/src/commands/tunnel.js +228 -195
  333. package/src/commands/whoami.js +115 -22
  334. package/src/context/budget.js +6 -0
  335. package/src/context/index.js +2 -1
  336. package/src/context/project-card.js +75 -0
  337. package/src/errors/contract.js +34 -211
  338. package/src/errors/diagnostic.js +95 -50
  339. package/src/errors/index.js +6 -13
  340. package/src/eval/index.js +6 -0
  341. package/src/eval/live.js +439 -0
  342. package/src/features/resolve.js +242 -0
  343. package/src/go/build.js +108 -0
  344. package/src/go/cloudflare.js +207 -0
  345. package/src/go/contract.js +139 -0
  346. package/src/go/discover.js +96 -0
  347. package/src/go/index.js +13 -0
  348. package/src/go/receipts.js +77 -0
  349. package/src/go/registry.js +223 -0
  350. package/src/go/verify.js +31 -0
  351. package/src/index.js +100 -1
  352. package/src/knowledge/config.js +13 -5
  353. package/src/knowledge/engine.js +23 -8
  354. package/src/knowledge/index.js +1 -0
  355. package/src/knowledge/lane-registry.js +46 -0
  356. package/src/knowledge/providers/gemini.js +48 -8
  357. package/src/knowledge/service/client.js +13 -1
  358. package/src/knowledge/service/grpc-codec.js +156 -53
  359. package/src/knowledge/service/job-engine.js +133 -11
  360. package/src/knowledge/service/job-worker.js +34 -5
  361. package/src/knowledge/service/server.js +10 -1
  362. package/src/knowledge/store-discovery.js +77 -0
  363. package/src/lib/account-session.js +100 -25
  364. package/src/lib/agent-instructions.js +3 -0
  365. package/src/lib/auth.js +318 -51
  366. package/src/lib/cad/blender.js +42 -3
  367. package/src/lib/cad/d1-project-store.js +43 -0
  368. package/src/lib/cad/discovery.js +616 -0
  369. package/src/lib/cad/docker-executor.js +352 -0
  370. package/src/lib/cad/freecad.js +253 -0
  371. package/src/lib/cad/index.js +40 -0
  372. package/src/lib/cad/openscad.js +198 -0
  373. package/src/lib/cad/project-cli.d.ts +2 -0
  374. package/src/lib/cad/project-cli.js +21 -0
  375. package/src/lib/cad/project-contract.d.ts +3 -0
  376. package/src/lib/cad/project-contract.js +1 -0
  377. package/src/lib/cad/project-recipe.js +30 -0
  378. package/src/lib/cad/project-runtime.d.ts +2 -0
  379. package/src/lib/cad/project-runtime.js +53 -0
  380. package/src/lib/cad/project-store.js +25 -0
  381. package/src/lib/cad/project-workflows.js +31 -0
  382. package/src/lib/cad-docker.js +21 -2
  383. package/src/lib/cli-preferences.js +17 -2
  384. package/src/lib/core-client.js +97 -33
  385. package/src/lib/deploy/local-studio.js +6 -5
  386. package/src/lib/detect-context.js +14 -16
  387. package/src/lib/dockerize.js +3 -0
  388. package/src/lib/execution-approvals.js +1 -0
  389. package/src/lib/identity-scaffold.js +4 -1
  390. package/src/lib/knowledge-docker.js +9 -1
  391. package/src/lib/local-sessions.js +124 -34
  392. package/src/lib/local-status.js +35 -14
  393. package/src/lib/project-config.js +9 -0
  394. package/src/lib/provider-credentials.js +233 -55
  395. package/src/lib/scaffold/resolve-cloudflare-account.js +37 -0
  396. package/src/lib/scaffold/wizards/cms.js +2 -8
  397. package/src/lib/scaffold/wizards/worker-api.js +2 -8
  398. package/src/lib/slash-commands.js +10 -2
  399. package/src/local/migrations.js +109 -1
  400. package/src/local/runtime-store.js +31 -5
  401. package/src/local/sqlite.js +36 -1
  402. package/src/mcp/authority.js +348 -0
  403. package/src/mcp/client-adapters.js +431 -0
  404. package/src/mcp/client.js +172 -0
  405. package/src/mcp/index.js +47 -0
  406. package/src/mcp/telemetry.js +103 -0
  407. package/src/models/catalog.js +329 -51
  408. package/src/models/discovery.js +59 -4
  409. package/src/models/index.js +2 -0
  410. package/src/models/inventory-core.js +182 -0
  411. package/src/models/policy.js +20 -0
  412. package/src/plugins/cloudflare.js +103 -0
  413. package/src/plugins/completeful.js +69 -0
  414. package/src/plugins/contracts.js +86 -0
  415. package/src/plugins/index.js +11 -0
  416. package/src/plugins/registry.js +207 -0
  417. package/src/plugins/resource-scope.js +45 -0
  418. package/src/plugins/runtime.js +118 -0
  419. package/src/plugins/vectorize.js +31 -0
  420. package/src/progression/engine.js +171 -0
  421. package/src/progression/index.js +1 -0
  422. package/src/providers/cloudflare-chat.js +1 -1
  423. package/src/providers/gemini-generate-content.js +2 -1
  424. package/src/providers/openai-responses.js +45 -16
  425. package/src/providers/tool-schema.js +85 -0
  426. package/src/repository/index.js +29 -0
  427. package/src/rpc/generated/errors_pb.js +961 -1
  428. package/src/security/local-vault.js +415 -0
  429. package/src/security/process.js +20 -4
  430. package/src/status/actions.js +192 -0
  431. package/src/tools/hydrate.js +5 -1
  432. package/src/tools/index.js +7 -0
  433. package/src/tools/redact.js +64 -0
  434. package/src/tools/registry.js +83 -0
  435. package/src/tools/runtime.js +257 -0
  436. package/src/tools/search.js +21 -8
  437. package/src/ui/ansi.js +117 -3
  438. package/src/ui/cli/activity.js +76 -7
  439. package/src/ui/cli/footer.js +110 -9
  440. package/src/ui/cli/help.js +14 -5
  441. package/src/ui/wireframes.js +166 -0
  442. package/test/account-session.test.mjs +76 -11
  443. package/test/apps-scaffold-contract.test.mjs +58 -0
  444. package/test/capabilities.test.mjs +1 -1
  445. package/test/cli/eval-live.test.mjs +219 -0
  446. package/test/cli/go.test.mjs +71 -0
  447. package/test/cli/local-vault-and-provider-setup.test.mjs +268 -0
  448. package/test/cli/mcp-client.test.mjs +245 -0
  449. package/test/cli/runtime-ui.test.mjs +69 -2
  450. package/test/cli/status-actions.test.mjs +88 -0
  451. package/test/cli/wireframes-go-registry.test.mjs +54 -0
  452. package/test/cloudflare-connector.test.mjs +3 -6
  453. package/test/cloudflare-runtime.test.mjs +8 -1
  454. package/test/context.test.mjs +15 -0
  455. package/test/error-diagnostics.test.mjs +9 -0
  456. package/test/fixtures/cad/courtyard-house.json +208 -0
  457. package/test/go/cloudflare-probe.test.mjs +53 -0
  458. package/test/integration/app-command.test.mjs +55 -0
  459. package/test/integration/cad-discovery.test.mjs +158 -0
  460. package/test/integration/cad-docker-executor.test.mjs +249 -0
  461. package/test/integration/cad-execution.test.mjs +184 -0
  462. package/test/integration/cad-project-app.test.mjs +31 -0
  463. package/test/integration/cad-project-d1.test.mjs +25 -0
  464. package/test/integration/cad-project-native.test.mjs +24 -0
  465. package/test/integration/cad-project-workflow.test.mjs +9 -0
  466. package/test/integration/cad-project.test.mjs +82 -0
  467. package/test/integration/cli-help.test.mjs +4 -0
  468. package/test/integration/cms-site-tenancy-contract.test.mjs +256 -0
  469. package/test/integration/core-client.integration.test.mjs +55 -0
  470. package/test/integration/error-runtime-rpc.test.mjs +71 -0
  471. package/test/integration/features-resolve.test.mjs +128 -0
  472. package/test/integration/install-script.test.mjs +107 -0
  473. package/test/integration/inventory-core.test.mjs +53 -0
  474. package/test/integration/plugins-cloudflare.integration.test.mjs +28 -0
  475. package/test/integration/provider-env-cli.test.mjs +1 -1
  476. package/test/integration/runtime-migrations.test.mjs +6 -1
  477. package/test/integration/runtime-status.integration.test.mjs +211 -0
  478. package/test/integration/scaffold-cloudflare.test.mjs +46 -0
  479. package/test/integration/storage-architecture.test.mjs +154 -0
  480. package/test/integration/store-discovery.test.mjs +44 -0
  481. package/test/integration/terminal-exec.integration.test.mjs +86 -0
  482. package/test/integration/tool-runtime.test.mjs +124 -0
  483. package/test/integration/tool-schema.test.mjs +59 -0
  484. package/test/knowledge-service.test.mjs +4 -0
  485. package/test/local-sessions.test.mjs +11 -2
  486. package/test/local-studio-deploy.test.mjs +1 -1
  487. package/test/model-catalog.test.mjs +28 -1
  488. package/test/models.test.mjs +159 -5
  489. package/test/openai-responses.test.mjs +60 -0
  490. package/test/provider-credentials.test.mjs +15 -5
  491. package/test/responses-runner.test.mjs +321 -6
  492. package/test/sdk-worker-contract.test.mjs +5 -1
  493. package/test/shell.test.mjs +149 -4
  494. package/test/smoke.mjs +4 -3
  495. package/test/tools-search.test.mjs +33 -0
  496. package/test/unit/website-assets-bindings.test.mjs +60 -0
  497. package/test/whoami-resume.test.mjs +87 -7
  498. package/examples/gorilla-shell/README.md +0 -15
  499. package/src/lib/gorilla-template.js +0 -54
  500. package/src/lib/prompt-byok.js +0 -57
  501. package/src/lib/save-sdk-token.js +0 -19
  502. package/templates/gorilla-shell/App.tsx +0 -639
  503. package/templates/gorilla-shell/README.md +0 -34
  504. package/templates/gorilla-shell/index.html +0 -15
  505. package/templates/gorilla-shell/main.jsx +0 -9
  506. package/templates/gorilla-shell/package.json +0 -19
  507. package/templates/gorilla-shell/vite.config.js +0 -21
@@ -0,0 +1,290 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://agentsam.dev/protocol/features/agentsam.feature.v1.schema.json",
4
+ "title": "AgentSam Feature Capsule",
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
+ "type": "object",
7
+ "additionalProperties": false,
8
+ "required": [
9
+ "schema",
10
+ "id",
11
+ "kind",
12
+ "package",
13
+ "provides"
14
+ ],
15
+ "properties": {
16
+ "schema": {
17
+ "const": "agentsam.feature.v1"
18
+ },
19
+ "id": {
20
+ "type": "string",
21
+ "pattern": "^[a-z][a-z0-9._-]*$",
22
+ "description": "Stable feature id, e.g. provider.resend, admin.shell-nav"
23
+ },
24
+ "name": {
25
+ "type": "string"
26
+ },
27
+ "title": {
28
+ "type": "string",
29
+ "description": "Human-readable title (alias of name for protocol-authored features)"
30
+ },
31
+ "kind": {
32
+ "type": "string",
33
+ "enum": [
34
+ "provider",
35
+ "ui",
36
+ "domain",
37
+ "composer",
38
+ "theme",
39
+ "analytics",
40
+ "integration"
41
+ ]
42
+ },
43
+ "package": {
44
+ "type": "object",
45
+ "required": [
46
+ "name",
47
+ "version"
48
+ ],
49
+ "properties": {
50
+ "name": {
51
+ "type": "string"
52
+ },
53
+ "version": {
54
+ "type": "string"
55
+ },
56
+ "directory": {
57
+ "type": "string",
58
+ "description": "Repo-relative path to implementation (may be pre-extraction)"
59
+ }
60
+ }
61
+ },
62
+ "status": {
63
+ "type": "string",
64
+ "enum": [
65
+ "incubating",
66
+ "extracted",
67
+ "published"
68
+ ],
69
+ "default": "incubating"
70
+ },
71
+ "capabilities": {
72
+ "type": "array",
73
+ "items": {
74
+ "type": "string"
75
+ },
76
+ "description": "Selection-facing capability ids recorded in .agentsam/features.json"
77
+ },
78
+ "provides": {
79
+ "type": "array",
80
+ "minItems": 1,
81
+ "items": {
82
+ "type": "string"
83
+ },
84
+ "description": "Capability strings hosts can require, e.g. email.send"
85
+ },
86
+ "requires": {
87
+ "type": "array",
88
+ "items": {
89
+ "type": "string"
90
+ },
91
+ "default": []
92
+ },
93
+ "optional": {
94
+ "type": "array",
95
+ "items": {
96
+ "type": "string"
97
+ },
98
+ "default": []
99
+ },
100
+ "runtime": {
101
+ "type": "array",
102
+ "items": {
103
+ "type": "string",
104
+ "enum": [
105
+ "common",
106
+ "browser",
107
+ "node",
108
+ "worker",
109
+ "local-machine"
110
+ ]
111
+ },
112
+ "default": [
113
+ "common"
114
+ ]
115
+ },
116
+ "contracts": {
117
+ "type": "object",
118
+ "additionalProperties": {
119
+ "type": "string"
120
+ },
121
+ "description": "Repo-relative contract module paths"
122
+ },
123
+ "contributes": {
124
+ "type": "object",
125
+ "additionalProperties": false,
126
+ "properties": {
127
+ "ui": {
128
+ "type": "array",
129
+ "items": {
130
+ "type": "string"
131
+ }
132
+ },
133
+ "routes": {
134
+ "type": "array",
135
+ "items": {
136
+ "type": "string"
137
+ }
138
+ },
139
+ "tools": {
140
+ "type": "array",
141
+ "items": {
142
+ "type": "string"
143
+ }
144
+ },
145
+ "hooks": {
146
+ "type": "array",
147
+ "items": {
148
+ "type": "string"
149
+ }
150
+ },
151
+ "jobs": {
152
+ "type": "array",
153
+ "items": {
154
+ "type": "string"
155
+ }
156
+ },
157
+ "migrations": {
158
+ "type": "array",
159
+ "items": {
160
+ "type": "string"
161
+ }
162
+ },
163
+ "webhooks": {
164
+ "type": "array",
165
+ "items": {
166
+ "type": "string"
167
+ }
168
+ },
169
+ "skills": {
170
+ "type": "array",
171
+ "items": {
172
+ "type": "string"
173
+ }
174
+ }
175
+ }
176
+ },
177
+ "secrets": {
178
+ "type": "object",
179
+ "properties": {
180
+ "server_only": {
181
+ "type": "array",
182
+ "items": {
183
+ "type": "string"
184
+ }
185
+ },
186
+ "optional": {
187
+ "type": "array",
188
+ "items": {
189
+ "type": "string"
190
+ }
191
+ }
192
+ }
193
+ },
194
+ "host_bindings": {
195
+ "type": "object",
196
+ "description": "What the host must inject \u2014 never hardcode account/tenant IDs in the feature",
197
+ "properties": {
198
+ "required": {
199
+ "type": "array",
200
+ "items": {
201
+ "type": "string"
202
+ }
203
+ },
204
+ "forbidden_in_feature": {
205
+ "type": "array",
206
+ "items": {
207
+ "type": "string"
208
+ },
209
+ "description": "Constants that must stay in the host adapter"
210
+ }
211
+ }
212
+ },
213
+ "source": {
214
+ "type": "object",
215
+ "properties": {
216
+ "proving_ground": {
217
+ "type": "string"
218
+ },
219
+ "implementation_paths": {
220
+ "type": "array",
221
+ "items": {
222
+ "type": "string"
223
+ }
224
+ },
225
+ "extracted_package": {
226
+ "type": "string"
227
+ },
228
+ "host_mirror_paths": {
229
+ "type": "array",
230
+ "items": {
231
+ "type": "string"
232
+ }
233
+ },
234
+ "notes": {
235
+ "type": "string"
236
+ }
237
+ }
238
+ },
239
+ "activation": {
240
+ "type": "object",
241
+ "description": "npm is inert; AgentSam runs this plan",
242
+ "properties": {
243
+ "steps": {
244
+ "type": "array",
245
+ "items": {
246
+ "type": "string",
247
+ "enum": [
248
+ "validate_manifest",
249
+ "check_runtime",
250
+ "resolve_requires",
251
+ "resolve_provider_template",
252
+ "resolve_schema_profile",
253
+ "map_host_secrets",
254
+ "plan_migrations",
255
+ "plan_routes",
256
+ "plan_webhooks",
257
+ "operator_approval",
258
+ "activate",
259
+ "verify",
260
+ "write_install_receipt"
261
+ ]
262
+ }
263
+ }
264
+ }
265
+ },
266
+ "artifacts": {
267
+ "type": "array",
268
+ "description": "Package-local normalized artifact references owned by this feature compartment.",
269
+ "items": {
270
+ "type": "object",
271
+ "additionalProperties": false,
272
+ "required": [
273
+ "kind",
274
+ "path"
275
+ ],
276
+ "properties": {
277
+ "kind": {
278
+ "type": "string",
279
+ "pattern": "^[a-z][a-z0-9._-]*$"
280
+ },
281
+ "path": {
282
+ "type": "string",
283
+ "description": "Path relative to the feature manifest unless otherwise documented."
284
+ }
285
+ }
286
+ },
287
+ "default": []
288
+ }
289
+ }
290
+ }
@@ -0,0 +1,65 @@
1
+ {
2
+ "schema": "agentsam.feature.catalog.v1",
3
+ "updated": "2026-09-24",
4
+ "features": [
5
+ {
6
+ "id": "admin.shell-nav",
7
+ "kind": "ui",
8
+ "proving_ground": "fuelnfreetime",
9
+ "manifest": "fuelnfreetime/features/admin-shell-nav/agentsam.feature.json"
10
+ },
11
+ {
12
+ "id": "agentsam.mini-composer",
13
+ "kind": "composer",
14
+ "proving_ground": "fuelnfreetime",
15
+ "manifest": "fuelnfreetime/features/mini-agentsam-composer/agentsam.feature.json"
16
+ },
17
+ {
18
+ "id": "cms.hyperspace-runtime",
19
+ "kind": "ui",
20
+ "proving_ground": "inneranimalmedia",
21
+ "manifest": "inneranimalmedia/apps/client-cms-editor/.agentsam/features/hyperspace-runtime.feature.json"
22
+ },
23
+ {
24
+ "id": "cms.template-library",
25
+ "kind": "theme",
26
+ "proving_ground": "inneranimalmedia",
27
+ "manifest": "inneranimalmedia/packages/cms-cloudflare-template-library/.agentsam/feature.json"
28
+ },
29
+ {
30
+ "id": "commerce.product-studio",
31
+ "kind": "domain",
32
+ "proving_ground": "fuelnfreetime",
33
+ "manifest": "fuelnfreetime/features/product-studio/agentsam.feature.json",
34
+ "requires": [
35
+ "commerce.catalog"
36
+ ]
37
+ },
38
+ {
39
+ "id": "growth.campaigns",
40
+ "kind": "domain",
41
+ "proving_ground": "fuelnfreetime",
42
+ "manifest": "fuelnfreetime/features/growth-campaigns/agentsam.feature.json"
43
+ },
44
+ {
45
+ "id": "identity.oauth-login-portal",
46
+ "kind": "integration",
47
+ "proving_ground": "agentsam-sdk",
48
+ "manifest": "packages/identity/.agentsam/features/oauth-login-portal/agentsam.feature.json"
49
+ },
50
+ {
51
+ "id": "provider.completeful",
52
+ "kind": "provider",
53
+ "proving_ground": "fuelnfreetime",
54
+ "status": "extracted",
55
+ "package": "@inneranimalmedia/agentsam-provider-completeful",
56
+ "manifest": "fuelnfreetime/features/provider-completeful/agentsam.feature.json"
57
+ },
58
+ {
59
+ "id": "provider.resend",
60
+ "kind": "provider",
61
+ "proving_ground": "fuelnfreetime",
62
+ "manifest": "fuelnfreetime/features/provider-resend/agentsam.feature.json"
63
+ }
64
+ ]
65
+ }
@@ -0,0 +1,17 @@
1
+ {
2
+ "schema": "agentsam.feature.v1",
3
+ "id": "provider.resend",
4
+ "name": "Resend Email Provider",
5
+ "kind": "provider",
6
+ "status": "incubating",
7
+ "package": {
8
+ "name": "@inneranimalmedia/provider-resend",
9
+ "version": "0.0.0-incubating"
10
+ },
11
+ "provides": ["email.send", "email.webhook.receive"],
12
+ "runtime": ["worker", "node"],
13
+ "source": {
14
+ "proving_ground": "fuelnfreetime",
15
+ "notes": "See fuelnfreetime/features/provider-resend/agentsam.feature.json for full contribution map."
16
+ }
17
+ }
@@ -0,0 +1,17 @@
1
+ {
2
+ "$id": "agentsam.go-runtime.v1",
3
+ "title": "AgentSam Go Runtime Protocol",
4
+ "description": "Canonical schema id for Go runtime inventory responses and build receipts.",
5
+ "schemas": {
6
+ "runtime": "agentsam.go-runtime.v1",
7
+ "build_receipt": "agentsam.go-build-receipt.v1",
8
+ "deployment_receipt": "agentsam.deployment-receipt.v1",
9
+ "inspect": "agentsam.go-inspect.v1"
10
+ },
11
+ "default_product": "agentsam-go-worker",
12
+ "deployment_modes": [
13
+ "cloudflare-container",
14
+ "local",
15
+ "cloudflare-wasm"
16
+ ]
17
+ }
@@ -0,0 +1,140 @@
1
+ # Knowledge, current state, and provider context
2
+
3
+ Status: design proposal grounded in the current SDK. This document does not
4
+ claim a durable-claim store, D1 knowledge adapter, or automatic distillation
5
+ pipeline has been implemented.
6
+
7
+ ## Existing authorities
8
+
9
+ | Concern | Existing owner | Lifetime |
10
+ | --- | --- | --- |
11
+ | ProjectSession, plans, runs, approvals, receipts | `src/local/runtime-store.js`, `migrations/runtime/`, project `.agentsam/data/agentsam.sqlite` | session/work cycle; selected receipts persist |
12
+ | Blackboard/current workspace state | `agentsam_workspace_state`; repository package workspace-state and GOAP adapters | current work cycle, versioned observations |
13
+ | Hosted GOAP inspection | `packages/agentsam-repository/src/goap.js` currently reads D1 workspace state, tickets, runs, commits, checkpoints | live observation, refresh required |
14
+ | Repository retrieval knowledge | `src/knowledge/engine.js`, existing SQLite/Postgres stores | published index generation; superseded generations are retrieval history |
15
+ | Local repository index | `.agentsam/knowledge/index.sqlite`, configured by `.agentsam/knowledge.json` | rebuildable index/cache, distinct from runtime SQLite |
16
+ | Provider continuation | provider response ID or pending exact compaction output in `agentsam_provider_continuations` | session; replaced on compaction, removed after successful continuation |
17
+ | Application data | user's configured application storage | application-owned |
18
+
19
+ This repository declares D1 `inneranimalmedia-business` as binding `DB` in
20
+ `apps/local-studio/backend/wrangler.jsonc`, plus `HYPERDRIVE`, R2
21
+ `WEBSITE_ASSETS`, AI and service bindings. These are configuration observations,
22
+ not live connectivity proof. Local SQLite does not silently replace or mirror them.
23
+
24
+ The runtime migration already supplies `agentsam_workspace_state`. Extend that
25
+ owner and its adapters for portable blackboard behavior; do not introduce a
26
+ second table named `agentsam_blackboard` just to express the same state.
27
+ The current hosted `/goap` implementation is not yet a portable local-first
28
+ blackboard adapter. Its configured D1 and query scoping need a separate audited
29
+ adapter cutover before promising the same behavior to a new offline user.
30
+
31
+ ## Four independent contracts
32
+
33
+ 1. **Blackboard**: what the runtime currently knows about this task. Goal, plan,
34
+ blockers, observations, approvals and pending actions retain explicit owners.
35
+ Observations include source revision and observed time. Updating state uses
36
+ an expected revision; concurrent agents must not overwrite each other's work.
37
+ 2. **Knowledge claim**: reusable understanding, supported by attributable evidence.
38
+ Decisions can be superseded; observations expire. Claims never grant permissions.
39
+ 3. **Evidence**: source identity, revision/hash, observation time, and a bounded
40
+ range or payload reference. References do not imply the payload remains available.
41
+ 4. **Provider context**: opaque inference continuation. Pass it back unchanged.
42
+ It is neither a knowledge record nor the authority for the current goal.
43
+
44
+ Provider context compaction, removal of stale blackboard observations, and
45
+ knowledge distillation are separate operations with separate receipts. A provider
46
+ compaction must still succeed when no knowledge candidates are accepted.
47
+ `src/context/compact.js` remains bounded context-item truncation.
48
+
49
+ ## Proposed claim envelope
50
+
51
+ Extend the existing `protocol/knowledge/` namespace; do not create a competing
52
+ knowledge package or replace the current retrieval contracts in place.
53
+
54
+ A versioned claim should contain:
55
+
56
+ - `id`, `schema_version`, and an authority-issued namespace/scope reference;
57
+ - `kind`: fact, decision, constraint, preference, procedure, relationship, observation;
58
+ - `statement`, plus optional typed subject/predicate/object when known;
59
+ - `assertion_basis`: observed, user_asserted, derived, inferred;
60
+ - `evidence_refs`, including source revision/hash and observed time;
61
+ - `valid_from`, optional `valid_until`, and `review_after` for drift-prone claims;
62
+ - `lifecycle`: persistent, session, work_cycle, ttl, scratch;
63
+ - `expires_at` when time-bounded, with an explicit cleanup owner;
64
+ - `revision`, `supersedes_id`, and conflict status;
65
+ - `sensitivity` and access-policy reference;
66
+ - deterministic content hash, creation time and actor/source attribution.
67
+
68
+ The runtime supplies account, repository, session and work-cycle identity.
69
+ Do not accept model-supplied scope as authorization. Filter access and expiry
70
+ before retrieval scoring or embedding lookup. Scope-specific policy beats a
71
+ semantic match from a different account/project. Inferences remain labelled;
72
+ an arbitrary model-generated confidence score is not proof.
73
+
74
+ Evidence objects are separate from claim-to-evidence links. Store source metadata
75
+ once, and use a link relation such as supports, contradicts or supersedes.
76
+ Missing/stale evidence makes a claim unverified; it must not silently remain a
77
+ confirmed current fact. Secret values belong in credential stores, never claims,
78
+ embeddings, generic metadata or lifecycle receipts.
79
+
80
+ ## Promotion and forgetting
81
+
82
+ Candidate extraction may run at a user checkpoint or completed work cycle over
83
+ bounded explicit statements and tool evidence. Never extract hidden reasoning or
84
+ interpret encrypted provider content. Admission is a runtime operation, not a
85
+ model write directly to durable storage.
86
+
87
+ | Candidate | Treatment |
88
+ | --- | --- |
89
+ | Explicit user architectural decision | Persistent, scoped, attributable, supersedable |
90
+ | Verified provider constraint | Durable with review-after date and source revision |
91
+ | Current failing test or unresolved blocker | Work-cycle blackboard observation |
92
+ | Current branch, dirty files, temporary hypothesis | Refreshable working state |
93
+ | Fixed typo, repeated stdout, intermediate speculation | Discard or bounded evidence TTL |
94
+ | API key or session credential | Reject from generic knowledge |
95
+
96
+ Require future usefulness and evidence for durable promotion. Reacquisition cost
97
+ is a useful ranking signal, not an override of access, privacy, or correctness.
98
+ A question or tentative suggestion is not a decision. Stable wording alone does
99
+ not prove semantic identity: dedupe exact content deterministically; mark fuzzy
100
+ matches as candidates. Contradictions create a conflict or explicit supersession,
101
+ not a silent last-write-wins overwrite. Preserve tombstones through any explicit
102
+ sync so deletion is not undone by an offline replica.
103
+
104
+ A distillation receipt identifies source checkpoint and evidence references,
105
+ candidate counts, admitted/rejected/superseded IDs, rejection reason codes,
106
+ extractor/version, and idempotency key. Counts must reconcile. No raw transcript
107
+ or hidden reasoning belongs in the receipt. Admission and its receipt commit
108
+ atomically; retries must not create duplicate claims.
109
+
110
+ ## Storage and retrieval
111
+
112
+ Use store roles rather than a universal database abstraction. Runtime relational
113
+ state remains project-local SQLite. Knowledge may select the existing SQLite or
114
+ Postgres adapter. D1 application bindings stay application-owned until a tested
115
+ knowledge adapter with migrations, scoping, lifecycle and concurrency semantics
116
+ is explicitly selected. Object evidence payloads and vector indexes retain their
117
+ own capabilities. Do not copy an application's entire database into memory.
118
+
119
+ `/db sources` reads bounded local configuration and reports candidates, role,
120
+ selection and support. Discovery is not authorization or connectivity proof.
121
+ `/db select knowledge sqlite` selects the local index.
122
+ `/db select knowledge postgres MY_DATABASE_URL` selects an environment-variable
123
+ reference; it stores no connection string. Existing include/exclude scope and
124
+ repository identity are preserved. Selection does not migrate existing data,
125
+ initialize remote tables, switch the runtime database, or enable synchronization.
126
+ JSON/JSONC Wrangler configurations and named environment bindings are supported;
127
+ TOML is reported for explicit inspection. Future connectors can extend discovery
128
+ without being implicitly granted query/write access.
129
+
130
+ A new user gets the existing runtime SQLite migrations immediately and builds
131
+ the local repository index with `agentsam index run`. A durable-claim migration
132
+ and promotion API are still future implementation, not a feature of the current
133
+ index merely because it is named knowledge.
134
+
135
+ Extend the existing context-pack protocol to reference admitted claims alongside
136
+ source evidence. Retrieval first applies authority, scope, expiry, and freshness,
137
+ then relevance and token budget. Return source references/hashes and a selection
138
+ receipt with considered, selected, excluded and estimated-token counts. Rehydrate
139
+ exact source evidence when a task needs details. The model receives a bounded
140
+ pack for its objective, never the entire knowledge store.
@@ -3,3 +3,7 @@
3
3
  Provider-neutral JSON Schema contracts shared by the JavaScript SDK, Python SDK, Inner Animal Media runtime, and MCP surface. Runtime-specific bindings and credentials do not belong in these schemas.
4
4
 
5
5
  `index-config.schema.json` describes the runnable local/backend indexing configuration. The other eight schemas are recovered remote-transport contracts; see `docs/knowledge-branch-recovery.md` for provenance. Repository descriptors in those remote contracts require a hosted repository name; local engine configuration instead supports repositories without a Git remote through an explicit persistent repository ID.
6
+
7
+ See [Lifecycle and store roles](LIFECYCLE.md) for the proposed durable-knowledge
8
+ contract and its relationship to the existing blackboard, retrieval engine,
9
+ application databases, and provider continuation.