@mycadet/assistant 0.12.9 → 0.12.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 (658) hide show
  1. package/Dockerfile +0 -8
  2. package/eslint-rules/__tests__/cli-no-daemon-internals.test.ts +1 -1
  3. package/node_modules/@mycadet/ces-client/node_modules/@mycadet/service-contracts/src/__tests__/ingress.test.ts +8 -8
  4. package/node_modules/@mycadet/ces-client/node_modules/@mycadet/service-contracts/src/ingress.ts +1 -1
  5. package/node_modules/@mycadet/ces-client/src/http-credentials.ts +18 -1
  6. package/node_modules/@mycadet/gateway-client/node_modules/@mycadet/service-contracts/src/__tests__/ingress.test.ts +8 -8
  7. package/node_modules/@mycadet/gateway-client/node_modules/@mycadet/service-contracts/src/ingress.ts +1 -1
  8. package/node_modules/@mycadet/service-contracts/src/__tests__/ingress.test.ts +8 -8
  9. package/node_modules/@mycadet/service-contracts/src/ingress.ts +1 -1
  10. package/openapi.yaml +62 -910
  11. package/package.json +3 -7
  12. package/scripts/build-test-fixtures.ts +1 -1
  13. package/scripts/generate-openapi.ts +22 -6
  14. package/scripts/postinstall.ts +4 -10
  15. package/scripts/run-tests.ts +0 -21
  16. package/src/__tests__/adaptive-thinking-repair.test.ts +19 -57
  17. package/src/__tests__/agent-loop.test.ts +0 -76
  18. package/src/__tests__/anthropic-provider.test.ts +6 -6
  19. package/src/__tests__/assert-not-live-db.ts +1 -1
  20. package/src/__tests__/assistant-id-boundary-guard.test.ts +3 -3
  21. package/src/__tests__/attachments-store-heic-normalize.test.ts +1 -1
  22. package/src/__tests__/attachments-store.test.ts +1 -1
  23. package/src/__tests__/audit-log-rotation.test.ts +1 -1
  24. package/src/__tests__/btw-routes.test.ts +1 -1
  25. package/src/__tests__/byok-default-profile-ensure.test.ts +21 -27
  26. package/src/__tests__/call-conversation-messages.test.ts +0 -5
  27. package/src/__tests__/call-recovery.test.ts +2 -7
  28. package/src/__tests__/call-routes-http.test.ts +0 -12
  29. package/src/__tests__/call-store.test.ts +2 -7
  30. package/src/__tests__/catalog-files.test.ts +7 -5
  31. package/src/__tests__/checker.test.ts +1 -1
  32. package/src/__tests__/cli-memory-v2-reembed-skills.test.ts +4 -4
  33. package/src/__tests__/cloud-client-verify-credential.test.ts +0 -4
  34. package/src/__tests__/cloud-credential-catalog-cli.test.ts +14 -14
  35. package/src/__tests__/cloud-profile-guard.test.ts +87 -404
  36. package/src/__tests__/compaction-events.test.ts +2 -2
  37. package/src/__tests__/config-loader-backfill.test.ts +74 -163
  38. package/src/__tests__/config-loader-cloud-defaults.test.ts +11 -11
  39. package/src/__tests__/config-loader-corrupt.test.ts +10 -10
  40. package/src/__tests__/config-loader-quarantine-notice.test.ts +7 -7
  41. package/src/__tests__/config-loader-validation-reset-notice.test.ts +11 -11
  42. package/src/__tests__/config-schema.test.ts +26 -27
  43. package/src/__tests__/config-set-route.test.ts +2 -6
  44. package/src/__tests__/conversation-agent-loop-inference-profile.test.ts +28 -300
  45. package/src/__tests__/conversation-agent-loop-overflow.test.ts +39 -246
  46. package/src/__tests__/conversation-agent-loop.test.ts +2 -58
  47. package/src/__tests__/conversation-clear-safety.test.ts +0 -30
  48. package/src/__tests__/conversation-inference-profile-route.test.ts +1 -1
  49. package/src/__tests__/conversation-queue.test.ts +1 -1
  50. package/src/__tests__/conversation-runtime-assembly.test.ts +1 -1
  51. package/src/__tests__/conversation-skill-tools.test.ts +4 -444
  52. package/src/__tests__/conversation-slash-commands.test.ts +1 -1
  53. package/src/__tests__/conversation-store.test.ts +1 -84
  54. package/src/__tests__/conversation-surface-state.test.ts +0 -16
  55. package/src/__tests__/credential-health-service.test.ts +14 -1
  56. package/src/__tests__/credential-record-retire.test.ts +1 -1
  57. package/src/__tests__/credential-record-write-through.test.ts +1 -1
  58. package/src/__tests__/credential-security-invariants.test.ts +0 -145
  59. package/src/__tests__/custom-profile-ensure.test.ts +1 -1
  60. package/src/__tests__/default-profile-catalog-fallback.test.ts +5 -15
  61. package/src/__tests__/deterministic-verification-control-plane.test.ts +0 -2
  62. package/src/__tests__/dictation-profile-store.test.ts +6 -6
  63. package/src/__tests__/disk-usage.test.ts +28 -164
  64. package/src/__tests__/docker-signing-key-bootstrap.test.ts +1 -1
  65. package/src/__tests__/embedding-cloud-proxy-selection.test.ts +1 -1
  66. package/src/__tests__/emit-event-signal.test.ts +1 -1
  67. package/src/__tests__/gateway-client-cloud-outbound.test.ts +3 -3
  68. package/src/__tests__/gateway-only-enforcement.test.ts +1 -1
  69. package/src/__tests__/guardian-dispatch.test.ts +0 -13
  70. package/src/__tests__/helpers/seed-app.ts +1 -1
  71. package/src/__tests__/host-cu-routes-targeted.test.ts +1 -1
  72. package/src/__tests__/host-shell-tool.test.ts +1 -1
  73. package/src/__tests__/identity-routes.test.ts +1 -1
  74. package/src/__tests__/inference-profile-session-handler.test.ts +1 -1
  75. package/src/__tests__/inference-profile-session-ipc.test.ts +1 -1
  76. package/src/__tests__/injector-chain.test.ts +1 -1
  77. package/src/__tests__/injector-config-quarantine-notice.test.ts +1 -1
  78. package/src/__tests__/injector-config-validation-reset-notice.test.ts +1 -1
  79. package/src/__tests__/injector-pkb-v2-silenced.test.ts +1 -1
  80. package/src/__tests__/{platform.test.ts → layout.test.ts} +1 -1
  81. package/src/__tests__/list-all-apps.test.ts +1 -1
  82. package/src/__tests__/live-workspace-guard.test.ts +2 -2
  83. package/src/__tests__/llm-resolver-override-or-default.test.ts +5 -6
  84. package/src/__tests__/llm-resolver.test.ts +7 -7
  85. package/src/__tests__/llm-schema-fallback-profile.test.ts +9 -10
  86. package/src/__tests__/llm-usage-store.test.ts +0 -495
  87. package/src/__tests__/log-export-routes.test.ts +1 -1
  88. package/src/__tests__/mcp-config-secret-boundary.test.ts +12 -53
  89. package/src/__tests__/mcp-list-plugin-servers.test.ts +1 -1
  90. package/src/__tests__/memory-config-file-parity.test.ts +1 -1
  91. package/src/__tests__/memory-v2-static-injector.test.ts +1 -1
  92. package/src/__tests__/messages-read-boundary-guard.test.ts +0 -2
  93. package/src/__tests__/notification-guardian-path.test.ts +0 -7
  94. package/src/__tests__/onboarding-persona-write.test.ts +1 -1
  95. package/src/__tests__/openai-provider.test.ts +8 -8
  96. package/src/__tests__/path-policy.test.ts +1 -1
  97. package/src/__tests__/persona-resolver.test.ts +1 -1
  98. package/src/__tests__/plugin-app-serve-routes.test.ts +1 -1
  99. package/src/__tests__/plugin-effective-enabled-set.test.ts +1 -1
  100. package/src/__tests__/plugin-import-boundary-guard.test.ts +4 -6
  101. package/src/__tests__/plugin-import-boundary-reverse-guard.test.ts +0 -3
  102. package/src/__tests__/provider-cloud-proxy-integration.test.ts +1 -5
  103. package/src/__tests__/provider-connections-backfill.test.ts +10 -10
  104. package/src/__tests__/prune-old-conversations-job.test.ts +6 -31
  105. package/src/__tests__/resolve-app.test.ts +1 -1
  106. package/src/__tests__/run-due-schedules.test.ts +1 -1
  107. package/src/__tests__/scaffold-managed-skill-tool.test.ts +0 -53
  108. package/src/__tests__/schedule-routes.test.ts +1 -1
  109. package/src/__tests__/schedule-store.test.ts +1 -1
  110. package/src/__tests__/secret-routes-cloud-proxy.test.ts +1 -1
  111. package/src/__tests__/skill-load-plugin-scope.test.ts +1 -1
  112. package/src/__tests__/surface-completion-compaction-boundary.test.ts +1 -1
  113. package/src/__tests__/tool-approval-handler.test.ts +1 -1
  114. package/src/__tests__/tool-audit.test.ts +5 -235
  115. package/src/__tests__/tool-executor-lifecycle-events.test.ts +54 -114
  116. package/src/__tests__/tools-get-route.test.ts +1 -1
  117. package/src/__tests__/turn-outcome-read.test.ts +1 -1
  118. package/src/__tests__/twilio-routes.test.ts +0 -1
  119. package/src/__tests__/usage-attribution.test.ts +0 -31
  120. package/src/__tests__/verification-control-plane-policy.test.ts +3 -10
  121. package/src/__tests__/visible-app-context.test.ts +1 -1
  122. package/src/__tests__/voice-ingress-preflight.test.ts +1 -1
  123. package/src/__tests__/workspace-git-service.test.ts +1 -1
  124. package/src/__tests__/workspace-greetings.test.ts +1 -1
  125. package/src/acp/__tests__/helpers/acp-config-stub.ts +1 -1
  126. package/src/activation/progress-store.ts +1 -1
  127. package/src/activation/turn-hooks.ts +1 -1
  128. package/src/agent/loop.ts +0 -51
  129. package/src/apps/app-store.ts +1 -1
  130. package/src/avatar/__tests__/avatar-store.test.ts +2 -172
  131. package/src/avatar/accent-backfill.ts +1 -1
  132. package/src/avatar/avatar-manifest.ts +1 -1
  133. package/src/avatar/avatar-store.ts +10 -69
  134. package/src/avatar/ensure-raster.ts +1 -1
  135. package/src/avatar/identity-avatar.ts +1 -1
  136. package/src/avatar/sync-avatar.ts +1 -1
  137. package/src/avatar/traits-png-sync.ts +1 -1
  138. package/src/bundler/compiler-tools.ts +1 -1
  139. package/src/bundler/package-resolver.ts +1 -1
  140. package/src/calls/__tests__/call-controller.test.ts +25 -27
  141. package/src/calls/active-call-lease.ts +1 -1
  142. package/src/calls/call-controller.ts +3 -3
  143. package/src/calls/call-domain.ts +4 -8
  144. package/src/calls/call-store.ts +2 -76
  145. package/src/calls/resolve-call-tts-provider.ts +3 -3
  146. package/src/calls/twilio-config.ts +3 -3
  147. package/src/calls/twilio-rest.ts +2 -2
  148. package/src/calls/voice-ingress-preflight.ts +2 -2
  149. package/src/cli/bundled-modules.ts +0 -2
  150. package/src/cli/commands/__tests__/apps.test.ts +1 -1
  151. package/src/cli/commands/__tests__/plugins.test.ts +9 -66
  152. package/src/cli/commands/__tests__/ps.test.ts +67 -0
  153. package/src/cli/commands/auth.help.ts +2 -2
  154. package/src/cli/commands/avatar.ts +1 -1
  155. package/src/cli/commands/changelog.ts +1 -1
  156. package/src/cli/commands/cloud/__tests__/subscription.test.ts +2 -2
  157. package/src/cli/commands/cloud/index.help.ts +1 -1
  158. package/src/cli/commands/cloud/index.ts +2 -2
  159. package/src/cli/commands/db/refresh.ts +1 -1
  160. package/src/cli/commands/db/repair-step-conversation-backfill.ts +1 -1
  161. package/src/cli/commands/db/repair.ts +1 -1
  162. package/src/cli/commands/db/status.ts +1 -1
  163. package/src/cli/commands/inference-profiles.ts +1 -12
  164. package/src/cli/commands/memory/__tests__/memory-v3.test.ts +1 -116
  165. package/src/cli/commands/memory/index.help.ts +1 -43
  166. package/src/cli/commands/memory/memory-v3.ts +0 -64
  167. package/src/cli/commands/plugins.ts +54 -205
  168. package/src/cli/commands/ps.ts +5 -2
  169. package/src/cli/commands/status.ts +1 -1
  170. package/src/cli/index.help.ts +0 -2
  171. package/src/cli/lib/__tests__/inspect-plugin.test.ts +36 -66
  172. package/src/cli/lib/__tests__/install-from-cloud.test.ts +1 -1
  173. package/src/cli/lib/__tests__/install-from-github.test.ts +41 -117
  174. package/src/cli/lib/__tests__/plugin-catalog-cache.test.ts +2 -185
  175. package/src/cli/lib/__tests__/plugin-catalog-resolve.test.ts +36 -66
  176. package/src/cli/lib/__tests__/plugin-catalog-visibility.test.ts +4 -6
  177. package/src/cli/lib/__tests__/plugin-details.test.ts +113 -96
  178. package/src/cli/lib/__tests__/search-plugins.test.ts +9 -16
  179. package/src/cli/lib/__tests__/uninstall-plugin.test.ts +1 -1
  180. package/src/cli/lib/__tests__/upgrade-plugin.test.ts +38 -15
  181. package/src/cli/lib/diff-plugin.ts +1 -1
  182. package/src/cli/lib/inspect-plugin.ts +13 -97
  183. package/src/cli/lib/install-from-cloud.ts +1 -1
  184. package/src/cli/lib/install-from-github.ts +75 -154
  185. package/src/cli/lib/install-plugin-dependencies.ts +1 -1
  186. package/src/cli/lib/list-installed-plugins.ts +1 -1
  187. package/src/cli/lib/open-browser.ts +1 -1
  188. package/src/cli/lib/plugin-catalog-cache.ts +8 -51
  189. package/src/cli/lib/plugin-catalog-resolve.ts +3 -22
  190. package/src/cli/lib/plugin-details.ts +5 -27
  191. package/src/cli/lib/plugin-marketplace.ts +18 -266
  192. package/src/cli/lib/search-plugins.ts +23 -43
  193. package/src/cli/lib/toggle-plugin.ts +1 -1
  194. package/src/cli/lib/uninstall-plugin.ts +1 -1
  195. package/src/cli/lib/upgrade-plugin.ts +3 -49
  196. package/src/cli/program.ts +1 -3
  197. package/src/cli.ts +1 -1
  198. package/src/cloud/client.ts +0 -6
  199. package/src/cloud/consent-cache.test.ts +22 -201
  200. package/src/cloud/consent-cache.ts +16 -111
  201. package/src/cloud/sync-identity.ts +1 -1
  202. package/src/config/__tests__/chat-settings.test.ts +1 -1
  203. package/src/config/__tests__/cloud-identity.test.ts +15 -2
  204. package/src/config/__tests__/default-plugin-skill-discovery.test.ts +1 -1
  205. package/src/config/__tests__/default-profile-catalog.test.ts +12 -51
  206. package/src/config/__tests__/deployment-context-defaults.test.ts +13 -13
  207. package/src/config/__tests__/loader-callsite-strip-fallback.test.ts +4 -4
  208. package/src/config/__tests__/loader-last-known-good.test.ts +9 -9
  209. package/src/config/__tests__/loader-sparse-array-cleanup.test.ts +7 -7
  210. package/src/config/__tests__/plugin-resident-skill-discovery.test.ts +1 -1
  211. package/src/config/__tests__/profile-materialization.test.ts +2 -4
  212. package/src/config/__tests__/sync-gated-profiles.test.ts +1 -106
  213. package/src/config/acp-agent-write.ts +1 -1
  214. package/src/config/bundled-skills/settings/tools/open-system-settings.test.ts +1 -1
  215. package/src/config/bundled-skills/settings/tools/open-system-settings.ts +1 -1
  216. package/src/config/call-site-defaults.ts +0 -6
  217. package/src/config/cloud-identity.ts +12 -5
  218. package/src/config/composer-preferences.ts +1 -1
  219. package/src/config/default-profile-catalog.ts +8 -75
  220. package/src/config/default-profile-names.ts +2 -25
  221. package/src/config/env-registry.ts +1 -14
  222. package/src/config/env.ts +8 -6
  223. package/src/config/llm-resolver.ts +1 -2
  224. package/src/config/loader.ts +13 -17
  225. package/src/config/profile-materialization.ts +1 -1
  226. package/src/config/schema.ts +1 -7
  227. package/src/config/schemas/call-site-catalog.ts +0 -7
  228. package/src/config/schemas/llm.ts +25 -32
  229. package/src/config/seed-inference-profiles.ts +16 -17
  230. package/src/config/skills.ts +2 -2
  231. package/src/config/sync-gated-profiles.ts +6 -24
  232. package/src/credential-health/credential-health-service.ts +10 -3
  233. package/src/daemon/approval-generators.ts +3 -3
  234. package/src/daemon/config-watcher.ts +2 -2
  235. package/src/daemon/conversation-agent-loop-handlers.ts +0 -18
  236. package/src/daemon/conversation-agent-loop.ts +6 -97
  237. package/src/daemon/conversation-process.ts +1 -1
  238. package/src/daemon/conversation-skill-tools.ts +4 -72
  239. package/src/daemon/conversation-store.ts +1 -1
  240. package/src/daemon/conversation-surface-state.ts +0 -33
  241. package/src/daemon/conversation-surfaces.ts +1 -86
  242. package/src/daemon/conversation-tool-setup.test.ts +1 -1
  243. package/src/daemon/conversation-tool-setup.ts +0 -23
  244. package/src/daemon/conversation.ts +3 -5
  245. package/src/daemon/daemon-control.ts +3 -3
  246. package/src/daemon/dictation-profile-store.ts +3 -3
  247. package/src/daemon/event-loop-watchdog.test.ts +2 -198
  248. package/src/daemon/event-loop-watchdog.ts +0 -185
  249. package/src/daemon/external-plugins-bootstrap.ts +1 -1
  250. package/src/daemon/first-greeting.ts +1 -1
  251. package/src/daemon/handlers/skills.ts +1 -1
  252. package/src/daemon/host-app-control-proxy.ts +1 -1
  253. package/src/daemon/host-cu-proxy.ts +2 -2
  254. package/src/daemon/identity-helpers.ts +1 -1
  255. package/src/daemon/lifecycle.ts +11 -15
  256. package/src/daemon/main.ts +1 -1
  257. package/src/daemon/now-scratchpad.ts +1 -1
  258. package/src/daemon/process-message.ts +4 -4
  259. package/src/daemon/profiler-run-store.ts +2 -2
  260. package/src/daemon/providers-setup.ts +2 -2
  261. package/src/daemon/shutdown-handlers.ts +0 -10
  262. package/src/daemon/sqlite-corruption-watchdog.test.ts +2 -142
  263. package/src/daemon/sqlite-corruption-watchdog.ts +17 -81
  264. package/src/daemon/tool-side-effects.ts +1 -1
  265. package/src/desktop/desktop-session-manager.ts +1 -1
  266. package/src/desktop/desktop-wallpaper-renderer.ts +1 -1
  267. package/src/heartbeat/heartbeat-service.ts +1 -1
  268. package/src/home/feed-writer.ts +1 -1
  269. package/src/home/home-greeting-cache.ts +1 -1
  270. package/src/home/relationship-state-writer.ts +2 -2
  271. package/src/hooks/__tests__/hook-live-reload.test.ts +1 -1
  272. package/src/hooks/hook-loader.ts +2 -2
  273. package/src/inbound/__tests__/oauth-callback-url.test.ts +2 -2
  274. package/src/inbound/oauth-callback-url.ts +3 -3
  275. package/src/ipc/__tests__/attachment-ipc.test.ts +1 -1
  276. package/src/ipc/socket-path.ts +1 -1
  277. package/src/live-voice/__tests__/live-voice-archive.test.ts +1 -1
  278. package/src/live-voice/__tests__/live-voice-vad.test.ts +1 -1
  279. package/src/live-voice/live-voice-session.ts +3 -66
  280. package/src/mcp/__tests__/effective-config.test.ts +1 -1
  281. package/src/mcp/__tests__/mcp-oauth-client-registration.test.ts +2 -2
  282. package/src/mcp/__tests__/mcp-oauth-provider.test.ts +2 -3
  283. package/src/mcp/__tests__/reload-signal-emission.test.ts +1 -1
  284. package/src/mcp/__tests__/reload-signal.test.ts +1 -1
  285. package/src/mcp/__tests__/workspace-mcp-config.test.ts +19 -21
  286. package/src/mcp/reload-signal.ts +1 -1
  287. package/src/mcp/workspace-mcp-config.ts +1 -23
  288. package/src/messaging/draft-store.ts +1 -1
  289. package/src/monitoring/__tests__/active-conversations.test.ts +1 -1
  290. package/src/monitoring/__tests__/page-cache.test.ts +1 -1
  291. package/src/monitoring/__tests__/stall-capture.test.ts +1 -1
  292. package/src/monitoring/__tests__/workspace-git-heartbeat.test.ts +1 -1
  293. package/src/monitoring/active-conversations.ts +1 -1
  294. package/src/monitoring/control.ts +1 -1
  295. package/src/monitoring/daemon-boot-time.ts +1 -1
  296. package/src/monitoring/daemon-heartbeat.ts +1 -1
  297. package/src/monitoring/page-cache.ts +1 -1
  298. package/src/monitoring/plugin-auto-update.ts +1 -7
  299. package/src/monitoring/plugin-source-watch.ts +1 -1
  300. package/src/monitoring/recovery/db.ts +1 -1
  301. package/src/monitoring/recovery/inflight-content.ts +1 -1
  302. package/src/monitoring/resource-sampler.ts +3 -14
  303. package/src/monitoring/stall-capture.ts +1 -1
  304. package/src/monitoring/worker.ts +9 -76
  305. package/src/monitoring/workspace-git-heartbeat.ts +1 -1
  306. package/src/oauth/connect-orchestrator.ts +4 -4
  307. package/src/permissions/checker.ts +1 -1
  308. package/src/permissions/workspace-policy.ts +1 -1
  309. package/src/persistence/__tests__/main-db-readonly-probe.ts +27 -52
  310. package/src/persistence/__tests__/message-content-file.test.ts +1 -1
  311. package/src/persistence/__tests__/slow-sync-log.test.ts +0 -2
  312. package/src/persistence/attachments-store.ts +1 -1
  313. package/src/persistence/conversation-crud.ts +1 -38
  314. package/src/persistence/conversation-directories.ts +1 -1
  315. package/src/persistence/conversation-types.ts +0 -8
  316. package/src/persistence/db-async-query.ts +1 -1
  317. package/src/persistence/db-connection.ts +11 -1
  318. package/src/persistence/db-init.ts +1 -1
  319. package/src/persistence/db-maintenance.ts +1 -1
  320. package/src/persistence/embeddings/__tests__/embedding-local-lifecycle.test.ts +1 -1
  321. package/src/persistence/embeddings/embedding-local.ts +4 -4
  322. package/src/persistence/embeddings/embedding-runtime-manager.ts +1 -1
  323. package/src/persistence/embeddings/qdrant-client.ts +1 -1
  324. package/src/persistence/embeddings/qdrant-manager.ts +1 -1
  325. package/src/persistence/job-handlers/__tests__/message-lexical-backfill.test.ts +1 -1
  326. package/src/persistence/job-handlers/__tests__/message-lexical-enqueue.test.ts +1 -1
  327. package/src/persistence/job-handlers/cleanup.ts +8 -17
  328. package/src/persistence/llm-usage-store.ts +2 -229
  329. package/src/persistence/message-content-file.ts +1 -1
  330. package/src/persistence/migrations/209-strip-thinking-from-consolidated.ts +1 -1
  331. package/src/persistence/migrations/222-strip-placeholder-sentinels-from-messages.ts +1 -1
  332. package/src/persistence/migrations/296-rewrite-balanced-economy-profile-pins.test.ts +1 -1
  333. package/src/persistence/migrations/306-rewrite-frontier-profile-pins.test.ts +1 -1
  334. package/src/persistence/migrations/329-move-onboarding-events-to-telemetry-db.test.ts +13 -0
  335. package/src/persistence/migrations/330-move-auth-fallback-events-to-telemetry-db.test.ts +13 -0
  336. package/src/persistence/migrations/331-move-lifecycle-events-to-telemetry-db.test.ts +13 -0
  337. package/src/persistence/migrations/332-move-skill-loaded-events-to-telemetry-db.test.ts +13 -0
  338. package/src/persistence/migrations/333-create-telemetry-events-table.test.ts +7 -4
  339. package/src/persistence/migrations/334-backfill-telemetry-events-outbox.test.ts +13 -0
  340. package/src/persistence/migrations/387-drop-telemetry-tables.ts +51 -0
  341. package/src/persistence/migrations/__tests__/327-create-flush-checkpoints.test.ts +9 -1
  342. package/src/persistence/migrations/__tests__/387-drop-telemetry-tables.test.ts +79 -0
  343. package/src/persistence/migrations/helpers/relocation.ts +1 -1
  344. package/src/persistence/migrations/run-migrations.ts +1 -1
  345. package/src/persistence/migrations/validate-migration-state.ts +1 -1
  346. package/src/persistence/raw-query.ts +1 -29
  347. package/src/persistence/slow-sync-log.ts +0 -23
  348. package/src/persistence/steps.ts +2 -0
  349. package/src/{telemetry → persistence}/tool-audit.ts +6 -121
  350. package/src/plugin-api/index.ts +1 -1
  351. package/src/plugin-api/plugin-name-env.ts +1 -1
  352. package/src/plugins/__tests__/installed-plugin-dirs.test.ts +1 -1
  353. package/src/plugins/collect-source-versions.ts +1 -1
  354. package/src/plugins/defaults/channel/package.json +1 -1
  355. package/src/plugins/defaults/cloud-hosted/package.json +1 -1
  356. package/src/plugins/defaults/compaction/package.json +1 -1
  357. package/src/plugins/defaults/documents/package.json +1 -1
  358. package/src/plugins/defaults/empty-response/package.json +1 -1
  359. package/src/plugins/defaults/exploration-drift/package.json +1 -1
  360. package/src/plugins/defaults/image-fallback/package.json +1 -1
  361. package/src/plugins/defaults/image-recovery/package.json +1 -1
  362. package/src/plugins/defaults/max-tokens-continue/package.json +1 -1
  363. package/src/plugins/defaults/memory/__tests__/db-async-query.test.ts +1 -1
  364. package/src/plugins/defaults/memory/__tests__/db-maintenance.test.ts +1 -1
  365. package/src/plugins/defaults/memory/__tests__/memory-retrospective-job.test.ts +0 -82
  366. package/src/plugins/defaults/memory/__tests__/memory-retrospective-skill-card.test.ts +0 -41
  367. package/src/plugins/defaults/memory/__tests__/memory-tier-boundary-guard.test.ts +0 -2
  368. package/src/plugins/defaults/memory/memory-retrospective-job.ts +3 -52
  369. package/src/plugins/defaults/memory/memory-retrospective-skill-card.ts +0 -18
  370. package/src/plugins/defaults/memory/package.json +1 -1
  371. package/src/plugins/defaults/memory/paths.ts +4 -4
  372. package/src/plugins/defaults/memory/src/__tests__/memory-worker-routes.test.ts +1 -1
  373. package/src/plugins/defaults/memory/src/memory-v2-routes.ts +5 -5
  374. package/src/plugins/defaults/memory/src/memory-v3-routes.ts +0 -207
  375. package/src/plugins/defaults/memory/src/memory-worker-routes.ts +1 -1
  376. package/src/plugins/defaults/memory/startup.ts +1 -22
  377. package/src/plugins/defaults/memory/v3/__tests__/orchestrate.test.ts +2 -253
  378. package/src/plugins/defaults/memory/v3/orchestrate.ts +5 -129
  379. package/src/plugins/defaults/memory/worker-control.ts +1 -1
  380. package/src/plugins/defaults/memory/worker.ts +2 -2
  381. package/src/plugins/defaults/session/package.json +1 -1
  382. package/src/plugins/defaults/surface-completion-nudge/package.json +1 -1
  383. package/src/plugins/defaults/task-progress/package.json +1 -1
  384. package/src/plugins/defaults/task-progress-nudge/package.json +1 -1
  385. package/src/plugins/defaults/title-generate/package.json +1 -1
  386. package/src/plugins/defaults/tool-error/package.json +1 -1
  387. package/src/plugins/defaults/tool-result-truncate/package.json +1 -1
  388. package/src/plugins/defaults/turn-context/package.json +1 -1
  389. package/src/plugins/defaults/workspace/injectors.ts +1 -1
  390. package/src/plugins/defaults/workspace/package.json +1 -1
  391. package/src/plugins/disabled-state.ts +1 -1
  392. package/src/plugins/ensure-plugin-api-shim.ts +1 -1
  393. package/src/plugins/ensure-shared-dep-links.ts +1 -1
  394. package/src/plugins/installed-plugin-dirs.ts +1 -1
  395. package/src/plugins/mcp-servers.ts +7 -9
  396. package/src/plugins/mtime-cache.ts +2 -2
  397. package/src/plugins/source-versions.ts +1 -1
  398. package/src/prompts/bootstrap-cleanup.ts +1 -1
  399. package/src/prompts/persona-resolver.ts +1 -1
  400. package/src/prompts/sections.ts +2 -2
  401. package/src/prompts/system-prompt.ts +10 -42
  402. package/src/prompts/templates/BOOTSTRAP-ACTIVATION-RAIL.md +0 -37
  403. package/src/providers/__tests__/cadet-connection-routing.test.ts +2 -2
  404. package/src/providers/cadet/client.ts +1 -1
  405. package/src/providers/inference/__tests__/base-url-route-validation.test.ts +1 -1
  406. package/src/providers/inference/adapter-factory.ts +1 -1
  407. package/src/providers/inference/backfill.ts +3 -10
  408. package/src/providers/inference/profile-probe.ts +1 -1
  409. package/src/providers/retry.ts +0 -2
  410. package/src/providers/types.ts +0 -7
  411. package/src/providers/usage-tracking.ts +1 -1
  412. package/src/routes/__tests__/route-host.test.ts +1 -1
  413. package/src/routes/control.ts +1 -1
  414. package/src/routes/route-host-client.ts +1 -1
  415. package/src/routes/worker.ts +2 -2
  416. package/src/runtime/agent-wake.ts +1 -1
  417. package/src/runtime/assistant-stream-state.ts +1 -1
  418. package/src/runtime/auth/token-service.ts +1 -1
  419. package/src/runtime/background-job-runner.ts +1 -1
  420. package/src/runtime/middleware/twilio-validation.ts +2 -2
  421. package/src/runtime/routes/__tests__/app-pin-routes.test.ts +1 -1
  422. package/src/runtime/routes/__tests__/apps-refresh-route.test.ts +1 -1
  423. package/src/runtime/routes/__tests__/avatar-state-routes.test.ts +3 -33
  424. package/src/runtime/routes/__tests__/cloud-credits-routes.test.ts +5 -4
  425. package/src/runtime/routes/__tests__/cloud-invoice-routes.test.ts +4 -3
  426. package/src/runtime/routes/__tests__/conversation-query-routes.test.ts +72 -298
  427. package/src/runtime/routes/__tests__/default-plugin-routes.test.ts +1 -1
  428. package/src/runtime/routes/__tests__/deprecated-route-context.test.ts +15 -62
  429. package/src/runtime/routes/__tests__/inference-profiles-routes.test.ts +105 -12
  430. package/src/runtime/routes/__tests__/ingress-status-routes.test.ts +1 -1
  431. package/src/runtime/routes/__tests__/monitoring-routes.test.ts +1 -1
  432. package/src/runtime/routes/__tests__/plugins-routes.test.ts +47 -211
  433. package/src/runtime/routes/__tests__/route-host-worker-routes.test.ts +1 -1
  434. package/src/runtime/routes/__tests__/schedule-routes-disarm-reason.test.ts +1 -1
  435. package/src/runtime/routes/__tests__/schedule-worker-routes.test.ts +1 -1
  436. package/src/runtime/routes/__tests__/user-route-dispatcher-host.test.ts +1 -1
  437. package/src/runtime/routes/__tests__/user-route-dispatcher.test.ts +1 -1
  438. package/src/runtime/routes/__tests__/user-routes-cli.test.ts +1 -1
  439. package/src/runtime/routes/__tests__/user-routes-notices.test.ts +1 -1
  440. package/src/runtime/routes/__tests__/user-routes-request.test.ts +1 -1
  441. package/src/runtime/routes/app-management-routes.ts +1 -1
  442. package/src/runtime/routes/attachment-routes.ts +1 -1
  443. package/src/runtime/routes/audit-routes.ts +1 -1
  444. package/src/runtime/routes/avatar-routes.ts +3 -10
  445. package/src/runtime/routes/cloud-routes.ts +3 -3
  446. package/src/runtime/routes/content-source-routes.ts +1 -1
  447. package/src/runtime/routes/conversation-query-routes.ts +49 -706
  448. package/src/runtime/routes/conversation-routes.ts +1 -38
  449. package/src/runtime/routes/debug-routes.ts +1 -1
  450. package/src/runtime/routes/deprecated-route-context.ts +5 -61
  451. package/src/runtime/routes/heartbeat-routes.ts +1 -1
  452. package/src/runtime/routes/identity-routes.ts +1 -1
  453. package/src/runtime/routes/index.ts +0 -6
  454. package/src/runtime/routes/inference-profile-session-handler.ts +3 -3
  455. package/src/runtime/routes/inference-profiles-routes.ts +48 -21
  456. package/src/runtime/routes/inference-provider-connection-routes.ts +0 -1
  457. package/src/runtime/routes/llm-call-sites-routes.ts +3 -3
  458. package/src/runtime/routes/log-export/__tests__/installed-inventory.test.ts +1 -1
  459. package/src/runtime/routes/log-export/__tests__/workspace-allowlist-error-contract.test.ts +1 -1
  460. package/src/runtime/routes/log-export/__tests__/workspace-allowlist.test.ts +1 -1
  461. package/src/runtime/routes/log-export/workspace-allowlist.ts +1 -1
  462. package/src/runtime/routes/log-export-routes.ts +17 -15
  463. package/src/runtime/routes/migration-rollback-routes.ts +1 -1
  464. package/src/runtime/routes/migration-routes.ts +2 -3
  465. package/src/runtime/routes/monitoring-routes.ts +2 -2
  466. package/src/runtime/routes/oauth-providers.ts +5 -5
  467. package/src/runtime/routes/plugins-routes.ts +38 -163
  468. package/src/runtime/routes/profiler-routes.ts +1 -1
  469. package/src/runtime/routes/route-host-worker-routes.ts +1 -1
  470. package/src/runtime/routes/sanity-routes.ts +1 -1
  471. package/src/runtime/routes/schedule-routes.ts +1 -1
  472. package/src/runtime/routes/schedule-worker-routes.ts +1 -1
  473. package/src/runtime/routes/settings-routes.ts +1 -1
  474. package/src/runtime/routes/sounds-config-routes.ts +1 -1
  475. package/src/runtime/routes/surface-conversation-resolver.ts +1 -7
  476. package/src/runtime/routes/user-route-dispatcher.ts +1 -3
  477. package/src/runtime/routes/user-route-import.ts +1 -1
  478. package/src/runtime/routes/user-route-resolution.ts +1 -1
  479. package/src/runtime/routes/user-routes-cli.ts +1 -1
  480. package/src/runtime/routes/workspace-commit-routes.ts +1 -1
  481. package/src/runtime/routes/workspace-greetings.ts +1 -1
  482. package/src/runtime/routes/workspace-routes.ts +1 -1
  483. package/src/runtime/routes/workspace-utils.ts +1 -1
  484. package/src/runtime/sync/resource-sync-events.ts +1 -1
  485. package/src/schedule/__tests__/plugin-schedule-declarations.test.ts +1 -1
  486. package/src/schedule/__tests__/plugin-schedule-reconciler.test.ts +1 -1
  487. package/src/schedule/plugin-schedule-availability.ts +1 -1
  488. package/src/schedule/plugin-schedule-declarations.ts +1 -1
  489. package/src/schedule/run-script.ts +1 -1
  490. package/src/schedule/scheduler.ts +1 -11
  491. package/src/schedule/worker-control.ts +1 -1
  492. package/src/schedule/worker.ts +3 -3
  493. package/src/security/oauth2.ts +2 -2
  494. package/src/security/secret-allowlist.ts +1 -1
  495. package/src/signals/cancel.ts +1 -1
  496. package/src/signals/conversation-undo.ts +1 -1
  497. package/src/signals/emit-event.ts +1 -1
  498. package/src/signals/event-stream.ts +1 -1
  499. package/src/signals/user-message.ts +1 -1
  500. package/src/skills/catalog-install.ts +2 -1
  501. package/src/skills/clawhub.ts +1 -1
  502. package/src/skills/cloud-store.ts +1 -1
  503. package/src/skills/path-classifier.ts +1 -1
  504. package/src/skills/skill-history.ts +1 -1
  505. package/src/skills/skillssh-registry.ts +1 -1
  506. package/src/skills/uninstall.ts +1 -1
  507. package/src/skills/workspace-skill-md-signature.ts +1 -1
  508. package/src/subagent/manager.ts +1 -1
  509. package/src/theme/workspace-theme.ts +1 -1
  510. package/src/tools/browser/auth-cache.ts +1 -1
  511. package/src/tools/browser/browser-manager.ts +1 -1
  512. package/src/tools/browser/runtime-check.ts +1 -1
  513. package/src/tools/executor.ts +4 -4
  514. package/src/tools/filesystem/write.ts +1 -1
  515. package/src/tools/permission-checker.ts +2 -51
  516. package/src/tools/run-standalone.ts +1 -1
  517. package/src/tools/skills/format-input-schema.ts +1 -1
  518. package/src/tools/skills/load.ts +1 -1
  519. package/src/tools/skills/scaffold-cloud.ts +0 -32
  520. package/src/tools/terminal/safe-env.ts +1 -2
  521. package/src/tools/terminal/sanitized-bash.ts +1 -1
  522. package/src/tools/terminal/shell.ts +1 -1
  523. package/src/tools/tool-approval-handler.ts +4 -1
  524. package/src/tools/workflows/manage-workflows.ts +2 -2
  525. package/src/tools/workflows/run-workflow.test.ts +1 -1
  526. package/src/tools/workspace-tools/loader.ts +1 -1
  527. package/src/tts/synthesis-stream.ts +2 -2
  528. package/src/usage/attribution.ts +1 -11
  529. package/src/util/browser.ts +1 -1
  530. package/src/util/bun-runtime.ts +2 -1
  531. package/src/util/device-id.ts +1 -1
  532. package/src/util/disk-usage.ts +4 -139
  533. package/src/util/layout.ts +3 -3
  534. package/src/util/logger.ts +1 -1
  535. package/src/util/logs-db-path.ts +1 -1
  536. package/src/util/memory-db-path.ts +1 -1
  537. package/src/util/{platform.ts → os.ts} +5 -30
  538. package/src/util/process-tree.ts +19 -0
  539. package/src/util/sqlite3-runtime.ts +1 -1
  540. package/src/util/telemetry-db-path.ts +1 -1
  541. package/src/watcher/__tests__/engine.test.ts +0 -23
  542. package/src/watcher/engine.ts +0 -7
  543. package/src/windows-compiled-cli.ts +0 -4
  544. package/src/windows-compiled-worker-entry.ts +0 -6
  545. package/src/workflows/leaf-runner.test.ts +1 -1
  546. package/src/workflows/leaf-runner.ts +1 -1
  547. package/src/workflows/library.ts +1 -1
  548. package/src/workspace/adaptive-thinking-repair.ts +5 -24
  549. package/src/workspace/byok-default-profile-ensure.ts +24 -26
  550. package/src/workspace/custom-profile-ensure.ts +2 -2
  551. package/src/workspace/git-service.ts +1 -1
  552. package/src/workspace/hatched-date.ts +1 -1
  553. package/src/workspace/migrations/038-unify-llm-callsite-configs.ts +2 -2
  554. package/src/workspace/migrations/040-seed-latency-callsite-defaults.ts +1 -1
  555. package/src/workspace/migrations/050-seed-main-agent-opus-callsite.ts +1 -1
  556. package/src/workspace/migrations/077-seed-memory-router-callsite.ts +1 -1
  557. package/src/workspace/migrations/registry.ts +0 -4
  558. package/src/workspace/turn-commit.ts +1 -1
  559. package/docs/activation-funnel-telemetry.md +0 -324
  560. package/scripts/bundled-plugin-packages.ts +0 -154
  561. package/scripts/generate-bundled-plugin-packages.ts +0 -29
  562. package/src/__tests__/activation-early-marking.test.ts +0 -114
  563. package/src/__tests__/auth-fallback-events-store.test.ts +0 -99
  564. package/src/__tests__/config-get-vision-flag.test.ts +0 -139
  565. package/src/__tests__/conversation-surfaces-activation-emit.test.ts +0 -400
  566. package/src/__tests__/internal-telemetry-routes.test.ts +0 -213
  567. package/src/__tests__/telemetry-routes.test.ts +0 -182
  568. package/src/__tests__/turn-events-store.test.ts +0 -376
  569. package/src/__tests__/ui-channel-variants.test.ts +0 -53
  570. package/src/avatar/__tests__/avatar-changed-telemetry.test.ts +0 -217
  571. package/src/avatar/avatar-changed-telemetry.ts +0 -128
  572. package/src/calls/__tests__/call-funnel-telemetry.test.ts +0 -204
  573. package/src/cli/commands/telemetry.help.ts +0 -27
  574. package/src/cli/commands/telemetry.ts +0 -83
  575. package/src/cli/lib/__tests__/local-plugin-upgrade.test.ts +0 -251
  576. package/src/cli/lib/__tests__/plugin-catalog-local.test.ts +0 -113
  577. package/src/cli/lib/__tests__/plugin-marketplace.test.ts +0 -384
  578. package/src/cli/lib/__tests__/plugin-pin-history.test.ts +0 -164
  579. package/src/cli/lib/__tests__/plugins-install-offline.test.ts +0 -228
  580. package/src/cli/lib/bundled-marketplace.json +0 -1575
  581. package/src/cli/lib/bundled-plugin-packages.json +0 -827
  582. package/src/cli/lib/bundled-plugin-packages.ts +0 -87
  583. package/src/cli/lib/plugin-catalog-local.ts +0 -94
  584. package/src/cli/lib/plugin-pin-history.ts +0 -276
  585. package/src/cloud/feature-gate.ts +0 -8
  586. package/src/config/__tests__/cloud-rehydration.test.ts +0 -180
  587. package/src/config/cloud-rehydration.ts +0 -35
  588. package/src/daemon/__tests__/auto-profile-router.test.ts +0 -380
  589. package/src/daemon/auto-profile-router.ts +0 -428
  590. package/src/live-voice/__tests__/live-voice-session-telemetry.test.ts +0 -391
  591. package/src/monitoring/__tests__/db-integrity-sample.test.ts +0 -113
  592. package/src/monitoring/__tests__/oom-kill-reporter.test.ts +0 -374
  593. package/src/monitoring/db-integrity-check.ts +0 -163
  594. package/src/monitoring/db-integrity-sample.ts +0 -176
  595. package/src/monitoring/oom-kill-reporter.ts +0 -469
  596. package/src/onboarding/__tests__/onboarding-events-store.test.ts +0 -158
  597. package/src/onboarding/onboarding-events-store.ts +0 -296
  598. package/src/persistence/__tests__/raw-query-telemetry.test.ts +0 -76
  599. package/src/persistence/lifecycle-events-store.test.ts +0 -134
  600. package/src/persistence/lifecycle-events-store.ts +0 -110
  601. package/src/plugins/defaults/memory/__tests__/activation-session-store.test.ts +0 -76
  602. package/src/plugins/defaults/memory/activation-session-store.ts +0 -50
  603. package/src/plugins/defaults/memory/src/__tests__/memory-v3-gate-stats.test.ts +0 -281
  604. package/src/runtime/routes/auto-profile-routes.ts +0 -83
  605. package/src/runtime/routes/internal-telemetry-routes.ts +0 -142
  606. package/src/runtime/routes/telemetry-routes.ts +0 -274
  607. package/src/security/auth-fallback-events-store.ts +0 -57
  608. package/src/telemetry/__tests__/activation-funnel.test.ts +0 -95
  609. package/src/telemetry/__tests__/config-setting-events-store.test.ts +0 -63
  610. package/src/telemetry/__tests__/config-setting-snapshot.test.ts +0 -143
  611. package/src/telemetry/__tests__/flush-checkpoints.test.ts +0 -56
  612. package/src/telemetry/__tests__/live-voice-funnel.test.ts +0 -174
  613. package/src/telemetry/__tests__/outbox-test-harness.ts +0 -85
  614. package/src/telemetry/__tests__/phone-call-funnel.test.ts +0 -72
  615. package/src/telemetry/__tests__/telemetry-event-fixtures.ts +0 -282
  616. package/src/telemetry/__tests__/watchdog-events-store.test.ts +0 -71
  617. package/src/telemetry/activation-funnel.ts +0 -172
  618. package/src/telemetry/config-setting-events-store.ts +0 -40
  619. package/src/telemetry/config-setting-snapshot.ts +0 -170
  620. package/src/telemetry/flush-checkpoints.ts +0 -70
  621. package/src/telemetry/live-voice-funnel.ts +0 -185
  622. package/src/telemetry/memory-corpus-size.test.ts +0 -120
  623. package/src/telemetry/memory-corpus-size.ts +0 -184
  624. package/src/telemetry/memory-tier-reporter.test.ts +0 -195
  625. package/src/telemetry/memory-tier-reporter.ts +0 -130
  626. package/src/telemetry/phone-call-funnel.ts +0 -144
  627. package/src/telemetry/skill-loaded-events-store.test.ts +0 -93
  628. package/src/telemetry/skill-loaded-events-store.ts +0 -39
  629. package/src/telemetry/telemetry-event-sources.test.ts +0 -223
  630. package/src/telemetry/telemetry-event-sources.ts +0 -597
  631. package/src/telemetry/telemetry-events-outbox.test.ts +0 -375
  632. package/src/telemetry/telemetry-events-outbox.ts +0 -237
  633. package/src/telemetry/telemetry-main-db.ts +0 -48
  634. package/src/telemetry/telemetry-wire-source.json +0 -4
  635. package/src/telemetry/telemetry-wire-validation.test.ts +0 -157
  636. package/src/telemetry/telemetry-wire-validation.ts +0 -162
  637. package/src/telemetry/telemetry-wire.generated.ts +0 -483
  638. package/src/telemetry/tool-executed-events-store.test.ts +0 -210
  639. package/src/telemetry/tool-executed-events-store.ts +0 -102
  640. package/src/telemetry/trace-collection-policy.test.ts +0 -28
  641. package/src/telemetry/trace-collection-policy.ts +0 -30
  642. package/src/telemetry/turn-events-store.ts +0 -216
  643. package/src/telemetry/turn-trace-store.test.ts +0 -884
  644. package/src/telemetry/turn-trace-store.ts +0 -399
  645. package/src/telemetry/types.test.ts +0 -38
  646. package/src/telemetry/types.ts +0 -780
  647. package/src/telemetry/usage-telemetry-reporter.test.ts +0 -3445
  648. package/src/telemetry/usage-telemetry-reporter.ts +0 -566
  649. package/src/telemetry/watchdog-direct-emit.test.ts +0 -112
  650. package/src/telemetry/watchdog-direct-emit.ts +0 -104
  651. package/src/telemetry/watchdog-events-store.ts +0 -31
  652. package/src/tools/ui-surface/channel-variants.ts +0 -52
  653. package/src/watcher/__tests__/telemetry.test.ts +0 -178
  654. package/src/watcher/telemetry.ts +0 -93
  655. package/src/workspace/migrations/097-enable-adaptive-thinking-managed-profiles.ts +0 -165
  656. package/src/workspace/migrations/104-recheck-adaptive-thinking-model-implied-anthropic.ts +0 -151
  657. /package/src/{telemetry → persistence}/tool-usage-store.ts +0 -0
  658. /package/src/{telemetry → persistence}/turn-outcome.ts +0 -0
