@inneranimalmedia/agentsam-sdk 2.6.1 → 2.6.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (507) hide show
  1. package/AGENTSAM.md +45 -1
  2. package/README.md +80 -0
  3. package/apps/README.md +34 -0
  4. package/apps/cad-creator/README.md +728 -0
  5. package/apps/cad-creator/shared/cad/package.json +19 -0
  6. package/apps/cad-creator/shared/cad/src/domain/operations.ts +7 -0
  7. package/apps/cad-creator/shared/cad/src/domain/project-contract.d.ts +3 -0
  8. package/apps/cad-creator/shared/cad/src/domain/project-contract.js +75 -0
  9. package/apps/cad-creator/shared/cad/src/domain/project-tools.d.ts +1 -0
  10. package/apps/cad-creator/shared/cad/src/domain/project-tools.js +24 -0
  11. package/apps/cad-creator/shared/cad/src/domain/validation.ts +191 -0
  12. package/apps/cad-creator/shared/cad/src/index.ts +4 -0
  13. package/apps/cad-creator/shared/cad/src/robotics/types.ts +232 -0
  14. package/apps/cad-creator/shared/cad/src/types.ts +507 -0
  15. package/apps/cad-creator/shared/cad/tsconfig.json +14 -0
  16. package/docs/AUTH_IDENTITY_CONTRACT.md +25 -27
  17. package/docs/AUTORAG.md +58 -0
  18. package/docs/BRAND_INTELLIGENCE.md +30 -0
  19. package/docs/CLI_SHELL.md +4 -2
  20. package/docs/CMS_CONTEXTUAL_COMPOSER.md +38 -0
  21. package/docs/MERKLE.md +4 -0
  22. package/docs/PROJECT_CONFIG.md +3 -0
  23. package/docs/REPOSITORY_KNOWLEDGE.md +2 -0
  24. package/docs/SDK_WORKER.md +4 -3
  25. package/docs/THEME_REFINERY.md +120 -0
  26. package/docs/architecture/PROVIDER-TOOLS-AND-COMPACTION.md +60 -0
  27. package/docs/architecture/STORAGE.md +87 -0
  28. package/docs/cad-project-tools.md +69 -0
  29. package/docs/cms-scaffolding-pattern-reference.md +73 -0
  30. package/docs/plans/AGENTSAM-INTERACTIVE-UI-REQUIREMENTS-codex-tui-20260919.md +113 -0
  31. package/docs/plans/AGENTSAM-INTERACTIVE-UI-REQUIREMENTS.md +85 -0
  32. package/docs/plans/AGENTSAM-MCP-CLIENT-2026-09-19.md +181 -0
  33. package/docs/plans/ASBD-PORTABLE-WORKGRAPH-UI-DEFERRED.md +34 -0
  34. package/docs/plans/ASTRA-BRIEF-2026-09-18.md +258 -0
  35. package/docs/plans/MULTI-AGENT-SPRINTS-2026-09-19.md +373 -0
  36. package/docs/plans/NEXT-AGENT-HANDOFF.md +167 -0
  37. package/docs/plans/RECONCILIATION-2026-09-19.md +178 -0
  38. package/docs/plugins.md +43 -0
  39. package/docs/tools/README.md +57 -0
  40. package/docs/tools/agent-and-orchestration.md +49 -0
  41. package/docs/tools/browser-and-research.md +46 -0
  42. package/docs/tools/cloudflare-platform.md +32 -0
  43. package/docs/tools/cms.md +25 -0
  44. package/docs/tools/communications.md +41 -0
  45. package/docs/tools/database-and-storage.md +62 -0
  46. package/docs/tools/design-and-media.md +64 -0
  47. package/docs/tools/filesystem-and-code.md +55 -0
  48. package/docs/tools/github.md +56 -0
  49. package/docs/tools/integrations-and-misc.md +16 -0
  50. package/docs/tools/memory.md +21 -0
  51. package/docs/tools/terminal-and-execution.md +29 -0
  52. package/docs/tools/tickets-and-platform.md +30 -0
  53. package/migrations/d1/0001_agentsam_plugin_runtime.sql +177 -0
  54. package/migrations/d1/0002_agentsam_ticket_ownership.sql +8 -0
  55. package/migrations/d1/0002_dynamic_model_policies.sql +23 -0
  56. package/migrations/d1/0003_expand_tool_handler_families.sql +18 -0
  57. package/migrations/d1/0004_project_aware_retrieval_lanes.sql +24 -0
  58. package/migrations/d1/0005_portable_knowledge_identity.sql +104 -0
  59. package/migrations/d1/0006_repair_ops_trail_account_scope.sql +14 -0
  60. package/migrations/d1/0007_repair_ops_trail_agent_run_account.sql +13 -0
  61. package/migrations/d1/0008_backfill_knowledge_run_legacy_tenant.sql +14 -0
  62. package/migrations/d1/0009_normalize_cloudflare_plugin_installations.sql +137 -0
  63. package/migrations/runtime/0001_cli_runtime.sql +67 -0
  64. package/migrations/runtime/0002_project_sessions.sql +15 -0
  65. package/migrations/runtime/0003_provider_continuations.sql +8 -0
  66. package/package.json +92 -12
  67. package/packages/agentsam-brand/README.md +21 -0
  68. package/packages/agentsam-brand/package.json +22 -0
  69. package/packages/agentsam-brand/src/contract.js +59 -0
  70. package/packages/agentsam-brand/src/extract.js +126 -0
  71. package/packages/agentsam-brand/src/goap-actions.js +73 -0
  72. package/packages/agentsam-brand/src/index.js +48 -0
  73. package/packages/agentsam-brand/src/plan.js +115 -0
  74. package/packages/agentsam-brand/src/resolve.js +139 -0
  75. package/packages/agentsam-brand/src/scan.js +250 -0
  76. package/packages/agentsam-brand/test/brand-scan.test.mjs +106 -0
  77. package/packages/agentsam-contracts/README.md +23 -0
  78. package/packages/agentsam-contracts/package.json +32 -0
  79. package/packages/agentsam-contracts/src/adapter.ts +25 -0
  80. package/packages/agentsam-contracts/src/agent.ts +35 -0
  81. package/packages/agentsam-contracts/src/artifacts.ts +33 -0
  82. package/packages/agentsam-contracts/src/authority.ts +29 -0
  83. package/packages/agentsam-contracts/src/context.ts +16 -0
  84. package/packages/agentsam-contracts/src/errors.ts +46 -0
  85. package/packages/agentsam-contracts/src/events.ts +47 -0
  86. package/packages/agentsam-contracts/src/execution.ts +50 -0
  87. package/packages/agentsam-contracts/src/hooks.ts +40 -0
  88. package/packages/agentsam-contracts/src/identity.ts +16 -0
  89. package/packages/agentsam-contracts/src/index.ts +14 -0
  90. package/packages/agentsam-contracts/src/models.ts +9 -0
  91. package/packages/agentsam-contracts/src/providers.ts +33 -0
  92. package/packages/agentsam-contracts/src/repository.ts +64 -0
  93. package/packages/agentsam-contracts/src/tools.ts +98 -0
  94. package/packages/agentsam-contracts/test/contracts.test.mjs +16 -0
  95. package/packages/agentsam-contracts/test/errors-catalog.test.mjs +25 -0
  96. package/packages/agentsam-contracts/test/repository.test.mjs +18 -0
  97. package/packages/agentsam-contracts/tsconfig.json +12 -0
  98. package/packages/agentsam-errors/package.json +17 -0
  99. package/packages/agentsam-errors/src/adapters/anthropic.js +15 -0
  100. package/packages/agentsam-errors/src/adapters/cad.js +109 -0
  101. package/packages/agentsam-errors/src/adapters/cloudflare.js +21 -0
  102. package/packages/agentsam-errors/src/adapters/cursor.js +4 -0
  103. package/packages/agentsam-errors/src/adapters/device.js +38 -0
  104. package/packages/agentsam-errors/src/adapters/docker.js +28 -0
  105. package/packages/agentsam-errors/src/adapters/gcp.js +14 -0
  106. package/packages/agentsam-errors/src/adapters/github.js +22 -0
  107. package/packages/agentsam-errors/src/adapters/google.js +17 -0
  108. package/packages/agentsam-errors/src/adapters/index.js +55 -0
  109. package/packages/agentsam-errors/src/adapters/internal.js +40 -0
  110. package/packages/agentsam-errors/src/adapters/oauth.js +24 -0
  111. package/packages/agentsam-errors/src/adapters/openai.js +17 -0
  112. package/packages/agentsam-errors/src/adapters/process.js +35 -0
  113. package/packages/agentsam-errors/src/adapters/provider.js +114 -0
  114. package/packages/agentsam-errors/src/envelope.js +186 -0
  115. package/packages/agentsam-errors/src/error.js +24 -0
  116. package/packages/agentsam-errors/src/fingerprint.js +35 -0
  117. package/packages/agentsam-errors/src/index.js +10 -0
  118. package/packages/agentsam-errors/src/normalize.js +30 -0
  119. package/packages/agentsam-errors/src/redaction.js +52 -0
  120. package/packages/agentsam-errors/src/render.js +16 -0
  121. package/packages/agentsam-errors/src/retry.js +10 -0
  122. package/packages/agentsam-errors/src/transport.js +52 -0
  123. package/packages/agentsam-errors/src/vocabulary.js +320 -0
  124. package/packages/agentsam-errors/test/envelope.test.mjs +70 -0
  125. package/packages/agentsam-errors/test/providers.test.mjs +99 -0
  126. package/packages/agentsam-errors/test/redaction.test.mjs +21 -0
  127. package/packages/agentsam-errors/test/runtime-cad-device.test.mjs +76 -0
  128. package/packages/agentsam-errors/test/transport.test.mjs +46 -0
  129. package/packages/agentsam-knowledge/package.json +15 -0
  130. package/packages/agentsam-knowledge/src/autorag/index.js +64 -0
  131. package/packages/agentsam-knowledge/src/backends/index.js +26 -0
  132. package/packages/agentsam-knowledge/src/index.js +3 -0
  133. package/packages/agentsam-knowledge/src/providers/index.js +95 -0
  134. package/packages/agentsam-knowledge/test/autorag.test.mjs +42 -0
  135. package/packages/agentsam-nav/README.md +40 -0
  136. package/packages/agentsam-nav/dist/Nav.d.ts +43 -0
  137. package/packages/agentsam-nav/dist/NavCollapsible.d.ts +10 -0
  138. package/packages/agentsam-nav/dist/NavContent.d.ts +2 -0
  139. package/packages/agentsam-nav/dist/NavFooter.d.ts +2 -0
  140. package/packages/agentsam-nav/dist/NavGroup.d.ts +3 -0
  141. package/packages/agentsam-nav/dist/NavHeader.d.ts +2 -0
  142. package/packages/agentsam-nav/dist/NavMenu.d.ts +22 -0
  143. package/packages/agentsam-nav/dist/NavProvider.d.ts +35 -0
  144. package/packages/agentsam-nav/dist/NavTrigger.d.ts +2 -0
  145. package/packages/agentsam-nav/dist/Surfaces.d.ts +41 -0
  146. package/packages/agentsam-nav/dist/browser.d.ts +11 -0
  147. package/packages/agentsam-nav/dist/browser.global.js +132 -0
  148. package/packages/agentsam-nav/dist/browser.js +613 -0
  149. package/packages/agentsam-nav/dist/contracts.d.ts +76 -0
  150. package/packages/agentsam-nav/dist/index.d.ts +11 -0
  151. package/packages/agentsam-nav/dist/index.js +614 -0
  152. package/packages/agentsam-nav/dist/legacy.css +83 -0
  153. package/packages/agentsam-nav/dist/shell.css +113 -0
  154. package/packages/agentsam-nav/dist/theme.css +113 -0
  155. package/packages/agentsam-nav/dist/utils.d.ts +1 -0
  156. package/packages/agentsam-nav/package.json +43 -0
  157. package/packages/agentsam-queue-control/README.md +107 -0
  158. package/packages/agentsam-queue-control/package.json +31 -0
  159. package/packages/agentsam-queue-control/schemas/job-envelope.schema.json +56 -0
  160. package/packages/agentsam-queue-control/src/adapters/cloudflare.js +152 -0
  161. package/packages/agentsam-queue-control/src/adapters/memory.js +38 -0
  162. package/packages/agentsam-queue-control/src/contracts.js +130 -0
  163. package/packages/agentsam-queue-control/src/control-plane.js +141 -0
  164. package/packages/agentsam-queue-control/src/dispatch.js +43 -0
  165. package/packages/agentsam-queue-control/src/index.js +7 -0
  166. package/packages/agentsam-queue-control/src/policy.js +88 -0
  167. package/packages/agentsam-queue-control/src/topology.js +66 -0
  168. package/packages/agentsam-queue-control/test/queue-control.test.mjs +100 -0
  169. package/packages/agentsam-repository/src/goap.js +718 -0
  170. package/packages/agentsam-repository/src/goap.js.bak-20260922011251 +670 -0
  171. package/packages/agentsam-repository/src/index.js +5 -0
  172. package/packages/agentsam-repository/src/merkle/cloudflare-persistence.js +2 -2
  173. package/packages/agentsam-repository/src/tickets.js +184 -0
  174. package/packages/agentsam-repository/src/work-tracking.js +199 -0
  175. package/packages/agentsam-repository/src/workspace-state.js +176 -0
  176. package/packages/agentsam-repository/test/goap-tickets-workspace-state.test.mjs +152 -0
  177. package/packages/connectors/cloudflare/src/index.js +297 -15
  178. package/packages/connectors/cloudflare/src/owner.js +43 -40
  179. package/packages/connectors/cloudflare/src/routes.js +167 -26
  180. package/packages/connectors/cloudflare/tests/connector.test.mjs +112 -2
  181. package/packages/heuristic-theme/README.md +11 -0
  182. package/packages/heuristic-theme/package.json +25 -0
  183. package/packages/heuristic-theme/src/index.js +2 -0
  184. package/packages/heuristic-theme/src/registry.js +36 -0
  185. package/packages/heuristic-theme/src/theme.js +41 -0
  186. package/packages/heuristic-theme/test/theme.test.mjs +26 -0
  187. package/packages/identity/.agentsam/features/oauth-login-portal/agentsam.feature.json +64 -0
  188. package/packages/identity/.agentsam/features/oauth-login-portal/providers.json +96 -0
  189. package/packages/identity/.agentsam/features/oauth-login-portal/resources.json +47 -0
  190. package/packages/identity/.agentsam/features/oauth-login-portal/routes.json +74 -0
  191. package/packages/identity/.agentsam/features/oauth-login-portal/ui.json +35 -0
  192. package/packages/identity/package.json +4 -3
  193. package/packages/identity/src/adapters/cloudflare-d1/ids.js +4 -0
  194. package/packages/identity/src/adapters/cloudflare-d1/index.js +39 -1
  195. package/packages/identity/src/contracts/auth-config.js +23 -40
  196. package/packages/identity/src/contracts/provider.js +3 -2
  197. package/packages/identity/src/frontend/auth-portal/pages/login.html +7 -0
  198. package/packages/identity/src/index.js +2 -0
  199. package/packages/identity/src/oauth/credentials.js +13 -0
  200. package/packages/identity/src/oauth/iam-platform.js +5 -5
  201. package/packages/identity/src/providers/cloudflare/index.js +19 -0
  202. package/packages/identity/src/providers/cloudflare/mapper.js +21 -0
  203. package/packages/identity/src/providers/cloudflare/oauth.js +48 -0
  204. package/packages/identity/src/providers/cloudflare/profile.js +28 -0
  205. package/packages/identity/src/providers/index.js +18 -2
  206. package/packages/identity/src/server/identity-service.js +13 -3
  207. package/packages/identity/src/server/worker-router.js +63 -8
  208. package/packages/identity/tests/auth-config.test.mjs +14 -23
  209. package/packages/identity/tests/identity-service.test.mjs +15 -0
  210. package/packages/providers/completeful/README.md +38 -0
  211. package/packages/providers/completeful/package.json +29 -0
  212. package/packages/providers/completeful/src/client.js +162 -0
  213. package/packages/providers/completeful/src/events.js +49 -0
  214. package/packages/providers/completeful/src/index.js +22 -0
  215. package/packages/providers/completeful/src/tools.js +579 -0
  216. package/packages/providers/completeful/src/webhooks.js +55 -0
  217. package/packages/providers/completeful/test/provider.test.mjs +196 -0
  218. package/packages/theme-church-site/README.md +10 -0
  219. package/packages/theme-church-site/package.json +30 -0
  220. package/packages/theme-church-site/src/harvest.json +14 -0
  221. package/packages/theme-church-site/src/index.js +84 -0
  222. package/packages/theme-church-site/test/theme.test.mjs +19 -0
  223. package/packages/theme-companions-site/README.md +10 -0
  224. package/packages/theme-companions-site/package.json +30 -0
  225. package/packages/theme-companions-site/src/harvest.json +12 -0
  226. package/packages/theme-companions-site/src/index.js +82 -0
  227. package/packages/theme-companions-site/test/theme.test.mjs +19 -0
  228. package/packages/theme-floors-site/README.md +10 -0
  229. package/packages/theme-floors-site/package.json +30 -0
  230. package/packages/theme-floors-site/src/harvest.json +14 -0
  231. package/packages/theme-floors-site/src/index.js +82 -0
  232. package/packages/theme-floors-site/test/theme.test.mjs +19 -0
  233. package/packages/theme-fuelnfree-site/README.md +10 -0
  234. package/packages/theme-fuelnfree-site/package.json +30 -0
  235. package/packages/theme-fuelnfree-site/src/harvest.json +13 -0
  236. package/packages/theme-fuelnfree-site/src/index.js +81 -0
  237. package/packages/theme-fuelnfree-site/test/theme.test.mjs +19 -0
  238. package/packages/theme-handyman-site/README.md +10 -0
  239. package/packages/theme-handyman-site/package.json +30 -0
  240. package/packages/theme-handyman-site/src/harvest.json +10 -0
  241. package/packages/theme-handyman-site/src/index.js +83 -0
  242. package/packages/theme-handyman-site/test/theme.test.mjs +19 -0
  243. package/packages/theme-insurance-site/README.md +10 -0
  244. package/packages/theme-insurance-site/package.json +30 -0
  245. package/packages/theme-insurance-site/src/harvest.json +10 -0
  246. package/packages/theme-insurance-site/src/index.js +83 -0
  247. package/packages/theme-insurance-site/test/theme.test.mjs +19 -0
  248. package/packages/theme-shinshu-site/README.md +10 -0
  249. package/packages/theme-shinshu-site/package.json +30 -0
  250. package/packages/theme-shinshu-site/src/harvest.json +12 -0
  251. package/packages/theme-shinshu-site/src/index.js +83 -0
  252. package/packages/theme-shinshu-site/test/theme.test.mjs +19 -0
  253. package/packages/work-graph/README.md +49 -0
  254. package/packages/work-graph/package.json +19 -0
  255. package/packages/work-graph/prototype/README.md +32 -0
  256. package/packages/work-graph/prototype/data/demo-workgraph.js +47 -0
  257. package/packages/work-graph/prototype/renderers/timeline-model.js +21 -0
  258. package/packages/work-graph/prototype/renderers/workgraph-runtime.js +38 -0
  259. package/packages/work-graph/prototype-gnantt.html +655 -0
  260. package/packages/work-graph/src/adapters/business/projects.js +23 -0
  261. package/packages/work-graph/src/adapters/engineering/git.js +22 -0
  262. package/packages/work-graph/src/adapters/engineering/mcp.js +22 -0
  263. package/packages/work-graph/src/index.js +76 -0
  264. package/packages/work-graph/src/renderers/gantt-model.js +11 -0
  265. package/packages/work-graph/src/renderers/timeline.js +16 -0
  266. package/packages/work-graph/test/work-graph.test.mjs +37 -0
  267. package/protocol/README.md +12 -0
  268. package/protocol/capabilities/cloudflare-cpu-audit-input.schema.json +30 -6
  269. package/protocol/capabilities/cloudflare-cpu-profile-input.schema.json +18 -4
  270. package/protocol/capabilities/cloudflare-wrangler-native-input.schema.json +59 -10
  271. package/protocol/capabilities/knowledge-search-input.schema.json +35 -0
  272. package/protocol/capabilities/manifest.json +163 -1
  273. package/protocol/capabilities/repository-audit-input.schema.json +39 -6
  274. package/protocol/capabilities/repository-snapshot-input.schema.json +15 -3
  275. package/protocol/capabilities/terminal-exec-input.schema.json +55 -0
  276. package/protocol/commerce/catalog.v1.json +50 -0
  277. package/protocol/errors/error-catalog.json +164 -0
  278. package/protocol/errors/error-envelope.schema.json +544 -0
  279. package/protocol/features/README.md +57 -0
  280. package/protocol/features/agentsam.feature.v1.schema.json +290 -0
  281. package/protocol/features/catalog.json +65 -0
  282. package/protocol/features/examples/provider-resend.feature.json +17 -0
  283. package/protocol/go/agentsam-go-runtime.v1.json +17 -0
  284. package/protocol/knowledge/LIFECYCLE.md +140 -0
  285. package/protocol/knowledge/README.md +4 -0
  286. package/protocol/presets/catalog.json +128 -19
  287. package/protocol/rpc/v1/errors.proto +24 -0
  288. package/protocol/theme-refinery/d1-reconciliation.md +48 -0
  289. package/protocol/theme-refinery/product-metadata.schema.json +27 -0
  290. package/protocol/theme-refinery/receipts/products-registry-batch-20260924.json +318 -0
  291. package/protocol/theme-refinery/receipts/theme-harvest-20260924.json +472 -0
  292. package/protocol/theme-refinery/reconciliation-receipt.schema.json +83 -0
  293. package/services/cad/server.py +249 -2
  294. package/src/agent/capability-adapter.js +15 -5
  295. package/src/agent/index.js +2 -1
  296. package/src/agent/model-turn.js +51 -0
  297. package/src/agent/responses-runner.js +304 -38
  298. package/src/capabilities/index.js +1 -0
  299. package/src/capabilities/terminal-exec.js +78 -0
  300. package/src/cli.js +129 -31
  301. package/src/cloudflare/index.js +6 -0
  302. package/src/cloudflare/runtime-status.js +393 -0
  303. package/src/cloudflare/wrangler.js +17 -1
  304. package/src/commands/account-auth.js +1 -1
  305. package/src/commands/app.js +106 -0
  306. package/src/commands/autorag.js +77 -0
  307. package/src/commands/brand.js +293 -0
  308. package/src/commands/cad.js +1 -0
  309. package/src/commands/connections.js +126 -29
  310. package/src/commands/context-economics.js +8 -0
  311. package/src/commands/db.js +7 -0
  312. package/src/commands/deploy.js +2 -2
  313. package/src/commands/env.js +5 -4
  314. package/src/commands/eval.js +209 -14
  315. package/src/commands/go.js +365 -0
  316. package/src/commands/goap.js +176 -0
  317. package/src/commands/identity-init.js +27 -3
  318. package/src/commands/identity-protocol.js +195 -0
  319. package/src/commands/knowledge.js +64 -5
  320. package/src/commands/mcp.js +341 -0
  321. package/src/commands/merkle-persist.js +3 -1
  322. package/src/commands/merkle.js +18 -3
  323. package/src/commands/models.js +109 -23
  324. package/src/commands/plugins.js +175 -0
  325. package/src/commands/preferences.js +28 -8
  326. package/src/commands/product.js +53 -10
  327. package/src/commands/providers.js +389 -0
  328. package/src/commands/resume.js +9 -5
  329. package/src/commands/runtime-status.js +154 -0
  330. package/src/commands/shell.js +469 -54
  331. package/src/commands/status.js +82 -7
  332. package/src/commands/tunnel.js +228 -195
  333. package/src/commands/whoami.js +115 -22
  334. package/src/context/budget.js +6 -0
  335. package/src/context/index.js +2 -1
  336. package/src/context/project-card.js +75 -0
  337. package/src/errors/contract.js +34 -211
  338. package/src/errors/diagnostic.js +95 -50
  339. package/src/errors/index.js +6 -13
  340. package/src/eval/index.js +6 -0
  341. package/src/eval/live.js +439 -0
  342. package/src/features/resolve.js +242 -0
  343. package/src/go/build.js +108 -0
  344. package/src/go/cloudflare.js +207 -0
  345. package/src/go/contract.js +139 -0
  346. package/src/go/discover.js +96 -0
  347. package/src/go/index.js +13 -0
  348. package/src/go/receipts.js +77 -0
  349. package/src/go/registry.js +223 -0
  350. package/src/go/verify.js +31 -0
  351. package/src/index.js +100 -1
  352. package/src/knowledge/config.js +13 -5
  353. package/src/knowledge/engine.js +23 -8
  354. package/src/knowledge/index.js +1 -0
  355. package/src/knowledge/lane-registry.js +46 -0
  356. package/src/knowledge/providers/gemini.js +48 -8
  357. package/src/knowledge/service/client.js +13 -1
  358. package/src/knowledge/service/grpc-codec.js +156 -53
  359. package/src/knowledge/service/job-engine.js +133 -11
  360. package/src/knowledge/service/job-worker.js +34 -5
  361. package/src/knowledge/service/server.js +10 -1
  362. package/src/knowledge/store-discovery.js +77 -0
  363. package/src/lib/account-session.js +100 -25
  364. package/src/lib/agent-instructions.js +3 -0
  365. package/src/lib/auth.js +318 -51
  366. package/src/lib/cad/blender.js +42 -3
  367. package/src/lib/cad/d1-project-store.js +43 -0
  368. package/src/lib/cad/discovery.js +616 -0
  369. package/src/lib/cad/docker-executor.js +352 -0
  370. package/src/lib/cad/freecad.js +253 -0
  371. package/src/lib/cad/index.js +40 -0
  372. package/src/lib/cad/openscad.js +198 -0
  373. package/src/lib/cad/project-cli.d.ts +2 -0
  374. package/src/lib/cad/project-cli.js +21 -0
  375. package/src/lib/cad/project-contract.d.ts +3 -0
  376. package/src/lib/cad/project-contract.js +1 -0
  377. package/src/lib/cad/project-recipe.js +30 -0
  378. package/src/lib/cad/project-runtime.d.ts +2 -0
  379. package/src/lib/cad/project-runtime.js +53 -0
  380. package/src/lib/cad/project-store.js +25 -0
  381. package/src/lib/cad/project-workflows.js +31 -0
  382. package/src/lib/cad-docker.js +21 -2
  383. package/src/lib/cli-preferences.js +17 -2
  384. package/src/lib/core-client.js +97 -33
  385. package/src/lib/deploy/local-studio.js +6 -5
  386. package/src/lib/detect-context.js +14 -16
  387. package/src/lib/dockerize.js +3 -0
  388. package/src/lib/execution-approvals.js +1 -0
  389. package/src/lib/identity-scaffold.js +4 -1
  390. package/src/lib/knowledge-docker.js +9 -1
  391. package/src/lib/local-sessions.js +124 -34
  392. package/src/lib/local-status.js +35 -14
  393. package/src/lib/project-config.js +9 -0
  394. package/src/lib/provider-credentials.js +233 -55
  395. package/src/lib/scaffold/resolve-cloudflare-account.js +37 -0
  396. package/src/lib/scaffold/wizards/cms.js +2 -8
  397. package/src/lib/scaffold/wizards/worker-api.js +2 -8
  398. package/src/lib/slash-commands.js +10 -2
  399. package/src/local/migrations.js +109 -1
  400. package/src/local/runtime-store.js +31 -5
  401. package/src/local/sqlite.js +36 -1
  402. package/src/mcp/authority.js +348 -0
  403. package/src/mcp/client-adapters.js +431 -0
  404. package/src/mcp/client.js +172 -0
  405. package/src/mcp/index.js +47 -0
  406. package/src/mcp/telemetry.js +103 -0
  407. package/src/models/catalog.js +329 -51
  408. package/src/models/discovery.js +59 -4
  409. package/src/models/index.js +2 -0
  410. package/src/models/inventory-core.js +182 -0
  411. package/src/models/policy.js +20 -0
  412. package/src/plugins/cloudflare.js +103 -0
  413. package/src/plugins/completeful.js +69 -0
  414. package/src/plugins/contracts.js +86 -0
  415. package/src/plugins/index.js +11 -0
  416. package/src/plugins/registry.js +207 -0
  417. package/src/plugins/resource-scope.js +45 -0
  418. package/src/plugins/runtime.js +118 -0
  419. package/src/plugins/vectorize.js +31 -0
  420. package/src/progression/engine.js +171 -0
  421. package/src/progression/index.js +1 -0
  422. package/src/providers/cloudflare-chat.js +1 -1
  423. package/src/providers/gemini-generate-content.js +2 -1
  424. package/src/providers/openai-responses.js +45 -16
  425. package/src/providers/tool-schema.js +85 -0
  426. package/src/repository/index.js +29 -0
  427. package/src/rpc/generated/errors_pb.js +961 -1
  428. package/src/security/local-vault.js +415 -0
  429. package/src/security/process.js +20 -4
  430. package/src/status/actions.js +192 -0
  431. package/src/tools/hydrate.js +5 -1
  432. package/src/tools/index.js +7 -0
  433. package/src/tools/redact.js +64 -0
  434. package/src/tools/registry.js +83 -0
  435. package/src/tools/runtime.js +257 -0
  436. package/src/tools/search.js +21 -8
  437. package/src/ui/ansi.js +117 -3
  438. package/src/ui/cli/activity.js +76 -7
  439. package/src/ui/cli/footer.js +110 -9
  440. package/src/ui/cli/help.js +14 -5
  441. package/src/ui/wireframes.js +166 -0
  442. package/test/account-session.test.mjs +76 -11
  443. package/test/apps-scaffold-contract.test.mjs +58 -0
  444. package/test/capabilities.test.mjs +1 -1
  445. package/test/cli/eval-live.test.mjs +219 -0
  446. package/test/cli/go.test.mjs +71 -0
  447. package/test/cli/local-vault-and-provider-setup.test.mjs +268 -0
  448. package/test/cli/mcp-client.test.mjs +245 -0
  449. package/test/cli/runtime-ui.test.mjs +69 -2
  450. package/test/cli/status-actions.test.mjs +88 -0
  451. package/test/cli/wireframes-go-registry.test.mjs +54 -0
  452. package/test/cloudflare-connector.test.mjs +3 -6
  453. package/test/cloudflare-runtime.test.mjs +8 -1
  454. package/test/context.test.mjs +15 -0
  455. package/test/error-diagnostics.test.mjs +9 -0
  456. package/test/fixtures/cad/courtyard-house.json +208 -0
  457. package/test/go/cloudflare-probe.test.mjs +53 -0
  458. package/test/integration/app-command.test.mjs +55 -0
  459. package/test/integration/cad-discovery.test.mjs +158 -0
  460. package/test/integration/cad-docker-executor.test.mjs +249 -0
  461. package/test/integration/cad-execution.test.mjs +184 -0
  462. package/test/integration/cad-project-app.test.mjs +31 -0
  463. package/test/integration/cad-project-d1.test.mjs +25 -0
  464. package/test/integration/cad-project-native.test.mjs +24 -0
  465. package/test/integration/cad-project-workflow.test.mjs +9 -0
  466. package/test/integration/cad-project.test.mjs +82 -0
  467. package/test/integration/cli-help.test.mjs +4 -0
  468. package/test/integration/cms-site-tenancy-contract.test.mjs +256 -0
  469. package/test/integration/core-client.integration.test.mjs +55 -0
  470. package/test/integration/error-runtime-rpc.test.mjs +71 -0
  471. package/test/integration/features-resolve.test.mjs +128 -0
  472. package/test/integration/install-script.test.mjs +107 -0
  473. package/test/integration/inventory-core.test.mjs +53 -0
  474. package/test/integration/plugins-cloudflare.integration.test.mjs +28 -0
  475. package/test/integration/provider-env-cli.test.mjs +1 -1
  476. package/test/integration/runtime-migrations.test.mjs +6 -1
  477. package/test/integration/runtime-status.integration.test.mjs +211 -0
  478. package/test/integration/scaffold-cloudflare.test.mjs +46 -0
  479. package/test/integration/storage-architecture.test.mjs +154 -0
  480. package/test/integration/store-discovery.test.mjs +44 -0
  481. package/test/integration/terminal-exec.integration.test.mjs +86 -0
  482. package/test/integration/tool-runtime.test.mjs +124 -0
  483. package/test/integration/tool-schema.test.mjs +59 -0
  484. package/test/knowledge-service.test.mjs +4 -0
  485. package/test/local-sessions.test.mjs +11 -2
  486. package/test/local-studio-deploy.test.mjs +1 -1
  487. package/test/model-catalog.test.mjs +28 -1
  488. package/test/models.test.mjs +159 -5
  489. package/test/openai-responses.test.mjs +60 -0
  490. package/test/provider-credentials.test.mjs +15 -5
  491. package/test/responses-runner.test.mjs +321 -6
  492. package/test/sdk-worker-contract.test.mjs +5 -1
  493. package/test/shell.test.mjs +149 -4
  494. package/test/smoke.mjs +4 -3
  495. package/test/tools-search.test.mjs +33 -0
  496. package/test/unit/website-assets-bindings.test.mjs +60 -0
  497. package/test/whoami-resume.test.mjs +87 -7
  498. package/examples/gorilla-shell/README.md +0 -15
  499. package/src/lib/gorilla-template.js +0 -54
  500. package/src/lib/prompt-byok.js +0 -57
  501. package/src/lib/save-sdk-token.js +0 -19
  502. package/templates/gorilla-shell/App.tsx +0 -639
  503. package/templates/gorilla-shell/README.md +0 -34
  504. package/templates/gorilla-shell/index.html +0 -15
  505. package/templates/gorilla-shell/main.jsx +0 -9
  506. package/templates/gorilla-shell/package.json +0 -19
  507. package/templates/gorilla-shell/vite.config.js +0 -21
