@inneranimalmedia/agentsam-sdk 2.6.4 → 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 (699) hide show
  1. package/AGENTSAM.md +40 -0
  2. package/README.md +15 -9
  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 +17 -0
  7. package/apps/client-cms-editor/IMPORT_PROVENANCE.json +8 -0
  8. package/apps/client-cms-editor/README.md +100 -0
  9. package/apps/client-cms-editor/agentsam.app.json +74 -0
  10. package/apps/client-cms-editor/backend/README.md +5 -0
  11. package/apps/client-cms-editor/backend/package.json +39 -0
  12. package/apps/client-cms-editor/backend/src/api/client.ts +233 -0
  13. package/apps/client-cms-editor/backend/src/index.ts +6 -0
  14. package/apps/client-cms-editor/backend/src/model.ts +11 -0
  15. package/apps/client-cms-editor/backend/src/preview/bridge.ts +79 -0
  16. package/apps/client-cms-editor/backend/src/preview/urls.ts +55 -0
  17. package/apps/client-cms-editor/backend/src/routing/cms-route.js +293 -0
  18. package/apps/client-cms-editor/backend/src/routing/index.js +10 -0
  19. package/apps/client-cms-editor/backend/src/storefront.ts +52 -0
  20. package/apps/client-cms-editor/backend/tsconfig.json +20 -0
  21. package/apps/client-cms-editor/backend/worker/index.js +34 -0
  22. package/apps/client-cms-editor/backend/wrangler.jsonc +11 -0
  23. package/apps/client-cms-editor/bin/agentsam-cms.js +262 -0
  24. package/apps/client-cms-editor/bin/agentsam-cms.mjs +3 -0
  25. package/apps/client-cms-editor/frontend/index.html +12 -0
  26. package/apps/client-cms-editor/frontend/package.json +42 -0
  27. package/apps/client-cms-editor/frontend/src/AgentSamDrawer.tsx +156 -0
  28. package/apps/client-cms-editor/frontend/src/CmsAgentSurface.tsx +36 -0
  29. package/apps/client-cms-editor/frontend/src/adapters/heuristic.ts +29 -0
  30. package/apps/client-cms-editor/frontend/src/adapters/http.ts +628 -0
  31. package/apps/client-cms-editor/frontend/src/adapters/memory.ts +510 -0
  32. package/apps/client-cms-editor/frontend/src/editor/CmsEditor.tsx +213 -0
  33. package/apps/client-cms-editor/frontend/src/editor/CmsEditorProvider.tsx +20 -0
  34. package/apps/client-cms-editor/frontend/src/editor/canvas/PreviewCanvas.tsx +53 -0
  35. package/apps/client-cms-editor/frontend/src/editor/legacy/CmsEditorPrototype.tsx +1374 -0
  36. package/apps/client-cms-editor/frontend/src/editor/useCmsEditorController.ts +218 -0
  37. package/apps/client-cms-editor/frontend/src/env.d.ts +14 -0
  38. package/apps/client-cms-editor/frontend/src/index.ts +22 -0
  39. package/apps/client-cms-editor/frontend/src/lib/agent-host.ts +24 -0
  40. package/apps/client-cms-editor/frontend/src/lib/content-safety.ts +63 -0
  41. package/apps/client-cms-editor/frontend/src/main.tsx +91 -0
  42. package/apps/client-cms-editor/frontend/src/mount.tsx +113 -0
  43. package/apps/client-cms-editor/frontend/src/styles/agentsam-drawer.css +214 -0
  44. package/apps/client-cms-editor/frontend/src/styles/cmsShell.css +1739 -0
  45. package/apps/client-cms-editor/frontend/src/styles/studio.css +158 -0
  46. package/apps/client-cms-editor/frontend/src/surfaces/CmsDashboard.tsx +313 -0
  47. package/apps/client-cms-editor/frontend/src/surfaces/CmsGuidedChatHero.tsx +121 -0
  48. package/apps/client-cms-editor/frontend/src/surfaces/CmsHubPage.tsx +132 -0
  49. package/apps/client-cms-editor/frontend/src/surfaces/CmsSiteSwitcher.tsx +176 -0
  50. package/apps/client-cms-editor/frontend/src/surfaces/index.ts +5 -0
  51. package/apps/client-cms-editor/frontend/src/surfaces/types.ts +48 -0
  52. package/apps/client-cms-editor/frontend/tsconfig.json +36 -0
  53. package/apps/client-cms-editor/frontend/vite.config.ts +25 -0
  54. package/apps/client-cms-editor/package-lock.json +4671 -0
  55. package/apps/client-cms-editor/package.json +135 -0
  56. package/apps/client-cms-editor/reference/DONOR_README.md +52 -0
  57. package/apps/client-cms-editor/reference/DONOR_package-lock.json +1253 -0
  58. package/apps/client-cms-editor/reference/DONOR_tsconfig.json +15 -0
  59. package/apps/client-cms-editor/reference/harvest/HARVEST_RECEIPT.json +201 -0
  60. package/apps/client-cms-editor/reference/harvest/PROVENANCE_HISTORY.txt +10 -0
  61. package/apps/client-cms-editor/reference/harvest/README.md +8 -0
  62. package/apps/client-cms-editor/reference/harvest/plans/ARCHIVE-INTAKE.md +135 -0
  63. package/apps/client-cms-editor/reference/harvest/plans/CHATGPT-IDENTITY-HARVEST.md +83 -0
  64. package/apps/client-cms-editor/reference/harvest/plans/CMS-EDITOR-HARVEST.md +166 -0
  65. package/apps/client-cms-editor/reference/harvest/plans/HARVEST-INDEX.md +196 -0
  66. package/apps/client-cms-editor/reference/harvest/plans/INNERANIMALS-CONTENT-001.md +137 -0
  67. package/apps/client-cms-editor/reference/harvest/plans/NO-IMPLICIT-SIDE-EFFECTS.md +87 -0
  68. package/apps/client-cms-editor/reference/harvest/plans/STOREFRONT-SURFACE-MAP.md +140 -0
  69. package/apps/client-cms-editor/reference/harvest/plans/THEME-INNERANIMALS-HARVEST.md +137 -0
  70. package/apps/client-cms-editor/reference/harvest/plans/TOOLING-LAB.md +63 -0
  71. package/apps/client-cms-editor/reference/harvest/plans/harvest-manifest.json +97 -0
  72. package/apps/client-cms-editor/reference/harvest/plans/local-cms-harvest-schema.sql +328 -0
  73. package/apps/client-cms-editor/shared/cms/package.json +31 -0
  74. package/apps/client-cms-editor/shared/cms/src/adapter.ts +204 -0
  75. package/apps/client-cms-editor/shared/cms/src/agent-context.ts +37 -0
  76. package/apps/client-cms-editor/shared/cms/src/cloudflare-bindings.ts +51 -0
  77. package/apps/client-cms-editor/shared/cms/src/editor-types.ts +90 -0
  78. package/apps/client-cms-editor/shared/cms/src/host.ts +82 -0
  79. package/apps/client-cms-editor/shared/cms/src/index.ts +9 -0
  80. package/apps/client-cms-editor/shared/cms/src/map.ts +115 -0
  81. package/apps/client-cms-editor/shared/cms/src/publication.ts +24 -0
  82. package/apps/client-cms-editor/shared/cms/src/routes.ts +11 -0
  83. package/apps/client-cms-editor/shared/cms/src/starter-pack.ts +158 -0
  84. package/apps/client-cms-editor/shared/cms/tsconfig.json +12 -0
  85. package/bin/agentsam-rapid-rust +36 -0
  86. package/contracts/source-types.v1.json +353 -0
  87. package/docs/AUTH_IDENTITY_CONTRACT.md +2 -0
  88. package/docs/CMS_CONTEXTUAL_COMPOSER.md +1 -1
  89. package/docs/MACHINE_INTELLIGENCE.md +120 -0
  90. package/docs/PRODUCT_LIFECYCLE.md +566 -0
  91. package/docs/THEME_REFINERY.md +2 -2
  92. package/docs/WINDOWS_RUNTIME_INSTALL.md +30 -0
  93. package/docs/architecture/AGENTSAM_APPLICATION_CONTRACT.md +188 -0
  94. package/docs/architecture/AGENTSAM_RUNTIME_PROTOCOL.md +171 -0
  95. package/docs/architecture/LOCAL_STUDIO_CLOUDFLARE_OAUTH.md +12 -4
  96. package/docs/architecture/R2_SLUG_NAMESPACE.md +20 -0
  97. package/docs/architecture/WORK_PRODUCT_EXTRACTION.md +97 -0
  98. package/docs/brand/AGENT_SAM_ICON_GRAMMAR.md +70 -0
  99. package/docs/content-studio/HOST_MOUNT_CHECKLIST.md +71 -0
  100. package/docs/content-studio/REVISION_GATE_2026-09-27.md +501 -0
  101. package/docs/contracts/capability-install-planner.md +67 -0
  102. package/docs/contracts/environment-vocabulary.md +195 -0
  103. package/docs/contracts/google-cloud-oauth-setup.md +199 -0
  104. package/docs/local-studio/WORKMODE_DONOR_NOTES.md +1 -1
  105. package/docs/plans/LOCAL-STUDIO-GRADUATION-2026-09-26.md +290 -0
  106. package/docs/plans/LOCAL-STUDIO-REAL-APP-CONTRACT-ADDENDUM-2026-09-27.md +394 -0
  107. package/docs/plans/LOCAL_STUDIO_DESKTOP_RELEASE_2026-09-29.md +150 -0
  108. package/docs/plans/MACHINE-FIRST-APPS-TUI-2026-09-24.md +227 -0
  109. package/docs/plans/TOMORROW-EXTENSIVE-TODO-2026-09-26.md +221 -0
  110. package/docs/plans/TOMORROW-MACHINE-FIRST-BRIEFING.md +145 -0
  111. package/docs/plans/UNIVERSAL-INGEST-MACHINE-FIRST-2026-09-24.md +215 -0
  112. package/docs/plugins.md +2 -2
  113. package/docs/product/AGENTSAM_PRODUCT_EXPERIENCE_STANDARD.md +280 -0
  114. package/docs/product/LOCAL_STUDIO_DESKTOP_EXPERIENCE.md +139 -0
  115. package/docs/product/README.md +8 -0
  116. package/docs/rapid-rust-wasm.md +35 -0
  117. package/migrations/d1/0016_cloudflare_oauth_user_oauth_tokens_ssot.sql +14 -0
  118. package/migrations/d1/0017_identity_native_oauth.sql +21 -0
  119. package/native/agentsam-machine/Cargo.lock +426 -0
  120. package/native/agentsam-machine/Cargo.toml +9 -0
  121. package/native/agentsam-machine/cli/Cargo.toml +14 -0
  122. package/native/agentsam-machine/cli/src/main.rs +77 -0
  123. package/native/agentsam-machine/core/Cargo.toml +15 -0
  124. package/native/agentsam-machine/core/src/assets.rs +790 -0
  125. package/native/agentsam-machine/core/src/bound.rs +298 -0
  126. package/native/agentsam-machine/core/src/enrich.rs +706 -0
  127. package/native/agentsam-machine/core/src/frontend.rs +442 -0
  128. package/native/agentsam-machine/core/src/lib.rs +1086 -0
  129. package/native/agentsam-machine/core/src/liquid.rs +528 -0
  130. package/native/agentsam-machine/core/src/source_types.rs +78 -0
  131. package/package.json +110 -21
  132. package/packages/agentsam-brand/README.md +107 -12
  133. package/packages/agentsam-brand/bin/agentsam-brand.mjs +9 -0
  134. package/packages/agentsam-brand/package.json +41 -9
  135. package/packages/agentsam-brand/src/adapters/cloudflare-images.js +453 -0
  136. package/packages/agentsam-brand/src/adapters/cloudflare-r2.js +74 -0
  137. package/packages/agentsam-brand/src/adapters/d1-registry.js +26 -0
  138. package/packages/agentsam-brand/src/adapters/filesystem.js +59 -0
  139. package/packages/agentsam-brand/src/adapters/memory.js +31 -0
  140. package/packages/agentsam-brand/src/cli/controller.js +503 -0
  141. package/packages/agentsam-brand/src/cli/wizard.js +526 -0
  142. package/packages/agentsam-brand/src/core/capabilities.js +201 -0
  143. package/packages/agentsam-brand/src/core/derivatives.js +211 -0
  144. package/packages/agentsam-brand/src/core/errors.js +12 -0
  145. package/packages/agentsam-brand/src/core/ingest.js +195 -0
  146. package/packages/agentsam-brand/src/core/inspect.js +109 -0
  147. package/packages/agentsam-brand/src/core/keys.js +83 -0
  148. package/packages/agentsam-brand/src/core/naming.js +142 -0
  149. package/packages/agentsam-brand/src/core/optimize.js +316 -0
  150. package/packages/agentsam-brand/src/core/pack.js +305 -0
  151. package/packages/agentsam-brand/src/core/plan.js +276 -0
  152. package/packages/agentsam-brand/src/core/preview.js +159 -0
  153. package/packages/agentsam-brand/src/core/processors/cloudflare.js +68 -0
  154. package/packages/agentsam-brand/src/core/processors/contract.js +203 -0
  155. package/packages/agentsam-brand/src/core/processors/index.js +148 -0
  156. package/packages/agentsam-brand/src/core/processors/native.js +82 -0
  157. package/packages/agentsam-brand/src/core/processors/sharp.js +113 -0
  158. package/packages/agentsam-brand/src/core/processors/squoosh-binary.js +195 -0
  159. package/packages/agentsam-brand/src/core/promote.js +288 -0
  160. package/packages/agentsam-brand/src/core/receipts.js +155 -0
  161. package/packages/agentsam-brand/src/core/v2/compile.js +280 -0
  162. package/packages/agentsam-brand/src/core/v2/derivatives-semantic.js +207 -0
  163. package/packages/agentsam-brand/src/core/v2/ingest-graph.js +387 -0
  164. package/packages/agentsam-brand/src/core/v2/roles.js +180 -0
  165. package/packages/agentsam-brand/src/core/v2/schema.js +209 -0
  166. package/packages/agentsam-brand/src/core/v2/templates.js +114 -0
  167. package/packages/agentsam-brand/src/index.js +193 -36
  168. package/packages/agentsam-brand/src/presets/app-icon.json +16 -0
  169. package/packages/agentsam-brand/src/presets/favicon.json +17 -0
  170. package/packages/agentsam-brand/src/presets/hero.json +12 -0
  171. package/packages/agentsam-brand/src/presets/index.js +40 -0
  172. package/packages/agentsam-brand/src/presets/logo.json +12 -0
  173. package/packages/agentsam-brand/src/presets/model.json +8 -0
  174. package/packages/agentsam-brand/src/presets/og-image.json +10 -0
  175. package/packages/agentsam-brand/src/presets/product-shot.json +11 -0
  176. package/packages/agentsam-brand/src/presets/social-image.json +10 -0
  177. package/packages/agentsam-brand/src/presets/web-image.json +10 -0
  178. package/packages/agentsam-contracts/package.json +13 -3
  179. package/packages/agentsam-contracts/src/artifacts.ts +41 -0
  180. package/packages/agentsam-contracts/src/tools.ts +22 -0
  181. package/packages/agentsam-errors/package.json +13 -3
  182. package/packages/agentsam-knowledge/package.json +18 -4
  183. package/packages/agentsam-knowledge/src/autorag/index.js +11 -4
  184. package/packages/agentsam-knowledge/src/backends/index.js +33 -1
  185. package/packages/agentsam-knowledge/src/providers/index.js +6 -4
  186. package/packages/agentsam-knowledge/src/providers/ollama-endpoint.js +31 -0
  187. package/packages/agentsam-knowledge/test/autorag.test.mjs +81 -1
  188. package/packages/agentsam-nav/package.json +26 -8
  189. package/packages/agentsam-queue-control/README.md +1 -1
  190. package/packages/agentsam-queue-control/package.json +7 -2
  191. package/packages/agentsam-rapid-rust/Cargo.lock +344 -0
  192. package/packages/agentsam-rapid-rust/Cargo.toml +18 -0
  193. package/packages/agentsam-rapid-rust/README.md +5 -0
  194. package/packages/agentsam-rapid-rust/src/main.rs +718 -0
  195. package/packages/agentsam-rapid-rust/templates/api/Cargo.toml.tmpl +18 -0
  196. package/packages/agentsam-rapid-rust/templates/api/src/lib.rs.tmpl +17 -0
  197. package/packages/agentsam-rapid-rust/templates/common/README.md.tmpl +22 -0
  198. package/packages/agentsam-rapid-rust/templates/common/package.json.tmpl +12 -0
  199. package/packages/agentsam-rapid-rust/templates/common/wrangler.toml.tmpl +6 -0
  200. package/packages/agentsam-rapid-rust/templates/crypto-auth/Cargo.toml.tmpl +21 -0
  201. package/packages/agentsam-rapid-rust/templates/crypto-auth/src/lib.rs.tmpl +32 -0
  202. package/packages/agentsam-rapid-rust/templates/data-processor/Cargo.toml.tmpl +18 -0
  203. package/packages/agentsam-rapid-rust/templates/data-processor/src/lib.rs.tmpl +41 -0
  204. package/packages/agentsam-rapid-rust/templates/shared-core/Cargo.toml.tmpl +9 -0
  205. package/packages/agentsam-rapid-rust/templates/shared-core/core/Cargo.toml.tmpl +7 -0
  206. package/packages/agentsam-rapid-rust/templates/shared-core/core/src/lib.rs.tmpl +23 -0
  207. package/packages/agentsam-rapid-rust/templates/shared-core/worker/Cargo.toml.tmpl +12 -0
  208. package/packages/agentsam-rapid-rust/templates/shared-core/worker/src/lib.rs.tmpl +16 -0
  209. package/packages/agentsam-rapid-rust/templates/shared-core/wrangler.toml.tmpl +6 -0
  210. package/packages/agentsam-repository/package.json +13 -3
  211. package/packages/agentsam-repository/src/index.js +1 -0
  212. package/packages/agentsam-repository/src/merkle/semantic.js +3 -10
  213. package/packages/agentsam-repository/src/source-types.js +93 -0
  214. package/packages/agentsam-vault/README.md +96 -0
  215. package/packages/agentsam-vault/package.json +42 -0
  216. package/packages/agentsam-vault/src/contracts/credential.d.ts +78 -0
  217. package/packages/agentsam-vault/src/contracts/credential.js +132 -0
  218. package/packages/agentsam-vault/src/crypto/aes-gcm.d.ts +30 -0
  219. package/packages/agentsam-vault/src/crypto/aes-gcm.js +107 -0
  220. package/packages/agentsam-vault/src/crypto/oauth-envelope.js +150 -0
  221. package/packages/agentsam-vault/src/index.d.ts +9 -0
  222. package/packages/agentsam-vault/src/index.js +27 -0
  223. package/packages/agentsam-vault/src/providers/registry.js +90 -0
  224. package/packages/agentsam-vault/src/runtime/resolver.js +77 -0
  225. package/packages/agentsam-workbench/README.md +24 -0
  226. package/packages/agentsam-workbench/package.json +49 -0
  227. package/packages/agentsam-workbench/src/agent/AgentPanel.tsx +41 -0
  228. package/packages/agentsam-workbench/src/agent/ArtifactCard.tsx +9 -0
  229. package/packages/agentsam-workbench/src/agent/Composer.tsx +102 -0
  230. package/packages/agentsam-workbench/src/agent/ConnectedAgentPanel.tsx +194 -0
  231. package/packages/agentsam-workbench/src/agent/ContextualComposer.tsx +788 -0
  232. package/packages/agentsam-workbench/src/agent/GoalStatusStrip.tsx +38 -0
  233. package/packages/agentsam-workbench/src/agent/MiniAgentSam.tsx +86 -0
  234. package/packages/agentsam-workbench/src/agent/ModelSelect.tsx +19 -0
  235. package/packages/agentsam-workbench/src/agent/Thread.tsx +56 -0
  236. package/packages/agentsam-workbench/src/agent/ToolPermissionRequest.tsx +94 -0
  237. package/packages/agentsam-workbench/src/agent/ToolReceipt.tsx +11 -0
  238. package/packages/agentsam-workbench/src/agent/contextual-composer.css +611 -0
  239. package/packages/agentsam-workbench/src/agent/index.ts +12 -0
  240. package/packages/agentsam-workbench/src/agent/mini-agentsam.css +12 -0
  241. package/packages/agentsam-workbench/src/agent/tool-permission.css +134 -0
  242. package/packages/agentsam-workbench/src/browser/BrowserFrame.tsx +37 -0
  243. package/packages/agentsam-workbench/src/browser/index.ts +1 -0
  244. package/packages/agentsam-workbench/src/index.ts +6 -0
  245. package/packages/agentsam-workbench/src/project-control.css +160 -0
  246. package/packages/agentsam-workbench/src/projects/ProjectsSurface.tsx +131 -0
  247. package/packages/agentsam-workbench/src/projects/index.ts +1 -0
  248. package/packages/agentsam-workbench/src/shell/Breadcrumb.tsx +35 -0
  249. package/packages/agentsam-workbench/src/shell/ResizableStage.tsx +99 -0
  250. package/packages/agentsam-workbench/src/shell/SidePanel.tsx +5 -0
  251. package/packages/agentsam-workbench/src/shell/index.ts +4 -0
  252. package/packages/agentsam-workbench/src/shell/surfaceRegistry.ts +29 -0
  253. package/packages/agentsam-workbench/src/terminal/TerminalSurface.tsx +5 -0
  254. package/packages/agentsam-workbench/src/terminal/index.ts +1 -0
  255. package/packages/agentsam-workbench/src/timeline/GanttBoard.tsx +258 -0
  256. package/packages/agentsam-workbench/src/timeline/index.ts +1 -0
  257. package/packages/agentsam-workbench/tsconfig.json +13 -0
  258. package/packages/connectors/cloudflare/OAUTH_STORAGE_AUDIT.md +53 -0
  259. package/packages/connectors/cloudflare/package.json +16 -4
  260. package/packages/connectors/cloudflare/src/api-client.js +280 -0
  261. package/packages/connectors/cloudflare/src/capabilities.js +585 -0
  262. package/packages/connectors/cloudflare/src/credential.js +318 -0
  263. package/packages/connectors/cloudflare/src/families/brand-protection.js +123 -0
  264. package/packages/connectors/cloudflare/src/families/keyless.js +114 -0
  265. package/packages/connectors/cloudflare/src/families/pages.js +151 -0
  266. package/packages/connectors/cloudflare/src/families/scanner.js +123 -0
  267. package/packages/connectors/cloudflare/src/families/snippets.js +207 -0
  268. package/packages/connectors/cloudflare/src/families/tag-gateway.js +46 -0
  269. package/packages/connectors/cloudflare/src/families/tags.js +124 -0
  270. package/packages/connectors/cloudflare/src/families/token-validation.js +95 -0
  271. package/packages/connectors/cloudflare/src/families/vectorize.js +127 -0
  272. package/packages/connectors/cloudflare/src/families/workflows.js +156 -0
  273. package/packages/connectors/cloudflare/src/index.js +103 -265
  274. package/packages/connectors/cloudflare/src/oauth-persist.js +336 -0
  275. package/packages/connectors/cloudflare/src/owner.js +42 -12
  276. package/packages/connectors/cloudflare/src/permission-options.js +1064 -0
  277. package/packages/connectors/cloudflare/src/routes.js +309 -144
  278. package/packages/connectors/cloudflare/src/scope-catalog.js +345 -0
  279. package/packages/connectors/cloudflare/src/vault.js +2 -2
  280. package/packages/connectors/cloudflare/tests/capabilities.test.mjs +276 -0
  281. package/packages/connectors/cloudflare/tests/connector.test.mjs +26 -30
  282. package/packages/connectors/cloudflare/tests/oauth-persist.test.mjs +125 -0
  283. package/packages/heuristic-theme/README.md +2 -2
  284. package/packages/heuristic-theme/package.json +8 -3
  285. package/packages/heuristic-theme/src/registry.js +2 -2
  286. package/packages/heuristic-theme/src/theme.js +1 -1
  287. package/packages/heuristic-theme/test/theme.test.mjs +1 -1
  288. package/packages/identity/.agentsam/features/oauth-login-portal/agentsam.feature.json +1 -1
  289. package/packages/identity/.agentsam/features/oauth-login-portal/providers.json +44 -4
  290. package/packages/identity/.agentsam/features/oauth-login-portal/resources.json +10 -4
  291. package/packages/identity/.agentsam/features/oauth-login-portal/routes.json +20 -0
  292. package/packages/identity/README.md +2 -2
  293. package/packages/identity/backend/README.md +1 -1
  294. package/packages/identity/migrations/D1_SCHEMA_MAPPING.md +18 -14
  295. package/packages/identity/migrations/apply-portable.js +109 -0
  296. package/packages/identity/migrations/sqlite/004_identity_oauth_consent_catalog.sql +48 -0
  297. package/packages/identity/migrations/sqlite/005_identity_company_native.sql +52 -0
  298. package/packages/identity/package.json +27 -5
  299. package/packages/identity/schema/agentsam.identity/manifest.json +101 -0
  300. package/packages/identity/scripts/local-identity-bridge.mjs +190 -0
  301. package/packages/identity/scripts/preview-auth-portal.mjs +8 -8
  302. package/packages/identity/src/adapters/cloudflare-d1/index.js +8 -372
  303. package/packages/identity/src/adapters/iam-compat/index.js +540 -0
  304. package/packages/identity/src/adapters/portable-d1/index.js +18 -0
  305. package/packages/identity/src/adapters/portable-store.js +479 -0
  306. package/packages/identity/src/adapters/sqlite/index.js +13 -309
  307. package/packages/identity/src/contracts/auth-config.js +27 -8
  308. package/packages/identity/src/contracts/external-identity.js +1 -1
  309. package/packages/identity/src/contracts/identity-store.js +56 -5
  310. package/packages/identity/src/contracts/provider.js +2 -0
  311. package/packages/identity/src/contracts/sign-in-options.js +104 -0
  312. package/packages/identity/src/core/constants.js +1 -1
  313. package/packages/identity/src/core/session-policy.js +31 -0
  314. package/packages/identity/src/frontend/auth-portal/README.md +2 -1
  315. package/packages/identity/src/frontend/auth-portal/pages/login.html +7 -6
  316. package/packages/identity/src/frontend/auth-portal/pages/reset.html +6 -5
  317. package/packages/identity/src/frontend/auth-portal/pages/signup.html +6 -5
  318. package/packages/identity/src/frontend/auth-portal/shared/company-branding.js +1 -1
  319. package/packages/identity/src/frontend/auth-portal/shared/desktop-identity-bridge.js +176 -0
  320. package/packages/identity/src/index.js +44 -1
  321. package/packages/identity/src/migrations/0001_identity_core.sql +19 -2
  322. package/packages/identity/src/migrations/0003_accounts_ssot.sql +20 -0
  323. package/packages/identity/src/migrations/README.md +23 -20
  324. package/packages/identity/src/oauth/README.md +10 -5
  325. package/packages/identity/src/oauth/consent-view.js +388 -0
  326. package/packages/identity/src/oauth/credentials.js +39 -20
  327. package/packages/identity/src/oauth/google-desktop-exchange.js +341 -0
  328. package/packages/identity/src/oauth/iam-platform.js +21 -9
  329. package/packages/identity/src/oauth/native-handoff.js +136 -0
  330. package/packages/identity/src/providers/chatgpt/headers.js +65 -0
  331. package/packages/identity/src/providers/chatgpt/index.js +86 -0
  332. package/packages/identity/src/providers/chatgpt/mapper.js +43 -0
  333. package/packages/identity/src/providers/chatgpt/paths.js +45 -0
  334. package/packages/identity/src/providers/cloudflare/oauth.js +3 -4
  335. package/packages/identity/src/providers/cloudflare/profile.js +49 -14
  336. package/packages/identity/src/providers/github/oauth.js +1 -2
  337. package/packages/identity/src/providers/github/profile.js +16 -2
  338. package/packages/identity/src/providers/iam/index.js +27 -5
  339. package/packages/identity/src/providers/index.js +11 -3
  340. package/packages/identity/src/server/identity-service.js +33 -3
  341. package/packages/identity/src/server/worker-router.js +171 -88
  342. package/packages/identity/tests/auth-config.test.mjs +3 -2
  343. package/packages/identity/tests/chatgpt-provider.test.mjs +75 -0
  344. package/packages/identity/tests/google-desktop-identity-login.test.mjs +210 -0
  345. package/packages/identity/tests/identity-init-scaffold.test.mjs +17 -3
  346. package/packages/identity/tests/identity-service.test.mjs +16 -0
  347. package/packages/identity/tests/lane1-identity-store-parity.test.mjs +527 -0
  348. package/packages/identity/tests/lane1-packed-consumer.test.mjs +175 -0
  349. package/packages/identity/tests/native-oauth-handoff.test.mjs +292 -0
  350. package/packages/identity/tests/native-session-worker.test.mjs +64 -0
  351. package/packages/identity/tests/oauth-consent-view.test.mjs +106 -0
  352. package/packages/identity/tests/oauth-credentials.test.mjs +21 -8
  353. package/packages/identity/tests/oauth-presets-accounts-ssot.test.mjs +58 -0
  354. package/packages/identity/tests/preview-auth-portal.test.mjs +5 -3
  355. package/packages/identity/tests/session-routes-policy.test.mjs +13 -1
  356. package/packages/identity/tests/worker-runtime-boundary.test.mjs +11 -0
  357. package/packages/providers/completeful/package.json +7 -2
  358. package/packages/runtime-protocol/src/index.js +154 -0
  359. package/packages/theme-church-site/package.json +17 -6
  360. package/packages/theme-church-site/src/harvest.json +4 -2
  361. package/packages/theme-church-site/src/index.js +7 -3
  362. package/packages/theme-church-site/test/theme.test.mjs +4 -2
  363. package/packages/theme-companions-site/package.json +17 -6
  364. package/packages/theme-companions-site/src/harvest.json +4 -2
  365. package/packages/theme-companions-site/src/index.js +7 -3
  366. package/packages/theme-companions-site/test/theme.test.mjs +4 -2
  367. package/packages/theme-floors-site/package.json +17 -6
  368. package/packages/theme-floors-site/src/harvest.json +4 -2
  369. package/packages/theme-floors-site/src/index.js +7 -3
  370. package/packages/theme-floors-site/test/theme.test.mjs +4 -2
  371. package/packages/theme-fuelnfree-site/package.json +17 -6
  372. package/packages/theme-fuelnfree-site/src/harvest.json +4 -2
  373. package/packages/theme-fuelnfree-site/src/index.js +7 -3
  374. package/packages/theme-fuelnfree-site/test/theme.test.mjs +4 -2
  375. package/packages/theme-handyman-site/package.json +17 -6
  376. package/packages/theme-handyman-site/src/harvest.json +4 -2
  377. package/packages/theme-handyman-site/src/index.js +7 -3
  378. package/packages/theme-handyman-site/test/theme.test.mjs +4 -2
  379. package/packages/theme-insurance-site/package.json +17 -6
  380. package/packages/theme-insurance-site/src/harvest.json +4 -2
  381. package/packages/theme-insurance-site/src/index.js +7 -3
  382. package/packages/theme-insurance-site/test/theme.test.mjs +4 -2
  383. package/packages/theme-scenes/README.md +164 -0
  384. package/packages/theme-scenes/package.json +54 -0
  385. package/packages/theme-scenes/src/blocks/index.js +30 -0
  386. package/packages/theme-scenes/src/contracts/index.js +286 -0
  387. package/packages/theme-scenes/src/demos/index.js +65 -0
  388. package/packages/theme-scenes/src/index.js +75 -0
  389. package/packages/theme-scenes/src/presets/index.js +263 -0
  390. package/packages/theme-scenes/src/registry.js +187 -0
  391. package/packages/theme-scenes/src/runtime/compile.js +119 -0
  392. package/packages/theme-scenes/src/scenes/index.js +146 -0
  393. package/packages/theme-scenes/src/shell/index.js +47 -0
  394. package/packages/theme-scenes/src/themes/index.js +129 -0
  395. package/packages/theme-scenes/src/visuals/index.js +41 -0
  396. package/packages/theme-scenes/test/theme-scenes.test.mjs +179 -0
  397. package/packages/theme-shinshu-site/package.json +17 -6
  398. package/packages/theme-shinshu-site/src/harvest.json +4 -2
  399. package/packages/theme-shinshu-site/src/index.js +7 -3
  400. package/packages/theme-shinshu-site/test/theme.test.mjs +4 -2
  401. package/packages/work-graph/package.json +14 -4
  402. package/packages/work-graph/src/index.js +34 -1
  403. package/packages/work-graph/src/renderers/gantt-model.js +24 -0
  404. package/packages/work-graph/test/work-graph.test.mjs +27 -7
  405. package/protocol/FILEMETA_V1.md +2 -2
  406. package/protocol/README.md +15 -7
  407. package/protocol/apps/agentsam.app.v1.schema.json +89 -7
  408. package/protocol/apps/agentsam.host-install.v1.schema.json +36 -0
  409. package/protocol/assets/README.md +9 -0
  410. package/protocol/assets/asset-record.v1.schema.json +64 -0
  411. package/protocol/capabilities/manifest.json +1 -1
  412. package/protocol/database/agentsam.schema-pack.v1.schema.json +72 -0
  413. package/protocol/presets/catalog.json +2 -2
  414. package/protocol/runtime/agentsam.runtime.v1.schema.json +75 -0
  415. package/protocol/scoring/README.md +10 -0
  416. package/protocol/scoring/scorecard.v1.schema.json +65 -0
  417. package/protocol/theme-refinery/lineage-registry.json +105 -0
  418. package/protocol/theme-refinery/product-metadata.schema.json +21 -1
  419. package/protocol/ui/icon-registry.mjs +1 -0
  420. package/registry/cms-rust-machine-20260928/installable-products.json +31 -0
  421. package/registry/cms-rust-machine-20260928/manifest.json +22 -0
  422. package/registry/cms-rust-machine-20260928/migration.sql +237 -0
  423. package/registry/cms-rust-machine-20260928/receipt.json +21 -0
  424. package/registry/cms-rust-machine-20260928/receipt.sql +27 -0
  425. package/scripts/build_rapid_rust_cli.py +83 -0
  426. package/skills/grok-auth/SKILL.md +110 -0
  427. package/skills/grok-auth/agentsam.skill.json +25 -0
  428. package/skills/grok-auth/references/grok-identity.md +64 -0
  429. package/skills/grok-auth/references/per-user-data.md +49 -0
  430. package/skills/grok-auth/references/prewired-and-env.md +54 -0
  431. package/skills/grok-auth/references/session-ui.md +133 -0
  432. package/skills/grok-auth/references/sign-in-methods.md +55 -0
  433. package/skills/grok-auth/references/wiring.md +71 -0
  434. package/skills/grok-building-games/SKILL.md +213 -0
  435. package/skills/grok-building-games/agentsam.skill.json +25 -0
  436. package/skills/grok-building-games/references/3d-libs.md +64 -0
  437. package/skills/grok-building-games/references/ai-pathfinding.md +122 -0
  438. package/skills/grok-building-games/references/audio.md +129 -0
  439. package/skills/grok-building-games/references/babylon.md +202 -0
  440. package/skills/grok-building-games/references/collision-physics.md +122 -0
  441. package/skills/grok-building-games/references/ecs-architecture.md +111 -0
  442. package/skills/grok-building-games/references/game-feel-juice.md +110 -0
  443. package/skills/grok-building-games/references/genres/board-card-chess.md +89 -0
  444. package/skills/grok-building-games/references/genres/endless-runner.md +83 -0
  445. package/skills/grok-building-games/references/genres/fps.md +105 -0
  446. package/skills/grok-building-games/references/genres/platformer-2d.md +97 -0
  447. package/skills/grok-building-games/references/genres/puzzle-match3-tetris.md +131 -0
  448. package/skills/grok-building-games/references/genres/racing-kart.md +106 -0
  449. package/skills/grok-building-games/references/genres/topdown-twin-stick.md +97 -0
  450. package/skills/grok-building-games/references/genres/tower-defense.md +84 -0
  451. package/skills/grok-building-games/references/genres/voxel-minecraft.md +89 -0
  452. package/skills/grok-building-games/references/input.md +139 -0
  453. package/skills/grok-building-games/references/phaser.md +277 -0
  454. package/skills/grok-building-games/references/procedural-generation.md +141 -0
  455. package/skills/grok-building-games/references/save-persistence.md +108 -0
  456. package/skills/grok-building-games/references/threejs-foundational.md +148 -0
  457. package/skills/grok-controls/SKILL.md +274 -0
  458. package/skills/grok-controls/agentsam.skill.json +25 -0
  459. package/skills/grok-design-ui/SKILL.md +122 -0
  460. package/skills/grok-design-ui/agentsam.skill.json +25 -0
  461. package/skills/grok-design-ui/references/animations.md +379 -0
  462. package/skills/grok-design-ui/references/performance.md +88 -0
  463. package/skills/grok-design-ui/references/refined-ui.md +384 -0
  464. package/skills/grok-design-ui/references/surfaces.md +247 -0
  465. package/skills/grok-design-ui/references/typography.md +123 -0
  466. package/skills/grok-game-animation-frames/SKILL.md +84 -0
  467. package/skills/grok-game-animation-frames/agentsam.skill.json +25 -0
  468. package/skills/grok-game-asset-core/SKILL.md +69 -0
  469. package/skills/grok-game-asset-core/agentsam.skill.json +25 -0
  470. package/skills/grok-game-character-consistency/SKILL.md +69 -0
  471. package/skills/grok-game-character-consistency/agentsam.skill.json +25 -0
  472. package/skills/grok-game-tilesets/SKILL.md +65 -0
  473. package/skills/grok-game-tilesets/agentsam.skill.json +25 -0
  474. package/skills/grok-game-ui-icons/SKILL.md +56 -0
  475. package/skills/grok-game-ui-icons/agentsam.skill.json +25 -0
  476. package/skills/grok-generate2dmap/LICENSE +21 -0
  477. package/skills/grok-generate2dmap/SKILL.md +120 -0
  478. package/skills/grok-generate2dmap/SOURCE.md +6 -0
  479. package/skills/grok-generate2dmap/agentsam.skill.json +25 -0
  480. package/skills/grok-generate2dmap/references/deliverables.md +101 -0
  481. package/skills/grok-generate2dmap/references/layered-map-contract.md +209 -0
  482. package/skills/grok-generate2dmap/references/map-strategies.md +341 -0
  483. package/skills/grok-generate2dmap/references/object-production-gate.md +24 -0
  484. package/skills/grok-generate2dmap/references/pipeline.md +149 -0
  485. package/skills/grok-generate2dmap/references/prop-pack-contract.md +174 -0
  486. package/skills/grok-generate2dmap/references/side-scroll-stages.md +29 -0
  487. package/skills/grok-generate2dmap/scripts/compose_layered_preview.py +157 -0
  488. package/skills/grok-generate2dmap/scripts/extract_prop_pack.py +369 -0
  489. package/skills/grok-generate2dsprite/LICENSE +21 -0
  490. package/skills/grok-generate2dsprite/SKILL.md +313 -0
  491. package/skills/grok-generate2dsprite/SOURCE.md +6 -0
  492. package/skills/grok-generate2dsprite/agentsam.skill.json +25 -0
  493. package/skills/grok-generate2dsprite/references/modes.md +124 -0
  494. package/skills/grok-generate2dsprite/references/prompt-rules.md +315 -0
  495. package/skills/grok-generate2dsprite/scripts/generate2dsprite.py +1031 -0
  496. package/skills/grok-generate2dsprite/scripts/make_layout_guide.py +109 -0
  497. package/skills/grok-imagine/SKILL.md +201 -0
  498. package/skills/grok-imagine/agentsam.skill.json +25 -0
  499. package/skills/grok-multiplayer-p2p/SKILL.md +111 -0
  500. package/skills/grok-multiplayer-p2p/agentsam.skill.json +25 -0
  501. package/skills/grok-multiplayer-p2p/references/react-binding.md +144 -0
  502. package/skills/grok-multiplayer-p2p/references/signaling-relay.md +269 -0
  503. package/skills/grok-neon/SKILL.md +157 -0
  504. package/skills/grok-neon/agentsam.skill.json +25 -0
  505. package/skills/grok-og/SKILL.md +102 -0
  506. package/skills/grok-og/agentsam.skill.json +25 -0
  507. package/skills/grok-og/references/brand-pass.md +53 -0
  508. package/skills/grok-og/references/custom-card.md +107 -0
  509. package/skills/grok-og/references/favicon-and-icons.md +48 -0
  510. package/skills/grok-og/references/og-type-contract.md +18 -0
  511. package/skills/grok-og/references/placeholder-card.md +21 -0
  512. package/skills/grok-og/references/x-banner.md +41 -0
  513. package/skills/grok-threejs/SKILL.md +67 -0
  514. package/skills/grok-threejs/agentsam.skill.json +25 -0
  515. package/skills/grok-threejs/references/llms-full.txt +2780 -0
  516. package/skills/grok-video2dsprite/LICENSE +21 -0
  517. package/skills/grok-video2dsprite/SKILL.md +236 -0
  518. package/skills/grok-video2dsprite/SOURCE.md +6 -0
  519. package/skills/grok-video2dsprite/agentsam.skill.json +25 -0
  520. package/skills/grok-video2dsprite/references/pipeline.md +90 -0
  521. package/skills/grok-video2dsprite/references/prompt-rules.md +63 -0
  522. package/skills/grok-video2dsprite/scripts/video2dsprite.py +490 -0
  523. package/skills/grok-xai-api/SKILL.md +152 -0
  524. package/skills/grok-xai-api/agentsam.skill.json +25 -0
  525. package/src/attachments/index.js +6 -0
  526. package/src/attachments/intake.js +235 -0
  527. package/src/capabilities/repository-snapshot.js +19 -2
  528. package/src/cli/command-catalog.js +53 -3
  529. package/src/cli/dispatch.js +1 -0
  530. package/src/cli.js +192 -26
  531. package/src/cloudflare/runtime-status.js +2 -1
  532. package/src/commands/account-auth.js +94 -8
  533. package/src/commands/app.js +307 -3
  534. package/src/commands/autorag.js +67 -13
  535. package/src/commands/billing.js +127 -0
  536. package/src/commands/brand.js +74 -60
  537. package/src/commands/cheat-sheet.js +179 -0
  538. package/src/commands/cloudflare-login.js +222 -0
  539. package/src/commands/cloudflare.js +453 -23
  540. package/src/commands/codebaseindex.js +51 -3
  541. package/src/commands/compute.js +4 -0
  542. package/src/commands/connections.js +11 -5
  543. package/src/commands/credentials.js +116 -0
  544. package/src/commands/gcloud-auth.js +427 -0
  545. package/src/commands/google-cloud.js +375 -0
  546. package/src/commands/identity-init.js +2 -2
  547. package/src/commands/knowledge.js +59 -2
  548. package/src/commands/machine-binary.js +103 -0
  549. package/src/commands/machine.js +137 -0
  550. package/src/commands/mcp.js +226 -33
  551. package/src/commands/ollama.js +3 -2
  552. package/src/commands/plugins.js +7 -2
  553. package/src/commands/product.js +36 -0
  554. package/src/commands/runtime-status.js +28 -9
  555. package/src/commands/runtime.js +313 -0
  556. package/src/commands/rust.js +24 -0
  557. package/src/commands/security.js +67 -4
  558. package/src/commands/setup.js +296 -0
  559. package/src/commands/shell.js +16 -3
  560. package/src/commands/start-local.js +2 -2
  561. package/src/commands/status.js +8 -1
  562. package/src/commands/terminal.js +171 -0
  563. package/src/commands/update.js +140 -0
  564. package/src/commands/whoami.js +329 -65
  565. package/src/features/resolve.js +2 -0
  566. package/src/index.js +4 -0
  567. package/src/indexing/ingest/inventory.js +254 -19
  568. package/src/indexing/ingest/materials.js +3 -9
  569. package/src/indexing/ingest/style-evidence.js +181 -0
  570. package/src/knowledge/engine.js +21 -2
  571. package/src/knowledge/runtime-discovery.js +127 -0
  572. package/src/knowledge/source.js +3 -3
  573. package/src/lib/account-session.js +11 -4
  574. package/src/lib/app-authority.js +172 -0
  575. package/src/lib/auth.js +94 -21
  576. package/src/lib/core-client.js +5 -6
  577. package/src/lib/credentials-audit.js +451 -0
  578. package/src/lib/deploy/health.js +24 -6
  579. package/src/lib/detect-context.js +7 -1
  580. package/src/lib/google-cloud-connection.js +270 -0
  581. package/src/lib/google-cloud-inventory.js +385 -0
  582. package/src/lib/google-desktop-oauth.js +372 -0
  583. package/src/lib/google-studio-brokered-oauth.js +158 -0
  584. package/src/lib/identity-scaffold.js +76 -18
  585. package/src/lib/init-options.js +192 -0
  586. package/src/lib/local-scaffold.js +48 -16
  587. package/src/lib/provider-command-remediation.js +308 -0
  588. package/src/lib/provider-credentials.js +8 -0
  589. package/src/lib/scaffold/index.js +8 -2
  590. package/src/lib/scaffold/mcp-server.js +43 -0
  591. package/src/lib/scaffold/templates/mcp-server/index.js +397 -0
  592. package/src/lib/scaffold/templates/mcp-server/presets.js +39 -0
  593. package/src/lib/scaffold/wizards/cms.js +93 -0
  594. package/src/lib/scaffold/wizards/mcp-server.js +61 -0
  595. package/src/lib/setup/contract.js +26 -0
  596. package/src/lib/setup/discover.js +116 -0
  597. package/src/lib/setup/execute.js +205 -0
  598. package/src/lib/setup/planner.js +134 -0
  599. package/src/lib/setup/recipes.js +235 -0
  600. package/src/lib/setup/runtime-persist.js +197 -0
  601. package/src/lib/setup/runtime.js +394 -0
  602. package/src/lib/slash-commands.js +2 -0
  603. package/src/lib/terminal/machine-identity.js +95 -0
  604. package/src/lib/terminal-local.js +164 -0
  605. package/src/lib/terminal-scopes.js +52 -0
  606. package/src/lib/whoami-capabilities.js +184 -0
  607. package/src/local-pty/server.js +34 -5
  608. package/src/mcp/authority.js +58 -108
  609. package/src/mcp/client-adapters.js +68 -144
  610. package/src/mcp/client.js +142 -122
  611. package/src/mcp/cloudflare-bundles.js +225 -0
  612. package/src/mcp/index.js +12 -0
  613. package/src/models/discovery.js +40 -22
  614. package/src/models/inventory-core.d.ts +105 -0
  615. package/src/models/inventory-core.js +54 -6
  616. package/src/plugins/cloudflare.js +1 -1
  617. package/src/providers/ollama-chat.js +2 -1
  618. package/src/sam/types.js +27 -2
  619. package/src/security/inventory.js +12 -2
  620. package/src/security/local-vault.js +2 -0
  621. package/src/security/logs.js +3 -0
  622. package/src/security/scan.js +1 -1
  623. package/src/ui/cli/help.js +41 -0
  624. package/test/account-session.test.mjs +3 -3
  625. package/test/app-authority-context.test.mjs +32 -0
  626. package/test/apps-scaffold-contract.test.mjs +3 -2
  627. package/test/cli/api-key-env-whoami.test.mjs +2 -2
  628. package/test/cli/catalog-authority.test.mjs +64 -0
  629. package/test/cli/codebaseindex-plan-ux.test.mjs +1 -1
  630. package/test/cli/machine-command.test.mjs +34 -0
  631. package/test/cli/mcp-client.test.mjs +21 -10
  632. package/test/cli/runtime-persist.test.mjs +56 -0
  633. package/test/cli/rust-command.test.mjs +21 -0
  634. package/test/credentials-audit.test.mjs +113 -0
  635. package/test/deploy-health-scan.test.mjs +29 -1
  636. package/test/fixtures/project-authority/customer-app/.agentsam/app.json +5 -0
  637. package/test/fixtures/project-authority/customer-app/apps/my-product/index.ts +1 -0
  638. package/test/fixtures/project-authority/customer-app/wrangler.toml +17 -0
  639. package/test/gcloud-auth.test.mjs +111 -0
  640. package/test/google-cloud-connection.test.mjs +83 -0
  641. package/test/google-cloud-inventory.test.mjs +64 -0
  642. package/test/init-options.test.mjs +35 -0
  643. package/test/integration/app-command.test.mjs +30 -0
  644. package/test/integration/autorag-project-authority.integration.test.mjs +51 -0
  645. package/test/integration/autorag-runtime-discovery.test.mjs +107 -0
  646. package/test/integration/cad-project.test.mjs +4 -1
  647. package/test/integration/cms-app-scaffold.test.mjs +77 -0
  648. package/test/integration/cms-site-tenancy-contract.test.mjs +31 -19
  649. package/test/integration/codebaseindex-ingest.test.mjs +89 -0
  650. package/test/integration/database-hosted-honesty.test.mjs +49 -0
  651. package/test/integration/desktop-keychain-boundary.test.mjs +45 -0
  652. package/test/integration/features-resolve.test.mjs +30 -11
  653. package/test/integration/hosted-work-host-authority.test.mjs +47 -0
  654. package/test/integration/inspect-path-cli.test.mjs +46 -0
  655. package/test/integration/inventory-eligibility.test.mjs +59 -0
  656. package/test/integration/inventory-evidence.test.mjs +125 -0
  657. package/test/integration/local-provider-bridge.test.mjs +65 -0
  658. package/test/integration/local-studio-settings-production.test.mjs +40 -0
  659. package/test/integration/lockfile-sync.test.mjs +26 -0
  660. package/test/integration/provider-env-cli.test.mjs +13 -3
  661. package/test/integration/runtime-status.integration.test.mjs +17 -1
  662. package/test/integration/theme-package-registry.test.mjs +31 -0
  663. package/test/knowledge.test.mjs +35 -1
  664. package/test/loopback-oauth.test.mjs +53 -0
  665. package/test/ollama.test.mjs +22 -0
  666. package/test/repository-snapshot-view.test.mjs +2 -2
  667. package/test/security.test.mjs +37 -0
  668. package/test/setup-planner.test.mjs +74 -0
  669. package/test/setup-runtime.test.mjs +51 -0
  670. package/test/terminal/local-pty.mock.test.mjs +3 -1
  671. package/test/terminal-machine-identity.test.mjs +88 -0
  672. package/test/whoami-resume.test.mjs +27 -6
  673. package/packages/agentsam-brand/test/brand-scan.test.mjs +0 -106
  674. package/packages/agentsam-nav/dist/Nav.d.ts +0 -43
  675. package/packages/agentsam-nav/dist/NavCollapsible.d.ts +0 -10
  676. package/packages/agentsam-nav/dist/NavContent.d.ts +0 -2
  677. package/packages/agentsam-nav/dist/NavFooter.d.ts +0 -2
  678. package/packages/agentsam-nav/dist/NavGroup.d.ts +0 -3
  679. package/packages/agentsam-nav/dist/NavHeader.d.ts +0 -2
  680. package/packages/agentsam-nav/dist/NavMenu.d.ts +0 -22
  681. package/packages/agentsam-nav/dist/NavProvider.d.ts +0 -35
  682. package/packages/agentsam-nav/dist/NavTrigger.d.ts +0 -2
  683. package/packages/agentsam-nav/dist/Surfaces.d.ts +0 -41
  684. package/packages/agentsam-nav/dist/browser.d.ts +0 -11
  685. package/packages/agentsam-nav/dist/browser.global.js +0 -132
  686. package/packages/agentsam-nav/dist/browser.js +0 -613
  687. package/packages/agentsam-nav/dist/contracts.d.ts +0 -76
  688. package/packages/agentsam-nav/dist/index.d.ts +0 -11
  689. package/packages/agentsam-nav/dist/index.js +0 -614
  690. package/packages/agentsam-nav/dist/legacy.css +0 -83
  691. package/packages/agentsam-nav/dist/shell.css +0 -113
  692. package/packages/agentsam-nav/dist/theme.css +0 -113
  693. package/packages/agentsam-nav/dist/utils.d.ts +0 -1
  694. package/packages/agentsam-repository/src/goap.js.bak-20260922011251 +0 -670
  695. package/packages/work-graph/prototype/README.md +0 -32
  696. package/packages/work-graph/prototype/data/demo-workgraph.js +0 -47
  697. package/packages/work-graph/prototype/renderers/timeline-model.js +0 -21
  698. package/packages/work-graph/prototype/renderers/workgraph-runtime.js +0 -38
  699. package/packages/work-graph/prototype-gnantt.html +0 -655
