@inneranimalmedia/agentsam-sdk 2.6.9 → 2.6.11

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 (392) hide show
  1. package/README.md +21 -0
  2. package/TRADEMARKS.md +22 -0
  3. package/apps/README.md +3 -0
  4. package/apps/cad-creator/LICENSE +21 -0
  5. package/apps/cad-creator/README.md +4 -1
  6. package/apps/cad-creator/shared/cad/package.json +1 -1
  7. package/apps/client-cms-editor/LICENSE +21 -0
  8. package/apps/client-cms-editor/README.md +3 -0
  9. package/apps/client-cms-editor/backend/package.json +3 -3
  10. package/apps/client-cms-editor/frontend/package.json +4 -4
  11. package/apps/client-cms-editor/package-lock.json +43 -43
  12. package/apps/client-cms-editor/package.json +3 -3
  13. package/apps/client-cms-editor/reference/harvest/HARVEST_RECEIPT.json +1 -1
  14. package/apps/client-cms-editor/reference/harvest/README.md +1 -1
  15. package/apps/client-cms-editor/reference/harvest/plans/ARCHIVE-INTAKE.md +1 -1
  16. package/apps/client-cms-editor/reference/harvest/plans/HARVEST-INDEX.md +1 -1
  17. package/apps/client-cms-editor/reference/harvest/plans/TOOLING-LAB.md +1 -1
  18. package/apps/client-cms-editor/shared/cms/package.json +2 -2
  19. package/docs/MINI.md +4 -2
  20. package/docs/REPO_FILE_MAP.txt +0 -1
  21. package/docs/SOURCE_ARCHITECTURE.md +1 -1
  22. package/docs/architecture/DUAL_ANALYTICS_PRODUCT.md +140 -0
  23. package/docs/architecture/HOOKS-MODELS-SELF-HOSTING-PLAN.md +199 -0
  24. package/docs/content-studio/REVISION_GATE_2026-09-27.md +1 -1
  25. package/docs/engineering/go-portability/01-product-project-deployment-authority.md +69 -0
  26. package/docs/engineering/provider-internal-renames/01-lane-initialization.md +20 -0
  27. package/docs/engineering/provider-internal-renames/01a-runtime-environment-contract.md +115 -0
  28. package/docs/engineering/provider-internal-renames/02-cfoa.md +57 -0
  29. package/docs/engineering/provider-internal-renames/03-gclioa.md +32 -0
  30. package/docs/engineering/provider-internal-renames/04-goaude.md +50 -0
  31. package/docs/engineering/provider-internal-renames/05-gdrv.md +33 -0
  32. package/docs/engineering/provider-internal-renames/06-verification.md +103 -0
  33. package/docs/engineering/provider-internal-renames/README.md +77 -0
  34. package/docs/engineering/provider-internal-renames/runtime-environment-contract.json +220 -0
  35. package/docs/engineering/test-diagnostics/go-cli-test-hang-20261003.md +49 -0
  36. package/docs/engineering/test-diagnostics/go-skip-deploy-docker-fix.md +90 -0
  37. package/docs/knowledge-service-verification.md +3 -3
  38. package/docs/plans/AGENTSAM-SUSPEND-QUEUE-KNOWLEDGE-RDP-2026-10-03.md +870 -0
  39. package/docs/plans/LOCAL-STUDIO-GRADUATION-2026-09-26.md +9 -9
  40. package/docs/plans/MACHINE-FIRST-APPS-TUI-2026-09-24.md +11 -11
  41. package/docs/plans/RECONCILIATION-2026-09-19.md +6 -6
  42. package/docs/plans/SAM_WORK_PROTOCOL.md +667 -0
  43. package/docs/plans/TOMORROW-EXTENSIVE-TODO-2026-09-26.md +2 -2
  44. package/docs/plans/UNIVERSAL-INGEST-MACHINE-FIRST-2026-09-24.md +3 -3
  45. package/examples/hyperspace-demo/index.html +16 -0
  46. package/examples/hyperspace-demo/package.json +21 -0
  47. package/examples/hyperspace-demo/src/main.tsx +277 -0
  48. package/examples/hyperspace-demo/tsconfig.json +9 -0
  49. package/examples/hyperspace-demo/vite.config.ts +24 -0
  50. package/migrations/d1/0020_agentsam_receipt_catalog.sql +35 -0
  51. package/migrations/runtime/0005_agentsam_hooks.sql +87 -0
  52. package/migrations/runtime/0006_agent_run_suspend_activity.sql +53 -0
  53. package/migrations/runtime/0007_queue_control.sql +40 -0
  54. package/migrations/runtime/0008_agent_run_dependencies.sql +24 -0
  55. package/migrations/runtime/0008_analytics_legacy_bootstrap.sql +43 -0
  56. package/migrations/runtime/0009_analytics_authority.sql +108 -0
  57. package/package.json +45 -14
  58. package/packages/agentsam-brand/README.md +3 -0
  59. package/packages/agentsam-brand/package.json +2 -2
  60. package/packages/agentsam-brand/src/core/v2/compile.js +1 -1
  61. package/packages/agentsam-brand/src/core/v2/schema.js +1 -1
  62. package/packages/agentsam-contracts/dist/adapter.d.ts +22 -0
  63. package/packages/agentsam-contracts/dist/adapter.js +0 -0
  64. package/packages/agentsam-contracts/dist/agent.d.ts +66 -0
  65. package/packages/agentsam-contracts/dist/agent.js +15 -0
  66. package/packages/agentsam-contracts/dist/artifacts.d.ts +70 -0
  67. package/packages/agentsam-contracts/dist/artifacts.js +0 -0
  68. package/packages/agentsam-contracts/dist/authority.d.ts +21 -0
  69. package/packages/agentsam-contracts/dist/authority.js +0 -0
  70. package/packages/agentsam-contracts/dist/context.d.ts +14 -0
  71. package/packages/agentsam-contracts/dist/context.js +0 -0
  72. package/packages/agentsam-contracts/dist/errors.d.ts +121 -0
  73. package/packages/agentsam-contracts/dist/errors.js +5 -0
  74. package/packages/agentsam-contracts/dist/events.d.ts +53 -0
  75. package/packages/agentsam-contracts/dist/events.js +0 -0
  76. package/packages/agentsam-contracts/dist/execution.d.ts +38 -0
  77. package/packages/agentsam-contracts/dist/execution.js +0 -0
  78. package/packages/agentsam-contracts/dist/hooks.d.ts +31 -0
  79. package/packages/agentsam-contracts/dist/hooks.js +0 -0
  80. package/packages/agentsam-contracts/dist/identity.d.ts +15 -0
  81. package/packages/agentsam-contracts/dist/identity.js +0 -0
  82. package/packages/agentsam-contracts/dist/index.d.ts +16 -0
  83. package/packages/agentsam-contracts/dist/index.js +164 -0
  84. package/packages/agentsam-contracts/dist/models.d.ts +9 -0
  85. package/packages/agentsam-contracts/dist/models.js +0 -0
  86. package/packages/agentsam-contracts/dist/providers.d.ts +27 -0
  87. package/packages/agentsam-contracts/dist/providers.js +0 -0
  88. package/packages/agentsam-contracts/dist/repository.d.ts +56 -0
  89. package/packages/agentsam-contracts/dist/repository.js +15 -0
  90. package/packages/agentsam-contracts/dist/run.d.ts +113 -0
  91. package/packages/agentsam-contracts/dist/run.js +132 -0
  92. package/packages/agentsam-contracts/dist/tools.d.ts +82 -0
  93. package/packages/agentsam-contracts/dist/tools.js +0 -0
  94. package/packages/agentsam-contracts/dist/widgets.d.ts +38 -0
  95. package/packages/agentsam-contracts/dist/widgets.js +0 -0
  96. package/packages/agentsam-contracts/package.json +9 -1
  97. package/packages/agentsam-contracts/scripts/build.mjs +1 -1
  98. package/packages/agentsam-contracts/src/agent.ts +78 -3
  99. package/packages/agentsam-contracts/src/errors.ts +19 -10
  100. package/packages/agentsam-contracts/src/index.ts +2 -0
  101. package/packages/agentsam-contracts/src/run.ts +320 -0
  102. package/packages/agentsam-contracts/src/widgets.ts +58 -0
  103. package/packages/agentsam-contracts/test/contracts.test.mjs +1 -1
  104. package/packages/agentsam-contracts/test/run-contract.test.mjs +94 -0
  105. package/packages/agentsam-errors/package.json +11 -3
  106. package/packages/agentsam-errors/protocol/agentsam.error.v2.schema.json +821 -0
  107. package/packages/agentsam-errors/protocol/error-catalog.json +3512 -0
  108. package/packages/agentsam-errors/src/envelope.js +63 -11
  109. package/packages/agentsam-errors/src/error.js +6 -0
  110. package/packages/agentsam-errors/src/fingerprint.js +9 -1
  111. package/packages/agentsam-errors/src/normalize.js +51 -6
  112. package/packages/agentsam-errors/src/recovery.js +9 -35
  113. package/packages/agentsam-errors/src/transport.js +6 -1
  114. package/packages/agentsam-errors/src/vocabulary.js +515 -126
  115. package/packages/agentsam-errors/test/catalog-v2.test.mjs +106 -0
  116. package/packages/agentsam-errors/types/index.d.ts +157 -0
  117. package/packages/agentsam-goap/README.md +3 -0
  118. package/packages/agentsam-goap/package.json +2 -2
  119. package/packages/agentsam-hooks/README.md +206 -0
  120. package/packages/agentsam-hooks/bin/agentsam-hooks.mjs +64 -0
  121. package/packages/agentsam-hooks/bindings/go/command.go +55 -0
  122. package/packages/agentsam-hooks/bindings/go/errors_generated.go +402 -0
  123. package/packages/agentsam-hooks/bindings/go/go.mod +3 -0
  124. package/packages/agentsam-hooks/bindings/go/hooks.go +285 -0
  125. package/packages/agentsam-hooks/bindings/go/hooks_test.go +48 -0
  126. package/packages/agentsam-hooks/bindings/rust/Cargo.toml +11 -0
  127. package/packages/agentsam-hooks/bindings/rust/src/errors_generated.rs +396 -0
  128. package/packages/agentsam-hooks/bindings/rust/src/lib.rs +397 -0
  129. package/packages/agentsam-hooks/package.json +69 -0
  130. package/packages/agentsam-hooks/schema/manifest.json +54 -0
  131. package/packages/agentsam-hooks/scripts/clean-protocol.mjs +17 -0
  132. package/packages/agentsam-hooks/scripts/sync-protocol.mjs +27 -0
  133. package/packages/agentsam-hooks/src/adapters/agents.js +108 -0
  134. package/packages/agentsam-hooks/src/adapters/callback.js +4 -0
  135. package/packages/agentsam-hooks/src/adapters/capability.js +122 -0
  136. package/packages/agentsam-hooks/src/adapters/command.js +104 -0
  137. package/packages/agentsam-hooks/src/adapters/composite.js +31 -0
  138. package/packages/agentsam-hooks/src/adapters/http.js +58 -0
  139. package/packages/agentsam-hooks/src/adapters/lsp.js +116 -0
  140. package/packages/agentsam-hooks/src/adapters/mcp.js +76 -0
  141. package/packages/agentsam-hooks/src/adapters/provider.js +129 -0
  142. package/packages/agentsam-hooks/src/config.js +143 -0
  143. package/packages/agentsam-hooks/src/contracts.js +284 -0
  144. package/packages/agentsam-hooks/src/errors-generated.js +2732 -0
  145. package/packages/agentsam-hooks/src/index.d.ts +209 -0
  146. package/packages/agentsam-hooks/src/index.js +14 -0
  147. package/packages/agentsam-hooks/src/policy.js +34 -0
  148. package/packages/agentsam-hooks/src/runtime.js +312 -0
  149. package/packages/agentsam-hooks/src/store.js +264 -0
  150. package/packages/agentsam-hooks/test/adapters.test.mjs +216 -0
  151. package/packages/agentsam-hooks/test/runtime.test.mjs +258 -0
  152. package/packages/agentsam-knowledge/package.json +1 -1
  153. package/packages/agentsam-knowledge/src/backends/index.js +1 -1
  154. package/packages/agentsam-merch/README.md +62 -0
  155. package/packages/agentsam-merch/bin/agentsam-merch.mjs +16 -0
  156. package/packages/agentsam-merch/package.json +65 -0
  157. package/packages/agentsam-merch/profiles/completeful/dtg-back-large.json +42 -0
  158. package/packages/agentsam-merch/profiles/completeful/laser-engraving.json +39 -0
  159. package/packages/agentsam-merch/profiles/generic/embroidery-digitization.json +22 -0
  160. package/packages/agentsam-merch/schemas/collection-candidate.schema.json +66 -0
  161. package/packages/agentsam-merch/schemas/manufacturing-profile.schema.json +221 -0
  162. package/packages/agentsam-merch/src/adapters-completeful.js +50 -0
  163. package/packages/agentsam-merch/src/cli.js +93 -0
  164. package/packages/agentsam-merch/src/collection-lab.js +60 -0
  165. package/packages/agentsam-merch/src/compatibility.js +501 -0
  166. package/packages/agentsam-merch/src/derivatives.js +112 -0
  167. package/packages/agentsam-merch/src/index.d.ts +316 -0
  168. package/packages/agentsam-merch/src/index.js +46 -0
  169. package/packages/agentsam-merch/src/node/index.d.ts +58 -0
  170. package/packages/agentsam-merch/src/node/index.js +6 -0
  171. package/packages/agentsam-merch/src/node/raster.js +142 -0
  172. package/packages/agentsam-merch/src/node/vector.js +239 -0
  173. package/packages/agentsam-merch/src/product-concepts.js +118 -0
  174. package/packages/agentsam-merch/src/profile-registry.js +104 -0
  175. package/packages/agentsam-merch/src/profile.js +158 -0
  176. package/packages/agentsam-merch/src/transforms.js +215 -0
  177. package/packages/agentsam-merch/test/merch.test.mjs +332 -0
  178. package/packages/agentsam-merch/test/node-transforms.test.mjs +149 -0
  179. package/packages/agentsam-nav/dist/Nav.d.ts +43 -0
  180. package/packages/agentsam-nav/dist/NavCollapsible.d.ts +10 -0
  181. package/packages/agentsam-nav/dist/NavContent.d.ts +2 -0
  182. package/packages/agentsam-nav/dist/NavFooter.d.ts +2 -0
  183. package/packages/agentsam-nav/dist/NavGroup.d.ts +3 -0
  184. package/packages/agentsam-nav/dist/NavHeader.d.ts +2 -0
  185. package/packages/agentsam-nav/dist/NavMenu.d.ts +22 -0
  186. package/packages/agentsam-nav/dist/NavProvider.d.ts +35 -0
  187. package/packages/agentsam-nav/dist/NavTrigger.d.ts +2 -0
  188. package/packages/agentsam-nav/dist/Surfaces.d.ts +41 -0
  189. package/packages/agentsam-nav/dist/browser.d.ts +11 -0
  190. package/packages/agentsam-nav/dist/browser.global.js +172 -0
  191. package/packages/agentsam-nav/dist/browser.js +9688 -0
  192. package/packages/agentsam-nav/dist/contracts.d.ts +76 -0
  193. package/packages/agentsam-nav/dist/index.d.ts +11 -0
  194. package/packages/agentsam-nav/dist/index.js +9689 -0
  195. package/packages/agentsam-nav/dist/legacy.css +83 -0
  196. package/packages/agentsam-nav/dist/shell.css +113 -0
  197. package/packages/agentsam-nav/dist/theme.css +113 -0
  198. package/packages/agentsam-nav/dist/utils.d.ts +1 -0
  199. package/packages/agentsam-nav/package.json +1 -1
  200. package/packages/agentsam-queue-control/README.md +4 -1
  201. package/packages/agentsam-queue-control/package.json +4 -3
  202. package/packages/agentsam-queue-control/schemas/job-envelope.schema.json +111 -11
  203. package/packages/agentsam-queue-control/src/adapters/cloudflare.js +34 -6
  204. package/packages/agentsam-queue-control/src/adapters/memory.js +11 -2
  205. package/packages/agentsam-queue-control/src/adapters/sqlite.js +259 -0
  206. package/packages/agentsam-queue-control/src/contracts.js +207 -3
  207. package/packages/agentsam-queue-control/src/control-plane.js +62 -2
  208. package/packages/agentsam-queue-control/src/index.js +1 -0
  209. package/packages/agentsam-queue-control/test/queue-control.test.mjs +310 -0
  210. package/packages/agentsam-queue-control/test/sqlite-adapter.test.mjs +91 -0
  211. package/packages/agentsam-rapid-rust/README.md +3 -0
  212. package/packages/agentsam-repository/README.md +3 -0
  213. package/packages/agentsam-repository/package.json +1 -1
  214. package/packages/agentsam-vault/package.json +1 -1
  215. package/packages/agentsam-workbench/README.md +43 -0
  216. package/packages/agentsam-workbench/package.json +14 -4
  217. package/packages/agentsam-workbench/src/agent/AgentConversationSurface.tsx +108 -0
  218. package/packages/agentsam-workbench/src/agent/AgentPanel.tsx +25 -8
  219. package/packages/agentsam-workbench/src/agent/AgentRuntimeField.tsx +152 -0
  220. package/packages/agentsam-workbench/src/agent/Composer.tsx +10 -1
  221. package/packages/agentsam-workbench/src/agent/RunMode.ts +26 -0
  222. package/packages/agentsam-workbench/src/agent/Thread.tsx +18 -3
  223. package/packages/agentsam-workbench/src/agent/index.ts +3 -0
  224. package/packages/agentsam-workbench/src/index.ts +4 -0
  225. package/packages/agentsam-workbench/src/manufacturing/PreflightIndicator.tsx +203 -0
  226. package/packages/agentsam-workbench/src/manufacturing/index.ts +2 -0
  227. package/packages/agentsam-workbench/src/manufacturing/loading.ts +147 -0
  228. package/packages/agentsam-workbench/src/widgets/BuiltinWidget.tsx +22 -0
  229. package/packages/agentsam-workbench/src/widgets/CountdownWidget.tsx +68 -0
  230. package/packages/agentsam-workbench/src/widgets/WidgetFrame.tsx +56 -0
  231. package/packages/agentsam-workbench/src/widgets/countdown.ts +25 -0
  232. package/packages/agentsam-workbench/src/widgets/index.ts +6 -0
  233. package/packages/agentsam-workbench/src/widgets/registry.ts +13 -0
  234. package/packages/agentsam-workbench/src/widgets/useCountdown.ts +128 -0
  235. package/packages/agentsam-workbench/src/widgets/widgets.css +102 -0
  236. package/packages/connectors/{cloudflare → cfoa}/package.json +3 -3
  237. package/packages/heuristic-theme/package.json +1 -1
  238. package/packages/identity/README.md +3 -0
  239. package/packages/identity/backend/README.md +3 -0
  240. package/packages/identity/package.json +2 -2
  241. package/packages/identity/src/frontend/auth-portal/README.md +3 -0
  242. package/packages/identity/src/index.js +1 -1
  243. package/packages/identity/src/oauth/README.md +4 -1
  244. package/packages/identity/src/oauth/credentials.js +1 -1
  245. package/packages/identity/src/server/worker-router.js +1 -1
  246. package/packages/identity/tests/google-desktop-identity-login.test.mjs +1 -1
  247. package/packages/identity/tests/lane1-packed-consumer.test.mjs +1 -1
  248. package/packages/identity/tests/oauth-presets-accounts-ssot.test.mjs +1 -1
  249. package/packages/providers/completeful/package.json +1 -1
  250. package/packages/theme-church-site/package.json +2 -2
  251. package/packages/theme-companions-site/package.json +2 -2
  252. package/packages/theme-floors-site/package.json +2 -2
  253. package/packages/theme-fuelnfree-site/package.json +2 -2
  254. package/packages/theme-handyman-site/package.json +2 -2
  255. package/packages/theme-insurance-site/package.json +2 -2
  256. package/packages/theme-scenes/package.json +1 -1
  257. package/packages/theme-shinshu-site/package.json +2 -2
  258. package/packages/work-graph/package.json +1 -1
  259. package/protocol/apps/agentsam.app.v1.schema.json +1 -1
  260. package/protocol/apps/agentsam.host-install.v1.schema.json +1 -1
  261. package/protocol/assets/asset-record.v1.schema.json +1 -1
  262. package/protocol/brand/brandpack.v1.schema.json +1 -1
  263. package/protocol/capabilities/capability-manifest.schema.json +1 -1
  264. package/protocol/capabilities/knowledge-search-input.schema.json +1 -0
  265. package/protocol/credentials/issue.v1.schema.json +1 -1
  266. package/protocol/database/agentsam.schema-pack.v1.schema.json +1 -1
  267. package/protocol/database/connection.v1.schema.json +1 -1
  268. package/protocol/embeddings/embedding-profile.v1.schema.json +1 -1
  269. package/protocol/errors/README.md +36 -0
  270. package/protocol/errors/agentsam.error.v2.schema.json +821 -0
  271. package/protocol/errors/error-catalog.json +3506 -158
  272. package/protocol/errors/error-envelope.schema.json +195 -52
  273. package/protocol/errors/recovery.v1.schema.json +1 -1
  274. package/protocol/features/agentsam.feature.v1.schema.json +1 -1
  275. package/protocol/hooks/README.md +18 -0
  276. package/protocol/hooks/agentsam.hook.output.v1.schema.json +27 -0
  277. package/protocol/hooks/agentsam.hook.receipt.v1.schema.json +61 -0
  278. package/protocol/hooks/agentsam.hook.v1.schema.json +35 -0
  279. package/protocol/hooks/agentsam.hooks.config.v1.schema.json +78 -0
  280. package/protocol/local-engine/benchmark.v1.schema.json +1 -1
  281. package/protocol/local-engine/engine.v1.schema.json +1 -1
  282. package/protocol/models/README.md +3 -0
  283. package/protocol/models/model-inventory-v2.schema.json +1 -1
  284. package/protocol/models/provider-model-snapshot.v1.schema.json +22 -0
  285. package/protocol/receipts/agentsam.receipt.v1.json +95 -0
  286. package/protocol/rpc/v1/errors.proto +1 -0
  287. package/protocol/runtime/agentsam.runtime.v1.schema.json +1 -1
  288. package/protocol/runtime/workspace-fs.v1.schema.json +1 -1
  289. package/protocol/sam/activity.v1.schema.json +1 -1
  290. package/protocol/sam/answer.v1.schema.json +1 -1
  291. package/protocol/sam/calibration.v1.schema.json +1 -1
  292. package/protocol/sam/decision-receipt.v1.schema.json +1 -1
  293. package/protocol/sam/evaluation.v1.schema.json +1 -1
  294. package/protocol/sam/operation.schema.json +1 -1
  295. package/protocol/sam/outcome.v1.schema.json +1 -1
  296. package/protocol/sam/question.v1.schema.json +1 -1
  297. package/protocol/sam/result.schema.json +1 -1
  298. package/protocol/sam/state.v1.schema.json +1 -1
  299. package/protocol/scoring/scorecard.v1.schema.json +1 -1
  300. package/protocol/skills/agentsam.interaction.v1.schema.json +1 -1
  301. package/protocol/skills/agentsam.skill.v1.schema.json +1 -1
  302. package/protocol/theme-refinery/product-metadata.schema.json +1 -1
  303. package/protocol/theme-refinery/receipts/products-registry-batch-20260924.json +6 -6
  304. package/protocol/theme-refinery/receipts/theme-harvest-20260924.json +6 -6
  305. package/protocol/theme-refinery/reconciliation-receipt.schema.json +1 -1
  306. package/protocol/ui/icon.v1.schema.json +1 -1
  307. package/python/README.md +20 -0
  308. package/python/agentsam_sdk/errors/__init__.py +4 -0
  309. package/python/agentsam_sdk/errors/vocabulary.py +2730 -0
  310. package/python/agentsam_sdk/hooks/__init__.py +32 -0
  311. package/python/agentsam_sdk/hooks/adapters.py +132 -0
  312. package/python/agentsam_sdk/hooks/contracts.py +121 -0
  313. package/python/agentsam_sdk/hooks/runtime.py +253 -0
  314. package/python/tests/test_hooks.py +115 -0
  315. package/skills/README.md +3 -0
  316. package/src/acp/agent-executor.js +106 -0
  317. package/src/acp/client.js +316 -0
  318. package/src/acp/dependencies.js +426 -0
  319. package/src/acp/http.js +207 -0
  320. package/src/acp/index.js +22 -0
  321. package/src/acp/runs.js +125 -0
  322. package/src/acp/runtime-selection.js +180 -0
  323. package/src/agent/responses-runner.js +145 -1
  324. package/src/cli/command-catalog.js +4 -0
  325. package/src/cli.js +33 -0
  326. package/src/commands/cheat-sheet.js +1 -0
  327. package/src/commands/cloudflare-login.js +1 -1
  328. package/src/commands/cloudflare.js +2 -2
  329. package/src/commands/connections.js +1 -1
  330. package/src/commands/go.js +76 -6
  331. package/src/commands/hooks.js +260 -0
  332. package/src/commands/merch.js +5 -0
  333. package/src/commands/mini.js +1 -1
  334. package/src/commands/models.js +1 -1
  335. package/src/commands/receipts.js +140 -0
  336. package/src/commands/run.js +253 -0
  337. package/src/commands/shell.js +114 -9
  338. package/src/errors/diagnostic.js +9 -9
  339. package/src/go/container.js +1 -1
  340. package/src/go/contract.js +61 -18
  341. package/src/go/discover.js +0 -4
  342. package/src/go/index.js +13 -1
  343. package/src/go/probe.js +109 -0
  344. package/src/go/{cloudflare.js → providers/cloudflare.js} +36 -136
  345. package/src/go/verify.js +1 -1
  346. package/src/index.js +32 -0
  347. package/src/indexing/ingest/inventory.js +1 -1
  348. package/src/knowledge/service/grpc-codec.js +2 -0
  349. package/src/lib/deploy/local-studio.js +2 -2
  350. package/src/lib/mini/scaffold.js +1 -1
  351. package/src/lib/slash-commands.js +1 -0
  352. package/src/lib/whoami-capabilities.js +1 -1
  353. package/src/local/runtime-store.js +54 -0
  354. package/src/mcp/cloudflare-bundles.js +1 -1
  355. package/src/models/catalog.js +0 -49
  356. package/src/models/inventory-core.js +69 -0
  357. package/src/plugins/index.js +9 -1
  358. package/src/plugins/registry.js +115 -6
  359. package/src/receipts/contract.js +68 -0
  360. package/src/receipts/index.js +20 -0
  361. package/src/receipts/prune.js +64 -0
  362. package/src/receipts/sinks.js +285 -0
  363. package/src/rpc/generated/errors_pb.js +49 -1
  364. package/src/tools/runtime.js +13 -5
  365. package/templates/mini/gadget/app.js +15 -40
  366. package/templates/mini/gadget/index.html +7 -7
  367. package/templates/mini/shared/style.css +1 -1
  368. /package/packages/connectors/{cloudflare → cfoa}/OAUTH_STORAGE_AUDIT.md +0 -0
  369. /package/packages/connectors/{cloudflare → cfoa}/src/api-client.js +0 -0
  370. /package/packages/connectors/{cloudflare → cfoa}/src/capabilities.js +0 -0
  371. /package/packages/connectors/{cloudflare → cfoa}/src/credential.js +0 -0
  372. /package/packages/connectors/{cloudflare → cfoa}/src/families/brand-protection.js +0 -0
  373. /package/packages/connectors/{cloudflare → cfoa}/src/families/keyless.js +0 -0
  374. /package/packages/connectors/{cloudflare → cfoa}/src/families/pages.js +0 -0
  375. /package/packages/connectors/{cloudflare → cfoa}/src/families/scanner.js +0 -0
  376. /package/packages/connectors/{cloudflare → cfoa}/src/families/snippets.js +0 -0
  377. /package/packages/connectors/{cloudflare → cfoa}/src/families/tag-gateway.js +0 -0
  378. /package/packages/connectors/{cloudflare → cfoa}/src/families/tags.js +0 -0
  379. /package/packages/connectors/{cloudflare → cfoa}/src/families/token-validation.js +0 -0
  380. /package/packages/connectors/{cloudflare → cfoa}/src/families/vectorize.js +0 -0
  381. /package/packages/connectors/{cloudflare → cfoa}/src/families/workflows.js +0 -0
  382. /package/packages/connectors/{cloudflare → cfoa}/src/index.js +0 -0
  383. /package/packages/connectors/{cloudflare → cfoa}/src/oauth-persist.js +0 -0
  384. /package/packages/connectors/{cloudflare → cfoa}/src/owner.js +0 -0
  385. /package/packages/connectors/{cloudflare → cfoa}/src/permission-options.js +0 -0
  386. /package/packages/connectors/{cloudflare → cfoa}/src/routes.js +0 -0
  387. /package/packages/connectors/{cloudflare → cfoa}/src/scope-catalog.js +0 -0
  388. /package/packages/connectors/{cloudflare → cfoa}/src/vault.js +0 -0
  389. /package/packages/connectors/{cloudflare → cfoa}/tests/capabilities.test.mjs +0 -0
  390. /package/packages/connectors/{cloudflare → cfoa}/tests/connector.test.mjs +0 -0
  391. /package/packages/connectors/{cloudflare → cfoa}/tests/oauth-persist.test.mjs +0 -0
  392. /package/packages/identity/src/oauth/{google-desktop-exchange.js → goaude.js} +0 -0