@@ -0,0 +1,507 @@
1
+ export type MeasurementUnit = 'in' | 'ft' | 'm' | 'mm';
2
+
3
+ export type WallMaterial = 'drywall' | 'brick' | 'concrete' | 'glass' | 'wood_panel' | 'steel';
4
+
5
+ export type FloorMaterial = 'hardwood' | 'marble' | 'tile' | 'polished_concrete' | 'carpet' | 'terrazzo';
6
+
7
+ export interface WallElement {
8
+ id: string;
9
+ x1: number;
10
+ y1: number;
11
+ x2: number;
12
+ y2: number;
13
+ thickness: number; // in inches (e.g. 6)
14
+ height3D: number; // in inches (e.g. 96 or 108)
15
+ material: WallMaterial;
16
+ color?: string;
17
+ exterior?: boolean;
18
+ sourceSketchShapeIds?: string[];
19
+ }
20
+
21
+ export interface DoorElement {
22
+ id: string;
23
+ wallId: string;
24
+ distanceAlongWall: number; // 0 to 1 ratio or absolute offset
25
+ width: number; // in inches (e.g. 36)
26
+ height: number; // in inches (e.g. 84)
27
+ swing: 'left' | 'right' | 'sliding' | 'double' | 'pocket';
28
+ openAngle: number; // 0 to 90 degrees
29
+ label?: string;
30
+ sourceSketchShapeIds?: string[];
31
+ }
32
+
33
+ export interface WindowElement {
34
+ id: string;
35
+ wallId: string;
36
+ distanceAlongWall: number; // 0 to 1 ratio
37
+ width: number; // in inches (e.g. 48)
38
+ height: number; // in inches (e.g. 60)
39
+ elevation: number; // height from floor in inches (e.g. 36)
40
+ style: 'casement' | 'sliding' | 'picture' | 'hung';
41
+ label?: string;
42
+ sourceSketchShapeIds?: string[];
43
+ }
44
+
45
+ export type FurnitureCategory = 'seating' | 'tables' | 'bedroom' | 'kitchen' | 'bathroom' | 'office' | 'decor' | 'parametric';
46
+
47
+ export interface FurnitureElement {
48
+ id: string;
49
+ type: string; // 'sofa_3seater', 'king_bed', 'dining_table_6', 'desk', 'kitchen_island', 'toilet', 'bathtub', 'potted_plant', etc.
50
+ category: FurnitureCategory;
51
+ name: string;
52
+ x: number; // center x in inches
53
+ y: number; // center y in inches
54
+ w: number; // width in inches
55
+ d: number; // depth in inches
56
+ h: number; // height in inches
57
+ rotation: number; // in degrees
58
+ color: string;
59
+ material?: string;
60
+ icon?: string;
61
+ parametricObjectId?: string;
62
+ sourceSketchShapeIds?: string[];
63
+ }
64
+
65
+ export interface RoomZone {
66
+ id: string;
67
+ name: string;
68
+ points: [number, number][]; // Polygon vertices in inches
69
+ areaSqFt: number;
70
+ floorMaterial: FloorMaterial;
71
+ color: string;
72
+ sourceSketchShapeIds?: string[];
73
+ }
74
+
75
+ export interface DimensionAnnotation {
76
+ id: string;
77
+ x1: number;
78
+ y1: number;
79
+ x2: number;
80
+ y2: number;
81
+ label: string;
82
+ sourceSketchShapeIds?: string[];
83
+ }
84
+
85
+ export interface LightingConfig {
86
+ sunAltitude: number; // 10 to 90 degrees
87
+ sunAzimuth: number; // 0 to 360 degrees
88
+ intensity: number; // 0.2 to 2.0
89
+ timeOfDay: 'morning' | 'noon' | 'sunset' | 'night';
90
+ shadows: boolean;
91
+ ambientColor: string;
92
+ }
93
+
94
+ // ---------------------------------------------------------------------------
95
+ // PARAMETRIC & OPENSCAD DOMAIN MODEL
96
+ // ---------------------------------------------------------------------------
97
+
98
+ export type ParametricGeneratorType = 'openscad' | 'procedural_csg' | 'custom_script';
99
+
100
+ export interface ParametricParameterDef {
101
+ name: string;
102
+ label: string;
103
+ type: 'number' | 'string' | 'boolean' | 'select';
104
+ value: number | string | boolean;
105
+ min?: number;
106
+ max?: number;
107
+ step?: number;
108
+ unit?: string;
109
+ options?: { label: string; value: string | number }[];
110
+ description?: string;
111
+ }
112
+
113
+ export interface ParametricObject {
114
+ id: string;
115
+ name: string;
116
+ generator: ParametricGeneratorType;
117
+ generatorTemplate?: string; // 'workstation' | 'bookshelf' | 'chair' | 'pergola' | 'cabinet' | 'custom'
118
+ parameters: Record<string, number | string | boolean>;
119
+ parameterDefs?: ParametricParameterDef[];
120
+ transform: {
121
+ x: number; // in inches
122
+ y: number; // in inches (floor plane)
123
+ z: number; // elevation in inches
124
+ rotationX?: number;
125
+ rotationY?: number; // rotation around Y axis in degrees
126
+ rotationZ?: number;
127
+ };
128
+ source: string; // OpenSCAD source code (.scad)
129
+ generatedArtifacts?: DesignArtifactSummary[];
130
+ updatedAt?: number;
131
+ }
132
+
133
+ export interface DesignArtifactSummary {
134
+ id: string;
135
+ format: 'stl' | '3mf' | 'dxf' | 'scad' | 'obj' | 'svg' | 'json';
136
+ filename: string;
137
+ sizeBytes: number;
138
+ createdAt: number;
139
+ checksum?: string;
140
+ }
141
+
142
+ // ---------------------------------------------------------------------------
143
+ // CANONICAL PROJECT STATE & METADATA
144
+ // ---------------------------------------------------------------------------
145
+
146
+ export interface ProjectMetadata {
147
+ author?: string;
148
+ description?: string;
149
+ tags?: string[];
150
+ createdAt: number;
151
+ updatedAt: number;
152
+ revision: number;
153
+ revisionMessage?: string;
154
+ }
155
+
156
+ export interface ProjectLayer {
157
+ id: string;
158
+ name: string;
159
+ visible: boolean;
160
+ locked: boolean;
161
+ color?: string;
162
+ }
163
+
164
+ export interface SketchDocumentRef {
165
+ tldrawSnapshot?: any; // Serialized tldraw store snapshot
166
+ shapesCount?: number;
167
+ lastEditedAt?: number;
168
+ }
169
+
170
+ export interface DesignProject {
171
+ id: string;
172
+ name: string;
173
+ units?: MeasurementUnit;
174
+ scale: number; // 1 canvas unit = 1 inch
175
+ gridSize: number; // grid step in inches (default 12 inches = 1 ft)
176
+ snapToGrid: boolean;
177
+ layers?: ProjectLayer[];
178
+ walls: WallElement[];
179
+ doors: DoorElement[];
180
+ windows: WindowElement[];
181
+ furniture: FurnitureElement[];
182
+ rooms: RoomZone[];
183
+ annotations: DimensionAnnotation[];
184
+ parametricObjects?: ParametricObject[];
185
+ sketchDocument?: SketchDocumentRef;
186
+ lighting: LightingConfig;
187
+ roofType: 'none' | 'flat' | 'gable';
188
+ ceilingHeight: number; // e.g. 108 inches
189
+ metadata?: ProjectMetadata;
190
+ updatedAt: number;
191
+ version: number;
192
+ }
193
+
194
+ // Backwards-compatible alias
195
+ export type ProjectState = DesignProject;
196
+
197
+ // ---------------------------------------------------------------------------
198
+ // CANONICAL DESIGN OPERATIONS (COMMANDS)
199
+ // ---------------------------------------------------------------------------
200
+
201
+ export type DesignOperationType =
202
+ | 'create_wall'
203
+ | 'update_wall'
204
+ | 'delete_wall'
205
+ | 'create_room'
206
+ | 'update_room'
207
+ | 'delete_room'
208
+ | 'add_door'
209
+ | 'update_door'
210
+ | 'delete_door'
211
+ | 'add_window'
212
+ | 'update_window'
213
+ | 'delete_window'
214
+ | 'add_fixture'
215
+ | 'update_fixture'
216
+ | 'delete_fixture'
217
+ | 'move_element'
218
+ | 'create_parametric_object'
219
+ | 'update_parametric_parameter'
220
+ | 'update_parametric_source'
221
+ | 'delete_parametric_object'
222
+ | 'attach_sketch'
223
+ | 'convert_sketch_selection'
224
+ | 'set_material'
225
+ | 'set_lighting'
226
+ | 'batch_operations';
227
+
228
+ export interface BaseDesignOperation {
229
+ id: string;
230
+ type: DesignOperationType;
231
+ timestamp: number;
232
+ authorId?: string;
233
+ }
234
+
235
+ export interface CreateWallOp extends BaseDesignOperation {
236
+ type: 'create_wall';
237
+ wall: WallElement;
238
+ }
239
+
240
+ export interface UpdateWallOp extends BaseDesignOperation {
241
+ type: 'update_wall';
242
+ wallId: string;
243
+ updates: Partial<WallElement>;
244
+ }
245
+
246
+ export interface DeleteWallOp extends BaseDesignOperation {
247
+ type: 'delete_wall';
248
+ wallId: string;
249
+ }
250
+
251
+ export interface CreateRoomOp extends BaseDesignOperation {
252
+ type: 'create_room';
253
+ room: RoomZone;
254
+ }
255
+
256
+ export interface UpdateRoomOp extends BaseDesignOperation {
257
+ type: 'update_room';
258
+ roomId: string;
259
+ updates: Partial<RoomZone>;
260
+ }
261
+
262
+ export interface DeleteRoomOp extends BaseDesignOperation {
263
+ type: 'delete_room';
264
+ roomId: string;
265
+ }
266
+
267
+ export interface AddDoorOp extends BaseDesignOperation {
268
+ type: 'add_door';
269
+ door: DoorElement;
270
+ }
271
+
272
+ export interface UpdateDoorOp extends BaseDesignOperation {
273
+ type: 'update_door';
274
+ doorId: string;
275
+ updates: Partial<DoorElement>;
276
+ }
277
+
278
+ export interface DeleteDoorOp extends BaseDesignOperation {
279
+ type: 'delete_door';
280
+ doorId: string;
281
+ }
282
+
283
+ export interface AddWindowOp extends BaseDesignOperation {
284
+ type: 'add_window';
285
+ window: WindowElement;
286
+ }
287
+
288
+ export interface UpdateWindowOp extends BaseDesignOperation {
289
+ type: 'update_window';
290
+ windowId: string;
291
+ updates: Partial<WindowElement>;
292
+ }
293
+
294
+ export interface DeleteWindowOp extends BaseDesignOperation {
295
+ type: 'delete_window';
296
+ windowId: string;
297
+ }
298
+
299
+ export interface AddFixtureOp extends BaseDesignOperation {
300
+ type: 'add_fixture';
301
+ fixture: FurnitureElement;
302
+ }
303
+
304
+ export interface UpdateFixtureOp extends BaseDesignOperation {
305
+ type: 'update_fixture';
306
+ fixtureId: string;
307
+ updates: Partial<FurnitureElement>;
308
+ }
309
+
310
+ export interface DeleteFixtureOp extends BaseDesignOperation {
311
+ type: 'delete_fixture';
312
+ fixtureId: string;
313
+ }
314
+
315
+ export interface MoveElementOp extends BaseDesignOperation {
316
+ type: 'move_element';
317
+ elementType: 'wall' | 'door' | 'window' | 'furniture' | 'room' | 'parametric';
318
+ elementId: string;
319
+ dx: number;
320
+ dy: number;
321
+ dz?: number;
322
+ }
323
+
324
+ export interface CreateParametricObjectOp extends BaseDesignOperation {
325
+ type: 'create_parametric_object';
326
+ parametricObject: ParametricObject;
327
+ }
328
+
329
+ export interface UpdateParametricParameterOp extends BaseDesignOperation {
330
+ type: 'update_parametric_parameter';
331
+ parametricObjectId: string;
332
+ parameterName: string;
333
+ value: number | string | boolean;
334
+ }
335
+
336
+ export interface UpdateParametricSourceOp extends BaseDesignOperation {
337
+ type: 'update_parametric_source';
338
+ parametricObjectId: string;
339
+ source: string;
340
+ }
341
+
342
+ export interface DeleteParametricObjectOp extends BaseDesignOperation {
343
+ type: 'delete_parametric_object';
344
+ parametricObjectId: string;
345
+ }
346
+
347
+ export interface AttachSketchOp extends BaseDesignOperation {
348
+ type: 'attach_sketch';
349
+ sketchDocument: SketchDocumentRef;
350
+ }
351
+
352
+ export interface ConvertSketchSelectionOp extends BaseDesignOperation {
353
+ type: 'convert_sketch_selection';
354
+ sourceShapeIds: string[];
355
+ proposedOperations: DesignOperation[];
356
+ }
357
+
358
+ export interface SetLightingOp extends BaseDesignOperation {
359
+ type: 'set_lighting';
360
+ lighting: Partial<LightingConfig>;
361
+ }
362
+
363
+ export interface BatchOperationsOp extends BaseDesignOperation {
364
+ type: 'batch_operations';
365
+ operations: DesignOperation[];
366
+ }
367
+
368
+ export type DesignOperation =
369
+ | CreateWallOp
370
+ | UpdateWallOp
371
+ | DeleteWallOp
372
+ | CreateRoomOp
373
+ | UpdateRoomOp
374
+ | DeleteRoomOp
375
+ | AddDoorOp
376
+ | UpdateDoorOp
377
+ | DeleteDoorOp
378
+ | AddWindowOp
379
+ | UpdateWindowOp
380
+ | DeleteWindowOp
381
+ | AddFixtureOp
382
+ | UpdateFixtureOp
383
+ | DeleteFixtureOp
384
+ | MoveElementOp
385
+ | CreateParametricObjectOp
386
+ | UpdateParametricParameterOp
387
+ | UpdateParametricSourceOp
388
+ | DeleteParametricObjectOp
389
+ | AttachSketchOp
390
+ | ConvertSketchSelectionOp
391
+ | SetLightingOp
392
+ | BatchOperationsOp;
393
+
394
+ // ---------------------------------------------------------------------------
395
+ // ARTIFACT EXPORTER & PUBLISHER MODELS
396
+ // ---------------------------------------------------------------------------
397
+
398
+ export type ExportFormat = 'json' | 'svg' | 'dxf' | 'obj' | 'scad' | 'stl' | '3mf' | 'gltf';
399
+
400
+ export interface DesignArtifact {
401
+ id: string;
402
+ projectId: string;
403
+ revisionId: string;
404
+ format: ExportFormat;
405
+ mimeType: string;
406
+ filename: string;
407
+ size: number;
408
+ createdAt: number;
409
+ generator: string;
410
+ checksum: string;
411
+ content: string | Uint8Array;
412
+ localUrl?: string;
413
+ storageRef?: string;
414
+ metadata?: Record<string, any>;
415
+ }
416
+
417
+ export type PublisherDestinationId = 'local' | 'github' | 'cloudflare' | 'docker' | 'custom';
418
+
419
+ export interface PublisherCapabilities {
420
+ supportsPrivatePublish: boolean;
421
+ supportsReleases: boolean;
422
+ supportsDirectArtifacts: boolean;
423
+ requiresAuthToken: boolean;
424
+ authFields?: { key: string; label: string; type: 'text' | 'password'; placeholder?: string; required?: boolean }[];
425
+ }
426
+
427
+ export interface PublishResult {
428
+ success: boolean;
429
+ destination: PublisherDestinationId;
430
+ targetUrl?: string;
431
+ receiptId: string;
432
+ publishedAt: number;
433
+ filesCount: number;
434
+ message: string;
435
+ metadata?: Record<string, any>;
436
+ }
437
+
438
+ export interface ProjectRevisionReceipt {
439
+ revisionId: string;
440
+ projectId: string;
441
+ revisionNumber: number;
442
+ timestamp: number;
443
+ message: string;
444
+ author?: string;
445
+ wallsCount: number;
446
+ roomsCount: number;
447
+ parametricCount: number;
448
+ }
449
+
450
+ // ---------------------------------------------------------------------------
451
+ // MULTIPLAYER, ROLES, AND STUDIO UI STATE
452
+ // ---------------------------------------------------------------------------
453
+
454
+ export type UserRole = 'Owner' | 'Editor' | 'Viewer';
455
+
456
+ export interface RolePermissions {
457
+ canEditGeometry: boolean;
458
+ canUseAIAssistant: boolean;
459
+ canUploadSketches: boolean;
460
+ canChangeSettings: boolean;
461
+ canManageRoles: boolean;
462
+ canLoadTemplates: boolean;
463
+ canSaveRevisions: boolean;
464
+ canExport: boolean;
465
+ canGenerateMedia: boolean;
466
+ canEditParametric: boolean;
467
+ }
468
+
469
+ export interface MultiplayerUser {
470
+ id: string;
471
+ name: string;
472
+ color: string;
473
+ role: UserRole;
474
+ cursor?: { x: number; y: number; view: '2d' | '3d' };
475
+ selectedIds: string[];
476
+ activeTool: string;
477
+ lastActive: number;
478
+ }
479
+
480
+ export interface ChatMessage {
481
+ id: string;
482
+ role: 'user' | 'agent' | 'system';
483
+ text: string;
484
+ timestamp: number;
485
+ planData?: Partial<DesignProject>;
486
+ suggestedPrompts?: string[];
487
+ generatedImages?: { url: string; prompt: string; timestamp: number }[];
488
+ videoResult?: { url: string; prompt: string; operationName?: string };
489
+ isStreaming?: boolean;
490
+ }
491
+
492
+ export type ActiveTool =
493
+ | 'select'
494
+ | 'wall'
495
+ | 'door'
496
+ | 'window'
497
+ | 'room'
498
+ | 'furniture'
499
+ | 'dimension'
500
+ | 'measure'
501
+ | 'eraser'
502
+ | 'pan';
503
+
504
+ export type StudioTabMode = 'plan' | 'sketch' | '3d' | 'parametric' | 'render';
505
+
506
+ export type ViewMode = 'split' | '2d' | '3d' | 'firstperson' | 'sketch' | 'parametric' | 'robotics';
507
+
@@ -0,0 +1,14 @@
1
+ {
2
+ "compilerOptions": {
3
+ "target": "ES2022",
4
+ "module": "ESNext",
5
+ "moduleResolution": "bundler",
6
+ "strict": true,
7
+ "isolatedModules": true,
8
+ "skipLibCheck": true,
9
+ "noEmit": true
10
+ },
11
+ "include": [
12
+ "src"
13
+ ]
14
+ }
@@ -6,47 +6,45 @@ The `agentsam-sdk` package owns the portable public configuration contract. Cons
6
6
 
