@inneranimalmedia/agentsam-sdk 2.6.5 → 2.6.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (400) hide show
  1. package/AGENTSAM.md +29 -0
  2. package/README.md +37 -0
  3. package/apps/README.md +5 -0
  4. package/apps/cad-creator/README.md +4 -4
  5. package/apps/cad-creator/shared/cad/package.json +1 -1
  6. package/apps/client-cms-editor/AGENTS.md +12 -7
  7. package/apps/client-cms-editor/README.md +76 -48
  8. package/apps/client-cms-editor/agentsam.app.json +26 -9
  9. package/apps/client-cms-editor/backend/package.json +20 -3
  10. package/apps/client-cms-editor/backend/src/api/client.ts +134 -101
  11. package/apps/client-cms-editor/backend/src/index.ts +1 -1
  12. package/apps/client-cms-editor/backend/src/model.ts +11 -115
  13. package/apps/client-cms-editor/backend/src/preview/bridge.ts +1 -1
  14. package/apps/client-cms-editor/backend/tsconfig.json +6 -1
  15. package/apps/client-cms-editor/bin/agentsam-cms.js +262 -0
  16. package/apps/client-cms-editor/bin/agentsam-cms.mjs +2 -228
  17. package/apps/client-cms-editor/frontend/package.json +16 -7
  18. package/apps/client-cms-editor/frontend/src/AgentSamDrawer.tsx +9 -41
  19. package/apps/client-cms-editor/frontend/src/CmsAgentSurface.tsx +19 -174
  20. package/apps/client-cms-editor/frontend/src/adapters/heuristic.ts +29 -0
  21. package/apps/client-cms-editor/frontend/src/adapters/http.ts +628 -0
  22. package/apps/client-cms-editor/frontend/src/adapters/memory.ts +510 -0
  23. package/apps/client-cms-editor/frontend/src/editor/CmsEditor.tsx +213 -0
  24. package/apps/client-cms-editor/frontend/src/editor/CmsEditorProvider.tsx +20 -0
  25. package/apps/client-cms-editor/frontend/src/editor/canvas/PreviewCanvas.tsx +53 -0
  26. package/apps/client-cms-editor/frontend/src/{CmsEditor.tsx → editor/legacy/CmsEditorPrototype.tsx} +52 -23
  27. package/apps/client-cms-editor/frontend/src/editor/useCmsEditorController.ts +218 -0
  28. package/apps/client-cms-editor/frontend/src/index.ts +19 -5
  29. package/apps/client-cms-editor/frontend/src/lib/agent-host.ts +24 -0
  30. package/apps/client-cms-editor/frontend/src/main.tsx +82 -8
  31. package/apps/client-cms-editor/frontend/src/mount.tsx +92 -30
  32. package/apps/client-cms-editor/frontend/src/styles/agentsam-drawer.css +1 -1
  33. package/apps/client-cms-editor/frontend/src/styles/cmsShell.css +8 -8
  34. package/apps/client-cms-editor/frontend/src/styles/studio.css +55 -3
  35. package/apps/client-cms-editor/frontend/tsconfig.json +12 -1
  36. package/apps/client-cms-editor/frontend/vite.config.ts +12 -0
  37. package/apps/client-cms-editor/package-lock.json +973 -134
  38. package/apps/client-cms-editor/package.json +118 -6
  39. package/apps/client-cms-editor/reference/harvest/HARVEST_RECEIPT.json +201 -0
  40. package/apps/client-cms-editor/reference/harvest/PROVENANCE_HISTORY.txt +10 -0
  41. package/apps/client-cms-editor/reference/harvest/README.md +8 -0
  42. package/apps/client-cms-editor/reference/harvest/plans/ARCHIVE-INTAKE.md +135 -0
  43. package/apps/client-cms-editor/reference/harvest/plans/CHATGPT-IDENTITY-HARVEST.md +83 -0
  44. package/apps/client-cms-editor/reference/harvest/plans/CMS-EDITOR-HARVEST.md +166 -0
  45. package/apps/client-cms-editor/reference/harvest/plans/HARVEST-INDEX.md +196 -0
  46. package/apps/client-cms-editor/reference/harvest/plans/INNERANIMALS-CONTENT-001.md +137 -0
  47. package/apps/client-cms-editor/reference/harvest/plans/NO-IMPLICIT-SIDE-EFFECTS.md +87 -0
  48. package/apps/client-cms-editor/reference/harvest/plans/STOREFRONT-SURFACE-MAP.md +140 -0
  49. package/apps/client-cms-editor/reference/harvest/plans/THEME-INNERANIMALS-HARVEST.md +137 -0
  50. package/apps/client-cms-editor/reference/harvest/plans/TOOLING-LAB.md +63 -0
  51. package/apps/client-cms-editor/reference/harvest/plans/harvest-manifest.json +97 -0
  52. package/apps/client-cms-editor/reference/harvest/plans/local-cms-harvest-schema.sql +328 -0
  53. package/apps/client-cms-editor/shared/cms/package.json +17 -7
  54. package/apps/client-cms-editor/shared/cms/src/adapter.ts +204 -0
  55. package/apps/client-cms-editor/shared/cms/src/agent-context.ts +7 -5
  56. package/apps/client-cms-editor/shared/cms/src/editor-types.ts +32 -0
  57. package/apps/client-cms-editor/shared/cms/src/host.ts +82 -0
  58. package/apps/client-cms-editor/shared/cms/src/index.ts +4 -0
  59. package/apps/client-cms-editor/shared/cms/src/map.ts +115 -0
  60. package/apps/client-cms-editor/shared/cms/src/starter-pack.ts +158 -0
  61. package/contracts/source-types.v1.json +353 -0
  62. package/docs/CMS_CONTEXTUAL_COMPOSER.md +1 -1
  63. package/docs/PRODUCT_LIFECYCLE.md +566 -0
  64. package/docs/REPO_FILE_MAP.txt +132 -0
  65. package/docs/THEME_REFINERY.md +2 -2
  66. package/docs/architecture/AGENTSAM_RUNTIME_PROTOCOL.md +40 -20
  67. package/docs/content-studio/REVISION_GATE_2026-09-27.md +1 -1
  68. package/docs/plans/LOCAL_STUDIO_DESKTOP_RELEASE_2026-09-29.md +150 -0
  69. package/migrations/d1/0017_identity_native_oauth.sql +21 -0
  70. package/migrations/d1/0018_goap_control_plane_remaster.sql +40 -0
  71. package/migrations/d1/0019_agentsam_agent_run_plan_todo.sql +14 -0
  72. package/migrations/d1/README_PORTABLE_CONTROL_PLANE.md +20 -9
  73. package/migrations/runtime/0002_goap_blackboard_v1.sql +15 -0
  74. package/migrations/runtime/0004_agent_run_plan_linkage.sql +8 -0
  75. package/native/agentsam-machine/Cargo.lock +426 -0
  76. package/native/agentsam-machine/Cargo.toml +9 -0
  77. package/native/agentsam-machine/cli/Cargo.toml +21 -0
  78. package/native/agentsam-machine/cli/README.md +21 -0
  79. package/native/agentsam-machine/cli/src/main.rs +77 -0
  80. package/native/agentsam-machine/core/Cargo.toml +22 -0
  81. package/native/agentsam-machine/core/README.md +14 -0
  82. package/native/agentsam-machine/core/build.rs +33 -0
  83. package/native/agentsam-machine/core/contracts/source-types.v1.json +353 -0
  84. package/native/agentsam-machine/core/src/assets.rs +790 -0
  85. package/native/agentsam-machine/core/src/bound.rs +298 -0
  86. package/native/agentsam-machine/core/src/enrich.rs +706 -0
  87. package/native/agentsam-machine/core/src/frontend.rs +442 -0
  88. package/native/agentsam-machine/core/src/lib.rs +1092 -0
  89. package/native/agentsam-machine/core/src/liquid.rs +528 -0
  90. package/native/agentsam-machine/core/src/source_types.rs +78 -0
  91. package/package.json +64 -24
  92. package/packages/agentsam-brand/README.md +1 -1
  93. package/packages/agentsam-brand/package.json +4 -4
  94. package/packages/agentsam-brand/src/index.js +1 -1
  95. package/packages/agentsam-contracts/package.json +13 -3
  96. package/packages/agentsam-contracts/src/tools.ts +22 -0
  97. package/packages/agentsam-errors/package.json +13 -3
  98. package/packages/agentsam-errors/src/index.js +1 -0
  99. package/packages/agentsam-errors/src/tool.js +56 -0
  100. package/packages/agentsam-errors/test/tool.test.mjs +58 -0
  101. package/packages/agentsam-goap/README.md +52 -0
  102. package/packages/agentsam-goap/package.json +37 -0
  103. package/packages/agentsam-goap/src/adapters/d1-sqlite.js +570 -0
  104. package/packages/agentsam-goap/src/adapters/memory.js +199 -0
  105. package/packages/agentsam-goap/src/contracts.js +226 -0
  106. package/packages/agentsam-goap/src/control-plane.js +112 -0
  107. package/packages/agentsam-goap/src/errors.js +157 -0
  108. package/packages/agentsam-goap/src/index.js +5 -0
  109. package/packages/agentsam-goap/src/world.js +202 -0
  110. package/packages/agentsam-goap/test/goap-control-plane.test.mjs +245 -0
  111. package/packages/agentsam-goap/test/world.test.mjs +79 -0
  112. package/packages/agentsam-knowledge/package.json +18 -4
  113. package/packages/agentsam-knowledge/src/autorag/index.js +10 -3
  114. package/packages/agentsam-knowledge/src/backends/index.js +33 -1
  115. package/packages/agentsam-knowledge/test/autorag.test.mjs +60 -1
  116. package/packages/agentsam-nav/dist/browser.global.js +21 -18
  117. package/packages/agentsam-nav/dist/browser.js +6807 -130
  118. package/packages/agentsam-nav/dist/index.js +6799 -122
  119. package/packages/agentsam-nav/package.json +24 -6
  120. package/packages/agentsam-queue-control/README.md +1 -1
  121. package/packages/agentsam-queue-control/package.json +7 -2
  122. package/packages/agentsam-rapid-rust/src/main.rs +1 -1
  123. package/packages/agentsam-repository/package.json +13 -3
  124. package/packages/agentsam-repository/src/goap.js +13 -14
  125. package/packages/agentsam-repository/src/source-types.js +8 -0
  126. package/packages/agentsam-repository/src/tickets.js +15 -22
  127. package/packages/agentsam-repository/test/goap-tickets-workspace-state.test.mjs +19 -8
  128. package/packages/agentsam-vault/package.json +14 -4
  129. package/packages/agentsam-workbench/package.json +15 -4
  130. package/packages/agentsam-workbench/src/agent/ToolPermissionRequest.tsx +94 -0
  131. package/packages/agentsam-workbench/src/agent/index.ts +2 -0
  132. package/packages/agentsam-workbench/src/agent/tool-permission.css +134 -0
  133. package/packages/connectors/cloudflare/package.json +15 -3
  134. package/packages/connectors/cloudflare/src/api-client.js +3 -2
  135. package/packages/connectors/cloudflare/src/families/vectorize.js +127 -0
  136. package/packages/connectors/cloudflare/src/index.js +1 -0
  137. package/packages/heuristic-theme/README.md +2 -2
  138. package/packages/heuristic-theme/package.json +8 -3
  139. package/packages/heuristic-theme/src/registry.js +2 -2
  140. package/packages/heuristic-theme/src/theme.js +1 -1
  141. package/packages/heuristic-theme/test/theme.test.mjs +1 -1
  142. package/packages/identity/.agentsam/features/oauth-login-portal/agentsam.feature.json +1 -1
  143. package/packages/identity/.agentsam/features/oauth-login-portal/providers.json +27 -7
  144. package/packages/identity/README.md +2 -2
  145. package/packages/identity/migrations/D1_SCHEMA_MAPPING.md +18 -15
  146. package/packages/identity/migrations/apply-portable.js +109 -0
  147. package/packages/identity/migrations/sqlite/004_identity_oauth_consent_catalog.sql +1 -1
  148. package/packages/identity/migrations/sqlite/005_identity_company_native.sql +52 -0
  149. package/packages/identity/package.json +27 -6
  150. package/packages/identity/schema/agentsam.identity/manifest.json +101 -0
  151. package/packages/identity/scripts/local-identity-bridge.mjs +13 -7
  152. package/packages/identity/scripts/preview-auth-portal.mjs +6 -6
  153. package/packages/identity/src/adapters/cloudflare-d1/index.js +8 -401
  154. package/packages/identity/src/adapters/iam-compat/index.js +540 -0
  155. package/packages/identity/src/adapters/portable-d1/index.js +18 -0
  156. package/packages/identity/src/adapters/portable-store.js +479 -0
  157. package/packages/identity/src/adapters/sqlite/index.js +13 -312
  158. package/packages/identity/src/contracts/auth-config.js +0 -1
  159. package/packages/identity/src/contracts/identity-store.js +56 -5
  160. package/packages/identity/src/contracts/provider.js +1 -0
  161. package/packages/identity/src/contracts/sign-in-options.js +104 -0
  162. package/packages/identity/src/core/constants.js +1 -1
  163. package/packages/identity/src/core/session-policy.js +31 -0
  164. package/packages/identity/src/frontend/auth-portal/pages/login.html +6 -6
  165. package/packages/identity/src/frontend/auth-portal/pages/reset.html +5 -5
  166. package/packages/identity/src/frontend/auth-portal/pages/signup.html +5 -5
  167. package/packages/identity/src/frontend/auth-portal/shared/company-branding.js +1 -1
  168. package/packages/identity/src/frontend/auth-portal/shared/desktop-identity-bridge.js +6 -37
  169. package/packages/identity/src/index.js +28 -1
  170. package/packages/identity/src/migrations/README.md +23 -23
  171. package/packages/identity/src/oauth/README.md +1 -1
  172. package/packages/identity/src/oauth/credentials.js +10 -11
  173. package/packages/identity/src/oauth/google-desktop-exchange.js +195 -27
  174. package/packages/identity/src/oauth/iam-platform.js +21 -9
  175. package/packages/identity/src/oauth/native-handoff.js +136 -0
  176. package/packages/identity/src/providers/chatgpt/headers.js +65 -0
  177. package/packages/identity/src/providers/chatgpt/index.js +86 -0
  178. package/packages/identity/src/providers/chatgpt/mapper.js +43 -0
  179. package/packages/identity/src/providers/chatgpt/paths.js +45 -0
  180. package/packages/identity/src/providers/github/oauth.js +1 -2
  181. package/packages/identity/src/providers/github/profile.js +16 -2
  182. package/packages/identity/src/providers/index.js +11 -3
  183. package/packages/identity/src/server/identity-service.js +2 -1
  184. package/packages/identity/src/server/worker-router.js +71 -18
  185. package/packages/identity/tests/chatgpt-provider.test.mjs +75 -0
  186. package/packages/identity/tests/google-desktop-identity-login.test.mjs +210 -0
  187. package/packages/identity/tests/identity-init-scaffold.test.mjs +15 -4
  188. package/packages/identity/tests/lane1-identity-store-parity.test.mjs +527 -0
  189. package/packages/identity/tests/lane1-packed-consumer.test.mjs +175 -0
  190. package/packages/identity/tests/native-oauth-handoff.test.mjs +292 -0
  191. package/packages/identity/tests/oauth-credentials.test.mjs +4 -4
  192. package/packages/identity/tests/preview-auth-portal.test.mjs +4 -2
  193. package/packages/identity/tests/session-routes-policy.test.mjs +13 -1
  194. package/packages/identity/tests/worker-runtime-boundary.test.mjs +11 -0
  195. package/packages/providers/completeful/package.json +7 -2
  196. package/packages/theme-church-site/package.json +17 -6
  197. package/packages/theme-church-site/src/harvest.json +4 -2
  198. package/packages/theme-church-site/src/index.js +7 -3
  199. package/packages/theme-church-site/test/theme.test.mjs +4 -2
  200. package/packages/theme-companions-site/package.json +17 -6
  201. package/packages/theme-companions-site/src/harvest.json +4 -2
  202. package/packages/theme-companions-site/src/index.js +7 -3
  203. package/packages/theme-companions-site/test/theme.test.mjs +4 -2
  204. package/packages/theme-floors-site/package.json +17 -6
  205. package/packages/theme-floors-site/src/harvest.json +4 -2
  206. package/packages/theme-floors-site/src/index.js +7 -3
  207. package/packages/theme-floors-site/test/theme.test.mjs +4 -2
  208. package/packages/theme-fuelnfree-site/package.json +17 -6
  209. package/packages/theme-fuelnfree-site/src/harvest.json +4 -2
  210. package/packages/theme-fuelnfree-site/src/index.js +7 -3
  211. package/packages/theme-fuelnfree-site/test/theme.test.mjs +4 -2
  212. package/packages/theme-handyman-site/package.json +17 -6
  213. package/packages/theme-handyman-site/src/harvest.json +4 -2
  214. package/packages/theme-handyman-site/src/index.js +7 -3
  215. package/packages/theme-handyman-site/test/theme.test.mjs +4 -2
  216. package/packages/theme-insurance-site/package.json +17 -6
  217. package/packages/theme-insurance-site/src/harvest.json +4 -2
  218. package/packages/theme-insurance-site/src/index.js +7 -3
  219. package/packages/theme-insurance-site/test/theme.test.mjs +4 -2
  220. package/packages/theme-scenes/README.md +1 -1
  221. package/packages/theme-scenes/package.json +4 -3
  222. package/packages/theme-scenes/src/registry.js +187 -0
  223. package/packages/theme-shinshu-site/package.json +17 -6
  224. package/packages/theme-shinshu-site/src/harvest.json +4 -2
  225. package/packages/theme-shinshu-site/src/index.js +7 -3
  226. package/packages/theme-shinshu-site/test/theme.test.mjs +4 -2
  227. package/packages/work-graph/package.json +14 -4
  228. package/protocol/FILEMETA_V1.md +2 -2
  229. package/protocol/capabilities/manifest.json +1 -1
  230. package/protocol/database/agentsam.schema-pack.v1.schema.json +72 -0
  231. package/protocol/presets/catalog.json +2 -2
  232. package/protocol/theme-refinery/lineage-registry.json +105 -0
  233. package/protocol/theme-refinery/product-metadata.schema.json +21 -1
  234. package/python/agentsam_sdk/repository/intelligence/discovery.py +27 -2
  235. package/python/agentsam_sdk/repository/intelligence/git.py +4 -0
  236. package/python/tests/test_repository_intelligence.py +30 -0
  237. package/src/cli/command-catalog.js +48 -5
  238. package/src/cli/dispatch.js +1 -0
  239. package/src/cli.js +20 -1
  240. package/src/cloudflare/runtime-status.js +2 -1
  241. package/src/commands/autorag.js +67 -13
  242. package/src/commands/cheat-sheet.js +29 -4
  243. package/src/commands/codebaseindex.js +45 -2
  244. package/src/commands/goap-world.js +134 -0
  245. package/src/commands/goap.js +11 -4
  246. package/src/commands/knowledge.js +59 -2
  247. package/src/commands/machine-binary.js +109 -0
  248. package/src/commands/machine-runtime.js +266 -0
  249. package/src/commands/machine.js +208 -0
  250. package/src/commands/package.js +530 -0
  251. package/src/commands/plan-ledger.js +370 -0
  252. package/src/commands/plan.js +183 -0
  253. package/src/commands/security.js +67 -4
  254. package/src/commands/setup.js +33 -16
  255. package/src/commands/skill.js +78 -17
  256. package/src/commands/status.js +8 -1
  257. package/src/features/resolve.js +1 -0
  258. package/src/knowledge/engine.js +21 -2
  259. package/src/knowledge/runtime-discovery.js +127 -0
  260. package/src/knowledge/source.js +1 -1
  261. package/src/lib/identity-scaffold.js +53 -13
  262. package/src/lib/setup/recipes.js +1 -1
  263. package/src/lib/slash-commands.js +1 -1
  264. package/src/local/runtime-store.js +24 -2
  265. package/src/local/sqlite.js +17 -0
  266. package/src/models/discovery.js +40 -22
  267. package/src/models/inventory-core.d.ts +105 -0
  268. package/src/models/inventory-core.js +54 -6
  269. package/src/sam/operations/package-audit.js +41 -0
  270. package/src/sam/seed.js +2 -0
  271. package/src/security/logs.js +3 -0
  272. package/src/ui/cli/help.js +41 -0
  273. package/apps/client-cms-editor/backend/src/demo-bootstrap.ts +0 -145
  274. package/test/account-session.test.mjs +0 -101
  275. package/test/agent-capabilities.test.mjs +0 -67
  276. package/test/app-authority-context.test.mjs +0 -32
  277. package/test/app-building-skills.test.mjs +0 -61
  278. package/test/apps-scaffold-contract.test.mjs +0 -114
  279. package/test/blender-cad.test.mjs +0 -146
  280. package/test/cad-docker.test.mjs +0 -96
  281. package/test/capabilities.test.mjs +0 -133
  282. package/test/cli/api-key-env-whoami.test.mjs +0 -129
  283. package/test/cli/codebaseindex-plan-ux.test.mjs +0 -37
  284. package/test/cli/eval-live.test.mjs +0 -219
  285. package/test/cli/go.test.mjs +0 -128
  286. package/test/cli/local-vault-and-provider-setup.test.mjs +0 -268
  287. package/test/cli/mcp-client.test.mjs +0 -256
  288. package/test/cli/preferences-runtime.test.mjs +0 -11
  289. package/test/cli/runtime-persist.test.mjs +0 -56
  290. package/test/cli/runtime-ui.test.mjs +0 -141
  291. package/test/cli/rust-command.test.mjs +0 -21
  292. package/test/cli/skill-npm-and-env.test.mjs +0 -52
  293. package/test/cli/status-actions.test.mjs +0 -88
  294. package/test/cli/wireframes-go-registry.test.mjs +0 -139
  295. package/test/cli-preferences.test.mjs +0 -46
  296. package/test/cloudflare-connector.test.mjs +0 -93
  297. package/test/cloudflare-runtime.test.mjs +0 -82
  298. package/test/context.test.mjs +0 -159
  299. package/test/credentials-audit.test.mjs +0 -113
  300. package/test/deploy-health-scan.test.mjs +0 -95
  301. package/test/deploy-receipt.test.mjs +0 -91
  302. package/test/dockerize.test.mjs +0 -93
  303. package/test/error-diagnostics.test.mjs +0 -124
  304. package/test/eval-context.test.mjs +0 -37
  305. package/test/execution-approvals.test.mjs +0 -27
  306. package/test/fixtures/cad/courtyard-house.json +0 -208
  307. package/test/fixtures/knowledge-rpc-worker.mjs +0 -16
  308. package/test/gcloud-auth.test.mjs +0 -111
  309. package/test/go/build-source-identity.test.mjs +0 -31
  310. package/test/go/cloudflare-probe.test.mjs +0 -317
  311. package/test/go/distribution.test.mjs +0 -28
  312. package/test/google-cloud-connection.test.mjs +0 -83
  313. package/test/google-cloud-inventory.test.mjs +0 -64
  314. package/test/indexing-provider.test.mjs +0 -29
  315. package/test/init-options.test.mjs +0 -35
  316. package/test/integration/ai-access-onboarding.test.mjs +0 -47
  317. package/test/integration/app-command.test.mjs +0 -85
  318. package/test/integration/cad-discovery.test.mjs +0 -158
  319. package/test/integration/cad-docker-executor.test.mjs +0 -249
  320. package/test/integration/cad-execution.test.mjs +0 -184
  321. package/test/integration/cad-project-app.test.mjs +0 -31
  322. package/test/integration/cad-project-d1.test.mjs +0 -25
  323. package/test/integration/cad-project-native.test.mjs +0 -24
  324. package/test/integration/cad-project-workflow.test.mjs +0 -9
  325. package/test/integration/cad-project.test.mjs +0 -85
  326. package/test/integration/cli-help.test.mjs +0 -41
  327. package/test/integration/cms-app-scaffold.test.mjs +0 -71
  328. package/test/integration/cms-site-tenancy-contract.test.mjs +0 -257
  329. package/test/integration/codebaseindex-ingest.test.mjs +0 -214
  330. package/test/integration/core-client.integration.test.mjs +0 -55
  331. package/test/integration/error-runtime-rpc.test.mjs +0 -71
  332. package/test/integration/features-resolve.test.mjs +0 -147
  333. package/test/integration/icon-registry.test.mjs +0 -67
  334. package/test/integration/ingest-discover-models.test.mjs +0 -30
  335. package/test/integration/inspect-path-cli.test.mjs +0 -46
  336. package/test/integration/install-script.test.mjs +0 -110
  337. package/test/integration/inventory-core.test.mjs +0 -53
  338. package/test/integration/inventory-evidence.test.mjs +0 -125
  339. package/test/integration/knowledge-rpc.test.mjs +0 -112
  340. package/test/integration/local-fs.test.mjs +0 -113
  341. package/test/integration/merkle-cli.test.mjs +0 -61
  342. package/test/integration/merkle-persistence-identity.test.mjs +0 -48
  343. package/test/integration/plugins-cloudflare.integration.test.mjs +0 -28
  344. package/test/integration/provider-env-cli.test.mjs +0 -50
  345. package/test/integration/provider-factory.test.mjs +0 -197
  346. package/test/integration/repository-company-graph.test.mjs +0 -90
  347. package/test/integration/runtime-migrations.test.mjs +0 -87
  348. package/test/integration/runtime-status.integration.test.mjs +0 -212
  349. package/test/integration/sam-activity-recovery.test.mjs +0 -147
  350. package/test/integration/sam-decision.test.mjs +0 -584
  351. package/test/integration/sam-kernel.test.mjs +0 -99
  352. package/test/integration/sam-planning-astar.test.mjs +0 -279
  353. package/test/integration/scaffold-cloudflare.test.mjs +0 -46
  354. package/test/integration/skill-runtime.test.mjs +0 -240
  355. package/test/integration/storage-architecture.test.mjs +0 -154
  356. package/test/integration/store-discovery.test.mjs +0 -44
  357. package/test/integration/studio-fs-pty-e2e.test.mjs +0 -294
  358. package/test/integration/terminal-exec.integration.test.mjs +0 -86
  359. package/test/integration/tool-runtime.test.mjs +0 -124
  360. package/test/integration/tool-schema.test.mjs +0 -59
  361. package/test/jr-dev-skill.test.mjs +0 -26
  362. package/test/knowledge-context-pack.test.mjs +0 -19
  363. package/test/knowledge-postgres.test.mjs +0 -40
  364. package/test/knowledge-service.test.mjs +0 -110
  365. package/test/knowledge.test.mjs +0 -206
  366. package/test/live/terminal-transport.live.test.mjs +0 -24
  367. package/test/local-sessions.test.mjs +0 -57
  368. package/test/local-studio-deploy.test.mjs +0 -83
  369. package/test/loopback-oauth.test.mjs +0 -53
  370. package/test/merkle-render.test.mjs +0 -31
  371. package/test/mini.test.mjs +0 -140
  372. package/test/model-catalog.test.mjs +0 -70
  373. package/test/models.test.mjs +0 -309
  374. package/test/npm10-lock.test.mjs +0 -29
  375. package/test/ollama.test.mjs +0 -137
  376. package/test/open-url.test.mjs +0 -64
  377. package/test/openai-responses.test.mjs +0 -155
  378. package/test/portable-context.test.mjs +0 -94
  379. package/test/project-config.test.mjs +0 -81
  380. package/test/project-rules.test.mjs +0 -44
  381. package/test/provider-credentials.test.mjs +0 -106
  382. package/test/rehydrate.test.mjs +0 -25
  383. package/test/release-hygiene.test.mjs +0 -42
  384. package/test/repository-snapshot-view.test.mjs +0 -112
  385. package/test/responses-runner.test.mjs +0 -465
  386. package/test/runtime-activity.test.mjs +0 -98
  387. package/test/sdk-worker-contract.test.mjs +0 -72
  388. package/test/security.test.mjs +0 -252
  389. package/test/setup-planner.test.mjs +0 -74
  390. package/test/setup-runtime.test.mjs +0 -51
  391. package/test/shell.test.mjs +0 -281
  392. package/test/skills.test.mjs +0 -22
  393. package/test/smoke.mjs +0 -122
  394. package/test/telemetry.test.mjs +0 -79
  395. package/test/terminal/local-pty.mock.test.mjs +0 -153
  396. package/test/terminal-machine-identity.test.mjs +0 -88
  397. package/test/theme-portability.test.mjs +0 -14
  398. package/test/tools-search.test.mjs +0 -73
  399. package/test/unit/website-assets-bindings.test.mjs +0 -60
  400. package/test/whoami-resume.test.mjs +0 -157