@@ -1,59 +1,33 @@
1
1
  /**
2
- * Read the curated plugin marketplace manifest from the canonical repo.
2
+ * Shared plugin source schemas and types for catalog-backed installs.
3
3
  *
4
- * The manifest at `plugins/marketplace.json` whitelists reviewed plugins so
5
- * they appear in `assistant plugins search` / the web catalog and become
6
- * installable by name. Its shape extends the Claude Code marketplace manifest
7
- * (https://code.claude.com/docs/en/plugin-marketplaces) with packages embedded
8
- * in the assistant distribution.
4
+ * The old local marketplace manifest (`plugins/marketplace.json`) and its
5
+ * GitHub fetcher are gone: the installable catalog is Cadet Cloud's
6
+ * (`GET /v1/plugins`, see {@link ./plugin-catalog-cloud}). What remains here
7
+ * is the contract every catalog source must satisfy when a name resolves to
8
+ * install coordinates.
9
9
  *
10
- * The manifest is both fetched from the repo at a git ref and bundled into the
11
- * assistant build. GitHub entries may grow without a new release. Local entries
12
- * can only resolve when their exact path and version are embedded in that
13
- * release.
14
- * Every external source pins an explicit `ref` that MUST be a full commit SHA:
15
- * the fetched code is locked to an immutable revision. Tags and branches are
16
- * rejected because they are mutable — an upstream owner could retag/repoint
10
+ * Every external source pins an explicit `ref` that MUST be a full commit
11
+ * SHA: the fetched code is locked to an immutable revision. Tags and branches
12
+ * are rejected because they are mutable — an upstream owner could retag/repoint
17
13
  * them to attacker code that the daemon would then `import()` (the install
18
- * tree is dynamically loaded). A SHA cannot be repointed, so the reviewed
19
- * manifest fully determines what gets executed.
20
- *
21
- * Designed for direct programmatic use with an injected `fetch`, mirroring
22
- * {@link ./search-plugins} and {@link ./install-from-github}.
14
+ * tree is dynamically loaded). A SHA cannot be repointed, so a reviewed
15
+ * catalog fully determines what gets executed.
23
16
  */