7
7
  | Variable | Meaning |
8
8
  | --- | --- |
9
- | `IAM_ORIGIN` | Canonical IAM authority and browser/OAuth/API origin. |
9
+ | `IAM_OAUTH_ISSUER` | Canonical IAM authority/issuer for browser OAuth and platform account requests. |
10
+ | `IAM_ORIGIN` | Migration fallback for the IAM issuer. New code resolves `IAM_OAUTH_ISSUER` first. |
10
11
  | `IAM_CLIENT_ID` | OAuth client id for an application using IAM identity. |
11
12
  | `IAM_CLIENT_SECRET` | OAuth client secret. Keep it server-side. |
12
- | `AGENTSAM_SDK_KEY` | Account/delegated SDK bearer. Raw values use the `sdk_` prefix and are sent as `Authorization: Bearer …`. |
13
- | `AGENTSAM_BRIDGE_KEY` | Machine/integration credential. It is never a substitute for user SDK authentication. |
13
+ | `AGENTSAM_API_KEY` | Reusable account/delegated API credential. Raw values use the `aak_` prefix and are sent as `Authorization: Bearer …`. |
14
+ | `AGENTSAM_BRIDGE_KEY` | Infrastructure/machine integration trust. It is never a substitute for account authentication. |
14
15
 
