@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
@@ -1,10 +1,13 @@
1
1
  import { config as dotenvConfig } from "dotenv";
2
2
 
3
3
  import { reconcileAppPins } from "../apps/app-pin-reconciler.js";
4
- import { syncAvatarToPlatform } from "../avatar/sync-avatar.js";
4
+ import { syncAvatarToCloud } from "../avatar/sync-avatar.js";
5
5
  import { reconcileCallsOnStartup } from "../calls/call-recovery.js";
6
6
  import { TwilioVoiceProvider } from "../calls/twilio-provider.js";
7
7
  import { expireInteractionBoundGuardianRequests } from "../channels/gateway-guardian-requests.js";
8
+ import { isCloudClientConfigured } from "../cloud/client.js";
9
+ import { startConsentRefresh } from "../cloud/consent-cache.js";
10
+ import { syncWorkspaceIdentityToPlatform } from "../cloud/sync-identity.js";
8
11
  import { initFeatureFlagOverrides } from "../config/assistant-feature-flags.js";
9
12
  import { setIngressPublicBaseUrl, validateEnv } from "../config/env.js";
10
13
  import {
@@ -16,7 +19,7 @@ import { seedInferenceProfiles } from "../config/seed-inference-profiles.js";
16
19
  import { reconcileFlagGatedProfiles } from "../config/sync-gated-profiles.js";
17
20
  import { startConversationAutoArchive } from "../conversations/auto-archive.js";
18
21
  import { startCes } from "../credential-execution/ces-runtime.js";
19
- import { refreshManagedConnectionCache } from "../credential-execution/managed-catalog.js";
22
+ import { refreshManagedConnectionCache } from "../credential-execution/cloud-catalog.js";
20
23
  import { startHeartbeatService } from "../heartbeat/heartbeat-service.js";
21
24
  import { backfillRelationshipStateIfMissing } from "../home/relationship-state-writer.js";
22
25
  import { startCliIpcServer } from "../ipc/assistant-server.js";
@@ -31,9 +34,6 @@ import { initializeDb } from "../persistence/db-init.js";
31
34
  import { startEmbeddingRuntimeManager } from "../persistence/embeddings/embedding-backend.js";
32
35
  import { maybeEnqueueLexicalBackfillOnUpgrade } from "../persistence/job-handlers/message-lexical-backfill.js";
33
36
  import { clearLifecycleQuiesce } from "../persistence/lifecycle-quiesce.js";
34
- import { isPlatformClientConfigured } from "../platform/client.js";
35
- import { startConsentRefresh } from "../platform/consent-cache.js";
36
- import { syncWorkspaceIdentityToPlatform } from "../platform/sync-identity.js";
37
37
  import { ensurePromptFiles } from "../prompts/system-prompt.js";
38
38
  import { runProviderConnectionsBackfill } from "../providers/inference/backfill.js";
39
39
  import { repairSharedCredentialSlots } from "../providers/inference/credential-slot-repair.js";
@@ -67,7 +67,7 @@ import {
67
67
  import { APP_VERSION } from "../version.js";
68
68
  import { drainOrphanedWatchTimelineEntries } from "../watch/watch-timeline.js";
69
69
  import { getWorkflowRunManager } from "../workflows/run-manager.js";
70
- import { repairAdaptiveThinkingOnManagedProfiles } from "../workspace/adaptive-thinking-repair.js";
70
+ import { repairAdaptiveThinkingOnCloudProfiles } from "../workspace/adaptive-thinking-repair.js";
71
71
  import { ensureByokDefaultProfiles } from "../workspace/byok-default-profile-ensure.js";
72
72
  import { ensureCompleteCustomProfiles } from "../workspace/custom-profile-ensure.js";
73
73
  import { WORKSPACE_MIGRATIONS } from "../workspace/migrations/registry.js";
@@ -218,7 +218,7 @@ export async function runDaemon(): Promise<void> {
218
218
  // immediately after the transport binds, ahead of DB init and readiness,
219
219
  // so an urgent signal arriving the moment requests are admitted is not
220
220
  // decided on an empty cache.
221
- void isPlatformClientConfigured().catch((err) =>
221
+ void isCloudClientConfigured().catch((err) =>
222
222
  log.warn({ err }, "Platform configured-probe warmup failed"),
223
223
  );
224
224
 
@@ -227,7 +227,7 @@ export async function runDaemon(): Promise<void> {
227
227
  // so a slow or unreachable gateway doesn't delay daemon startup (the
228
228
  // IPC call has a 3s connect + 5s call timeout that would otherwise
229
229
  // stall the critical path).
230
- // After the async fetch resolves, reconcile flag-gated managed profiles
230
+ // After the async fetch resolves, reconcile flag-gated cloud profiles
231
231
  // (OS Beta): `seedInferenceProfiles()` runs synchronously earlier in boot
232
232
  // before flags are available, so this lands the profile on the same boot once
233
233
  // the flag cache is populated. When this reconcile is the call that mutates
@@ -523,23 +523,23 @@ export async function runDaemon(): Promise<void> {
523
523
  }
524
524
  } // end if (dbReady)
525
525
 
526
- // Populate the managed-connection cache so the `14-connected-services`
526
+ // Populate the cloud-connection cache so the `14-connected-services`
527
527
  // bundled section (rendered by `renderConnectedServices()` in
528
- // system-sections.ts) can include platform-managed OAuth connections
528
+ // system-sections.ts) can include cloud OAuth connections
529
529
  // (e.g. Twitter) in the system prompt from the first turn. This is
530
530
  // an HTTP-only call with no DB dependency, so it runs regardless of
531
531
  // dbReady. A periodic refresh keeps the cache current when users
532
- // connect/disconnect managed providers while the assistant is running.
532
+ // connect/disconnect cloud providers while the assistant is running.
533
533
  void refreshManagedConnectionCache().catch((err) =>
534
534
  log.warn(
535
535
  { err },
536
- "Managed connection cache refresh failed — continuing startup",
536
+ "Cloud connection cache refresh failed — continuing startup",
537
537
  ),
538
538
  );
539
539
  const MANAGED_CONNECTION_REFRESH_INTERVAL_MS = 5 * 60 * 1000; // 5 minutes
540
540
  setInterval(() => {
541
541
  void refreshManagedConnectionCache().catch((err) =>
542
- log.warn({ err }, "Periodic managed connection cache refresh failed"),
542
+ log.warn({ err }, "Periodic cloud connection cache refresh failed"),
543
543
  );
544
544
  }, MANAGED_CONNECTION_REFRESH_INTERVAL_MS);
545
545
 
@@ -550,7 +550,7 @@ export async function runDaemon(): Promise<void> {
550
550
  const defaultConfigMerge = mergeDefaultWorkspaceConfig();
551
551
 
552
552
  // Seed inference profiles into the workspace config: active/advisor
553
- // resolution plus, on off-platform hatches, `llm.default` and a
553
+ // resolution plus, on off-cloud hatches, `llm.default` and a
554
554
  // personal provider connection for the hatch provider.
555
555
  try {
556
556
  seedInferenceProfiles({
@@ -564,7 +564,7 @@ export async function runDaemon(): Promise<void> {
564
564
  }
565
565
 
566
566
  // Re-run the adaptive thinking repair after overlay merge + profile seeding.
567
- // Workspace migration 097 enables adaptive thinking on managed profiles, but
567
+ // Workspace migration 097 enables adaptive thinking on cloud profiles, but
568
568
  // it runs before mergeDefaultWorkspaceConfig() which can overwrite the fix
569
569
  // with overlay profiles that have thinking disabled or absent. On-platform
570
570
  // instances where the overlay supplies "balanced" / "quality-optimized"
@@ -573,7 +573,7 @@ export async function runDaemon(): Promise<void> {
573
573
  // ensures thinking is enabled regardless of overlay ordering.
574
574
  if (defaultConfigMerge.hadOverlay) {
575
575
  try {
576
- repairAdaptiveThinkingOnManagedProfiles(getWorkspaceDir());
576
+ repairAdaptiveThinkingOnCloudProfiles(getWorkspaceDir());
577
577
  log.info("Post-overlay adaptive thinking repair complete");
578
578
  } catch (err) {
579
579
  log.warn(
@@ -681,7 +681,7 @@ export async function runDaemon(): Promise<void> {
681
681
  // Refresh the consent cache regardless of dev mode so record-time telemetry
682
682
  // writes (which drop on a confirmed opt-out) work in dev too. The usage
683
683
  // telemetry reporter re-checks share_analytics on every flush, so dev still
684
- // never sends telemetry to the platform. Fire-and-forget: startConsentRefresh()
684
+ // never sends telemetry to the cloud. Fire-and-forget: startConsentRefresh()
685
685
  // runs an immediate non-blocking refresh, so the startup hot path is never
686
686
  // blocked.
687
687
  startConsentRefresh();
@@ -704,10 +704,10 @@ export async function runDaemon(): Promise<void> {
704
704
 
705
705
  // Initialize providers before Qdrant so HTTP routes can begin accepting
706
706
  // requests while Qdrant initializes, then best-effort sync the workspace
707
- // identity name and avatar to the platform record.
707
+ // identity name and avatar to the cloud record.
708
708
  await initializeProviders(config);
709
709
  syncWorkspaceIdentityToPlatform();
710
- syncAvatarToPlatform();
710
+ syncAvatarToCloud();
711
711
 
712
712
  // Start the idle/LRU/memory-pressure sweep over the in-memory conversation
713
713
  // pool.
@@ -11,7 +11,7 @@ import { isContextOverflowError } from "../providers/types.js";
11
11
  * "too many input tokens: 242201 > 200000" (OpenAI)
12
12
  *
13
13
  * The regex path remains a safety net for provider-adapter paths (e.g.
14
- * managed-proxy rewrappers) that surface untyped errors.
14
+ * cloud-proxy rewrappers) that surface untyped errors.
15
15
  *
16
16
  * Accepts a raw error object, an `Error` instance, or a plain string.
17
17
  * Returns the actual token count, or `null` when it cannot be determined.
@@ -38,7 +38,7 @@ export function parseActualTokensFromError(
38
38
  /**
39
39
  * Message patterns that identify a provider context-overflow rejection.
40
40
  * Covers the typed wrapper's source patterns plus common provider phrasings
41
- * that adapter paths (e.g. managed-proxy rewrappers) surface as untyped
41
+ * that adapter paths (e.g. cloud-proxy rewrappers) surface as untyped
42
42
  * errors:
43
43
  * "prompt is too long: 242201 tokens > 200000 maximum" (Anthropic)
44
44
  * "too many input tokens: 242201 > 200000" (OpenAI)
@@ -55,7 +55,7 @@ const OVERFLOW_MESSAGE_PATTERNS: readonly RegExp[] = [
55
55
  /**
56
56
  * Heuristic context-overflow check that also catches REWRAPPED provider
57
57
  * errors. `isContextOverflowError` only matches the typed
58
- * `ContextOverflowError` wrapper; adapter layers (managed-proxy rewrappers,
58
+ * `ContextOverflowError` wrapper; adapter layers (cloud-proxy rewrappers,
59
59
  * retry shims) can re-throw the same rejection as a plain `Error`, hiding the
60
60
  * typed signal. Callers that must not misread an overflow as a clean
61
61
  * no-output stop (e.g. the suppressed-compaction agent-wake path) should use
@@ -1,5 +1,5 @@
1
- import { maybeDefaultSpeechToManaged } from "../config/managed-speech-defaults.js";
2
- import { rehydratePlatformCredentials } from "../config/platform-rehydration.js";
1
+ import { rehydrateCloudCredentials } from "../config/cloud-rehydration.js";
2
+ import { maybeDefaultSpeechToCloud } from "../config/cloud-speech-defaults.js";
3
3
  import type { AssistantConfig } from "../config/types.js";
4
4
  import { getMcpServerManager } from "../mcp/manager.js";
5
5
  import { startConfiguredMcpServers } from "../mcp/startup.js";
@@ -29,17 +29,17 @@ export async function initializeProvidersAndTools(
29
29
  ): Promise<void> {
30
30
  log.info("Daemon startup: initializing providers and tools");
31
31
 
32
- // Rehydrate the platform base URL and IDs from the credential store so
33
- // managed proxy activation survives assistant restarts. The in-memory
32
+ // Rehydrate the cloud base URL and IDs from the credential store so
33
+ // cloud proxy activation survives assistant restarts. The in-memory
34
34
  // overrides are normally only set by the secret-routes handlers at runtime.
35
- await rehydratePlatformCredentials();
35
+ await rehydrateCloudCredentials();
36
36
 
37
37
  // Speech defaulting normally fires when the cloud credentials land
38
38
  // (secret-routes); evaluating it once per boot also covers assistants whose
39
39
  // connection predates that trigger, so voice works for every connected
40
40
  // assistant with no configured speech credentials. Idempotent, and detached
41
41
  // per the startup philosophy — must not block boot.
42
- void maybeDefaultSpeechToManaged();
42
+ void maybeDefaultSpeechToCloud();
43
43
 
44
44
  await initializeProviders(config);
45
45
  // initializeTools() also loads workspace tool overrides from
@@ -3,7 +3,7 @@
3
3
  *
4
4
  * Starts the guard at boot and defers the first sample onto a macrotask so it
5
5
  * never blocks startup, and stops the guard (cancelling any pending deferred
6
- * sample) on shutdown. When the guard is disabled (non-platform), no deferred
6
+ * sample) on shutdown. When the guard is disabled (non-cloud), no deferred
7
7
  * sample is scheduled.
8
8
  */
9
9
  import { getLogger } from "../util/logger.js";
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Sustained CPU/memory pressure guard for platform-hosted assistants.
2
+ * Sustained CPU/memory pressure guard for cloud-hosted assistants.
3
3
  *
4
4
  * Samples container CPU utilization and working-set memory against the
5
5
  * container's allocation on a fixed cadence and reports an `elevated` state
@@ -8,14 +8,14 @@
8
8
  * sustained run of samples below a lower clear threshold (hysteresis), so the
9
9
  * state never flaps while usage hovers near a threshold.
10
10
  *
11
- * The guard is platform-gated: off-platform there is no plan allocation to
11
+ * The guard is platform-gated: off-cloud there is no plan allocation to
12
12
  * measure against, so the guard stays disabled and samples nothing.
13
13
  */
14
14
  import {
15
15
  type ResourcePressureState,
16
16
  type ResourcePressureStatus,
17
17
  } from "../api/events/resource-pressure-status-changed.js";
18
- import { getIsPlatform } from "../config/env-registry.js";
18
+ import { getIsCloud } from "../config/env-registry.js";
19
19
  import { broadcastMessage } from "../runtime/assistant-event-hub.js";
20
20
  import { getContainerCpuCores } from "../util/cgroup-cpu.js";
21
21
  import {
@@ -252,7 +252,7 @@ function defaultSampleMemory(): ResourcePressureMemorySample | null {
252
252
  }
253
253
 
254
254
  export function startResourcePressureGuard(): ResourcePressureStatus {
255
- if (!getIsPlatform()) {
255
+ if (!getIsCloud()) {
256
256
  return cloneStatus(state.status);
257
257
  }
258
258
 
@@ -279,7 +279,7 @@ export function stopResourcePressureGuard(): void {
279
279
  export function evaluateResourcePressureNow(
280
280
  deps?: ResourcePressureSamplers,
281
281
  ): ResourcePressureStatus {
282
- if (!getIsPlatform()) {
282
+ if (!getIsCloud()) {
283
283
  return cloneStatus(state.status);
284
284
  }
285
285
 
@@ -364,7 +364,7 @@ export function evaluateResourcePressureNow(
364
364
  }
365
365
 
366
366
  export function getResourcePressureStatus(): ResourcePressureStatus {
367
- if (!getIsPlatform()) {
367
+ if (!getIsCloud()) {
368
368
  return cloneStatus(DISABLED_STATUS);
369
369
  }
370
370
  if (!state.status.enabled) {
@@ -1,4 +1,5 @@
1
1
  import { disposeAcpSessionManager } from "../acp/index.js";
2
+ import { stopConsentRefresh } from "../cloud/consent-cache.js";
2
3
  import { stopConversationAutoArchive } from "../conversations/auto-archive.js";
3
4
  import { stopCes } from "../credential-execution/ces-runtime.js";
4
5
  import { stopHeartbeatService } from "../heartbeat/heartbeat-service.js";
@@ -13,7 +14,6 @@ import {
13
14
  import { getSqlite, isDbOpen, resetDb } from "../persistence/db-connection.js";
14
15
  import { shutdownEmbeddingBackends } from "../persistence/embeddings/embedding-backend.js";
15
16
  import { stopQdrantManager } from "../persistence/embeddings/qdrant-manager.js";
16
- import { stopConsentRefresh } from "../platform/consent-cache.js";
17
17
  import { HOOKS } from "../plugin-api/constants.js";
18
18
  import { runHook } from "../plugins/pipeline.js";
19
19
  import { stopRouteHost } from "../routes/control.js";
@@ -7,11 +7,11 @@
7
7
  * `SQLITE_CORRUPT` / `SQLITE_NOTADB` error ("database disk image is malformed"
8
8
  * / "file is not a database") on the next statement that touches the damaged
9
9
  * page. Left unobserved, that damage is only noticed when a user hits a broken
10
- * feature; the platform has no fleet-wide view of how often it happens.
10
+ * feature; the cloud has no fleet-wide view of how often it happens.
11
11
  *
12
12
  * This watchdog makes corruption observable. It emits a `watchdog` telemetry
13
13
  * event with `check_name = "sqlite_corrupted"` — the same stream the event-loop
14
- * watchdog uses — but POSTs it *directly* to the platform ingest rather than
14
+ * watchdog uses — but POSTs it *directly* to the cloud ingest rather than
15
15
  * through the SQLite-backed watchdog buffer: a check that fires because SQLite
16
16
  * is unusable must not depend on writing to SQLite, and going direct keeps this
17
17
  * module out of the `db-connection` import graph. The direct path still honors
@@ -37,7 +37,7 @@ import { getLogger } from "../util/logger.js";
37
37
  const log = getLogger("sqlite-corruption-watchdog");
38
38
 
39
39
  /**
40
- * Check name emitted for SQLite corruption events. The platform's
40
+ * Check name emitted for SQLite corruption events. The cloud's
41
41
  * `watchdog__sqlite_corruption_daily` admin query filters `check_name` to
42
42
  * this exact string — it is the cross-repo contract, keep it stable.
43
43
  */
@@ -46,7 +46,7 @@ export const FALLBACK_TURN_TRUST: TrustContext = {
46
46
  * trustContext, and in an auth-disabled (local) deployment that unresolved
47
47
  * actor is the guardian. A *present* trustContext always reflects the real
48
48
  * actor — even under `DISABLE_HTTP_AUTH`, which is the standing config in
49
- * platform-managed deployments — so a resolved non-guardian channel actor is
49
+ * cloud-managed deployments — so a resolved non-guardian channel actor is
50
50
  * never elevated to guardian.
51
51
  *
52
52
  * When no trust context is available and auth is enabled (e.g. a desktop-only
@@ -71,7 +71,7 @@ export class DesktopAutomationLease {
71
71
  private assertAvailable(): void {
72
72
  if (!this.deps.enabled()) {
73
73
  throw new Error(
74
- "Virtual desktop automation is available only on enabled platform-hosted assistants",
74
+ "Virtual desktop automation is available only on enabled cloud-hosted assistants",
75
75
  );
76
76
  }
77
77
  if (!this.deps.ready()) {
@@ -47,7 +47,7 @@ export function validateDesktopWebSocket(value: unknown, port: number): string {
47
47
  return url.href;
48
48
  }
49
49
 
50
- // Match the listener to the managed Chrome process, including occupied-port races.
50
+ // Match the listener to the cloud Chrome process, including occupied-port races.
51
51
  export async function assertDesktopListener(
52
52
  pid: number,
53
53
  port: number,
@@ -67,9 +67,7 @@ export async function assertDesktopListener(
67
67
  return;
68
68
  }
69
69
  }
70
- throw new Error(
71
- "Debug listener does not belong to the managed desktop Chrome",
72
- );
70
+ throw new Error("Debug listener does not belong to the cloud desktop Chrome");
73
71
  }
74
72
 
75
73
  export async function findDesktopBrowserPid(
@@ -21,7 +21,7 @@ import { sensitiveToolReach } from "../tools/tool-approval-handler.js";
21
21
  import * as computerUse from "./desktop-computer-use.js";
22
22
  import { shouldUseVirtualDesktop } from "./virtual-desktop-feature.js";
23
23
 
24
- const originalPlatform = process.env.IS_PLATFORM;
24
+ const originalPlatform = process.env.IS_CLOUD;
25
25
  const originalContainerized = process.env.IS_CONTAINERIZED;
26
26
  const context = {
27
27
  trustClass: "guardian" as const,
@@ -32,7 +32,7 @@ const context = {
32
32
  const spies: Array<{ mockRestore(): void }> = [];
33
33
 
34
34
  beforeEach(() => {
35
- process.env.IS_PLATFORM = "true";
35
+ process.env.IS_CLOUD = "true";
36
36
  process.env.IS_CONTAINERIZED = "true";
37
37
  setOverridesForTesting({ "assistant-desktop": true });
38
38
  });
@@ -43,9 +43,9 @@ afterEach(() => {
43
43
  }
44
44
  setOverridesForTesting({});
45
45
  if (originalPlatform === undefined) {
46
- delete process.env.IS_PLATFORM;
46
+ delete process.env.IS_CLOUD;
47
47
  } else {
48
- process.env.IS_PLATFORM = originalPlatform;
48
+ process.env.IS_CLOUD = originalPlatform;
49
49
  }
50
50
  if (originalContainerized === undefined) {
51
51
  delete process.env.IS_CONTAINERIZED;
@@ -135,7 +135,7 @@ test("native, unidentified and non-guardian turns do not select the virtual desk
135
135
  expect(shouldUseVirtualDesktop({ ...context, trustClass: "unknown" })).toBe(
136
136
  false,
137
137
  );
138
- process.env.IS_PLATFORM = "false";
138
+ process.env.IS_CLOUD = "false";
139
139
  expect(shouldUseVirtualDesktop(context)).toBe(false);
140
140
  });
141
141
 
@@ -203,7 +203,7 @@ for (const input of [
203
203
  for (const platform of [true, false]) {
204
204
  for (const clientOs of ["web", "macos", "windows", "linux"] as const) {
205
205
  test(`bundled tool policy and dispatch agree for ${platform ? "platform" : "local"} ${clientOs}`, async () => {
206
- process.env.IS_PLATFORM = String(platform);
206
+ process.env.IS_CLOUD = String(platform);
207
207
  const skillDir = join(getBundledSkillsDir(), "computer-use");
208
208
  const manifest = JSON.parse(
209
209
  readFileSync(join(skillDir, "TOOLS.json"), "utf8"),
@@ -91,12 +91,12 @@ function slotIsFree(manager: DesktopSessionManager): boolean {
91
91
  describe("DesktopStreamBridge", () => {
92
92
  test("streams without flag or filesystem checks after connecting", async () => {
93
93
  const originalContainerized = process.env.IS_CONTAINERIZED;
94
- const originalPlatform = process.env.IS_PLATFORM;
94
+ const originalPlatform = process.env.IS_CLOUD;
95
95
  const h = newFakeDesktop({ profileDir });
96
96
  const isEnabled = mock(isVirtualDesktopEnabled);
97
97
  const b = newBridge(h.manager, async () => {}, isEnabled);
98
98
  process.env.IS_CONTAINERIZED = "true";
99
- process.env.IS_PLATFORM = "true";
99
+ process.env.IS_CLOUD = "true";
100
100
  setOverridesForTesting({ "assistant-desktop": true });
101
101
  try {
102
102
  b.connectNow();
@@ -139,9 +139,9 @@ describe("DesktopStreamBridge", () => {
139
139
  process.env.IS_CONTAINERIZED = originalContainerized;
140
140
  }
141
141
  if (originalPlatform === undefined) {
142
- delete process.env.IS_PLATFORM;
142
+ delete process.env.IS_CLOUD;
143
143
  } else {
144
- process.env.IS_PLATFORM = originalPlatform;
144
+ process.env.IS_CLOUD = originalPlatform;
145
145
  }
146
146
  }
147
147
  });
@@ -176,7 +176,7 @@ export class DesktopStreamBridge {
176
176
  if (!this.isEnabled()) {
177
177
  this.fail(
178
178
  DESKTOP_CLOSE.unavailable,
179
- "Virtual desktop is available only on enabled platform-hosted assistants",
179
+ "Virtual desktop is available only on enabled cloud-hosted assistants",
180
180
  );
181
181
  return false;
182
182
  }
@@ -5,7 +5,7 @@ import { shouldUseVirtualDesktopBrowser } from "../browser/virtual-desktop-targe
5
5
  import { executeDesktopBrowserOperation } from "./desktop-browser-operations.js";
6
6
  import { desktopDependencies } from "./desktop-dependencies.js";
7
7
 
8
- const originalPlatform = process.env.IS_PLATFORM;
8
+ const originalPlatform = process.env.IS_CLOUD;
9
9
  const originalContainerized = process.env.IS_CONTAINERIZED;
10
10
  const context = {
11
11
  workingDir: "/tmp",
@@ -19,7 +19,7 @@ let status: ReturnType<typeof spyOn<typeof desktopDependencies, "getStatus">>;
19
19
 
20
20
  beforeEach(() => {
21
21
  process.env.IS_CONTAINERIZED = "true";
22
- process.env.IS_PLATFORM = "false";
22
+ process.env.IS_CLOUD = "false";
23
23
  setOverridesForTesting({ "assistant-desktop": true });
24
24
  status = spyOn(desktopDependencies, "getStatus").mockReturnValue({
25
25
  state: "ready",
@@ -30,9 +30,9 @@ afterEach(() => {
30
30
  status.mockRestore();
31
31
  setOverridesForTesting({});
32
32
  if (originalPlatform === undefined) {
33
- delete process.env.IS_PLATFORM;
33
+ delete process.env.IS_CLOUD;
34
34
  } else {
35
- process.env.IS_PLATFORM = originalPlatform;
35
+ process.env.IS_CLOUD = originalPlatform;
36
36
  }
37
37
  if (originalContainerized === undefined) {
38
38
  delete process.env.IS_CONTAINERIZED;
@@ -45,12 +45,12 @@ test("self-hosted Docker cannot automatically select or explicitly control virtu
45
45
  expect(shouldUseVirtualDesktopBrowser(undefined, {}, context)).toBe(false);
46
46
  await expect(
47
47
  executeDesktopBrowserOperation("snapshot", {}, context),
48
- ).rejects.toThrow("only on enabled platform-hosted assistants");
48
+ ).rejects.toThrow("only on enabled cloud-hosted assistants");
49
49
  expect(status).not.toHaveBeenCalled();
50
50
  });
51
51
 
52
52
  test("platform web conversations select virtual Chrome even when image components are missing", () => {
53
- process.env.IS_PLATFORM = "true";
53
+ process.env.IS_CLOUD = "true";
54
54
  expect(shouldUseVirtualDesktopBrowser(undefined, {}, context)).toBe(true);
55
55
  status.mockReturnValue({ state: "failed" });
56
56
  expect(shouldUseVirtualDesktopBrowser(undefined, {}, context)).toBe(true);
@@ -1,25 +1,25 @@
1
1
  import { isAssistantFeatureFlagEnabled } from "../config/assistant-feature-flags.js";
2
- import { getIsContainerized, getIsPlatform } from "../config/env-registry.js";
2
+ import { getIsCloud, getIsContainerized } from "../config/env-registry.js";
3
3
  import type { AssistantConfig } from "../config/schema.js";
4
4
  import type { ToolContext } from "../tools/types.js";
5
5
 
6
6
  const VIRTUAL_DESKTOP_FLAG = "assistant-desktop" as const;
7
7
 
8
- export function isVirtualDesktopPlatform(
8
+ export function isVirtualDesktopCloud(
9
9
  containerized: boolean = getIsContainerized(),
10
- platformHosted: boolean = getIsPlatform(),
10
+ cloudHosted: boolean = getIsCloud(),
11
11
  ): boolean {
12
- return platformHosted && containerized;
12
+ return cloudHosted && containerized;
13
13
  }
14
14
 
15
- /** Gates desktop streaming and control to enabled, platform-hosted containers. */
15
+ /** Gates desktop streaming and control to enabled, cloud-hosted containers. */
16
16
  export function isVirtualDesktopEnabled(
17
17
  config?: AssistantConfig,
18
18
  containerized: boolean = getIsContainerized(),
19
- platformHosted: boolean = getIsPlatform(),
19
+ cloudHosted: boolean = getIsCloud(),
20
20
  ): boolean {
21
21
  return (
22
- isVirtualDesktopPlatform(containerized, platformHosted) &&
22
+ isVirtualDesktopCloud(containerized, cloudHosted) &&
23
23
  isAssistantFeatureFlagEnabled(VIRTUAL_DESKTOP_FLAG, config)
24
24
  );
25
25
  }
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * "Your own" (BYO) email providers: the assistant sends and receives email
3
- * through the user's own provider account instead of a platform-managed
3
+ * through the user's own provider account instead of a cloud-managed
4
4
  * inbox. Configuration is the provider's stored `api_key` credential;
5
5
  * inbound arrives through the gateway's per-provider webhook routes
6
6
  * (`gateway/src/http/routes/resend-webhook.ts`, `mailgun-webhook.ts`).
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * Tests for the shared registered-inbox reader: the single answer to "does
3
- * this assistant have a managed inbox?", read from the platform
3
+ * this assistant have a cloud inbox?", read from the cloud
4
4
  * email-addresses API (the only writer of managed registrations).
5
5
  */
6
6
  import { beforeEach, describe, expect, mock, test } from "bun:test";
@@ -9,14 +9,14 @@ import { beforeEach, describe, expect, mock, test } from "bun:test";
9
9
  // Mocks, set up before importing the module under test
10
10
  // ---------------------------------------------------------------------------
11
11
 
12
- let mockPlatformAssistantId: string | null;
12
+ let mockCloudAssistantId: string | null;
13
13
  let mockResponse: { ok: boolean; status: number; body: unknown };
14
14
  let mockFetchThrows: boolean;
15
15
  let mockCreateThrows: boolean;
16
16
  let fetchCallCount: number;
17
17
 
18
- mock.module("../platform/client.js", () => ({
19
- CadetPlatformClient: {
18
+ mock.module("../cloud/client.js", () => ({
19
+ CadetCloudClient: {
20
20
  create: async () => {
21
21
  if (mockCreateThrows) {
22
22
  throw new Error("credential store unavailable");
@@ -27,7 +27,7 @@ mock.module("../platform/client.js", () => ({
27
27
  }));
28
28
 
29
29
  const clientStub = () => ({
30
- platformAssistantId: mockPlatformAssistantId,
30
+ cloudAssistantId: mockCloudAssistantId,
31
31
  fetch: async (_path: string) => {
32
32
  fetchCallCount += 1;
33
33
  if (mockFetchThrows) {
@@ -45,15 +45,15 @@ const clientStub = () => ({
45
45
  // Import after mocks
46
46
  // ---------------------------------------------------------------------------
47
47
 
48
- import { CadetPlatformClient } from "../platform/client.js";
48
+ import { CadetCloudClient } from "../cloud/client.js";
49
49
  import {
50
50
  invalidateRegisteredInboxCache,
51
51
  listEmailAddresses,
52
52
  resolveRegisteredInbox,
53
53
  } from "./registered-inbox.js";
54
54
 
55
- async function testClient(): Promise<CadetPlatformClient> {
56
- const client = await CadetPlatformClient.create();
55
+ async function testClient(): Promise<CadetCloudClient> {
56
+ const client = await CadetCloudClient.create();
57
57
  if (!client) {
58
58
  throw new Error("mocked create returned null");
59
59
  }
@@ -66,7 +66,7 @@ async function testClient(): Promise<CadetPlatformClient> {
66
66
 
67
67
  describe("resolveRegisteredInbox", () => {
68
68
  beforeEach(() => {
69
- mockPlatformAssistantId = "assistant-test-id";
69
+ mockCloudAssistantId = "assistant-test-id";
70
70
  mockResponse = { ok: true, status: 200, body: { count: 0, results: [] } };
71
71
  mockFetchThrows = false;
72
72
  mockCreateThrows = false;
@@ -85,7 +85,7 @@ describe("resolveRegisteredInbox", () => {
85
85
  });
86
86
  });
87
87
 
88
- test("registered when the platform lists an address", async () => {
88
+ test("registered when the cloud lists an address", async () => {
89
89
  mockResponse = {
90
90
  ok: true,
91
91
  status: 200,
@@ -103,14 +103,14 @@ describe("resolveRegisteredInbox", () => {
103
103
  });
104
104
  });
105
105
 
106
- test("none when the platform lists no addresses", async () => {
106
+ test("none when the cloud lists no addresses", async () => {
107
107
  const state = await resolveRegisteredInbox();
108
108
 
109
109
  expect(state).toEqual({ status: "none" });
110
110
  });
111
111
 
112
112
  test("no_platform when platform credentials are missing", async () => {
113
- mockPlatformAssistantId = null;
113
+ mockCloudAssistantId = null;
114
114
 
115
115
  const state = await resolveRegisteredInbox();
116
116
 
@@ -125,7 +125,7 @@ describe("resolveRegisteredInbox", () => {
125
125
  expect(state).toEqual({ status: "unavailable", detail: "HTTP 503" });
126
126
  });
127
127
 
128
- test("unavailable when the platform fetch throws", async () => {
128
+ test("unavailable when the cloud fetch throws", async () => {
129
129
  mockFetchThrows = true;
130
130
 
131
131
  const state = await resolveRegisteredInbox();
@@ -205,7 +205,7 @@ describe("resolveRegisteredInbox", () => {
205
205
 
206
206
  describe("listEmailAddresses", () => {
207
207
  beforeEach(() => {
208
- mockPlatformAssistantId = "assistant-test-id";
208
+ mockCloudAssistantId = "assistant-test-id";
209
209
  mockResponse = { ok: true, status: 200, body: { count: 0, results: [] } };
210
210
  mockFetchThrows = false;
211
211
  mockCreateThrows = false;
@@ -231,7 +231,7 @@ describe("listEmailAddresses", () => {
231
231
  });
232
232
  });
233
233
 
234
- test("returns the platform's rows with ids", async () => {
234
+ test("returns the cloud's rows with ids", async () => {
235
235
  mockResponse = {
236
236
  ok: true,
237
237
  status: 200,
@@ -246,7 +246,7 @@ describe("listEmailAddresses", () => {
246
246
  });
247
247
  });
248
248
 
249
- test("carries the platform's status on a non-ok response", async () => {
249
+ test("carries the cloud's status on a non-ok response", async () => {
250
250
  mockResponse = { ok: false, status: 503, body: { detail: "boom" } };
251
251
 
252
252
  const list = await listEmailAddresses(await testClient());