@@ -2,10 +2,12 @@ import assert from 'node:assert/strict';
2
2
  import test from 'node:test';
3
3
  import { createTheme, createProductRow } from '../src/index.js';
4
4
 
5
- test('shinshu-site theme package exports installable contract', () => {
5
+ test('shinshu-site theme package exports harvested (not installable) contract', () => {
6
6
  const theme = createTheme();
7
7
  assert.equal(theme.slug, "shinshu-site");
8
- assert.equal(theme.installable, true);
8
+ assert.equal(theme.installable, false);
9
+ assert.equal(theme.lineage, "shin");
10
+ assert.equal(theme.family, "consulting-portfolio");
9
11
  assert.equal(theme.package, "@inneranimalmedia/theme-shinshu-site");
10
12
  assert.ok(Array.isArray(theme.pages));
11
13
  });
@@ -1,7 +1,6 @@
1
1
  {
2
- "name": "@inneranimalmedia/work-graph",
3
- "version": "0.1.0",
4
- "private": true,
2
+ "name": "@inneranimalmedia/agentsam-work-graph",
3
+ "version": "2.6.7",
5
4
  "description": "Core AgentSam work-graph primitive: one graph model (WorkItem, Dependency, TimelineEvent, Artifact, Evidence, Actor) powering an engineering adapter (git/MCP/tests/deploys) and a business adapter (projects/clients/approvals/milestones), with Gantt/timeline rendering as a pure projection over the graph rather than its own source of truth.",
6
5
  "type": "module",
7
6
  "main": "./src/index.js",
@@ -15,5 +14,16 @@
15
14
  },
16
15
  "scripts": {
17
16
  "test": "node --test test/*.test.mjs"
18
- }
17
+ },
18
+ "publishConfig": {
19
+ "access": "public"
20
+ },
21
+ "repository": {
22
+ "type": "git",
23
+ "url": "git+https://github.com/SamPrimeaux/agentsam-sdk.git",
24
+ "directory": "packages/work-graph"
25
+ },
26
+ "files": [
27
+ "src"
28
+ ]
19
29
  }