15
- The host-side durable verifier for SDK credentials is `agentsam_sdk_tokens`. The SDK defines the public credential semantics; the host owns the database and authorization implementation.
16
+ The host-side durable verifier for reusable AgentSam API credentials is `agentsam_api_credentials`. The SDK defines the public credential semantics; the host owns credential issuance, hashing, storage, revocation, and authorization.
16
17
 
17
- `AGENTSAM_BRIDGE_KEY` remains the direct machine-secret environment variable. A host may additionally resolve a hashed credential from `agentsam_sdk_tokens` when that row has `token_type='integration'`. That does not turn the bridge credential into user authentication.
18
+ Interactive browser login is intentionally separate from `AGENTSAM_API_KEY`. The CLI stores an opaque machine-local browser session under `~/.agentsam/auth/session.json`; it does not turn that session into a reusable API key.
18
19
 
19
20
  ## Migration compatibility
20
21
 
21
- The current migration window accepts two deprecated read fallbacks:
22
+ The issuer resolver accepts `IAM_ORIGIN` only when `IAM_OAUTH_ISSUER` is absent. The retired `AGENTSAM_SDK_KEY`, `AGENTSAM_SDK_TOKEN`, `sdk_` bearer, and `agentsam_sdk_tokens` account-auth contract is not read by the current SDK.
22
23
 
