@mycadet/assistant 0.12.7 → 0.12.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (892) hide show
  1. package/README.md +1 -1
  2. package/docs/activation-funnel-telemetry.md +6 -6
  3. package/docs/cadet-doctor.md +7 -7
  4. package/docs/desktop-browser-cli.md +7 -7
  5. package/docs/skills.md +2 -2
  6. package/docs/voice-input-diagnostics.md +1 -1
  7. package/eslint-rules/__tests__/cli-no-daemon-internals.test.ts +2 -2
  8. package/node_modules/@mycadet/avatar-manifest/src/__tests__/notification-avatar.test.ts +1 -1
  9. package/node_modules/@mycadet/avatar-manifest/src/notification-avatar.ts +2 -2
  10. package/node_modules/@mycadet/ces-client/node_modules/@mycadet/service-contracts/package.json +1 -1
  11. package/node_modules/@mycadet/ces-client/node_modules/@mycadet/service-contracts/src/{platform-credential.ts → cloud-credential.ts} +9 -9
  12. package/node_modules/@mycadet/ces-client/node_modules/@mycadet/service-contracts/src/handles.ts +3 -3
  13. package/node_modules/@mycadet/ces-client/node_modules/@mycadet/service-contracts/src/index.ts +1 -1
  14. package/node_modules/@mycadet/ces-client/node_modules/@mycadet/service-contracts/src/ingress.ts +11 -5
  15. package/node_modules/@mycadet/ces-client/node_modules/@mycadet/service-contracts/src/remote-web-pairing.ts +1 -1
  16. package/node_modules/@mycadet/ces-client/node_modules/@mycadet/service-contracts/src/rpc.ts +14 -14
  17. package/node_modules/@mycadet/ces-client/node_modules/@mycadet/service-contracts/src/trust-rules.ts +5 -5
  18. package/node_modules/@mycadet/ces-client/src/rpc-client.ts +1 -1
  19. package/node_modules/@mycadet/credential-storage/src/oauth-runtime.ts +1 -1
  20. package/node_modules/@mycadet/credential-storage/src/static-credentials.ts +1 -1
  21. package/node_modules/@mycadet/environments/src/seeds.ts +6 -6
  22. package/node_modules/@mycadet/environments/src/shell.test.ts +1 -1
  23. package/node_modules/@mycadet/environments/src/types.ts +6 -6
  24. package/node_modules/@mycadet/gateway-client/node_modules/@mycadet/service-contracts/package.json +1 -1
  25. package/node_modules/@mycadet/gateway-client/node_modules/@mycadet/service-contracts/src/{platform-credential.ts → cloud-credential.ts} +9 -9
  26. package/node_modules/@mycadet/gateway-client/node_modules/@mycadet/service-contracts/src/handles.ts +3 -3
  27. package/node_modules/@mycadet/gateway-client/node_modules/@mycadet/service-contracts/src/index.ts +1 -1
  28. package/node_modules/@mycadet/gateway-client/node_modules/@mycadet/service-contracts/src/ingress.ts +11 -5
  29. package/node_modules/@mycadet/gateway-client/node_modules/@mycadet/service-contracts/src/remote-web-pairing.ts +1 -1
  30. package/node_modules/@mycadet/gateway-client/node_modules/@mycadet/service-contracts/src/rpc.ts +14 -14
  31. package/node_modules/@mycadet/gateway-client/node_modules/@mycadet/service-contracts/src/trust-rules.ts +5 -5
  32. package/node_modules/@mycadet/gateway-client/src/binding-strength-contract.ts +5 -5
  33. package/node_modules/@mycadet/gateway-client/src/gateway-ipc-contracts.ts +1 -1
  34. package/node_modules/@mycadet/gateway-client/src/inbound-contract.ts +2 -2
  35. package/node_modules/@mycadet/gateway-client/src/outbound-contract.ts +1 -1
  36. package/node_modules/@mycadet/service-contracts/package.json +1 -1
  37. package/node_modules/@mycadet/service-contracts/src/{platform-credential.ts → cloud-credential.ts} +9 -9
  38. package/node_modules/@mycadet/service-contracts/src/handles.ts +3 -3
  39. package/node_modules/@mycadet/service-contracts/src/index.ts +1 -1
  40. package/node_modules/@mycadet/service-contracts/src/ingress.ts +11 -5
  41. package/node_modules/@mycadet/service-contracts/src/remote-web-pairing.ts +1 -1
  42. package/node_modules/@mycadet/service-contracts/src/rpc.ts +14 -14
  43. package/node_modules/@mycadet/service-contracts/src/trust-rules.ts +5 -5
  44. package/openapi.yaml +6815 -794
  45. package/package.json +2 -2
  46. package/scripts/build-test-fixtures.ts +1 -1
  47. package/scripts/probe-skill-retrieval.ts +1 -1
  48. package/scripts/sync-llm-catalog.ts +2 -2
  49. package/scripts/voice-ttft-spike.ts +2 -2
  50. package/src/__tests__/adaptive-thinking-repair.test.ts +4 -4
  51. package/src/__tests__/agent-loop-override-profile.test.ts +4 -4
  52. package/src/__tests__/agent-loop-subagent-billing-headers.test.ts +1 -1
  53. package/src/__tests__/anthropic-provider.test.ts +2 -2
  54. package/src/__tests__/available-skills.test.ts +11 -12
  55. package/src/__tests__/avatar-identity-sync.test.ts +1 -1
  56. package/src/__tests__/byok-default-profile-ensure.test.ts +7 -7
  57. package/src/__tests__/call-domain.test.ts +1 -1
  58. package/src/__tests__/call-site-routing-connection-auto-resolve.test.ts +2 -2
  59. package/src/__tests__/catalog-files.test.ts +10 -10
  60. package/src/__tests__/catalog-install-normalize.test.ts +3 -3
  61. package/src/__tests__/channel-availability-routes.test.ts +8 -8
  62. package/src/__tests__/channel-readiness-routes.test.ts +4 -4
  63. package/src/__tests__/channel-readiness-service.test.ts +14 -14
  64. package/src/__tests__/channel-readiness-telegram-remote.test.ts +1 -1
  65. package/src/__tests__/chat-reveal-guard-priming.test.ts +5 -6
  66. package/src/__tests__/checker.test.ts +6 -6
  67. package/src/__tests__/clawhub.test.ts +1 -1
  68. package/src/__tests__/{platform-callback-registration.test.ts → cloud-callback-registration.test.ts} +66 -90
  69. package/src/__tests__/{platform-client-verify-credential.test.ts → cloud-client-verify-credential.test.ts} +14 -14
  70. package/src/__tests__/{managed-credential-catalog-cli.test.ts → cloud-credential-catalog-cli.test.ts} +41 -41
  71. package/src/__tests__/{managed-fallback-dispatch.test.ts → cloud-fallback-dispatch.test.ts} +21 -16
  72. package/src/__tests__/{managed-profile-guard.test.ts → cloud-profile-guard.test.ts} +60 -60
  73. package/src/__tests__/{platform-proxy-context.test.ts → cloud-proxy-context.test.ts} +44 -44
  74. package/src/__tests__/{managed-speech-defaults.test.ts → cloud-speech-defaults.test.ts} +41 -41
  75. package/src/__tests__/{managed-store.test.ts → cloud-store.test.ts} +99 -99
  76. package/src/__tests__/compaction-events.test.ts +7 -5
  77. package/src/__tests__/config-loader-backfill.test.ts +65 -65
  78. package/src/__tests__/config-loader-cloud-defaults.test.ts +373 -0
  79. package/src/__tests__/config-loader-corrupt.test.ts +1 -1
  80. package/src/__tests__/config-loader-validation-reset-notice.test.ts +1 -1
  81. package/src/__tests__/config-schema.test.ts +3 -3
  82. package/src/__tests__/{config-set-platform-guard.test.ts → config-set-cloud-guard.test.ts} +6 -6
  83. package/src/__tests__/config-watcher-cleanup-throttle.test.ts +0 -8
  84. package/src/__tests__/config-watcher.test.ts +1 -1
  85. package/src/__tests__/contacts-write.test.ts +1 -1
  86. package/src/__tests__/conversation-agent-loop.test.ts +2 -2
  87. package/src/__tests__/conversation-app-control-instantiation.test.ts +18 -18
  88. package/src/__tests__/conversation-error.test.ts +45 -45
  89. package/src/__tests__/conversation-inference-profile-route.test.ts +4 -4
  90. package/src/__tests__/conversation-rendered-delegation-state.test.ts +4 -4
  91. package/src/__tests__/conversation-skill-tools.test.ts +7 -8
  92. package/src/__tests__/conversation-slash.test.ts +2 -2
  93. package/src/__tests__/conversation-speed-override.test.ts +8 -10
  94. package/src/__tests__/conversation-summarize-up-to.test.ts +4 -4
  95. package/src/__tests__/conversation-surfaces-activation-emit.test.ts +1 -1
  96. package/src/__tests__/conversation-wait-for-idle.test.ts +7 -5
  97. package/src/__tests__/credential-execution-api-key-propagation.test.ts +5 -5
  98. package/src/__tests__/{credential-execution-managed-contract.test.ts → credential-execution-cloud-contract.test.ts} +24 -24
  99. package/src/__tests__/credential-health-service.test.ts +27 -41
  100. package/src/__tests__/credential-routes.test.ts +85 -165
  101. package/src/__tests__/credential-security-invariants.test.ts +6 -7
  102. package/src/__tests__/custom-profile-ensure.test.ts +1 -1
  103. package/src/__tests__/date-context.test.ts +1 -1
  104. package/src/__tests__/default-profile-catalog-fallback.test.ts +15 -15
  105. package/src/__tests__/delete-managed-skill-tool.test.ts +8 -8
  106. package/src/__tests__/discord-callback-round-trip.test.ts +1 -1
  107. package/src/__tests__/disk-usage.test.ts +3 -3
  108. package/src/__tests__/email-invite-adapter.test.ts +5 -5
  109. package/src/__tests__/{embedding-managed-proxy-selection.test.ts → embedding-cloud-proxy-selection.test.ts} +44 -43
  110. package/src/__tests__/emit-signal-routing-intent.test.ts +13 -15
  111. package/src/__tests__/events-dev-bypass-actor.test.ts +2 -2
  112. package/src/__tests__/fallback-breaker.test.ts +7 -7
  113. package/src/__tests__/feature-flag-test-helpers.ts +106 -0
  114. package/src/__tests__/gateway-flag-listener.test.ts +1 -1
  115. package/src/__tests__/gemini-image-service.test.ts +2 -2
  116. package/src/__tests__/gemini-provider.test.ts +5 -5
  117. package/src/__tests__/get-skill-detail-audit.test.ts +9 -8
  118. package/src/__tests__/guardian-verification-voice-binding.test.ts +1 -1
  119. package/src/__tests__/handlers-skills-memory-v2-reseed.test.ts +5 -5
  120. package/src/__tests__/host-cu-routes-targeted.test.ts +8 -8
  121. package/src/__tests__/image-credentials.test.ts +13 -13
  122. package/src/__tests__/inbound-admitted-introduction-nudge.test.ts +14 -6
  123. package/src/__tests__/inbound-trust-verdict.test.ts +14 -6
  124. package/src/__tests__/inference-no-mode-boot-e2e.test.ts +11 -11
  125. package/src/__tests__/inference-profile-session-handler.test.ts +7 -7
  126. package/src/__tests__/inference-profile-session-ipc.test.ts +5 -5
  127. package/src/__tests__/inference-profile-validation-jev.test.ts +1 -1
  128. package/src/__tests__/init-feature-flag-overrides.test.ts +40 -24
  129. package/src/__tests__/input-repairs.test.ts +1 -1
  130. package/src/__tests__/install-skill-routing.test.ts +10 -8
  131. package/src/__tests__/integration-status.test.ts +5 -5
  132. package/src/__tests__/internal-telemetry-routes.test.ts +3 -3
  133. package/src/__tests__/invite-routes-http.test.ts +1 -1
  134. package/src/__tests__/llm-catalog-parity.test.ts +5 -7
  135. package/src/__tests__/llm-request-log-source-clickhouse.test.ts +2 -2
  136. package/src/__tests__/llm-resolver-override-or-default.test.ts +3 -3
  137. package/src/__tests__/llm-resolver.test.ts +1 -1
  138. package/src/__tests__/llm-schema-fallback-profile.test.ts +25 -19
  139. package/src/__tests__/llm-usage-store.test.ts +1 -1
  140. package/src/__tests__/managed-skill-lifecycle.test.ts +12 -12
  141. package/src/__tests__/mcp-abort-signal.test.ts +2 -2
  142. package/src/__tests__/mcp-client-auth.test.ts +2 -2
  143. package/src/__tests__/mcp-tool-annotations-risk.test.ts +2 -2
  144. package/src/__tests__/media-generate-image.test.ts +30 -30
  145. package/src/__tests__/memory-config-file-parity.test.ts +6 -6
  146. package/src/__tests__/migration-export-to-gcs.test.ts +4 -4
  147. package/src/__tests__/migration-import-commit-http.test.ts +1 -1
  148. package/src/__tests__/mtime-cache.test.ts +2 -2
  149. package/src/__tests__/{notification-platform-adapter.test.ts → notification-cloud-adapter.test.ts} +39 -39
  150. package/src/__tests__/notification-deep-link.test.ts +40 -40
  151. package/src/__tests__/oauth-apps-routes.test.ts +3 -3
  152. package/src/__tests__/oauth-cli.test.ts +9 -9
  153. package/src/__tests__/oauth-commands-routes.test.ts +16 -16
  154. package/src/__tests__/oauth-connect-orchestrator.test.ts +2 -2
  155. package/src/__tests__/oauth-provider-serializer.test.ts +11 -11
  156. package/src/__tests__/oauth-providers-routes.test.ts +12 -12
  157. package/src/__tests__/oauth-store.test.ts +1 -1
  158. package/src/__tests__/oauth2-gateway-transport.test.ts +3 -3
  159. package/src/__tests__/onboarding-persona-write.test.ts +2 -2
  160. package/src/__tests__/openai-image-service.test.ts +2 -2
  161. package/src/__tests__/openai-responses-cutover-guard.test.ts +2 -2
  162. package/src/__tests__/openai-responses-provider.test.ts +1 -1
  163. package/src/__tests__/path-policy.test.ts +4 -4
  164. package/src/__tests__/personal-memory-auth-bypass.test.ts +1 -1
  165. package/src/__tests__/platform-bash-auto-approve.test.ts +18 -18
  166. package/src/__tests__/plugin-api-model-profiles.test.ts +1 -1
  167. package/src/__tests__/plugin-api-provider.test.ts +1 -1
  168. package/src/__tests__/plugin-api-webhook-url.test.ts +4 -5
  169. package/src/__tests__/plugin-import-boundary-guard.test.ts +8 -39
  170. package/src/__tests__/plugin-import-boundary-reverse-guard.test.ts +2 -2
  171. package/src/__tests__/{provider-platform-proxy-integration.test.ts → provider-cloud-proxy-integration.test.ts} +70 -72
  172. package/src/__tests__/provider-commit-message-generator.test.ts +1 -1
  173. package/src/__tests__/provider-connections-backfill.test.ts +9 -9
  174. package/src/__tests__/provider-error-scenarios.test.ts +8 -8
  175. package/src/__tests__/provider-registry-ollama.test.ts +1 -1
  176. package/src/__tests__/provider-send-message-override-profile.test.ts +5 -5
  177. package/src/__tests__/registry.test.ts +3 -3
  178. package/src/__tests__/requests-mock.ts +972 -0
  179. package/src/__tests__/resolve-trust-class.test.ts +1 -1
  180. package/src/__tests__/resource-pressure-guard.test.ts +6 -6
  181. package/src/__tests__/resource-pressure-routes.test.ts +5 -5
  182. package/src/__tests__/retry-fallback-escalation.test.ts +5 -5
  183. package/src/__tests__/sanitize-config-for-transfer.test.ts +1 -1
  184. package/src/__tests__/scaffold-managed-skill-tool.test.ts +97 -97
  185. package/src/__tests__/schedule-store.test.ts +1 -1
  186. package/src/__tests__/search-skills-unified.test.ts +9 -7
  187. package/src/__tests__/{secret-routes-platform-proxy.test.ts → secret-routes-cloud-proxy.test.ts} +48 -95
  188. package/src/__tests__/secret-routes-scrub.test.ts +2 -59
  189. package/src/__tests__/secure-keys.test.ts +1 -1
  190. package/src/__tests__/skill-load-plugin-scope.test.ts +2 -2
  191. package/src/__tests__/skill-load-tool.test.ts +1 -1
  192. package/src/__tests__/skill-projection-feature-flag.test.ts +0 -19
  193. package/src/__tests__/skill-projection.benchmark.test.ts +5 -7
  194. package/src/__tests__/skill-tool-factory.test.ts +1 -1
  195. package/src/__tests__/skills-file-content-endpoint.test.ts +12 -12
  196. package/src/__tests__/skills-files-catalog-fallback.test.ts +9 -9
  197. package/src/__tests__/skills.test.ts +1 -1
  198. package/src/__tests__/slim-skill-category.test.ts +11 -9
  199. package/src/__tests__/stt-stream-session.test.ts +3 -3
  200. package/src/__tests__/subagent-call-site-routing.test.ts +1 -1
  201. package/src/__tests__/subagent-disposal.test.ts +5 -5
  202. package/src/__tests__/subagent-fork-notifications.test.ts +4 -4
  203. package/src/__tests__/subagent-fork-spawn.test.ts +5 -5
  204. package/src/__tests__/subagent-manager-notify.test.ts +5 -5
  205. package/src/__tests__/subagent-tool-gate-mode.test.ts +2 -2
  206. package/src/__tests__/system-prompt.test.ts +1 -1
  207. package/src/__tests__/telegram-bot-username-resolution.test.ts +34 -52
  208. package/src/__tests__/telegram-config.test.ts +16 -16
  209. package/src/__tests__/telephony-tts-guard.test.ts +13 -13
  210. package/src/__tests__/test-preload.ts +17 -7
  211. package/src/__tests__/tool-audit.test.ts +1 -1
  212. package/src/__tests__/tool-execution-pipeline.benchmark.test.ts +7 -5
  213. package/src/__tests__/tool-executor-lifecycle-events.test.ts +1 -1
  214. package/src/__tests__/turn-events-store.test.ts +1 -1
  215. package/src/__tests__/twilio-routes.test.ts +2 -1
  216. package/src/__tests__/ui-choice-copy-surfaces.test.ts +1 -1
  217. package/src/__tests__/unified-turn-context-client-os.test.ts +1 -1
  218. package/src/__tests__/validate-input.test.ts +5 -5
  219. package/src/__tests__/verification-outbound-delivery.test.ts +1 -1
  220. package/src/__tests__/voice-config-update.test.ts +15 -15
  221. package/src/__tests__/voice-ingress-preflight.test.ts +4 -4
  222. package/src/__tests__/web-search.test.ts +340 -859
  223. package/src/__tests__/workspace-git-service.test.ts +1 -1
  224. package/src/__tests__/workspace-migration-082-backfill-managed-profile-labels.test.ts +12 -12
  225. package/src/__tests__/workspace-migration-087-memory-router-balanced-profile.test.ts +1 -1
  226. package/src/__tests__/workspace-migration-090-memory-router-cost-optimized-profile.test.ts +1 -1
  227. package/src/__tests__/workspace-migration-100-upgrade-quality-profile-to-fable-5.test.ts +1 -1
  228. package/src/__tests__/workspace-migration-103-upgrade-quality-profile-to-opus-4-8.test.ts +1 -1
  229. package/src/__tests__/workspace-migration-110-flip-balanced-profile-to-together.test.ts +1 -1
  230. package/src/__tests__/workspace-migration-113-swap-balanced-profile-to-glm-5p2.test.ts +1 -1
  231. package/src/__tests__/workspace-migration-114-swap-quality-profile-to-opus.test.ts +1 -1
  232. package/src/__tests__/workspace-migration-123-swap-quality-profile-to-fable.test.ts +1 -1
  233. package/src/__tests__/workspace-migration-125-repoint-managed-connections-to-cadet.test.ts +3 -3
  234. package/src/__tests__/workspace-migration-126-strip-managed-profile-bodies.test.ts +9 -9
  235. package/src/__tests__/workspace-migration-127-backfill-default-provider.test.ts +11 -11
  236. package/src/__tests__/workspace-migration-130-speech-mode-to-provider.test.ts +3 -3
  237. package/src/__tests__/workspace-migration-132-web-search-mode-to-provider.test.ts +6 -6
  238. package/src/__tests__/workspace-migration-133-collapse-provider-connections.test.ts +3 -3
  239. package/src/__tests__/workspace-migration-134-image-generation-mode-to-provider.test.ts +6 -6
  240. package/src/__tests__/workspace-migration-136-repair-stale-fireworks-kimi-model-id.test.ts +1 -1
  241. package/src/__tests__/workspace-migration-137-repair-retired-fireworks-minimax-model-id.test.ts +1 -1
  242. package/src/__tests__/workspace-migration-146-repair-retired-fireworks-deepseek-flash-model-id.test.ts +1 -1
  243. package/src/__tests__/workspace-migration-147-rename-colliding-backup-profile-names.test.ts +1 -1
  244. package/src/__tests__/workspace-migration-151-repair-renamed-fireworks-deepseek-pro-model-id.test.ts +1 -1
  245. package/src/__tests__/workspace-migration-152-repair-retired-fireworks-minimax-m2p7-model-id.test.ts +1 -1
  246. package/src/__tests__/workspace-migration-159-rename-colliding-jev-profile-name.test.ts +1 -1
  247. package/src/__tests__/workspace-migration-160-repair-retired-fireworks-model-ids.test.ts +1 -1
  248. package/src/__tests__/workspace-migration-161-repair-retired-fireworks-glm-5p2-model-id.test.ts +1 -1
  249. package/src/api/events/cloud-disconnected.ts +21 -0
  250. package/src/api/events/host-bash.ts +1 -1
  251. package/src/api/events/host-cu.ts +1 -1
  252. package/src/api/events/host-file.ts +1 -1
  253. package/src/api/events/notification-intent.ts +1 -1
  254. package/src/api/events/{show-platform-login.ts → show-cloud-login.ts} +3 -5
  255. package/src/api/index.ts +11 -11
  256. package/src/api/responses/home.ts +1 -1
  257. package/src/api/surfaces.ts +4 -4
  258. package/src/approvals/guardian-request-resolvers.ts +2 -2
  259. package/src/avatar/accent-backfill.ts +1 -1
  260. package/src/avatar/identity-avatar.ts +1 -1
  261. package/src/avatar/notification-avatar.test.ts +2 -2
  262. package/src/avatar/notification-avatar.ts +2 -2
  263. package/src/avatar/resvg-lazy.test.ts +1 -1
  264. package/src/avatar/resvg-lazy.ts +3 -3
  265. package/src/avatar/sync-avatar.test.ts +76 -76
  266. package/src/avatar/sync-avatar.ts +15 -15
  267. package/src/avatar/traits-png-sync.ts +1 -1
  268. package/src/background-wake/background-wake-routes.test.ts +39 -39
  269. package/src/background-wake/{platform-client.test.ts → cloud-client.test.ts} +11 -11
  270. package/src/background-wake/{platform-client.ts → cloud-client.ts} +14 -14
  271. package/src/background-wake/publisher.ts +4 -4
  272. package/src/background-wake/wake-intent-hooks.test.ts +3 -3
  273. package/src/calls/__tests__/call-controller.test.ts +2 -2
  274. package/src/calls/__tests__/voice-session-bridge.test.ts +1 -1
  275. package/src/calls/call-domain.ts +1 -1
  276. package/src/calls/resolve-call-tts-provider.ts +6 -6
  277. package/src/calls/telephony-credential-preflight.ts +3 -3
  278. package/src/calls/telephony-tts-capability.ts +5 -6
  279. package/src/calls/tts-call-strategy.ts +1 -1
  280. package/src/calls/voice-escalation-judge.ts +1 -1
  281. package/src/calls/voice-ingress-preflight.ts +4 -4
  282. package/src/cli/bundled-modules.ts +1 -1
  283. package/src/cli/commands/__tests__/apps.test.ts +18 -53
  284. package/src/cli/commands/__tests__/plugins.test.ts +13 -13
  285. package/src/cli/commands/__tests__/tts.test.ts +1 -1
  286. package/src/cli/commands/auth.help.ts +3 -3
  287. package/src/cli/commands/auth.ts +2 -4
  288. package/src/cli/commands/browser.help.ts +2 -2
  289. package/src/cli/commands/channels/index.help.ts +2 -2
  290. package/src/cli/commands/channels/index.ts +1 -1
  291. package/src/cli/commands/channels/send.ts +1 -1
  292. package/src/cli/commands/cloud/__tests__/connect.test.ts +1 -1
  293. package/src/cli/commands/cloud/__tests__/disconnect.test.ts +3 -4
  294. package/src/cli/commands/cloud/connect.ts +2 -2
  295. package/src/cli/commands/cloud/credits-format.ts +1 -1
  296. package/src/cli/commands/cloud/index.help.ts +35 -35
  297. package/src/cli/commands/config.ts +1 -1
  298. package/src/cli/commands/credentials.ts +10 -12
  299. package/src/cli/commands/domain.ts +1 -1
  300. package/src/cli/commands/email.help.ts +1 -1
  301. package/src/cli/commands/email.ts +2 -2
  302. package/src/cli/commands/gateway.help.ts +1 -1
  303. package/src/cli/commands/gateway.ts +1 -1
  304. package/src/cli/commands/image-generation.help.ts +1 -1
  305. package/src/cli/commands/inference-providers.ts +1 -1
  306. package/src/cli/commands/inference.help.ts +2 -2
  307. package/src/cli/commands/memory/index.help.ts +1 -1
  308. package/src/cli/commands/oauth/connect.test.ts +2 -2
  309. package/src/cli/commands/oauth/connect.ts +1 -1
  310. package/src/cli/commands/oauth/index.help.ts +5 -5
  311. package/src/cli/commands/oauth/providers.ts +2 -2
  312. package/src/cli/commands/oauth/shared.ts +3 -3
  313. package/src/cli/commands/plugins.help.ts +2 -3
  314. package/src/cli/commands/plugins.ts +5 -5
  315. package/src/cli/commands/roadmap.help.ts +1 -1
  316. package/src/cli/commands/telemetry.help.ts +2 -2
  317. package/src/cli/commands/telemetry.ts +2 -2
  318. package/src/cli/commands/tts.help.ts +3 -3
  319. package/src/cli/commands/webhooks.help.ts +9 -9
  320. package/src/cli/commands/webhooks.ts +1 -1
  321. package/src/cli/lib/__tests__/inspect-plugin.test.ts +8 -8
  322. package/src/cli/lib/__tests__/{install-from-platform.test.ts → install-from-cloud.test.ts} +54 -54
  323. package/src/cli/lib/__tests__/plugin-catalog-cache.test.ts +18 -18
  324. package/src/cli/lib/__tests__/{plugin-catalog-platform.test.ts → plugin-catalog-cloud.test.ts} +2 -2
  325. package/src/cli/lib/__tests__/plugin-catalog-local.test.ts +1 -1
  326. package/src/cli/lib/__tests__/plugin-catalog-resolve.test.ts +9 -9
  327. package/src/cli/lib/__tests__/plugin-details.test.ts +10 -10
  328. package/src/cli/lib/__tests__/plugins-install-offline.test.ts +24 -24
  329. package/src/cli/lib/bundled-marketplace.json +1 -1
  330. package/src/cli/lib/inspect-plugin.ts +2 -2
  331. package/src/cli/lib/{install-from-platform.ts → install-from-cloud.ts} +29 -29
  332. package/src/cli/lib/install-from-github.ts +4 -4
  333. package/src/cli/lib/plugin-catalog-cache.ts +7 -7
  334. package/src/cli/lib/{plugin-catalog-platform.ts → plugin-catalog-cloud.ts} +6 -6
  335. package/src/cli/lib/plugin-catalog-local.ts +2 -2
  336. package/src/cli/lib/publish-plugin.ts +9 -10
  337. package/src/cli/lib/search-plugins.ts +2 -2
  338. package/src/{platform → cloud}/client.test.ts +85 -86
  339. package/src/{platform → cloud}/client.ts +38 -46
  340. package/src/{platform/platform-patch-queue.test.ts → cloud/cloud-patch-queue.test.ts} +6 -9
  341. package/src/{platform/platform-patch-queue.ts → cloud/cloud-patch-queue.ts} +11 -11
  342. package/src/{platform/managed-speech.test.ts → cloud/cloud-speech.test.ts} +19 -19
  343. package/src/{platform/managed-speech.ts → cloud/cloud-speech.ts} +41 -41
  344. package/src/{platform → cloud}/consent-cache.test.ts +5 -5
  345. package/src/{platform → cloud}/consent-cache.ts +8 -8
  346. package/src/cloud/feature-gate.ts +8 -0
  347. package/src/{platform → cloud}/sync-identity.test.ts +4 -4
  348. package/src/{platform → cloud}/sync-identity.ts +6 -6
  349. package/src/config/__tests__/{platform-identity.test.ts → cloud-identity.test.ts} +54 -56
  350. package/src/config/__tests__/{platform-rehydration.test.ts → cloud-rehydration.test.ts} +47 -80
  351. package/src/config/__tests__/default-profile-catalog.test.ts +12 -12
  352. package/src/config/__tests__/default-provider.test.ts +4 -4
  353. package/src/config/__tests__/deployment-context-defaults.test.ts +23 -23
  354. package/src/config/__tests__/{jev-managed-profile.test.ts → jev-cloud-profile.test.ts} +3 -5
  355. package/src/config/__tests__/loader-callsite-strip-fallback.test.ts +2 -2
  356. package/src/config/__tests__/loader-last-known-good.test.ts +6 -6
  357. package/src/config/__tests__/loader-sparse-array-cleanup.test.ts +2 -2
  358. package/src/config/__tests__/profile-materialization.test.ts +7 -7
  359. package/src/config/__tests__/seed-default-provider.test.ts +17 -17
  360. package/src/config/__tests__/sync-gated-profiles.test.ts +20 -20
  361. package/src/config/__tests__/webhook-routing.test.ts +51 -51
  362. package/src/config/bundled-skills/computer-use/TOOLS.json +12 -12
  363. package/src/config/bundled-skills/messaging/SKILL.md +8 -8
  364. package/src/config/bundled-skills/messaging/TOOLS.json +2 -2
  365. package/src/config/bundled-skills/messaging/tools/messaging-analyze-style.ts +1 -1
  366. package/src/config/bundled-skills/messaging/tools/shared.ts +1 -1
  367. package/src/config/bundled-skills/phone-calls/references/TROUBLESHOOTING.md +2 -2
  368. package/src/config/bundled-skills/settings/TOOLS.json +3 -3
  369. package/src/config/bundled-skills/settings/tools/shared.ts +1 -1
  370. package/src/config/bundled-skills/settings/tools/voice-config-update.ts +12 -12
  371. package/src/config/bundled-skills/skill-management/SKILL.md +3 -3
  372. package/src/config/bundled-skills/skill-management/TOOLS.json +8 -8
  373. package/src/config/bundled-skills/skill-management/tools/{delete-managed.ts → delete-cloud.ts} +2 -2
  374. package/src/config/bundled-skills/skill-management/tools/{scaffold-managed.ts → scaffold-cloud.ts} +2 -2
  375. package/src/config/call-site-defaults.ts +6 -6
  376. package/src/config/{platform-identity.ts → cloud-identity.ts} +39 -42
  377. package/src/config/cloud-rehydration.ts +35 -0
  378. package/src/config/{managed-speech-defaults.ts → cloud-speech-defaults.ts} +13 -13
  379. package/src/config/default-profile-catalog.ts +36 -38
  380. package/src/config/default-profile-names.ts +11 -11
  381. package/src/config/default-provider-resolution.ts +2 -2
  382. package/src/config/default-provider.ts +1 -1
  383. package/src/config/env-registry.ts +23 -21
  384. package/src/config/env.ts +33 -46
  385. package/src/config/feature-flag-registry.json +5 -5
  386. package/src/config/inference-profile-validation.ts +1 -1
  387. package/src/config/llm-resolver.ts +9 -10
  388. package/src/config/loader.ts +33 -17
  389. package/src/config/profile-materialization.ts +8 -8
  390. package/src/config/profile-text-generation.test.ts +1 -1
  391. package/src/config/sanitize-for-transfer.ts +1 -1
  392. package/src/config/schema.ts +6 -6
  393. package/src/config/schemas/__tests__/stt.test.ts +2 -2
  394. package/src/config/schemas/call-site-catalog.ts +1 -1
  395. package/src/config/schemas/channels.ts +8 -0
  396. package/src/config/schemas/{platform.ts → cloud.ts} +7 -6
  397. package/src/config/schemas/host-browser.ts +1 -0
  398. package/src/config/schemas/ingress.ts +1 -12
  399. package/src/config/schemas/llm.ts +45 -36
  400. package/src/config/schemas/memory-lifecycle.ts +11 -1
  401. package/src/config/schemas/services.ts +4 -4
  402. package/src/config/schemas/stt.ts +3 -3
  403. package/src/config/schemas/tts.ts +10 -5
  404. package/src/config/schemas/voice.ts +1 -1
  405. package/src/config/seed-inference-profiles.ts +19 -19
  406. package/src/config/skill-state.ts +2 -2
  407. package/src/config/skills.ts +4 -4
  408. package/src/config/sync-gated-profiles.ts +8 -8
  409. package/src/config/webhook-routing.ts +19 -19
  410. package/src/contacts/contacts-write.ts +1 -1
  411. package/src/credential-execution/ces-runtime.ts +6 -6
  412. package/src/credential-execution/{managed-catalog.ts → cloud-catalog.ts} +24 -24
  413. package/src/credential-execution/prompted-credential.ts +6 -18
  414. package/src/credential-health/credential-health-service.ts +61 -76
  415. package/src/daemon/__tests__/can-spawn-subagents.test.ts +1 -1
  416. package/src/daemon/__tests__/conversation-tool-setup-exclude.test.ts +4 -4
  417. package/src/daemon/config-watcher.ts +2 -2
  418. package/src/daemon/conversation-agent-loop.ts +9 -9
  419. package/src/daemon/conversation-error.ts +36 -36
  420. package/src/daemon/conversation-skill-tools.ts +7 -7
  421. package/src/daemon/conversation-surfaces.ts +1 -1
  422. package/src/daemon/conversation-tool-setup.ts +2 -2
  423. package/src/daemon/conversation-turn-finalize.ts +1 -1
  424. package/src/daemon/conversation-workspace.ts +1 -1
  425. package/src/daemon/conversation.ts +1 -1
  426. package/src/daemon/credential-transcript-scrub.ts +21 -35
  427. package/src/daemon/daemon-readiness.ts +1 -1
  428. package/src/daemon/event-loop-watchdog.ts +2 -2
  429. package/src/daemon/handlers/config-ingress.ts +9 -9
  430. package/src/daemon/handlers/config-telegram.ts +6 -6
  431. package/src/daemon/handlers/skills.ts +20 -20
  432. package/src/daemon/host-cu-proxy.ts +1 -1
  433. package/src/daemon/lifecycle.ts +19 -19
  434. package/src/daemon/parse-actual-tokens-from-error.ts +3 -3
  435. package/src/daemon/providers-setup.ts +6 -6
  436. package/src/daemon/resource-pressure-guard-lifecycle.ts +1 -1
  437. package/src/daemon/resource-pressure-guard.ts +6 -6
  438. package/src/daemon/shutdown-handlers.ts +1 -1
  439. package/src/daemon/sqlite-corruption-watchdog.ts +3 -3
  440. package/src/daemon/trust-context.ts +1 -1
  441. package/src/desktop/desktop-automation-lease.ts +1 -1
  442. package/src/desktop/desktop-browser-endpoint.ts +2 -4
  443. package/src/desktop/desktop-computer-use-routing.test.ts +6 -6
  444. package/src/desktop/desktop-stream-bridge.test.ts +4 -4
  445. package/src/desktop/desktop-stream-bridge.ts +1 -1
  446. package/src/desktop/{virtual-desktop-platform.test.ts → virtual-desktop-cloud.test.ts} +6 -6
  447. package/src/desktop/virtual-desktop-feature.ts +7 -7
  448. package/src/email/byo-email-credential.ts +1 -1
  449. package/src/email/registered-inbox.test.ts +16 -16
  450. package/src/email/registered-inbox.ts +20 -20
  451. package/src/heartbeat/heartbeat-service.ts +1 -1
  452. package/src/hooks/hook-loader.ts +2 -2
  453. package/src/inbound/__tests__/oauth-callback-url.test.ts +2 -2
  454. package/src/inbound/__tests__/tunnel-probe.test.ts +8 -8
  455. package/src/inbound/{platform-callback-registration.ts → cloud-callback-registration.ts} +49 -60
  456. package/src/inbound/oauth-callback-url.ts +6 -6
  457. package/src/inbound/pod-webhook-claim.ts +2 -2
  458. package/src/inbound/public-ingress-urls.ts +3 -3
  459. package/src/inbound/tunnel-probe.ts +21 -15
  460. package/src/inbound/tunnel-webhooks-gate.ts +3 -3
  461. package/src/ipc/__tests__/db-readiness-ipc-gate.test.ts +1 -1
  462. package/src/ipc/__tests__/email-ipc.test.ts +8 -8
  463. package/src/ipc/gateway-client.test.ts +55 -59
  464. package/src/ipc/gateway-flag-listener.ts +3 -3
  465. package/src/ipc/routes/db-proxy.ts +1 -1
  466. package/src/live-voice/__tests__/live-activity-reporter.test.ts +2 -2
  467. package/src/live-voice/__tests__/{live-voice-managed-speech-fallback.test.ts → live-voice-cloud-speech-fallback.test.ts} +15 -15
  468. package/src/live-voice/__tests__/live-voice-credential-preflight.test.ts +7 -7
  469. package/src/live-voice/__tests__/live-voice-stt.test.ts +1 -1
  470. package/src/live-voice/live-activity-reporter.ts +7 -7
  471. package/src/live-voice/live-voice-credential-preflight.ts +6 -6
  472. package/src/live-voice/live-voice-session.ts +3 -3
  473. package/src/live-voice/live-voice-tts.ts +1 -1
  474. package/src/mcp/__tests__/mcp-oauth-client-registration.test.ts +4 -4
  475. package/src/mcp/__tests__/mcp-oauth-provider.test.ts +1 -1
  476. package/src/mcp/mcp-oauth-provider.ts +2 -2
  477. package/src/media/gemini-image-service.ts +11 -13
  478. package/src/media/image-credentials.ts +9 -9
  479. package/src/media/openai-image-service.ts +1 -1
  480. package/src/media/types.ts +3 -3
  481. package/src/messaging/providers/channel-transport.ts +1 -1
  482. package/src/messaging/providers/discord/transport.ts +1 -1
  483. package/src/messaging/providers/gmail/adapter.ts +1 -1
  484. package/src/messaging/providers/gmail/client.ts +4 -4
  485. package/src/messaging/providers/outlook/adapter.ts +1 -1
  486. package/src/messaging/providers/slack/adapter.ts +1 -1
  487. package/src/messaging/providers/slack/transport.ts +1 -1
  488. package/src/messaging/providers/telegram-bot/transport.ts +1 -1
  489. package/src/monitoring/db-integrity-check.ts +1 -1
  490. package/src/monitoring/db-integrity-sample.ts +2 -2
  491. package/src/monitoring/mount-watch.ts +1 -1
  492. package/src/monitoring/oom-kill-reporter.ts +1 -1
  493. package/src/monitoring/worker.ts +5 -5
  494. package/src/notifications/README.md +2 -2
  495. package/src/notifications/__tests__/broadcaster.test.ts +9 -9
  496. package/src/notifications/__tests__/completion-policy.test.ts +1 -1
  497. package/src/notifications/__tests__/emit-signal-pipeline-failure.test.ts +4 -4
  498. package/src/notifications/activity-failed-dedupe.ts +1 -1
  499. package/src/notifications/adapters/{platform.ts → cloud.ts} +8 -8
  500. package/src/notifications/broadcaster.ts +10 -10
  501. package/src/notifications/decision-engine.ts +1 -1
  502. package/src/notifications/destination-resolver.ts +1 -1
  503. package/src/notifications/emit-signal.ts +6 -6
  504. package/src/notifications/types.ts +2 -2
  505. package/src/oauth/__tests__/identity-verifier.test.ts +1 -1
  506. package/src/oauth/__tests__/{seed-providers-managed.test.ts → seed-providers-cloud.test.ts} +13 -13
  507. package/src/oauth/byo-connection.test.ts +2 -2
  508. package/src/oauth/{platform-connection.test.ts → cloud-connection.test.ts} +41 -43
  509. package/src/oauth/{platform-connection.ts → cloud-connection.ts} +19 -19
  510. package/src/oauth/connection-resolver.test.ts +59 -61
  511. package/src/oauth/connection-resolver.ts +22 -22
  512. package/src/oauth/connection.ts +1 -1
  513. package/src/oauth/oauth-store.ts +8 -8
  514. package/src/oauth/provider-serializer.ts +4 -4
  515. package/src/oauth/revoke.ts +1 -1
  516. package/src/oauth/seed-providers.ts +32 -32
  517. package/src/permissions/approval-provenance.ts +1 -1
  518. package/src/permissions/checker.test.ts +18 -16
  519. package/src/permissions/checker.ts +3 -3
  520. package/src/persistence/compaction-log-store-clickhouse.ts +3 -3
  521. package/src/persistence/embeddings/embedding-backend.test.ts +16 -16
  522. package/src/persistence/embeddings/embedding-backend.ts +13 -13
  523. package/src/persistence/embeddings/embedding-gemini.test.ts +9 -12
  524. package/src/persistence/embeddings/embedding-gemini.ts +11 -11
  525. package/src/persistence/embeddings/embedding-runtime-manager.ts +2 -2
  526. package/src/persistence/jobs-store.ts +1 -1
  527. package/src/persistence/lifecycle-events-store.ts +1 -1
  528. package/src/persistence/llm-request-log-sink-clickhouse.ts +3 -3
  529. package/src/persistence/llm-request-log-source-clickhouse.ts +3 -3
  530. package/src/persistence/migrations/224-oauth-providers-managed-service-is-paid.ts +1 -1
  531. package/src/persistence/migrations/296-rewrite-balanced-economy-profile-pins.test.ts +1 -1
  532. package/src/persistence/migrations/296-rewrite-balanced-economy-profile-pins.ts +2 -2
  533. package/src/persistence/migrations/306-rewrite-frontier-profile-pins.test.ts +1 -1
  534. package/src/persistence/migrations/306-rewrite-frontier-profile-pins.ts +1 -1
  535. package/src/persistence/migrations/351-schedule-skill-script-handoff.ts +1 -1
  536. package/src/persistence/migrations/361-normalize-managed-connection-rows.test.ts +3 -3
  537. package/src/persistence/migrations/361-normalize-managed-connection-rows.ts +7 -7
  538. package/src/persistence/migrations/__tests__/319-remove-legacy-managed-connections.test.ts +2 -2
  539. package/src/persistence/schema/oauth.ts +1 -1
  540. package/src/plugin-api/index.ts +4 -4
  541. package/src/plugin-api/model-profiles.test.ts +1 -1
  542. package/src/plugin-api/model-profiles.ts +1 -1
  543. package/src/plugin-api/transcription-session.ts +1 -1
  544. package/src/plugin-api/vision-support.test.ts +1 -1
  545. package/src/plugin-api/webhook-url.ts +12 -12
  546. package/src/plugins/__tests__/source-fingerprint.test.ts +1 -1
  547. package/src/plugins/defaults/{platform-hosted → cloud-hosted}/__tests__/reengage.test.ts +5 -6
  548. package/src/plugins/defaults/cloud-hosted/package.json +14 -0
  549. package/src/plugins/defaults/{platform-hosted → cloud-hosted}/routes/reengage.ts +3 -3
  550. package/src/plugins/defaults/index.ts +6 -6
  551. package/src/plugins/defaults/main.ts +5 -5
  552. package/src/plugins/defaults/memory/__tests__/memory-retrospective-job.test.ts +5 -5
  553. package/src/plugins/defaults/memory/__tests__/memory-retrospective-prompt.test.ts +1 -1
  554. package/src/plugins/defaults/memory/__tests__/memory-retrospective-provider-path.test.ts +1 -1
  555. package/src/plugins/defaults/memory/config.ts +4 -4
  556. package/src/plugins/defaults/memory/memory-retrospective-constants.ts +2 -2
  557. package/src/plugins/defaults/memory/memory-retrospective-job.ts +7 -7
  558. package/src/plugins/defaults/memory/memory-retrospective-prompt.ts +5 -5
  559. package/src/plugins/defaults/memory/memory-retrospective-skill-card.ts +2 -2
  560. package/src/plugins/defaults/memory/src/__tests__/memory-v2-routes.test.ts +1 -1
  561. package/src/plugins/defaults/memory/src/__tests__/memory-worker-routes.test.ts +1 -1
  562. package/src/plugins/defaults/memory/substrate/__tests__/boot-maintenance.test.ts +20 -20
  563. package/src/plugins/defaults/memory/substrate/__tests__/cli-command-store.test.ts +1 -1
  564. package/src/plugins/defaults/memory/substrate/__tests__/skill-store.test.ts +3 -3
  565. package/src/plugins/defaults/memory/substrate/boot-maintenance.ts +17 -17
  566. package/src/plugins/defaults/memory/substrate/cli-command-store.ts +2 -2
  567. package/src/plugins/defaults/memory/substrate/prompts/consolidation.ts +1 -1
  568. package/src/plugins/defaults/memory/substrate/skill-store.ts +4 -4
  569. package/src/plugins/defaults/memory/v3/__tests__/maintain-job.test.ts +3 -3
  570. package/src/plugins/defaults/memory/v3/__tests__/pool-select.test.ts +2 -2
  571. package/src/plugins/defaults/memory/v3/maintain-job.ts +10 -10
  572. package/src/plugins/defaults/memory/v3/orchestrate.ts +3 -3
  573. package/src/plugins/defaults/memory/worker.ts +5 -5
  574. package/src/plugins/defaults/workspace/injectors.ts +2 -2
  575. package/src/plugins/mtime-cache.ts +1 -1
  576. package/src/plugins/source-versions.ts +1 -1
  577. package/src/plugins/types.ts +1 -1
  578. package/src/prompts/__tests__/system-prompt.test.ts +1 -1
  579. package/src/prompts/normalize-onboarding.ts +1 -1
  580. package/src/prompts/persona-resolver.ts +1 -1
  581. package/src/prompts/templates/system-sections.ts +3 -3
  582. package/src/providers/__tests__/cadet-connection-routing.test.ts +7 -7
  583. package/src/providers/__tests__/cadet-mismatch-routing.test.ts +12 -12
  584. package/src/providers/__tests__/connection-model-compat.test.ts +2 -2
  585. package/src/providers/__tests__/dispatch-connection-routing.test.ts +10 -10
  586. package/src/providers/__tests__/inference.test.ts +2 -2
  587. package/src/providers/__tests__/preflight-resolved-config.test.ts +16 -16
  588. package/src/providers/__tests__/retry-callsite.test.ts +1 -1
  589. package/src/providers/__tests__/satellite-connection-routing.test.ts +4 -4
  590. package/src/providers/__tests__/search-provider-catalog.test.ts +2 -2
  591. package/src/providers/__tests__/voice-error-copy.test.ts +3 -3
  592. package/src/providers/anthropic/client.ts +1 -1
  593. package/src/providers/cadet/client.ts +1 -1
  594. package/src/providers/cadet-model-routing.test.ts +19 -19
  595. package/src/providers/cadet-model-routing.ts +23 -23
  596. package/src/providers/call-site-routing.ts +10 -10
  597. package/src/providers/{platform-proxy → cloud-proxy}/constants.ts +11 -11
  598. package/src/providers/{platform-proxy → cloud-proxy}/context.ts +26 -26
  599. package/src/providers/connection-resolution.ts +43 -43
  600. package/src/providers/fallback-breaker.ts +2 -2
  601. package/src/providers/fetch-provider-catalog.ts +3 -3
  602. package/src/providers/gemini/client.ts +5 -5
  603. package/src/providers/inference/__tests__/adapter-factory-openai-compatible.test.ts +3 -3
  604. package/src/providers/inference/__tests__/base-url-route-validation.test.ts +8 -8
  605. package/src/providers/inference/__tests__/base-url-security.test.ts +4 -4
  606. package/src/providers/inference/adapter-factory.ts +35 -35
  607. package/src/providers/inference/auth.ts +10 -10
  608. package/src/providers/inference/backfill.ts +11 -11
  609. package/src/providers/inference/connection-availability.ts +24 -24
  610. package/src/providers/inference/connections.ts +18 -20
  611. package/src/providers/inference/profile-probe.ts +4 -4
  612. package/src/providers/inference/resolve-auth.ts +8 -8
  613. package/src/providers/jev/ask.test.ts +1 -1
  614. package/src/providers/jev/ask.ts +2 -2
  615. package/src/providers/model-catalog.ts +8 -9
  616. package/src/providers/openai/__tests__/api-error-normalization.test.ts +3 -3
  617. package/src/providers/openai/api-error-normalization.ts +2 -2
  618. package/src/providers/provider-availability.ts +4 -4
  619. package/src/providers/provider-env-vars.ts +1 -1
  620. package/src/providers/provider-secret-catalog.ts +1 -1
  621. package/src/providers/registry.ts +20 -20
  622. package/src/providers/retry.ts +26 -26
  623. package/src/providers/routing-identity.ts +10 -10
  624. package/src/providers/search-provider-catalog.ts +2 -2
  625. package/src/providers/speech-to-text/__tests__/{cadet-managed-realtime.test.ts → cadet-cloud-realtime.test.ts} +3 -3
  626. package/src/providers/speech-to-text/__tests__/{cadet-managed.test.ts → cadet-cloud.test.ts} +35 -35
  627. package/src/providers/speech-to-text/__tests__/deepgram-flux-realtime.test.ts +1 -1
  628. package/src/providers/speech-to-text/__tests__/resolve.test.ts +27 -27
  629. package/src/providers/speech-to-text/{cadet-managed-flux-realtime.ts → cadet-cloud-flux-realtime.ts} +6 -8
  630. package/src/providers/speech-to-text/{cadet-managed-realtime.ts → cadet-cloud-realtime.ts} +3 -3
  631. package/src/providers/speech-to-text/{cadet-managed.ts → cadet-cloud.ts} +18 -20
  632. package/src/providers/speech-to-text/cadet-speech-relay-connection.ts +7 -7
  633. package/src/providers/speech-to-text/deepgram-flux-frames.ts +3 -3
  634. package/src/providers/speech-to-text/deepgram-flux-realtime.ts +4 -4
  635. package/src/providers/speech-to-text/provider-catalog.ts +3 -3
  636. package/src/providers/speech-to-text/resolve.ts +26 -28
  637. package/src/providers/together/client.ts +1 -1
  638. package/src/providers/types.ts +4 -4
  639. package/src/providers/voice-error-copy.ts +1 -1
  640. package/src/runtime/__tests__/desktop-stream-upgrade.test.ts +10 -10
  641. package/src/runtime/agent-wake.ts +1 -1
  642. package/src/runtime/auth/__tests__/middleware.test.ts +1 -1
  643. package/src/runtime/auth/middleware.ts +1 -1
  644. package/src/runtime/auth/scopes.ts +1 -1
  645. package/src/runtime/capabilities.ts +1 -1
  646. package/src/runtime/channel-invite-transports/discord.ts +1 -1
  647. package/src/runtime/channel-invite-transports/email.ts +2 -2
  648. package/src/runtime/channel-readiness-service.ts +15 -13
  649. package/src/runtime/channel-reply-session.test.ts +1 -1
  650. package/src/runtime/channel-reply-session.ts +1 -1
  651. package/src/runtime/http-server.ts +4 -4
  652. package/src/runtime/introduction-policy.ts +4 -4
  653. package/src/runtime/migrations/__tests__/origin-mode.test.ts +14 -14
  654. package/src/runtime/migrations/__tests__/v1-test-helpers.ts +1 -1
  655. package/src/runtime/migrations/__tests__/vbundle-import-version-compat.test.ts +2 -2
  656. package/src/runtime/migrations/__tests__/vbundle-metadata-merge-integration.test.ts +3 -4
  657. package/src/runtime/migrations/__tests__/vbundle-metadata-merge.test.ts +6 -7
  658. package/src/runtime/migrations/__tests__/vbundle-validator-v1-schema.test.ts +1 -1
  659. package/src/runtime/migrations/migration-transport.ts +3 -3
  660. package/src/runtime/migrations/origin-mode.ts +6 -9
  661. package/src/runtime/migrations/vbundle-import-policy.ts +2 -2
  662. package/src/runtime/migrations/vbundle-importer.ts +4 -4
  663. package/src/runtime/migrations/vbundle-streaming-importer.ts +6 -6
  664. package/src/runtime/migrations/vbundle-validator.ts +1 -1
  665. package/src/runtime/routes/__tests__/{platform-credits-routes.test.ts → cloud-credits-routes.test.ts} +9 -9
  666. package/src/runtime/routes/__tests__/{platform-invoice-routes.test.ts → cloud-invoice-routes.test.ts} +13 -13
  667. package/src/runtime/routes/__tests__/connection-routes-vs-cli-parity.test.ts +1 -1
  668. package/src/runtime/routes/__tests__/conversation-query-routes.test.ts +26 -25
  669. package/src/runtime/routes/__tests__/default-plugin-routes.test.ts +5 -5
  670. package/src/runtime/routes/__tests__/default-provider-routes.test.ts +10 -10
  671. package/src/runtime/routes/__tests__/inference-profiles-routes.test.ts +18 -18
  672. package/src/runtime/routes/__tests__/inference-provider-connection-routes.test.ts +18 -16
  673. package/src/runtime/routes/__tests__/inference-send-routes.test.ts +1 -1
  674. package/src/runtime/routes/__tests__/ingress-status-routes.test.ts +1 -1
  675. package/src/runtime/routes/__tests__/migration-cadet-metadata-reconcile.test.ts +5 -20
  676. package/src/runtime/routes/__tests__/migration-import-credential-filter.test.ts +19 -22
  677. package/src/runtime/routes/__tests__/oauth-proxy-routes.test.ts +27 -27
  678. package/src/runtime/routes/__tests__/plugins-routes.test.ts +5 -5
  679. package/src/runtime/routes/__tests__/ps-routes.test.ts +5 -3
  680. package/src/runtime/routes/__tests__/roadmap-routes.test.ts +15 -15
  681. package/src/runtime/routes/__tests__/webhook-routes.test.ts +31 -31
  682. package/src/runtime/routes/app-management-routes.ts +1 -1
  683. package/src/runtime/routes/attachment-routes.ts +1 -1
  684. package/src/runtime/routes/auth-routes.ts +14 -14
  685. package/src/runtime/routes/avatar-routes.ts +0 -14
  686. package/src/runtime/routes/background-wake-routes.ts +4 -4
  687. package/src/runtime/routes/channel-availability-routes.ts +4 -4
  688. package/src/runtime/routes/client-routes.ts +5 -5
  689. package/src/runtime/routes/cloud-credentials.ts +45 -0
  690. package/src/runtime/routes/{platform-routes.ts → cloud-routes.ts} +83 -116
  691. package/src/runtime/routes/conversation-compaction-routes.ts +1 -1
  692. package/src/runtime/routes/conversation-query-routes.ts +82 -282
  693. package/src/runtime/routes/credential-routes.ts +28 -30
  694. package/src/runtime/routes/default-provider-routes.ts +1 -1
  695. package/src/runtime/routes/desktop-setup-routes.test.ts +5 -5
  696. package/src/runtime/routes/desktop-setup-routes.ts +1 -1
  697. package/src/runtime/routes/domain-routes.ts +15 -21
  698. package/src/runtime/routes/email-routes.ts +13 -13
  699. package/src/runtime/routes/errors.ts +1 -1
  700. package/src/runtime/routes/gateway-status-routes.ts +1 -1
  701. package/src/runtime/routes/identity-routes.ts +3 -3
  702. package/src/runtime/routes/inbound-message-handler.ts +1 -1
  703. package/src/runtime/routes/inbound-stages/acl-enforcement.ts +1 -1
  704. package/src/runtime/routes/inbound-stages/transcribe-audio.test.ts +1 -1
  705. package/src/runtime/routes/index.ts +1 -1
  706. package/src/runtime/routes/inference-profile-availability-guard.ts +5 -5
  707. package/src/runtime/routes/inference-profiles-routes.ts +11 -11
  708. package/src/runtime/routes/inference-provider-connection-routes.ts +24 -24
  709. package/src/runtime/routes/ingress-status-routes.ts +1 -1
  710. package/src/runtime/routes/integrations/a2a.ts +2 -2
  711. package/src/runtime/routes/integrations/twilio.ts +21 -35
  712. package/src/runtime/routes/internal-telemetry-routes.ts +2 -2
  713. package/src/runtime/routes/live-voice-routes.test.ts +4 -4
  714. package/src/runtime/routes/live-voice-routes.ts +6 -6
  715. package/src/runtime/routes/migration-routes.ts +34 -40
  716. package/src/runtime/routes/oauth-commands-routes.ts +31 -31
  717. package/src/runtime/routes/oauth-providers.ts +5 -5
  718. package/src/runtime/routes/oauth-proxy-passthrough.test.ts +1 -1
  719. package/src/runtime/routes/oauth-proxy-passthrough.ts +8 -8
  720. package/src/runtime/routes/oauth-proxy-routes.ts +15 -17
  721. package/src/runtime/routes/oauth-request-hints.test.ts +1 -1
  722. package/src/runtime/routes/oauth-request-hints.ts +1 -1
  723. package/src/runtime/routes/plugins-routes.ts +9 -9
  724. package/src/runtime/routes/profiler-routes.ts +1 -1
  725. package/src/runtime/routes/ps-routes.ts +4 -0
  726. package/src/runtime/routes/roadmap-routes.ts +18 -20
  727. package/src/runtime/routes/secret-routes.ts +29 -55
  728. package/src/runtime/routes/settings-routes.ts +18 -23
  729. package/src/runtime/routes/telemetry-routes.ts +4 -4
  730. package/src/runtime/routes/tts-routes.ts +4 -4
  731. package/src/runtime/routes/user-route-resolution.ts +1 -1
  732. package/src/runtime/routes/webhook-routes.ts +18 -18
  733. package/src/runtime/routes/workflow-routes.ts +5 -5
  734. package/src/runtime/sync/resource-sync-events.ts +2 -2
  735. package/src/runtime/verification-outbound-actions.ts +4 -4
  736. package/src/schedule/integration-status.ts +6 -6
  737. package/src/schedule/run-script.ts +1 -1
  738. package/src/schedule/schedule-timezone.ts +1 -1
  739. package/src/schedule/worker.ts +5 -5
  740. package/src/security/auth-fallback-events-store.ts +1 -1
  741. package/src/security/oauth2.ts +4 -4
  742. package/src/skills/available-skills.ts +4 -4
  743. package/src/skills/catalog-files.ts +8 -8
  744. package/src/skills/catalog-install.ts +12 -12
  745. package/src/skills/categories-cache.ts +3 -3
  746. package/src/skills/clawhub.ts +1 -1
  747. package/src/skills/{platform-compatibility.test.ts → cloud-compatibility.test.ts} +7 -7
  748. package/src/skills/{platform-compatibility.ts → cloud-compatibility.ts} +2 -4
  749. package/src/skills/{managed-store.ts → cloud-store.ts} +21 -23
  750. package/src/skills/inline-command-runner.ts +1 -1
  751. package/src/skills/install-meta.ts +1 -1
  752. package/src/skills/path-classifier.ts +4 -4
  753. package/src/skills/skill-history.ts +4 -4
  754. package/src/skills/skillssh-registry.ts +1 -1
  755. package/src/stt/__tests__/daemon-batch-transcriber.test.ts +1 -1
  756. package/src/stt/daemon-batch-transcriber.ts +7 -7
  757. package/src/stt/types.ts +3 -3
  758. package/src/subagent/manager.ts +15 -15
  759. package/src/subagent/types.ts +1 -1
  760. package/src/telegram/__tests__/webhook-health.test.ts +16 -16
  761. package/src/telegram/webhook-health.ts +10 -10
  762. package/src/telemetry/__tests__/config-setting-events-store.test.ts +1 -1
  763. package/src/telemetry/__tests__/outbox-test-harness.ts +2 -2
  764. package/src/telemetry/config-setting-events-store.ts +1 -1
  765. package/src/telemetry/config-setting-snapshot.ts +1 -1
  766. package/src/telemetry/memory-corpus-size.ts +1 -1
  767. package/src/telemetry/memory-tier-reporter.test.ts +2 -2
  768. package/src/telemetry/memory-tier-reporter.ts +3 -3
  769. package/src/telemetry/telemetry-event-sources.test.ts +2 -2
  770. package/src/telemetry/telemetry-event-sources.ts +9 -9
  771. package/src/telemetry/telemetry-events-outbox.ts +2 -2
  772. package/src/telemetry/telemetry-wire-validation.test.ts +1 -1
  773. package/src/telemetry/telemetry-wire-validation.ts +3 -3
  774. package/src/telemetry/telemetry-wire.generated.ts +1 -1
  775. package/src/telemetry/tool-audit.ts +1 -1
  776. package/src/telemetry/tool-executed-events-store.test.ts +1 -1
  777. package/src/telemetry/trace-collection-policy.ts +4 -4
  778. package/src/telemetry/turn-events-store.ts +1 -1
  779. package/src/telemetry/turn-outcome.ts +1 -1
  780. package/src/telemetry/turn-trace-store.ts +2 -2
  781. package/src/telemetry/types.test.ts +1 -1
  782. package/src/telemetry/types.ts +19 -19
  783. package/src/telemetry/usage-telemetry-reporter.test.ts +42 -42
  784. package/src/telemetry/usage-telemetry-reporter.ts +17 -17
  785. package/src/telemetry/watchdog-direct-emit.test.ts +9 -9
  786. package/src/telemetry/watchdog-direct-emit.ts +10 -10
  787. package/src/tools/__tests__/side-effect-abort-guard.test.ts +2 -2
  788. package/src/tools/browser/cdp-client/factory.ts +1 -1
  789. package/src/tools/computer-use/target.ts +2 -2
  790. package/src/tools/credentials/store.ts +6 -15
  791. package/src/tools/network/__tests__/{managed-search-proxy.test.ts → cloud-search-proxy.test.ts} +20 -20
  792. package/src/tools/network/__tests__/web-search.test.ts +14 -14
  793. package/src/tools/network/{managed-search-proxy.ts → cloud-search-proxy.ts} +13 -13
  794. package/src/tools/network/web-search.ts +9 -9
  795. package/src/tools/permission-checker.ts +2 -2
  796. package/src/tools/shared/input-misuse.ts +1 -1
  797. package/src/tools/shared/input-repairs.ts +4 -4
  798. package/src/tools/skills/{delete-managed.ts → delete-cloud.ts} +4 -4
  799. package/src/tools/skills/find-similar-skills.test.ts +7 -7
  800. package/src/tools/skills/find-similar-skills.ts +15 -15
  801. package/src/tools/skills/load.ts +6 -6
  802. package/src/tools/skills/{scaffold-managed.ts → scaffold-cloud.ts} +16 -16
  803. package/src/tools/skills/skill-script-runner.ts +2 -2
  804. package/src/tools/terminal/safe-env.ts +3 -3
  805. package/src/tools/tool-types.ts +2 -2
  806. package/src/tools/types.ts +2 -2
  807. package/src/tools/ui-surface/surface-shape-docs.ts +2 -2
  808. package/src/tools/workflows/manage-workflows.ts +1 -1
  809. package/src/tools/workspace-tools/loader.ts +1 -1
  810. package/src/tts/__tests__/cadet-provider.test.ts +5 -5
  811. package/src/tts/provider-catalog.ts +1 -1
  812. package/src/tts/providers/cadet-provider.ts +23 -23
  813. package/src/tts/providers/cadet-tts-socket.ts +2 -2
  814. package/src/tts/tts-config-resolver.ts +1 -1
  815. package/src/tts/tts-voice-field.ts +3 -3
  816. package/src/usage/subagent-attribution.ts +1 -1
  817. package/src/util/__tests__/process-table.test.ts +47 -0
  818. package/src/util/canonicalize-identity.ts +1 -1
  819. package/src/util/cgroup-cpu.ts +5 -5
  820. package/src/util/cgroup-memory.ts +2 -2
  821. package/src/util/container-cpu-sampler.ts +4 -4
  822. package/src/util/disk-usage.ts +4 -4
  823. package/src/util/errors.ts +3 -3
  824. package/src/util/oom-priority.ts +1 -1
  825. package/src/util/platform.ts +5 -5
  826. package/src/util/process-table.ts +39 -5
  827. package/src/util/provider-error-patterns.ts +2 -2
  828. package/src/watch/__tests__/watch-retro.test.ts +2 -2
  829. package/src/watch/watch-retro.ts +1 -1
  830. package/src/watcher/__tests__/telemetry.test.ts +2 -2
  831. package/src/watcher/telemetry.ts +1 -1
  832. package/src/windows-compiled-cli.ts +1 -1
  833. package/src/workspace/adaptive-thinking-repair.ts +4 -4
  834. package/src/workspace/byok-default-profile-ensure.ts +7 -7
  835. package/src/workspace/git-service.ts +2 -2
  836. package/src/workspace/migrations/006-services-config.ts +1 -1
  837. package/src/workspace/migrations/040-seed-latency-callsite-defaults.ts +1 -1
  838. package/src/workspace/migrations/052-seed-default-inference-profiles.ts +1 -1
  839. package/src/workspace/migrations/063-release-notes-dynamic-model-context.ts +1 -1
  840. package/src/workspace/migrations/066-seed-heartbeat-callsite-cost-default.ts +1 -1
  841. package/src/workspace/migrations/082-backfill-managed-profile-labels.ts +4 -4
  842. package/src/workspace/migrations/087-memory-router-balanced-profile.ts +3 -3
  843. package/src/workspace/migrations/090-memory-router-cost-optimized-profile.ts +4 -4
  844. package/src/workspace/migrations/097-enable-adaptive-thinking-managed-profiles.ts +5 -5
  845. package/src/workspace/migrations/100-upgrade-quality-profile-to-fable-5.ts +4 -4
  846. package/src/workspace/migrations/101-upgrade-balanced-economy-to-minimax-m3.ts +4 -4
  847. package/src/workspace/migrations/103-upgrade-quality-profile-to-opus-4-8.ts +5 -5
  848. package/src/workspace/migrations/104-recheck-adaptive-thinking-model-implied-anthropic.ts +1 -1
  849. package/src/workspace/migrations/106-drop-collect-usage-data.ts +1 -1
  850. package/src/workspace/migrations/108-drop-balanced-economy-profile.ts +4 -4
  851. package/src/workspace/migrations/109-swap-quality-profile-to-glm-5p2.ts +11 -11
  852. package/src/workspace/migrations/110-flip-balanced-profile-to-together.ts +6 -6
  853. package/src/workspace/migrations/113-swap-balanced-profile-to-glm-5p2.ts +5 -5
  854. package/src/workspace/migrations/114-swap-quality-profile-to-opus.ts +4 -4
  855. package/src/workspace/migrations/115-drop-frontier-profile.ts +5 -5
  856. package/src/workspace/migrations/123-swap-quality-profile-to-fable.ts +5 -5
  857. package/src/workspace/migrations/125-repoint-managed-connections-to-cadet.ts +3 -3
  858. package/src/workspace/migrations/126-strip-managed-profile-bodies.ts +2 -2
  859. package/src/workspace/migrations/127-backfill-default-provider.ts +4 -4
  860. package/src/workspace/migrations/130-speech-mode-to-provider.ts +4 -4
  861. package/src/workspace/migrations/131-drop-web-fetch-mode.ts +1 -1
  862. package/src/workspace/migrations/132-web-search-mode-to-provider.ts +6 -6
  863. package/src/workspace/migrations/133-collapse-provider-connections.ts +3 -3
  864. package/src/workspace/migrations/134-image-generation-mode-to-provider.ts +4 -4
  865. package/src/workspace/migrations/136-repair-stale-fireworks-kimi-model-id.ts +2 -2
  866. package/src/workspace/migrations/137-repair-retired-fireworks-minimax-model-id.ts +2 -2
  867. package/src/workspace/migrations/139-clear-renamed-cost-profile-label.ts +2 -2
  868. package/src/workspace/migrations/141-stt-english-default-to-multilingual.ts +4 -4
  869. package/src/workspace/migrations/144-convert-stranded-subscription-openai-profiles.ts +1 -1
  870. package/src/workspace/migrations/145-collapse-profile-bindings-to-entries.ts +2 -2
  871. package/src/workspace/migrations/146-repair-retired-fireworks-deepseek-flash-model-id.ts +2 -2
  872. package/src/workspace/migrations/148-strip-unsupported-fallback-profiles.ts +2 -2
  873. package/src/workspace/migrations/150-stt-flux-provider-to-model-family.ts +1 -1
  874. package/src/workspace/migrations/151-repair-renamed-fireworks-deepseek-pro-model-id.ts +2 -2
  875. package/src/workspace/migrations/152-repair-retired-fireworks-minimax-m2p7-model-id.ts +2 -2
  876. package/src/workspace/migrations/159-rename-colliding-jev-profile-name.ts +2 -2
  877. package/src/workspace/migrations/160-repair-retired-fireworks-model-ids.ts +2 -2
  878. package/src/workspace/migrations/161-repair-retired-fireworks-glm-5p2-model-id.ts +2 -2
  879. package/src/workspace/migrations/__tests__/141-stt-english-default-to-multilingual.test.ts +1 -1
  880. package/src/workspace/migrations/__tests__/150-stt-flux-provider-to-model-family.test.ts +1 -1
  881. package/src/workspace/migrations/registry.ts +6 -6
  882. package/src/workspace/top-level-renderer.ts +1 -1
  883. package/src/workspace/turn-commit.ts +2 -2
  884. package/src/__tests__/config-loader-platform-defaults.test.ts +0 -606
  885. package/src/__tests__/mock-gateway-ipc.ts +0 -260
  886. package/src/api/events/platform-disconnected.ts +0 -21
  887. package/src/config/platform-rehydration.ts +0 -60
  888. package/src/platform/feature-gate.ts +0 -8
  889. package/src/plugins/defaults/platform-hosted/package.json +0 -14
  890. package/src/runtime/routes/platform-managed-credentials.ts +0 -50
  891. /package/src/__tests__/{gateway-client-managed-outbound.test.ts → gateway-client-cloud-outbound.test.ts} +0 -0
  892. /package/src/__tests__/{secure-keys-managed-failover.test.ts → secure-keys-cloud-failover.test.ts} +0 -0