24
17
 
25
18
  import { z } from "zod";
26
19
 
27
- import type { FetchLike } from "./fetch-like.js";
28
- import { USER_AGENT } from "./user-agent.js";
29
-
30
- /** Canonical location of the marketplace manifest. */
31
- const MARKETPLACE_SOURCE_OWNER = "vargasjr-dev";
32
- const MARKETPLACE_SOURCE_REPO = "mycadet";
33
- const MARKETPLACE_FILE_PATH = "plugins/marketplace.json";
34
-
35
- /**
36
- * Canonical GitHub coordinates of the marketplace manifest, exported so
37
- * sibling readers (e.g. {@link ./plugin-pin-history}) resolve the same
38
- * `owner/repo:path` rather than re-declaring it.
39
- */
40
- export const MARKETPLACE_MANIFEST_LOCATION = {
41
- owner: MARKETPLACE_SOURCE_OWNER,
42
- repo: MARKETPLACE_SOURCE_REPO,
43
- path: MARKETPLACE_FILE_PATH,
44
- } as const;
45
-
46
20
  // ---------------------------------------------------------------------------
47
- // Manifest schema (subset of the Claude Code marketplace schema)
21
+ // Source schemas (subset of the Claude Code marketplace schema)
48
22
  // ---------------------------------------------------------------------------