23
- ```text
24
- IAM_ORIGIN
25
- fallback: IAM_OAUTH_ISSUER
26
-
27
- AGENTSAM_SDK_KEY
28
- fallback: AGENTSAM_SDK_TOKEN
29
- ```
30
-
31
- Canonical names always win when both are present. New scaffolds, docs, and writes emit only the canonical names. Compatibility aliases are intentionally not a permanent parallel configuration surface.
32
-
33
- Older platform-base aliases (`IAM_CORE_URL`, `AGENTSAM_CORE_URL`, `AGENTSAM_BASE_URL`) are compatibility-only. SDK clients prefer `IAM_ORIGIN`.
24
+ Older platform-base aliases (`IAM_CORE_URL`, `AGENTSAM_CORE_URL`, `AGENTSAM_BASE_URL`) remain compatibility-only where legacy clients still consume them.
34
25
 
35
26
  ## Credential boundaries
36
27
 
37
28
  ```text
38
- human/account SDK lane
39
- AGENTSAM_SDK_KEY
40
- -> sdk_* bearer
41
- -> Authorization: Bearer <sdk_*>
29
+ reusable account API lane
30
+ AGENTSAM_API_KEY
31
+ -> aak_* bearer
32
+ -> Authorization: Bearer <aak_*>
42
33
  -> account/delegated authority
43
- -> agentsam_sdk_tokens
34
+ -> agentsam_api_credentials (hashed verifier on the host)
35
+
36
+ interactive browser lane
37
+ agentsam login
38
+ -> opaque browser session credential
39
+ -> ~/.agentsam/auth/session.json
40
+ -> interactive account authority
41
+ -> never rewritten as AGENTSAM_API_KEY
44
42
 
45
- machine/integration lane
46
- AGENTSAM_BRIDGE_KEY
43
+ machine/infrastructure lane
44
+ enrolled opaque machine credential / infrastructure bridge trust
47
45
  -> machine principal
48
- -> no user/workspace identity injection
49
- -> host env secret OR agentsam_sdk_tokens(token_type='integration')
46
+ -> server resolves connection -> instance -> account
47
+ -> never accepted as account API auth
50
48
  ```