@@ -2,8 +2,8 @@
2
2
  * Behavioral parity tests for the email CLI commands.
3
3
  *
4
4
  * Exercises the full IPC round-trip using a real AssistantIpcServer with a
5
- * mocked CadetPlatformClient. Validates that each email subcommand:
6
- * - sends the correct HTTP request to the platform API
5
+ * mocked CadetCloudClient. Validates that each email subcommand:
6
+ * - sends the correct HTTP request to the cloud API
7
7
  * - surfaces success responses to the CLI caller
8
8
  * - surfaces platform errors to the CLI caller
9
9
  */
@@ -20,7 +20,7 @@ import { runAssistantCommandFull } from "../../cli/__tests__/run-assistant-comma
20
20
  import { AssistantIpcServer } from "../assistant-server.js";
21
21
 
22
22
  // ---------------------------------------------------------------------------
23
- // Mock state — set up a controllable CadetPlatformClient at module boundary
23
+ // Mock state — set up a controllable CadetCloudClient at module boundary
24
24
  // ---------------------------------------------------------------------------
25
25
 
26
26
  let mockFetchFn: (
@@ -31,10 +31,10 @@ let mockFetchFn: (
31
31
 
32
32
  const mockAssistantId = "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee";
33
33
 
34
- mock.module("../../platform/client.js", () => ({
35
- CadetPlatformClient: {
34
+ mock.module("../../cloud/client.js", () => ({
35
+ CadetCloudClient: {
36
36
  create: async () => ({
37
- platformAssistantId: mockAssistantId,
37
+ cloudAssistantId: mockAssistantId,
38
38
  fetch: (path: string, init?: RequestInit) => mockFetchFn(path, init),
39
39
  }),
40
40
  },
@@ -361,7 +361,7 @@ test("send --json returns delivery_id", async () => {
361
361
  expect(process.exitCode).toBe(0);
362
362
  });
363
363
 
364
- test("send --attach reads the file and forwards base64 attachments to the platform", async () => {
364
+ test("send --attach reads the file and forwards base64 attachments to the cloud", async () => {
365
365
  const dir = mkdtempSync(join(tmpdir(), "email-attach-"));
366
366
  const filePath = join(dir, "report.pdf");
367
367
  const fileBytes = "pdf-bytes-here";
@@ -413,7 +413,7 @@ test("send --attach reads the file and forwards base64 attachments to the platfo
413
413
  }
414
414
  });
415
415
 
416
- test("send with a missing --attach path fails without calling the platform", async () => {
416
+ test("send with a missing --attach path fails without calling the cloud", async () => {
417
417
  let sendCalled = false;
418
418
  mockFetchFn = async (path) => {
419
419
  if (path.includes("/email-addresses/")) {
@@ -8,11 +8,7 @@
8
8
  */
9
9
  import { afterEach, describe, expect, test } from "bun:test";
10
10
 
11
- import {
12
- getMockPersistentCallCount,
13
- mockGatewayIpc,
14
- resetMockGatewayIpc,
15
- } from "../__tests__/mock-gateway-ipc.js";
11
+ import { mockIpc } from "../__tests__/requests-mock.js";
16
12
  import { ServiceUnavailableError } from "../runtime/routes/errors.js";
17
13
  import {
18
14
  ipcCall,
@@ -25,7 +21,6 @@ import {
25
21
 
26
22
  afterEach(() => {
27
23
  resetPersistentClient();
28
- resetMockGatewayIpc();
29
24
  });
30
25
 
31
26
  // ---------------------------------------------------------------------------
@@ -34,22 +29,24 @@ afterEach(() => {
34
29
 
35
30
  describe("ipcCall", () => {
36
31
  test("delegates to package ipcCall and returns result", async () => {
37
- mockGatewayIpc(null, {
38
- results: { test_method: { key: "value" } },
39
- });
32
+ const gateway = await mockIpc("gateway");
33
+ gateway.setDefaults({ test_method: { key: "value" } });
40
34
 
41
35
  const result = await ipcCall("test_method");
42
36
  expect(result).toEqual({ key: "value" });
43
37
  });
44
38
 
45
39
  test("returns undefined when mock simulates error", async () => {
46
- mockGatewayIpc(null, { error: true });
40
+ const gateway = await mockIpc("gateway");
41
+ gateway.failConnect();
47
42
 
48
43
  const result = await ipcCall("test_method");
49
44
  expect(result).toBeUndefined();
50
45
  });
51
46
 
52
47
  test("returns undefined for unconfigured methods", async () => {
48
+ await mockIpc("gateway");
49
+
53
50
  const result = await ipcCall("unconfigured_method");
54
51
  expect(result).toBeUndefined();
55
52
  });
@@ -61,16 +58,16 @@ describe("ipcCall", () => {
61
58
 
62
59
  describe("ipcCallPersistent", () => {
63
60
  test("returns result from persistent client", async () => {
64
- mockGatewayIpc(null, {
65
- results: { persistent_test: "persistent-result" },
66
- });
61
+ const gateway = await mockIpc("gateway");
62
+ gateway.setDefaults({ persistent_test: "persistent-result" });
67
63
 
68
64
  const result = await ipcCallPersistent("persistent_test");
69
65
  expect(result).toBe("persistent-result");
70
66
  });
71
67
 
72
68
  test("maps a missing gateway socket to ServiceUnavailableError", async () => {
73
- mockGatewayIpc(null, { error: true });
69
+ const gateway = await mockIpc("gateway");
70
+ gateway.failConnect();
74
71
 
75
72
  await expect(ipcCallPersistent("any_method")).rejects.toBeInstanceOf(
76
73
  ServiceUnavailableError,
@@ -92,21 +89,23 @@ describe("ipcCallPersistent", () => {
92
89
 
93
90
  describe("ipcGetFeatureFlags", () => {
94
91
  test("parses boolean flag values from IPC response", async () => {
95
- mockGatewayIpc({ "flag-a": true, "flag-b": false });
92
+ const gateway = await mockIpc("gateway");
93
+ gateway.setDefaults({
94
+ get_feature_flags: { "flag-a": true, "flag-b": false },
95
+ });
96
96
 
97
97
  const flags = await ipcGetFeatureFlags();
98
98
  expect(flags).toEqual({ "flag-a": true, "flag-b": false });
99
99
  });
100
100
 
101
101
  test("accepts boolean and string values, filters other types from response", async () => {
102
- mockGatewayIpc(null, {
103
- results: {
104
- get_feature_flags: {
105
- valid: true,
106
- number: 42,
107
- string: "yes",
108
- nested: { deep: true },
109
- },
102
+ const gateway = await mockIpc("gateway");
103
+ gateway.setDefaults({
104
+ get_feature_flags: {
105
+ valid: true,
106
+ number: 42,
107
+ string: "yes",
108
+ nested: { deep: true },
110
109
  },
111
110
  });
112
111
 
@@ -115,25 +114,26 @@ describe("ipcGetFeatureFlags", () => {
115
114
  });
116
115
 
117
116
  test("returns empty record when IPC returns undefined", async () => {
118
- // Explicitly suppress the mock's default `get_feature_flags` sentinel
119
- // (which exists to short-circuit `initFeatureFlagOverrides()`'s retry
120
- // loop) so this test exercises the underlying-undefined path.
121
- mockGatewayIpc(null, { results: { get_feature_flags: undefined } });
117
+ // Explicitly suppress the transport's default `get_feature_flags`
118
+ // sentinel (which exists to short-circuit `initFeatureFlagOverrides()`'s
119
+ // retry loop) so this test exercises the underlying-undefined path.
120
+ const gateway = await mockIpc("gateway");
121
+ gateway.setDefaults({ get_feature_flags: undefined });
122
122
  const flags = await ipcGetFeatureFlags();
123
123
  expect(flags).toEqual({});
124
124
  });
125
125
 
126
126
  test("returns empty record when IPC returns array", async () => {
127
- mockGatewayIpc(null, {
128
- results: { get_feature_flags: [true, false] },
129
- });
127
+ const gateway = await mockIpc("gateway");
128
+ gateway.setDefaults({ get_feature_flags: [true, false] });
130
129
 
131
130
  const flags = await ipcGetFeatureFlags();
132
131
  expect(flags).toEqual({});
133
132
  });
134
133
 
135
134
  test("returns empty record on error", async () => {
136
- mockGatewayIpc(null, { error: true });
135
+ const gateway = await mockIpc("gateway");
136
+ gateway.failConnect();
137
137
 
138
138
  const flags = await ipcGetFeatureFlags();
139
139
  expect(flags).toEqual({});
@@ -142,12 +142,11 @@ describe("ipcGetFeatureFlags", () => {
142
142
 
143
143
  describe("ipcGetTunnelStatus", () => {
144
144
  test("parses the shared Tunnel status response", async () => {
145
- mockGatewayIpc(null, {
146
- results: {
147
- get_tunnel_status: {
148
- connected: true,
149
- publicUrl: "https://example.test",
150
- },
145
+ const gateway = await mockIpc("gateway");
146
+ gateway.setDefaults({
147
+ get_tunnel_status: {
148
+ connected: true,
149
+ publicUrl: "https://example.test",
151
150
  },
152
151
  });
153
152
 
@@ -158,10 +157,9 @@ describe("ipcGetTunnelStatus", () => {
158
157
  });
159
158
 
160
159
  test("keeps connected status when publicUrl is malformed", async () => {
161
- mockGatewayIpc(null, {
162
- results: {
163
- get_tunnel_status: { connected: false, publicUrl: 42 },
164
- },
160
+ const gateway = await mockIpc("gateway");
161
+ gateway.setDefaults({
162
+ get_tunnel_status: { connected: false, publicUrl: 42 },
165
163
  });
166
164
 
167
165
  expect(await ipcGetTunnelStatus()).toEqual({
@@ -171,9 +169,8 @@ describe("ipcGetTunnelStatus", () => {
171
169
  });
172
170
 
173
171
  test("returns null when connected is missing or malformed", async () => {
174
- mockGatewayIpc(null, {
175
- results: { get_tunnel_status: { connected: "yes" } },
176
- });
172
+ const gateway = await mockIpc("gateway");
173
+ gateway.setDefaults({ get_tunnel_status: { connected: "yes" } });
177
174
 
178
175
  expect(await ipcGetTunnelStatus()).toBeNull();
179
176
  });
@@ -193,38 +190,37 @@ describe("ipcClassifyRisk retry", () => {
193
190
  const emptyParams = {} as unknown as Parameters<typeof ipcClassifyRisk>[0];
194
191
 
195
192
  test("retries a transient failure and then succeeds", async () => {
196
- mockGatewayIpc(null, {
197
- failFirstN: 1,
198
- results: { classify_risk: CLASSIFY_OK },
199
- });
193
+ const gateway = await mockIpc("gateway");
194
+ gateway.failFirstN(1);
195
+ gateway.setDefaults({ classify_risk: CLASSIFY_OK });
200
196
 
201
197
  const result = await ipcClassifyRisk(emptyParams);
202
198
  expect(result?.risk).toBe("low");
203
- expect(getMockPersistentCallCount("classify_risk")).toBe(2);
199
+ expect(gateway.persistentCallCount("classify_risk")).toBe(2);
204
200
  });
205
201
 
206
202
  test("returns undefined after exhausting retries (3 attempts)", async () => {
207
- mockGatewayIpc(null, { error: true });
203
+ const gateway = await mockIpc("gateway");
204
+ gateway.failConnect();
208
205
 
209
206
  const result = await ipcClassifyRisk(emptyParams);
210
207
  expect(result).toBeUndefined();
211
- expect(getMockPersistentCallCount("classify_risk")).toBe(3);
208
+ expect(gateway.persistentCallCount("classify_risk")).toBe(3);
212
209
  });
213
210
 
214
211
  test("does NOT retry a structured IpcCallError (fails after 1 attempt)", async () => {
215
- mockGatewayIpc(null, {
216
- failFirstN: 3,
217
- ipcCallError: true,
218
- results: { classify_risk: CLASSIFY_OK },
219
- });
212
+ const gateway = await mockIpc("gateway");
213
+ gateway.failFirstN(3, { ipcCallError: true });
214
+ gateway.setDefaults({ classify_risk: CLASSIFY_OK });
220
215
 
221
216
  const result = await ipcClassifyRisk(emptyParams);
222
217
  expect(result).toBeUndefined();
223
- expect(getMockPersistentCallCount("classify_risk")).toBe(1);
218
+ expect(gateway.persistentCallCount("classify_risk")).toBe(1);
224
219
  });
225
220
 
226
221
  test("stops retrying once the signal is aborted", async () => {
227
- mockGatewayIpc(null, { error: true });
222
+ const gateway = await mockIpc("gateway");
223
+ gateway.failConnect();
228
224
  const controller = new AbortController();
229
225
  controller.abort();
230
226
 
@@ -232,6 +228,6 @@ describe("ipcClassifyRisk retry", () => {
232
228
  expect(result).toBeUndefined();
233
229
  // An already-aborted signal short-circuits the retry loop after the first
234
230
  // failed attempt rather than exhausting all three.
235
- expect(getMockPersistentCallCount("classify_risk")).toBe(1);
231
+ expect(gateway.persistentCallCount("classify_risk")).toBe(1);
236
232
  });
237
233
  });
@@ -12,9 +12,9 @@ const log = getLogger("gateway-flag-listener");
12
12
 
13
13
  /**
14
14
  * Refresh the flag-overrides cache from the gateway, then reconcile the
15
- * flag-gated managed profile (OS Beta). Both the `feature_flags_changed` event
15
+ * flag-gated cloud profile (OS Beta). Both the `feature_flags_changed` event
16
16
  * and a reconnect refresh the cache; `reconcileFlagGatedProfiles` then adds or
17
- * removes the managed profile and, when it reports a change, a `config_changed`
17
+ * removes the cloud profile and, when it reports a change, a `config_changed`
18
18
  * broadcast refreshes the profile picker on clients. The reconcile runs only
19
19
  * when the refresh confirmed flags loaded from the gateway — a transient IPC
20
20
  * failure leaves the cache unset and resolves `os-beta` to its registry default
@@ -109,7 +109,7 @@ function connectToGateway(): void {
109
109
  currentBackoffMs = INITIAL_BACKOFF_MS;
110
110
  socket = conn;
111
111
  // A reconnect may have missed a flag flip while disconnected, so reconcile
112
- // the managed profile too — not just the cache.
112
+ // the cloud profile too — not just the cache.
113
113
  refreshFlagsAndReconcileProfiles("reconnect");
114
114
  });
115
115
 
@@ -3,7 +3,7 @@
3
3
  * against the assistant's SQLite database. Migrations (m0002, m0010, m0014,
4
4
  * et al.) need raw read/drop access to legacy assistant tables on first boot
5
5
  * of upgraded installs, and cross-container SQLite file access corrupts the
6
- * DB on platform pods (fcntl locks are not shared across mount namespaces) —
6
+ * DB on cloud pods (fcntl locks are not shared across mount namespaces) —
7
7
  * so they go through this route.
8
8
  *
9
9
  * This route is intentionally NOT in the shared ROUTES array — it is a
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Tests for the Live Activity phase reporter.
3
3
  *
4
- * The dispatch itself reaches the platform, so these cover the decisions made
4
+ * The dispatch itself reaches the cloud, so these cover the decisions made
5
5
  * before it: which frames move the phase, which repeats are suppressed, and
6
6
  * that ending is latched. The suppression is the load-bearing part —
7
7
  * `tts_audio` arrives many times a second and ActivityKit silently drops
@@ -258,7 +258,7 @@ describe("LiveActivityReporter", () => {
258
258
  });
259
259
  });
260
260
 
261
- // A session can end more than one way and the platform deletes the
261
+ // A session can end more than one way and the cloud deletes the
262
262
  // registration on the first, so a second end would push at an activity that
263
263
  // is already gone.
264
264
  test("ending twice pushes once", async () => {
@@ -1,10 +1,10 @@
1
1
  /**
2
- * Live voice on managed speech without a config write.
2
+ * Live voice on cloud speech without a config write.
3
3
  *
4
4
  * `/v1/live-voice` validates guardian identity only — it does not enforce the
5
5
  * caller's `settings.write` scope — so the WebSocket transport must never
6
6
  * persist `services.stt/tts.provider`. Instead every live-voice leg resolves
7
- * the EFFECTIVE providers: while managed speech is available, a configured
7
+ * the EFFECTIVE providers: while cloud speech is available, a configured
8
8
  * BYOK provider whose credential does not resolve is served by `"cadet"`.
9
9
  * These tests pin both halves of that contract — the readiness verdict and
10
10
  * the runtime legs agree, and `config.json` is byte-identical afterwards.
@@ -39,13 +39,13 @@ const realSttResolveModule = {
39
39
  const realSecureKeysModule = {
40
40
  ...(await import("../../security/secure-keys.js")),
41
41
  };
42
- const realManagedSpeechModule = {
43
- ...(await import("../../platform/managed-speech.js")),
42
+ const realCloudSpeechModule = {
43
+ ...(await import("../../cloud/cloud-speech.js")),
44
44
  };
45
45
 
46
46
  // -- Mutable stub state -------------------------------------------------------
47
47
 
48
- /** Whether the platform connection can serve managed speech. */
48
+ /** Whether the cloud connection can serve cloud speech. */
49
49
  let managedAvailable = false;
50
50
  /** Credential-store keys that resolve to a value. */
51
51
  let providerKeys: Record<string, string>;
@@ -89,16 +89,16 @@ mock.module("../../security/secure-keys.js", () => ({
89
89
  : realSecureKeysModule.getSecureKeyAsync(account),
90
90
  }));
91
91
 
92
- mock.module("../../platform/managed-speech.js", () => ({
93
- ...realManagedSpeechModule,
92
+ mock.module("../../cloud/cloud-speech.js", () => ({
93
+ ...realCloudSpeechModule,
94
94
  managedSpeechAvailable: async () =>
95
95
  fallbackMocksActive
96
96
  ? managedAvailable
97
- : realManagedSpeechModule.managedSpeechAvailable(),
97
+ : realCloudSpeechModule.managedSpeechAvailable(),
98
98
  }));
99
99
 
100
+ import { resolveEffectiveSpeechProviders } from "../../config/cloud-speech-defaults.js";
100
101
  import { getConfig, invalidateConfigCache } from "../../config/loader.js";
101
- import { resolveEffectiveSpeechProviders } from "../../config/managed-speech-defaults.js";
102
102
  import {
103
103
  _resetTtsProviderOverridesForTests,
104
104
  _setTtsProviderForTests,
@@ -134,7 +134,7 @@ function readConfigFile(): string {
134
134
  return readFileSync(CONFIG_PATH, "utf8");
135
135
  }
136
136
 
137
- /** A streaming TTS adapter standing in for the managed `cadet` provider. */
137
+ /** A streaming TTS adapter standing in for the cloud `cadet` provider. */
138
138
  function registerManagedTtsProvider(): TtsProvider {
139
139
  const provider: TtsProvider = {
140
140
  id: "cadet",
@@ -173,8 +173,8 @@ beforeEach(() => {
173
173
  requestedSttProviders = [];
174
174
  });
175
175
 
176
- describe("live voice on managed speech", () => {
177
- test("unkeyed BYOK TTS resolves the managed provider and reports ready", async () => {
176
+ describe("live voice on cloud speech", () => {
177
+ test("unkeyed BYOK TTS resolves the cloud provider and reports ready", async () => {
178
178
  managedAvailable = true;
179
179
  providerKeys = { deepgram: "test-key" };
180
180
  const configBefore = readConfigFile();
@@ -188,7 +188,7 @@ describe("live voice on managed speech", () => {
188
188
  expect(readConfigFile()).toBe(configBefore);
189
189
  });
190
190
 
191
- test("synthesis runs on the managed provider while the config still names the BYOK one", async () => {
191
+ test("synthesis runs on the cloud provider while the config still names the BYOK one", async () => {
192
192
  managedAvailable = true;
193
193
  providerKeys = { deepgram: "test-key" };
194
194
  registerManagedTtsProvider();
@@ -209,7 +209,7 @@ describe("live voice on managed speech", () => {
209
209
  expect(readConfigFile()).toBe(configBefore);
210
210
  });
211
211
 
212
- test("unkeyed BYOK STT resolves the managed provider and reports ready", async () => {
212
+ test("unkeyed BYOK STT resolves the cloud provider and reports ready", async () => {
213
213
  managedAvailable = true;
214
214
  providerKeys = { elevenlabs: "test-key" };
215
215
  const configBefore = readConfigFile();
@@ -228,7 +228,7 @@ describe("live voice on managed speech", () => {
228
228
  expect(readConfigFile()).toBe(configBefore);
229
229
  });
230
230
 
231
- test("managed speech unavailable keeps the configured providers and reports not-ready", async () => {
231
+ test("cloud speech unavailable keeps the configured providers and reports not-ready", async () => {
232
232
  managedAvailable = false;
233
233
  const configBefore = readConfigFile();
234
234
 
@@ -40,8 +40,8 @@ const realSttResolveModule = {
40
40
  const realSecureKeysModule = {
41
41
  ...(await import("../../security/secure-keys.js")),
42
42
  };
43
- const realManagedSpeechModule = {
44
- ...(await import("../../platform/managed-speech.js")),
43
+ const realCloudSpeechModule = {
44
+ ...(await import("../../cloud/cloud-speech.js")),
45
45
  };
46
46
 
47
47
  // -- Mutable stub state --------------------------------------------------------
@@ -76,12 +76,12 @@ mock.module("../../security/secure-keys.js", () => ({
76
76
 
77
77
  let managedAvailable = false;
78
78
 
79
- mock.module("../../platform/managed-speech.js", () => ({
80
- ...realManagedSpeechModule,
79
+ mock.module("../../cloud/cloud-speech.js", () => ({
80
+ ...realCloudSpeechModule,
81
81
  managedSpeechAvailable: async () =>
82
82
  preflightMocksActive
83
83
  ? managedAvailable
84
- : realManagedSpeechModule.managedSpeechAvailable(),
84
+ : realCloudSpeechModule.managedSpeechAvailable(),
85
85
  }));
86
86
 
87
87
  import { setConfig } from "../../__tests__/helpers/set-config.js";
@@ -295,7 +295,7 @@ describe("resolveLiveVoiceCredentialReadiness — managed (cadet) TTS", () => {
295
295
  expect(readiness).toEqual({ status: "ready" });
296
296
  });
297
297
 
298
- test("cadet TTS without a platform connection → connection copy, not API-key copy", async () => {
298
+ test("cadet TTS without a cloud connection → connection copy, not API-key copy", async () => {
299
299
  ttsProvider = "cadet";
300
300
  ttsProviders = {};
301
301
  managedAvailable = false;
@@ -306,7 +306,7 @@ describe("resolveLiveVoiceCredentialReadiness — managed (cadet) TTS", () => {
306
306
  kind: "tts",
307
307
  providerId: "cadet",
308
308
  reason:
309
- 'TTS provider "cadet" needs a Cadet Cloud connection for managed speech',
309
+ 'TTS provider "cadet" needs a Cadet Cloud connection for cloud speech',
310
310
  },
311
311
  ]);
312
312
  expect(readiness.userMessage).toContain("assistant cloud connect");
@@ -1593,7 +1593,7 @@ describe("LiveVoiceSession STT", () => {
1593
1593
  });
1594
1594
 
1595
1595
  test("the pin gate follows the dialed provider, not the configured one", async () => {
1596
- // A BYOK gemini config without credentials silently dials the managed
1596
+ // A BYOK gemini config without credentials silently dials the cloud
1597
1597
  // cadet transcriber, which DOES honor the pin; the gate must follow
1598
1598
  // what was dialed, not what was configured.
1599
1599
  const originalRaw = loadRawConfig();
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Reports a live-voice session's phase to the platform, which pushes it to the
2
+ * Reports a live-voice session's phase to the cloud, which pushes it to the
3
3
  * iOS Live Activity over APNs.
4
4
  *
5
5
  * ## Why the server reports a phase the client already knows
@@ -27,7 +27,7 @@
27
27
  * throw here would cost the conversation.
28
28
  */
29
29
 
30
- import { CadetPlatformClient } from "../platform/client.js";
30
+ import { CadetCloudClient } from "../cloud/client.js";
31
31
  import { getLogger } from "../util/logger.js";
32
32
  import type { LiveVoiceServerFramePayload } from "./protocol.js";
33
33
 
@@ -188,7 +188,7 @@ export class LiveActivityReporter {
188
188
  * Retire the activity as the session ends.
189
189
  *
190
190
  * Latched, because a session can end more than one way — a clean hangup, a
191
- * dropped socket, a process shutdown — and the platform deletes the
191
+ * dropped socket, a process shutdown — and the cloud deletes the
192
192
  * registration on the first one. Sending a second would push at an activity
193
193
  * that is already gone.
194
194
  */
@@ -234,7 +234,7 @@ export class LiveActivityReporter {
234
234
  }
235
235
  signal.addEventListener("abort", () => resolve(), { once: true });
236
236
  });
237
- // Race the whole operation, including platform-client and credential
237
+ // Race the whole operation, including cloud-client and credential
238
238
  // resolution. The same signal reaches `fetch`, so a timed-out operation
239
239
  // that resolves credentials later cannot send its stale snapshot.
240
240
  void Promise.race([
@@ -284,12 +284,12 @@ export class LiveActivityReporter {
284
284
  signal: AbortSignal,
285
285
  ): Promise<void> {
286
286
  try {
287
- const client = await CadetPlatformClient.create();
288
- if (!client?.platformAssistantId) {
287
+ const client = await CadetCloudClient.create();
288
+ if (!client?.cloudAssistantId) {
289
289
  return;
290
290
  }
291
291
  const path = `/v1/assistants/${encodeURIComponent(
292
- client.platformAssistantId,
292
+ client.cloudAssistantId,
293
293
  )}/live-activity/dispatch/`;
294
294
  const response = await client.fetch(path, {
295
295
  method: "POST",
@@ -21,8 +21,8 @@ import {
21
21
  fishAudioReferenceIdConfigured,
22
22
  ttsSecretResolves,
23
23
  } from "../calls/telephony-tts-capability.js";
24
- import { resolveEffectiveSpeechProviders } from "../config/managed-speech-defaults.js";
25
- import { managedSpeechAvailable } from "../platform/managed-speech.js";
24
+ import { managedSpeechAvailable } from "../cloud/cloud-speech.js";
25
+ import { resolveEffectiveSpeechProviders } from "../config/cloud-speech-defaults.js";
26
26
  import { getProviderEntry } from "../providers/speech-to-text/provider-catalog.js";
27
27
  import {
28
28
  resolveStreamingTranscriber,
@@ -144,7 +144,7 @@ async function resolveSttGap(
144
144
  },
145
145
  clause:
146
146
  entry.credentialProvider === "cadet"
147
- ? `a Cadet Cloud connection for managed speech (run 'assistant cloud connect')`
147
+ ? `a Cadet Cloud connection for cloud speech (run 'assistant cloud connect')`
148
148
  : `an API key for the speech-to-text provider "${entry.id}"`,
149
149
  };
150
150
  }
@@ -197,7 +197,7 @@ async function resolveTtsGap(
197
197
  };
198
198
  }
199
199
 
200
- // Managed speech authenticates via the cloud connection — full
200
+ // Cloud speech authenticates via the cloud connection — full
201
201
  // availability (API key + assistant ID) is the credential, so the
202
202
  // stored-secret loop below would pass half-connected states that
203
203
  // synthesis rejects.
@@ -207,9 +207,9 @@ async function resolveTtsGap(
207
207
  gap: {
208
208
  kind: "tts",
209
209
  providerId: entry.id,
210
- reason: `TTS provider "${entry.id}" needs a Cadet Cloud connection for managed speech`,
210
+ reason: `TTS provider "${entry.id}" needs a Cadet Cloud connection for cloud speech`,
211
211
  },
212
- clause: `a Cadet Cloud connection for managed speech (run 'assistant cloud connect')`,
212
+ clause: `a Cadet Cloud connection for cloud speech (run 'assistant cloud connect')`,
213
213
  };
214
214
  }
215
215
  return null;
@@ -392,7 +392,7 @@ export interface LiveVoiceSessionOptions {
392
392
  metricsClock?: VoiceMetricsClock;
393
393
  /**
394
394
  * Mirrors phase changes to the iOS Live Activity. Injectable so tests can
395
- * assert what a session reports without reaching the platform.
395
+ * assert what a session reports without reaching the cloud.
396
396
  */
397
397
  liveActivityReporter?: LiveActivityReporter;
398
398
  createTurnId?: () => string;
@@ -1223,7 +1223,7 @@ export class LiveVoiceSession implements LiveVoiceSessionContract {
1223
1223
  // that can point at the screen. Cleared when the share ends.
1224
1224
  private shareTargets: ShareTargetSnapshot | null = null;
1225
1225
  /**
1226
- * Mirrors phase changes to the iOS Live Activity through the platform, for
1226
+ * Mirrors phase changes to the iOS Live Activity through the cloud, for
1227
1227
  * the case the client cannot cover: an app backgrounded long enough for iOS
1228
1228
  * to suspend the web layer that would otherwise push them.
1229
1229
  */
@@ -8326,7 +8326,7 @@ async function defaultResolveStreamingTranscriber(
8326
8326
  options: ResolveStreamingTranscriberOptions,
8327
8327
  ): Promise<StreamingTranscriber | null> {
8328
8328
  const { resolveEffectiveSpeechProviders } =
8329
- await import("../config/managed-speech-defaults.js");
8329
+ await import("../config/cloud-speech-defaults.js");
8330
8330
  const { resolveStreamingTranscriber } =
8331
8331
  await import("../providers/speech-to-text/resolve.js");
8332
8332
  const { stt } = await resolveEffectiveSpeechProviders(undefined, {
@@ -221,7 +221,7 @@ async function resolveLiveVoiceStreamingTtsProvider(
221
221
  ): Promise<ResolvedStreamingTtsProvider> {
222
222
  const config = configOverride ?? (await loadAssistantConfig());
223
223
  const { resolveEffectiveSpeechProviders } =
224
- await import("../config/managed-speech-defaults.js");
224
+ await import("../config/cloud-speech-defaults.js");
225
225
  const { tts: effectiveProviderId } =
226
226
  await resolveEffectiveSpeechProviders(config);
227
227
  const { provider: providerId, providerConfig } = resolveTtsConfig(
@@ -24,7 +24,7 @@ const CLIENT_METADATA_URL = `${PUBLIC_BASE_URL}/oauth/client-metadata.json`;
24
24
  let resolvedCallbackUrl = CALLBACK_URL;
25
25
  let publicBaseUrl: string | undefined = PUBLIC_BASE_URL;
26
26
 
27
- mock.module("../../inbound/platform-callback-registration.js", () => ({
27
+ mock.module("../../inbound/cloud-callback-registration.js", () => ({
28
28
  resolveCallbackUrl: async () => resolvedCallbackUrl,
29
29
  }));
30
30
 
@@ -45,8 +45,8 @@ mock.module("../../daemon/identity-helpers.js", () => ({
45
45
  getAssistantName: () => "Jarvis",
46
46
  }));
47
47
 
48
- import { setPlatformAssistantId } from "../../config/env.js";
49
- setPlatformAssistantId("019d6d4f-6dbd-779f-91d3-cb273b9429a5");
48
+ import { setCloudAssistantId } from "../../config/env.js";
49
+ setCloudAssistantId("019d6d4f-6dbd-779f-91d3-cb273b9429a5");
50
50
 
51
51
  const { McpOAuthProvider } = await import("../mcp-oauth-provider.js");
52
52
 
@@ -247,7 +247,7 @@ describe("McpOAuthProvider client metadata", () => {
247
247
  expect(provider.clientMetadataUrl).toBe(CLIENT_METADATA_URL);
248
248
  });
249
249
 
250
- test("preserves DCR fallback for a platform-relayed callback", async () => {
250
+ test("preserves DCR fallback for a cloud-relayed callback", async () => {
251
251
  const provider = newProvider();
252
252
 
253
253
  await provider.startCallbackServer();