49
23
 
50
24
  /** `owner/repo`, kebab/underscore/dot segments — matches GitHub's slug rules. */
51
25
  const REPO_SLUG_RE = /^[A-Za-z0-9_.-]+\/[A-Za-z0-9_.-]+$/;
52
26
  /** Install name: a single kebab-case path segment (same rule as the CLI). */
53
- const PLUGIN_NAME_RE = /^[a-z0-9][a-z0-9_-]*$/;
27
+ export const PLUGIN_NAME_RE = /^[a-z0-9][a-z0-9_-]*$/;
54
28
  /**
55
29
  * Full Git commit SHA — 40 hex chars (SHA-1) or 64 (SHA-256). External
56
- * marketplace refs must be a complete object name so the install is pinned to
30
+ * catalog refs must be a complete object name so the install is pinned to
57
31
  * an immutable revision; abbreviated SHAs, tags, and branches are all mutable
58
32
  * or ambiguous and are rejected.
59
33
  */
@@ -78,7 +52,7 @@ export const githubSourceSchema = z.object({
78
52
  /**
79
53
  * Immutable revision to fetch the plugin from. Must be a full commit SHA:
80
54
  * tags and branches are mutable, so allowing them would let an upstream
81
- * owner retarget a curated entry at code the daemon later `import()`s (RCE).
55
+ * owner retarget a curated entry at code the daemon later `import()` (RCE).
82
56
  * A full SHA pins the install to exactly the reviewed bytes.
83
57
  */
84
58
  ref: z
@@ -89,32 +63,7 @@ export const githubSourceSchema = z.object({
89
63
  ),
90
64
  });
91
65
 
92
- /**
93
- * A plugin package shipped inside the assistant distribution. The path is a
94
- * key into the generated bundled-package map, never a path resolved from the
95
- * current working directory.
96
- */
97
- export const localSourceSchema = z.object({
98
- source: z.literal("local"),
99
- path: z
100
- .string()
101
- .regex(/^plugins\/[A-Za-z0-9_.-]+(?:\/[A-Za-z0-9_.-]+)+$/)
102
- .refine(
103
- (path) =>
104
- !path
105
- .split(/[/\\]/)
106
- .some((segment) => segment === "." || segment === ".."),
107
- "path must be a clean bundled-package path",
108
- ),
109
- version: z.string().min(1),
110
- repo: z.never().optional(),
111
- ref: z.never().optional(),
112
- });
113
-
114
- export const marketplaceSourceSchema = z.discriminatedUnion("source", [
115
- githubSourceSchema,
116
- localSourceSchema,
117
- ]);
66
+ export const marketplaceSourceSchema = githubSourceSchema;
118
67
 
119
68
  export const mcpIntegrationSchema = z.object({
120
69
  kind: z.literal("mcp"),
@@ -140,7 +89,7 @@ export const mcpIntegrationSchema = z.object({
140
89
  oauthProvider: z.string().regex(PLUGIN_NAME_RE).optional(),
141
90
  });
142
91
 
143
- const marketplaceEntrySchema = z.object({
92
+ export const marketplaceEntrySchema = z.object({
144
93
  /** Install name. `assistant plugins install <name>` resolves to this entry. */
145
94
  name: z.string().regex(PLUGIN_NAME_RE, "expected a kebab-case install name"),
146
95
  source: marketplaceSourceSchema,
@@ -165,34 +114,6 @@ const marketplaceEntrySchema = z.object({
165
114
  integration: mcpIntegrationSchema.optional(),
166
115
  });
167
116
 
168
- const marketplaceManifestBaseSchema = z.object({
169
- name: z.string(),
170
- owner: z
171
- .object({
172
- name: z.string(),
173
- url: z.string().optional(),
174
- email: z.string().optional(),
175
- })
176
- .optional(),
177
- });
178
-
179
- export const marketplaceManifestSchema = marketplaceManifestBaseSchema.extend({
180
- plugins: z.array(marketplaceEntrySchema),
181
- });
182
-
183
- const fetchedMarketplaceManifestSchema = marketplaceManifestBaseSchema.extend({
184
- plugins: z.array(z.unknown()),
185
- });
186
-
187
- const marketplaceSourceDiscriminatorSchema = z.object({
188
- source: z.object({ source: z.unknown() }),
189
- });
190
-
191
- function readSourceDiscriminator(entry: unknown): unknown {
192
- const parsed = marketplaceSourceDiscriminatorSchema.safeParse(entry);
193
- return parsed.success ? parsed.data.source.source : null;
194
- }
195
-
196
117
  /** A single reviewed plugin entry. */
197
118
  export type MarketplaceEntry = z.infer<typeof marketplaceEntrySchema>;
198
119
 
@@ -207,173 +128,4 @@ export interface ResolvedGitHubPluginSource {
207
128
  readonly ref: string;
208
129
  }
209
130
 
210
- /** Concrete bundled-package coordinates an entry resolves to for install. */
211
- export interface ResolvedLocalPluginSource {
212
- readonly kind: "local";
213
- readonly path: string;
214
- readonly version: string;
215
- }
216
-
217
- export type ResolvedPluginSource =
218
- | ResolvedGitHubPluginSource
219
- | ResolvedLocalPluginSource;
220
-
221
- /** Options controlling which marketplace revision to read. */
222
- export interface FetchMarketplaceOptions {
223
- /** Ref of the canonical repo to read the manifest from. */
224
- readonly ref: string;
225
- }
226
-
227
- /** Dependencies injected by the caller. */
228
- export interface FetchMarketplaceDeps {
229
- /** HTTP client. Production callers pass `globalThis.fetch.bind(globalThis)`. */
230
- readonly fetch: FetchLike;
231
- }
232
-
233
- /**
234
- * The manifest could not be read or did not validate. Distinct from "no
235
- * manifest at this ref" (a missing file is a normal, empty result) — this
236
- * signals an upstream/parse problem the caller must surface.
237
- *
238
- * `transient` distinguishes a retryable upstream hiccup (GitHub rate-limited
239
- * us or returned a 5xx) from a hard failure (a malformed or invalid manifest).
240
- * The catalog is the source of truth for installable plugins, so a transient
241
- * fetch failure should map to a retryable 503 and serve a stale cache, while a
242
- * hard failure surfaces as a real error.
243
- */
244
- export class MarketplaceFetchError extends Error {
245
- /** Whether the failure is a retryable upstream hiccup vs a hard error. */
246
- readonly transient: boolean;
247
- /** Upstream HTTP status, when the failure originated from a response. */
248
- readonly status?: number;
249
- constructor(
250
- message: string,
251
- opts?: { transient?: boolean; status?: number },
252
- ) {
253
- super(message);
254
- this.name = "MarketplaceFetchError";
255
- this.transient = opts?.transient ?? false;
256
- if (opts?.status !== undefined) {
257
- this.status = opts.status;
258
- }
259
- }
260
- }
261
-
262
- /**
263
- * Classify an upstream GitHub status as transient (worth retrying) vs hard.
264
- * A 429 or 5xx is always transient. A 403 is GitHub's unauthenticated
265
- * rate-limit signal only when the remaining-quota header is exhausted — a 403
266
- * without it is a genuine authorization failure and stays hard.
267
- */
268
- function isTransientUpstreamStatus(res: Response): boolean {
269
- if (res.status === 429 || res.status >= 500) {
270
- return true;
271
- }
272
- if (res.status === 403) {
273
- return res.headers.get("x-ratelimit-remaining") === "0";
274
- }
275
- return false;
276
- }
277
-
278
- /**
279
- * Fetch and validate the marketplace manifest, returning its plugin entries.
280
- *
281
- * A missing manifest (HTTP 404) is treated as an empty whitelist — an empty
282
- * catalog is a valid state, not an error. Any other HTTP failure, a non-JSON
283
- * body, or a schema violation throws {@link MarketplaceFetchError}; a
284
- * rate-limit or 5xx is flagged `transient` so the caller can retry.
285
- */
286
- export async function fetchMarketplaceEntries(
287
- deps: FetchMarketplaceDeps,
288
- opts: FetchMarketplaceOptions,
289
- ): Promise<readonly MarketplaceEntry[]> {
290
- const { ref } = opts;
291
- const url =
292
- `https://api.github.com/repos/${MARKETPLACE_SOURCE_OWNER}/${MARKETPLACE_SOURCE_REPO}` +
293
- `/contents/${MARKETPLACE_FILE_PATH}?ref=${encodeURIComponent(ref)}`;
294
-
295
- const res = await deps.fetch(url, {
296
- headers: {
297
- // Ask for the raw file body rather than the base64-wrapped Contents
298
- // envelope, so the response text is the manifest JSON directly.
299
- Accept: "application/vnd.github.raw",
300
- "User-Agent": USER_AGENT,
301
- },
302
- });
303
-
304
- if (res.status === 404) {
305
- return [];
306
- }
307
- if (!res.ok) {
308
- throw new MarketplaceFetchError(
309
- `Marketplace manifest fetch failed for ${MARKETPLACE_FILE_PATH} @ ${ref}: HTTP ${res.status}`,
310
- { transient: isTransientUpstreamStatus(res), status: res.status },
311
- );
312
- }
313
-
314
- let json: unknown;
315
- try {
316
- json = JSON.parse(await res.text());
317
- } catch (err) {
318
- throw new MarketplaceFetchError(
319
- `Marketplace manifest is not valid JSON: ${
320
- err instanceof Error ? err.message : String(err)
321
- }`,
322
- );
323
- }
324
-
325
- const parsed = fetchedMarketplaceManifestSchema.safeParse(json);
326
- if (!parsed.success) {
327
- throw new MarketplaceFetchError(
328
- `Marketplace manifest failed validation: ${parsed.error.message}`,
329
- );
330
- }
331
- const entries: MarketplaceEntry[] = [];
332
- for (const rawEntry of parsed.data.plugins) {
333
- const sourceKind = readSourceDiscriminator(rawEntry);
334
- if (
335
- typeof sourceKind === "string" &&
336
- sourceKind !== "github" &&
337
- sourceKind !== "local"
338
- ) {
339
- continue;
340
- }
341
- const entry = marketplaceEntrySchema.safeParse(rawEntry);
342
- if (!entry.success) {
343
- throw new MarketplaceFetchError(
344
- `Marketplace manifest failed validation: ${entry.error.message}`,
345
- );
346
- }
347
- entries.push(entry.data);
348
- }
349
- return entries;
350
- }
351
-
352
- /**
353
- * Resolve a plugin name to its exact source using the supplied marketplace
354
- * entries. Returns `null` when no entry claims the name.
355
- */
356
- export function resolveMarketplaceSource(
357
- name: string,
358
- entries: readonly MarketplaceEntry[],
359
- ): ResolvedPluginSource | null {
360
- const entry = entries.find((e) => e.name === name);
361
- if (!entry) {
362
- return null;
363
- }
364
- if (entry.source.source === "local") {
365
- return {
366
- kind: "local",
367
- path: entry.source.path,
368
- version: entry.source.version,
369
- };
370
- }
371
- const [owner, repo] = entry.source.repo.split("/", 2) as [string, string];
372
- return {
373
- kind: "github",
374
- owner,
375
- repo,
376
- path: entry.source.path ?? "",
377
- ref: entry.source.ref,
378
- };
379
- }
131
+ export type ResolvedPluginSource = ResolvedGitHubPluginSource;
@@ -2,8 +2,8 @@
2
2
  * Filtering and projection helpers for the installable plugin catalog.
3
3
  *
4
4
  * The catalog itself is resolved by {@link ./plugin-catalog-cache}
5
- * (`getPluginCatalog`), which is platform-first with a bundled offline
6
- * fallback. This module owns the query semantics on top of a resolved
5
+ * (`getPluginCatalog`), which fetches it from Cadet Cloud. This module owns
6
+ * the query semantics on top of a resolved
7
7
  * catalog: compile a pattern, filter entries by name, and project a raw
8
8
  * marketplace entry onto the catalog match shape.
9
9
  *
@@ -24,24 +24,15 @@ export interface SearchPluginsDeps {
24
24
  }
25
25
 
26
26
  /** Where a catalog match comes from. */
27
- export type PluginMatchSource =
28
- | {
29
- readonly kind: "github";
30
- /** `owner/repo` of the external plugin repository. */
31
- readonly repo: string;
32
- /** Directory within the repo, when the plugin is not at the root. */
33
- readonly path?: string;
34
- /** Pinned git ref the plugin is fetched from. */
35
- readonly ref: string;
36
- }
37
- | {
38
- readonly kind: "local";
39
- /** Exact package key in the assistant's embedded plugin bundle. */
40
- readonly path: string;
41
- readonly version: string;
42
- readonly repo?: undefined;
43
- readonly ref?: undefined;
44
- };
27
+ export type PluginMatchSource = {
28
+ readonly kind: "github";
29
+ /** `owner/repo` of the external plugin repository. */
30
+ readonly repo: string;
31
+ /** Directory within the repo, when the plugin is not at the root. */
32
+ readonly path?: string;
33
+ /** Pinned git ref the plugin is fetched from. */
34
+ readonly ref: string;
35
+ };
45
36
 
46
37
  export interface McpPluginIntegration {
47
38
  readonly kind: "mcp";
@@ -149,29 +140,18 @@ export interface PluginCatalog {
149
140
  * Project a marketplace entry onto the catalog match shape, building a
150
141
  * a source-specific locator for display.
151
142
  *
152
- * Shared by the cloud fetcher and bundled reader so all catalog sources
153
- * project entries identically.
143
+ * Shared by the cloud fetcher so all catalog entries project identically.
154
144
  */
155
145
  export function marketplaceMatch(entry: MarketplaceEntry): PluginSearchMatch {
156
- const source: PluginMatchSource =
157
- entry.source.source === "github"
158
- ? {
159
- kind: "github",
160
- repo: entry.source.repo,
161
- path: entry.source.path,
162
- ref: entry.source.ref,
163
- }
164
- : {
165
- kind: "local",
166
- path: entry.source.path,
167
- version: entry.source.version,
168
- };
169
- const locator =
170
- source.kind === "github"
171
- ? `github:${source.repo}${source.path ? `/${source.path}` : ""}@${
172
- source.ref
173
- }`
174
- : `local:${source.path}@${source.version}`;
146
+ const source: PluginMatchSource = {
147
+ kind: "github",
148
+ repo: entry.source.repo,
149
+ path: entry.source.path,
150
+ ref: entry.source.ref,
151
+ };
152
+ const locator = `github:${source.repo}${
153
+ source.path ? `/${source.path}` : ""
154
+ }@${source.ref}`;
175
155
  return {
176
156
  name: entry.name,
177
157
  path: locator,
@@ -190,8 +170,8 @@ export function marketplaceMatch(entry: MarketplaceEntry): PluginSearchMatch {
190
170
  * (first occurrence wins), map via {@link marketplaceMatch}, and return
191
171
  * sorted alphabetically by name.
192
172
  *
193
- * Shared by every catalog source (platform fetcher, bundled reader) so they
194
- * dedupe, project, and order entries identically.
173
+ * Shared by the cloud fetcher so entries dedupe, project, and order
174
+ * identically.
195
175
  */
196
176
  export function projectMarketplaceEntries(
197
177
  entries: Iterable<MarketplaceEntry>,
@@ -26,7 +26,7 @@ import {
26
26
  } from "node:fs";
27
27
  import { join } from "node:path";
28
28
 
29
- import { getWorkspacePluginsDir } from "../../util/platform.js";
29
+ import { getWorkspacePluginsDir } from "../../util/layout.js";
30
30
 
31
31
  const DISABLED_FILE = ".disabled";
32
32
 
@@ -18,7 +18,7 @@ import { runShutdownHook } from "../../hooks/hook-loader.js";
18
18
  import { MESSAGE_KEYS, t } from "../../i18n/index.js";
19
19
  import { isPluginDisabled } from "../../plugins/disabled-state.js";
20
20
  import { PLUGIN_MCP_MANIFEST } from "../../plugins/mcp-servers.js";
21
- import { getWorkspacePluginsDir } from "../../util/platform.js";
21
+ import { getWorkspacePluginsDir } from "../../util/layout.js";
22
22
  import {
23
23
  InvalidPluginNameError,
24
24
  readInstallMeta,
@@ -49,7 +49,7 @@ import { dirname, join } from "node:path";
49
49
 
50
50
  import { runShutdownHook } from "../../hooks/hook-loader.js";
51
51
  import { PRESERVED_ENTRIES } from "../../plugins/plugin-tree-walk.js";
52
- import { getWorkspacePluginsDir } from "../../util/platform.js";
52
+ import { getWorkspacePluginsDir } from "../../util/layout.js";
53
53
  import type { FetchLike } from "./fetch-like.js";
54
54
  import {
55
55
  fetchCommitDate,
@@ -64,7 +64,6 @@ import {
64
64
  finalizeStagedInstall,
65
65
  type GitRunner,
66
66
  installPlugin,
67
- type InstallPluginDeps,
68
67
  isFullCommitSha,
69
68
  materializePluginTree,
70
69
  type PluginFetchSource,
@@ -95,7 +94,6 @@ import {
95
94
  type PluginUpgradeStrategy,
96
95
  } from "./plugin-constants.js";
97
96
  import { computeFingerprint, fingerprintsEqual } from "./plugin-fingerprint.js";
98
- import type { PluginCatalog } from "./search-plugins.js";
99
97
  import { PluginNotInstalledError } from "./uninstall-plugin.js";
100
98
 
101
99
  /**
@@ -169,8 +167,6 @@ export interface UpgradePluginDeps {
169
167
  * upgrades alike; dry runs and no-ops never stage, so it is not invoked.
170
168
  */
171
169
  readonly confirmStaged?: ConfirmStagedInstall;
172
- readonly materializeLocalPackage?: InstallPluginDeps["materializeLocalPackage"];
173
- readonly localCatalog?: PluginCatalog;
174
170
  }
175
171
 
176
172
  /** Result of an upgrade attempt. */
@@ -324,7 +320,6 @@ export async function upgradePlugin(
324
320
  {
325
321
  fetch: deps.fetch,
326
322
  workspacePluginsDir: deps.workspacePluginsDir,
327
- localCatalog: deps.localCatalog,
328
323
  },
329
324
  );
330
325
  } catch (err) {
@@ -381,19 +376,6 @@ export async function upgradePlugin(
381
376
  const toTimestamp = remote.committedAt;
382
377
  const provenanceWasUnknown = inspection.status === "unknown-provenance";
383
378
 
384
- const localSource = local.source;
385
- const sourceChanged =
386
- remote.kind === "local"
387
- ? localSource?.kind !== "local" || localSource.path !== remote.path
388
- : localSource?.kind === "local";
389
- if (sourceChanged) {
390
- throw new PluginNotUpgradableError(
391
- name,
392
- "its marketplace source changed; reinstall explicitly with 'plugins install " +
393
- `${name} --force' to accept the new source`,
394
- );
395
- }
396
-
397
379
  if (inspection.status === "up-to-date") {
398
380
  return {
399
381
  name,
@@ -414,21 +396,6 @@ export async function upgradePlugin(
414
396
 
415
397
  const usesMergeStrategy =
416
398
  strategy === "ours" || strategy === "theirs" || strategy === "assistant";
417
- const canOverwriteCleanBundledInstall =
418
- remote.kind === "local" &&
419
- strategy === "theirs" &&
420
- local.localChanges?.clean === true;
421
-
422
- if (
423
- remote.kind === "local" &&
424
- usesMergeStrategy &&
425
- !canOverwriteCleanBundledInstall
426
- ) {
427
- throw new PluginMergeBaselineError(
428
- name,
429
- "bundled packages do not retain the previous package version needed for a three-way merge",
430
- );
431
- }
432
399
 
433
400
  if (dryRun) {
434
401
  return {
@@ -451,7 +418,7 @@ export async function upgradePlugin(
451
418
  // `ours`/`theirs`/`assistant` carry local edits forward via a three-way
452
419
  // merge; the default `overwrite` discards them and re-installs the pin
453
420
  // wholesale.
454
- if (usesMergeStrategy && remote.kind !== "local") {
421
+ if (usesMergeStrategy) {
455
422
  const [remoteOwner, remoteRepo] = remote.repo.split("/");
456
423
  return mergeUpgrade(
457
424
  {
@@ -480,19 +447,7 @@ export async function upgradePlugin(
480
447
  }
481
448
 
482
449
  const result = await installPlugin(
483
- {
484
- name,
485
- force: true,
486
- ...(remote.kind === "local"
487
- ? {
488
- trustedSource: {
489
- kind: "local" as const,
490
- path: remote.path,
491
- version: remote.version ?? remote.commit,
492
- },
493
- }
494
- : {}),
495
- },
450
+ { name, force: true },
496
451
  {
497
452
  fetch: deps.fetch,
498
453
  workspacePluginsDir: deps.workspacePluginsDir,
@@ -501,7 +456,6 @@ export async function upgradePlugin(
501
456
  runInstallDeps: deps.runInstallDeps,
502
457
  beforeSwap: deps.beforeSwap,
503
458
  confirmStaged: deps.confirmStaged,
504
- materializeLocalPackage: deps.materializeLocalPackage,
505
459
  },
506
460
  );
507
461
 
@@ -3,7 +3,7 @@ import { existsSync } from "node:fs";
3
3
  import { Command } from "commander";
4
4
 
5
5
  import { initFeatureFlagOverrides } from "../config/assistant-feature-flags.js";
6
- import { getWorkspaceDir } from "../util/platform.js";
6
+ import { getWorkspaceDir } from "../util/layout.js";
7
7
  import { APP_VERSION } from "../version.js";
8
8
  import { registerAppsCommand } from "./commands/apps.js";
9
9
  import { registerAttachmentCommand } from "./commands/attachment.js";
@@ -47,7 +47,6 @@ import { registerSequenceCommand } from "./commands/sequence.js";
47
47
  import { registerSkillsCommand } from "./commands/skills.js";
48
48
  import { registerStatusCommand } from "./commands/status.js";
49
49
  import { registerSttCommand } from "./commands/stt.js";
50
- import { registerTelemetryCommand } from "./commands/telemetry.js";
51
50
  import { registerToolsCommand } from "./commands/tools.js";
52
51
  import { registerTrustCommand } from "./commands/trust.js";
53
52
  import { registerTtsCommand } from "./commands/tts.js";
@@ -145,7 +144,6 @@ Examples:
145
144
  registerStatusCommand(program);
146
145
  registerSkillsCommand(program);
147
146
  registerSttCommand(program);
148
- registerTelemetryCommand(program);
149
147
  registerToolsCommand(program);
150
148
  registerTrustCommand(program);
151
149
  registerTtsCommand(program);
package/src/cli.ts CHANGED
@@ -34,7 +34,7 @@ import {
34
34
  watchEventStream,
35
35
  } from "./signals/event-stream.js";
36
36
  import { formatDiff, formatNewFileDiff } from "./util/diff.js";
37
- import { getHistoryPath, getSignalsDir } from "./util/platform.js";
37
+ import { getHistoryPath, getSignalsDir } from "./util/layout.js";
38
38
  import { Spinner } from "./util/spinner.js";
39
39
  import { timeAgo } from "./util/time.js";
40
40
  import { truncate } from "./util/truncate.js";
@@ -12,7 +12,6 @@ import { resolveCloudProxyContext } from "../providers/cloud-proxy/context.js";
12
12
  import { credentialKey } from "../security/credential-key.js";
13
13
  import { getSecureKeyAsync } from "../security/secure-keys.js";
14
14
  import { getLogger } from "../util/logger.js";
15
- import { areCloudFeaturesEnabled } from "./feature-gate.js";
16
15
 
17
16
  const log = getLogger("cloud-client");
18
17
 
@@ -54,11 +53,6 @@ interface CloudClientConfig {
54
53
  * key). The assistant ID is resolved but not required.
55
54
  */
56
55
  async function resolveCloudClientConfig(): Promise<CloudClientConfig | null> {
57
- if (!areCloudFeaturesEnabled()) {
58
- log.debug("platform features disabled -- returning null");
59
- return null;
60
- }
61
-
62
56
  const ctx = await resolveCloudProxyContext();
63
57
 
64
58
  const baseUrl = ctx.enabled ? ctx.cloudBaseUrl : "";