@inneranimalmedia/agentsam-sdk 2.6.5 → 2.6.8

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 (400) hide show
  1. package/AGENTSAM.md +29 -0
  2. package/README.md +37 -0
  3. package/apps/README.md +5 -0
  4. package/apps/cad-creator/README.md +4 -4
  5. package/apps/cad-creator/shared/cad/package.json +1 -1
  6. package/apps/client-cms-editor/AGENTS.md +12 -7
  7. package/apps/client-cms-editor/README.md +76 -48
  8. package/apps/client-cms-editor/agentsam.app.json +26 -9
  9. package/apps/client-cms-editor/backend/package.json +20 -3
  10. package/apps/client-cms-editor/backend/src/api/client.ts +134 -101
  11. package/apps/client-cms-editor/backend/src/index.ts +1 -1
  12. package/apps/client-cms-editor/backend/src/model.ts +11 -115
  13. package/apps/client-cms-editor/backend/src/preview/bridge.ts +1 -1
  14. package/apps/client-cms-editor/backend/tsconfig.json +6 -1
  15. package/apps/client-cms-editor/bin/agentsam-cms.js +262 -0
  16. package/apps/client-cms-editor/bin/agentsam-cms.mjs +2 -228
  17. package/apps/client-cms-editor/frontend/package.json +16 -7
  18. package/apps/client-cms-editor/frontend/src/AgentSamDrawer.tsx +9 -41
  19. package/apps/client-cms-editor/frontend/src/CmsAgentSurface.tsx +19 -174
  20. package/apps/client-cms-editor/frontend/src/adapters/heuristic.ts +29 -0
  21. package/apps/client-cms-editor/frontend/src/adapters/http.ts +628 -0
  22. package/apps/client-cms-editor/frontend/src/adapters/memory.ts +510 -0
  23. package/apps/client-cms-editor/frontend/src/editor/CmsEditor.tsx +213 -0
  24. package/apps/client-cms-editor/frontend/src/editor/CmsEditorProvider.tsx +20 -0
  25. package/apps/client-cms-editor/frontend/src/editor/canvas/PreviewCanvas.tsx +53 -0
  26. package/apps/client-cms-editor/frontend/src/{CmsEditor.tsx → editor/legacy/CmsEditorPrototype.tsx} +52 -23
  27. package/apps/client-cms-editor/frontend/src/editor/useCmsEditorController.ts +218 -0
  28. package/apps/client-cms-editor/frontend/src/index.ts +19 -5
  29. package/apps/client-cms-editor/frontend/src/lib/agent-host.ts +24 -0
  30. package/apps/client-cms-editor/frontend/src/main.tsx +82 -8
  31. package/apps/client-cms-editor/frontend/src/mount.tsx +92 -30
  32. package/apps/client-cms-editor/frontend/src/styles/agentsam-drawer.css +1 -1
  33. package/apps/client-cms-editor/frontend/src/styles/cmsShell.css +8 -8
  34. package/apps/client-cms-editor/frontend/src/styles/studio.css +55 -3
  35. package/apps/client-cms-editor/frontend/tsconfig.json +12 -1
  36. package/apps/client-cms-editor/frontend/vite.config.ts +12 -0
  37. package/apps/client-cms-editor/package-lock.json +973 -134
  38. package/apps/client-cms-editor/package.json +118 -6
  39. package/apps/client-cms-editor/reference/harvest/HARVEST_RECEIPT.json +201 -0
  40. package/apps/client-cms-editor/reference/harvest/PROVENANCE_HISTORY.txt +10 -0
  41. package/apps/client-cms-editor/reference/harvest/README.md +8 -0
  42. package/apps/client-cms-editor/reference/harvest/plans/ARCHIVE-INTAKE.md +135 -0
  43. package/apps/client-cms-editor/reference/harvest/plans/CHATGPT-IDENTITY-HARVEST.md +83 -0
  44. package/apps/client-cms-editor/reference/harvest/plans/CMS-EDITOR-HARVEST.md +166 -0
  45. package/apps/client-cms-editor/reference/harvest/plans/HARVEST-INDEX.md +196 -0
  46. package/apps/client-cms-editor/reference/harvest/plans/INNERANIMALS-CONTENT-001.md +137 -0
  47. package/apps/client-cms-editor/reference/harvest/plans/NO-IMPLICIT-SIDE-EFFECTS.md +87 -0
  48. package/apps/client-cms-editor/reference/harvest/plans/STOREFRONT-SURFACE-MAP.md +140 -0
  49. package/apps/client-cms-editor/reference/harvest/plans/THEME-INNERANIMALS-HARVEST.md +137 -0
  50. package/apps/client-cms-editor/reference/harvest/plans/TOOLING-LAB.md +63 -0
  51. package/apps/client-cms-editor/reference/harvest/plans/harvest-manifest.json +97 -0
  52. package/apps/client-cms-editor/reference/harvest/plans/local-cms-harvest-schema.sql +328 -0
  53. package/apps/client-cms-editor/shared/cms/package.json +17 -7
  54. package/apps/client-cms-editor/shared/cms/src/adapter.ts +204 -0
  55. package/apps/client-cms-editor/shared/cms/src/agent-context.ts +7 -5
  56. package/apps/client-cms-editor/shared/cms/src/editor-types.ts +32 -0
  57. package/apps/client-cms-editor/shared/cms/src/host.ts +82 -0
  58. package/apps/client-cms-editor/shared/cms/src/index.ts +4 -0
  59. package/apps/client-cms-editor/shared/cms/src/map.ts +115 -0
  60. package/apps/client-cms-editor/shared/cms/src/starter-pack.ts +158 -0
  61. package/contracts/source-types.v1.json +353 -0
  62. package/docs/CMS_CONTEXTUAL_COMPOSER.md +1 -1
  63. package/docs/PRODUCT_LIFECYCLE.md +566 -0
  64. package/docs/REPO_FILE_MAP.txt +132 -0
  65. package/docs/THEME_REFINERY.md +2 -2
  66. package/docs/architecture/AGENTSAM_RUNTIME_PROTOCOL.md +40 -20
  67. package/docs/content-studio/REVISION_GATE_2026-09-27.md +1 -1
  68. package/docs/plans/LOCAL_STUDIO_DESKTOP_RELEASE_2026-09-29.md +150 -0
  69. package/migrations/d1/0017_identity_native_oauth.sql +21 -0
  70. package/migrations/d1/0018_goap_control_plane_remaster.sql +40 -0
  71. package/migrations/d1/0019_agentsam_agent_run_plan_todo.sql +14 -0
  72. package/migrations/d1/README_PORTABLE_CONTROL_PLANE.md +20 -9
  73. package/migrations/runtime/0002_goap_blackboard_v1.sql +15 -0
  74. package/migrations/runtime/0004_agent_run_plan_linkage.sql +8 -0
  75. package/native/agentsam-machine/Cargo.lock +426 -0
  76. package/native/agentsam-machine/Cargo.toml +9 -0
  77. package/native/agentsam-machine/cli/Cargo.toml +21 -0
  78. package/native/agentsam-machine/cli/README.md +21 -0
  79. package/native/agentsam-machine/cli/src/main.rs +77 -0
  80. package/native/agentsam-machine/core/Cargo.toml +22 -0
  81. package/native/agentsam-machine/core/README.md +14 -0
  82. package/native/agentsam-machine/core/build.rs +33 -0
  83. package/native/agentsam-machine/core/contracts/source-types.v1.json +353 -0
  84. package/native/agentsam-machine/core/src/assets.rs +790 -0
  85. package/native/agentsam-machine/core/src/bound.rs +298 -0
  86. package/native/agentsam-machine/core/src/enrich.rs +706 -0
  87. package/native/agentsam-machine/core/src/frontend.rs +442 -0
  88. package/native/agentsam-machine/core/src/lib.rs +1092 -0
  89. package/native/agentsam-machine/core/src/liquid.rs +528 -0
  90. package/native/agentsam-machine/core/src/source_types.rs +78 -0
  91. package/package.json +64 -24
  92. package/packages/agentsam-brand/README.md +1 -1
  93. package/packages/agentsam-brand/package.json +4 -4
  94. package/packages/agentsam-brand/src/index.js +1 -1
  95. package/packages/agentsam-contracts/package.json +13 -3
  96. package/packages/agentsam-contracts/src/tools.ts +22 -0
  97. package/packages/agentsam-errors/package.json +13 -3
  98. package/packages/agentsam-errors/src/index.js +1 -0
  99. package/packages/agentsam-errors/src/tool.js +56 -0
  100. package/packages/agentsam-errors/test/tool.test.mjs +58 -0
  101. package/packages/agentsam-goap/README.md +52 -0
  102. package/packages/agentsam-goap/package.json +37 -0
  103. package/packages/agentsam-goap/src/adapters/d1-sqlite.js +570 -0
  104. package/packages/agentsam-goap/src/adapters/memory.js +199 -0
  105. package/packages/agentsam-goap/src/contracts.js +226 -0
  106. package/packages/agentsam-goap/src/control-plane.js +112 -0
  107. package/packages/agentsam-goap/src/errors.js +157 -0
  108. package/packages/agentsam-goap/src/index.js +5 -0
  109. package/packages/agentsam-goap/src/world.js +202 -0
  110. package/packages/agentsam-goap/test/goap-control-plane.test.mjs +245 -0
  111. package/packages/agentsam-goap/test/world.test.mjs +79 -0
  112. package/packages/agentsam-knowledge/package.json +18 -4
  113. package/packages/agentsam-knowledge/src/autorag/index.js +10 -3
  114. package/packages/agentsam-knowledge/src/backends/index.js +33 -1
  115. package/packages/agentsam-knowledge/test/autorag.test.mjs +60 -1
  116. package/packages/agentsam-nav/dist/browser.global.js +21 -18
  117. package/packages/agentsam-nav/dist/browser.js +6807 -130
  118. package/packages/agentsam-nav/dist/index.js +6799 -122
  119. package/packages/agentsam-nav/package.json +24 -6
  120. package/packages/agentsam-queue-control/README.md +1 -1
  121. package/packages/agentsam-queue-control/package.json +7 -2
  122. package/packages/agentsam-rapid-rust/src/main.rs +1 -1
  123. package/packages/agentsam-repository/package.json +13 -3
  124. package/packages/agentsam-repository/src/goap.js +13 -14
  125. package/packages/agentsam-repository/src/source-types.js +8 -0
  126. package/packages/agentsam-repository/src/tickets.js +15 -22
  127. package/packages/agentsam-repository/test/goap-tickets-workspace-state.test.mjs +19 -8
  128. package/packages/agentsam-vault/package.json +14 -4
  129. package/packages/agentsam-workbench/package.json +15 -4
  130. package/packages/agentsam-workbench/src/agent/ToolPermissionRequest.tsx +94 -0
  131. package/packages/agentsam-workbench/src/agent/index.ts +2 -0
  132. package/packages/agentsam-workbench/src/agent/tool-permission.css +134 -0
  133. package/packages/connectors/cloudflare/package.json +15 -3
  134. package/packages/connectors/cloudflare/src/api-client.js +3 -2
  135. package/packages/connectors/cloudflare/src/families/vectorize.js +127 -0
  136. package/packages/connectors/cloudflare/src/index.js +1 -0
  137. package/packages/heuristic-theme/README.md +2 -2
  138. package/packages/heuristic-theme/package.json +8 -3
  139. package/packages/heuristic-theme/src/registry.js +2 -2
  140. package/packages/heuristic-theme/src/theme.js +1 -1
  141. package/packages/heuristic-theme/test/theme.test.mjs +1 -1
  142. package/packages/identity/.agentsam/features/oauth-login-portal/agentsam.feature.json +1 -1
  143. package/packages/identity/.agentsam/features/oauth-login-portal/providers.json +27 -7
  144. package/packages/identity/README.md +2 -2
  145. package/packages/identity/migrations/D1_SCHEMA_MAPPING.md +18 -15
  146. package/packages/identity/migrations/apply-portable.js +109 -0
  147. package/packages/identity/migrations/sqlite/004_identity_oauth_consent_catalog.sql +1 -1
  148. package/packages/identity/migrations/sqlite/005_identity_company_native.sql +52 -0
  149. package/packages/identity/package.json +27 -6
  150. package/packages/identity/schema/agentsam.identity/manifest.json +101 -0
  151. package/packages/identity/scripts/local-identity-bridge.mjs +13 -7
  152. package/packages/identity/scripts/preview-auth-portal.mjs +6 -6
  153. package/packages/identity/src/adapters/cloudflare-d1/index.js +8 -401
  154. package/packages/identity/src/adapters/iam-compat/index.js +540 -0
  155. package/packages/identity/src/adapters/portable-d1/index.js +18 -0
  156. package/packages/identity/src/adapters/portable-store.js +479 -0
  157. package/packages/identity/src/adapters/sqlite/index.js +13 -312
  158. package/packages/identity/src/contracts/auth-config.js +0 -1
  159. package/packages/identity/src/contracts/identity-store.js +56 -5
  160. package/packages/identity/src/contracts/provider.js +1 -0
  161. package/packages/identity/src/contracts/sign-in-options.js +104 -0
  162. package/packages/identity/src/core/constants.js +1 -1
  163. package/packages/identity/src/core/session-policy.js +31 -0
  164. package/packages/identity/src/frontend/auth-portal/pages/login.html +6 -6
  165. package/packages/identity/src/frontend/auth-portal/pages/reset.html +5 -5
  166. package/packages/identity/src/frontend/auth-portal/pages/signup.html +5 -5
  167. package/packages/identity/src/frontend/auth-portal/shared/company-branding.js +1 -1
  168. package/packages/identity/src/frontend/auth-portal/shared/desktop-identity-bridge.js +6 -37
  169. package/packages/identity/src/index.js +28 -1
  170. package/packages/identity/src/migrations/README.md +23 -23
  171. package/packages/identity/src/oauth/README.md +1 -1
  172. package/packages/identity/src/oauth/credentials.js +10 -11
  173. package/packages/identity/src/oauth/google-desktop-exchange.js +195 -27
  174. package/packages/identity/src/oauth/iam-platform.js +21 -9
  175. package/packages/identity/src/oauth/native-handoff.js +136 -0
  176. package/packages/identity/src/providers/chatgpt/headers.js +65 -0
  177. package/packages/identity/src/providers/chatgpt/index.js +86 -0
  178. package/packages/identity/src/providers/chatgpt/mapper.js +43 -0
  179. package/packages/identity/src/providers/chatgpt/paths.js +45 -0
  180. package/packages/identity/src/providers/github/oauth.js +1 -2
  181. package/packages/identity/src/providers/github/profile.js +16 -2
  182. package/packages/identity/src/providers/index.js +11 -3
  183. package/packages/identity/src/server/identity-service.js +2 -1
  184. package/packages/identity/src/server/worker-router.js +71 -18
  185. package/packages/identity/tests/chatgpt-provider.test.mjs +75 -0
  186. package/packages/identity/tests/google-desktop-identity-login.test.mjs +210 -0
  187. package/packages/identity/tests/identity-init-scaffold.test.mjs +15 -4
  188. package/packages/identity/tests/lane1-identity-store-parity.test.mjs +527 -0
  189. package/packages/identity/tests/lane1-packed-consumer.test.mjs +175 -0
  190. package/packages/identity/tests/native-oauth-handoff.test.mjs +292 -0
  191. package/packages/identity/tests/oauth-credentials.test.mjs +4 -4
  192. package/packages/identity/tests/preview-auth-portal.test.mjs +4 -2
  193. package/packages/identity/tests/session-routes-policy.test.mjs +13 -1
  194. package/packages/identity/tests/worker-runtime-boundary.test.mjs +11 -0
  195. package/packages/providers/completeful/package.json +7 -2
  196. package/packages/theme-church-site/package.json +17 -6
  197. package/packages/theme-church-site/src/harvest.json +4 -2
  198. package/packages/theme-church-site/src/index.js +7 -3
  199. package/packages/theme-church-site/test/theme.test.mjs +4 -2
  200. package/packages/theme-companions-site/package.json +17 -6
  201. package/packages/theme-companions-site/src/harvest.json +4 -2
  202. package/packages/theme-companions-site/src/index.js +7 -3
  203. package/packages/theme-companions-site/test/theme.test.mjs +4 -2
  204. package/packages/theme-floors-site/package.json +17 -6
  205. package/packages/theme-floors-site/src/harvest.json +4 -2
  206. package/packages/theme-floors-site/src/index.js +7 -3
  207. package/packages/theme-floors-site/test/theme.test.mjs +4 -2
  208. package/packages/theme-fuelnfree-site/package.json +17 -6
  209. package/packages/theme-fuelnfree-site/src/harvest.json +4 -2
  210. package/packages/theme-fuelnfree-site/src/index.js +7 -3
  211. package/packages/theme-fuelnfree-site/test/theme.test.mjs +4 -2
  212. package/packages/theme-handyman-site/package.json +17 -6
  213. package/packages/theme-handyman-site/src/harvest.json +4 -2
  214. package/packages/theme-handyman-site/src/index.js +7 -3
  215. package/packages/theme-handyman-site/test/theme.test.mjs +4 -2
  216. package/packages/theme-insurance-site/package.json +17 -6
  217. package/packages/theme-insurance-site/src/harvest.json +4 -2
  218. package/packages/theme-insurance-site/src/index.js +7 -3
  219. package/packages/theme-insurance-site/test/theme.test.mjs +4 -2
  220. package/packages/theme-scenes/README.md +1 -1
  221. package/packages/theme-scenes/package.json +4 -3
  222. package/packages/theme-scenes/src/registry.js +187 -0
  223. package/packages/theme-shinshu-site/package.json +17 -6
  224. package/packages/theme-shinshu-site/src/harvest.json +4 -2
  225. package/packages/theme-shinshu-site/src/index.js +7 -3
  226. package/packages/theme-shinshu-site/test/theme.test.mjs +4 -2
  227. package/packages/work-graph/package.json +14 -4
  228. package/protocol/FILEMETA_V1.md +2 -2
  229. package/protocol/capabilities/manifest.json +1 -1
  230. package/protocol/database/agentsam.schema-pack.v1.schema.json +72 -0
  231. package/protocol/presets/catalog.json +2 -2
  232. package/protocol/theme-refinery/lineage-registry.json +105 -0
  233. package/protocol/theme-refinery/product-metadata.schema.json +21 -1
  234. package/python/agentsam_sdk/repository/intelligence/discovery.py +27 -2
  235. package/python/agentsam_sdk/repository/intelligence/git.py +4 -0
  236. package/python/tests/test_repository_intelligence.py +30 -0
  237. package/src/cli/command-catalog.js +48 -5
  238. package/src/cli/dispatch.js +1 -0
  239. package/src/cli.js +20 -1
  240. package/src/cloudflare/runtime-status.js +2 -1
  241. package/src/commands/autorag.js +67 -13
  242. package/src/commands/cheat-sheet.js +29 -4
  243. package/src/commands/codebaseindex.js +45 -2
  244. package/src/commands/goap-world.js +134 -0
  245. package/src/commands/goap.js +11 -4
  246. package/src/commands/knowledge.js +59 -2
  247. package/src/commands/machine-binary.js +109 -0
  248. package/src/commands/machine-runtime.js +266 -0
  249. package/src/commands/machine.js +208 -0
  250. package/src/commands/package.js +530 -0
  251. package/src/commands/plan-ledger.js +370 -0
  252. package/src/commands/plan.js +183 -0
  253. package/src/commands/security.js +67 -4
  254. package/src/commands/setup.js +33 -16
  255. package/src/commands/skill.js +78 -17
  256. package/src/commands/status.js +8 -1
  257. package/src/features/resolve.js +1 -0
  258. package/src/knowledge/engine.js +21 -2
  259. package/src/knowledge/runtime-discovery.js +127 -0
  260. package/src/knowledge/source.js +1 -1
  261. package/src/lib/identity-scaffold.js +53 -13
  262. package/src/lib/setup/recipes.js +1 -1
  263. package/src/lib/slash-commands.js +1 -1
  264. package/src/local/runtime-store.js +24 -2
  265. package/src/local/sqlite.js +17 -0
  266. package/src/models/discovery.js +40 -22
  267. package/src/models/inventory-core.d.ts +105 -0
  268. package/src/models/inventory-core.js +54 -6
  269. package/src/sam/operations/package-audit.js +41 -0
  270. package/src/sam/seed.js +2 -0
  271. package/src/security/logs.js +3 -0
  272. package/src/ui/cli/help.js +41 -0
  273. package/apps/client-cms-editor/backend/src/demo-bootstrap.ts +0 -145
  274. package/test/account-session.test.mjs +0 -101
  275. package/test/agent-capabilities.test.mjs +0 -67
  276. package/test/app-authority-context.test.mjs +0 -32
  277. package/test/app-building-skills.test.mjs +0 -61
  278. package/test/apps-scaffold-contract.test.mjs +0 -114
  279. package/test/blender-cad.test.mjs +0 -146
  280. package/test/cad-docker.test.mjs +0 -96
  281. package/test/capabilities.test.mjs +0 -133
  282. package/test/cli/api-key-env-whoami.test.mjs +0 -129
  283. package/test/cli/codebaseindex-plan-ux.test.mjs +0 -37
  284. package/test/cli/eval-live.test.mjs +0 -219
  285. package/test/cli/go.test.mjs +0 -128
  286. package/test/cli/local-vault-and-provider-setup.test.mjs +0 -268
  287. package/test/cli/mcp-client.test.mjs +0 -256
  288. package/test/cli/preferences-runtime.test.mjs +0 -11
  289. package/test/cli/runtime-persist.test.mjs +0 -56
  290. package/test/cli/runtime-ui.test.mjs +0 -141
  291. package/test/cli/rust-command.test.mjs +0 -21
  292. package/test/cli/skill-npm-and-env.test.mjs +0 -52
  293. package/test/cli/status-actions.test.mjs +0 -88
  294. package/test/cli/wireframes-go-registry.test.mjs +0 -139
  295. package/test/cli-preferences.test.mjs +0 -46
  296. package/test/cloudflare-connector.test.mjs +0 -93
  297. package/test/cloudflare-runtime.test.mjs +0 -82
  298. package/test/context.test.mjs +0 -159
  299. package/test/credentials-audit.test.mjs +0 -113
  300. package/test/deploy-health-scan.test.mjs +0 -95
  301. package/test/deploy-receipt.test.mjs +0 -91
  302. package/test/dockerize.test.mjs +0 -93
  303. package/test/error-diagnostics.test.mjs +0 -124
  304. package/test/eval-context.test.mjs +0 -37
  305. package/test/execution-approvals.test.mjs +0 -27
  306. package/test/fixtures/cad/courtyard-house.json +0 -208
  307. package/test/fixtures/knowledge-rpc-worker.mjs +0 -16
  308. package/test/gcloud-auth.test.mjs +0 -111
  309. package/test/go/build-source-identity.test.mjs +0 -31
  310. package/test/go/cloudflare-probe.test.mjs +0 -317
  311. package/test/go/distribution.test.mjs +0 -28
  312. package/test/google-cloud-connection.test.mjs +0 -83
  313. package/test/google-cloud-inventory.test.mjs +0 -64
  314. package/test/indexing-provider.test.mjs +0 -29
  315. package/test/init-options.test.mjs +0 -35
  316. package/test/integration/ai-access-onboarding.test.mjs +0 -47
  317. package/test/integration/app-command.test.mjs +0 -85
  318. package/test/integration/cad-discovery.test.mjs +0 -158
  319. package/test/integration/cad-docker-executor.test.mjs +0 -249
  320. package/test/integration/cad-execution.test.mjs +0 -184
  321. package/test/integration/cad-project-app.test.mjs +0 -31
  322. package/test/integration/cad-project-d1.test.mjs +0 -25
  323. package/test/integration/cad-project-native.test.mjs +0 -24
  324. package/test/integration/cad-project-workflow.test.mjs +0 -9
  325. package/test/integration/cad-project.test.mjs +0 -85
  326. package/test/integration/cli-help.test.mjs +0 -41
  327. package/test/integration/cms-app-scaffold.test.mjs +0 -71
  328. package/test/integration/cms-site-tenancy-contract.test.mjs +0 -257
  329. package/test/integration/codebaseindex-ingest.test.mjs +0 -214
  330. package/test/integration/core-client.integration.test.mjs +0 -55
  331. package/test/integration/error-runtime-rpc.test.mjs +0 -71
  332. package/test/integration/features-resolve.test.mjs +0 -147
  333. package/test/integration/icon-registry.test.mjs +0 -67
  334. package/test/integration/ingest-discover-models.test.mjs +0 -30
  335. package/test/integration/inspect-path-cli.test.mjs +0 -46
  336. package/test/integration/install-script.test.mjs +0 -110
  337. package/test/integration/inventory-core.test.mjs +0 -53
  338. package/test/integration/inventory-evidence.test.mjs +0 -125
  339. package/test/integration/knowledge-rpc.test.mjs +0 -112
  340. package/test/integration/local-fs.test.mjs +0 -113
  341. package/test/integration/merkle-cli.test.mjs +0 -61
  342. package/test/integration/merkle-persistence-identity.test.mjs +0 -48
  343. package/test/integration/plugins-cloudflare.integration.test.mjs +0 -28
  344. package/test/integration/provider-env-cli.test.mjs +0 -50
  345. package/test/integration/provider-factory.test.mjs +0 -197
  346. package/test/integration/repository-company-graph.test.mjs +0 -90
  347. package/test/integration/runtime-migrations.test.mjs +0 -87
  348. package/test/integration/runtime-status.integration.test.mjs +0 -212
  349. package/test/integration/sam-activity-recovery.test.mjs +0 -147
  350. package/test/integration/sam-decision.test.mjs +0 -584
  351. package/test/integration/sam-kernel.test.mjs +0 -99
  352. package/test/integration/sam-planning-astar.test.mjs +0 -279
  353. package/test/integration/scaffold-cloudflare.test.mjs +0 -46
  354. package/test/integration/skill-runtime.test.mjs +0 -240
  355. package/test/integration/storage-architecture.test.mjs +0 -154
  356. package/test/integration/store-discovery.test.mjs +0 -44
  357. package/test/integration/studio-fs-pty-e2e.test.mjs +0 -294
  358. package/test/integration/terminal-exec.integration.test.mjs +0 -86
  359. package/test/integration/tool-runtime.test.mjs +0 -124
  360. package/test/integration/tool-schema.test.mjs +0 -59
  361. package/test/jr-dev-skill.test.mjs +0 -26
  362. package/test/knowledge-context-pack.test.mjs +0 -19
  363. package/test/knowledge-postgres.test.mjs +0 -40
  364. package/test/knowledge-service.test.mjs +0 -110
  365. package/test/knowledge.test.mjs +0 -206
  366. package/test/live/terminal-transport.live.test.mjs +0 -24
  367. package/test/local-sessions.test.mjs +0 -57
  368. package/test/local-studio-deploy.test.mjs +0 -83
  369. package/test/loopback-oauth.test.mjs +0 -53
  370. package/test/merkle-render.test.mjs +0 -31
  371. package/test/mini.test.mjs +0 -140
  372. package/test/model-catalog.test.mjs +0 -70
  373. package/test/models.test.mjs +0 -309
  374. package/test/npm10-lock.test.mjs +0 -29
  375. package/test/ollama.test.mjs +0 -137
  376. package/test/open-url.test.mjs +0 -64
  377. package/test/openai-responses.test.mjs +0 -155
  378. package/test/portable-context.test.mjs +0 -94
  379. package/test/project-config.test.mjs +0 -81
  380. package/test/project-rules.test.mjs +0 -44
  381. package/test/provider-credentials.test.mjs +0 -106
  382. package/test/rehydrate.test.mjs +0 -25
  383. package/test/release-hygiene.test.mjs +0 -42
  384. package/test/repository-snapshot-view.test.mjs +0 -112
  385. package/test/responses-runner.test.mjs +0 -465
  386. package/test/runtime-activity.test.mjs +0 -98
  387. package/test/sdk-worker-contract.test.mjs +0 -72
  388. package/test/security.test.mjs +0 -252
  389. package/test/setup-planner.test.mjs +0 -74
  390. package/test/setup-runtime.test.mjs +0 -51
  391. package/test/shell.test.mjs +0 -281
  392. package/test/skills.test.mjs +0 -22
  393. package/test/smoke.mjs +0 -122
  394. package/test/telemetry.test.mjs +0 -79
  395. package/test/terminal/local-pty.mock.test.mjs +0 -153
  396. package/test/terminal-machine-identity.test.mjs +0 -88
  397. package/test/theme-portability.test.mjs +0 -14
  398. package/test/tools-search.test.mjs +0 -73
  399. package/test/unit/website-assets-bindings.test.mjs +0 -60
  400. package/test/whoami-resume.test.mjs +0 -157
