@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
@@ -160,7 +160,6 @@ describe("ASK_GUARDIAN notification path", () => {
160
160
  ensureConversation(convId);
161
161
 
162
162
  const session = createCallSession({
163
- direction: "inbound",
164
163
  conversationId: convId,
165
164
  provider: "twilio",
166
165
  fromNumber: "+15550001111",
@@ -221,7 +220,6 @@ describe("ASK_GUARDIAN notification path", () => {
221
220
  };
222
221
 
223
222
  const session = createCallSession({
224
- direction: "inbound",
225
223
  conversationId: convId,
226
224
  provider: "twilio",
227
225
  fromNumber: "+15550001111",
@@ -265,7 +263,6 @@ describe("ASK_GUARDIAN notification path", () => {
265
263
  };
266
264
 
267
265
  const session = createCallSession({
268
- direction: "inbound",
269
266
  conversationId: convId,
270
267
  provider: "twilio",
271
268
  fromNumber: "+15550001111",
@@ -311,7 +308,6 @@ describe("ASK_GUARDIAN notification path", () => {
311
308
  };
312
309
 
313
310
  const session = createCallSession({
314
- direction: "inbound",
315
311
  conversationId: convId,
316
312
  provider: "twilio",
317
313
  fromNumber: "+15550001111",
@@ -342,7 +338,6 @@ describe("ASK_GUARDIAN notification path", () => {
342
338
  ensureConversation(convId);
343
339
 
344
340
  const session = createCallSession({
345
- direction: "inbound",
346
341
  conversationId: convId,
347
342
  provider: "twilio",
348
343
  fromNumber: "+15550001111",
@@ -375,7 +370,6 @@ describe("ASK_GUARDIAN notification path", () => {
375
370
  const sharedConvId = "conv-guardian-shared-thread";
376
371
 
377
372
  const session = createCallSession({
378
- direction: "inbound",
379
373
  conversationId: convId,
380
374
  provider: "twilio",
381
375
  fromNumber: "+15550001111",
@@ -469,7 +463,6 @@ describe("ASK_GUARDIAN notification path", () => {
469
463
  };
470
464
 
471
465
  const session = createCallSession({
472
- direction: "inbound",
473
466
  conversationId: convId,
474
467
  provider: "twilio",
475
468
  fromNumber: "+15550001111",
@@ -3,7 +3,7 @@
3
3
  *
4
4
  * The function writes a cloud `## Onboarding Context` section to the
5
5
  * guardian persona file (with a fallback chain). These tests stub
6
- * `util/platform.js` and `contacts/contact-store.js` to control the
6
+ * `util/layout.js` and `contacts/contact-store.js` to control the
7
7
  * write target and verify idempotency, fallback, and field omission.
8
8
  */
9
9
 
@@ -1369,13 +1369,13 @@ describe("custom baseURL initialization", () => {
1369
1369
 
1370
1370
  test("OpenAIProvider forwards a custom baseURL", () => {
1371
1371
  const managed = new OpenAIProvider("ast-key-123", "gpt-4o", {
1372
- baseURL: "https://platform.example.com/v1/runtime-proxy/openai",
1372
+ baseURL: "https://test-cloud.mycadet.ai/v1/runtime-proxy/openai",
1373
1373
  });
1374
1374
 
1375
1375
  expect(managed.name).toBe("openai");
1376
1376
  expectOpenAIConstructorOptions({
1377
1377
  apiKey: "ast-key-123",
1378
- baseURL: "https://platform.example.com/v1/runtime-proxy/openai",
1378
+ baseURL: "https://test-cloud.mycadet.ai/v1/runtime-proxy/openai",
1379
1379
  timeout: DEFAULT_SDK_TIMEOUT_MS,
1380
1380
  });
1381
1381
  });
@@ -1407,14 +1407,14 @@ describe("custom baseURL initialization", () => {
1407
1407
  "ast-key-123",
1408
1408
  "accounts/fireworks/models/llama-v3p1-70b-instruct",
1409
1409
  {
1410
- baseURL: "https://platform.example.com/v1/runtime-proxy/fireworks",
1410
+ baseURL: "https://test-cloud.mycadet.ai/v1/runtime-proxy/fireworks",
1411
1411
  },
1412
1412
  );
1413
1413
 
1414
1414
  expect(managed.name).toBe("fireworks");
1415
1415
  expectOpenAIConstructorOptions({
1416
1416
  apiKey: "ast-key-123",
1417
- baseURL: "https://platform.example.com/v1/runtime-proxy/fireworks",
1417
+ baseURL: "https://test-cloud.mycadet.ai/v1/runtime-proxy/fireworks",
1418
1418
  timeout: DEFAULT_SDK_TIMEOUT_MS,
1419
1419
  });
1420
1420
  });
@@ -1434,13 +1434,13 @@ describe("custom baseURL initialization", () => {
1434
1434
 
1435
1435
  test("OpenRouterProvider forwards a custom baseURL", () => {
1436
1436
  const managed = new OpenRouterProvider("ast-key-123", "openai/gpt-4o", {
1437
- baseURL: "https://platform.example.com/v1/runtime-proxy/openrouter",
1437
+ baseURL: "https://test-cloud.mycadet.ai/v1/runtime-proxy/openrouter",
1438
1438
  });
1439
1439
 
1440
1440
  expect(managed.name).toBe("openrouter");
1441
1441
  expectOpenAIConstructorOptions({
1442
1442
  apiKey: "ast-key-123",
1443
- baseURL: "https://platform.example.com/v1/runtime-proxy/openrouter",
1443
+ baseURL: "https://test-cloud.mycadet.ai/v1/runtime-proxy/openrouter",
1444
1444
  timeout: DEFAULT_SDK_TIMEOUT_MS,
1445
1445
  });
1446
1446
  });
@@ -1457,13 +1457,13 @@ describe("custom baseURL initialization", () => {
1457
1457
 
1458
1458
  test("MinimaxProvider forwards a custom baseURL", () => {
1459
1459
  const managed = new MinimaxProvider("ast-key-123", "MiniMax-M2.7", {
1460
- baseURL: "https://platform.example.com/v1/runtime-proxy/minimax",
1460
+ baseURL: "https://test-cloud.mycadet.ai/v1/runtime-proxy/minimax",
1461
1461
  });
1462
1462
 
1463
1463
  expect(managed.name).toBe("minimax");
1464
1464
  expectOpenAIConstructorOptions({
1465
1465
  apiKey: "ast-key-123",
1466
- baseURL: "https://platform.example.com/v1/runtime-proxy/minimax",
1466
+ baseURL: "https://test-cloud.mycadet.ai/v1/runtime-proxy/minimax",
1467
1467
  timeout: DEFAULT_SDK_TIMEOUT_MS,
1468
1468
  });
1469
1469
  });
@@ -26,7 +26,7 @@ import {
26
26
  sandboxPolicyWithHostFallback,
27
27
  sandboxReadPolicy,
28
28
  } from "../tools/shared/filesystem/path-policy.js";
29
- import { getWorkspaceSkillsDir } from "../util/platform.js";
29
+ import { getWorkspaceSkillsDir } from "../util/layout.js";
30
30
 
31
31
  // The classifier reads REAL roots: managed = the per-process workspace skills
32
32
  // dir (writable, from the test preload), bundled = the repo's bundled-skills
@@ -3,7 +3,7 @@
3
3
  * `resolveGuardianPersonaPath` and `ensureGuardianPersonaFile`.
4
4
  *
5
5
  * The module under test reads/writes files under `getWorkspaceDir()`,
6
- * so these tests stub `util/platform.js` to point at an ephemeral temp
6
+ * so these tests stub `util/layout.js` to point at an ephemeral temp
7
7
  * directory and stub `contacts/contact-store.js` to control which
8
8
  * guardian (if any) is returned by the resolver.
9
9
  */
@@ -12,7 +12,7 @@ import type {
12
12
  RouteDefinition,
13
13
  RouteHandlerArgs,
14
14
  } from "../runtime/routes/types.js";
15
- import { getWorkspacePluginsDir } from "../util/platform.js";
15
+ import { getWorkspacePluginsDir } from "../util/layout.js";
16
16
 
17
17
  let workspaceDir: string;
18
18
 
@@ -50,7 +50,7 @@ import {
50
50
  resetPluginRegistryForTests,
51
51
  } from "../plugins/registry.js";
52
52
  import type { HookFunction, Plugin } from "../plugins/types.js";
53
- import { getWorkspacePluginsDir } from "../util/platform.js";
53
+ import { getWorkspacePluginsDir } from "../util/layout.js";
54
54
 
55
55
  // Point the workspace at an empty temp dir so `getHooksFor` -> `getUserHooksFor`
56
56
  // finds no user-land plugins; the in-process hook tests then observe only the
@@ -152,14 +152,13 @@ const BASELINE: Record<string, readonly string[]> = {
152
152
  "../../../../runtime/routes/types.js",
153
153
  "../../../../security/secret-scanner.js",
154
154
  "../../../../skills/catalog-cache.js",
155
- "../../../../telemetry/watchdog-events-store.js",
156
155
  "../../../../tools/skills/delete-cloud.js",
157
156
  "../../../../util/json.js",
157
+ "../../../../util/layout.js",
158
158
  "../../../../util/logger.js",
159
- "../../../../util/platform.js",
160
159
  "../../../api/remember-tool.js",
161
160
  "../../../channels/types.js",
162
- "../../../config/cloud-rehydration.js",
161
+ "../../../config/cloud-identity.js",
163
162
  "../../../config/loader.js",
164
163
  "../../../config/memory-v3-gate.js",
165
164
  "../../../config/schema.js",
@@ -215,15 +214,14 @@ const BASELINE: Record<string, readonly string[]> = {
215
214
  "../../../runtime/capabilities.js",
216
215
  "../../../runtime/services/auto-analysis-guard.js",
217
216
  "../../../runtime/sync/resource-sync-events.js",
218
- "../../../telemetry/watchdog-events-store.js",
219
217
  "../../../tools/registry.js",
220
218
  "../../../tools/types.js",
221
219
  "../../../types.js",
222
220
  "../../../util/abort-reasons.js",
223
221
  "../../../util/errors.js",
222
+ "../../../util/layout.js",
224
223
  "../../../util/log-redact.js",
225
224
  "../../../util/logger.js",
226
- "../../../util/platform.js",
227
225
  "../../../util/process-liveness.js",
228
226
  "../../../util/promise-guard.js",
229
227
  "../../../util/retry.js",
@@ -277,7 +275,7 @@ const BASELINE: Record<string, readonly string[]> = {
277
275
  "../../../daemon/now-scratchpad.js",
278
276
  "../../../daemon/trust-context-types.js",
279
277
  "../../../daemon/trust-context.js",
280
- "../../../util/platform.js",
278
+ "../../../util/layout.js",
281
279
  "../../types.js",
282
280
  "../injection-presence.js",
283
281
  "../injector-order.js",
@@ -91,8 +91,6 @@ const BASELINE: Record<string, readonly string[]> = {
91
91
  "src/daemon/conversation-agent-loop-handlers.ts",
92
92
  "src/daemon/conversation-agent-loop.ts",
93
93
  "src/daemon/conversation-runtime-assembly.ts",
94
- "src/daemon/conversation-surfaces.ts",
95
- "src/daemon/conversation-tool-setup.ts",
96
94
  "src/daemon/conversation-turn-finalize.ts",
97
95
  "src/daemon/conversation.ts",
98
96
  "src/daemon/embedding-reconcile.ts",
@@ -103,7 +101,6 @@ const BASELINE: Record<string, readonly string[]> = {
103
101
  "src/permissions/checker.ts",
104
102
  "src/persistence/conversation-crud.ts",
105
103
  "src/persistence/steps.ts",
106
- "src/prompts/system-prompt.ts",
107
104
  "src/runtime/routes/consolidation-routes.ts",
108
105
  "src/runtime/routes/conversation-query-routes.ts",
109
106
  "src/runtime/routes/conversation-routes.ts",
@@ -111,10 +111,6 @@ mock.module("../config/env.js", () => ({
111
111
  // credentials are seeded under their real credentialKey lookups.
112
112
  const secureKeys = useMemorySecureKeyMap();
113
113
 
114
- mock.module("../cloud/feature-gate.js", () => ({
115
- areCloudFeaturesEnabled: () => true,
116
- }));
117
-
118
114
  import { LLMSchema } from "../config/schemas/llm.js";
119
115
  import type { ProvidersConfig } from "../providers/registry.js";
120
116
  import {
@@ -152,7 +148,7 @@ function makeProvidersConfig(
152
148
  // Helpers
153
149
  // ---------------------------------------------------------------------------
154
150
 
155
- const PLATFORM_BASE = "https://platform.example.com";
151
+ const PLATFORM_BASE = "https://test-cloud.mycadet.ai";
156
152
  const MANAGED_API_KEY = "ast-managed-key-123";
157
153
  const PLATFORM_ASSISTANT_ID = "assistant-abc123";
158
154
 
@@ -79,7 +79,7 @@ test("managed mode still stamps cadet when no user connection exists", () => {
79
79
  expect(backfilledConnection("byok")).toBe("cadet");
80
80
  });
81
81
 
82
- test("managed-owned entries keep the cadet stamp even when a user connection exists", () => {
82
+ test("cadet-provider entries take no connection stamp; user entries bind their own", () => {
83
83
  process.env.IS_CLOUD = "true";
84
84
  const created = createConnection(getDb(), {
85
85
  name: "anthropic-personal",
@@ -89,20 +89,18 @@ test("managed-owned entries keep the cadet stamp even when a user connection exi
89
89
  expect(created.ok).toBe(true);
90
90
  seedConfig({
91
91
  balanced: {
92
- source: "managed",
93
- provider: "anthropic",
92
+ provider: "cadet",
94
93
  model: "claude-sonnet-4-6",
95
94
  },
96
- // Legacy seeders wrote canonical entries without `source` — still
97
- // managed-owned (workspace migration 109's rule).
95
+ // A cadet-provider entry is managed-owned: the cadet stamp survives any
96
+ // user connection.
98
97
  "quality-optimized": {
99
- provider: "anthropic",
98
+ provider: "cadet",
100
99
  model: "claude-opus-4-8",
101
100
  },
102
- // An explicit user source on a canonical name is a shadow the user took
101
+ // A non-cadet provider on a canonical name is a shadow the user took
103
102
  // ownership of — the preference applies.
104
103
  "cost-optimized": {
105
- source: "user",
106
104
  provider: "anthropic",
107
105
  model: "claude-haiku-4-5-20251001",
108
106
  },
@@ -111,8 +109,10 @@ test("managed-owned entries keep the cadet stamp even when a user connection exi
111
109
 
112
110
  runProviderConnectionsBackfill(getDb());
113
111
 
114
- expect(backfilledConnection("balanced")).toBe("cadet");
115
- expect(backfilledConnection("quality-optimized")).toBe("cadet");
112
+ // The cadet provider is its own routing identity — no connection stamp;
113
+ // dispatch resolves the row per-request.
114
+ expect(backfilledConnection("balanced")).toBeUndefined();
115
+ expect(backfilledConnection("quality-optimized")).toBeUndefined();
116
116
  expect(backfilledConnection("cost-optimized")).toBe("anthropic-personal");
117
117
  expect(backfilledConnection("byok")).toBe("anthropic-personal");
118
118
  });
@@ -1,15 +1,11 @@
1
1
  import { beforeEach, describe, expect, test } from "bun:test";
2
2
 
3
3
  import type { AssistantConfig } from "../config/schema.js";
4
- import { getDb, getTelemetryDb } from "../persistence/db-connection.js";
4
+ import { getDb } from "../persistence/db-connection.js";
5
5
  import { initializeDb } from "../persistence/db-init.js";
6
6
  import { pruneOldConversationsJob } from "../persistence/job-handlers/cleanup.js";
7
7
  import type { MemoryJob } from "../persistence/jobs-store.js";
8
- import {
9
- conversations,
10
- telemetryEvents,
11
- toolInvocations,
12
- } from "../persistence/schema/index.js";
8
+ import { conversations, toolInvocations } from "../persistence/schema/index.js";
13
9
 
14
10
  // Prune fires the `conversation-deleted` hook per pruned id; the memory
15
11
  // plugin's hook is what purges the relocated per-conversation tables. That
@@ -44,24 +40,9 @@ function seedConversation(id: string, updatedAt: number): void {
44
40
  createdAt: updatedAt,
45
41
  })
46
42
  .run();
47
- // Pending conversation-scoped telemetry rows live in the telemetry_events
48
- // outbox on the dedicated telemetry DB.
49
- getTelemetryDb()!
50
- .insert(telemetryEvents)
51
- .values({
52
- id: `te-${id}`,
53
- name: "skill_loaded",
54
- createdAt: updatedAt,
55
- conversationId: id,
56
- payload: "{}",
57
- })
58
- .run();
59
43
  }
60
44
 
61
- function countRows(conversationId: string): {
62
- invocations: number;
63
- telemetryRows: number;
64
- } {
45
+ function countRows(conversationId: string): { invocations: number } {
65
46
  const db = getDb();
66
47
  return {
67
48
  invocations: db
@@ -69,31 +50,25 @@ function countRows(conversationId: string): {
69
50
  .from(toolInvocations)
70
51
  .all()
71
52
  .filter((r) => r.conversationId === conversationId).length,
72
- telemetryRows: getTelemetryDb()!
73
- .select()
74
- .from(telemetryEvents)
75
- .all()
76
- .filter((r) => r.conversationId === conversationId).length,
77
53
  };
78
54
  }
79
55
 
80
56
  describe("pruneOldConversationsJob", () => {
81
57
  beforeEach(() => {
82
58
  const db = getDb();
83
- getTelemetryDb()!.delete(telemetryEvents).run();
84
59
  db.delete(toolInvocations).run();
85
60
  db.delete(conversations).run();
86
61
  });
87
62
 
88
- test("deletes non-cascading rows — including pending telemetry_events — for pruned conversations only", () => {
63
+ test("deletes non-cascading rows for pruned conversations only", () => {
89
64
  const staleUpdatedAt = Date.now() - 60 * 86_400_000;
90
65
  seedConversation(STALE_ID, staleUpdatedAt);
91
66
  seedConversation(FRESH_ID, Date.now());
92
67
 
93
68
  pruneOldConversationsJob(JOB, CONFIG);
94
69
 
95
- expect(countRows(STALE_ID)).toEqual({ invocations: 0, telemetryRows: 0 });
96
- expect(countRows(FRESH_ID)).toEqual({ invocations: 1, telemetryRows: 1 });
70
+ expect(countRows(STALE_ID)).toEqual({ invocations: 0 });
71
+ expect(countRows(FRESH_ID)).toEqual({ invocations: 1 });
97
72
  const remaining = getDb().select().from(conversations).all();
98
73
  expect(remaining.map((c) => c.id)).toEqual([FRESH_ID]);
99
74
  });
@@ -9,7 +9,7 @@ import { afterEach, beforeEach, describe, expect, test } from "bun:test";
9
9
 
10
10
  import { createApp } from "../apps/app-store.js";
11
11
  import { resolveAppQuery } from "../apps/resolve-app.js";
12
- import { getWorkspacePluginsDir } from "../util/platform.js";
12
+ import { getWorkspacePluginsDir } from "../util/layout.js";
13
13
 
14
14
  let workspaceDir: string;
15
15
  let previousWorkspaceDir: string | undefined;
@@ -64,7 +64,7 @@ import {
64
64
  upsertDeclaredSchedule,
65
65
  } from "../schedule/schedule-store.js";
66
66
  import { runDueSchedulesOnce } from "../schedule/scheduler.js";
67
- import { getWorkspacePluginsDir } from "../util/platform.js";
67
+ import { getWorkspacePluginsDir } from "../util/layout.js";
68
68
  import { setOverridesForTesting } from "./feature-flag-test-helpers.js";
69
69
 
70
70
  await initializeDb();
@@ -13,21 +13,6 @@ import type { SkillSource } from "../config/skills.js";
13
13
  const TEST_DIR = process.env.CADET_WORKSPACE_DIR!;
14
14
  const mockRefreshSkillCapabilityMemories = mock(() => {});
15
15
 
16
- const watchdogEvents: Array<{
17
- checkName: string;
18
- value?: number | null;
19
- detail?: Record<string, unknown> | null;
20
- }> = [];
21
- mock.module("../telemetry/watchdog-events-store.js", () => ({
22
- recordWatchdogEvent: (record: {
23
- checkName: string;
24
- value?: number | null;
25
- detail?: Record<string, unknown> | null;
26
- }) => {
27
- watchdogEvents.push(record);
28
- },
29
- }));
30
-
31
16
  mock.module("../daemon/skill-memory-refresh.js", () => ({
32
17
  refreshSkillCapabilityMemories: mockRefreshSkillCapabilityMemories,
33
18
  }));
@@ -150,7 +135,6 @@ beforeEach(() => {
150
135
  mockRefreshSkillCapabilityMemories.mockClear();
151
136
  skillCardJobUpserts = [];
152
137
  skillCardUpsertThrows = false;
153
- watchdogEvents.length = 0;
154
138
  recordedUpdates = [];
155
139
  });
156
140
 
@@ -311,16 +295,6 @@ describe("scaffold_cloud_skill tool", () => {
311
295
  expect(skill).toBeDefined();
312
296
  expect(skill!.name).toBe("Test Skill");
313
297
  expect(mockRefreshSkillCapabilityMemories).toHaveBeenCalledTimes(1);
314
-
315
- // A genuine create emits the central authoring counter, attributed to
316
- // the user for a non-retrospective origin.
317
- expect(watchdogEvents).toEqual([
318
- {
319
- checkName: "skill_authored",
320
- value: 1,
321
- detail: { authored_by: "user" },
322
- },
323
- ]);
324
298
  });
325
299
 
326
300
  test("accepts legacy add_to_index input without returning index metadata", async () => {
@@ -381,12 +355,6 @@ describe("scaffold_cloud_skill tool", () => {
381
355
  makeContext(),
382
356
  );
383
357
  expect(result3.isError).toBe(false);
384
-
385
- // Only the original create counts — the overwrite refined an existing
386
- // skill and must not emit a second authoring event.
387
- expect(
388
- watchdogEvents.filter((e) => e.checkName === "skill_authored"),
389
- ).toHaveLength(1);
390
358
  });
391
359
 
392
360
  test("rejects missing required fields", async () => {
@@ -1031,15 +999,6 @@ describe("scaffold_cloud_skill tool", () => {
1031
999
 
1032
1000
  expect(result.isError).toBe(false);
1033
1001
  expect(installMetaFor("retro-skill")?.author).toBe("assistant");
1034
- // The central authoring counter attributes the create to the
1035
- // retrospective.
1036
- expect(watchdogEvents).toEqual([
1037
- {
1038
- checkName: "skill_authored",
1039
- value: 1,
1040
- detail: { authored_by: "retrospective" },
1041
- },
1042
- ]);
1043
1002
  });
1044
1003
 
1045
1004
  test('tags author "user" for a normal (non-retrospective) scaffold', async () => {
@@ -1210,12 +1169,6 @@ describe("scaffold_cloud_skill tool", () => {
1210
1169
  ),
1211
1170
  ),
1212
1171
  ).toBe(true);
1213
-
1214
- // Only the V1 create counts toward authoring — the V2 refinement of an
1215
- // existing skill emits no second event.
1216
- expect(
1217
- watchdogEvents.filter((e) => e.checkName === "skill_authored"),
1218
- ).toHaveLength(1);
1219
1172
  });
1220
1173
 
1221
1174
  // ── Conversation lineage (retrospective-authored skills) ───────────────────
@@ -1768,7 +1721,6 @@ describe("background skill update notification", () => {
1768
1721
  installedAt: new Date().toISOString(),
1769
1722
  author: "assistant",
1770
1723
  });
1771
- watchdogEvents.length = 0;
1772
1724
  skillCardJobUpserts = [];
1773
1725
  recordedUpdates = [];
1774
1726
  recordUpdateFails = false;
@@ -1869,11 +1821,6 @@ describe("background skill update notification", () => {
1869
1821
  "utf-8",
1870
1822
  ),
1871
1823
  ).toContain("Refined steps.");
1872
- expect(watchdogEvents).toContainEqual(
1873
- expect.objectContaining({
1874
- checkName: "skill_update_receipt_record_failed",
1875
- }),
1876
- );
1877
1824
  });
1878
1825
 
1879
1826
  test("the entry body is the pass's change_summary, so the receipt says what changed", async () => {
@@ -89,7 +89,7 @@ import {
89
89
  listSchedules,
90
90
  upsertDeclaredSchedule,
91
91
  } from "../schedule/schedule-store.js";
92
- import { getWorkspacePluginsDir } from "../util/platform.js";
92
+ import { getWorkspacePluginsDir } from "../util/layout.js";
93
93
  import { setOverridesForTesting } from "./feature-flag-test-helpers.js";
94
94
 
95
95
  await initializeDb();
@@ -52,7 +52,7 @@ import {
52
52
  upsertDeclaredSchedule,
53
53
  } from "../schedule/schedule-store.js";
54
54
  import { UserError } from "../util/errors.js";
55
- import { getWorkspacePluginsDir } from "../util/platform.js";
55
+ import { getWorkspacePluginsDir } from "../util/layout.js";
56
56
 
57
57
  await initializeDb();
58
58
 
@@ -20,7 +20,7 @@ let providerRefreshCalls = 0;
20
20
  let identitySyncCalls = 0;
21
21
  let avatarSyncCalls = 0;
22
22
 
23
- const CLOUD_BASE_URL = "https://platform.example.com";
23
+ const CLOUD_BASE_URL = "https://test-cloud.mycadet.ai";
24
24
  const ASSISTANT_API_KEY_PATH = credentialKey("cadet", "assistant_api_key");
25
25
  const MANAGED_PROVIDERS = [
26
26
  "anthropic",
@@ -13,7 +13,7 @@ import { join } from "node:path";
13
13
  import { beforeAll, describe, expect, test } from "bun:test";
14
14
 
15
15
  import { skillLoadTool } from "../tools/skills/load.js";
16
- import { getWorkspaceDir } from "../util/platform.js";
16
+ import { getWorkspaceDir } from "../util/layout.js";
17
17
 
18
18
  function writeSkill(
19
19
  root: string,
@@ -9,7 +9,7 @@ import { getDb } from "../persistence/db-connection.js";
9
9
  import { initializeDb } from "../persistence/db-init.js";
10
10
  import { conversations, messages } from "../persistence/schema/index.js";
11
11
  import { findPersistedSurfaceState } from "../runtime/routes/surface-conversation-resolver.js";
12
- import { getDbPath } from "../util/platform.js";
12
+ import { getDbPath } from "../util/layout.js";
13
13
  import { assertNotLiveDb } from "./assert-not-live-db.js";
14
14
 
15
15
  await initializeDb();
@@ -106,7 +106,7 @@ const auditCalls = {
106
106
  prompted: [] as any[],
107
107
  decided: [] as any[],
108
108
  };
109
- mock.module("../telemetry/tool-audit.js", () => ({
109
+ mock.module("../persistence/tool-audit.js", () => ({
110
110
  recordToolDenied: (e: any) => auditCalls.denied.push(e),
111
111
  recordToolError: (e: any) => auditCalls.error.push(e),
112
112
  recordToolExecuted: (e: any) => auditCalls.executed.push(e),