@@ -0,0 +1,68 @@
1
+ import type { CSSProperties } from 'react';
2
+ import { formatCountdown } from './countdown';
3
+ import { useCountdown } from './useCountdown';
4
+
5
+ export interface CountdownWidgetProps {
6
+ durationMs: number;
7
+ label?: string;
8
+ autoStart?: boolean;
9
+ compact?: boolean;
10
+ onComplete?: () => void;
11
+ className?: string;
12
+ style?: CSSProperties;
13
+ }
14
+
15
+ export function CountdownWidget({
16
+ durationMs,
17
+ label = 'Time remaining',
18
+ autoStart = false,
19
+ compact = false,
20
+ onComplete,
21
+ className,
22
+ style,
23
+ }: CountdownWidgetProps) {
24
+ const countdown = useCountdown({ durationMs, autoStart, onComplete });
25
+ const primaryLabel =
26
+ countdown.phase === 'running'
27
+ ? 'Pause'
28
+ : countdown.phase === 'paused'
29
+ ? 'Resume'
30
+ : countdown.phase === 'complete'
31
+ ? 'Start again'
32
+ : 'Start';
33
+
34
+ const onPrimary = () => {
35
+ if (countdown.phase === 'running') countdown.pause();
36
+ else if (countdown.phase === 'paused') countdown.resume();
37
+ else countdown.start();
38
+ };
39
+
40
+ return (
41
+ <div
42
+ className={['agentsam-countdown', className].filter(Boolean).join(' ')}
43
+ data-countdown-phase={countdown.phase}
44
+ data-compact={compact ? 'true' : 'false'}
45
+ style={style}
46
+ >
47
+ <div
48
+ className="agentsam-countdown__time"
49
+ role="timer"
50
+ aria-label={label}
51
+ aria-live="off"
52
+ >
53
+ {formatCountdown(countdown.remainingMs)}
54
+ </div>
55
+ <div className="agentsam-countdown__controls">
56
+ <button type="button" className="agentsam-widget-button agentsam-widget-button--primary" onClick={onPrimary}>
57
+ {primaryLabel}
58
+ </button>
59
+ <button type="button" className="agentsam-widget-button" onClick={() => countdown.reset()}>
60
+ Reset
61
+ </button>
62
+ </div>
63
+ <span className="agentsam-countdown__status" role="status" aria-live="polite">
64
+ {countdown.phase === 'complete' ? 'Timer complete.' : ''}
65
+ </span>
66
+ </div>
67
+ );
68
+ }
@@ -0,0 +1,56 @@
1
+ import type { CSSProperties, ReactNode } from 'react';
2
+ import type { AgentSamWidgetSize, AgentSamWidgetState } from '@inneranimalmedia/agentsam-contracts/widgets';
3
+
4
+ export interface WidgetFrameProps {
5
+ title: ReactNode;
6
+ description?: ReactNode;
7
+ size?: AgentSamWidgetSize;
8
+ state?: AgentSamWidgetState;
9
+ actions?: ReactNode;
10
+ children: ReactNode;
11
+ className?: string;
12
+ style?: CSSProperties;
13
+ }
14
+
15
+ function stateLabel(state: AgentSamWidgetState | undefined): string | null {
16
+ if (!state || state.status === 'ready') return null;
17
+ if (state.status === 'empty') return 'No data';
18
+ if (state.status === 'stale') return 'Stale';
19
+ return 'Unavailable';
20
+ }
21
+
22
+ export function WidgetFrame({
23
+ title,
24
+ description,
25
+ size = 'small',
26
+ state,
27
+ actions,
28
+ children,
29
+ className,
30
+ style,
31
+ }: WidgetFrameProps) {
32
+ const label = stateLabel(state);
33
+ const errorMessage = state && (state.status === 'stale' || state.status === 'error')
34
+ ? state.error.message
35
+ : null;
36
+
37
+ return (
38
+ <section
39
+ className={['agentsam-widget', className].filter(Boolean).join(' ')}
40
+ data-widget-size={size}
41
+ data-widget-state={state?.status ?? 'ready'}
42
+ style={style}
43
+ >
44
+ <header className="agentsam-widget__header">
45
+ <div className="agentsam-widget__heading">
46
+ <h2 className="agentsam-widget__title">{title}</h2>
47
+ {description ? <p className="agentsam-widget__description">{description}</p> : null}
48
+ </div>
49
+ {label ? <span className="agentsam-widget__state">{label}</span> : null}
50
+ </header>
51
+ <div className="agentsam-widget__body">{children}</div>
52
+ {errorMessage ? <p className="agentsam-widget__message" role="status">{errorMessage}</p> : null}
53
+ {actions ? <footer className="agentsam-widget__actions">{actions}</footer> : null}
54
+ </section>
55
+ );
56
+ }
@@ -0,0 +1,25 @@
1
+ export type CountdownPhase = 'idle' | 'running' | 'paused' | 'complete';
2
+
3
+ export function normalizeCountdownDuration(durationMs: number): number {
4
+ if (!Number.isFinite(durationMs)) return 0;
5
+ return Math.max(0, Math.round(durationMs));
6
+ }
7
+
8
+ export function remainingFromDeadline(deadlineMs: number, nowMs = Date.now()): number {
9
+ return Math.max(0, Math.round(deadlineMs - nowMs));
10
+ }
11
+
12
+ export function formatCountdown(remainingMs: number): string {
13
+ const totalSeconds = Math.max(0, Math.ceil(remainingMs / 1000));
14
+ const hours = Math.floor(totalSeconds / 3600);
15
+ const minutes = Math.floor((totalSeconds % 3600) / 60);
16
+ const seconds = totalSeconds % 60;
17
+
18
+ if (hours > 0) {
19
+ return [hours, minutes, seconds]
20
+ .map((part, index) => (index === 0 ? String(part) : String(part).padStart(2, '0')))
21
+ .join(':');
22
+ }
23
+
24
+ return `${String(minutes).padStart(2, '0')}:${String(seconds).padStart(2, '0')}`;
25
+ }
@@ -0,0 +1,6 @@
1
+ export * from './countdown';
2
+ export * from './useCountdown';
3
+ export * from './WidgetFrame';
4
+ export * from './CountdownWidget';
5
+ export * from './registry';
6
+ export * from './BuiltinWidget';
@@ -0,0 +1,13 @@
1
+ import type { AgentSamWidgetDefinition } from '@inneranimalmedia/agentsam-contracts/widgets';
2
+
3
+ export const BUILTIN_WIDGET_DEFINITIONS = Object.freeze([
4
+ Object.freeze({
5
+ id: 'countdown',
6
+ kind: 'countdown',
7
+ title: 'Countdown',
8
+ description: 'Compact deadline-based timer for focus blocks, launch windows, and task checkpoints.',
9
+ icon: 'clock-3',
10
+ sizes: ['small', 'medium'] as const,
11
+ deeplink: '/widgets',
12
+ } satisfies AgentSamWidgetDefinition),
13
+ ] satisfies readonly AgentSamWidgetDefinition[]);
@@ -0,0 +1,128 @@
1
+ import { useCallback, useEffect, useRef, useState } from 'react';
2
+ import {
3
+ normalizeCountdownDuration,
4
+ remainingFromDeadline,
5
+ type CountdownPhase,
6
+ } from './countdown';
7
+
8
+ export interface UseCountdownOptions {
9
+ durationMs: number;
10
+ autoStart?: boolean;
11
+ tickMs?: number;
12
+ onComplete?: () => void;
13
+ }
14
+
15
+ export interface CountdownController {
16
+ phase: CountdownPhase;
17
+ durationMs: number;
18
+ remainingMs: number;
19
+ deadlineMs: number | null;
20
+ start: () => void;
21
+ pause: () => void;
22
+ resume: () => void;
23
+ reset: (durationMs?: number) => void;
24
+ }
25
+
26
+ export function useCountdown({
27
+ durationMs: durationInput,
28
+ autoStart = false,
29
+ tickMs = 250,
30
+ onComplete,
31
+ }: UseCountdownOptions): CountdownController {
32
+ const normalizedInput = normalizeCountdownDuration(durationInput);
33
+ const [durationMs, setDurationMs] = useState(normalizedInput);
34
+ const [remainingMs, setRemainingMs] = useState(normalizedInput);
35
+ const [deadlineMs, setDeadlineMs] = useState<number | null>(null);
36
+ const [phase, setPhase] = useState<CountdownPhase>(autoStart && normalizedInput > 0 ? 'running' : 'idle');
37
+ const onCompleteRef = useRef(onComplete);
38
+ const completionReportedRef = useRef(false);
39
+
40
+ useEffect(() => {
41
+ onCompleteRef.current = onComplete;
42
+ }, [onComplete]);
43
+
44
+ useEffect(() => {
45
+ setDurationMs(normalizedInput);
46
+ if (phase === 'idle') setRemainingMs(normalizedInput);
47
+ // A completed countdown stays at 00:00 until the user starts or resets it.
48
+ // eslint-disable-next-line react-hooks/exhaustive-deps
49
+ }, [normalizedInput]);
50
+
51
+ const begin = useCallback((baseRemainingMs: number) => {
52
+ const nextRemaining = normalizeCountdownDuration(baseRemainingMs);
53
+ if (nextRemaining <= 0) {
54
+ setRemainingMs(0);
55
+ setDeadlineMs(null);
56
+ setPhase('complete');
57
+ return;
58
+ }
59
+
60
+ completionReportedRef.current = false;
61
+ setRemainingMs(nextRemaining);
62
+ setDeadlineMs(Date.now() + nextRemaining);
63
+ setPhase('running');
64
+ }, []);
65
+
66
+ const start = useCallback(() => {
67
+ begin(phase === 'complete' || remainingMs <= 0 ? durationMs : remainingMs);
68
+ }, [begin, durationMs, phase, remainingMs]);
69
+
70
+ const pause = useCallback(() => {
71
+ if (phase !== 'running' || deadlineMs === null) return;
72
+ const nextRemaining = remainingFromDeadline(deadlineMs);
73
+ setRemainingMs(nextRemaining);
74
+ setDeadlineMs(null);
75
+ setPhase(nextRemaining <= 0 ? 'complete' : 'paused');
76
+ }, [deadlineMs, phase]);
77
+
78
+ const resume = useCallback(() => {
79
+ if (phase !== 'paused') return;
80
+ begin(remainingMs);
81
+ }, [begin, phase, remainingMs]);
82
+
83
+ const reset = useCallback((nextDurationMs = normalizedInput) => {
84
+ const nextDuration = normalizeCountdownDuration(nextDurationMs);
85
+ completionReportedRef.current = false;
86
+ setDurationMs(nextDuration);
87
+ setRemainingMs(nextDuration);
88
+ setDeadlineMs(null);
89
+ setPhase('idle');
90
+ }, [normalizedInput]);
91
+
92
+ useEffect(() => {
93
+ if (!autoStart || normalizedInput <= 0) return;
94
+ if (phase === 'running' && deadlineMs === null) begin(normalizedInput);
95
+ }, [autoStart, begin, deadlineMs, normalizedInput, phase]);
96
+
97
+ useEffect(() => {
98
+ if (phase !== 'running' || deadlineMs === null) return;
99
+
100
+ const tick = () => {
101
+ const nextRemaining = remainingFromDeadline(deadlineMs);
102
+ setRemainingMs(nextRemaining);
103
+ if (nextRemaining > 0) return;
104
+
105
+ setDeadlineMs(null);
106
+ setPhase('complete');
107
+ if (!completionReportedRef.current) {
108
+ completionReportedRef.current = true;
109
+ onCompleteRef.current?.();
110
+ }
111
+ };
112
+
113
+ tick();
114
+ const interval = setInterval(tick, Math.max(50, tickMs));
115
+ return () => clearInterval(interval);
116
+ }, [deadlineMs, phase, tickMs]);
117
+
118
+ return {
119
+ phase,
120
+ durationMs,
121
+ remainingMs,
122
+ deadlineMs,
123
+ start,
124
+ pause,
125
+ resume,
126
+ reset,
127
+ };
128
+ }
@@ -0,0 +1,102 @@
1
+ .agentsam-widget {
2
+ --widget-surface: var(--card, var(--dashboard-surface, rgba(20, 20, 24, 0.72)));
3
+ --widget-border: var(--border, var(--dashboard-border, rgba(127, 127, 140, 0.22)));
4
+ --widget-text: var(--foreground, var(--dashboard-text, currentColor));
5
+ --widget-muted: var(--muted-foreground, var(--dashboard-muted, color-mix(in srgb, currentColor 62%, transparent)));
6
+ --widget-accent: var(--primary, var(--dashboard-accent, #8b5cf6));
7
+ color: var(--widget-text);
8
+ background: var(--widget-surface);
9
+ border: 1px solid var(--widget-border);
10
+ border-radius: var(--dashboard-card-radius, 20px);
11
+ padding: 18px;
12
+ min-width: 0;
13
+ box-shadow: 0 16px 50px color-mix(in srgb, black 10%, transparent);
14
+ }
15
+
16
+ .agentsam-widget[data-widget-size="medium"] { padding: 22px; }
17
+ .agentsam-widget[data-widget-size="large"] { padding: 26px; }
18
+
19
+ .agentsam-widget__header {
20
+ display: flex;
21
+ align-items: flex-start;
22
+ justify-content: space-between;
23
+ gap: 16px;
24
+ margin-bottom: 14px;
25
+ }
26
+
27
+ .agentsam-widget__heading { min-width: 0; }
28
+ .agentsam-widget__title {
29
+ margin: 0;
30
+ font: inherit;
31
+ font-weight: 600;
32
+ letter-spacing: -0.015em;
33
+ }
34
+ .agentsam-widget__description,
35
+ .agentsam-widget__message {
36
+ margin: 4px 0 0;
37
+ color: var(--widget-muted);
38
+ font-size: 0.8125rem;
39
+ line-height: 1.45;
40
+ }
41
+ .agentsam-widget__state {
42
+ flex: 0 0 auto;
43
+ border: 1px solid var(--widget-border);
44
+ border-radius: 999px;
45
+ padding: 3px 8px;
46
+ color: var(--widget-muted);
47
+ font-size: 0.6875rem;
48
+ letter-spacing: 0.02em;
49
+ text-transform: uppercase;
50
+ }
51
+ .agentsam-widget__body { min-width: 0; }
52
+ .agentsam-widget__actions {
53
+ display: flex;
54
+ gap: 8px;
55
+ margin-top: 14px;
56
+ }
57
+
58
+ .agentsam-countdown {
59
+ display: grid;
60
+ gap: 14px;
61
+ }
62
+ .agentsam-countdown__time {
63
+ font-variant-numeric: tabular-nums;
64
+ font-size: clamp(2.8rem, 12vw, 5rem);
65
+ line-height: 1;
66
+ letter-spacing: -0.06em;
67
+ }
68
+ .agentsam-countdown[data-compact="true"] .agentsam-countdown__time {
69
+ font-size: clamp(2rem, 9vw, 3.2rem);
70
+ }
71
+ .agentsam-countdown__controls {
72
+ display: flex;
73
+ gap: 8px;
74
+ flex-wrap: wrap;
75
+ }
76
+ .agentsam-widget-button {
77
+ min-height: 40px;
78
+ border: 1px solid var(--widget-border);
79
+ border-radius: 10px;
80
+ padding: 8px 13px;
81
+ background: transparent;
82
+ color: inherit;
83
+ font: inherit;
84
+ font-size: 0.8125rem;
85
+ font-weight: 550;
86
+ cursor: pointer;
87
+ }
88
+ .agentsam-widget-button:hover { background: color-mix(in srgb, currentColor 6%, transparent); }
89
+ .agentsam-widget-button:focus-visible {
90
+ outline: 2px solid var(--widget-accent);
91
+ outline-offset: 2px;
92
+ }
93
+ .agentsam-widget-button--primary {
94
+ border-color: color-mix(in srgb, var(--widget-accent) 72%, transparent);
95
+ background: var(--widget-accent);
96
+ color: var(--primary-foreground, white);
97
+ }
98
+ .agentsam-countdown__status {
99
+ min-height: 1em;
100
+ color: var(--widget-muted);
101
+ font-size: 0.75rem;
102
+ }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@inneranimalmedia/agentsam-connector-cloudflare",
3
- "version": "2.6.9",
3
+ "version": "2.6.11",
4
4
  "type": "module",
5
5
  "main": "./src/index.js",
6
6
  "exports": {
@@ -14,11 +14,11 @@
14
14
  "repository": {
15
15
  "type": "git",
16
16
  "url": "git+https://github.com/SamPrimeaux/agentsam-sdk.git",
17
- "directory": "packages/connectors/cloudflare"
17
+ "directory": "packages/connectors/cfoa"
18
18
  },
19
19
  "files": [
20
20
  "src"
21
21
  ],
22
- "description": "Portable Cloudflare capability connector for AgentSam applications and SDK consumers.",
22
+ "description": "Portable Cloudflare capability connector for AgentSam applications and SDK consumers. Independent project; not affiliated with Cloudflare, Inc..",
23
23
  "license": "MIT"
24
24
  }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@inneranimalmedia/theme-heuristic",
3
- "version": "2.6.9",
3
+ "version": "2.6.11",
4
4
  "description": "Stock AgentSam CMS storefront shell theme contract (heuristic-theme).",
5
5
  "type": "module",
6
6
  "main": "./src/index.js",
@@ -81,3 +81,6 @@ npx agentsam identity init --name my-app --brand "My App"
81
81
  ## IAM design lab
82
82
 
83
83
  `inneranimalmedia/packages/agentsam-identity/` — contracts experiments only; **not** the package owner.
84
+
85
+ <!-- agentsam:trademark-notice -->
86
+ > Independent project. Not affiliated with, endorsed by, or sponsored by Cloudflare, Inc. or by any other company whose products are named here. Cloudflare is a registered trademark of Cloudflare, Inc. Other names are trademarks of their respective owners. See [TRADEMARKS](https://github.com/SamPrimeaux/agentsam-sdk/blob/main/TRADEMARKS.md).
@@ -26,3 +26,6 @@ import { finalizeInboundOAuth } from '@inneranimalmedia/agentsam-sdk/identity/oa
26
26
  ```
27
27
 
28
28
  `finalizeInboundOAuth` is a contract stub in alpha — wire your Identity Service adapter before production OAuth.
29
+
30
+ <!-- agentsam:trademark-notice -->
31
+ > Independent project. Not affiliated with, endorsed by, or sponsored by any company whose products are named here. Names are trademarks of their respective owners. See [TRADEMARKS](https://github.com/SamPrimeaux/agentsam-sdk/blob/main/TRADEMARKS.md).
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "name": "@inneranimalmedia/agentsam-identity",
3
- "version": "2.6.9",
3
+ "version": "2.6.11",
4
4
  "type": "module",
5
- "description": "Identity module for @inneranimalmedia/agentsam-sdk (workspace \u2014 publish via root SDK)",
5
+ "description": "Identity module for @inneranimalmedia/agentsam-sdk (workspace — publish via root SDK)",
6
6
  "agentsam": {
7
7
  "system": "identity",
8
8
  "kind": "library",
@@ -54,3 +54,6 @@ Serves production paths (`/auth/login`, `/auth/signup`, `/auth/reset`) with stub
54
54
  | OAuth buttons | stub page + link to globe-exit demo |
55
55
 
56
56
  Hub: `http://127.0.0.1:8791/` lists all entry points.
57
+
58
+ <!-- agentsam:trademark-notice -->
59
+ > Independent project. Not affiliated with, endorsed by, or sponsored by Cloudflare, Inc. or by any other company whose products are named here. Cloudflare is a registered trademark of Cloudflare, Inc. Other names are trademarks of their respective owners. See [TRADEMARKS](https://github.com/SamPrimeaux/agentsam-sdk/blob/main/TRADEMARKS.md).
@@ -111,7 +111,7 @@ export {
111
111
  export {
112
112
  handleGoogleDesktopExchangeRequest,
113
113
  resolveGoogleExchangeSecret,
114
- } from './oauth/google-desktop-exchange.js';
114
+ } from './oauth/goaude.js';
115
115
  export { createCloudflareD1Adapter, createIamCompatIdentityAdapter } from './adapters/cloudflare-d1/index.js';
116
116
  export {
117
117
  createSqliteIdentityAdapter,
@@ -53,7 +53,10 @@ OIDC scopes: `openid profile email` (not a bespoke `identity:*` namespace).
53
53
  ## Code
54
54
 
55
55
  - `credentials.js` — lane resolution
56
- - `google-desktop-exchange.js` — desktop PKCE token broker
56
+ - `goaude.js` — desktop PKCE token broker
57
57
  - `providers/iam/` — IAM AS client (`getIamAuthUrl`, `exchangeIamCode`, `fetchIamProfile`)
58
58
  - `iam-platform.js` — customer-worker start/callback wiring (uses `providers/iam/`)
59
59
  - `pkce.js` — shared PKCE helpers
60
+
61
+ <!-- agentsam:trademark-notice -->
62
+ > Independent project. Not affiliated with, endorsed by, or sponsored by Cloudflare, Inc. or by any other company whose products are named here. Cloudflare is a registered trademark of Cloudflare, Inc. Other names are trademarks of their respective owners. See [TRADEMARKS](https://github.com/SamPrimeaux/agentsam-sdk/blob/main/TRADEMARKS.md).
@@ -110,7 +110,7 @@ export function resolveOAuthCredentialLane(env, provider) {
110
110
 
111
111
  if (key === 'cloudflare') {
112
112
  // Reuses the same Worker secrets as the Local Studio Cloudflare resource
113
- // connector (packages/connectors/cloudflare). clientSecret may be empty
113
+ // connector (packages/connectors/cfoa). clientSecret may be empty
114
114
  // if that client is configured as PKCE-only (Token Authentication
115
115
  // Method = None) — exchangeCloudflareCode() omits it in that case.
116
116
  const clientId = String(env?.CLOUDFLARE_OAUTH_CLIENT_ID || '').trim();
@@ -17,7 +17,7 @@ import {
17
17
  GOOGLE_DESKTOP_LOGIN_EXCHANGE_PATH,
18
18
  handleGoogleDesktopExchangeRequest,
19
19
  handleGoogleDesktopLoginExchangeRequest,
20
- } from '../oauth/google-desktop-exchange.js';
20
+ } from '../oauth/goaude.js';
21
21
  import { iamPlatformOAuthCallback, iamPlatformOAuthStart } from '../oauth/iam-platform.js';
22
22
  import { pkceChallenge, pkceVerifier, randomOAuthState } from '../oauth/pkce.js';
23
23
  import {
@@ -2,7 +2,7 @@ import assert from 'node:assert/strict';
2
2
  import test from 'node:test';
3
3
  import {
4
4
  handleGoogleDesktopLoginExchangeRequest,
5
- } from '../src/oauth/google-desktop-exchange.js';
5
+ } from '../src/oauth/goaude.js';
6
6
 
7
7
  const DESKTOP_ID = 'desktop-client.apps.googleusercontent.com';
8
8
 
@@ -170,7 +170,7 @@ console.log(JSON.stringify({ ok: true, schemaVersion: IDENTITY_STORE_SCHEMA_VERS
170
170
  const depValues = Object.values(installedPkg.dependencies || {});
171
171
  for (const v of depValues) {
172
172
  assert.equal(String(v).startsWith('file:../'), false, v);
173
- assert.equal(String(v).includes('/Users/samprimeaux'), false, v);
173
+ assert.equal(/\/Users\/[^/]+\//.test(String(v)), false, v);
174
174
  }
175
175
 
176
176
  // Packed tarball must include portable SQL + manifest
@@ -4,7 +4,7 @@ import path from 'node:path';
4
4
  import { describe, it } from 'node:test';
5
5
  import { fileURLToPath } from 'node:url';
6
6
  import { resolveOAuthCredentialLane } from '../src/oauth/credentials.js';
7
- import { resolveGoogleExchangeSecret } from '../src/oauth/google-desktop-exchange.js';
7
+ import { resolveGoogleExchangeSecret } from '../src/oauth/goaude.js';
8
8
  import { IdentityProviders } from '../src/contracts/provider.js';
9
9
  import { loadIdentityProviders, normalizeProviderTemplateId } from '../../../src/features/resolve.js';
10
10
 
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@inneranimalmedia/agentsam-provider-completeful",
3
- "version": "2.6.9",
3
+ "version": "2.6.11",
4
4
  "private": false,
5
5
  "description": "Portable Completeful provider adapter and AgentSam tool definitions.",
6
6
  "type": "module",
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@inneranimalmedia/theme-cypress",
3
- "version": "2.6.9",
4
- "description": "Real New Iberia Church of Christ public pages \u2014 visit, groups, mission, and giving.",
3
+ "version": "2.6.11",
4
+ "description": "Real New Iberia Church of Christ public pages — visit, groups, mission, and giving.",
5
5
  "type": "module",
6
6
  "main": "./src/index.js",
7
7
  "exports": {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@inneranimalmedia/theme-violet",
3
- "version": "2.6.9",
4
- "description": "Real Companions of Caddo public static surface \u2014 mission, campaigns, and involvement paths.",
3
+ "version": "2.6.11",
4
+ "description": "Real Companions of Caddo public static surface — mission, campaigns, and involvement paths.",
5
5
  "type": "module",
6
6
  "main": "./src/index.js",
7
7
  "exports": {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@inneranimalmedia/theme-grove",
3
- "version": "2.6.9",
4
- "description": "Real Anything Floors & More public site \u2014 services, gallery, process, and contact.",
3
+ "version": "2.6.11",
4
+ "description": "Real Anything Floors & More public site — services, gallery, process, and contact.",
5
5
  "type": "module",
6
6
  "main": "./src/index.js",
7
7
  "exports": {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@inneranimalmedia/theme-ember",
3
- "version": "2.6.9",
4
- "description": "Real Fuel & Free Time legacy storefront pages \u2014 home, shop, about, and community.",
3
+ "version": "2.6.11",
4
+ "description": "Real Fuel & Free Time legacy storefront pages — home, shop, about, and community.",
5
5
  "type": "module",
6
6
  "main": "./src/index.js",
7
7
  "exports": {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@inneranimalmedia/theme-forge",
3
- "version": "2.6.9",
4
- "description": "Real Primeaux Handyman PWA build \u2014 mobile-first service site with estimates and project proof.",
3
+ "version": "2.6.11",
4
+ "description": "Real Primeaux Handyman PWA build — mobile-first service site with estimates and project proof.",
5
5
  "type": "module",
6
6
  "main": "./src/index.js",
7
7
  "exports": {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@inneranimalmedia/theme-harbor",
3
- "version": "2.6.9",
4
- "description": "Real Chrystal Clear Insurance build \u2014 editorial insurance storefront with coverage storytelling and quote capture.",
3
+ "version": "2.6.11",
4
+ "description": "Real Chrystal Clear Insurance build — editorial insurance storefront with coverage storytelling and quote capture.",
5
5
  "type": "module",
6
6
  "main": "./src/index.js",
7
7
  "exports": {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@inneranimalmedia/theme-scenes",
3
- "version": "2.6.9",
3
+ "version": "2.6.11",
4
4
  "description": "Reusable scene / shell / block vocabulary for branded website experiences. BrandPack owns look; theme-scenes owns composition.",
5
5
  "type": "module",
6
6
  "license": "MIT",
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@inneranimalmedia/theme-summit",
3
- "version": "2.6.9",
4
- "description": "Real Shinshu Solutions static archive \u2014 services, gallery, and CMS-ready pages.",
3
+ "version": "2.6.11",
4
+ "description": "Real Shinshu Solutions static archive — services, gallery, and CMS-ready pages.",
5
5
  "type": "module",
6
6
  "main": "./src/index.js",
7
7
  "exports": {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@inneranimalmedia/agentsam-work-graph",
3
- "version": "2.6.9",
3
+ "version": "2.6.11",
4
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.",
5
5
  "type": "module",
6
6
  "main": "./src/index.js",