@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
@@ -13,7 +13,7 @@ import type { BackgroundWakeIntent } from "./next-wake.js";
13
13
  // the heartbeat mock exposes that too.
14
14
  type BackgroundWakeRuntime = {
15
15
  scheduler: Pick<SchedulerHandle, "runOnce" | "runDueWorkOnce">;
16
- heartbeat: Pick<HeartbeatService, "nextRunAt" | "runManagedWakeIfDue">;
16
+ heartbeat: Pick<HeartbeatService, "nextRunAt" | "runCloudWakeIfDue">;
17
17
  };
18
18
 
19
19
  let mockScheduler: BackgroundWakeRuntime["scheduler"] | null = null;
@@ -214,7 +214,7 @@ describe("background wake runtime routes", () => {
214
214
  actualNextDueAt: dueAt,
215
215
  reason: "mixed",
216
216
  });
217
- const heartbeatRunManaged = mock(async () => ({
217
+ const heartbeatRunCloud = mock(async () => ({
218
218
  due: true,
219
219
  completed: 1,
220
220
  skipped: 0,
@@ -226,7 +226,7 @@ describe("background wake runtime routes", () => {
226
226
  setBackgroundWakeRuntime({
227
227
  heartbeat: {
228
228
  nextRunAt: dueAt,
229
- runManagedWakeIfDue: heartbeatRunManaged,
229
+ runCloudWakeIfDue: heartbeatRunCloud,
230
230
  },
231
231
  scheduler: {
232
232
  runOnce: mock(async () => 2),
@@ -240,11 +240,11 @@ describe("background wake runtime routes", () => {
240
240
  });
241
241
  await flushBackgroundWakeDrainsForTest();
242
242
 
243
- expect(heartbeatRunManaged).toHaveBeenCalledTimes(1);
244
- expect(heartbeatRunManaged).toHaveBeenCalledWith(
243
+ expect(heartbeatRunCloud).toHaveBeenCalledTimes(1);
244
+ expect(heartbeatRunCloud).toHaveBeenCalledWith(
245
245
  expect.objectContaining({ scheduledFor: NOW }),
246
246
  );
247
- expect(firstCallArg(heartbeatRunManaged)).not.toHaveProperty("assumeDue");
247
+ expect(firstCallArg(heartbeatRunCloud)).not.toHaveProperty("assumeDue");
248
248
  expect(schedulerRunDue).toHaveBeenCalledTimes(1);
249
249
  expect(response).toEqual(acceptedResponse({ reason: "mixed" }));
250
250
  expect(lastCompletionPayload()).toEqual({
@@ -255,7 +255,7 @@ describe("background wake runtime routes", () => {
255
255
  });
256
256
 
257
257
  test("drain-due skips heartbeat when it is not due and reports no scheduler work", async () => {
258
- const heartbeatRunManaged = mock(async () => ({
258
+ const heartbeatRunCloud = mock(async () => ({
259
259
  due: true,
260
260
  completed: 1,
261
261
  skipped: 0,
@@ -264,7 +264,7 @@ describe("background wake runtime routes", () => {
264
264
  setBackgroundWakeRuntime({
265
265
  heartbeat: {
266
266
  nextRunAt: Date.now() + 5 * 60_000,
267
- runManagedWakeIfDue: heartbeatRunManaged,
267
+ runCloudWakeIfDue: heartbeatRunCloud,
268
268
  },
269
269
  scheduler: {
270
270
  runOnce: mock(async () => 0),
@@ -276,7 +276,7 @@ describe("background wake runtime routes", () => {
276
276
  const response = await handler({ body: drainBodyFixture() });
277
277
  await flushBackgroundWakeDrainsForTest();
278
278
 
279
- expect(heartbeatRunManaged).not.toHaveBeenCalled();
279
+ expect(heartbeatRunCloud).not.toHaveBeenCalled();
280
280
  expect(schedulerRunDue).toHaveBeenCalledTimes(1);
281
281
  expect(response).toEqual(acceptedResponse());
282
282
  expect(lastCompletionPayload()).toMatchObject({
@@ -297,7 +297,7 @@ describe("background wake runtime routes", () => {
297
297
  setBackgroundWakeRuntime({
298
298
  heartbeat: {
299
299
  nextRunAt: null,
300
- runManagedWakeIfDue: mock(async () => ({
300
+ runCloudWakeIfDue: mock(async () => ({
301
301
  due: false,
302
302
  completed: 0,
303
303
  skipped: 0,
@@ -328,7 +328,7 @@ describe("background wake runtime routes", () => {
328
328
  actualNextDueAt: dueAt,
329
329
  reason: "heartbeat",
330
330
  });
331
- const heartbeatRunManaged = mock(async () => ({
331
+ const heartbeatRunCloud = mock(async () => ({
332
332
  due: true,
333
333
  completed: 1,
334
334
  skipped: 0,
@@ -340,7 +340,7 @@ describe("background wake runtime routes", () => {
340
340
  setBackgroundWakeRuntime({
341
341
  heartbeat: {
342
342
  nextRunAt: dueAt,
343
- runManagedWakeIfDue: heartbeatRunManaged,
343
+ runCloudWakeIfDue: heartbeatRunCloud,
344
344
  },
345
345
  scheduler: {
346
346
  runOnce: mock(async () => 1),
@@ -354,12 +354,12 @@ describe("background wake runtime routes", () => {
354
354
  });
355
355
  await flushBackgroundWakeDrainsForTest();
356
356
 
357
- expect(heartbeatRunManaged).toHaveBeenCalledWith(
357
+ expect(heartbeatRunCloud).toHaveBeenCalledWith(
358
358
  expect.objectContaining({
359
359
  scheduledFor: NOW,
360
360
  }),
361
361
  );
362
- expect(firstCallArg(heartbeatRunManaged)).not.toHaveProperty("assumeDue");
362
+ expect(firstCallArg(heartbeatRunCloud)).not.toHaveProperty("assumeDue");
363
363
  expect(schedulerRunDue).toHaveBeenCalledTimes(1);
364
364
  expect(response).toEqual(acceptedResponse({ reason: "heartbeat" }));
365
365
  expect(lastCompletionPayload()).toMatchObject({
@@ -370,7 +370,7 @@ describe("background wake runtime routes", () => {
370
370
  });
371
371
 
372
372
  test("drain-due does not rerun heartbeat for stale heartbeat drain requests", async () => {
373
- const heartbeatRunManaged = mock(async () => ({
373
+ const heartbeatRunCloud = mock(async () => ({
374
374
  due: true,
375
375
  completed: 1,
376
376
  skipped: 0,
@@ -379,7 +379,7 @@ describe("background wake runtime routes", () => {
379
379
  setBackgroundWakeRuntime({
380
380
  heartbeat: {
381
381
  nextRunAt: Date.now() + 30 * 60_000,
382
- runManagedWakeIfDue: heartbeatRunManaged,
382
+ runCloudWakeIfDue: heartbeatRunCloud,
383
383
  },
384
384
  scheduler: {
385
385
  runOnce: mock(async () => 0),
@@ -393,7 +393,7 @@ describe("background wake runtime routes", () => {
393
393
  });
394
394
  await flushBackgroundWakeDrainsForTest();
395
395
 
396
- expect(heartbeatRunManaged).not.toHaveBeenCalled();
396
+ expect(heartbeatRunCloud).not.toHaveBeenCalled();
397
397
  expect(schedulerRunDue).not.toHaveBeenCalled();
398
398
  expect(response).toEqual(acceptedResponse({ reason: "heartbeat" }));
399
399
  expect(lastCompletionPayload()).toMatchObject({
@@ -409,7 +409,7 @@ describe("background wake runtime routes", () => {
409
409
  actualNextDueAt: dueAt,
410
410
  reason: "heartbeat",
411
411
  });
412
- const heartbeatRunManaged = mock(async () => ({
412
+ const heartbeatRunCloud = mock(async () => ({
413
413
  due: true,
414
414
  completed: 1,
415
415
  skipped: 0,
@@ -417,7 +417,7 @@ describe("background wake runtime routes", () => {
417
417
  setBackgroundWakeRuntime({
418
418
  heartbeat: {
419
419
  nextRunAt: dueAt,
420
- runManagedWakeIfDue: heartbeatRunManaged,
420
+ runCloudWakeIfDue: heartbeatRunCloud,
421
421
  },
422
422
  scheduler: {
423
423
  runOnce: mock(async () => 0),
@@ -431,10 +431,10 @@ describe("background wake runtime routes", () => {
431
431
  });
432
432
  await flushBackgroundWakeDrainsForTest();
433
433
 
434
- expect(heartbeatRunManaged).toHaveBeenCalledWith(
434
+ expect(heartbeatRunCloud).toHaveBeenCalledWith(
435
435
  expect.objectContaining({ scheduledFor: NOW }),
436
436
  );
437
- expect(firstCallArg(heartbeatRunManaged)).not.toHaveProperty("assumeDue");
437
+ expect(firstCallArg(heartbeatRunCloud)).not.toHaveProperty("assumeDue");
438
438
  expect(response).toEqual(acceptedResponse({ reason: "refresh" }));
439
439
  });
440
440
 
@@ -451,7 +451,7 @@ describe("background wake runtime routes", () => {
451
451
  setBackgroundWakeRuntime({
452
452
  heartbeat: {
453
453
  nextRunAt: Date.now() + 60_000,
454
- runManagedWakeIfDue: mock(async () => ({
454
+ runCloudWakeIfDue: mock(async () => ({
455
455
  due: false,
456
456
  completed: 0,
457
457
  skipped: 0,
@@ -490,7 +490,7 @@ describe("background wake runtime routes", () => {
490
490
  actualNextDueAt: scheduleDueAt,
491
491
  reason: "schedule",
492
492
  });
493
- const heartbeatRunManaged = mock(async () => ({
493
+ const heartbeatRunCloud = mock(async () => ({
494
494
  due: true,
495
495
  completed: 1,
496
496
  skipped: 0,
@@ -502,7 +502,7 @@ describe("background wake runtime routes", () => {
502
502
  setBackgroundWakeRuntime({
503
503
  heartbeat: {
504
504
  nextRunAt: heartbeatDueAt,
505
- runManagedWakeIfDue: heartbeatRunManaged,
505
+ runCloudWakeIfDue: heartbeatRunCloud,
506
506
  },
507
507
  scheduler: {
508
508
  runOnce: mock(async () => 1),
@@ -516,7 +516,7 @@ describe("background wake runtime routes", () => {
516
516
  });
517
517
  await flushBackgroundWakeDrainsForTest();
518
518
 
519
- expect(heartbeatRunManaged).toHaveBeenCalledWith(
519
+ expect(heartbeatRunCloud).toHaveBeenCalledWith(
520
520
  expect.objectContaining({ scheduledFor: NOW }),
521
521
  );
522
522
  expect(schedulerRunDue).toHaveBeenCalledTimes(1);
@@ -529,7 +529,7 @@ describe("background wake runtime routes", () => {
529
529
  });
530
530
 
531
531
  test("drain-due does no work for refresh-only wakes with no due intent", async () => {
532
- const heartbeatRunManaged = mock(async () => ({
532
+ const heartbeatRunCloud = mock(async () => ({
533
533
  due: true,
534
534
  completed: 1,
535
535
  skipped: 0,
@@ -540,7 +540,7 @@ describe("background wake runtime routes", () => {
540
540
  setBackgroundWakeRuntime({
541
541
  heartbeat: {
542
542
  nextRunAt: Date.now() + 60_000,
543
- runManagedWakeIfDue: heartbeatRunManaged,
543
+ runCloudWakeIfDue: heartbeatRunCloud,
544
544
  },
545
545
  scheduler: {
546
546
  runOnce: mock(async () => 1),
@@ -554,7 +554,7 @@ describe("background wake runtime routes", () => {
554
554
  });
555
555
  await flushBackgroundWakeDrainsForTest();
556
556
 
557
- expect(heartbeatRunManaged).not.toHaveBeenCalled();
557
+ expect(heartbeatRunCloud).not.toHaveBeenCalled();
558
558
  expect(schedulerRunDue).not.toHaveBeenCalled();
559
559
  expect(response).toEqual(acceptedResponse({ reason: "refresh" }));
560
560
  expect(lastCompletionPayload()).toMatchObject({
@@ -570,7 +570,7 @@ describe("background wake runtime routes", () => {
570
570
  actualNextDueAt: dueAt,
571
571
  reason: "mixed",
572
572
  });
573
- const heartbeatRunManaged = mock(async () => ({
573
+ const heartbeatRunCloud = mock(async () => ({
574
574
  due: true,
575
575
  completed: 1,
576
576
  skipped: 0,
@@ -581,7 +581,7 @@ describe("background wake runtime routes", () => {
581
581
  setBackgroundWakeRuntime({
582
582
  heartbeat: {
583
583
  nextRunAt: dueAt,
584
- runManagedWakeIfDue: heartbeatRunManaged,
584
+ runCloudWakeIfDue: heartbeatRunCloud,
585
585
  },
586
586
  scheduler: {
587
587
  runOnce: mock(async () => 0),
@@ -598,7 +598,7 @@ describe("background wake runtime routes", () => {
598
598
  });
599
599
  await flushBackgroundWakeDrainsForTest();
600
600
 
601
- expect(heartbeatRunManaged).not.toHaveBeenCalled();
601
+ expect(heartbeatRunCloud).not.toHaveBeenCalled();
602
602
  expect(schedulerRunDue).toHaveBeenCalledWith(
603
603
  expect.objectContaining({ minStartBudgetMs: 5_000 }),
604
604
  );
@@ -619,7 +619,7 @@ describe("background wake runtime routes", () => {
619
619
  actualNextDueAt: dueAt,
620
620
  reason: "mixed",
621
621
  });
622
- const heartbeatRunManaged = mock(async () => ({
622
+ const heartbeatRunCloud = mock(async () => ({
623
623
  due: true,
624
624
  completed: 1,
625
625
  skipped: 0,
@@ -630,7 +630,7 @@ describe("background wake runtime routes", () => {
630
630
  setBackgroundWakeRuntime({
631
631
  heartbeat: {
632
632
  nextRunAt: dueAt,
633
- runManagedWakeIfDue: heartbeatRunManaged,
633
+ runCloudWakeIfDue: heartbeatRunCloud,
634
634
  },
635
635
  scheduler: {
636
636
  runOnce: mock(async () => 1),
@@ -647,7 +647,7 @@ describe("background wake runtime routes", () => {
647
647
  });
648
648
  await flushBackgroundWakeDrainsForTest();
649
649
 
650
- expect(heartbeatRunManaged).not.toHaveBeenCalled();
650
+ expect(heartbeatRunCloud).not.toHaveBeenCalled();
651
651
  expect(schedulerRunDue).not.toHaveBeenCalled();
652
652
  expect(response).toMatchObject({
653
653
  accepted: true,
@@ -669,7 +669,7 @@ describe("background wake runtime routes", () => {
669
669
  setBackgroundWakeRuntime({
670
670
  heartbeat: {
671
671
  nextRunAt: Date.now() + 60_000,
672
- runManagedWakeIfDue: mock(async () => ({
672
+ runCloudWakeIfDue: mock(async () => ({
673
673
  due: false,
674
674
  completed: 0,
675
675
  skipped: 0,
@@ -735,7 +735,7 @@ describe("background wake runtime routes", () => {
735
735
  setBackgroundWakeRuntime({
736
736
  heartbeat: {
737
737
  nextRunAt: Date.now() + 60_000,
738
- runManagedWakeIfDue: mock(async () => ({
738
+ runCloudWakeIfDue: mock(async () => ({
739
739
  due: false,
740
740
  completed: 0,
741
741
  skipped: 0,
@@ -766,7 +766,7 @@ describe("background wake runtime routes", () => {
766
766
  setBackgroundWakeRuntime({
767
767
  heartbeat: {
768
768
  nextRunAt: null,
769
- runManagedWakeIfDue: mock(async () => ({
769
+ runCloudWakeIfDue: mock(async () => ({
770
770
  due: false,
771
771
  completed: 0,
772
772
  skipped: 0,
@@ -802,7 +802,7 @@ describe("background wake runtime routes", () => {
802
802
  setBackgroundWakeRuntime({
803
803
  heartbeat: {
804
804
  nextRunAt: null,
805
- runManagedWakeIfDue: mock(async () => ({
805
+ runCloudWakeIfDue: mock(async () => ({
806
806
  due: false,
807
807
  completed: 0,
808
808
  skipped: 0,
@@ -831,7 +831,7 @@ describe("background wake runtime routes", () => {
831
831
  setBackgroundWakeRuntime({
832
832
  heartbeat: {
833
833
  nextRunAt: null,
834
- runManagedWakeIfDue: mock(async () => ({
834
+ runCloudWakeIfDue: mock(async () => ({
835
835
  due: false,
836
836
  completed: 0,
837
837
  skipped: 0,
@@ -2,12 +2,12 @@ import { beforeEach, describe, expect, mock, test } from "bun:test";
2
2
 
3
3
  import type { BackgroundWakeIntent } from "./next-wake.js";
4
4
 
5
- let mockPlatformAssistantId: string;
5
+ let mockCloudAssistantId: string;
6
6
  let mockClientFetch: ReturnType<typeof mock>;
7
7
  let mockCreateClient: ReturnType<typeof mock>;
8
8
 
9
- mock.module("../platform/client.js", () => ({
10
- CadetPlatformClient: {
9
+ mock.module("../cloud/client.js", () => ({
10
+ CadetCloudClient: {
11
11
  create: () => mockCreateClient(),
12
12
  },
13
13
  }));
@@ -17,16 +17,16 @@ const {
17
17
  completeBackgroundWakeLease,
18
18
  publishBackgroundWakeIntent,
19
19
  renewBackgroundWakeLease,
20
- } = await import("./platform-client.js");
20
+ } = await import("./cloud-client.js");
21
21
 
22
22
  const NOW = 1_800_000_000_000;
23
23
 
24
24
  describe("background wake platform client", () => {
25
25
  beforeEach(() => {
26
- mockPlatformAssistantId = "asst-123";
26
+ mockCloudAssistantId = "asst-123";
27
27
  mockClientFetch = mock(async () => new Response('{"status":"stored"}'));
28
28
  mockCreateClient = mock(async () => ({
29
- platformAssistantId: mockPlatformAssistantId,
29
+ cloudAssistantId: mockCloudAssistantId,
30
30
  fetch: mockClientFetch,
31
31
  }));
32
32
  });
@@ -108,7 +108,7 @@ describe("background wake platform client", () => {
108
108
  test("clears wake intent with the last computed snapshot when available", async () => {
109
109
  mockClientFetch = mock(async () => new Response('{"status":"cleared"}'));
110
110
  mockCreateClient = mock(async () => ({
111
- platformAssistantId: mockPlatformAssistantId,
111
+ cloudAssistantId: mockCloudAssistantId,
112
112
  fetch: mockClientFetch,
113
113
  }));
114
114
 
@@ -227,7 +227,7 @@ describe("background wake platform client", () => {
227
227
  expect(mockClientFetch).not.toHaveBeenCalled();
228
228
 
229
229
  mockCreateClient = mock(async () => ({
230
- platformAssistantId: "",
230
+ cloudAssistantId: "",
231
231
  fetch: mockClientFetch,
232
232
  }));
233
233
 
@@ -243,7 +243,7 @@ describe("background wake platform client", () => {
243
243
  test("treats Django disabled no-op responses as success", async () => {
244
244
  mockClientFetch = mock(async () => new Response('{"status":"disabled"}'));
245
245
  mockCreateClient = mock(async () => ({
246
- platformAssistantId: mockPlatformAssistantId,
246
+ cloudAssistantId: mockCloudAssistantId,
247
247
  fetch: mockClientFetch,
248
248
  }));
249
249
 
@@ -257,7 +257,7 @@ describe("background wake platform client", () => {
257
257
 
258
258
  test("attaches an abort-timeout signal to every platform request", async () => {
259
259
  // Guards the publisher's single-in-flight serialization: a wake request
260
- // that hangs (half-open socket during a platform reconnect) would wedge the
260
+ // that hangs (half-open socket during a cloud reconnect) would wedge the
261
261
  // in-flight promise and silence every future refresh. Each request must
262
262
  // carry a timeout so it rejects instead of hanging forever.
263
263
  await publishBackgroundWakeIntent(intentFixture());
@@ -280,7 +280,7 @@ describe("background wake platform client", () => {
280
280
  async () => new Response("bad gateway", { status: 502 }),
281
281
  );
282
282
  mockCreateClient = mock(async () => ({
283
- platformAssistantId: mockPlatformAssistantId,
283
+ cloudAssistantId: mockCloudAssistantId,
284
284
  fetch: mockClientFetch,
285
285
  }));
286
286
 
@@ -1,4 +1,4 @@
1
- import { CadetPlatformClient } from "../platform/client.js";
1
+ import { CadetCloudClient } from "../cloud/client.js";
2
2
  import type { BackgroundWakeIntent } from "./next-wake.js";
3
3
 
4
4
  /**
@@ -7,7 +7,7 @@ import type { BackgroundWakeIntent } from "./next-wake.js";
7
7
  * Every call here is a lightweight control-plane request (publish/clear the
8
8
  * wake intent, renew/complete a lease), so it must settle quickly. The bound
9
9
  * exists because the publisher serializes refreshes behind a single in-flight
10
- * promise: a request that hangs (half-open socket during a platform reconnect)
10
+ * promise: a request that hangs (half-open socket during a cloud reconnect)
11
11
  * would wedge that promise and silence every future refresh. The timeout
12
12
  * guarantees each request rejects instead of hanging, so the publisher always
13
13
  * makes forward progress.
@@ -34,15 +34,15 @@ type BackgroundWakeIntentSnapshot = Pick<
34
34
  export async function publishBackgroundWakeIntent(
35
35
  intent: BackgroundWakeIntent,
36
36
  ): Promise<BackgroundWakeIntentClientResult> {
37
- const client = await CadetPlatformClient.create();
37
+ const client = await CadetCloudClient.create();
38
38
  if (!client) {
39
39
  return { status: "skipped", reason: "missing_platform_client" };
40
40
  }
41
- if (!client.platformAssistantId) {
41
+ if (!client.cloudAssistantId) {
42
42
  return { status: "skipped", reason: "missing_platform_assistant_id" };
43
43
  }
44
44
 
45
- const response = await client.fetch(intentPath(client.platformAssistantId), {
45
+ const response = await client.fetch(intentPath(client.cloudAssistantId), {
46
46
  method: "PUT",
47
47
  headers: { "Content-Type": "application/json" },
48
48
  body: JSON.stringify({
@@ -63,11 +63,11 @@ export async function publishBackgroundWakeIntent(
63
63
  export async function clearBackgroundWakeIntent(
64
64
  intentSnapshot: BackgroundWakeIntentSnapshot = null,
65
65
  ): Promise<BackgroundWakeIntentClientResult> {
66
- const client = await CadetPlatformClient.create();
66
+ const client = await CadetCloudClient.create();
67
67
  if (!client) {
68
68
  return { status: "skipped", reason: "missing_platform_client" };
69
69
  }
70
- if (!client.platformAssistantId) {
70
+ if (!client.cloudAssistantId) {
71
71
  return { status: "skipped", reason: "missing_platform_assistant_id" };
72
72
  }
73
73
 
@@ -77,7 +77,7 @@ export async function clearBackgroundWakeIntent(
77
77
  body.computed_at = toIsoString(intentSnapshot.computedAt);
78
78
  }
79
79
 
80
- const response = await client.fetch(intentPath(client.platformAssistantId), {
80
+ const response = await client.fetch(intentPath(client.cloudAssistantId), {
81
81
  method: "DELETE",
82
82
  headers: { "Content-Type": "application/json" },
83
83
  body: JSON.stringify(body),
@@ -91,16 +91,16 @@ export async function clearBackgroundWakeIntent(
91
91
  export async function renewBackgroundWakeLease(
92
92
  leaseId: string,
93
93
  ): Promise<BackgroundWakeLeaseClientResult> {
94
- const client = await CadetPlatformClient.create();
94
+ const client = await CadetCloudClient.create();
95
95
  if (!client) {
96
96
  return { status: "skipped", reason: "missing_platform_client" };
97
97
  }
98
- if (!client.platformAssistantId) {
98
+ if (!client.cloudAssistantId) {
99
99
  return { status: "skipped", reason: "missing_platform_assistant_id" };
100
100
  }
101
101
 
102
102
  const response = await client.fetch(
103
- leasePath(client.platformAssistantId, leaseId, "renew"),
103
+ leasePath(client.cloudAssistantId, leaseId, "renew"),
104
104
  {
105
105
  method: "POST",
106
106
  headers: { "Content-Type": "application/json" },
@@ -119,11 +119,11 @@ export async function completeBackgroundWakeLease(args: {
119
119
  error?: string;
120
120
  nextIntent?: BackgroundWakeIntent | null;
121
121
  }): Promise<BackgroundWakeLeaseClientResult> {
122
- const client = await CadetPlatformClient.create();
122
+ const client = await CadetCloudClient.create();
123
123
  if (!client) {
124
124
  return { status: "skipped", reason: "missing_platform_client" };
125
125
  }
126
- if (!client.platformAssistantId) {
126
+ if (!client.cloudAssistantId) {
127
127
  return { status: "skipped", reason: "missing_platform_assistant_id" };
128
128
  }
129
129
 
@@ -147,7 +147,7 @@ export async function completeBackgroundWakeLease(args: {
147
147
  }
148
148
 
149
149
  const response = await client.fetch(
150
- leasePath(client.platformAssistantId, args.leaseId, "complete"),
150
+ leasePath(client.cloudAssistantId, args.leaseId, "complete"),
151
151
  {
152
152
  method: "POST",
153
153
  headers: { "Content-Type": "application/json" },
@@ -1,12 +1,12 @@
1
1
  import { getLogger } from "../util/logger.js";
2
+ import {
3
+ clearBackgroundWakeIntent,
4
+ publishBackgroundWakeIntent,
5
+ } from "./cloud-client.js";
2
6
  import {
3
7
  type BackgroundWakeIntent,
4
8
  computeNextBackgroundWakeIntent,
5
9
  } from "./next-wake.js";
6
- import {
7
- clearBackgroundWakeIntent,
8
- publishBackgroundWakeIntent,
9
- } from "./platform-client.js";
10
10
 
11
11
  const log = getLogger("background-wake-publisher");
12
12
  const REFRESH_DEBOUNCE_MS = 250;
@@ -1,8 +1,8 @@
1
1
  import { readFileSync } from "node:fs";
2
2
  import { beforeEach, describe, expect, mock, test } from "bun:test";
3
3
 
4
+ import type { BackgroundWakeIntentClientResult } from "./cloud-client.js";
4
5
  import type { BackgroundWakeIntent } from "./next-wake.js";
5
- import type { BackgroundWakeIntentClientResult } from "./platform-client.js";
6
6
 
7
7
  const mockPublishBackgroundWakeIntent = mock(
8
8
  async (): Promise<BackgroundWakeIntentClientResult> => ({
@@ -20,7 +20,7 @@ mock.module("./next-wake.js", () => ({
20
20
  computeNextBackgroundWakeIntent: () => computedIntent,
21
21
  }));
22
22
 
23
- mock.module("./platform-client.js", () => ({
23
+ mock.module("./cloud-client.js", () => ({
24
24
  publishBackgroundWakeIntent: mockPublishBackgroundWakeIntent,
25
25
  clearBackgroundWakeIntent: mockClearBackgroundWakeIntent,
26
26
  }));
@@ -206,7 +206,7 @@ describe("background wake intent publisher hooks", () => {
206
206
 
207
207
  expect(lifecycleSource).not.toContain("clearBackgroundWakeIntent");
208
208
  expect(shutdownSource).not.toContain("clearBackgroundWakeIntent");
209
- expect(shutdownSource).not.toContain("background-wake/platform-client");
209
+ expect(shutdownSource).not.toContain("background-wake/cloud-client");
210
210
  });
211
211
  });
212
212
 
@@ -51,10 +51,10 @@ function seedDefaultResolvableKeys(): void {
51
51
  }
52
52
  }
53
53
 
54
- // Managed-speech defaulting reaches the platform client and the credential
54
+ // Managed-speech defaulting reaches the cloud client and the credential
55
55
  // store. The controller tests drive the bridge mock on a microtask budget, so
56
56
  // the configured providers stand as the effective ones here.
57
- mock.module("../../config/managed-speech-defaults.js", () => ({
57
+ mock.module("../../config/cloud-speech-defaults.js", () => ({
58
58
  resolveEffectiveSpeechProviders: async (config?: {
59
59
  services: { stt: { provider: string }; tts: { provider: string } };
60
60
  }) => {
@@ -546,7 +546,7 @@ describe("startVoiceTurn escalation-continuation persistence", () => {
546
546
 
547
547
  // `turn-events-store` projects `$.client` onto `TurnTelemetryEvent.client`,
548
548
  // so this bag is what makes a voice turn countable per client and joinable
549
- // to its session's funnel rows. The platform goes in `os`, the same key
549
+ // to its session's funnel rows. The cloud goes in `os`, the same key
550
550
  // the HTTP send path fills, so voice turns sit in the column existing turn
551
551
  // analytics already read.
552
552
  expect(fake.lastPersistOpts()?.metadata).toEqual({
@@ -9,7 +9,7 @@ import { revokeScopedApprovalGrantsForContext } from "../approvals/scoped-approv
9
9
  import { loadConfig } from "../config/loader.js";
10
10
  import { VALID_CALLER_IDENTITY_MODES } from "../config/schema.js";
11
11
  import type { AssistantConfig } from "../config/types.js";
12
- import { resolveCallbackUrl } from "../inbound/platform-callback-registration.js";
12
+ import { resolveCallbackUrl } from "../inbound/cloud-callback-registration.js";
13
13
  import {
14
14
  getTwilioStatusCallbackUrl,
15
15
  getTwilioVoiceWebhookUrl,
@@ -7,8 +7,8 @@
7
7
  * native-vs-synthesized strategy decision stay in one implementation.
8
8
  */
9
9
 
10
+ import { resolveEffectiveSpeechProviders } from "../config/cloud-speech-defaults.js";
10
11
  import { loadConfig } from "../config/loader.js";
11
- import { resolveEffectiveSpeechProviders } from "../config/managed-speech-defaults.js";
12
12
  import {
13
13
  getCatalogProvider,
14
14
  getTtsProvider,
@@ -74,9 +74,9 @@ export interface ResolveCallTtsOptions {
74
74
  /**
75
75
  * Resolve the active TTS provider via the global provider abstraction.
76
76
  *
77
- * The provider is the effective one after managed-speech defaulting
77
+ * The provider is the effective one after cloud-speech defaulting
78
78
  * ({@link resolveEffectiveSpeechProviders}): a configured BYOK provider
79
- * whose credential does not resolve is stood in for by managed speech
79
+ * whose credential does not resolve is stood in for by cloud speech
80
80
  * while the cloud connection is usable, the same substitution live
81
81
  * voice makes, so a fresh Cadet connection speaks on the phone with zero
82
82
  * TTS configuration.
@@ -185,9 +185,9 @@ export async function resolveCallTtsProvider(
185
185
  }
186
186
 
187
187
  /**
188
- * The TTS provider the call actually uses after managed-speech defaulting.
189
- * A failure inside the managed lookup (platform client, credential store)
190
- * keeps the configured provider: a managed-speech hiccup must not demote a
188
+ * The TTS provider the call actually uses after cloud-speech defaulting.
189
+ * A failure inside the cloud lookup (platform client, credential store)
190
+ * keeps the configured provider: a cloud-speech hiccup must not demote a
191
191
  * working BYOK provider, and the outer resolver's own fallback is the
192
192
  * silent native path.
193
193
  */
@@ -111,7 +111,7 @@ function sttGapClause(
111
111
  // Connection-based providers are fixed by connecting the account,
112
112
  // not by entering an API key.
113
113
  if (capability.credentialProvider === "cadet") {
114
- return `a Cadet Cloud connection for managed speech (run 'assistant cloud connect')`;
114
+ return `a Cadet Cloud connection for cloud speech (run 'assistant cloud connect')`;
115
115
  }
116
116
  return `an API key for the speech-to-text provider "${providerId}"`;
117
117
  }
@@ -140,14 +140,14 @@ function ttsGap(
140
140
  clause: `an API key for the text-to-speech provider "${providerId}" (no fallback provider has usable credentials)`,
141
141
  };
142
142
  }
143
- case "missing-platform-connection": {
143
+ case "missing-cloud-connection": {
144
144
  return {
145
145
  gap: {
146
146
  kind: "tts",
147
147
  providerId,
148
148
  reason: `Managed TTS has no usable Cadet Cloud connection and no playable fallback provider is available`,
149
149
  },
150
- clause: `a Cadet Cloud connection for managed speech (run 'assistant cloud connect'; no fallback provider has usable credentials)`,
150
+ clause: `a Cadet Cloud connection for cloud speech (run 'assistant cloud connect'; no fallback provider has usable credentials)`,
151
151
  };
152
152
  }
153
153
  case "missing-fish-audio-reference-id": {
@@ -38,7 +38,7 @@ export type TelephonyTtsNotPlayableReason =
38
38
  | "unsupported-format"
39
39
  | "missing-credentials"
40
40
  | "missing-fish-audio-reference-id"
41
- | "missing-platform-connection";
41
+ | "missing-cloud-connection";
42
42
 
43
43
  /**
44
44
  * Result of resolving whether a TTS provider is playable over the
@@ -113,18 +113,17 @@ export async function evaluateTelephonyTtsPlayability(
113
113
  }
114
114
  }
115
115
 
116
- // The cadet secret alone doesn't prove usability: managed speech also
117
- // needs the platform assistant identity, or synthesis fails before any
116
+ // The cadet secret alone doesn't prove usability: cloud speech also
117
+ // needs the cloud assistant identity, or synthesis fails before any
118
118
  // request is made — with allowNativeFallback false, that would mean
119
119
  // silent call failures instead of a BYOK fallback.
120
120
  if (entry.id === "cadet") {
121
- const { managedSpeechAvailable } =
122
- await import("../platform/managed-speech.js");
121
+ const { managedSpeechAvailable } = await import("../cloud/cloud-speech.js");
123
122
  if (!(await managedSpeechAvailable())) {
124
123
  return {
125
124
  status: "not-playable",
126
125
  providerId: entry.id,
127
- reason: "missing-platform-connection",
126
+ reason: "missing-cloud-connection",
128
127
  };
129
128
  }
130
129
  }