@inneranimalmedia/agentsam-sdk 2.6.5 → 2.6.7

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 (371) hide show
  1. package/AGENTSAM.md +29 -0
  2. package/apps/README.md +5 -0
  3. package/apps/cad-creator/README.md +4 -4
  4. package/apps/cad-creator/shared/cad/package.json +1 -1
  5. package/apps/client-cms-editor/AGENTS.md +12 -7
  6. package/apps/client-cms-editor/README.md +76 -48
  7. package/apps/client-cms-editor/agentsam.app.json +26 -9
  8. package/apps/client-cms-editor/backend/package.json +20 -3
  9. package/apps/client-cms-editor/backend/src/api/client.ts +134 -101
  10. package/apps/client-cms-editor/backend/src/index.ts +1 -1
  11. package/apps/client-cms-editor/backend/src/model.ts +11 -115
  12. package/apps/client-cms-editor/backend/src/preview/bridge.ts +1 -1
  13. package/apps/client-cms-editor/backend/tsconfig.json +6 -1
  14. package/apps/client-cms-editor/bin/agentsam-cms.js +262 -0
  15. package/apps/client-cms-editor/bin/agentsam-cms.mjs +2 -228
  16. package/apps/client-cms-editor/frontend/package.json +16 -7
  17. package/apps/client-cms-editor/frontend/src/AgentSamDrawer.tsx +9 -41
  18. package/apps/client-cms-editor/frontend/src/CmsAgentSurface.tsx +19 -174
  19. package/apps/client-cms-editor/frontend/src/adapters/heuristic.ts +29 -0
  20. package/apps/client-cms-editor/frontend/src/adapters/http.ts +628 -0
  21. package/apps/client-cms-editor/frontend/src/adapters/memory.ts +510 -0
  22. package/apps/client-cms-editor/frontend/src/editor/CmsEditor.tsx +213 -0
  23. package/apps/client-cms-editor/frontend/src/editor/CmsEditorProvider.tsx +20 -0
  24. package/apps/client-cms-editor/frontend/src/editor/canvas/PreviewCanvas.tsx +53 -0
  25. package/apps/client-cms-editor/frontend/src/{CmsEditor.tsx → editor/legacy/CmsEditorPrototype.tsx} +52 -23
  26. package/apps/client-cms-editor/frontend/src/editor/useCmsEditorController.ts +218 -0
  27. package/apps/client-cms-editor/frontend/src/index.ts +19 -5
  28. package/apps/client-cms-editor/frontend/src/lib/agent-host.ts +24 -0
  29. package/apps/client-cms-editor/frontend/src/main.tsx +82 -8
  30. package/apps/client-cms-editor/frontend/src/mount.tsx +92 -30
  31. package/apps/client-cms-editor/frontend/src/styles/agentsam-drawer.css +1 -1
  32. package/apps/client-cms-editor/frontend/src/styles/cmsShell.css +8 -8
  33. package/apps/client-cms-editor/frontend/src/styles/studio.css +55 -3
  34. package/apps/client-cms-editor/frontend/tsconfig.json +12 -1
  35. package/apps/client-cms-editor/frontend/vite.config.ts +12 -0
  36. package/apps/client-cms-editor/package-lock.json +973 -134
  37. package/apps/client-cms-editor/package.json +118 -6
  38. package/apps/client-cms-editor/reference/harvest/HARVEST_RECEIPT.json +201 -0
  39. package/apps/client-cms-editor/reference/harvest/PROVENANCE_HISTORY.txt +10 -0
  40. package/apps/client-cms-editor/reference/harvest/README.md +8 -0
  41. package/apps/client-cms-editor/reference/harvest/plans/ARCHIVE-INTAKE.md +135 -0
  42. package/apps/client-cms-editor/reference/harvest/plans/CHATGPT-IDENTITY-HARVEST.md +83 -0
  43. package/apps/client-cms-editor/reference/harvest/plans/CMS-EDITOR-HARVEST.md +166 -0
  44. package/apps/client-cms-editor/reference/harvest/plans/HARVEST-INDEX.md +196 -0
  45. package/apps/client-cms-editor/reference/harvest/plans/INNERANIMALS-CONTENT-001.md +137 -0
  46. package/apps/client-cms-editor/reference/harvest/plans/NO-IMPLICIT-SIDE-EFFECTS.md +87 -0
  47. package/apps/client-cms-editor/reference/harvest/plans/STOREFRONT-SURFACE-MAP.md +140 -0
  48. package/apps/client-cms-editor/reference/harvest/plans/THEME-INNERANIMALS-HARVEST.md +137 -0
  49. package/apps/client-cms-editor/reference/harvest/plans/TOOLING-LAB.md +63 -0
  50. package/apps/client-cms-editor/reference/harvest/plans/harvest-manifest.json +97 -0
  51. package/apps/client-cms-editor/reference/harvest/plans/local-cms-harvest-schema.sql +328 -0
  52. package/apps/client-cms-editor/shared/cms/package.json +17 -7
  53. package/apps/client-cms-editor/shared/cms/src/adapter.ts +204 -0
  54. package/apps/client-cms-editor/shared/cms/src/agent-context.ts +7 -5
  55. package/apps/client-cms-editor/shared/cms/src/editor-types.ts +32 -0
  56. package/apps/client-cms-editor/shared/cms/src/host.ts +82 -0
  57. package/apps/client-cms-editor/shared/cms/src/index.ts +4 -0
  58. package/apps/client-cms-editor/shared/cms/src/map.ts +115 -0
  59. package/apps/client-cms-editor/shared/cms/src/starter-pack.ts +158 -0
  60. package/contracts/source-types.v1.json +353 -0
  61. package/docs/CMS_CONTEXTUAL_COMPOSER.md +1 -1
  62. package/docs/PRODUCT_LIFECYCLE.md +566 -0
  63. package/docs/THEME_REFINERY.md +2 -2
  64. package/docs/architecture/AGENTSAM_RUNTIME_PROTOCOL.md +40 -20
  65. package/docs/content-studio/REVISION_GATE_2026-09-27.md +1 -1
  66. package/docs/plans/LOCAL_STUDIO_DESKTOP_RELEASE_2026-09-29.md +150 -0
  67. package/migrations/d1/0017_identity_native_oauth.sql +21 -0
  68. package/native/agentsam-machine/Cargo.lock +426 -0
  69. package/native/agentsam-machine/Cargo.toml +9 -0
  70. package/native/agentsam-machine/cli/Cargo.toml +14 -0
  71. package/native/agentsam-machine/cli/src/main.rs +77 -0
  72. package/native/agentsam-machine/core/Cargo.toml +15 -0
  73. package/native/agentsam-machine/core/src/assets.rs +790 -0
  74. package/native/agentsam-machine/core/src/bound.rs +298 -0
  75. package/native/agentsam-machine/core/src/enrich.rs +706 -0
  76. package/native/agentsam-machine/core/src/frontend.rs +442 -0
  77. package/native/agentsam-machine/core/src/lib.rs +1086 -0
  78. package/native/agentsam-machine/core/src/liquid.rs +528 -0
  79. package/native/agentsam-machine/core/src/source_types.rs +78 -0
  80. package/package.json +51 -21
  81. package/packages/agentsam-brand/README.md +1 -1
  82. package/packages/agentsam-brand/package.json +4 -4
  83. package/packages/agentsam-brand/src/index.js +1 -1
  84. package/packages/agentsam-contracts/package.json +13 -3
  85. package/packages/agentsam-contracts/src/tools.ts +22 -0
  86. package/packages/agentsam-errors/package.json +13 -3
  87. package/packages/agentsam-knowledge/package.json +18 -4
  88. package/packages/agentsam-knowledge/src/autorag/index.js +10 -3
  89. package/packages/agentsam-knowledge/src/backends/index.js +33 -1
  90. package/packages/agentsam-knowledge/test/autorag.test.mjs +60 -1
  91. package/packages/agentsam-nav/package.json +24 -6
  92. package/packages/agentsam-queue-control/README.md +1 -1
  93. package/packages/agentsam-queue-control/package.json +7 -2
  94. package/packages/agentsam-rapid-rust/src/main.rs +1 -1
  95. package/packages/agentsam-repository/package.json +13 -3
  96. package/packages/agentsam-repository/src/source-types.js +8 -0
  97. package/packages/agentsam-vault/package.json +14 -4
  98. package/packages/agentsam-workbench/package.json +15 -4
  99. package/packages/agentsam-workbench/src/agent/ToolPermissionRequest.tsx +94 -0
  100. package/packages/agentsam-workbench/src/agent/index.ts +2 -0
  101. package/packages/agentsam-workbench/src/agent/tool-permission.css +134 -0
  102. package/packages/connectors/cloudflare/package.json +13 -3
  103. package/packages/connectors/cloudflare/src/api-client.js +3 -2
  104. package/packages/connectors/cloudflare/src/families/vectorize.js +127 -0
  105. package/packages/connectors/cloudflare/src/index.js +1 -0
  106. package/packages/heuristic-theme/README.md +2 -2
  107. package/packages/heuristic-theme/package.json +8 -3
  108. package/packages/heuristic-theme/src/registry.js +2 -2
  109. package/packages/heuristic-theme/src/theme.js +1 -1
  110. package/packages/heuristic-theme/test/theme.test.mjs +1 -1
  111. package/packages/identity/.agentsam/features/oauth-login-portal/agentsam.feature.json +1 -1
  112. package/packages/identity/.agentsam/features/oauth-login-portal/providers.json +27 -7
  113. package/packages/identity/README.md +2 -2
  114. package/packages/identity/migrations/D1_SCHEMA_MAPPING.md +18 -15
  115. package/packages/identity/migrations/apply-portable.js +109 -0
  116. package/packages/identity/migrations/sqlite/004_identity_oauth_consent_catalog.sql +1 -1
  117. package/packages/identity/migrations/sqlite/005_identity_company_native.sql +52 -0
  118. package/packages/identity/package.json +27 -6
  119. package/packages/identity/schema/agentsam.identity/manifest.json +101 -0
  120. package/packages/identity/scripts/local-identity-bridge.mjs +13 -7
  121. package/packages/identity/scripts/preview-auth-portal.mjs +6 -6
  122. package/packages/identity/src/adapters/cloudflare-d1/index.js +8 -401
  123. package/packages/identity/src/adapters/iam-compat/index.js +540 -0
  124. package/packages/identity/src/adapters/portable-d1/index.js +18 -0
  125. package/packages/identity/src/adapters/portable-store.js +479 -0
  126. package/packages/identity/src/adapters/sqlite/index.js +13 -312
  127. package/packages/identity/src/contracts/auth-config.js +0 -1
  128. package/packages/identity/src/contracts/identity-store.js +56 -5
  129. package/packages/identity/src/contracts/provider.js +1 -0
  130. package/packages/identity/src/contracts/sign-in-options.js +104 -0
  131. package/packages/identity/src/core/constants.js +1 -1
  132. package/packages/identity/src/core/session-policy.js +31 -0
  133. package/packages/identity/src/frontend/auth-portal/pages/login.html +6 -6
  134. package/packages/identity/src/frontend/auth-portal/pages/reset.html +5 -5
  135. package/packages/identity/src/frontend/auth-portal/pages/signup.html +5 -5
  136. package/packages/identity/src/frontend/auth-portal/shared/company-branding.js +1 -1
  137. package/packages/identity/src/frontend/auth-portal/shared/desktop-identity-bridge.js +6 -37
  138. package/packages/identity/src/index.js +28 -1
  139. package/packages/identity/src/migrations/README.md +23 -23
  140. package/packages/identity/src/oauth/README.md +1 -1
  141. package/packages/identity/src/oauth/credentials.js +10 -11
  142. package/packages/identity/src/oauth/google-desktop-exchange.js +195 -27
  143. package/packages/identity/src/oauth/iam-platform.js +21 -9
  144. package/packages/identity/src/oauth/native-handoff.js +136 -0
  145. package/packages/identity/src/providers/chatgpt/headers.js +65 -0
  146. package/packages/identity/src/providers/chatgpt/index.js +86 -0
  147. package/packages/identity/src/providers/chatgpt/mapper.js +43 -0
  148. package/packages/identity/src/providers/chatgpt/paths.js +45 -0
  149. package/packages/identity/src/providers/github/oauth.js +1 -2
  150. package/packages/identity/src/providers/github/profile.js +16 -2
  151. package/packages/identity/src/providers/index.js +11 -3
  152. package/packages/identity/src/server/identity-service.js +2 -1
  153. package/packages/identity/src/server/worker-router.js +71 -18
  154. package/packages/identity/tests/chatgpt-provider.test.mjs +75 -0
  155. package/packages/identity/tests/google-desktop-identity-login.test.mjs +210 -0
  156. package/packages/identity/tests/identity-init-scaffold.test.mjs +15 -4
  157. package/packages/identity/tests/lane1-identity-store-parity.test.mjs +527 -0
  158. package/packages/identity/tests/lane1-packed-consumer.test.mjs +175 -0
  159. package/packages/identity/tests/native-oauth-handoff.test.mjs +292 -0
  160. package/packages/identity/tests/oauth-credentials.test.mjs +4 -4
  161. package/packages/identity/tests/preview-auth-portal.test.mjs +4 -2
  162. package/packages/identity/tests/session-routes-policy.test.mjs +13 -1
  163. package/packages/identity/tests/worker-runtime-boundary.test.mjs +11 -0
  164. package/packages/providers/completeful/package.json +7 -2
  165. package/packages/theme-church-site/package.json +17 -6
  166. package/packages/theme-church-site/src/harvest.json +4 -2
  167. package/packages/theme-church-site/src/index.js +7 -3
  168. package/packages/theme-church-site/test/theme.test.mjs +4 -2
  169. package/packages/theme-companions-site/package.json +17 -6
  170. package/packages/theme-companions-site/src/harvest.json +4 -2
  171. package/packages/theme-companions-site/src/index.js +7 -3
  172. package/packages/theme-companions-site/test/theme.test.mjs +4 -2
  173. package/packages/theme-floors-site/package.json +17 -6
  174. package/packages/theme-floors-site/src/harvest.json +4 -2
  175. package/packages/theme-floors-site/src/index.js +7 -3
  176. package/packages/theme-floors-site/test/theme.test.mjs +4 -2
  177. package/packages/theme-fuelnfree-site/package.json +17 -6
  178. package/packages/theme-fuelnfree-site/src/harvest.json +4 -2
  179. package/packages/theme-fuelnfree-site/src/index.js +7 -3
  180. package/packages/theme-fuelnfree-site/test/theme.test.mjs +4 -2
  181. package/packages/theme-handyman-site/package.json +17 -6
  182. package/packages/theme-handyman-site/src/harvest.json +4 -2
  183. package/packages/theme-handyman-site/src/index.js +7 -3
  184. package/packages/theme-handyman-site/test/theme.test.mjs +4 -2
  185. package/packages/theme-insurance-site/package.json +17 -6
  186. package/packages/theme-insurance-site/src/harvest.json +4 -2
  187. package/packages/theme-insurance-site/src/index.js +7 -3
  188. package/packages/theme-insurance-site/test/theme.test.mjs +4 -2
  189. package/packages/theme-scenes/README.md +1 -1
  190. package/packages/theme-scenes/package.json +4 -3
  191. package/packages/theme-scenes/src/registry.js +187 -0
  192. package/packages/theme-shinshu-site/package.json +17 -6
  193. package/packages/theme-shinshu-site/src/harvest.json +4 -2
  194. package/packages/theme-shinshu-site/src/index.js +7 -3
  195. package/packages/theme-shinshu-site/test/theme.test.mjs +4 -2
  196. package/packages/work-graph/package.json +14 -4
  197. package/protocol/FILEMETA_V1.md +2 -2
  198. package/protocol/capabilities/manifest.json +1 -1
  199. package/protocol/database/agentsam.schema-pack.v1.schema.json +72 -0
  200. package/protocol/presets/catalog.json +2 -2
  201. package/protocol/theme-refinery/lineage-registry.json +105 -0
  202. package/protocol/theme-refinery/product-metadata.schema.json +21 -1
  203. package/skills/grok-auth/SKILL.md +110 -0
  204. package/skills/grok-auth/agentsam.skill.json +25 -0
  205. package/skills/grok-auth/references/grok-identity.md +64 -0
  206. package/skills/grok-auth/references/per-user-data.md +49 -0
  207. package/skills/grok-auth/references/prewired-and-env.md +54 -0
  208. package/skills/grok-auth/references/session-ui.md +133 -0
  209. package/skills/grok-auth/references/sign-in-methods.md +55 -0
  210. package/skills/grok-auth/references/wiring.md +71 -0
  211. package/skills/grok-building-games/SKILL.md +213 -0
  212. package/skills/grok-building-games/agentsam.skill.json +25 -0
  213. package/skills/grok-building-games/references/3d-libs.md +64 -0
  214. package/skills/grok-building-games/references/ai-pathfinding.md +122 -0
  215. package/skills/grok-building-games/references/audio.md +129 -0
  216. package/skills/grok-building-games/references/babylon.md +202 -0
  217. package/skills/grok-building-games/references/collision-physics.md +122 -0
  218. package/skills/grok-building-games/references/ecs-architecture.md +111 -0
  219. package/skills/grok-building-games/references/game-feel-juice.md +110 -0
  220. package/skills/grok-building-games/references/genres/board-card-chess.md +89 -0
  221. package/skills/grok-building-games/references/genres/endless-runner.md +83 -0
  222. package/skills/grok-building-games/references/genres/fps.md +105 -0
  223. package/skills/grok-building-games/references/genres/platformer-2d.md +97 -0
  224. package/skills/grok-building-games/references/genres/puzzle-match3-tetris.md +131 -0
  225. package/skills/grok-building-games/references/genres/racing-kart.md +106 -0
  226. package/skills/grok-building-games/references/genres/topdown-twin-stick.md +97 -0
  227. package/skills/grok-building-games/references/genres/tower-defense.md +84 -0
  228. package/skills/grok-building-games/references/genres/voxel-minecraft.md +89 -0
  229. package/skills/grok-building-games/references/input.md +139 -0
  230. package/skills/grok-building-games/references/phaser.md +277 -0
  231. package/skills/grok-building-games/references/procedural-generation.md +141 -0
  232. package/skills/grok-building-games/references/save-persistence.md +108 -0
  233. package/skills/grok-building-games/references/threejs-foundational.md +148 -0
  234. package/skills/grok-controls/SKILL.md +274 -0
  235. package/skills/grok-controls/agentsam.skill.json +25 -0
  236. package/skills/grok-design-ui/SKILL.md +122 -0
  237. package/skills/grok-design-ui/agentsam.skill.json +25 -0
  238. package/skills/grok-design-ui/references/animations.md +379 -0
  239. package/skills/grok-design-ui/references/performance.md +88 -0
  240. package/skills/grok-design-ui/references/refined-ui.md +384 -0
  241. package/skills/grok-design-ui/references/surfaces.md +247 -0
  242. package/skills/grok-design-ui/references/typography.md +123 -0
  243. package/skills/grok-game-animation-frames/SKILL.md +84 -0
  244. package/skills/grok-game-animation-frames/agentsam.skill.json +25 -0
  245. package/skills/grok-game-asset-core/SKILL.md +69 -0
  246. package/skills/grok-game-asset-core/agentsam.skill.json +25 -0
  247. package/skills/grok-game-character-consistency/SKILL.md +69 -0
  248. package/skills/grok-game-character-consistency/agentsam.skill.json +25 -0
  249. package/skills/grok-game-tilesets/SKILL.md +65 -0
  250. package/skills/grok-game-tilesets/agentsam.skill.json +25 -0
  251. package/skills/grok-game-ui-icons/SKILL.md +56 -0
  252. package/skills/grok-game-ui-icons/agentsam.skill.json +25 -0
  253. package/skills/grok-generate2dmap/LICENSE +21 -0
  254. package/skills/grok-generate2dmap/SKILL.md +120 -0
  255. package/skills/grok-generate2dmap/SOURCE.md +6 -0
  256. package/skills/grok-generate2dmap/agentsam.skill.json +25 -0
  257. package/skills/grok-generate2dmap/references/deliverables.md +101 -0
  258. package/skills/grok-generate2dmap/references/layered-map-contract.md +209 -0
  259. package/skills/grok-generate2dmap/references/map-strategies.md +341 -0
  260. package/skills/grok-generate2dmap/references/object-production-gate.md +24 -0
  261. package/skills/grok-generate2dmap/references/pipeline.md +149 -0
  262. package/skills/grok-generate2dmap/references/prop-pack-contract.md +174 -0
  263. package/skills/grok-generate2dmap/references/side-scroll-stages.md +29 -0
  264. package/skills/grok-generate2dmap/scripts/compose_layered_preview.py +157 -0
  265. package/skills/grok-generate2dmap/scripts/extract_prop_pack.py +369 -0
  266. package/skills/grok-generate2dsprite/LICENSE +21 -0
  267. package/skills/grok-generate2dsprite/SKILL.md +313 -0
  268. package/skills/grok-generate2dsprite/SOURCE.md +6 -0
  269. package/skills/grok-generate2dsprite/agentsam.skill.json +25 -0
  270. package/skills/grok-generate2dsprite/references/modes.md +124 -0
  271. package/skills/grok-generate2dsprite/references/prompt-rules.md +315 -0
  272. package/skills/grok-generate2dsprite/scripts/generate2dsprite.py +1031 -0
  273. package/skills/grok-generate2dsprite/scripts/make_layout_guide.py +109 -0
  274. package/skills/grok-imagine/SKILL.md +201 -0
  275. package/skills/grok-imagine/agentsam.skill.json +25 -0
  276. package/skills/grok-multiplayer-p2p/SKILL.md +111 -0
  277. package/skills/grok-multiplayer-p2p/agentsam.skill.json +25 -0
  278. package/skills/grok-multiplayer-p2p/references/react-binding.md +144 -0
  279. package/skills/grok-multiplayer-p2p/references/signaling-relay.md +269 -0
  280. package/skills/grok-neon/SKILL.md +157 -0
  281. package/skills/grok-neon/agentsam.skill.json +25 -0
  282. package/skills/grok-og/SKILL.md +102 -0
  283. package/skills/grok-og/agentsam.skill.json +25 -0
  284. package/skills/grok-og/references/brand-pass.md +53 -0
  285. package/skills/grok-og/references/custom-card.md +107 -0
  286. package/skills/grok-og/references/favicon-and-icons.md +48 -0
  287. package/skills/grok-og/references/og-type-contract.md +18 -0
  288. package/skills/grok-og/references/placeholder-card.md +21 -0
  289. package/skills/grok-og/references/x-banner.md +41 -0
  290. package/skills/grok-threejs/SKILL.md +67 -0
  291. package/skills/grok-threejs/agentsam.skill.json +25 -0
  292. package/skills/grok-threejs/references/llms-full.txt +2780 -0
  293. package/skills/grok-video2dsprite/LICENSE +21 -0
  294. package/skills/grok-video2dsprite/SKILL.md +236 -0
  295. package/skills/grok-video2dsprite/SOURCE.md +6 -0
  296. package/skills/grok-video2dsprite/agentsam.skill.json +25 -0
  297. package/skills/grok-video2dsprite/references/pipeline.md +90 -0
  298. package/skills/grok-video2dsprite/references/prompt-rules.md +63 -0
  299. package/skills/grok-video2dsprite/scripts/video2dsprite.py +490 -0
  300. package/skills/grok-xai-api/SKILL.md +152 -0
  301. package/skills/grok-xai-api/agentsam.skill.json +25 -0
  302. package/src/cli/command-catalog.js +46 -4
  303. package/src/cli/dispatch.js +1 -0
  304. package/src/cli.js +10 -0
  305. package/src/cloudflare/runtime-status.js +2 -1
  306. package/src/commands/autorag.js +67 -13
  307. package/src/commands/cheat-sheet.js +29 -4
  308. package/src/commands/codebaseindex.js +45 -2
  309. package/src/commands/knowledge.js +59 -2
  310. package/src/commands/machine-binary.js +103 -0
  311. package/src/commands/machine.js +137 -0
  312. package/src/commands/security.js +67 -4
  313. package/src/commands/setup.js +33 -16
  314. package/src/commands/status.js +8 -1
  315. package/src/features/resolve.js +1 -0
  316. package/src/knowledge/engine.js +21 -2
  317. package/src/knowledge/runtime-discovery.js +127 -0
  318. package/src/lib/identity-scaffold.js +53 -13
  319. package/src/lib/setup/recipes.js +1 -1
  320. package/src/models/discovery.js +40 -22
  321. package/src/models/inventory-core.d.ts +105 -0
  322. package/src/models/inventory-core.js +54 -6
  323. package/src/security/logs.js +3 -0
  324. package/src/ui/cli/help.js +41 -0
  325. package/test/apps-scaffold-contract.test.mjs +3 -2
  326. package/test/cli/api-key-env-whoami.test.mjs +2 -2
  327. package/test/cli/catalog-authority.test.mjs +64 -0
  328. package/test/cli/machine-command.test.mjs +34 -0
  329. package/test/fixtures/project-authority/customer-app/.agentsam/app.json +5 -0
  330. package/test/fixtures/project-authority/customer-app/apps/my-product/index.ts +1 -0
  331. package/test/fixtures/project-authority/customer-app/wrangler.toml +17 -0
  332. package/test/integration/autorag-project-authority.integration.test.mjs +51 -0
  333. package/test/integration/autorag-runtime-discovery.test.mjs +107 -0
  334. package/test/integration/cms-app-scaffold.test.mjs +37 -31
  335. package/test/integration/cms-site-tenancy-contract.test.mjs +28 -17
  336. package/test/integration/codebaseindex-ingest.test.mjs +41 -0
  337. package/test/integration/database-hosted-honesty.test.mjs +49 -0
  338. package/test/integration/desktop-keychain-boundary.test.mjs +45 -0
  339. package/test/integration/hosted-work-host-authority.test.mjs +47 -0
  340. package/test/integration/inventory-eligibility.test.mjs +59 -0
  341. package/test/integration/local-provider-bridge.test.mjs +65 -0
  342. package/test/integration/local-studio-settings-production.test.mjs +40 -0
  343. package/test/integration/lockfile-sync.test.mjs +26 -0
  344. package/test/integration/provider-env-cli.test.mjs +13 -3
  345. package/test/integration/runtime-status.integration.test.mjs +16 -1
  346. package/test/integration/theme-package-registry.test.mjs +31 -0
  347. package/test/repository-snapshot-view.test.mjs +2 -2
  348. package/test/security.test.mjs +14 -0
  349. package/test/terminal-machine-identity.test.mjs +2 -2
  350. package/apps/client-cms-editor/backend/src/demo-bootstrap.ts +0 -145
  351. package/packages/agentsam-nav/dist/Nav.d.ts +0 -43
  352. package/packages/agentsam-nav/dist/NavCollapsible.d.ts +0 -10
  353. package/packages/agentsam-nav/dist/NavContent.d.ts +0 -2
  354. package/packages/agentsam-nav/dist/NavFooter.d.ts +0 -2
  355. package/packages/agentsam-nav/dist/NavGroup.d.ts +0 -3
  356. package/packages/agentsam-nav/dist/NavHeader.d.ts +0 -2
  357. package/packages/agentsam-nav/dist/NavMenu.d.ts +0 -22
  358. package/packages/agentsam-nav/dist/NavProvider.d.ts +0 -35
  359. package/packages/agentsam-nav/dist/NavTrigger.d.ts +0 -2
  360. package/packages/agentsam-nav/dist/Surfaces.d.ts +0 -41
  361. package/packages/agentsam-nav/dist/browser.d.ts +0 -11
  362. package/packages/agentsam-nav/dist/browser.global.js +0 -132
  363. package/packages/agentsam-nav/dist/browser.js +0 -613
  364. package/packages/agentsam-nav/dist/contracts.d.ts +0 -76
  365. package/packages/agentsam-nav/dist/index.d.ts +0 -11
  366. package/packages/agentsam-nav/dist/index.js +0 -614
  367. package/packages/agentsam-nav/dist/legacy.css +0 -83
  368. package/packages/agentsam-nav/dist/shell.css +0 -113
  369. package/packages/agentsam-nav/dist/theme.css +0 -113
  370. package/packages/agentsam-nav/dist/utils.d.ts +0 -1
  371. package/packages/agentsam-repository/src/goap.js.bak-20260922011251 +0 -670
@@ -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);