@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,215 @@
1
+ ---
2
+ name: Universal ingest stack
3
+ overview: Strengthen agentsam-sdk in place—machine-first world state for every app/world, native decision primitives, distributable apps, mini kept as the tiny lane. Proof is real apps and harvested sites, not new demos. Branch hygiene complete on clean main.
4
+ todos:
5
+ - id: branch-audit
6
+ content: "DONE 2026-09-24: audited + deleted completed local/remote branches and worktrees; only main remains"
7
+ status: completed
8
+ - id: machine-intel-docs
9
+ content: "Batch A — Land protocol/docs Machine Intelligence scaffold (ladder, primitives, confidence≠risk, receipts, MINI/APP/WORLD)"
10
+ status: pending
11
+ - id: decision-primitives
12
+ content: "Batch A — Native predicate/choice/score/distribution + confidence policy + decision receipts (AgentSam-owned, not TypeSafe)"
13
+ status: pending
14
+ - id: world-state
15
+ content: "Batch B — Converge snapshot+Merkle+AST+brand+harvest into world-state; agentsam inspect for arbitrary paths + every apps/*"
16
+ status: pending
17
+ - id: app-maturity
18
+ content: "Batch B — Calculated maturity + provenance/hashes/capabilities/relationships/verify/next for every apps/*"
19
+ status: pending
20
+ - id: verify-strengthen
21
+ content: "Batch B — Strengthen verify-package/source-boundaries, app contract tests, registry receipts (imperfect = observable)"
22
+ status: pending
23
+ - id: ingest-on-worlds
24
+ content: "Batch C — Universal ingest/extract/sensitive/catalog feeding world-state; fixtures = harvested sites + real apps"
25
+ status: pending
26
+ - id: app-distribute
27
+ content: "Batch D — Graduate curated apps toward npm install / agentsam app add (runtime/scaffold only; exclude donor junk)"
28
+ status: pending
29
+ - id: mini-keep-tiny
30
+ content: "Batch D — Keep mini as instant zero-dep utility lane; demote from architectural poster framing in docs/help"
31
+ status: pending
32
+ - id: disk-clutter
33
+ content: "Optional hygiene — review leftover /Users/samprimeaux/agent-worktrees/* dirs (not linked worktrees; some 50–254MB clones)"
34
+ status: pending
35
+ isProject: false
36
+ ---
37
+
38
+ # Machine-first AgentSam — strengthen worlds in place
39
+
40
+ ## Intent (locked)
41
+
42
+ **Audit and strengthen the current system. Do not redesign the repo around package purity.**
43
+
44
+ Home: [`/Users/samprimeaux/agentsam-sdk`](/Users/samprimeaux/agentsam-sdk) @ clean `main` (`c017da3` Brand Intelligence).
45
+
46
+ Preserve ownership:
47
+
48
+ | Layer | Role |
49
+ |-------|------|
50
+ | `apps/*` | Product authoring SSOT — real worlds at uneven maturity |
51
+ | `packages/*` | Reusable / packageable capability surfaces |
52
+ | `protocol/*` | Portable contracts + evidence |
53
+ | `src/*` | AgentSam runtime / CLI machinery |
54
+ | `mini` | Intentionally tiny utility lane — **not** the architectural proof |
55
+
56
+ **Proof already exists:** `local-studio`, `cad-creator`, `client-cms-editor`, `ecommerce-cms-agentsam`, seven harvested sites. Imperfection is maturity state, not exclusion:
57
+
58
+ ```text
59
+ harvested → scaffolded → wired → verified → releasable → production
60
+ ```
61
+
62
+ ## Product scales
63
+
64
+ ```text
65
+ MINI — tiny local artifact, instant preview, seconds
66
+ APP — complete packaged product (npm install / agentsam app add), minutes
67
+ WORLD — arbitrary repo → deterministic world state → progressive normalize
68
+ ```
69
+
70
+ ---
71
+
72
+ ## Branch audit — COMPLETE (2026-09-24)
73
+
74
+ Repo now: **local `main` only**, synced to `origin/main` @ `c017da3`. No linked git worktrees besides the primary checkout.
75
+
76
+ ### Deleted (fully on main — tip == merge-base / 0 ahead)
77
+
78
+ | Branch | Local | Remote | Notes |
79
+ |--------|:-----:|:------:|-------|
80
+ | `chore/package-release-system-20260923` | deleted | deleted | ancestor |
81
+ | `feat/cad-project-tools-20260922` | deleted | deleted | + worktree removed |
82
+ | `feat/feature-capability-snapshots-20260924` | deleted | deleted | ancestor |
83
+ | `fix/local-studio-cms-resolution-and-route-map-20260924` | deleted | deleted | ancestor |
84
+ | `integrate/identity-oauth-finish-20260924` | deleted | n/a | + worktree removed |
85
+ | `integrate/unified-tool-provider-event-contracts-20260924` | deleted | deleted | + worktree removed |
86
+ | `feat/unified-tool-provider-event-contracts-20260923` | n/a | deleted | cherry-`+` completeful commit superseded on main |
87
+ | `feat/agentsam-queue-control-20260923` | n/a | deleted | 0 ahead / 33 behind |
88
+ | `feat/goap-planner-backend` | n/a | deleted | 0 ahead / 112 behind |
89
+ | `rescue/ecommerce-cms-untracked-20260919` | n/a | deleted | 0 ahead / 125 behind |
90
+
91
+ ### Errors-v1 claim — verified, then deleted
92
+
93
+ | Branch | Ahead by SHA | Verdict |
94
+ |--------|-------------:|---------|
95
+ | `feat/errors-v1-runtime-contract` | 44 | Remotes already gone. Knowledge/Gemini/error adapter files **byte-identical to main** (reconcile via `976506d` / PR #53). Only `test/error-diagnostics.test.mjs` differed; **main is newer**. No unique work to cherry-pick. |
96
+ | `integrate/errors-v1-main` | 40 | Same story; overlaps feat line. Deleted local tip. |
97
+
98
+ ### Remaining git branches
99
+
100
+ **None** (besides `main` / `origin/main`).
101
+
102
+ ### Leftover disk (not git branches — optional hygiene)
103
+
104
+ Under `/Users/samprimeaux/agent-worktrees/` (not registered with `git worktree list`):
105
+
106
+ | Dir | Approx | Note |
107
+ |-----|--------|------|
108
+ | `agentsam-lab` | clone on `main` | separate checkout |
109
+ | `agentsam-sdk` | clone **892 behind** origin/main | stale duplicate — safe delete candidate |
110
+ | `auth-scoped-terminal-lanes` | ~55M | no `.git`; contains `AgentSamRemix` |
111
+ | `cad-release` | empty | leftover shell |
112
+ | `gemini-env` | ~53M | contains `inneranimalmedia` tree |
113
+ | `mcp-account-owned-code-retrieve` | ~254M | MCP server tree |
114
+ | `mcp-search-execute-stabilization` | ~254M | MCP server tree |
115
+ | `memory-v2-contract` | ~2.3M | MCP server tree |
116
+
117
+ These are **disk clutter**, not unfinished SDK feature branches. Clean when ready; not blocking Batch A–D.
118
+
119
+ ---
120
+
121
+ ## Logical batches of work left (on main)
122
+
123
+ No branch merge queue. All remaining work is **new implementation on clean main**, grouped as:
124
+
125
+ ### Batch A — Machine Intelligence foundation
126
+ **Todos:** `machine-intel-docs`, `decision-primitives`
127
+
128
+ - `docs/MACHINE_INTELLIGENCE.md` + protocol schemas for predicate / choice / score / distribution + decision receipts
129
+ - Shared AgentSam-owned primitives + confidence policy (confidence ≠ risk; abstention; hierarchical degrade)
130
+ - Cross-link Brand Intelligence + ingestion as consumers of the same ladder
131
+ - Framing: LLM is one handler inside AgentSam
132
+
133
+ ### Batch B — World-state + every app observable
134
+ **Todos:** `world-state`, `app-maturity`, `verify-strengthen`
135
+
136
+ - Converge Merkle / `repository.snapshot` / AST / brand / harvest / manifests into one **world-state** envelope
137
+ - `agentsam inspect` works for arbitrary paths **and** every `apps/*`
138
+ - Calculated maturity + provenance + hashes + capabilities + relationships + verify receipts + next actions
139
+ - Strengthen `verify-package.mjs`, `verify-source-boundaries.mjs`, app contract tests, registry receipts
140
+ - Prefer calculated facts over hand labels; imperfect apps stay included
141
+
142
+ **Current app surface (proof targets, not toys):**
143
+
144
+ | App | Manifest signal |
145
+ |-----|-----------------|
146
+ | `cad-creator` | `agentsam.app.json` + `.agentsam/app.json` |
147
+ | `client-cms-editor` | same |
148
+ | `ecommerce-cms-agentsam` | same |
149
+ | `local-studio` | same |
150
+ | `church-site` … `shinshu-site` (7 harvested) | `.agentsam/app.json` (theme-refinery) |
151
+ | `theme-gallery-preview`, `frontend`, `_incoming` | maturity TBD via calculated gates |
152
+
153
+ ### Batch C — Ingest feeds world-state
154
+ **Todos:** `ingest-on-worlds`
155
+
156
+ - Paste / path / stdin → detect → extract → catalog → world-state
157
+ - Sensitive candidates: confidence ≠ risk; redact before preview/model
158
+ - Safe localhost gallery / Brand Packet = **projections** of world-state
159
+ - Fixtures = harvested sites + real app slices (not mini, not toy repos)
160
+
161
+ ### Batch D — APP distribution + mini lane clarity
162
+ **Todos:** `app-distribute`, `mini-keep-tiny`
163
+
164
+ - Graduate curated apps toward `npm install @inneranimalmedia/<app>` / `agentsam app add`
165
+ - Ship runtime/build/scaffold; exclude donor/reference junk
166
+ - Keep mini as scaffold/preview/zero-dep utilities; demote from poster-child docs/help
167
+
168
+ ### Optional — Disk hygiene
169
+ **Todo:** `disk-clutter`
170
+
171
+ - Review/remove stale `agent-worktrees/*` clones (especially `agentsam-sdk` @ 892 behind)
172
+
173
+ ---
174
+
175
+ ## Architecture (unchanged)
176
+
177
+ ```mermaid
178
+ flowchart TB
179
+ repo[Repository_or_App] --> scan[Deterministic_scanner]
180
+ scan --> files[files_hashes_MIME]
181
+ scan --> code[AST_routes_APIs]
182
+ scan --> assets[images_GLB_fonts_URLs]
183
+ files --> world[WORLD_STATE]
184
+ code --> world
185
+ assets --> world
186
+ world --> classify[Decision_primitives]
187
+ classify --> route[Confidence_policy_routing]
188
+ route --> next[Progression_next_actions]
189
+ world --> brand[brand.scan_consumer]
190
+ world --> preview[Local_gallery_optional]
191
+ world --> llm[LLM_only_on_ambiguity]
192
+ ```
193
+
194
+ ## Explicit non-goals
195
+
196
+ - Repo redesign for package purity
197
+ - New toy/demo apps as architectural proof
198
+ - Requiring finished status before inclusion
199
+ - TypeSafe/Jev dependency or product vocabulary
200
+ - Mini as showcase
201
+ - Auto-fetch remotes / auto-delete orphans / execute imported HTML
202
+ - Jump every path to Level-4 LLM
203
+
204
+ ## Acceptance
205
+
206
+ Without a model, AgentSam can:
207
+
208
+ 1. List every `apps/*` with calculated maturity + provenance + verify status
209
+ 2. `agentsam inspect` a harvested site and a serious app → world-state
210
+ 3. Answer what/where/contents/capabilities/reusable/missing/verified/next from receipts
211
+ 4. Expose decision primitives + a confidence-policy receipt on ≥1 classification path
212
+ 5. Keep `agentsam mini` working as the tiny lane
213
+ 6. Docs state machine-first ladder + MINI/APP/WORLD
214
+
215
+ Suggested next execution: **Batch A** (docs + decision primitives), then **Batch B** against real apps.
package/docs/plugins.md CHANGED
@@ -8,8 +8,8 @@ The first reusable connection is `@agentsam-mcp`:
8
8
 
9
9
  - `provider_key`: `cloudflare`
10
10
  - OAuth authority: Cloudflare OAuth (`c0704bd7a7aab7216b362603e1985499`)
11
- - token storage: the consuming Worker’s `agentsam_cloudflare_connections`,
12
- encrypted with that Worker’s `VAULT_MASTER_KEY`
11
+ - token storage: the consuming Worker’s `user_oauth_tokens`
12
+ (`provider=cloudflare`), sealed with that Worker’s `VAULT_MASTER_KEY`
13
13
  - tool keys: `agentsam-mcp.docs`, `agentsam-mcp.search`, and
14
14
  `agentsam-mcp.execute`
15
15
 
@@ -0,0 +1,280 @@
1
+ # AgentSam Product Experience Standard
2
+
3
+ **Status:** Internal product law
4
+ **Applies to:** AgentSam SDK · Local Studio · packaged AgentSam apps · runtime surfaces · developer tooling
5
+ **Product:** `@inneranimalmedia/agentsam-sdk`
6
+ **Machinery:** SAM — **Systematic Autonomous Machinery**
7
+
8
+ > **Complex underneath. Effortless above.**
9
+
10
+ ## Product posture
11
+
12
+ AgentSam is a professional software platform, not a prototype dashboard, chatbot wrapper, or collection of demos. The UI communicates maturity through **clarity, speed, consistency, depth, and restraint**.
13
+
14
+ A user should feel that the system is capable without being forced to look at all of the machinery that makes it capable.
15
+
16
+ ## Progressive discovery
17
+
18
+ > **Reveal a capability when context makes it useful; do not advertise the entire machinery permanently.**
19
+
20
+ This applies to terminals, runtimes, languages, forwarding, LSP, databases, cloud providers, CMS, CAD, machine inspection, identity, install/setup, and AgentSam itself.
21
+
22
+ If only one healthy runtime exists, do not show a runtime picker. If a repository requires Go, surface Go when the user runs or inspects that repository. Context creates discovery.
23
+
24
+ ## Local Studio is a real desktop work application
25
+
26
+ Local Studio is not a PWA pretending to be desktop software, a hosted website hidden behind a native wrapper, a bootstrap/status page users must escape before doing work, or a chatbot with tools bolted on.
27
+
28
+ Expected launch path:
29
+
30
+ ```text
31
+ Launch AgentSam Local Studio.app
32
+ ↓
33
+ bundled Local Studio application
34
+ ↓
35
+ restore last workspace/session
36
+ ↓
37
+ local runtime becomes available quietly
38
+ ↓
39
+ account/cloud/provider state hydrates without blocking local work
40
+ ```
41
+
42
+ The shipped `.app` must boot directly into the real application interface. A thin **Open Studio UI / Stay on this shell** runtime-status page is a development or recovery fallback, not a shippable default.
43
+
44
+ ## Local-first contract
45
+
46
+ Local functionality remains useful without authentication or network availability: files, local projects, SQLite, PTY/terminal, agentsamd, repository inspection, local language tooling, and installed local CAD/modeling integrations.
47
+
48
+ Authentication enhances the product. It does not gate the user's computer.
49
+
50
+ ## Visual identity
51
+
52
+ The default visual language is **quiet, dark, precise, desktop-native, and content-first**.
53
+
54
+ Prefer near-black neutral work surfaces, restrained borders, compact chrome, crisp typography, careful spacing, small precise active states, limited iconography, contextual panels that disappear when closed, and motion that communicates state changes.
55
+
56
+ Avoid particle effects as ordinary product chrome, glowing dashboard cards, pulsing status indicators, decorative telemetry, giant capability dashboards, nested cards without purpose, permanent status rails, and "AI is thinking" theater.
57
+
58
+ Motion should be experienced as smoothness, not watched as entertainment.
59
+
60
+ ## Canonical layout modes
61
+
62
+ ### Focused work
63
+
64
+ ```text
65
+ project/history rail | main work/chat | contextual editor/browser/details
66
+ ```
67
+
68
+ ### Code / file work
69
+
70
+ ```text
71
+ project/history rail | editor/work surface | file tree/workspace/context
72
+ ```
73
+
74
+ ### Full workbench
75
+
76
+ ```text
77
+ minimal nav | primary surface | optional contextual secondary pane
78
+ ```
79
+
80
+ The active task owns the screen. Secondary panes support it.
81
+
82
+ A user should move naturally among recent work, projects, Git worktrees, local folders, attached runtimes, containers, and future remote workspaces without needing to understand the transport underneath.
83
+
84
+ ## The work surface defines the experience
85
+
86
+ Browsing should feel like a browser; coding like an editor; data work like a database editor; CMS work like a CMS; CAD work like CAD; terminal work like a terminal.
87
+
88
+ AgentSam intelligence is contextual infrastructure, not permanent visual chrome.
89
+
90
+ > Every capability should feel native to the surface where it is used.
91
+
92
+ ## Tabs, split panes, browser, and annotation
93
+
94
+ Tabs are first-class desktop primitives. State should preserve and restore per workspace, split panes should feel like one application, and contextual panels should disappear completely when closed.
95
+
96
+ The in-app browser is a serious work primitive, not an iframe preview.
97
+
98
+ Annotation is a signature AgentSam interaction. A user should be able to select a real DOM element, code range, file, database object, CMS section, CAD object, browser region, artifact, runtime, or job and open a minimal contextual composer against that structured selection.
99
+
100
+ AgentSam should know **what was selected**, not merely where the user clicked.
101
+
102
+ ## Terminal and runtime model
103
+
104
+ Do not create separate terminal architectures for each language.
105
+
106
+ ```text
107
+ terminal_instance → where compute lives
108
+ terminal_connection → how AgentSam reaches it
109
+ terminal_session → interactive PTY
110
+ terminal_job → detached/background work
111
+ ```
112
+
113
+ Capabilities hang off the target:
114
+
115
+ ```text
116
+ pty
117
+ exec
118
+ filesystem
119
+ ports
120
+ forwarding
121
+ jobs
122
+ lsp
123
+ docker
124
+ node
125
+ python
126
+ go
127
+ rust
128
+ freecad
129
+ openscad
130
+ blender
131
+ ```
132
+
133
+ "Go service", "Rust task", "Python worker", and "Node dev server" are process profiles, not new PTY technologies.
134
+
135
+ Forwarding should be first-class but mostly invisible. If a process exposes a port, Local Studio can offer **Open preview** and resolve forwarding underneath.
136
+
137
+ ## Databases
138
+
139
+ AgentSam's own `.agentsam/data/agentsam.sqlite` is application state, not a claim that Local Studio supports only one SQLite database.
140
+
141
+ User-owned SQLite is first-class: create/open arbitrary databases, attach/detach, CRUD, scoped SQL, duplicate/backup, rename/delete with confirmation, and offline operation.
142
+
143
+ ## Identity and storage authority
144
+
145
+ Local Studio ships the AgentSam identity **UI and client contract** inside the app. The official connected AgentSam distribution does not create a second canonical account database on the device.
146
+
147
+ ```text
148
+ packaged AgentSam auth UI
149
+ ↓
150
+ identity_bridge
151
+ ↓
152
+ configured identity service / Worker
153
+ ↓
154
+ main account database
155
+ ```
156
+
157
+ The installed app receives a native bearer session from the same identity service and keeps that credential in the platform secure store. The main database remains authoritative for account, user, session, grant, billing, membership, provider-connection, and other shared/cloud state.
158
+
159
+ Device-local SQLite has a different authority:
160
+
161
+ ```text
162
+ main DB = account/shared/cloud truth
163
+ local SQLite = device/workspace/cache/offline-outbox/runtime truth
164
+ secure store = secret/credential truth
165
+ ```
166
+
167
+ Do not dual-write canonical server records into SQLite. A local cached server record must be explicitly cache/sync state and disposable. Offline mutations to server-owned resources use an idempotent outbox and are committed through the Worker when connectivity returns.
168
+
169
+ The portable identity package still supports an explicit standalone SQLite identity adapter for independent/offline products. That is a deployment choice, not the default authority of the official connected AgentSam download.
170
+
171
+ Platform secure storage is a contract, not a macOS assumption: macOS uses Keychain; Windows uses Credential Manager; Linux uses the platform secret service; iOS and Android use their native secure-storage adapters.
172
+
173
+ ## External desktop escape hatches
174
+
175
+ Useful actions include Open in Cursor, default app, Terminal, iTerm2, Reveal in Finder, Open on GitHub, and Save as.
176
+
177
+ These are convenience paths. They do not replace Local Studio's own editor, PTY, browser, files, database, or runtime system.
178
+
179
+ ## Donor extraction and dependency direction
180
+
181
+ InnerAnimalMedia is a donor and proving ground. It is not a runtime dependency of Local Studio.
182
+
183
+ ```text
184
+ agentsam-sdk
185
+ │
186
+ reusable packages/contracts
187
+ │
188
+ ┌─────────────┼─────────────┐
189
+ ▼ ▼ ▼
190
+ Local Studio InnerAnimalMedia customer apps
191
+ ```
192
+
193
+ Never make Local Studio import portable runtime/UI truth from the InnerAnimalMedia repository.
194
+
195
+ Salvage proven UI, adapters, contracts, browser/editor/file behaviors, OAuth work, CMS mechanics, runtime patterns, and interaction components; remove InnerAnimalMedia-specific tenancy, branding, URLs, customer IDs, bindings, and deployment policy; land reusable ownership once in AgentSam SDK; let InnerAnimalMedia consume it through explicit adapters.
196
+
197
+ Portability test:
198
+
199
+ > Could a developer clone only `agentsam-sdk`, build/install Local Studio, and get the core experience without an `inneranimalmedia` checkout?
200
+
201
+ For portable functionality, the answer must be yes.
202
+
203
+ ## Authority and registry discipline
204
+
205
+ Do not flatten product, app, package, service, feature, capability, operation, tool, runtime, and install state into one registry.
206
+
207
+ Preserve:
208
+
209
+ ```text
210
+ APP
211
+ apps/*/agentsam.app.json
212
+
213
+ PACKAGE / SERVICE
214
+ agentsam.package.json / package metadata
215
+
216
+ FEATURE
217
+ agentsam.feature.json
218
+
219
+ CAPABILITY
220
+ protocol/capabilities/manifest.json
221
+
222
+ OPERATION
223
+ protocol/sam/* + defineSamOperation()
224
+
225
+ TOOL
226
+ platform / MCP bounded registry
227
+
228
+ RUNTIME
229
+ agentsam.runtime.v1 + terminal_* state
230
+
231
+ INSTALL
232
+ .agentsam state + receipts
233
+ ```
234
+
235
+ The official platform product inventory remains `agentsam_products` and its platform relationships.
236
+
237
+ Any source-controlled `registry/products/*` layer is a **thin relationship/index seed**: product IDs, authority paths, host/mount relationships, service relationships, and platform linkage. It must not copy versions, commands, capability lists, runtime facts, or other fields already owned elsewhere.
238
+
239
+ ## Product quality bar
240
+
241
+ Local Studio should feel deliberate, quiet, responsive, high-confidence, contextual, predictable, and deeply capable.
242
+
243
+ Never gimmicky, demo-first, fake, capability-theater, or overloaded with status chrome.
244
+
245
+ Infrastructure earns its value by making visible work reliable.
246
+
247
+ ## Acceptance rules
248
+
249
+ 1. **Real over fake** — no fake green states or pretend integrations.
250
+ 2. **Context over dashboards** — surface capabilities where they matter.
251
+ 3. **Local-first** — local work does not wait on account/cloud availability.
252
+ 4. **Progressive discovery** — advanced controls appear when useful.
253
+ 5. **One coherent product** — browser, files, editor, terminal, database, CMS, CAD, Work, and AgentSam share interaction language.
254
+ 6. **No permanent noise** — closed panels disappear.
255
+ 7. **Native platform behavior** — tabs/splits where appropriate, native file dialogs, OS secure storage, external-open actions, and platform-appropriate local capabilities.
256
+ 8. **Capability truth** — UI affordances derive from real runtime/provider capability.
257
+ 9. **Smoothness is functional** — animation reduces friction.
258
+ 10. **AgentSam remains contextual** — intelligence supports the work instead of competing with it.
259
+
260
+ ## Design test
261
+
262
+ Before adding a permanent control, panel, badge, dashboard, runtime selector, or status surface, ask:
263
+
264
+ ```text
265
+ Does the user need this visible right now?
266
+ Can context reveal it later?
267
+ Can the system infer this safely?
268
+ Is it useful to the task, or merely proof that our backend exists?
269
+ Would a mature professional application expose this continuously?
270
+ ```
271
+
272
+ If the answer points toward hiding it, hide it.
273
+
274
+ ## North star
275
+
276
+ > **A serious desktop work environment where browser, files, code, terminal, data, CMS, CAD, runtimes, cloud resources, and AgentSam intelligence behave as if they were designed together from the beginning.**
277
+
278
+ AgentSam makes complex infrastructure feel simple without pretending the infrastructure is simple.
279
+
280
+ That is the brand.
@@ -0,0 +1,139 @@
1
+ # Local Studio Desktop Experience Contract
2
+
3
+ **Status:** Product acceptance contract
4
+ **App:** `local-studio`
5
+ **Desktop shell:** `packages/agentsam-desktop-shell`
6
+ **Canonical UI:** `apps/local-studio`
7
+ **Identity package:** `packages/identity`
8
+
9
+ The downloadable Local Studio app must look like Local Studio because it **is** Local Studio.
10
+
11
+ ## Launch contract
12
+
13
+ Production:
14
+
15
+ ```text
16
+ AgentSam Local Studio.app
17
+ ↓
18
+ Tauri window
19
+ ↓
20
+ bundled apps/local-studio desktop SPA
21
+ ↓
22
+ real AgentSam shell / workspace
23
+ ```
24
+
25
+ Not acceptable as a shipped default:
26
+
27
+ ```text
28
+ bootstrap/status shell
29
+ → "Open Studio UI"
30
+ → hosted website
31
+ ```
32
+
33
+ The packager must fail closed if the real desktop SPA is missing. It must never silently substitute a recovery page into a release artifact.
34
+
35
+ Native capability startup (`agentsamd`, filesystem bridges, database bridges) happens in the background and must not cover the work surface with a diagnostic boot screen.
36
+
37
+ ## Packaged identity UI, shared account authority
38
+
39
+ Local Studio packages the real AgentSam login/signup/reset UI inside the application. Displaying that UI does not require redirecting to a website.
40
+
41
+ For the official connected AgentSam distribution, authentication writes to the configured identity service and main database:
42
+
43
+ ```text
44
+ Local Studio / future mobile app
45
+ ↓
46
+ bundled auth portal
47
+ ↓
48
+ identity_bridge
49
+ ↓
50
+ Worker identity API
51
+ ↓
52
+ main account database
53
+ ```
54
+
55
+ The Worker creates/resolves the canonical user and `auth_sessions` row. Native clients request the same session as a bearer credential rather than relying on a browser cookie. The credential is stored in the platform secure store and `/api/auth/me` validates it against the main database.
56
+
57
+ There is no desktop-only account table and no duplicate canonical user/session authority.
58
+
59
+ ## Three storage authorities
60
+
61
+ ```text
62
+ MAIN SERVICE / DB
63
+ accounts, users, auth sessions, OAuth grants, provider connections,
64
+ billing, memberships, shared/project/cloud records
65
+
66
+ LOCAL SQLITE
67
+ installation/device metadata, workspace state, local projects, caches,
68
+ runtime/job state, sync cursors, offline outbox, user-opened SQLite DBs
69
+
70
+ OS SECURE STORE
71
+ account session credential, device credentials, encryption keys,
72
+ machine-private provider secrets where policy allows
73
+ ```
74
+
75
+ SQLite must not become a shadow copy of the main account database. Cached remote records are explicitly non-authoritative and disposable. Offline server-owned mutations are queued with idempotency keys and committed through the Worker.
76
+
77
+ The portable identity package may use its SQLite identity adapter only when an installation explicitly selects standalone mode.
78
+
79
+ ## Platform contract
80
+
81
+ The product contract is broader than macOS:
82
+
83
+ - **macOS:** Tauri desktop, `agentsamd`, bundled JS bridge runtime, Keychain, POSIX shells.
84
+ - **Windows:** Tauri desktop, `agentsamd`, bundled JS bridge runtime, Credential Manager, `pwsh` → Windows PowerShell → `cmd.exe`.
85
+ - **Linux:** Tauri desktop, `agentsamd`, bundled JS bridge runtime, platform secret service, POSIX shells.
86
+ - **iOS:** same UI/service/storage contracts through mobile-native adapters; no executable Node/`agentsamd` sidecar assumption.
87
+ - **Android:** same UI/service/storage contracts through mobile-native adapters; no executable Node/`agentsamd` sidecar assumption.
88
+
89
+ Desktop sidecars are an implementation of local-machine capabilities, not part of the cross-platform protocol. Mobile can connect to remote/local AgentSam runtimes where appropriate while keeping account identity and device state contracts unchanged.
90
+
91
+ ## Provider OAuth
92
+
93
+ Provider grants are separate from the AgentSam account session. Google, Cloudflare, GitHub, GCP, and later providers use their own consent/connection lanes. A system browser may be required for a provider's OAuth consent, but the AgentSam login UI itself remains packaged in the app.
94
+
95
+ Provider tokens never belong in callback URLs beyond the minimum standard authorization material, and confidential client secrets never belong in downloadable clients.
96
+
97
+ ## Session restoration
98
+
99
+ ```text
100
+ secure store has AgentSam session credential?
101
+ no → signed-out cloud/account state; local work remains available
102
+ yes → /api/auth/me with Bearer credential
103
+ valid → canonical account restored from main DB
104
+ invalid → clear stale credential / signed out
105
+ ```
106
+
107
+ Browser cookies are not required for desktop/mobile session restoration.
108
+
109
+ ## Failure behavior
110
+
111
+ If a provider, remote account service, or network connection fails, Local Studio remains usable locally.
112
+
113
+ Ordinary local workflows must never be replaced by a full-screen authentication or infrastructure error.
114
+
115
+ ## Release acceptance
116
+
117
+ Before shipping a desktop artifact:
118
+
119
+ - build the Local Studio desktop SPA;
120
+ - copy the packaged auth portal into that SPA;
121
+ - verify the auth portal is AgentSam/host branded rather than donor branded;
122
+ - sync the SPA into the Tauri desktop shell;
123
+ - fail the build if the real SPA is missing or hydrate-only;
124
+ - verify the old `Open Studio UI` / `Stay on this shell` copy is absent;
125
+ - verify native startup work is non-blocking;
126
+ - run the full identity package tests;
127
+ - run Local Studio auth/type/build gates;
128
+ - run Rust checks;
129
+ - verify the packaged identity runtime/migrations are present;
130
+ - build and mount the disk image;
131
+ - launch the app copied from the disk image;
132
+ - verify local signup/login/session restoration without a hosted redirect;
133
+ - verify local files, SQLite, PTY, and `agentsamd` still work signed out.
134
+
135
+ ## Product rule
136
+
137
+ > **The downloadable Local Studio app is self-contained AgentSam product software.**
138
+
139
+ Company deployments, customer hosts, and external identity providers are adapters around that product. They are not its intrinsic authority.
@@ -0,0 +1,8 @@
1
+ # AgentSam Product Standards
2
+
3
+ These documents define product-facing laws above implementation-specific architecture.
4
+
5
+ - [AgentSam Product Experience Standard](./AGENTSAM_PRODUCT_EXPERIENCE_STANDARD.md) — brand posture, visual/interaction language, progressive discovery, Local Studio quality bar, runtime UX, donor extraction, and authority discipline.
6
+ - [Local Studio Desktop Experience Contract](./LOCAL_STUDIO_DESKTOP_EXPERIENCE.md) — launch behavior, bundled UI, desktop OAuth/Keychain behavior, handoff security, and release acceptance.
7
+
8
+ Architecture contracts remain authoritative for their own namespaces, including `docs/architecture/AGENTSAM_APPLICATION_CONTRACT.md` and `docs/architecture/SAM_KERNEL.md`.