@@ -36,7 +36,7 @@ Semantic entries correspond one-for-one with non-directory content entries and r
36
36
  "size": 213,
37
37
  "mode": 420,
38
38
  "hash": "sha256:...",
39
- "package": "@inneranimalmedia/agentsam-sdk-identity",
39
+ "package": "@inneranimalmedia/agentsam-identity",
40
40
  "package_root": "packages/identity",
41
41
  "package_kind": "library",
42
42
  "system": "identity",
@@ -70,7 +70,7 @@ A package may declare stable package-level semantics without tagging every file:
70
70
 
71
71
  ```json
72
72
  {
73
- "name": "@inneranimalmedia/agentsam-sdk-identity",
73
+ "name": "@inneranimalmedia/agentsam-identity",
74
74
  "agentsam": {
75
75
  "system": "identity",
76
76
  "kind": "library",
@@ -481,7 +481,7 @@
481
481
  "version": 1,
482
482
  "domain": "theme",
483
483
  "runtime": "node",
484
- "package": "@inneranimalmedia/heuristic-theme",
484
+ "package": "@inneranimalmedia/theme-heuristic",
485
485
  "export": "createStorefrontShellTheme",
486
486
  "description": "Resolve the stock AgentSam CMS storefront shell theme contract.",
487
487
  "deterministic": true,
@@ -0,0 +1,72 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://agentsam.dev/protocol/database/agentsam.schema-pack.v1.schema.json",
4
+ "title": "AgentSam schema pack family manifest",
5
+ "description": "Generic reusable contract for product schema packs (Identity, CMS, CAD, …). Packs own their manifests; this schema is protocol authority.",
6
+ "type": "object",
7
+ "additionalProperties": true,
8
+ "required": ["schema", "id", "version", "components"],
9
+ "properties": {
10
+ "schema": { "const": "agentsam.schema-pack.v1" },
11
+ "id": { "type": "string", "minLength": 1 },
12
+ "version": { "type": "string", "minLength": 1 },
13
+ "pack_family": { "type": "string", "minLength": 1 },
14
+ "components": {
15
+ "type": "array",
16
+ "minItems": 1,
17
+ "items": { "type": "string", "minLength": 1 }
18
+ },
19
+ "component_dependencies": {
20
+ "type": "object",
21
+ "additionalProperties": {
22
+ "type": "array",
23
+ "items": { "type": "string" }
24
+ }
25
+ },
26
+ "adapters": {
27
+ "type": "array",
28
+ "items": { "type": "string", "minLength": 1 }
29
+ },
30
+ "sql": {
31
+ "type": "object",
32
+ "properties": {
33
+ "portable_dir": { "type": "string" },
34
+ "files": {
35
+ "type": "object",
36
+ "additionalProperties": {
37
+ "type": "array",
38
+ "items": { "type": "string" }
39
+ }
40
+ },
41
+ "apply_order_fresh": {
42
+ "type": "array",
43
+ "items": { "type": "string" }
44
+ },
45
+ "apply_order_upgrade_v1_to_v2": {
46
+ "type": "array",
47
+ "items": { "type": "string" }
48
+ },
49
+ "optional_after_core": {
50
+ "type": "array",
51
+ "items": { "type": "string" }
52
+ }
53
+ }
54
+ },
55
+ "tables": {
56
+ "type": "object",
57
+ "additionalProperties": {
58
+ "type": "array",
59
+ "items": { "type": "string" }
60
+ }
61
+ },
62
+ "table_patterns": {
63
+ "type": "array",
64
+ "items": { "type": "string" }
65
+ },
66
+ "seed_policy": { "type": "string" },
67
+ "compatibility": { "type": "object" },
68
+ "recovery": { "type": "object" },
69
+ "owner": { "type": "string" },
70
+ "notes": { "type": "string" }
71
+ }
72
+ }
@@ -54,7 +54,7 @@
54
54
  "composer": "agentsam.mini-composer"
55
55
  },
56
56
  "packages": {
57
- "theme": "@inneranimalmedia/heuristic-theme",
57
+ "theme": "@inneranimalmedia/theme-heuristic",
58
58
  "composer": "@inneranimalmedia/agentsam-workbench",
59
59
  "analytics": "@inneranimalmedia/commerce-analytics"
60
60
  },
@@ -128,7 +128,7 @@
128
128
  "capabilities": [
129
129
  "theme.storefront.shell"
130
130
  ],
131
- "description": "Stock storefront theme selection — default package @inneranimalmedia/heuristic-theme (theme.storefront.shell). Theme is a projection of Brand, not brand authority."
131
+ "description": "Stock storefront theme selection — default package @inneranimalmedia/theme-heuristic (theme.storefront.shell). Theme is a projection of Brand, not brand authority."
132
132
  },
133
133
  "brand": {
134
134
  "id": "brand",
@@ -0,0 +1,105 @@
1
+ {
2
+ "schema": "agentsam.theme-refinery.lineage.v1",
3
+ "note": "Donor evidence stays private. Package identity uses lineage codes until remaster gates pass. installable=false until PACKAGE-READY.",
4
+ "lineages": {
5
+ "fnf": {
6
+ "display": "FNF",
7
+ "family": "editorial-commerce",
8
+ "donor": "fuelnfreetime",
9
+ "donor_display": "Fuel & Free Time",
10
+ "package_current": "@inneranimalmedia/theme-fuelnfree-site",
11
+ "package_target": "@inneranimalmedia/theme-ember",
12
+ "gallery_slug": "fuelnfree-site",
13
+ "status": "needs_normalization",
14
+ "installable": false,
15
+ "canonical_id": "ember"
16
+ },
17
+ "afm": {
18
+ "display": "AFM",
19
+ "family": "service-gallery",
20
+ "donor": "anything-floors",
21
+ "donor_display": "Anything Floors & More",
22
+ "package_current": "@inneranimalmedia/theme-floors-site",
23
+ "package_target": "@inneranimalmedia/theme-grove",
24
+ "gallery_slug": "floors-site",
25
+ "status": "needs_normalization",
26
+ "installable": false,
27
+ "canonical_id": "grove"
28
+ },
29
+ "phs": {
30
+ "display": "PHS",
31
+ "family": "trade-services",
32
+ "donor": "primeaux-handyman",
33
+ "donor_display": "Primeaux Handyman Services",
34
+ "package_current": "@inneranimalmedia/theme-handyman-site",
35
+ "package_target": "@inneranimalmedia/theme-forge",
36
+ "gallery_slug": "handyman-site",
37
+ "status": "needs_normalization",
38
+ "installable": false,
39
+ "canonical_id": "forge"
40
+ },
41
+ "nic": {
42
+ "display": "NIC",
43
+ "family": "community-faith",
44
+ "donor": "new-iberia-church",
45
+ "donor_display": "New Iberia Church of Christ",
46
+ "package_current": "@inneranimalmedia/theme-church-site",
47
+ "package_target": "@inneranimalmedia/theme-cypress",
48
+ "gallery_slug": "church-site",
49
+ "status": "needs_normalization",
50
+ "installable": false,
51
+ "canonical_id": "cypress"
52
+ },
53
+ "coc": {
54
+ "display": "COC",
55
+ "family": "nonprofit-campaign",
56
+ "donor": "companions-of-caddo",
57
+ "donor_display": "Companions of Caddo",
58
+ "package_current": "@inneranimalmedia/theme-companions-site",
59
+ "package_target": "@inneranimalmedia/theme-violet",
60
+ "gallery_slug": "companions-site",
61
+ "status": "needs_normalization",
62
+ "installable": false,
63
+ "canonical_id": "violet"
64
+ },
65
+ "cci": {
66
+ "display": "CCI",
67
+ "family": "professional-leadgen",
68
+ "donor": "chrystal-clear-insurance",
69
+ "donor_display": "Chrystal Clear Insurance",
70
+ "package_current": "@inneranimalmedia/theme-insurance-site",
71
+ "package_target": "@inneranimalmedia/theme-harbor",
72
+ "gallery_slug": "insurance-site",
73
+ "status": "needs_normalization",
74
+ "installable": false,
75
+ "canonical_id": "harbor"
76
+ },
77
+ "shin": {
78
+ "display": "SHIN",
79
+ "family": "consulting-portfolio",
80
+ "donor": "shinshu-solutions",
81
+ "donor_display": "Shinshu Solutions",
82
+ "package_current": "@inneranimalmedia/theme-shinshu-site",
83
+ "package_target": "@inneranimalmedia/theme-summit",
84
+ "gallery_slug": "shinshu-site",
85
+ "status": "needs_normalization",
86
+ "installable": false,
87
+ "canonical_id": "summit"
88
+ }
89
+ },
90
+ "stages": [
91
+ "raw",
92
+ "harvested",
93
+ "needs_normalization",
94
+ "normalized",
95
+ "remastered",
96
+ "package_ready",
97
+ "published"
98
+ ],
99
+ "pipeline": [
100
+ "agentsam-machine (inventory/types/parse/literal edges/assets/cache)",
101
+ "agentsam-brand (tokens/ingest/optimize/receipts)",
102
+ "theme-scenes + CMS contracts (shell/sections/pages)",
103
+ "refinery UI (keep / use primitive / ignore)"
104
+ ]
105
+ }
@@ -11,7 +11,27 @@
11
11
  "harvest_batch": { "type": "string" },
12
12
  "normalization_state": {
13
13
  "type": "string",
14
- "enum": ["fingerprinted", "portable", "portable-preview", "normalized", "wired", "promoted"]
14
+ "enum": [
15
+ "fingerprinted",
16
+ "harvested",
17
+ "needs_normalization",
18
+ "scaffolded",
19
+ "portable",
20
+ "portable-preview",
21
+ "normalized",
22
+ "remastered",
23
+ "package_ready",
24
+ "wired",
25
+ "promoted"
26
+ ]
27
+ },
28
+ "lineage": {
29
+ "type": "string",
30
+ "description": "Short remaster codename (fnf, afm, phs, …). Not the customer/donor product name."
31
+ },
32
+ "family": {
33
+ "type": "string",
34
+ "description": "Generic reusable family (editorial-commerce, service-gallery, …)."
15
35
  },
16
36
  "source_hash": { "type": "string" },
17
37
  "app_manifest": { "type": "string" },
@@ -10,6 +10,11 @@ DEFAULT_FALLBACK_EXCLUDE_DIRS = frozenset(
10
10
  {
11
11
  ".git",
12
12
  "node_modules",
13
+ "python_modules",
14
+ ".agentsam",
15
+ ".wrangler",
16
+ "vendor",
17
+ "target",
13
18
  "dist",
14
19
  "build",
15
20
  "coverage",
@@ -21,6 +26,25 @@ DEFAULT_FALLBACK_EXCLUDE_DIRS = frozenset(
21
26
  }
22
27
  )
23
28
 
29
+
30
+
31
+ DEFAULT_EVIDENCE_NOISE_DIRS = frozenset(DEFAULT_FALLBACK_EXCLUDE_DIRS)
32
+ DEFAULT_EVIDENCE_NOISE_SUFFIXES = (".min.js", ".bundle.js", ".map")
33
+
34
+
35
+ def is_default_evidence_noise_path(value: str) -> bool:
36
+ path = str(value or "").replace("\\", "/").strip("/")
37
+ if not path:
38
+ return False
39
+ parts = path.split("/")
40
+ if any(part in DEFAULT_EVIDENCE_NOISE_DIRS for part in parts[:-1]):
41
+ return True
42
+ name = parts[-1]
43
+ if name in DEFAULT_EVIDENCE_NOISE_DIRS:
44
+ return True
45
+ lowered = name.lower()
46
+ return lowered.endswith(DEFAULT_EVIDENCE_NOISE_SUFFIXES)
47
+
24
48
  LANGUAGE_BY_EXT = {
25
49
  ".js": "JavaScript", ".mjs": "JavaScript", ".cjs": "JavaScript", ".jsx": "JavaScript",
26
50
  ".ts": "TypeScript", ".tsx": "TypeScript", ".py": "Python", ".go": "Go",
@@ -79,8 +103,9 @@ def active_paths(
79
103
  """Return active paths and discovery source (`git` or `filesystem`)."""
80
104
  paths = _git_paths(repo_root)
81
105
  if paths:
82
- return paths, "git"
83
- return _walk_paths(repo_root, fallback_exclude_dir_names), "filesystem"
106
+ return [path for path in paths if not is_default_evidence_noise_path(path)], "git"
107
+ walked = _walk_paths(repo_root, fallback_exclude_dir_names)
108
+ return [path for path in walked if not is_default_evidence_noise_path(path)], "filesystem"
84
109
 
85
110
 
86
111
  def _line_count(path: Path) -> int | None:
@@ -6,6 +6,8 @@ from collections import Counter, defaultdict
6
6
  from pathlib import Path
7
7
  from typing import Any
8
8
 
9
+ from .discovery import is_default_evidence_noise_path
10
+
9
11
 
10
12
  def run_git(repo_root: Path, *args: str) -> str:
11
13
  try:
@@ -56,6 +58,8 @@ def git_churn(repo_root: Path, *, days: int = 30) -> dict[str, dict[str, int]]:
56
58
  if len(parts) != 3:
57
59
  continue
58
60
  added_raw, deleted_raw, path = parts
61
+ if is_default_evidence_noise_path(path):
62
+ continue
59
63
  if added_raw == "-" or deleted_raw == "-":
60
64
  continue
61
65
  try:
@@ -65,5 +65,35 @@ class TestRepositoryIntelligence(unittest.TestCase):
65
65
  self.assertTrue(any(row["path"] == "src/a.py" for row in snapshot["hot_files"]))
66
66
 
67
67
 
68
+ def test_default_evidence_noise_never_becomes_architecture_pressure(self):
69
+ with tempfile.TemporaryDirectory() as tmp:
70
+ root = Path(tmp)
71
+ subprocess.run(["git", "init"], cwd=root, check=True, capture_output=True)
72
+ subprocess.run(["git", "config", "user.email", "fixture@example.com"], cwd=root, check=True)
73
+ subprocess.run(["git", "config", "user.name", "Fixture"], cwd=root, check=True)
74
+ (root / "src").mkdir()
75
+ (root / "python_modules").mkdir()
76
+ (root / ".agentsam" / "machine").mkdir(parents=True)
77
+ (root / "dist").mkdir()
78
+ (root / "src" / "app.js").write_text("export const app = 1;\n", encoding="utf-8")
79
+ (root / "python_modules" / "vendor.py").write_text("x = 1\n" * 100, encoding="utf-8")
80
+ (root / ".agentsam" / "machine" / "receipt.json").write_text("{}", encoding="utf-8")
81
+ (root / "dist" / "app.bundle.js").write_text("x" * 5000, encoding="utf-8")
82
+ subprocess.run(["git", "add", "-f", "."], cwd=root, check=True)
83
+ subprocess.run(["git", "commit", "-m", "fixture"], cwd=root, check=True, capture_output=True)
84
+
85
+ paths, _ = active_paths(root)
86
+ self.assertIn("src/app.js", paths)
87
+ self.assertNotIn("python_modules/vendor.py", paths)
88
+ self.assertNotIn(".agentsam/machine/receipt.json", paths)
89
+ self.assertNotIn("dist/app.bundle.js", paths)
90
+
91
+ snapshot = build_snapshot(root, churn_days=30, top=20)
92
+ pressure = {row["path"] for row in snapshot["pressure_points"]}
93
+ self.assertFalse(any(path.startswith("python_modules") for path in pressure))
94
+ self.assertFalse(any(path.startswith(".agentsam") for path in pressure))
95
+ self.assertFalse(any(path.startswith("dist") for path in pressure))
96
+
97
+
68
98
  if __name__ == "__main__":
69
99
  unittest.main()
@@ -3,7 +3,7 @@
3
3
  * Alias ≠ authority: skill tips and SAM operation ids live here so help is not a prose-only dump.
4
4
  */
5
5
 
6
- /** @typedef {{ id: string, aliases?: string[], summary: string, topic: string, skill?: string, operation?: string, common?: boolean }} CliCommandEntry */
6
+ /** @typedef {{ id: string, aliases?: string[], summary: string, topic: string, skill?: string, operation?: string, common?: boolean, usage?: string[], options?: Array<{ flag: string, description: string }> }} CliCommandEntry */
7
7
 
8
8
  /** @type {CliCommandEntry[]} */
9
9
  export const CLI_COMMAND_CATALOG = Object.freeze([
@@ -13,11 +13,37 @@ export const CLI_COMMAND_CATALOG = Object.freeze([
13
13
  { id: 'plugins', summary: 'Install and manage AgentSam plugins', topic: 'create', skill: 'agentsam-app-fundamentals' },
14
14
  { id: 'dev', summary: 'Run this project’s npm dev script', topic: 'work', skill: 'agentsam-app-fundamentals' },
15
15
  { id: 'inspect', summary: 'Bounded repository inspect / authority view', topic: 'work', skill: 'agentsam-app-fundamentals', operation: 'repository.inspect', common: true },
16
+ { id: 'machine', summary: 'Deterministic local machine perception (inspect / asset discovery)', topic: 'work', skill: 'agentsam-app-fundamentals', operation: 'machine.inspect', common: true },
17
+ { id: 'package', summary: 'Audit, verify, and plan publication of distributable packages', topic: 'work', skill: 'agentsam-progression-guard', operation: 'package.audit', common: true, usage: ['agentsam package audit [--public] [--offline] [--json]', 'agentsam package status <name> [--offline] [--json]', 'agentsam package verify <name> [--offline] [--json]', 'agentsam package publish-plan [--offline] [--json]'] },
16
18
  { id: 'capabilities', summary: 'Inspect capability contracts', topic: 'create', skill: 'agentsam-app-fundamentals' },
17
- { id: 'setup', summary: 'Discover → plan → approve → install capabilities (Homebrew-style)', topic: 'start', skill: 'agentsam-app-fundamentals', common: true },
19
+ {
20
+ id: 'setup',
21
+ summary: 'Discover → plan → approve → install capabilities (Homebrew-style)',
22
+ topic: 'start',
23
+ skill: 'agentsam-app-fundamentals',
24
+ common: true,
25
+ usage: [
26
+ 'agentsam setup [capability-id] [--dry-run|--yes]',
27
+ 'agentsam setup runtime [--profile <id>] [--dry-run|--yes]',
28
+ 'agentsam setup --list',
29
+ ],
30
+ },
18
31
  { id: 'skills', aliases: ['skill'], summary: 'List or load portable skill instructions', topic: 'create', skill: 'agentsam-app-fundamentals', common: true },
19
32
  { id: 'context', summary: 'Git + bridge context from any repo', topic: 'work', skill: 'agentsam-app-fundamentals' },
20
- { id: 'status', summary: 'Account, models, terminal, and live deploy awareness', topic: 'runtime', skill: 'agentsam-progression-guard', common: true },
33
+ {
34
+ id: 'status',
35
+ summary: 'Account, models, terminal, and live deploy awareness',
36
+ topic: 'runtime',
37
+ skill: 'agentsam-progression-guard',
38
+ common: true,
39
+ usage: ['agentsam status [--offline] [--no-discover] [--json] [-i|--interactive]'],
40
+ options: [
41
+ { flag: '--offline', description: 'Skip network-dependent status probes.' },
42
+ { flag: '--no-discover', description: 'Skip provider model discovery.' },
43
+ { flag: '--json', description: 'Emit the machine-readable status + next-action plan.' },
44
+ { flag: '-i, --interactive', description: 'Open the interactive next-action menu.' },
45
+ ],
46
+ },
21
47
  { id: 'db', summary: 'Project-local SQLite status/init', topic: 'runtime', skill: 'agentsam-app-fundamentals' },
22
48
  { id: 'models', summary: 'Probe hosted/local model availability', topic: 'start', skill: 'agentsam-app-fundamentals', common: true },
23
49
  { id: 'providers', summary: 'Configure machine provider credentials', topic: 'start', skill: 'agentsam-app-fundamentals' },
@@ -47,11 +73,28 @@ export const CLI_COMMAND_CATALOG = Object.freeze([
47
73
  { id: 'eval', summary: 'Context fixtures and live eval telemetry', topic: 'runtime', skill: 'agentsam-app-fundamentals' },
48
74
  { id: 'index', summary: 'Plan/run incremental AST (+ optional embeddings)', topic: 'work', skill: 'agentsam-codebaseindex', operation: 'codebaseindex.ingest' },
49
75
  { id: 'search', summary: 'Retrieve indexed code/text', topic: 'work', skill: 'agentsam-codebaseindex' },
50
- { id: 'repo', summary: 'Repository snapshot / observations', topic: 'work', skill: 'agentsam-app-fundamentals', operation: 'repository.inspect' },
76
+ {
77
+ id: 'repo',
78
+ summary: 'Repository snapshot / observations',
79
+ topic: 'work',
80
+ skill: 'agentsam-app-fundamentals',
81
+ operation: 'repository.inspect',
82
+ usage: [
83
+ 'agentsam repo [snapshot] [--cwd <path>] [--churn-days <days>] [--save] [--json]',
84
+ 'agentsam repo history [--cwd <path>]',
85
+ 'agentsam repo compare [--cwd <path>]',
86
+ ],
87
+ options: [
88
+ { flag: '--json', description: 'Emit the full deterministic repository-intelligence receipt.' },
89
+ { flag: '--save', description: 'Persist the observation for history/compare.' },
90
+ { flag: '--churn-days <days>', description: 'Set the Git churn window (1..3650).' },
91
+ { flag: '--cwd <path>', description: 'Inspect another repository root.' },
92
+ ],
93
+ },
51
94
  { id: 'init', summary: 'Knowledge setup or local scaffold', topic: 'create', skill: 'agentsam-app-fundamentals' },
52
95
  { id: 'codebaseindex', aliases: ['ingest', 'codebase-index'], summary: 'Guided codebase ingest: materials, allowlist, embeddings, storage', topic: 'work', skill: 'agentsam-codebaseindex', operation: 'codebaseindex.ingest', common: true },
53
96
  { id: 'brand', summary: 'Deterministic brand intelligence', topic: 'work', skill: 'agentsam-app-fundamentals', operation: 'brand.scan' },
54
- { id: 'plan', summary: 'Composable plans (e.g. brand)', topic: 'work', skill: 'agentsam-app-fundamentals' },
97
+ { id: 'plan', summary: 'Durable project-local work plans + domain plans', topic: 'work', skill: 'agentsam-app-fundamentals' },
55
98
  { id: 'security', aliases: ['sca'], summary: 'Dependency + trust-boundary scan', topic: 'work', skill: 'agentsam-progression-guard', operation: 'security.scan', common: true },
56
99
  { id: 'merkle', summary: 'File integrity snapshots and explorer', topic: 'work', skill: 'agentsam-app-fundamentals' },
57
100
  { id: 'cad', summary: 'Blender/OpenSCAD/FreeCAD CAD tools', topic: 'work', skill: 'agentsam-app-fundamentals', operation: 'cad.blender.inspect' },
@@ -10,6 +10,7 @@ const HANDLERS = {
10
10
  codebaseindex: async () => (await import('../commands/codebaseindex.js')).runCodebaseindex,
11
11
  ingest: async () => (await import('../commands/codebaseindex.js')).runCodebaseindex,
12
12
  'codebase-index': async () => (await import('../commands/codebaseindex.js')).runCodebaseindex,
13
+ machine: async () => (await import('../commands/machine.js')).runMachine,
13
14
  skill: async () => (await import('../commands/skill.js')).runSkill,
14
15
  skills: async () => (await import('../commands/skills.js')).runSkills,
15
16
  };
package/src/cli.js CHANGED
@@ -25,14 +25,17 @@ import { runStatus } from './commands/status.js';
25
25
  import { runInteractive } from './commands/interactive.js';
26
26
  import { runShell } from './commands/shell.js';
27
27
  import { runGoap } from './commands/goap.js';
28
- import { runBrand, runPlan } from './commands/brand.js';
28
+ import { runBrand } from './commands/brand.js';
29
+ import { runPlan } from './commands/plan.js';
29
30
  import { runDockerize } from './commands/dockerize.js';
30
31
  import { runMini } from './commands/mini.js';
31
32
  import { runMerkle } from './commands/merkle.js';
32
33
  import { runDeployReceipt } from './commands/deploy-receipt.js';
33
34
  import { runSecurity } from './commands/security.js';
35
+ import { runPackage } from './commands/package.js';
34
36
  import { runRecon } from './commands/recon.js';
35
37
  import { runCad } from './commands/cad.js';
38
+ import { runMachine } from './commands/machine.js';
36
39
  import { runSkills } from './commands/skills.js';
37
40
  import { runSkill } from './commands/skill.js';
38
41
  import { runEval } from './commands/eval.js';
@@ -95,6 +98,7 @@ function printLegacyHelp() {
95
98
  agentsam plugins list|install|connect|status|remove [@agentsam-mcp]
96
99
  agentsam dev Run this project's existing npm dev script
97
100
  agentsam inspect [--json] Bounded repository index by default; use --view full for authority envelope
101
+ agentsam machine inspect Native deterministic perception + asset discovery (--json)
98
102
  agentsam brand [scan|…] Deterministic brand intelligence on repository.snapshot authority
99
103
  agentsam plan brand Composable brand normalization plan (--goap optional)
100
104
  agentsam deploy Graduate an AgentSam project intentionally
@@ -450,6 +454,14 @@ if (command === '--version' || command === '-v') {
450
454
  } else if (command === 'inspect') {
451
455
  try { await runInspect(rest); }
452
456
  catch (e) { reportCliError(e); process.exitCode = 1; }
457
+ } else if (command === 'machine') {
458
+ try {
459
+ const code = await runMachine(rest);
460
+ if (typeof code === 'number' && code !== 0) process.exitCode = code;
461
+ } catch (e) {
462
+ reportCliError(e);
463
+ process.exitCode = e?.exitCode || 1;
464
+ }
453
465
  } else if (command === 'capabilities') {
454
466
  try { await runCapabilities(rest); }
455
467
  catch (e) { reportCliError(e); process.exitCode = 1; }
@@ -718,6 +730,13 @@ if (command === '--version' || command === '-v') {
718
730
  reportCliError(e);
719
731
  process.exitCode = 1;
720
732
  }
733
+ } else if (command === 'package') {
734
+ try {
735
+ await runPackage(rest);
736
+ } catch (e) {
737
+ reportCliError(e);
738
+ process.exitCode = 1;
739
+ }
721
740
  } else if (command === 'security' || command === 'sca') {
722
741
  await runSecurity(rest);
723
742
  } else if (command === 'skills') {
@@ -37,7 +37,7 @@ function parseJsonc(source) {
37
37
  }
38
38
 
39
39
  export function parseWranglerToml(source = '') {
40
- const result = { vars: {}, d1_databases: [], r2_buckets: [], hyperdrive: [], kv_namespaces: [], services: [] };
40
+ const result = { vars: {}, d1_databases: [], r2_buckets: [], hyperdrive: [], kv_namespaces: [], services: [], vectorize: [] };
41
41
  const lines = source.split(/\r?\n/);
42
42
  let currentSection = '';
43
43
  let currentBlock = null;
@@ -55,6 +55,7 @@ export function parseWranglerToml(source = '') {
55
55
  else if (currentSection === 'hyperdrive') result.hyperdrive.push(currentBlock);
56
56
  else if (currentSection === 'kv_namespaces') result.kv_namespaces.push(currentBlock);
57
57
  else if (currentSection === 'services') result.services.push(currentBlock);
58
+ else if (currentSection === 'vectorize') result.vectorize.push(currentBlock);
58
59
  continue;
59
60
  }
60
61