@@ -0,0 +1,188 @@
1
+ # AgentSam Application Contract
2
+
3
+ **Status:** binding for portable product apps
4
+ **Schema:** `protocol/apps/agentsam.app.v1.schema.json`
5
+ **CLI:** `agentsam app validate` · `agentsam app list` · `agentsam app inspect <id>`
6
+
7
+ ## Artifact taxonomy
8
+
9
+ | Type | Meaning | Canonical manifest |
10
+ |------|---------|-------------------|
11
+ | **APP** | Something a user can install/run/use as a product | `agentsam.app.json` |
12
+ | **PACKAGE** | Reusable code/capability | `agentsam.package.json` (or package metadata) |
13
+ | **SERVICE** | Runtime infrastructure/backend | `agentsam.package.json` with `type: "service"` (or `agentsam.service.json`) |
14
+ | **HOST** | Something that mounts/composes apps | host / install state under `.agentsam/` |
15
+ | **THEME** | Appearance/content kit, not an app | theme package / theme-site scaffold |
16
+
17
+ A folder under `apps/` is **not** an APP merely because of its path. The AgentSam APP contract (`agentsam.app.json`) makes it one.
18
+
19
+ Example: `apps/agentsam-go-worker` correctly uses `agentsam.package.json` (`type: "service"`) and must **not** be forced into APP semantics because it is deployable.
20
+
21
+ Theme packages and static theme-site scaffolds likewise stay outside APP semantics.
22
+
23
+ ## Target tree (conceptual)
24
+
25
+ ```
26
+ apps/
27
+ cad-creator/
28
+ client-cms-editor/
29
+ ecommerce-cms/
30
+ local-studio/
31
+
32
+ packages/
33
+ database-editor/
34
+ settings/
35
+ identity/
36
+ planner/
37
+ cms-sections/
38
+ themes/
39
+
40
+ services/
41
+ go-runtime/
42
+ render-runtime/
43
+ ```
44
+
45
+ ## Identity namespaces (must not collapse)
46
+
47
+ | Namespace | Example | Role |
48
+ |-----------|---------|------|
49
+ | `APP.id` | `cad-creator` | Canonical product identity — immutable kebab-case |
50
+ | `HOST.id` / origin | host-install projection | Where this APP instance is served; belongs to installation state, not portable APP identity |
51
+ | npm package | `@inneranimalmedia/agentsam-cad-creator` | Distribute/install code |
52
+ | CLI command | `agentsam-cad-creator` / `agentsam cad` | Launch surface |
53
+ | Cloudflare Worker | `agentsam-cad-creator` | Host deployment name |
54
+ | desktop bundle | `com.inneranimalmedia.agentsam.cadcreator` | OS identity |
55
+ | route | `/cad` | URL mount |
56
+ | service | `cad-render-service` | Infrastructure |
57
+ | `PRODUCT.id` | `cms` | Platform product registry |
58
+ | `MOUNT.id` | `cms-studio` | Host mount slot |
59
+ | remote identity/account issuer | optional host/provider adapter configuration | External account authority for an installation — **not** intrinsic APP identity |
60
+
61
+ Portable APP law: an installable APP must not hardcode a donor/company hostname, remote issuer, tenant, confidential OAuth client, or customer deployment as a prerequisite for its local product experience. Those facts belong to `agentsam.host-install.v1` state or an explicitly installed provider/identity adapter.
62
+
63
+ Those names **may** differ. What must not happen:
64
+
65
+ ```js
66
+ const APP = "agentsam-cad-creator"; // Worker name ≠ APP identity
67
+ ```
68
+
69
+ ```js
70
+ // Forbidden: collapsing HOST and PLATFORM into alias env vars
71
+ const origin = env.AGENTSAM_STUDIO_ORIGIN || env.AGENTSAM_LOCAL_STUDIO_ORIGIN || env.IAM_OAUTH_ISSUER;
72
+ ```
73
+
74
+ Relate namespaces explicitly:
75
+
76
+ ```json
77
+ {
78
+ "schema": "agentsam.host-install.v1",
79
+ "app_id": "local-studio",
80
+ "config": {
81
+ "hosts": [
82
+ { "host_id": "studio-public", "origin": "https://studio.example.com", "role": "production" }
83
+ ],
84
+ "identity": { "portable_default": "local" }
85
+ }
86
+ }
87
+ ```
88
+
89
+ ```json
90
+ {
91
+ "id": "client-cms-editor",
92
+ "product_id": "cms",
93
+ "name": "AgentSam CMS",
94
+ "package": "@inneranimalmedia/client-cms-editor"
95
+ }
96
+ ```
97
+
98
+ ```json
99
+ {
100
+ "schema": "agentsam.host-install.v1",
101
+ "app_id": "client-cms-editor",
102
+ "config": {},
103
+ "mounts": []
104
+ }
105
+ ```
106
+
107
+ ## Manifest authority
108
+
109
+ ```
110
+ apps/<app-id>/
111
+ ├── agentsam.app.json ← ONE canonical product definition
112
+ ├── package.json
113
+ ├── frontend/
114
+ ├── backend/
115
+ ├── bin/
116
+ └── .agentsam/ ← host / install / project state (not a second product def)
117
+ └── app.json ← references app_id; does not redefine identity
118
+ ```
119
+
120
+ | File | Role |
121
+ |------|------|
122
+ | `agentsam.app.json` | Package/product definition — sole APP identity authority |
123
+ | `.agentsam/` | Host/user/project **installation** state for this checkout or customer |
124
+
125
+ Same APP installed into Fuel & Free Time, Companions CPAs, InnerAnimalMedia, or a customer localhost keeps the same `APP.id`. `.agentsam/` describes **this** installation.
126
+
127
+ ## Physical shape
128
+
129
+ ```
130
+ apps/<app-id>/
131
+ ├── agentsam.app.json
132
+ ├── package.json
133
+ ├── frontend/ # portable presentation/UI
134
+ ├── backend/ # application-owned server/runtime
135
+ ├── bin/ # launch/install/dev CLI
136
+ ├── scripts/
137
+ ├── test/
138
+ └── README.md
139
+ ```
140
+
141
+ Not every directory is required for every runtime. Directory **meaning** must not change.
142
+
143
+ ## Runtime identity loading
144
+
145
+ ```js
146
+ import appManifest from "../../agentsam.app.json";
147
+
148
+ export const APP = Object.freeze(appManifest);
149
+ // APP.id === "cad-creator"
150
+ ```
151
+
152
+ Forbidden:
153
+
154
+ - `const APP = "..."` (string used as product identity)
155
+ - Duplicated app definitions (root manifest + `.agentsam/app.json` both defining the product)
156
+ - Treating Worker name, npm package name, or route slug as `APP.id`
157
+
158
+ ## AGENTSAM APPLICATION CONTRACT (rules)
159
+
160
+ APP represents a portable user-facing AgentSam application.
161
+
162
+ Every APP MUST:
163
+
164
+ 1. Own exactly one canonical `agentsam.app.json`.
165
+ 2. Have one immutable kebab-case `APP.id`.
166
+ 3. Load runtime APP identity from that manifest.
167
+ 4. Keep package, service, Worker, host, route, and desktop identities separate from `APP.id`.
168
+ 5. Use explicit `app_id` / `product_id` / `service_id` / `package_id` relationships rather than aliases.
169
+ 6. Follow the standard `frontend` / `backend` / `bin` layout.
170
+ 7. Declare capabilities and entrypoints in its manifest.
171
+ 8. Be runnable independently.
172
+ 9. Be discoverable/composable by an AgentSam host.
173
+ 10. Pass `agentsam app validate`.
174
+
175
+ ## Resulting composition model
176
+
177
+ ```
178
+ npm / install / package
179
+ ↓
180
+ AgentSam APP
181
+ ↓
182
+ ┌────────┼─────────┐
183
+ ▼ ▼ ▼
184
+ standalone Local another
185
+ app Studio APP / host
186
+ ```
187
+
188
+ Goal is **not** one identifier everywhere. Goal is **one canonical identifier per namespace**, with explicit relationships between namespaces.
@@ -0,0 +1,171 @@
1
+ # AgentSam Runtime Protocol
2
+
3
+ > Standing law: **`agentsam.runtime.v1` is the portable execution contract. `agentsamd` and ExecOS are supported runtime implementations/adapters; neither is a transport.**
4
+
5
+ ## Architectural law
6
+
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
+
9
+ Physical D1 tables stay `terminal_*` for this generation. Domain nouns in code are `RuntimeInstance`, `RuntimeConnection`, `RuntimeAdapter`, `RuntimeCapabilities`.
10
+
11
+ | Noun | Role |
12
+ |---|---|
13
+ | **agentsamd** | Lives with execution: exec, PTY, fs, processes, git, tools, capabilities, attach |
14
+ | **Native helper** (this sprint) | Privileged companion under unprivileged Go: keychain, mounts, devices |
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
+ | **PTY_SERVICE** | VPC/PTY health lane — not the daemon |
17
+ | **agentsam-go-worker** | Optional hosted Go service (same Go core). **Not** the Studio control plane |
18
+ | **Local Studio Worker** | Stock app host: auth, D1 SSOT, bindings, runtime APIs |
19
+
20
+ ### Four permanent concepts (never conflate)
21
+
22
+ ```text
23
+ INSTANCE what computer/execution environment is this?
24
+ ADAPTER what speaks agentsam.runtime.v1 there?
25
+ TRANSPORT how do we reach that adapter?
26
+ AUTH how is this connection authenticated?
27
+ ```
28
+
29
+ Examples:
30
+
31
+ | | Mac | GCP VM | CF Sandbox |
32
+ |---|---|---|---|
33
+ | provider | local | google_cloud | cloudflare |
34
+ | substrate | host | vm | sandbox |
35
+ | lifecycle | persistent | persistent | ephemeral |
36
+ | provider_product | (host) | compute_engine | sandbox |
37
+ | protocol | agentsam.runtime.v1 | same | same |
38
+ | runtime_adapter | agentsamd or ExecOS | agentsamd or ExecOS | cloudflare_sandbox |
39
+ | transport | cloudflare_tunnel / direct_https | cloudflare_tunnel / vpc_service | service_binding |
40
+ | auth_mode | connection_token | connection_token / platform_bridge | service_binding |
41
+
42
+ **Forbidden:** `transport IN ('execos','container')` — those were adapter/substrate smuggled into transport.
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
+
62
+ ---
63
+
64
+ ## Runtime Registry (D1 spine — preserve)
65
+
66
+ ```text
67
+ ACCOUNT
68
+ │
69
+ ├── agentsam_api_credentials AAK / BRK
70
+ ├── cloud_provider_connections optional provisioning authority (widen providers)
71
+ │
72
+ └── terminal_instances WHAT EXISTS
73
+ ├── provider, substrate, provider_product, lifecycle
74
+ ├── platform / arch / capabilities_json
75
+ ▼
76
+ terminal_connections HOW AGENTSAM TALKS TO IT
77
+ ├── protocol = agentsam.runtime.v1
78
+ ├── runtime_adapter = agentsamd | execos_legacy (ExecOS compatibility id) | …
79
+ ├── transport = direct_https | cloudflare_tunnel | vpc_service | …
80
+ ├── auth_mode
81
+ ├── terminal_connection_credentials
82
+ ├── terminal_enrollment_tokens
83
+ ├── terminal_sessions interactive PTY
84
+ ├── terminal_jobs noninteractive (runtime_run_id)
85
+ └── terminal_port_forwards
86
+ ```
87
+
88
+ **Do not** introduce parallel `runtime_instances` / `runtime_connections` tables this generation.
89
+
90
+ ### Authority ladder (keep)
91
+
92
+ ```text
93
+ AAK / BRK → enrollment token → connection credential → session attach token
94
+ ```
95
+
96
+ ### Rebuild now (bounded)
97
+
98
+ 1. **`terminal_instances`** — drop `kind`↔provider CHECK; drop `compute_provider`; add substrate / provider_product / lifecycle / hw_model; normalize arch `x64`→`x86_64`.
99
+ 2. **`terminal_connections`** — replace transport=`execos|container` with `protocol` + `runtime_adapter` + real `transport`; fold `transport_provider` into `transport`; add `endpoint_ref`; stop growing provider-specific columns (keep queried CF indexes for now, prefer `provider_metadata_json`).
100
+ 3. **`terminal_jobs`** — `execos_run_id` → `runtime_run_id` (all live values null).
101
+ 4. **`cloud_provider_connections`** — widen `provider`; remove policy CHECK forcing GCP `provider_connection_id`.
102
+
103
+ ### Do not rebuild unless needed
104
+
105
+ `terminal_connection_credentials`, `terminal_enrollment_tokens`, `terminal_sessions` (optionally rename `auth_token_hash`→`attach_token_hash` while empty), `terminal_port_forwards`, `agentsam_api_credentials`.
106
+
107
+ ---
108
+
109
+ ## Installation grades (this sprint)
110
+
111
+ | Grade | What |
112
+ |---|---|
113
+ | **Full daemon** | Go `agentsamd` + enroll + LaunchAgent/systemd |
114
+ | **Native helper** | Rust/Zig privileged helper with daemon |
115
+ | **Provider adapter** | CF Sandbox etc. (`runtime_adapter=cloudflare_sandbox`) |
116
+
117
+ ```bash
118
+ agentsam setup runtime
119
+ # plan → create instance → create connection → mint enrollment → agentsamd enroll
120
+ ```
121
+
122
+ ---
123
+
124
+ ## Protocol surface
125
+
126
+ ```text
127
+ identity / capabilities / health
128
+ exec / spawn / signal / terminate
129
+ pty.create|attach|resize|detach
130
+ fs.read|write|list|watch
131
+ ports.list|expose
132
+ system.inspect
133
+ ```
134
+
135
+ ---
136
+
137
+ ## Migration priority
138
+
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.
149
+
150
+ ---
151
+
152
+ ## Rejected
153
+
154
+ - Parallel `runtime_*` physical tables beside `terminal_*` this generation
155
+ - `transport = execos` or `container`
156
+ - kind↔provider coupling (VM=Google only, etc.)
157
+ - Soft dual-write forever
158
+ - Casting agentsam-go-worker as the EXECOS/control plane
159
+ - Stock dependence on `load-agent-env.sh`
160
+
161
+ ---
162
+
163
+ ## Success criteria
164
+
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.
@@ -14,12 +14,20 @@
14
14
  Browser GET on connections **start** → 302 to Cloudflare.