51
49
 
52
- Browser OAuth uses `IAM_ORIGIN` together with `IAM_CLIENT_ID` and `IAM_CLIENT_SECRET`. Repository identity, workspace labels, or machine trust do not prove account authority.
50
+ Repository identity, workspace labels, terminal instance ids, and machine trust do not prove reusable account authority. Provider credentials such as `OPENAI_API_KEY`, `GEMINI_API_KEY`, `CURSOR_API_KEY`, and Cloudflare credentials are managed separately by the machine provider-credential service.
@@ -0,0 +1,58 @@
1
+ # AgentSam AutoRAG
2
+
3
+ AutoRAG is the setup and orchestration layer for the existing AgentSam knowledge engine. It discovers a repository, selects a deliberately bounded corpus/lane, records a portable profile in `.agentsam/knowledge.json`, and verifies that profile with a safe probe. It is not a second indexer, a giant company collection, or a credentials store.
4
+
5
+ ## Local quickstart
6
+
7
+ ```bash
8
+ agentsam autorag setup
9
+ agentsam autorag probe
10
+ agentsam index plan
11
+ agentsam index run
12
+ agentsam search "the symbol or phrase"
13
+ ```
14
+
15
+ The default is local SQLite, structural and lexical retrieval, and no embedding request. Docker, Cloudflare, Supabase, a company graph, and a paid provider are all optional.
16
+
17
+ For a non-interactive code profile:
18
+
19
+ ```bash
20
+ agentsam autorag setup --yes --kind code --scope packages,src
21
+ ```
22
+
23
+ For documents, choose literal paths rather than embedding a whole checkout by default:
24
+
25
+ ```bash
26
+ agentsam autorag setup --yes --kind documents --scope docs,README.md
27
+ ```
28
+
29
+ `setup` and `configure` write only `.agentsam/knowledge.json`; they never serialize API keys. Provider credentials resolve from the environment, an authenticated host/vault, or an installed provider connector.
30
+
31
+ ## Providers and backends
32
+
33
+ `agentsam autorag providers` reports the actual registry. Gemini, OpenAI, Workers AI, Ollama, and deterministic `fixture` adapters share the same embedding contract. An unavailable credential/binding is reported unavailable and fails closed; changing a model string never changes another provider's transport.
34
+
35
+ `agentsam autorag backends` reports `local_exact`, `postgres_pgvector`, `supabase_pgvector`, and `cloudflare_vectorize`. A nonlocal backend requires an explicit resource; Vectorize additionally requires an explicit binding and index. A lane's provider/model/dimensions/backend/resource combination is explicit, so incompatible vector dimensions cannot silently share a physical index.
36
+
37
+ Use semantic embeddings deliberately. A normal local setup makes none. A probe refuses paid semantic work unless explicitly enabled:
38
+
39
+ ```bash
40
+ agentsam autorag configure --yes --provider fixture --semantic --dimensions 3
41
+ agentsam autorag probe --semantic
42
+ ```
43
+
44
+ ## Probe and evidence
45
+
46
+ `agentsam autorag probe` limits itself to 25 files, 100 chunks, and one query. It creates a dedicated probe generation, so a failed probe cannot replace the active non-probe generation. Its receipt records scope, profile, backend, Git evidence, Merkle root, counts, and the bounded query result.
47
+
48
+ For code, planning is structural-first: symbol/path lexical matching and JS/TS AST observations remain primary; semantic vectors supplement them. The engine consumes the repository package's deterministic content Merkle and semantic metadata root. Merkle answers what exact filesystem evidence changed; it does not replace AST/import graphs, repository contracts, dependencies, or retrieval generations.
49
+
50
+ ## Company graph and Docker
51
+
52
+ A host may supply a company-graph adapter. It classifies intent, chooses candidate repositories through contracts/dependencies, resolves repository-specific lanes, then merges bounded evidence. It does not search every repository or create one company-wide vector collection. Repository-specific intent routes override account routes, which override portable defaults.
53
+
54
+ `agentsam dockerize --type knowledge_service` remains an optional execution host around the same engine. Normal local setup never starts or requires Docker.
55
+
56
+ ## Troubleshooting
57
+
58
+ Run `agentsam autorag doctor` for config, Git/Merkle, local store, and selected-provider status. Run `agentsam autorag status` to inspect discovery/config, and `agentsam autorag lanes` to see the configured explicit lane. A provider marked unavailable is a capability result, not a reason to add a secret to project config.
@@ -0,0 +1,30 @@
1
+ # Brand Intelligence + Interactive CLI (implementation status)
2
+
3
+ **Repo:** `agentsam-sdk` · **Date:** 2026-09-24
4
+
5
+ | Item | Status | Evidence |
6
+ |------|--------|----------|
7
+ | 1. Architecture inspected | implemented | repository.snapshot + security shared authority pattern |
8
+ | 2. Reusable machinery identified | implemented | merkle/gitignore via snapshot |
9
+ | 3. Capability contracts | implemented | `protocol/capabilities/manifest.json` brand.* |
10
+ | 4. Brand scanner | implemented | `packages/agentsam-brand/src/scan.js` |
11
+ | 5. Brand resolver | implemented | `packages/agentsam-brand/src/resolve.js` |
12
+ | 6. Brand Contract draft | implemented | `buildBrandContractDraft` + `.agentsam/brand/` |
13
+ | 7. Progression engine | implemented | `src/progression/engine.js` (generic) |
14
+ | 8. Deterministic conversational router | partial | `routeDeterministicIntent`; shell wiring thin |
15
+ | 9. Interactive session state | partial | existing sessions; brand not fully session-bound |
16
+ | 10. TUI event model | partial | brand.scan emits operation.* events → runtime-activity |
17
+ | 11. TUI views | partial | activity panel during scan; full shell mockup not rebuilt |
18
+ | 12. No-model experience | implemented | tests + CLI without model |
19
+ | 13. Model-assisted | not applicable yet | brand.plan marked model_assisted_optional |
20
+ | 14. GOAP integration | partial | `--goap` greedy sequencer + action catalog |
21
+ | 15. Receipts | partial | `receipt` + `next_actions` on scan/plan |
22
+ | 16. Presets | implemented | cms → cms,knowledge,brand,theme |
23
+ | 17. CLI commands | implemented | `brand`, `plan brand` |
24
+ | 18. Help/discovery | implemented | cli help + slash /brand /plan /next |
25
+ | 19. Tests | implemented | brand-scan.test.mjs + capabilities preset |
26
+ | 20. Package boundaries | implemented | private `agentsam-sdk-brand` workspace |
27
+ | 21. Backward compatibility | implemented | additive capabilities |
28
+ | 22. E2E terminal demo | partial | CLI smoke; full interactive shell demo pending |
29
+
30
+ **Not done yet (explicit):** `brand.apply` mutations, full multi-op TUI panel, deep shell free-text loop, campaign/theme.create inheritance executor.