@@ -0,0 +1,132 @@
1
+ AGENTSAM SDK - REPOSITORY FILE MAP
2
+ =================================
3
+ ASCII orientation map; logical map, not exhaustive per-file inventory.
4
+ Scope: tracked layout. Generated, ignored, and machine-local content is omitted.
5
+ Baseline evidence: repository audit on feat/public-package-graduation.
6
+ Use git status / agentsam context for the current revision rather than treating
7
+ this orientation map as revision authority.
8
+
9
+ 1. SYSTEM WIREFRAME
10
+ -------------------
11
+
12
+ Consumer / developer
13
+ |
14
+ +--> README.md, DEVELOPMENT.md, docs/ -------- architecture, contracts, guidance
15
+ +--> bin/agentsam ------------------------------ CLI launcher
16
+ | +--> src/cli + src/commands ----------- CLI composition
17
+ | +--> src/index.* ----------------------- SDK public facade
18
+ | +--> src/sam --------------------------- typed execution spine
19
+ | `--> src/* ----------------------------- SDK domains and adapters
20
+ +--> package.json / package-lock.json --------- root npm product and lockfile
21
+ +--> packages/* ------------------------ reusable packages
22
+ +--> apps/* ---------------------------- product applications
23
+ `--> services/* ------------------------ service implementations
24
+
25
+ Shared vocabulary: protocol/* + contracts/* + packages/agentsam-contracts
26
+ Data schemas: migrations/{runtime,sqlite,d1}
27
+ Provider seams: src/providers, src/cloudflare, packages/connectors/*
28
+ Verification: test/*, package-local tests, scripts/verify-* and npm gates
29
+
30
+ 2. TOP-LEVEL FILE MAP
31
+ ---------------------
32
+
33
+ /
34
+ |-- README.md, DEVELOPMENT.md, AGENTSAM.md, .agentsamrules
35
+ | Product overview, contributor workflow, runtime/repo instructions.
36
+ |-- package.json, package-lock.json, tsconfig.base.json
37
+ | Root package/workspaces, dependency lock, shared TypeScript settings.
38
+ |-- agentsam.yaml, .agentsam/config.json
39
+ | Portable project config and host/install config (not run history).
40
+ |-- bin/ CLI launchers
41
+ |-- src/ ROOT SDK AND CLI IMPLEMENTATION
42
+ | |-- index, cli, commands Public facade and command composition
43
+ | |-- sam, schemas, rpc, errors Execution kernel and typed boundaries
44
+ | |-- agent, models, providers Agent/model/provider seams
45
+ | |-- repository, context, indexing, knowledge
46
+ | |-- security, local, local-fs, capabilities, tools
47
+ | |-- cloudflare, plugins, features, skills, telemetry, eval
48
+ | `-- lib/ Legacy extraction zone (see SOURCE_ARCHITECTURE.md)
49
+ |-- packages/ REUSABLE PACKAGE BOUNDARIES
50
+ | |-- contracts, errors, runtime-protocol
51
+ | |-- identity, key-manager, vault, settings
52
+ | |-- repository, knowledge, work-graph, work, workbench, queue-control, goap
53
+ | |-- connectors/*, providers/*
54
+ | |-- brand, content*, assets-core, cloudflare-images, scoring
55
+ | |-- nav, shell-kit, desktop-shell, ide, database-editor
56
+ | `-- theme-* / heuristic-theme / docs-theme
57
+ | Examples/families, not an exhaustive package list.
58
+ |-- apps/ PRODUCT APPLICATIONS
59
+ | |-- local-studio, project-control, frontend, theme-gallery-preview
60
+ | |-- cad-creator, client-cms-editor, ecommerce-cms-agentsam
61
+ | |-- agentsam-go-worker, agentsamd
62
+ | |-- church-site, companions-site, floors-site, fuelnfree-site,
63
+ | | handyman-site, insurance-site, shinshu-site
64
+ | `-- _incoming/ Intake area
65
+ | App-specific frontend/backend/shared code and deployment configs stay
66
+ | with the app; see docs/architecture/AGENTSAM_APPLICATION_CONTRACT.md.
67
+ |-- services/ Standalone service areas (cad, knowledge)
68
+ |-- protocol/ Cross-system protocol definitions (SAM, runtime,
69
+ | | repository, database, apps, skills, etc.)
70
+ | `-- README.md Ownership and host-adapter boundaries
71
+ |-- contracts/ Root-level contract artifacts
72
+ |-- migrations/ d1, runtime, sqlite migration families
73
+ |-- test/ Root unit, CLI, integration, terminal, live, Go tests
74
+ |-- scripts/ Generation, verification, release, site, tooling
75
+ |-- python/ Python SDK/tooling, tests, docs
76
+ |-- native/ Native machine/runtime component(s)
77
+ |-- docs/ Architecture, product, tools, ops, plans
78
+ | |-- architecture/ System boundaries and architecture contracts
79
+ | |-- product/ Lifecycle and UX standards
80
+ | |-- tools/ Capability/tool references
81
+ | `-- plans/ Dated plans/handoffs; not implementation SSOT
82
+ |-- skills/ Portable skill definitions
83
+ |-- templates/ Scaffolding templates
84
+ |-- registry/ Tool and domain registries
85
+ |-- examples/, assets/ Examples and shared assets
86
+ |-- sites/ Public-site source/content
87
+ |-- focus-timer/ Separate tracked top-level mini-app/site
88
+ |-- .github/, .changeset/ CI workflows and release metadata
89
+ `-- tags/ Repository tag metadata
90
+
91
+ 3. AUDIT / NAVIGATION NOTES
92
+ ---------------------------
93
+
94
+ * docs/SOURCE_ARCHITECTURE.md defines root src as the SDK/package composition
95
+ layer and calls src/lib a legacy extraction zone. Put new reusable modules in
96
+ a coherent owned package instead of adding unrelated code to src/lib.
97
+ * package.json explicitly enumerates root npm workspaces. Not every directory
98
+ under packages/ is necessarily a configured workspace: check before using
99
+ workspace commands or assuming it is published.
100
+ * protocol/, packages/agentsam-contracts, and root contracts/ are distinct
101
+ locations. Follow their local ownership docs instead of conflating them.
102
+ * Select the correct migration family and owning app/service before changing data
103
+ schemas. App-specific seeds and bindings belong with the consuming app.
104
+ * APP identity/validation: docs/architecture/AGENTSAM_APPLICATION_CONTRACT.md;
105
+ root gates are npm run app:validate / npm run guard:apps.
106
+ * Local filesystem discovery also surfaced folders such as generated/, .wrangler/,
107
+ level-1/, test2/, and agentsam-originalsetup-inspect/. They are omitted here:
108
+ this map describes tracked repository roots, not every local/ignored directory.
109
+ * Public package distribution is audited by agentsam package audit/status/verify/
110
+ publish-plan. A publishConfig alone is intent, not proof that a package is
111
+ consumer-ready.
112
+ * native/agentsam-machine is the Rust machine-perception workspace. Its CLI resolves
113
+ from PATH, a built repo binary, or a Cargo fallback; treat native distribution as
114
+ its own release lane rather than assuming the npm package publishes a native binary.
115
+ * This file is an orientation map, not implementation or release authority.
116
+
117
+ 4. QUICK TEST / RELEASE ENTRY POINTS
118
+ ------------------------------------
119
+
120
+ npm run test:standard focused root test bundle
121
+ npm run test:workspaces selected package tests/typechecks
122
+ npm run verify broad SDK/package/app/boundary/package checks
123
+ npm run verify:release verify + knowledge package + Python + release security
124
+ npm run app:validate validate all product app manifests
125
+ agentsam package audit --public
126
+ compare public intent with registry/quality state
127
+ agentsam package verify <name>
128
+ run declared package gates + npm pack dry-run
129
+ agentsam package publish-plan
130
+ dependency-ordered, read-only publication plan
131
+
132
+ Use DEVELOPMENT.md and each package/app README for current, more detailed commands.
@@ -2,7 +2,7 @@
2
2
 
3
3
  **Law:** discover ≠ promote · install ≠ activate · automation ≠ authority
4
4
  **SSOT for registry:** live `inneranimalmedia-business` D1 (`agentsam_products` + `asset_relationships` + evidence/artifacts)
5
- **SSOT for packages:** `agentsam-sdk` workspaces (`@inneranimalmedia/heuristic-theme`, `@inneranimalmedia/theme-*`)
5
+ **SSOT for packages:** `agentsam-sdk` workspaces (`@inneranimalmedia/theme-heuristic`, `@inneranimalmedia/theme-*`)
6
6
 
7
7
  Python owns deterministic harvest/normalize/preview/QA. AgentSam owns interpretation. **Every meaningful product unit must reconcile into D1** — filesystem-only runs are incomplete.
8
8
 
@@ -113,7 +113,7 @@ discovered / matched / registered / updated / unchanged products · repositories
113
113
 
114
114
  | Package | Role |
115
115
  |---------|------|
116
- | `@inneranimalmedia/heuristic-theme` | Stock CMS `theme.storefront.shell` |
116
+ | `@inneranimalmedia/theme-heuristic` | Stock CMS `theme.storefront.shell` |
117
117
  | `@inneranimalmedia/theme-<slug>` | Installable gallery theme contracts |
118
118
  | `apps/theme-gallery-preview` | Proving surface / historical mounts — not the package SSOT |
119
119
 
@@ -1,10 +1,10 @@
1
1
  # AgentSam Runtime Protocol
2
2
 
3
- > Branch: `feat/runtime-protocol-agentsamd`. Law: **agentsamd is the machine daemon; providers are adapters.**
3
+ > Standing law: **`agentsam.runtime.v1` is the portable execution contract. `agentsamd` and ExecOS are supported runtime implementations/adapters; neither is a transport.**
4
4
 
5
5
  ## Architectural law
6
6
 
7
- **agentsamd is the AgentSam machine/runtime daemon. Providers are adapters beneath it.**
7
+ **`agentsam.runtime.v1` is the execution authority. `agentsamd` is the stock portable machine daemon for independent installs; ExecOS is a proven managed/platform runtime and dispatcher used by InnerAnimalMedia. Runtime implementations sit behind the same connection/protocol model, and transports stay separate from them.**
8
8
 
9
9
  Physical D1 tables stay `terminal_*` for this generation. Domain nouns in code are `RuntimeInstance`, `RuntimeConnection`, `RuntimeAdapter`, `RuntimeCapabilities`.
10
10
 
@@ -12,7 +12,7 @@ Physical D1 tables stay `terminal_*` for this generation. Domain nouns in code a
12
12
  |---|---|
13
13
  | **agentsamd** | Lives with execution: exec, PTY, fs, processes, git, tools, capabilities, attach |
14
14
  | **Native helper** (this sprint) | Privileged companion under unprivileged Go: keychain, mounts, devices |
15
- | **EXECOS Worker** (`env.EXECOS` / `EXECOS_IAM`) | Interim cloud→machine hop + session/job writes. Becomes `runtime_adapter=execos_legacy`, then retires |
15
+ | **ExecOS / EXECOS Worker** (`env.EXECOS` / `EXECOS_IAM`) | Supported managed/platform runtime + cloud→machine dispatch used by InnerAnimalMedia. Historical rows may use `runtime_adapter=execos_legacy`; that compatibility id does **not** imply a retirement decision. |
16
16
  | **PTY_SERVICE** | VPC/PTY health lane — not the daemon |
17
17
  | **agentsam-go-worker** | Optional hosted Go service (same Go core). **Not** the Studio control plane |
18
18
  | **Local Studio Worker** | Stock app host: auth, D1 SSOT, bindings, runtime APIs |
@@ -35,12 +35,30 @@ Examples:
35
35
  | lifecycle | persistent | persistent | ephemeral |
36
36
  | provider_product | (host) | compute_engine | sandbox |
37
37
  | protocol | agentsam.runtime.v1 | same | same |
38
- | runtime_adapter | agentsamd | agentsamd | cloudflare_sandbox |
38
+ | runtime_adapter | agentsamd or ExecOS | agentsamd or ExecOS | cloudflare_sandbox |
39
39
  | transport | cloudflare_tunnel / direct_https | cloudflare_tunnel / vpc_service | service_binding |
40
40
  | auth_mode | connection_token | connection_token / platform_bridge | service_binding |
41
41
 
42
42
  **Forbidden:** `transport IN ('execos','container')` — those were adapter/substrate smuggled into transport.
43
43
 
44
+ ### ExecOS support status
45
+
46
+ ExecOS is **supported working machinery**, not presumed deprecated. Current InnerAnimalMedia production/runtime paths still use it for governed dispatch, enrolled-device execution, bridge authentication, terminal/session routing, and `user_hosted_tunnel` flows.
47
+
48
+ `execos_legacy` exists because earlier rows encoded `execos` as a transport and needed a compatibility mapping into the newer four-axis model. The word `legacy` in that identifier is migration vocabulary; it is **not** authorization to delete, disable, or silently replace ExecOS.
49
+
50
+ The portability goal is additive:
51
+
52
+ ```text
53
+ agentsam.runtime.v1
54
+ ├── agentsamd stock portable/local runtime
55
+ ├── ExecOS supported managed/platform runtime
56
+ ├── cloudflare_sandbox sandbox adapter
57
+ └── future adapters
58
+ ```
59
+
60
+ Where implementations overlap, converge on protocol semantics and acceptance tests. A future deprecation is a separate, evidence-backed product decision.
61
+
44
62
  ---
45
63
 
46
64
  ## Runtime Registry (D1 spine — preserve)
@@ -57,7 +75,7 @@ ACCOUNT
57
75
  ▼
58
76
  terminal_connections HOW AGENTSAM TALKS TO IT
59
77
  ├── protocol = agentsam.runtime.v1
60
- ├── runtime_adapter = agentsamd | execos_legacy | …
78
+ ├── runtime_adapter = agentsamd | execos_legacy (ExecOS compatibility id) | …
61
79
  ├── transport = direct_https | cloudflare_tunnel | vpc_service | …
62
80
  ├── auth_mode
63
81
  ├── terminal_connection_credentials
@@ -118,16 +136,16 @@ system.inspect
118
136
 
119
137
  ## Migration priority
120
138
 
121
- 1. Freeze vocabulary (this doc + `packages/runtime-protocol`)
122
- 2. Rebuild `terminal_instances` (local_device→host)
123
- 3. Rebuild `terminal_connections` (execos→`runtime_adapter=execos_legacy`)
124
- 4. New enrollments default `runtime_adapter=agentsamd`, `protocol=agentsam.runtime.v1`
125
- 5. `execos_run_id` → `runtime_run_id`
126
- 6. Widen `cloud_provider_connections`
127
- 7. Heartbeat fills `capabilities_json`, `provider_product`, lifecycle facts
128
- 8. `agentsam setup runtime` writes these records from GOAP plans
129
- 9. After agentsamd proven: migrate live ExecOS rows `execos_legacy` → `agentsamd`
130
- 10. Keep ExecOS as adapter during cutover — never as the architecture
139
+ 1. Freeze vocabulary (this doc + `packages/runtime-protocol`).
140
+ 2. Rebuild `terminal_instances` (local_device→host).
141
+ 3. Normalize historical `transport=execos` records into **adapter + real transport** fields. Existing `runtime_adapter=execos_legacy` is a compatibility identifier for ExecOS-backed connections, not a support/deprecation state.
142
+ 4. Stock independent/local installs may default to `runtime_adapter=agentsamd`; managed/platform installs may continue to use ExecOS. Both remain valid registered runtimes.
143
+ 5. `execos_run_id` → protocol-neutral `runtime_run_id` where that column still encodes implementation detail.
144
+ 6. Widen `cloud_provider_connections`.
145
+ 7. Heartbeats fill `capabilities_json`, `provider_product`, and lifecycle facts from the selected runtime.
146
+ 8. `agentsam setup runtime` writes records from GOAP plans without assuming one runtime implementation.
147
+ 9. Prove overlapping ExecOS / agentsamd operations against the same `agentsam.runtime.v1` semantics instead of removing one merely because the other exists.
148
+ 10. Any future narrowing or retirement of ExecOS requires an explicit product decision, inventory of production callers, proven replacement parity, migration plan, acceptance tests, and approval.
131
149
 
132
150
  ---
133
151
 
@@ -144,8 +162,10 @@ system.inspect
144
162
 
145
163
  ## Success criteria
146
164
 
147
- - User123: Studio → `setup runtime` → enrolled agentsamd (+ native helper on host) → attach
148
- - Same protocol on Mac / GCP VM / Docker / CF Container; Sandbox via adapter
149
- - Transport changes without renaming the instance
150
- - D1 spine stays `terminal_*`; vocabulary is four-axis + adapter + transport
151
- - ExecOS is `execos_legacy` until retired; agentsamd is the computer
165
+ - User123 can install Studio → `setup runtime` → enroll the stock `agentsamd` runtime (+ native helper where needed) → attach without InnerAnimalMedia infrastructure.
166
+ - Existing InnerAnimalMedia ExecOS connections remain supported and functional while sharing protocol-neutral registry/session concepts.
167
+ - Same protocol semantics can be implemented across Mac / GCP VM / Docker / CF Container; Sandbox remains an adapter.
168
+ - Transport can change without renaming the instance or changing runtime/session semantics.
169
+ - D1 spine stays `terminal_*`; vocabulary remains instance + adapter + transport + auth.
170
+ - The historical string `execos_legacy` is treated as compatibility vocabulary only. **Do not infer support lifecycle from the identifier.**
171
+ - Duplication between ExecOS and agentsamd is resolved by shared contracts/tests and explicit routing, not by deleting proven machinery without parity.
@@ -24,7 +24,7 @@ or a hardcoded provider — it is not finished.
24
24
  `protocol/assets/`) owns canonical asset identity (`ast_*`), machine facts,
25
25
  provenance and provider **representations**.
26
26
 
27
- 3. **BrandPack** (`brand.pack.json` / `@inneranimalmedia/agentsam-sdk-brand`)
27
+ 3. **BrandPack** (`brand.pack.json` / `@inneranimalmedia/agentsam-brand`)
28
28
  owns the canonical brand system **AND brand-scoped assets**: logos, icons,
29
29
  fonts, imagery, video, models, themes, styles, tokens, motion, semantic
30
30
  roles and brand delivery rules. BrandPack does **not** own physical storage
@@ -0,0 +1,150 @@
1
+ # Local Studio desktop release graduation — 2.6.6
2
+
3
+ **Owner lane:** installed/downloadable Local Studio only
4
+ **Branch:** `feat/local-studio-desktop-release-20260929`
5
+ **Canonical UI:** `apps/local-studio`
6
+ **Native shell:** `packages/agentsam-desktop-shell`
7
+ **Do not absorb:** Agent 1's hosted Worker/CMS finishing work
8
+
9
+ ## Current verified baseline
10
+
11
+ - The installed `/Applications/AgentSam Local Studio.app` is stale `2.6.5`.
12
+ - `apps/local-studio` is already `2.6.6` and builds a real bundled desktop SPA.
13
+ - `npm --prefix apps/local-studio run verify:desktop` passes.
14
+ - `cargo check --manifest-path packages/agentsam-desktop-shell/src-tauri/Cargo.toml` passes.
15
+ - The packaged `2.6.6` Tauri app launches and exposes the real Local Studio UI: navigation, Chat/Work, composer, model picker, and Send.
16
+ - The current `2.6.6` DMG exists, but the app is ad-hoc signed; Gatekeeper rejects it.
17
+ - This machine currently has no valid Apple code-signing identity and no Tauri updater private-key environment configured.
18
+ - `agentsam-desktop-updates` is deployed, but updater checks fail because production D1 lacks `desktop_shell_releases`.
19
+ - `updates.agentsam.dev` does not currently resolve.
20
+ - `apps/local-studio/agentsam.app.json` still advertises an npm install for a private package. That install contract is stale.
21
+
22
+ ## Product law
23
+
24
+ Local Studio desktop is not a website wrapper and not an npm package masquerading as an app.
25
+
26
+ ```text
27
+ AgentSam Local Studio.app
28
+ -> bundled apps/local-studio SPA
29
+ -> Tauri native commands
30
+ -> agentsamd / SQLite / filesystem / keychain / identity adapters
31
+ ```
32
+
33
+ The npm release and desktop release may share a version, but they are separate artifacts:
34
+
35
+ ```text
36
+ @inneranimalmedia/agentsam-sdk -> npm registry
37
+ AgentSam Local Studio -> signed/notarized native artifact + updater/download service
38
+ ```
39
+
40
+ ## Release gate 1 — source and native parity
41
+
42
+ Required green checks:
43
+
44
+ 1. `npm --prefix apps/local-studio run verify:desktop`
45
+ 2. Local Studio typecheck/tests relevant to desktop and auth
46
+ 3. `npm --prefix packages/identity test`
47
+ 4. `cargo check` and `cargo test` for `agentsam-desktop-shell`
48
+ 5. Build the shell from the current Local Studio SPA, never from a recovery/bootstrap page
49
+ 6. Launch the packaged `.app` and confirm the Local Studio accessibility tree contains the real workspace
50
+ 7. Exercise native startup without blocking the work surface
51
+ 8. Exercise SQLite, local content/files, PTY/agentsamd, keychain/session restoration, and deep-link callback paths
52
+
53
+ No release may proceed if the UI only works in Chrome while the packaged WebView is blank.
54
+
55
+ ## Release gate 2 — one version authority
56
+
57
+ Before release, these must agree:
58
+
59
+ - root SDK package version
60
+ - `apps/local-studio/package.json`
61
+ - `packages/agentsam-desktop-shell/manifests/local-studio.json`
62
+ - generated Tauri config / bundle Info.plist
63
+ - DMG filename
64
+ - updater registry row
65
+
66
+ For this graduation target, the intended version is `2.6.6`.
67
+
68
+ ## Release gate 3 — updater/download backend
69
+
70
+ 1. Apply `migrations/d1/0017_desktop_shell_releases.sql` to `inneranimalmedia-business`.
71
+ 2. Re-test `agentsam-desktop-updates` updater lookup; missing table must be gone.
72
+ 3. Keep one backend: D1 release metadata + R2 artifact bytes.
73
+ 4. Decide the canonical public updater hostname and make it resolve. Do not leave Tauri configured to a dead hostname.
74
+ 5. Publish immutable release artifacts under:
75
+ `native/release/local-studio/<target>/<arch>/<version>/<filename>`.
76
+ 6. Registry rows must point at the exact downloadable artifact and include a valid Tauri updater signature.
77
+
78
+ ## Release gate 4 — signing and notarization
79
+
80
+ A public macOS build is not complete while `codesign` reports `Signature=adhoc` or `spctl` rejects it.
81
+
82
+ Required for release channel:
83
+
84
+ - Developer ID Application signing identity
85
+ - hardened-runtime-compatible signing through Tauri
86
+ - Apple notarization
87
+ - stapled notarization ticket where applicable
88
+ - `codesign --verify --deep --strict` passes
89
+ - `spctl -a -vv` accepts the final app copied from the DMG
90
+ - Tauri updater private key available at build time and `.sig` generated
91
+
92
+ Unsigned/ad-hoc artifacts may only be used in a clearly named test lane.
93
+
94
+ ## Release gate 5 — installer and CLI contract
95
+
96
+ `agentsam app install local-studio` must stop advertising `npm install @inneranimalmedia/agentsam-local-studio`.
97
+
98
+ Target behavior:
99
+
100
+ 1. resolve OS + architecture;
101
+ 2. resolve the current release artifact from the desktop release service;
102
+ 3. present/download the native installer for that platform;
103
+ 4. keep source/npm installation separate from native application installation;
104
+ 5. fail visibly when no signed release exists.
105
+
106
+ The hosted `/install/studio` route must not claim to install Local Studio while it only installs the SDK CLI.
107
+
108
+ ## Release gate 6 — clean-machine acceptance
109
+
110
+ For macOS 2.6.6:
111
+
112
+ 1. download the release DMG through the public release URL;
113
+ 2. mount the DMG;
114
+ 3. copy `AgentSam Local Studio.app` to `/Applications`;
115
+ 4. launch the copied app, not the build-tree app;
116
+ 5. confirm real Local Studio shell renders;
117
+ 6. confirm signed-out local usage remains available;
118
+ 7. test AgentSam account login/session restore through the shared IAM authority;
119
+ 8. test local filesystem/content, SQLite/database UI, terminal/PTY, and agentsamd;
120
+ 9. restart the app and verify state/session restoration;
121
+ 10. confirm updater check works from an older known build.
122
+
123
+ ## Release gate 7 — npm SDK release
124
+
125
+ Only after desktop acceptance is green:
126
+
127
+ 1. reconcile root SDK version to `2.6.6`;
128
+ 2. run the full npm release verification gates;
129
+ 3. `npm pack` and inspect the consumer artifact;
130
+ 4. publish `@inneranimalmedia/agentsam-sdk@2.6.6`;
131
+ 5. verify npm `latest` points to the intended version;
132
+ 6. verify CLI `agentsam app install local-studio` resolves the native app release rather than a private npm package.
133
+
134
+ ## Hosted/web Agent 1 handoff boundary
135
+
136
+ Agent 1 owns the hosted `agentsam.inneranimalmedia.com` completion lane: marketing/download surface, hosted `/agentsam`, CMS, and web routing. Desktop work may consume the final public download/updater hostname but must not revert to a hosted WebView as its application runtime.
137
+
138
+ ## Hard stop conditions
139
+
140
+ Do not call the desktop release complete if any of these are true:
141
+
142
+ - installed app opens blank;
143
+ - packaged app is only a website redirect;
144
+ - version sources disagree;
145
+ - updater endpoint returns 5xx;
146
+ - download URL is dead;
147
+ - updater signature is absent;
148
+ - Gatekeeper rejects the release artifact;
149
+ - CLI advertises a private/unpublished npm package as the desktop installer;
150
+ - native local features require a hosted login page just to render the app.
@@ -0,0 +1,21 @@
1
+ -- Native (desktop) OAuth handoff for the portable identity package.
2
+ -- Additive only: browser OAuth keeps working before and after this applies.
3
+ -- auth_sessions.type already exists in live D1 (DEFAULT 'browser').
4
+
5
+ ALTER TABLE identity_oauth_states ADD COLUMN client_type TEXT;
6
+ ALTER TABLE identity_oauth_states ADD COLUMN native_challenge TEXT;
7
+ ALTER TABLE identity_oauth_states ADD COLUMN native_redirect TEXT;
8
+
9
+ -- Single-use, PKCE-bound pickup of a desktop session. Only the sha256 of the
10
+ -- handoff code is stored; the session id never appears in a URL.
11
+ CREATE TABLE IF NOT EXISTS identity_native_handoffs (
12
+ handoff_hash TEXT PRIMARY KEY,
13
+ session_id TEXT NOT NULL,
14
+ challenge TEXT NOT NULL,
15
+ expires_at INTEGER NOT NULL,
16
+ created_at INTEGER NOT NULL,
17
+ consumed_at INTEGER
18
+ );
19
+
20
+ CREATE INDEX IF NOT EXISTS idx_identity_native_handoffs_expires
21
+ ON identity_native_handoffs(expires_at);
@@ -0,0 +1,40 @@
1
+ -- 0018_goap_control_plane_remaster.sql
2
+ -- Additive ticket/event contract remaster only: no new GOAP table family.
3
+ --
4
+ -- This migration intentionally targets tables owned by the portable D1/SQLite
5
+ -- control-plane baseline (0010) and equivalent legacy host tables.
6
+ -- Blackboard/workspace state is a runtime concern and is evolved separately by
7
+ -- migrations/runtime/0002_goap_blackboard_v1.sql.
8
+ --
9
+ -- NOTE: account_id/repository_id are intentionally NOT added to ticket_events here.
10
+ -- Portable 0010 already has them, while the legacy platform table does not.
11
+ -- The GOAP adapter supports eventOwnership=ticket_join for that host shape until a
12
+ -- dedicated platform-only ownership repair is intentionally applied.
13
+
14
+ ALTER TABLE agentsam_tickets
15
+ ADD COLUMN goal_schema TEXT;
16
+
17
+ ALTER TABLE agentsam_tickets
18
+ ADD COLUMN goal_spec_json TEXT
19
+ CHECK (goal_spec_json IS NULL OR json_valid(goal_spec_json));
20
+
21
+ ALTER TABLE agentsam_ticket_events
22
+ ADD COLUMN payload_json TEXT NOT NULL DEFAULT '{}'
23
+ CHECK (json_valid(payload_json));
24
+
25
+ ALTER TABLE agentsam_ticket_events
26
+ ADD COLUMN workflow_run_id TEXT;
27
+
28
+ ALTER TABLE agentsam_ticket_events
29
+ ADD COLUMN execution_step_id TEXT;
30
+
31
+ ALTER TABLE agentsam_ticket_events
32
+ ADD COLUMN schema_version TEXT NOT NULL DEFAULT 'agentsam.event.v1';
33
+
34
+ CREATE INDEX IF NOT EXISTS idx_agentsam_ticket_events_workflow_run
35
+ ON agentsam_ticket_events(workflow_run_id, created_at)
36
+ WHERE workflow_run_id IS NOT NULL;
37
+
38
+ CREATE INDEX IF NOT EXISTS idx_agentsam_ticket_events_execution_step
39
+ ON agentsam_ticket_events(execution_step_id, created_at)
40
+ WHERE execution_step_id IS NOT NULL;
@@ -0,0 +1,14 @@
1
+ -- 0019_agentsam_agent_run_plan_todo.sql
2
+ -- Attribute remote AgentSam run attempts to the durable plan/TODO that caused them.
3
+ -- This mirrors migrations/runtime/0004_agent_run_plan_linkage.sql for local SQLite.
4
+ ALTER TABLE agentsam_agent_run
5
+ ADD COLUMN plan_id TEXT REFERENCES agentsam_plans(id) ON DELETE SET NULL;
6
+
7
+ ALTER TABLE agentsam_agent_run
8
+ ADD COLUMN todo_id TEXT REFERENCES agentsam_todo(id) ON DELETE SET NULL;
9
+
10
+ CREATE INDEX IF NOT EXISTS idx_agentsam_agent_run_plan
11
+ ON agentsam_agent_run(account_id, plan_id, created_at_unix DESC);
12
+
13
+ CREATE INDEX IF NOT EXISTS idx_agentsam_agent_run_todo
14
+ ON agentsam_agent_run(account_id, todo_id, created_at_unix DESC);
@@ -1,16 +1,27 @@
1
- # Portable control-plane schemas (tickets · memory · skills · tools)
1
+ # Portable control-plane schemas (tickets · memory · skills · tools · GOAP)
2
2
 
3
- Apply from the repo that owns the SQL (agentsam-sdk `migrations/d1/`).
3
+ Apply schema families from the repo that owns them. Portable D1/ticket state and
4
+ runtime blackboard state have different baselines and must not pretend to share
5
+ one migration history.
4
6
 
5
7
  | File | Purpose |
6
8
  |------|---------|
7
- | `0010_portable_tickets_memory.sql` | Account-owned `agentsam_tickets` + events + `agentsam_memory` + outbox. `account_id` + `repository_id` **NOT NULL**. |
8
- | `0011_agentsam_skill_v2.sql` | Skill identity · metrics · retrieval (3-table redesign). Legacy hosts: rename old → `agentsam_skill_legacy`, backfill, verify. |
9
- | `0012_agentsam_tools_required_seed.sql` | Idempotent seed of required `tool_key` rows for GOAP / multitask. Manifest: `registry/tools/required-seed.json`. |
9
+ | 0010_portable_tickets_memory.sql | Account-owned agentsam_tickets + events + agentsam_memory + outbox. account_id + repository_id NOT NULL for portable installs. |
10
+ | 0011_agentsam_skill_v2.sql | Skill identity · metrics · retrieval (3-table redesign). Legacy hosts: rename old -> agentsam_skill_legacy, backfill, verify. |
11
+ | 0012_agentsam_tools_required_seed.sql | Idempotent seed of required tool_key rows for GOAP / multitask. Manifest: registry/tools/required-seed.json. |
12
+ | 0018_goap_control_plane_remaster.sql | Additive ticket/event contract remaster: structured goal spec, structured event payloads, workflow/action linkage. No new GOAP table family and no dependency on runtime workspace tables. |
13
+ | migrations/runtime/0002_goap_blackboard_v1.sql | Evolves agentsam_workspace_state after runtime/0001 with blackboard schema identity + CAS revision. |
10
14
 
11
15
  ## Law
12
16
 
13
- - **NULL `repository_id` on memory/ticket writes = broken implementation.** Resolve repo identity from `agentsam inspect` / snapshot before insert.
14
- - Customer tickets use **their** D1/SQLite — never IAM host ticket rows.
15
- - `agentsam_autorag` stays registered for A* planning even while multi-level retrieval is incomplete.
16
- - Skill publish uniqueness: partial unique on `slash_trigger WHERE is_published = 1` is included.
17
+ - NULL repository_id on portable memory/ticket/event writes = broken implementation. Resolve repo identity from agentsam inspect / snapshot before insert.
18
+ - Customer tickets and GOAP state use their D1/SQLite (or another adapter-owned store) — never IAM host ticket rows as an SDK requirement.
19
+ - Logical GOAP contracts live in @inneranimalmedia/agentsam-goap; storage tables are adapter details.
20
+ - GOAP errors use @inneranimalmedia/agentsam-errors and the shared error catalog. GOAP does not own a parallel error taxonomy.
21
+ - Cross-store GOAP mutations use an atomic MutationPort. Do not sequence ticket/blackboard/event writes independently.
22
+ - Existing workflow/execution/approval tables remain the plan/run/action/approval authorities. Do not create parallel GOAP graph tables.
23
+ - Goal focus is not execution. Creating, selecting, or activating a goal must not fabricate an agentsam_agent_run. Link a run only after the execution subsystem actually creates one.
24
+ - Portable ticket_events already has account_id + repository_id. Legacy platform event ownership is resolved through ticket_join until a host-only repair is intentionally applied.
25
+ - Portable/account-owned runtime stores may scope blackboards by repository. Shared platform stores must verify repository ownership through their repository authority (for IAM D1: code_repositories.account_id).
26
+ - agentsam_autorag stays registered for A* planning even while multi-level retrieval is incomplete.
27
+ - Skill publish uniqueness: partial unique on slash_trigger WHERE is_published = 1 is included.
@@ -0,0 +1,15 @@
1
+ -- 0002_goap_blackboard_v1.sql
2
+ -- Runtime blackboard contract evolution for D1/SQLite-compatible stores.
3
+ -- agentsam_workspace_state is created by 0001_cli_runtime.sql.
4
+ --
5
+ -- The revision is the portable optimistic-concurrency/CAS fence.
6
+ -- state_schema freezes the logical payload contract independently from storage.
7
+
8
+ ALTER TABLE agentsam_workspace_state
9
+ ADD COLUMN state_schema TEXT NOT NULL DEFAULT 'agentsam.blackboard.v1';
10
+
11
+ ALTER TABLE agentsam_workspace_state
12
+ ADD COLUMN revision INTEGER NOT NULL DEFAULT 1 CHECK (revision > 0);
13
+
14
+ CREATE INDEX IF NOT EXISTS idx_agentsam_workspace_state_repo_revision
15
+ ON agentsam_workspace_state(repository_id, revision);
@@ -0,0 +1,8 @@
1
+ -- Attribute every runtime attempt to the durable plan/TODO that caused it.
2
+ ALTER TABLE agentsam_agent_run ADD COLUMN plan_id TEXT REFERENCES agentsam_plans(id) ON DELETE SET NULL;
3
+ ALTER TABLE agentsam_agent_run ADD COLUMN todo_id TEXT REFERENCES agentsam_todo(id) ON DELETE SET NULL;
4
+
5
+ CREATE INDEX IF NOT EXISTS idx_agentsam_agent_run_plan
6
+ ON agentsam_agent_run(plan_id, created_at_unix DESC);
7
+ CREATE INDEX IF NOT EXISTS idx_agentsam_agent_run_todo
8
+ ON agentsam_agent_run(todo_id, created_at_unix DESC);