15
15
  `fetch` + `Accept: application/json` → `{ authorize_url }`.
16
16
 
17
- ## D1
17
+ ## D1 tables (Cloudflare connect / approve)
18
18
 
19
- - `identity_oauth_states` — identity PKCE (migration `0013_identity_oauth_states.sql`)
20
- - `agentsam_cloudflare_oauth_state` — MCP connector PKCE
19
+ | Table | Role |
20
+ |---|---|
21
+ | `oauth_state_nonces` | Short-lived PKCE state for connector `/api/connections/cloudflare/*` |
22
+ | `identity_oauth_states` | Short-lived PKCE for identity “Sign in with Cloudflare” |
23
+ | `user_oauth_tokens` | **SSOT** durable grant: sealed access/refresh, scopes, `account_identifier` (= CF account id), `is_active` |
24
+ | `agentsam_cloudflare_connections` | **Legacy** — migrated/superseded into `user_oauth_tokens`; do not write new rows |
25
+ | `agentsam_cloudflare_oauth_state` | Legacy MCP connector PKCE (prefer `oauth_state_nonces`) |
26
+
27
+ Vault seals token material; D1 never stores raw refresh/access plaintext in the durable grant row when vault is configured.
28
+
29
+ Resource discovery (their D1/R2/Workers) uses the sealed token from `user_oauth_tokens` — never the platform `env.DB` binding.
21
30
 
22
- ## IAM AS redirect (required)
23
31
 
24
32
  Register on client `iam_agentsam_sdk_web`:
25
33
 
@@ -0,0 +1,20 @@
1
+ # AgentSam R2 layout — slug-keyed customer namespaces (not account_id)
2
+ #
3
+ # Path identity = brand.slug (UNIQUE in D1). account_id lives inside manifest.json
4
+ # as ownership data for auth checks — never as a directory segment.
5
+ #
6
+ # {slug}/
7
+ # brand/identity.json
8
+ # brand/assets/{asset_key}/{version}/ ← brand_asset / brand_asset_variant
9
+ # site/public/… site/draft/…
10
+ # frontend/dist/
11
+ # backend/
12
+ # manifest.json ← account_id, oauth defaults, included_apps
13
+ #
14
+ # Platform chrome (not a customer):
15
+ # _platform/shared/…
16
+ #
17
+ # Product surface for non-git customers:
18
+ # agentsam scaffold new <slug>
19
+ # → provisions R2 prefix + Worker + D1 rows from an npm-packaged app scaffold
20
+ # → customers never see the monorepo
@@ -0,0 +1,97 @@
1
+ # AgentSam Work product extraction
2
+
3
+ ## Product boundary
4
+
5
+ AgentSam Work is a **private monorepo workspace package**, not a separately
6
+ published product package. It is reusable UI/runtime contract code consumed by
7
+ Local Studio and can later be composed into other AgentSam apps.
8
+
9
+ ```
10
+ packages/agentsam-work
11
+ contracts normalized Work view/runtime models
12
+ frontend shell, mini navigation, right rail, surfaces
13
+ client transport adapter
14
+ fixtures production-shaped localhost data
15
+
16
+ apps/local-studio
17
+ frontend route composition + LocalStudio WorkHost
18
+ backend/server/work
19
+ authenticated provider/storage adapters
20
+ ```
21
+
22
+ The package is intentionally parallel to `@inneranimalmedia/agentsam-settings`:
23
+ presentation/contracts are reusable; Local Studio remains the first host and
24
+ owns backend authority.
25
+
26
+ ## Donor material
27
+
28
+ The current InnerAnimalMedia dashboard remains a donor, not a dependency.
29
+
30
+ The extraction studied:
31
+
32
+ - `CollaborateWorkShell.tsx`
33
+ - `CollaboratePageRail.tsx`
34
+ - `collaborateRailNav.ts`
35
+ - `shellNav.ts`
36
+ - `LaunchDeskPage.tsx`
37
+ - `CollaborateTasksPanel.tsx`
38
+ - `MailPage.tsx`
39
+ - `api/tickets.ts`
40
+ - `api/projects.ts`
41
+ - calendar/mail/Gmail OAuth backend modules
42
+
43
+ The useful product grammar is retained:
44
+
45
+ - one Work mini navigation family;
46
+ - optional narrow right utility rail;
47
+ - Calendar/Tickets/Mail as one Work workbench;
48
+ - ticket `surface` separates engineering/platform tickets from Collaborate
49
+ tickets without duplicating the ticket runtime;
50
+ - Artifacts and Projects share the same Work chrome;
51
+ - Projects keep their card-grid information architecture;
52
+ - project detail keeps its main AgentSam composer plus the quick-stats and
53
+ project-context rail.
54
+
55
+ Dashboard-specific route prefixes, workspace navigation infrastructure, and
56
+ host-specific CSS are not imported into the package.
57
+
58
+ ## Flat route contract
59
+
60
+ ```
61
+ /collaborate
62
+ /collaborate?seg=tickets
63
+ /mail
64
+ /artifacts
65
+ /artifacts/tickets
66
+ /artifacts/tickets/:ticketId
67
+ /projects
68
+ /projects/:projectId
69
+ ```
70
+
71
+ `seg=tasks` may remain a compatibility alias at a host boundary, but reusable
72
+ links emit `seg=tickets`.
73
+
74
+ ## Theme contract
75
+
76
+ The default theme intentionally follows the simple Google Workspace/Cloud
77
+ visual grammar visible in the donor Work pages: bright canvas, subtle blue
78
+ selection, compact rows, restrained borders, little shadow, and rounded
79
+ controls.
80
+
81
+ It is not hard-coded as brand authority. Work surfaces consume semantic
82
+ `--agentsam-work-*` CSS variables. `applyWorkThemeTokens()` lets Local
83
+ Studio project a Settings → Themes selection into the Work package without
84
+ making Work import Settings.
85
+
86
+ ## Backend extraction order
87
+
88
+ 1. Keep all routes on the production-shaped fixture host until the UI shell is
89
+ approved.
90
+ 2. Implement read-only Local Studio adapters for projects, artifacts, tickets,
91
+ calendar, and mail.
92
+ 3. Switch Local Studio from `createFixtureWorkHost` to the HTTP host.
93
+ 4. Add mutations (ticket CRUD, calendar CRUD, mail actions/compose) behind the
94
+ same adapters.
95
+ 5. Normalize Gmail OAuth return paths to flat `/mail`.
96
+ 6. Only then evaluate database migrations; do not reshape live D1 just to
97
+ satisfy the frontend scaffold.
@@ -0,0 +1,70 @@
1
+ # AgentSam icon & motion grammar
2
+
3
+ Family system for product marks and UI glyphs. Static identity stays quiet and architectural; runtime motion (Computational Hyperspace) is spectral and dimensional — not the icon itself.
4
+
5
+ ## Brand hierarchy
6
+
7
+ ```text
8
+ AgentSam master brand
9
+ ├── Local Studio product identity
10
+ ├── CAD Creator product identity
11
+ ├── Ecommerce product identity
12
+ ├── CLI surface identity
13
+ └── future apps
14
+ ```
15
+
16
+ Related without sharing the exact same icon. One recognizable **master silhouette** (abstract SAM core / aperture / dimensional mark — readable at 16–24 px). Each product adds a single cue:
17
+
18
+ | Product | Cue on master geometry |
19
+ |---|---|
20
+ | Local Studio | workspace / portal |
21
+ | CAD Creator | dimensional plane / cube |
22
+ | Ecommerce | modular product-card |
23
+
24
+ ## Icon grammar
25
+
26
+ | Attribute | Rule |
27
+ |---|---|
28
+ | Base | graphite / near-black dimensional surface |
29
+ | Accent | spectral blue → violet; amber only for special active states |
30
+ | Geometry | rounded, slightly architectural |
31
+ | Detail | one dominant shape, max 2–3 secondary forms |
32
+ | Text | never in the app icon |
33
+ | Lighting | restrained edge/highlight — not glossy clip-art |
34
+ | Small sizes | simplify rather than shrink detail |
35
+ | Status icons | separate semantic system from product logos |
36
+ | Motion | slow depth/parallax; no bouncing/spinning clutter |
37
+
38
+ ## Asset drop paths (desktop shell)
39
+
40
+ | Asset | Path |
41
+ |---|---|
42
+ | App / Dock / tray PNG (prefer **1024×1024**) | `packages/agentsam-desktop-shell/icons/<app_id>/icon.png` |
43
+ | Vector mark | `packages/agentsam-desktop-shell/icons/<app_id>/*.svg` |
44
+ | Manifest | `packages/agentsam-desktop-shell/manifests/<app_id>.json` → `icon_set`, `icon_mark_svg` |
45
+
46
+ Build: `cd packages/agentsam-desktop-shell && npm run build:brand -- local-studio`
47
+ Optional: `AGENTSAM_ICON_URL=https://…/logo.png` overrides local files.
48
+
49
+ `build-brand.mjs` must honor `icon_mark_svg` when `icon.png` is missing (rasterize → `src-tauri/icons/`).
50
+
51
+ ## UI glyphs (not product logos)
52
+
53
+ One semantic layer — design system picks the glyph family:
54
+
55
+ ```jsx
56
+ <Icon name="workspace" />
57
+ <Icon name="terminal" />
58
+ <Icon name="activity" />
59
+ <Icon name="repository" />
60
+ <Icon name="warning" />
61
+ ```
62
+
63
+ Do not mix Heroicons / Lucide / random SVGs / macOS symbols as the AgentSam brand identity. Platform-native symbols OK only for OS chrome.
64
+
65
+ ## Identity vs motion
66
+
67
+ - **Static identity:** quiet / recognizable / architectural
68
+ - **Runtime motion:** spectral / dimensional / computational (Hyperspace)
69
+
70
+ See also: `docs/plans/LOCAL-STUDIO-GRADUATION-2026-09-26.md`.
@@ -0,0 +1,71 @@
1
+ # Host mount checklist — Content Studio (Path A / Commit 6)
2
+
3
+ Portable packages are ready for host adapters. Full OAuth / production mounts
4
+ are Path B / host-app work — do **not** fork packages per host.
5
+
6
+ ## Shared mount contract
7
+
8
+ Each host supplies a `ContentRuntime` via `createContentRuntime({...})`:
9
+
10
+ | Seam | Local Studio | IAM dashboard | Fuel & Free Time (customer) |
11
+ |---|---|---|---|
12
+ | `account` / `actor` | desktop session | IAM auth session | customer tenant session |
13
+ | `providers` / capability adapters | local + optional CF | R2 / Images / Drive / Stream | customer-scoped providers |
14
+ | `brandResolver` | project BrandPack projection | org BrandPack projection | customer BrandPack projection |
15
+ | `knowledge` | local / injected | host Vectorize/AutoRAG/pgvector | customer knowledge adapter |
16
+ | `localHost` | Tauri / agentsamd bridge | usually `unavailable` | usually `unavailable` |
17
+ | `routes` / `permissions` | desktop RouteMap | IAM RouteMap | customer RouteMap |
18
+ | UI | `<ContentStudio runtime={rt} />` | same | same |
19
+
20
+ ## Do
21
+
22
+ 1. Build runtime in the **host** app (not inside `agentsam-content-studio`).
23
+ 2. Derive UI tabs/actions from `await runtime.capabilities()`.
24
+ 3. Keep BrandPack authority in `agentsam-brand` / `brand.pack.json`.
25
+ 4. Use `inferBrandAssociation` only as proposals + ScoreCard evidence.
26
+ 5. Use `@inneranimalmedia/agentsam-cloudflare-images` for CF Images HTTP.
27
+
28
+ ## Don't
29
+
30
+ - Import Tauri / raw `fs` / agentsamd into reusable UI packages.
31
+ - Hardcode R2 / Images / Drive / Vectorize tabs in Content Studio.
32
+ - Embed real customer BrandPack fixtures in generic packages.
33
+ - Seed fictional `DEMO_BRAND_PROJECTIONS` into production `/content` runtimes.
34
+ - Run IAM `deploy:full` from this SDK repo for content-studio work.
35
+
36
+ ## Local Studio mount (wired)
37
+
38
+ - Route: `/content` → `ContentStudioPage` mounts `<ContentStudio runtime={…} />`
39
+ - Runtime factory: `apps/local-studio/frontend/src/lib/content/createLocalStudioContentRuntime.ts`
40
+ - **Identity:** resolved from `useCurrentUserState()` / Auth session — fail closed when missing.
41
+ No `acct_local_studio` / `local-studio-user` production defaults.
42
+ - **Brand:** empty `ContentBrandResolver` projections until host injects BrandPack (Path B).
43
+ Fictional demos live only in `demoBrandProjections.ts` (tests/examples).
44
+ - **LocalContentHost (desktop):** native Rust Tauri `local_content_bridge` —
45
+ `rfd` pickers, opaque `localref_*` / `localdir_*`, granted roots, browse in place,
46
+ copy only on `import_to_library`. **Does not require** monorepo Node or global Node.
47
+ - **LocalContentHost (browser/dev):** File System Access API when available; else
48
+ explicit browser-import (`import_bytes`, 32 MiB) via Node `/api/content/local/bridge`.
49
+ - Knowledge / BrandSimilarity: noop adapters (no Vectorize hardcode)
50
+ - agentsamd: probed via Tauri `ensure_agentsamd` / health; FS ops are native Rust until
51
+ agentsamd ships native `/v1/fs` (documented migration target)
52
+
53
+ ## Packaged-app contract
54
+
55
+ | Requirement | Status |
56
+ |---|---|
57
+ | Works from `/Applications` without repo checkout | Native Rust FS — yes |
58
+ | No global Node for content FS | Desktop native — yes; Node bridge is browser/dev only |
59
+ | Native Open File / Open Folder | `rfd` via `pick_files` / `pick_directory` |
60
+ | Selected file not copied until import | Yes — `import_to_library` is separate |
61
+ | Opaque refs only to UI/models | Yes — absolute paths stay in Rust/grant store |
62
+
63
+ ## Remaining for true 3-host E2E (Path B)
64
+
65
+ - agentsamd native `/v1/fs` + watch (migration from native Rust bridge)
66
+ - IAM dashboard route + OAuth-scoped providers
67
+ - F&F admin mount with customer account scope
68
+ - Production BrandPack projection into Local Studio `brandResolver`
69
+ - Harvest Go pipeline → SiteGraph / TokenGraph → package-readiness ScoreCards
70
+ - Brand package migration onto shared CF Images transport (content already uses it)
71
+ - Beta / outcome calibration receipts for accept/reject (does not mutate evidence)