@mycadet/assistant 0.12.7 → 0.12.9

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 (904) 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 +2 -2
  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/package.json +1 -1
  19. package/node_modules/@mycadet/ces-client/src/__tests__/ces-client.test.ts +14 -14
  20. package/node_modules/@mycadet/ces-client/src/rpc-client.ts +1 -1
  21. package/node_modules/@mycadet/credential-storage/src/oauth-runtime.ts +1 -1
  22. package/node_modules/@mycadet/credential-storage/src/static-credentials.ts +1 -1
  23. package/node_modules/@mycadet/environments/src/seeds.ts +6 -6
  24. package/node_modules/@mycadet/environments/src/shell.test.ts +1 -1
  25. package/node_modules/@mycadet/environments/src/types.ts +6 -6
  26. package/node_modules/@mycadet/gateway-client/node_modules/@mycadet/service-contracts/package.json +2 -2
  27. package/node_modules/@mycadet/gateway-client/node_modules/@mycadet/service-contracts/src/{platform-credential.ts → cloud-credential.ts} +9 -9
  28. package/node_modules/@mycadet/gateway-client/node_modules/@mycadet/service-contracts/src/handles.ts +3 -3
  29. package/node_modules/@mycadet/gateway-client/node_modules/@mycadet/service-contracts/src/index.ts +1 -1
  30. package/node_modules/@mycadet/gateway-client/node_modules/@mycadet/service-contracts/src/ingress.ts +11 -5
  31. package/node_modules/@mycadet/gateway-client/node_modules/@mycadet/service-contracts/src/remote-web-pairing.ts +1 -1
  32. package/node_modules/@mycadet/gateway-client/node_modules/@mycadet/service-contracts/src/rpc.ts +14 -14
  33. package/node_modules/@mycadet/gateway-client/node_modules/@mycadet/service-contracts/src/trust-rules.ts +5 -5
  34. package/node_modules/@mycadet/gateway-client/src/binding-strength-contract.ts +5 -5
  35. package/node_modules/@mycadet/gateway-client/src/gateway-ipc-contracts.ts +1 -1
  36. package/node_modules/@mycadet/gateway-client/src/inbound-contract.ts +2 -2
  37. package/node_modules/@mycadet/gateway-client/src/outbound-contract.ts +1 -1
  38. package/node_modules/@mycadet/service-contracts/package.json +2 -2
  39. package/node_modules/@mycadet/service-contracts/src/{platform-credential.ts → cloud-credential.ts} +9 -9
  40. package/node_modules/@mycadet/service-contracts/src/handles.ts +3 -3
  41. package/node_modules/@mycadet/service-contracts/src/index.ts +1 -1
  42. package/node_modules/@mycadet/service-contracts/src/ingress.ts +11 -5
  43. package/node_modules/@mycadet/service-contracts/src/remote-web-pairing.ts +1 -1
  44. package/node_modules/@mycadet/service-contracts/src/rpc.ts +14 -14
  45. package/node_modules/@mycadet/service-contracts/src/trust-rules.ts +5 -5
  46. package/openapi.yaml +6804 -799
  47. package/package.json +2 -2
  48. package/scripts/build-test-fixtures.ts +1 -1
  49. package/scripts/probe-skill-retrieval.ts +1 -1
  50. package/scripts/sync-llm-catalog.ts +2 -2
  51. package/scripts/voice-ttft-spike.ts +2 -2
  52. package/src/__tests__/adaptive-thinking-repair.test.ts +4 -4
  53. package/src/__tests__/agent-loop-override-profile.test.ts +4 -4
  54. package/src/__tests__/agent-loop-subagent-billing-headers.test.ts +1 -1
  55. package/src/__tests__/anthropic-provider.test.ts +2 -2
  56. package/src/__tests__/available-skills.test.ts +11 -12
  57. package/src/__tests__/avatar-identity-sync.test.ts +1 -1
  58. package/src/__tests__/byok-default-profile-ensure.test.ts +7 -7
  59. package/src/__tests__/call-domain.test.ts +1 -1
  60. package/src/__tests__/call-site-routing-connection-auto-resolve.test.ts +2 -2
  61. package/src/__tests__/catalog-files.test.ts +10 -10
  62. package/src/__tests__/catalog-install-normalize.test.ts +3 -3
  63. package/src/__tests__/channel-availability-routes.test.ts +8 -8
  64. package/src/__tests__/channel-readiness-routes.test.ts +4 -4
  65. package/src/__tests__/channel-readiness-service.test.ts +14 -14
  66. package/src/__tests__/channel-readiness-telegram-remote.test.ts +1 -1
  67. package/src/__tests__/chat-reveal-guard-priming.test.ts +5 -6
  68. package/src/__tests__/checker.test.ts +6 -6
  69. package/src/__tests__/clawhub.test.ts +1 -1
  70. package/src/__tests__/{platform-callback-registration.test.ts → cloud-callback-registration.test.ts} +66 -90
  71. package/src/__tests__/{platform-client-verify-credential.test.ts → cloud-client-verify-credential.test.ts} +14 -14
  72. package/src/__tests__/{managed-credential-catalog-cli.test.ts → cloud-credential-catalog-cli.test.ts} +41 -41
  73. package/src/__tests__/{managed-fallback-dispatch.test.ts → cloud-fallback-dispatch.test.ts} +21 -16
  74. package/src/__tests__/{managed-profile-guard.test.ts → cloud-profile-guard.test.ts} +77 -75
  75. package/src/__tests__/{platform-proxy-context.test.ts → cloud-proxy-context.test.ts} +44 -44
  76. package/src/__tests__/{managed-speech-defaults.test.ts → cloud-speech-defaults.test.ts} +41 -41
  77. package/src/__tests__/{managed-store.test.ts → cloud-store.test.ts} +99 -99
  78. package/src/__tests__/compaction-events.test.ts +7 -5
  79. package/src/__tests__/config-loader-backfill.test.ts +65 -65
  80. package/src/__tests__/config-loader-cloud-defaults.test.ts +373 -0
  81. package/src/__tests__/config-loader-corrupt.test.ts +1 -1
  82. package/src/__tests__/config-loader-validation-reset-notice.test.ts +1 -1
  83. package/src/__tests__/config-schema.test.ts +3 -3
  84. package/src/__tests__/{config-set-platform-guard.test.ts → config-set-cloud-guard.test.ts} +6 -6
  85. package/src/__tests__/config-set-route.test.ts +12 -8
  86. package/src/__tests__/config-watcher-cleanup-throttle.test.ts +0 -8
  87. package/src/__tests__/config-watcher.test.ts +1 -1
  88. package/src/__tests__/contacts-write.test.ts +1 -1
  89. package/src/__tests__/conversation-agent-loop.test.ts +2 -2
  90. package/src/__tests__/conversation-app-control-instantiation.test.ts +18 -18
  91. package/src/__tests__/conversation-error.test.ts +45 -45
  92. package/src/__tests__/conversation-inference-profile-route.test.ts +4 -4
  93. package/src/__tests__/conversation-rendered-delegation-state.test.ts +4 -4
  94. package/src/__tests__/conversation-skill-tools.test.ts +7 -8
  95. package/src/__tests__/conversation-slash.test.ts +2 -2
  96. package/src/__tests__/conversation-speed-override.test.ts +8 -10
  97. package/src/__tests__/conversation-summarize-up-to.test.ts +4 -4
  98. package/src/__tests__/conversation-surfaces-activation-emit.test.ts +1 -1
  99. package/src/__tests__/conversation-wait-for-idle.test.ts +7 -5
  100. package/src/__tests__/credential-execution-api-key-propagation.test.ts +5 -5
  101. package/src/__tests__/{credential-execution-managed-contract.test.ts → credential-execution-cloud-contract.test.ts} +24 -24
  102. package/src/__tests__/credential-health-service.test.ts +28 -40
  103. package/src/__tests__/credential-routes.test.ts +85 -165
  104. package/src/__tests__/credential-security-invariants.test.ts +6 -7
  105. package/src/__tests__/custom-profile-ensure.test.ts +1 -1
  106. package/src/__tests__/date-context.test.ts +1 -1
  107. package/src/__tests__/default-profile-catalog-fallback.test.ts +15 -15
  108. package/src/__tests__/delete-managed-skill-tool.test.ts +8 -8
  109. package/src/__tests__/discord-callback-round-trip.test.ts +1 -1
  110. package/src/__tests__/disk-usage.test.ts +3 -3
  111. package/src/__tests__/email-invite-adapter.test.ts +5 -5
  112. package/src/__tests__/{embedding-managed-proxy-selection.test.ts → embedding-cloud-proxy-selection.test.ts} +44 -43
  113. package/src/__tests__/emit-signal-routing-intent.test.ts +13 -15
  114. package/src/__tests__/events-dev-bypass-actor.test.ts +2 -2
  115. package/src/__tests__/fallback-breaker.test.ts +7 -7
  116. package/src/__tests__/feature-flag-test-helpers.ts +106 -0
  117. package/src/__tests__/gateway-flag-listener.test.ts +1 -1
  118. package/src/__tests__/gemini-image-service.test.ts +2 -2
  119. package/src/__tests__/gemini-provider.test.ts +5 -5
  120. package/src/__tests__/get-skill-detail-audit.test.ts +134 -288
  121. package/src/__tests__/guardian-verification-voice-binding.test.ts +1 -1
  122. package/src/__tests__/handlers-skills-memory-v2-reseed.test.ts +5 -5
  123. package/src/__tests__/host-cu-routes-targeted.test.ts +8 -8
  124. package/src/__tests__/image-credentials.test.ts +13 -13
  125. package/src/__tests__/inbound-admitted-introduction-nudge.test.ts +14 -6
  126. package/src/__tests__/inbound-trust-verdict.test.ts +14 -6
  127. package/src/__tests__/inference-no-mode-boot-e2e.test.ts +11 -11
  128. package/src/__tests__/inference-profile-session-handler.test.ts +7 -7
  129. package/src/__tests__/inference-profile-session-ipc.test.ts +5 -5
  130. package/src/__tests__/inference-profile-validation-jev.test.ts +1 -1
  131. package/src/__tests__/init-feature-flag-overrides.test.ts +40 -24
  132. package/src/__tests__/input-repairs.test.ts +1 -1
  133. package/src/__tests__/install-skill-routing.test.ts +10 -8
  134. package/src/__tests__/integration-status.test.ts +5 -5
  135. package/src/__tests__/internal-telemetry-routes.test.ts +3 -3
  136. package/src/__tests__/invite-routes-http.test.ts +1 -1
  137. package/src/__tests__/llm-catalog-parity.test.ts +5 -7
  138. package/src/__tests__/llm-request-log-source-clickhouse.test.ts +2 -2
  139. package/src/__tests__/llm-resolver-override-or-default.test.ts +3 -3
  140. package/src/__tests__/llm-resolver.test.ts +1 -1
  141. package/src/__tests__/llm-schema-fallback-profile.test.ts +25 -19
  142. package/src/__tests__/llm-usage-store.test.ts +1 -1
  143. package/src/__tests__/managed-skill-lifecycle.test.ts +12 -12
  144. package/src/__tests__/mcp-abort-signal.test.ts +1 -2
  145. package/src/__tests__/mcp-client-auth.test.ts +1 -2
  146. package/src/__tests__/mcp-config-secret-boundary.test.ts +44 -40
  147. package/src/__tests__/mcp-tool-annotations-risk.test.ts +1 -2
  148. package/src/__tests__/media-generate-image.test.ts +30 -30
  149. package/src/__tests__/memory-config-file-parity.test.ts +6 -6
  150. package/src/__tests__/migration-export-to-gcs.test.ts +4 -4
  151. package/src/__tests__/migration-import-commit-http.test.ts +1 -1
  152. package/src/__tests__/mtime-cache.test.ts +2 -2
  153. package/src/__tests__/{notification-platform-adapter.test.ts → notification-cloud-adapter.test.ts} +39 -39
  154. package/src/__tests__/notification-deep-link.test.ts +40 -40
  155. package/src/__tests__/oauth-apps-routes.test.ts +3 -3
  156. package/src/__tests__/oauth-cli.test.ts +9 -9
  157. package/src/__tests__/oauth-commands-routes.test.ts +16 -16
  158. package/src/__tests__/oauth-connect-orchestrator.test.ts +2 -2
  159. package/src/__tests__/oauth-provider-serializer.test.ts +11 -11
  160. package/src/__tests__/oauth-providers-routes.test.ts +12 -12
  161. package/src/__tests__/oauth-store.test.ts +1 -1
  162. package/src/__tests__/oauth2-gateway-transport.test.ts +3 -3
  163. package/src/__tests__/onboarding-persona-write.test.ts +2 -2
  164. package/src/__tests__/openai-image-service.test.ts +2 -2
  165. package/src/__tests__/openai-responses-cutover-guard.test.ts +2 -2
  166. package/src/__tests__/openai-responses-provider.test.ts +1 -1
  167. package/src/__tests__/path-policy.test.ts +4 -4
  168. package/src/__tests__/personal-memory-auth-bypass.test.ts +1 -1
  169. package/src/__tests__/platform-bash-auto-approve.test.ts +18 -18
  170. package/src/__tests__/plugin-api-model-profiles.test.ts +1 -1
  171. package/src/__tests__/plugin-api-provider.test.ts +1 -1
  172. package/src/__tests__/plugin-api-store-credential.test.ts +4 -1
  173. package/src/__tests__/plugin-api-webhook-url.test.ts +4 -5
  174. package/src/__tests__/plugin-import-boundary-guard.test.ts +8 -39
  175. package/src/__tests__/plugin-import-boundary-reverse-guard.test.ts +2 -2
  176. package/src/__tests__/{provider-platform-proxy-integration.test.ts → provider-cloud-proxy-integration.test.ts} +70 -72
  177. package/src/__tests__/provider-commit-message-generator.test.ts +1 -1
  178. package/src/__tests__/provider-connections-backfill.test.ts +9 -9
  179. package/src/__tests__/provider-error-scenarios.test.ts +8 -8
  180. package/src/__tests__/provider-registry-ollama.test.ts +1 -1
  181. package/src/__tests__/provider-send-message-override-profile.test.ts +5 -5
  182. package/src/__tests__/registry.test.ts +3 -3
  183. package/src/__tests__/requests-mock.ts +972 -0
  184. package/src/__tests__/resolve-trust-class.test.ts +1 -1
  185. package/src/__tests__/resource-pressure-guard.test.ts +6 -6
  186. package/src/__tests__/resource-pressure-routes.test.ts +5 -5
  187. package/src/__tests__/retry-fallback-escalation.test.ts +5 -5
  188. package/src/__tests__/sanitize-config-for-transfer.test.ts +1 -1
  189. package/src/__tests__/scaffold-managed-skill-tool.test.ts +97 -97
  190. package/src/__tests__/schedule-store.test.ts +1 -1
  191. package/src/__tests__/search-skills-unified.test.ts +9 -7
  192. package/src/__tests__/{secret-routes-platform-proxy.test.ts → secret-routes-cloud-proxy.test.ts} +48 -95
  193. package/src/__tests__/secret-routes-scrub.test.ts +2 -59
  194. package/src/__tests__/secure-keys.test.ts +1 -1
  195. package/src/__tests__/skill-load-plugin-scope.test.ts +2 -2
  196. package/src/__tests__/skill-load-tool.test.ts +1 -1
  197. package/src/__tests__/skill-projection-feature-flag.test.ts +0 -19
  198. package/src/__tests__/skill-projection.benchmark.test.ts +5 -7
  199. package/src/__tests__/skill-tool-factory.test.ts +1 -1
  200. package/src/__tests__/skills-file-content-endpoint.test.ts +222 -536
  201. package/src/__tests__/skills-files-catalog-fallback.test.ts +259 -577
  202. package/src/__tests__/skills.test.ts +1 -1
  203. package/src/__tests__/slim-skill-category.test.ts +11 -9
  204. package/src/__tests__/stt-stream-session.test.ts +3 -3
  205. package/src/__tests__/subagent-call-site-routing.test.ts +1 -1
  206. package/src/__tests__/subagent-disposal.test.ts +5 -5
  207. package/src/__tests__/subagent-fork-notifications.test.ts +4 -4
  208. package/src/__tests__/subagent-fork-spawn.test.ts +5 -5
  209. package/src/__tests__/subagent-manager-notify.test.ts +5 -5
  210. package/src/__tests__/subagent-tool-gate-mode.test.ts +2 -2
  211. package/src/__tests__/system-prompt.test.ts +1 -1
  212. package/src/__tests__/telegram-bot-username-resolution.test.ts +34 -52
  213. package/src/__tests__/telegram-config.test.ts +16 -16
  214. package/src/__tests__/telephony-tts-guard.test.ts +13 -13
  215. package/src/__tests__/test-preload.ts +17 -7
  216. package/src/__tests__/tool-audit.test.ts +1 -1
  217. package/src/__tests__/tool-execution-pipeline.benchmark.test.ts +7 -5
  218. package/src/__tests__/tool-executor-lifecycle-events.test.ts +1 -1
  219. package/src/__tests__/turn-events-store.test.ts +1 -1
  220. package/src/__tests__/twilio-routes.test.ts +2 -1
  221. package/src/__tests__/ui-choice-copy-surfaces.test.ts +1 -1
  222. package/src/__tests__/unified-turn-context-client-os.test.ts +1 -1
  223. package/src/__tests__/validate-input.test.ts +5 -5
  224. package/src/__tests__/verification-outbound-delivery.test.ts +1 -1
  225. package/src/__tests__/voice-config-update.test.ts +15 -15
  226. package/src/__tests__/voice-ingress-preflight.test.ts +4 -4
  227. package/src/__tests__/web-search.test.ts +340 -859
  228. package/src/__tests__/workspace-git-service.test.ts +1 -1
  229. package/src/__tests__/workspace-migration-082-backfill-managed-profile-labels.test.ts +12 -12
  230. package/src/__tests__/workspace-migration-087-memory-router-balanced-profile.test.ts +1 -1
  231. package/src/__tests__/workspace-migration-090-memory-router-cost-optimized-profile.test.ts +1 -1
  232. package/src/__tests__/workspace-migration-100-upgrade-quality-profile-to-fable-5.test.ts +1 -1
  233. package/src/__tests__/workspace-migration-103-upgrade-quality-profile-to-opus-4-8.test.ts +1 -1
  234. package/src/__tests__/workspace-migration-110-flip-balanced-profile-to-together.test.ts +1 -1
  235. package/src/__tests__/workspace-migration-113-swap-balanced-profile-to-glm-5p2.test.ts +1 -1
  236. package/src/__tests__/workspace-migration-114-swap-quality-profile-to-opus.test.ts +1 -1
  237. package/src/__tests__/workspace-migration-123-swap-quality-profile-to-fable.test.ts +1 -1
  238. package/src/__tests__/workspace-migration-125-repoint-managed-connections-to-cadet.test.ts +3 -3
  239. package/src/__tests__/workspace-migration-126-strip-managed-profile-bodies.test.ts +9 -9
  240. package/src/__tests__/workspace-migration-127-backfill-default-provider.test.ts +11 -11
  241. package/src/__tests__/workspace-migration-130-speech-mode-to-provider.test.ts +3 -3
  242. package/src/__tests__/workspace-migration-132-web-search-mode-to-provider.test.ts +6 -6
  243. package/src/__tests__/workspace-migration-133-collapse-provider-connections.test.ts +3 -3
  244. package/src/__tests__/workspace-migration-134-image-generation-mode-to-provider.test.ts +6 -6
  245. package/src/__tests__/workspace-migration-136-repair-stale-fireworks-kimi-model-id.test.ts +1 -1
  246. package/src/__tests__/workspace-migration-137-repair-retired-fireworks-minimax-model-id.test.ts +1 -1
  247. package/src/__tests__/workspace-migration-146-repair-retired-fireworks-deepseek-flash-model-id.test.ts +1 -1
  248. package/src/__tests__/workspace-migration-147-rename-colliding-backup-profile-names.test.ts +1 -1
  249. package/src/__tests__/workspace-migration-151-repair-renamed-fireworks-deepseek-pro-model-id.test.ts +1 -1
  250. package/src/__tests__/workspace-migration-152-repair-retired-fireworks-minimax-m2p7-model-id.test.ts +1 -1
  251. package/src/__tests__/workspace-migration-159-rename-colliding-jev-profile-name.test.ts +1 -1
  252. package/src/__tests__/workspace-migration-160-repair-retired-fireworks-model-ids.test.ts +1 -1
  253. package/src/__tests__/workspace-migration-161-repair-retired-fireworks-glm-5p2-model-id.test.ts +1 -1
  254. package/src/api/events/cloud-disconnected.ts +21 -0
  255. package/src/api/events/host-bash.ts +1 -1
  256. package/src/api/events/host-cu.ts +1 -1
  257. package/src/api/events/host-file.ts +1 -1
  258. package/src/api/events/notification-intent.ts +1 -1
  259. package/src/api/events/show-cloud-login.ts +18 -0
  260. package/src/api/index.ts +11 -11
  261. package/src/api/responses/home.ts +1 -1
  262. package/src/api/surfaces.ts +4 -4
  263. package/src/approvals/guardian-request-resolvers.ts +2 -2
  264. package/src/avatar/accent-backfill.ts +1 -1
  265. package/src/avatar/identity-avatar.ts +1 -1
  266. package/src/avatar/notification-avatar.test.ts +2 -2
  267. package/src/avatar/notification-avatar.ts +2 -2
  268. package/src/avatar/resvg-lazy.test.ts +1 -1
  269. package/src/avatar/resvg-lazy.ts +3 -3
  270. package/src/avatar/sync-avatar.test.ts +76 -76
  271. package/src/avatar/sync-avatar.ts +15 -15
  272. package/src/avatar/traits-png-sync.ts +1 -1
  273. package/src/background-wake/background-wake-routes.test.ts +39 -39
  274. package/src/background-wake/{platform-client.test.ts → cloud-client.test.ts} +11 -11
  275. package/src/background-wake/{platform-client.ts → cloud-client.ts} +14 -14
  276. package/src/background-wake/publisher.ts +4 -4
  277. package/src/background-wake/wake-intent-hooks.test.ts +3 -3
  278. package/src/calls/__tests__/call-controller.test.ts +2 -2
  279. package/src/calls/__tests__/voice-session-bridge.test.ts +1 -1
  280. package/src/calls/call-domain.ts +1 -1
  281. package/src/calls/resolve-call-tts-provider.ts +6 -6
  282. package/src/calls/telephony-credential-preflight.ts +3 -3
  283. package/src/calls/telephony-tts-capability.ts +5 -6
  284. package/src/calls/tts-call-strategy.ts +1 -1
  285. package/src/calls/voice-escalation-judge.ts +1 -1
  286. package/src/calls/voice-ingress-preflight.ts +4 -4
  287. package/src/cli/bundled-modules.ts +1 -1
  288. package/src/cli/commands/__tests__/apps.test.ts +18 -53
  289. package/src/cli/commands/__tests__/plugins.test.ts +13 -13
  290. package/src/cli/commands/__tests__/tts.test.ts +1 -1
  291. package/src/cli/commands/auth.help.ts +3 -3
  292. package/src/cli/commands/auth.ts +2 -4
  293. package/src/cli/commands/browser.help.ts +2 -2
  294. package/src/cli/commands/channels/index.help.ts +2 -2
  295. package/src/cli/commands/channels/index.ts +1 -1
  296. package/src/cli/commands/channels/send.ts +1 -1
  297. package/src/cli/commands/cloud/__tests__/callback-routes-list.test.ts +2 -2
  298. package/src/cli/commands/cloud/__tests__/connect.test.ts +1 -1
  299. package/src/cli/commands/cloud/__tests__/disconnect.test.ts +3 -4
  300. package/src/cli/commands/cloud/connect.ts +2 -2
  301. package/src/cli/commands/cloud/credits-format.ts +1 -1
  302. package/src/cli/commands/cloud/index.help.ts +35 -35
  303. package/src/cli/commands/cloud/index.ts +1 -1
  304. package/src/cli/commands/config.ts +2 -2
  305. package/src/cli/commands/credentials.ts +10 -12
  306. package/src/cli/commands/domain.ts +1 -1
  307. package/src/cli/commands/email.help.ts +1 -1
  308. package/src/cli/commands/email.ts +2 -2
  309. package/src/cli/commands/gateway.help.ts +1 -1
  310. package/src/cli/commands/gateway.ts +1 -1
  311. package/src/cli/commands/image-generation.help.ts +1 -1
  312. package/src/cli/commands/inference-providers.ts +1 -1
  313. package/src/cli/commands/inference.help.ts +2 -2
  314. package/src/cli/commands/memory/index.help.ts +1 -1
  315. package/src/cli/commands/oauth/connect.test.ts +2 -2
  316. package/src/cli/commands/oauth/connect.ts +1 -1
  317. package/src/cli/commands/oauth/index.help.ts +5 -5
  318. package/src/cli/commands/oauth/providers.ts +2 -2
  319. package/src/cli/commands/oauth/shared.ts +3 -3
  320. package/src/cli/commands/plugins.help.ts +2 -3
  321. package/src/cli/commands/plugins.ts +5 -5
  322. package/src/cli/commands/roadmap.help.ts +1 -1
  323. package/src/cli/commands/telemetry.help.ts +2 -2
  324. package/src/cli/commands/telemetry.ts +2 -2
  325. package/src/cli/commands/tts.help.ts +3 -3
  326. package/src/cli/commands/webhooks.help.ts +9 -9
  327. package/src/cli/commands/webhooks.ts +1 -1
  328. package/src/cli/lib/__tests__/inspect-plugin.test.ts +8 -8
  329. package/src/cli/lib/__tests__/{install-from-platform.test.ts → install-from-cloud.test.ts} +54 -54
  330. package/src/cli/lib/__tests__/plugin-catalog-cache.test.ts +18 -18
  331. package/src/cli/lib/__tests__/{plugin-catalog-platform.test.ts → plugin-catalog-cloud.test.ts} +2 -2
  332. package/src/cli/lib/__tests__/plugin-catalog-local.test.ts +1 -1
  333. package/src/cli/lib/__tests__/plugin-catalog-resolve.test.ts +9 -9
  334. package/src/cli/lib/__tests__/plugin-details.test.ts +10 -10
  335. package/src/cli/lib/__tests__/plugins-install-offline.test.ts +24 -24
  336. package/src/cli/lib/bundled-marketplace.json +1 -1
  337. package/src/cli/lib/inspect-plugin.ts +2 -2
  338. package/src/cli/lib/{install-from-platform.ts → install-from-cloud.ts} +29 -29
  339. package/src/cli/lib/install-from-github.ts +4 -4
  340. package/src/cli/lib/plugin-catalog-cache.ts +7 -7
  341. package/src/cli/lib/{plugin-catalog-platform.ts → plugin-catalog-cloud.ts} +6 -6
  342. package/src/cli/lib/plugin-catalog-local.ts +2 -2
  343. package/src/cli/lib/publish-plugin.ts +9 -10
  344. package/src/cli/lib/search-plugins.ts +2 -2
  345. package/src/{platform → cloud}/client.test.ts +85 -86
  346. package/src/{platform → cloud}/client.ts +38 -46
  347. package/src/{platform/platform-patch-queue.test.ts → cloud/cloud-patch-queue.test.ts} +6 -9
  348. package/src/{platform/platform-patch-queue.ts → cloud/cloud-patch-queue.ts} +11 -11
  349. package/src/{platform/managed-speech.test.ts → cloud/cloud-speech.test.ts} +19 -19
  350. package/src/{platform/managed-speech.ts → cloud/cloud-speech.ts} +41 -41
  351. package/src/{platform → cloud}/consent-cache.test.ts +5 -5
  352. package/src/{platform → cloud}/consent-cache.ts +8 -8
  353. package/src/cloud/feature-gate.ts +8 -0
  354. package/src/{platform → cloud}/sync-identity.test.ts +4 -4
  355. package/src/{platform → cloud}/sync-identity.ts +6 -6
  356. package/src/config/__tests__/{platform-identity.test.ts → cloud-identity.test.ts} +54 -56
  357. package/src/config/__tests__/{platform-rehydration.test.ts → cloud-rehydration.test.ts} +47 -80
  358. package/src/config/__tests__/default-profile-catalog.test.ts +12 -12
  359. package/src/config/__tests__/default-provider.test.ts +4 -4
  360. package/src/config/__tests__/deployment-context-defaults.test.ts +23 -23
  361. package/src/config/__tests__/{jev-managed-profile.test.ts → jev-cloud-profile.test.ts} +3 -5
  362. package/src/config/__tests__/loader-callsite-strip-fallback.test.ts +2 -2
  363. package/src/config/__tests__/loader-last-known-good.test.ts +6 -6
  364. package/src/config/__tests__/loader-sparse-array-cleanup.test.ts +2 -2
  365. package/src/config/__tests__/profile-materialization.test.ts +7 -7
  366. package/src/config/__tests__/seed-default-provider.test.ts +17 -17
  367. package/src/config/__tests__/substrate-twin-shadowing.test.ts +36 -26
  368. package/src/config/__tests__/sync-gated-profiles.test.ts +20 -20
  369. package/src/config/__tests__/webhook-routing.test.ts +51 -51
  370. package/src/config/bundled-skills/computer-use/TOOLS.json +12 -12
  371. package/src/config/bundled-skills/messaging/SKILL.md +8 -8
  372. package/src/config/bundled-skills/messaging/TOOLS.json +2 -2
  373. package/src/config/bundled-skills/messaging/tools/messaging-analyze-style.ts +1 -1
  374. package/src/config/bundled-skills/messaging/tools/shared.ts +1 -1
  375. package/src/config/bundled-skills/phone-calls/references/TROUBLESHOOTING.md +2 -2
  376. package/src/config/bundled-skills/settings/TOOLS.json +3 -3
  377. package/src/config/bundled-skills/settings/tools/shared.ts +1 -1
  378. package/src/config/bundled-skills/settings/tools/voice-config-update.ts +12 -12
  379. package/src/config/bundled-skills/skill-management/SKILL.md +3 -3
  380. package/src/config/bundled-skills/skill-management/TOOLS.json +8 -8
  381. package/src/config/bundled-skills/skill-management/tools/{delete-managed.ts → delete-cloud.ts} +2 -2
  382. package/src/config/bundled-skills/skill-management/tools/{scaffold-managed.ts → scaffold-cloud.ts} +2 -2
  383. package/src/config/call-site-defaults.ts +6 -6
  384. package/src/config/{platform-identity.ts → cloud-identity.ts} +39 -42
  385. package/src/config/cloud-rehydration.ts +35 -0
  386. package/src/config/{managed-speech-defaults.ts → cloud-speech-defaults.ts} +13 -13
  387. package/src/config/default-profile-catalog.ts +36 -38
  388. package/src/config/default-profile-names.ts +11 -11
  389. package/src/config/default-provider-resolution.ts +2 -2
  390. package/src/config/default-provider.ts +1 -1
  391. package/src/config/env-registry.ts +21 -26
  392. package/src/config/env.ts +33 -46
  393. package/src/config/feature-flag-registry.json +5 -5
  394. package/src/config/inference-profile-validation.ts +1 -1
  395. package/src/config/llm-resolver.ts +9 -10
  396. package/src/config/loader.ts +33 -17
  397. package/src/config/profile-materialization.ts +8 -8
  398. package/src/config/profile-text-generation.test.ts +1 -1
  399. package/src/config/sanitize-for-transfer.ts +1 -1
  400. package/src/config/schema.ts +6 -6
  401. package/src/config/schemas/__tests__/stt.test.ts +2 -2
  402. package/src/config/schemas/call-site-catalog.ts +1 -1
  403. package/src/config/schemas/channels.ts +8 -0
  404. package/src/config/schemas/{platform.ts → cloud.ts} +7 -6
  405. package/src/config/schemas/host-browser.ts +1 -0
  406. package/src/config/schemas/ingress.ts +29 -10
  407. package/src/config/schemas/llm.ts +36 -36
  408. package/src/config/schemas/memory-lifecycle.ts +11 -1
  409. package/src/config/schemas/services.ts +4 -4
  410. package/src/config/schemas/stt.ts +3 -3
  411. package/src/config/schemas/tts.ts +10 -5
  412. package/src/config/schemas/voice.ts +1 -1
  413. package/src/config/seed-inference-profiles.ts +19 -19
  414. package/src/config/skill-state.ts +2 -2
  415. package/src/config/skills.ts +4 -4
  416. package/src/config/substrate-twin-shadowing.ts +12 -17
  417. package/src/config/sync-gated-profiles.ts +8 -9
  418. package/src/config/webhook-routing.ts +19 -19
  419. package/src/contacts/contacts-write.ts +1 -1
  420. package/src/credential-execution/ces-runtime.ts +6 -6
  421. package/src/credential-execution/{managed-catalog.ts → cloud-catalog.ts} +24 -24
  422. package/src/credential-execution/prompted-credential.ts +2 -23
  423. package/src/credential-health/credential-health-service.ts +59 -70
  424. package/src/daemon/__tests__/can-spawn-subagents.test.ts +1 -1
  425. package/src/daemon/__tests__/conversation-tool-setup-exclude.test.ts +4 -4
  426. package/src/daemon/config-watcher.ts +2 -2
  427. package/src/daemon/conversation-agent-loop.ts +9 -9
  428. package/src/daemon/conversation-error.ts +36 -36
  429. package/src/daemon/conversation-skill-tools.ts +7 -7
  430. package/src/daemon/conversation-surfaces.ts +1 -1
  431. package/src/daemon/conversation-tool-setup.ts +2 -2
  432. package/src/daemon/conversation-turn-finalize.ts +1 -1
  433. package/src/daemon/conversation-workspace.ts +1 -1
  434. package/src/daemon/conversation.ts +1 -1
  435. package/src/daemon/credential-transcript-scrub.ts +32 -35
  436. package/src/daemon/daemon-readiness.ts +1 -1
  437. package/src/daemon/event-loop-watchdog.ts +2 -2
  438. package/src/daemon/handlers/config-ingress.ts +9 -9
  439. package/src/daemon/handlers/config-telegram.ts +6 -6
  440. package/src/daemon/handlers/skills.ts +20 -20
  441. package/src/daemon/host-cu-proxy.ts +1 -1
  442. package/src/daemon/lifecycle.ts +19 -19
  443. package/src/daemon/parse-actual-tokens-from-error.ts +3 -3
  444. package/src/daemon/providers-setup.ts +6 -6
  445. package/src/daemon/resource-pressure-guard-lifecycle.ts +1 -1
  446. package/src/daemon/resource-pressure-guard.ts +6 -6
  447. package/src/daemon/shutdown-handlers.ts +1 -1
  448. package/src/daemon/sqlite-corruption-watchdog.ts +3 -3
  449. package/src/daemon/trust-context.ts +1 -1
  450. package/src/desktop/desktop-automation-lease.ts +1 -1
  451. package/src/desktop/desktop-browser-endpoint.ts +2 -4
  452. package/src/desktop/desktop-computer-use-routing.test.ts +6 -6
  453. package/src/desktop/desktop-stream-bridge.test.ts +4 -4
  454. package/src/desktop/desktop-stream-bridge.ts +1 -1
  455. package/src/desktop/{virtual-desktop-platform.test.ts → virtual-desktop-cloud.test.ts} +6 -6
  456. package/src/desktop/virtual-desktop-feature.ts +7 -7
  457. package/src/email/byo-email-credential.ts +1 -1
  458. package/src/email/registered-inbox.test.ts +16 -16
  459. package/src/email/registered-inbox.ts +20 -20
  460. package/src/heartbeat/heartbeat-service.ts +1 -1
  461. package/src/hooks/hook-loader.ts +2 -2
  462. package/src/inbound/__tests__/oauth-callback-url.test.ts +2 -2
  463. package/src/inbound/__tests__/tunnel-probe.test.ts +8 -8
  464. package/src/inbound/{platform-callback-registration.ts → cloud-callback-registration.ts} +49 -60
  465. package/src/inbound/oauth-callback-url.ts +6 -6
  466. package/src/inbound/pod-webhook-claim.ts +2 -2
  467. package/src/inbound/public-ingress-urls.ts +3 -3
  468. package/src/inbound/tunnel-probe.ts +21 -15
  469. package/src/inbound/tunnel-webhooks-gate.ts +3 -3
  470. package/src/ipc/__tests__/db-readiness-ipc-gate.test.ts +1 -1
  471. package/src/ipc/__tests__/email-ipc.test.ts +8 -8
  472. package/src/ipc/gateway-client.test.ts +55 -59
  473. package/src/ipc/gateway-flag-listener.ts +3 -3
  474. package/src/ipc/routes/db-proxy.ts +1 -1
  475. package/src/live-voice/__tests__/live-activity-reporter.test.ts +2 -2
  476. package/src/live-voice/__tests__/{live-voice-managed-speech-fallback.test.ts → live-voice-cloud-speech-fallback.test.ts} +15 -15
  477. package/src/live-voice/__tests__/live-voice-credential-preflight.test.ts +7 -7
  478. package/src/live-voice/__tests__/live-voice-stt.test.ts +1 -1
  479. package/src/live-voice/live-activity-reporter.ts +7 -7
  480. package/src/live-voice/live-voice-credential-preflight.ts +6 -6
  481. package/src/live-voice/live-voice-session.ts +3 -3
  482. package/src/live-voice/live-voice-tts.ts +1 -1
  483. package/src/mcp/__tests__/mcp-oauth-client-registration.test.ts +4 -4
  484. package/src/mcp/__tests__/mcp-oauth-provider.test.ts +1 -1
  485. package/src/mcp/mcp-oauth-provider.ts +2 -2
  486. package/src/media/gemini-image-service.ts +11 -13
  487. package/src/media/image-credentials.ts +9 -9
  488. package/src/media/openai-image-service.ts +1 -1
  489. package/src/media/types.ts +3 -3
  490. package/src/messaging/providers/channel-transport.ts +1 -1
  491. package/src/messaging/providers/discord/transport.ts +1 -1
  492. package/src/messaging/providers/gmail/adapter.ts +1 -1
  493. package/src/messaging/providers/gmail/client.ts +4 -4
  494. package/src/messaging/providers/outlook/adapter.ts +1 -1
  495. package/src/messaging/providers/slack/adapter.ts +1 -1
  496. package/src/messaging/providers/slack/transport.ts +1 -1
  497. package/src/messaging/providers/telegram-bot/transport.ts +1 -1
  498. package/src/monitoring/db-integrity-check.ts +1 -1
  499. package/src/monitoring/db-integrity-sample.ts +2 -2
  500. package/src/monitoring/mount-watch.ts +1 -1
  501. package/src/monitoring/oom-kill-reporter.ts +1 -1
  502. package/src/monitoring/worker.ts +5 -5
  503. package/src/notifications/README.md +2 -2
  504. package/src/notifications/__tests__/broadcaster.test.ts +9 -9
  505. package/src/notifications/__tests__/completion-policy.test.ts +1 -1
  506. package/src/notifications/__tests__/emit-signal-pipeline-failure.test.ts +4 -4
  507. package/src/notifications/activity-failed-dedupe.ts +1 -1
  508. package/src/notifications/adapters/{platform.ts → cloud.ts} +8 -8
  509. package/src/notifications/broadcaster.ts +10 -10
  510. package/src/notifications/decision-engine.ts +1 -1
  511. package/src/notifications/destination-resolver.ts +1 -1
  512. package/src/notifications/emit-signal.ts +6 -6
  513. package/src/notifications/types.ts +2 -2
  514. package/src/oauth/__tests__/identity-verifier.test.ts +1 -1
  515. package/src/oauth/__tests__/{seed-providers-managed.test.ts → seed-providers-cloud.test.ts} +13 -13
  516. package/src/oauth/byo-connection.test.ts +2 -2
  517. package/src/oauth/{platform-connection.test.ts → cloud-connection.test.ts} +41 -43
  518. package/src/oauth/{platform-connection.ts → cloud-connection.ts} +19 -19
  519. package/src/oauth/connection-resolver.test.ts +59 -61
  520. package/src/oauth/connection-resolver.ts +22 -22
  521. package/src/oauth/connection.ts +1 -1
  522. package/src/oauth/oauth-store.ts +8 -8
  523. package/src/oauth/provider-serializer.ts +4 -4
  524. package/src/oauth/revoke.ts +1 -1
  525. package/src/oauth/seed-providers.ts +32 -32
  526. package/src/permissions/approval-provenance.ts +1 -1
  527. package/src/permissions/checker.test.ts +18 -16
  528. package/src/permissions/checker.ts +3 -3
  529. package/src/persistence/compaction-log-store-clickhouse.ts +3 -3
  530. package/src/persistence/embeddings/embedding-backend.test.ts +16 -16
  531. package/src/persistence/embeddings/embedding-backend.ts +13 -13
  532. package/src/persistence/embeddings/embedding-gemini.test.ts +9 -12
  533. package/src/persistence/embeddings/embedding-gemini.ts +11 -11
  534. package/src/persistence/embeddings/embedding-runtime-manager.ts +2 -2
  535. package/src/persistence/jobs-store.ts +1 -1
  536. package/src/persistence/lifecycle-events-store.ts +1 -1
  537. package/src/persistence/llm-request-log-sink-clickhouse.ts +3 -3
  538. package/src/persistence/llm-request-log-source-clickhouse.ts +3 -3
  539. package/src/persistence/migrations/224-oauth-providers-managed-service-is-paid.ts +1 -1
  540. package/src/persistence/migrations/296-rewrite-balanced-economy-profile-pins.test.ts +1 -1
  541. package/src/persistence/migrations/296-rewrite-balanced-economy-profile-pins.ts +2 -2
  542. package/src/persistence/migrations/306-rewrite-frontier-profile-pins.test.ts +1 -1
  543. package/src/persistence/migrations/306-rewrite-frontier-profile-pins.ts +1 -1
  544. package/src/persistence/migrations/351-schedule-skill-script-handoff.ts +1 -1
  545. package/src/persistence/migrations/361-normalize-managed-connection-rows.test.ts +3 -3
  546. package/src/persistence/migrations/361-normalize-managed-connection-rows.ts +7 -7
  547. package/src/persistence/migrations/__tests__/319-remove-legacy-managed-connections.test.ts +2 -2
  548. package/src/persistence/schema/oauth.ts +1 -1
  549. package/src/plugin-api/index.ts +4 -4
  550. package/src/plugin-api/model-profiles.test.ts +1 -1
  551. package/src/plugin-api/model-profiles.ts +1 -1
  552. package/src/plugin-api/transcription-session.ts +1 -1
  553. package/src/plugin-api/vision-support.test.ts +1 -1
  554. package/src/plugin-api/webhook-url.ts +12 -12
  555. package/src/plugins/__tests__/source-fingerprint.test.ts +1 -1
  556. package/src/plugins/defaults/{platform-hosted → cloud-hosted}/__tests__/reengage.test.ts +5 -6
  557. package/src/plugins/defaults/cloud-hosted/package.json +14 -0
  558. package/src/plugins/defaults/{platform-hosted → cloud-hosted}/routes/reengage.ts +3 -3
  559. package/src/plugins/defaults/index.ts +6 -6
  560. package/src/plugins/defaults/main.ts +5 -5
  561. package/src/plugins/defaults/memory/__tests__/memory-retrospective-job.test.ts +5 -5
  562. package/src/plugins/defaults/memory/__tests__/memory-retrospective-prompt.test.ts +1 -1
  563. package/src/plugins/defaults/memory/__tests__/memory-retrospective-provider-path.test.ts +1 -1
  564. package/src/plugins/defaults/memory/__tests__/memory-tier-boundary-guard.test.ts +5 -0
  565. package/src/plugins/defaults/memory/config.ts +4 -4
  566. package/src/plugins/defaults/memory/memory-retrospective-constants.ts +2 -2
  567. package/src/plugins/defaults/memory/memory-retrospective-job.ts +7 -7
  568. package/src/plugins/defaults/memory/memory-retrospective-prompt.ts +5 -5
  569. package/src/plugins/defaults/memory/memory-retrospective-skill-card.ts +2 -2
  570. package/src/plugins/defaults/memory/src/__tests__/memory-v2-routes.test.ts +1 -1
  571. package/src/plugins/defaults/memory/src/__tests__/memory-worker-routes.test.ts +1 -1
  572. package/src/plugins/defaults/memory/substrate/__tests__/boot-maintenance.test.ts +20 -20
  573. package/src/plugins/defaults/memory/substrate/__tests__/cli-command-store.test.ts +1 -1
  574. package/src/plugins/defaults/memory/substrate/__tests__/skill-store.test.ts +3 -3
  575. package/src/plugins/defaults/memory/substrate/boot-maintenance.ts +17 -17
  576. package/src/plugins/defaults/memory/substrate/cli-command-store.ts +2 -2
  577. package/src/plugins/defaults/memory/substrate/prompts/consolidation.ts +1 -1
  578. package/src/plugins/defaults/memory/substrate/skill-store.ts +4 -4
  579. package/src/plugins/defaults/memory/v3/__tests__/maintain-job.test.ts +3 -3
  580. package/src/plugins/defaults/memory/v3/__tests__/pool-select.test.ts +2 -2
  581. package/src/plugins/defaults/memory/v3/maintain-job.ts +10 -10
  582. package/src/plugins/defaults/memory/v3/orchestrate.ts +3 -3
  583. package/src/plugins/defaults/memory/worker.ts +5 -5
  584. package/src/plugins/defaults/workspace/injectors.ts +2 -2
  585. package/src/plugins/mtime-cache.ts +1 -1
  586. package/src/plugins/source-versions.ts +1 -1
  587. package/src/plugins/types.ts +1 -1
  588. package/src/prompts/__tests__/system-prompt.test.ts +1 -1
  589. package/src/prompts/normalize-onboarding.ts +1 -1
  590. package/src/prompts/persona-resolver.ts +1 -1
  591. package/src/prompts/templates/system-sections.ts +3 -3
  592. package/src/providers/__tests__/cadet-connection-routing.test.ts +7 -7
  593. package/src/providers/__tests__/cadet-mismatch-routing.test.ts +12 -12
  594. package/src/providers/__tests__/connection-model-compat.test.ts +2 -2
  595. package/src/providers/__tests__/dispatch-connection-routing.test.ts +10 -10
  596. package/src/providers/__tests__/inference.test.ts +2 -2
  597. package/src/providers/__tests__/preflight-resolved-config.test.ts +16 -16
  598. package/src/providers/__tests__/retry-callsite.test.ts +1 -1
  599. package/src/providers/__tests__/satellite-connection-routing.test.ts +4 -4
  600. package/src/providers/__tests__/search-provider-catalog.test.ts +2 -2
  601. package/src/providers/__tests__/voice-error-copy.test.ts +3 -3
  602. package/src/providers/anthropic/client.ts +1 -1
  603. package/src/providers/cadet/client.ts +1 -1
  604. package/src/providers/cadet-model-routing.test.ts +19 -19
  605. package/src/providers/cadet-model-routing.ts +23 -23
  606. package/src/providers/call-site-routing.ts +10 -10
  607. package/src/providers/{platform-proxy → cloud-proxy}/constants.ts +11 -11
  608. package/src/providers/{platform-proxy → cloud-proxy}/context.ts +26 -26
  609. package/src/providers/connection-resolution.ts +43 -43
  610. package/src/providers/fallback-breaker.ts +2 -2
  611. package/src/providers/fetch-provider-catalog.ts +3 -3
  612. package/src/providers/gemini/client.ts +5 -5
  613. package/src/providers/inference/__tests__/adapter-factory-openai-compatible.test.ts +3 -3
  614. package/src/providers/inference/__tests__/base-url-route-validation.test.ts +8 -8
  615. package/src/providers/inference/__tests__/base-url-security.test.ts +4 -4
  616. package/src/providers/inference/adapter-factory.ts +35 -35
  617. package/src/providers/inference/auth.ts +10 -10
  618. package/src/providers/inference/backfill.ts +11 -11
  619. package/src/providers/inference/connection-availability.ts +24 -24
  620. package/src/providers/inference/connections.ts +18 -20
  621. package/src/providers/inference/profile-probe.ts +4 -4
  622. package/src/providers/inference/resolve-auth.ts +8 -8
  623. package/src/providers/jev/ask.test.ts +1 -1
  624. package/src/providers/jev/ask.ts +2 -2
  625. package/src/providers/model-catalog.ts +8 -9
  626. package/src/providers/openai/__tests__/api-error-normalization.test.ts +3 -3
  627. package/src/providers/openai/api-error-normalization.ts +2 -2
  628. package/src/providers/provider-availability.ts +4 -4
  629. package/src/providers/provider-env-vars.ts +1 -1
  630. package/src/providers/provider-secret-catalog.ts +1 -1
  631. package/src/providers/registry.ts +20 -20
  632. package/src/providers/retry.ts +26 -26
  633. package/src/providers/routing-identity.ts +10 -10
  634. package/src/providers/search-provider-catalog.ts +2 -2
  635. package/src/providers/speech-to-text/__tests__/{cadet-managed-realtime.test.ts → cadet-cloud-realtime.test.ts} +3 -3
  636. package/src/providers/speech-to-text/__tests__/{cadet-managed.test.ts → cadet-cloud.test.ts} +35 -35
  637. package/src/providers/speech-to-text/__tests__/deepgram-flux-realtime.test.ts +1 -1
  638. package/src/providers/speech-to-text/__tests__/resolve.test.ts +27 -27
  639. package/src/providers/speech-to-text/{cadet-managed-flux-realtime.ts → cadet-cloud-flux-realtime.ts} +6 -8
  640. package/src/providers/speech-to-text/{cadet-managed-realtime.ts → cadet-cloud-realtime.ts} +3 -3
  641. package/src/providers/speech-to-text/{cadet-managed.ts → cadet-cloud.ts} +18 -20
  642. package/src/providers/speech-to-text/cadet-speech-relay-connection.ts +7 -7
  643. package/src/providers/speech-to-text/deepgram-flux-frames.ts +3 -3
  644. package/src/providers/speech-to-text/deepgram-flux-realtime.ts +4 -4
  645. package/src/providers/speech-to-text/provider-catalog.ts +3 -3
  646. package/src/providers/speech-to-text/resolve.ts +26 -28
  647. package/src/providers/together/client.ts +1 -1
  648. package/src/providers/types.ts +4 -4
  649. package/src/providers/voice-error-copy.ts +1 -1
  650. package/src/runtime/__tests__/desktop-stream-upgrade.test.ts +10 -10
  651. package/src/runtime/agent-wake.ts +1 -1
  652. package/src/runtime/auth/__tests__/middleware.test.ts +1 -1
  653. package/src/runtime/auth/middleware.ts +1 -1
  654. package/src/runtime/auth/scopes.ts +1 -1
  655. package/src/runtime/capabilities.ts +1 -1
  656. package/src/runtime/channel-invite-transports/discord.ts +1 -1
  657. package/src/runtime/channel-invite-transports/email.ts +2 -2
  658. package/src/runtime/channel-readiness-service.ts +15 -13
  659. package/src/runtime/channel-reply-session.test.ts +1 -1
  660. package/src/runtime/channel-reply-session.ts +1 -1
  661. package/src/runtime/http-server.ts +4 -4
  662. package/src/runtime/introduction-policy.ts +4 -4
  663. package/src/runtime/migrations/__tests__/origin-mode.test.ts +14 -14
  664. package/src/runtime/migrations/__tests__/v1-test-helpers.ts +1 -1
  665. package/src/runtime/migrations/__tests__/vbundle-import-version-compat.test.ts +2 -2
  666. package/src/runtime/migrations/__tests__/vbundle-metadata-merge-integration.test.ts +3 -4
  667. package/src/runtime/migrations/__tests__/vbundle-metadata-merge.test.ts +6 -7
  668. package/src/runtime/migrations/__tests__/vbundle-validator-v1-schema.test.ts +1 -1
  669. package/src/runtime/migrations/migration-transport.ts +3 -3
  670. package/src/runtime/migrations/origin-mode.ts +6 -9
  671. package/src/runtime/migrations/vbundle-import-policy.ts +2 -2
  672. package/src/runtime/migrations/vbundle-importer.ts +4 -4
  673. package/src/runtime/migrations/vbundle-streaming-importer.ts +6 -6
  674. package/src/runtime/migrations/vbundle-validator.ts +1 -1
  675. package/src/runtime/routes/__tests__/{platform-credits-routes.test.ts → cloud-credits-routes.test.ts} +9 -9
  676. package/src/runtime/routes/__tests__/{platform-invoice-routes.test.ts → cloud-invoice-routes.test.ts} +13 -13
  677. package/src/runtime/routes/__tests__/connection-routes-vs-cli-parity.test.ts +1 -1
  678. package/src/runtime/routes/__tests__/conversation-query-routes.test.ts +126 -82
  679. package/src/runtime/routes/__tests__/default-plugin-routes.test.ts +5 -5
  680. package/src/runtime/routes/__tests__/default-provider-routes.test.ts +10 -10
  681. package/src/runtime/routes/__tests__/inference-profiles-routes.test.ts +18 -18
  682. package/src/runtime/routes/__tests__/inference-provider-connection-routes.test.ts +18 -16
  683. package/src/runtime/routes/__tests__/inference-send-routes.test.ts +1 -1
  684. package/src/runtime/routes/__tests__/ingress-status-routes.test.ts +1 -1
  685. package/src/runtime/routes/__tests__/migration-cadet-metadata-reconcile.test.ts +5 -20
  686. package/src/runtime/routes/__tests__/migration-import-credential-filter.test.ts +19 -22
  687. package/src/runtime/routes/__tests__/oauth-proxy-routes.test.ts +27 -27
  688. package/src/runtime/routes/__tests__/plugins-routes.test.ts +5 -5
  689. package/src/runtime/routes/__tests__/ps-routes.test.ts +5 -3
  690. package/src/runtime/routes/__tests__/roadmap-routes.test.ts +15 -15
  691. package/src/runtime/routes/__tests__/webhook-routes.test.ts +31 -31
  692. package/src/runtime/routes/app-management-routes.ts +1 -1
  693. package/src/runtime/routes/attachment-routes.ts +1 -1
  694. package/src/runtime/routes/auth-routes.ts +14 -14
  695. package/src/runtime/routes/avatar-routes.ts +0 -14
  696. package/src/runtime/routes/background-wake-routes.ts +4 -4
  697. package/src/runtime/routes/channel-availability-routes.ts +4 -4
  698. package/src/runtime/routes/client-routes.ts +5 -5
  699. package/src/runtime/routes/cloud-credentials.ts +45 -0
  700. package/src/runtime/routes/{platform-routes.ts → cloud-routes.ts} +86 -119
  701. package/src/runtime/routes/conversation-compaction-routes.ts +1 -1
  702. package/src/runtime/routes/conversation-query-routes.ts +345 -667
  703. package/src/runtime/routes/credential-routes.ts +28 -30
  704. package/src/runtime/routes/default-provider-routes.ts +1 -1
  705. package/src/runtime/routes/desktop-setup-routes.test.ts +5 -5
  706. package/src/runtime/routes/desktop-setup-routes.ts +1 -1
  707. package/src/runtime/routes/domain-routes.ts +15 -21
  708. package/src/runtime/routes/email-routes.ts +13 -13
  709. package/src/runtime/routes/errors.ts +1 -1
  710. package/src/runtime/routes/gateway-status-routes.ts +1 -1
  711. package/src/runtime/routes/identity-routes.ts +3 -3
  712. package/src/runtime/routes/inbound-message-handler.ts +1 -1
  713. package/src/runtime/routes/inbound-stages/acl-enforcement.ts +1 -1
  714. package/src/runtime/routes/inbound-stages/transcribe-audio.test.ts +1 -1
  715. package/src/runtime/routes/index.ts +1 -1
  716. package/src/runtime/routes/inference-profile-availability-guard.ts +5 -5
  717. package/src/runtime/routes/inference-profiles-routes.ts +11 -11
  718. package/src/runtime/routes/inference-provider-connection-routes.ts +24 -24
  719. package/src/runtime/routes/ingress-status-routes.ts +1 -1
  720. package/src/runtime/routes/integrations/a2a.ts +2 -2
  721. package/src/runtime/routes/integrations/twilio.ts +21 -35
  722. package/src/runtime/routes/internal-telemetry-routes.ts +2 -2
  723. package/src/runtime/routes/live-voice-routes.test.ts +4 -4
  724. package/src/runtime/routes/live-voice-routes.ts +6 -6
  725. package/src/runtime/routes/migration-routes.ts +34 -40
  726. package/src/runtime/routes/oauth-commands-routes.ts +31 -31
  727. package/src/runtime/routes/oauth-providers.ts +5 -5
  728. package/src/runtime/routes/oauth-proxy-passthrough.test.ts +1 -1
  729. package/src/runtime/routes/oauth-proxy-passthrough.ts +8 -8
  730. package/src/runtime/routes/oauth-proxy-routes.ts +15 -17
  731. package/src/runtime/routes/oauth-request-hints.test.ts +1 -1
  732. package/src/runtime/routes/oauth-request-hints.ts +1 -1
  733. package/src/runtime/routes/plugins-routes.ts +9 -9
  734. package/src/runtime/routes/profiler-routes.ts +1 -1
  735. package/src/runtime/routes/ps-routes.ts +4 -0
  736. package/src/runtime/routes/roadmap-routes.ts +18 -20
  737. package/src/runtime/routes/secret-routes.ts +20 -61
  738. package/src/runtime/routes/settings-routes.ts +18 -23
  739. package/src/runtime/routes/telemetry-routes.ts +4 -4
  740. package/src/runtime/routes/tts-routes.ts +4 -4
  741. package/src/runtime/routes/user-route-resolution.ts +1 -1
  742. package/src/runtime/routes/webhook-routes.ts +18 -18
  743. package/src/runtime/routes/workflow-routes.ts +5 -5
  744. package/src/runtime/sync/resource-sync-events.ts +2 -2
  745. package/src/runtime/verification-outbound-actions.ts +4 -4
  746. package/src/schedule/integration-status.ts +6 -6
  747. package/src/schedule/run-script.ts +1 -1
  748. package/src/schedule/schedule-timezone.ts +1 -1
  749. package/src/schedule/worker.ts +5 -5
  750. package/src/security/auth-fallback-events-store.ts +1 -1
  751. package/src/security/oauth2.ts +4 -4
  752. package/src/skills/available-skills.ts +4 -4
  753. package/src/skills/catalog-files.ts +8 -8
  754. package/src/skills/catalog-install.ts +12 -12
  755. package/src/skills/categories-cache.ts +3 -3
  756. package/src/skills/clawhub.ts +1 -1
  757. package/src/skills/{platform-compatibility.test.ts → cloud-compatibility.test.ts} +7 -7
  758. package/src/skills/{platform-compatibility.ts → cloud-compatibility.ts} +2 -4
  759. package/src/skills/{managed-store.ts → cloud-store.ts} +21 -23
  760. package/src/skills/inline-command-runner.ts +1 -1
  761. package/src/skills/install-meta.ts +1 -1
  762. package/src/skills/path-classifier.ts +4 -4
  763. package/src/skills/skill-history.ts +4 -4
  764. package/src/skills/skillssh-registry.ts +1 -1
  765. package/src/stt/__tests__/daemon-batch-transcriber.test.ts +1 -1
  766. package/src/stt/daemon-batch-transcriber.ts +7 -7
  767. package/src/stt/types.ts +3 -3
  768. package/src/subagent/manager.ts +15 -15
  769. package/src/subagent/types.ts +1 -1
  770. package/src/telegram/__tests__/webhook-health.test.ts +16 -16
  771. package/src/telegram/webhook-health.ts +10 -10
  772. package/src/telemetry/__tests__/config-setting-events-store.test.ts +1 -1
  773. package/src/telemetry/__tests__/outbox-test-harness.ts +2 -2
  774. package/src/telemetry/config-setting-events-store.ts +1 -1
  775. package/src/telemetry/config-setting-snapshot.ts +1 -1
  776. package/src/telemetry/memory-corpus-size.ts +1 -1
  777. package/src/telemetry/memory-tier-reporter.test.ts +2 -2
  778. package/src/telemetry/memory-tier-reporter.ts +3 -3
  779. package/src/telemetry/telemetry-event-sources.test.ts +2 -2
  780. package/src/telemetry/telemetry-event-sources.ts +9 -9
  781. package/src/telemetry/telemetry-events-outbox.ts +2 -2
  782. package/src/telemetry/telemetry-wire-validation.test.ts +1 -1
  783. package/src/telemetry/telemetry-wire-validation.ts +3 -3
  784. package/src/telemetry/telemetry-wire.generated.ts +1 -1
  785. package/src/telemetry/tool-audit.ts +1 -1
  786. package/src/telemetry/tool-executed-events-store.test.ts +1 -1
  787. package/src/telemetry/trace-collection-policy.ts +4 -4
  788. package/src/telemetry/turn-events-store.ts +1 -1
  789. package/src/telemetry/turn-outcome.ts +1 -1
  790. package/src/telemetry/turn-trace-store.ts +2 -2
  791. package/src/telemetry/types.test.ts +1 -1
  792. package/src/telemetry/types.ts +19 -19
  793. package/src/telemetry/usage-telemetry-reporter.test.ts +42 -42
  794. package/src/telemetry/usage-telemetry-reporter.ts +17 -17
  795. package/src/telemetry/watchdog-direct-emit.test.ts +9 -9
  796. package/src/telemetry/watchdog-direct-emit.ts +10 -10
  797. package/src/tools/__tests__/side-effect-abort-guard.test.ts +2 -2
  798. package/src/tools/browser/cdp-client/factory.ts +1 -1
  799. package/src/tools/computer-use/target.ts +2 -2
  800. package/src/tools/credentials/store.ts +2 -20
  801. package/src/tools/network/__tests__/{managed-search-proxy.test.ts → cloud-search-proxy.test.ts} +20 -20
  802. package/src/tools/network/__tests__/web-search.test.ts +14 -14
  803. package/src/tools/network/{managed-search-proxy.ts → cloud-search-proxy.ts} +13 -13
  804. package/src/tools/network/web-search.ts +9 -9
  805. package/src/tools/permission-checker.ts +2 -2
  806. package/src/tools/shared/input-misuse.ts +1 -1
  807. package/src/tools/shared/input-repairs.ts +4 -4
  808. package/src/tools/skills/{delete-managed.ts → delete-cloud.ts} +4 -4
  809. package/src/tools/skills/find-similar-skills.test.ts +7 -7
  810. package/src/tools/skills/find-similar-skills.ts +15 -15
  811. package/src/tools/skills/load.ts +6 -6
  812. package/src/tools/skills/{scaffold-managed.ts → scaffold-cloud.ts} +16 -16
  813. package/src/tools/skills/skill-script-runner.ts +2 -2
  814. package/src/tools/terminal/safe-env.ts +3 -3
  815. package/src/tools/tool-types.ts +2 -2
  816. package/src/tools/types.ts +2 -2
  817. package/src/tools/ui-surface/surface-shape-docs.ts +2 -2
  818. package/src/tools/workflows/manage-workflows.ts +1 -1
  819. package/src/tools/workspace-tools/loader.ts +1 -1
  820. package/src/tts/__tests__/cadet-provider.test.ts +5 -5
  821. package/src/tts/provider-catalog.ts +1 -1
  822. package/src/tts/providers/cadet-provider.ts +23 -23
  823. package/src/tts/providers/cadet-tts-socket.ts +2 -2
  824. package/src/tts/tts-config-resolver.ts +1 -1
  825. package/src/tts/tts-voice-field.ts +3 -3
  826. package/src/usage/subagent-attribution.ts +1 -1
  827. package/src/util/__tests__/process-table.test.ts +47 -0
  828. package/src/util/canonicalize-identity.ts +1 -1
  829. package/src/util/cgroup-cpu.ts +5 -5
  830. package/src/util/cgroup-memory.ts +2 -2
  831. package/src/util/container-cpu-sampler.ts +4 -4
  832. package/src/util/disk-usage.ts +4 -4
  833. package/src/util/errors.ts +3 -3
  834. package/src/util/layout.ts +479 -0
  835. package/src/util/oom-priority.ts +1 -1
  836. package/src/util/platform.ts +12 -468
  837. package/src/util/process-table.ts +39 -5
  838. package/src/util/provider-error-patterns.ts +2 -2
  839. package/src/watch/__tests__/watch-retro.test.ts +2 -2
  840. package/src/watch/watch-retro.ts +1 -1
  841. package/src/watcher/__tests__/telemetry.test.ts +2 -2
  842. package/src/watcher/telemetry.ts +1 -1
  843. package/src/windows-compiled-cli.ts +1 -1
  844. package/src/workspace/adaptive-thinking-repair.ts +4 -4
  845. package/src/workspace/byok-default-profile-ensure.ts +7 -7
  846. package/src/workspace/git-service.ts +2 -2
  847. package/src/workspace/migrations/006-services-config.ts +1 -1
  848. package/src/workspace/migrations/040-seed-latency-callsite-defaults.ts +1 -1
  849. package/src/workspace/migrations/052-seed-default-inference-profiles.ts +1 -1
  850. package/src/workspace/migrations/063-release-notes-dynamic-model-context.ts +1 -1
  851. package/src/workspace/migrations/066-seed-heartbeat-callsite-cost-default.ts +1 -1
  852. package/src/workspace/migrations/082-backfill-managed-profile-labels.ts +4 -4
  853. package/src/workspace/migrations/087-memory-router-balanced-profile.ts +3 -3
  854. package/src/workspace/migrations/090-memory-router-cost-optimized-profile.ts +4 -4
  855. package/src/workspace/migrations/097-enable-adaptive-thinking-managed-profiles.ts +5 -5
  856. package/src/workspace/migrations/100-upgrade-quality-profile-to-fable-5.ts +4 -4
  857. package/src/workspace/migrations/101-upgrade-balanced-economy-to-minimax-m3.ts +4 -4
  858. package/src/workspace/migrations/103-upgrade-quality-profile-to-opus-4-8.ts +5 -5
  859. package/src/workspace/migrations/104-recheck-adaptive-thinking-model-implied-anthropic.ts +1 -1
  860. package/src/workspace/migrations/106-drop-collect-usage-data.ts +1 -1
  861. package/src/workspace/migrations/108-drop-balanced-economy-profile.ts +4 -4
  862. package/src/workspace/migrations/109-swap-quality-profile-to-glm-5p2.ts +11 -11
  863. package/src/workspace/migrations/110-flip-balanced-profile-to-together.ts +6 -6
  864. package/src/workspace/migrations/113-swap-balanced-profile-to-glm-5p2.ts +5 -5
  865. package/src/workspace/migrations/114-swap-quality-profile-to-opus.ts +4 -4
  866. package/src/workspace/migrations/115-drop-frontier-profile.ts +5 -5
  867. package/src/workspace/migrations/123-swap-quality-profile-to-fable.ts +5 -5
  868. package/src/workspace/migrations/125-repoint-managed-connections-to-cadet.ts +3 -3
  869. package/src/workspace/migrations/126-strip-managed-profile-bodies.ts +2 -2
  870. package/src/workspace/migrations/127-backfill-default-provider.ts +6 -6
  871. package/src/workspace/migrations/130-speech-mode-to-provider.ts +4 -4
  872. package/src/workspace/migrations/131-drop-web-fetch-mode.ts +1 -1
  873. package/src/workspace/migrations/132-web-search-mode-to-provider.ts +6 -6
  874. package/src/workspace/migrations/133-collapse-provider-connections.ts +3 -3
  875. package/src/workspace/migrations/134-image-generation-mode-to-provider.ts +4 -4
  876. package/src/workspace/migrations/136-repair-stale-fireworks-kimi-model-id.ts +2 -2
  877. package/src/workspace/migrations/137-repair-retired-fireworks-minimax-model-id.ts +2 -2
  878. package/src/workspace/migrations/139-clear-renamed-cost-profile-label.ts +2 -2
  879. package/src/workspace/migrations/141-stt-english-default-to-multilingual.ts +4 -4
  880. package/src/workspace/migrations/144-convert-stranded-subscription-openai-profiles.ts +1 -1
  881. package/src/workspace/migrations/145-collapse-profile-bindings-to-entries.ts +2 -2
  882. package/src/workspace/migrations/146-repair-retired-fireworks-deepseek-flash-model-id.ts +2 -2
  883. package/src/workspace/migrations/148-strip-unsupported-fallback-profiles.ts +2 -2
  884. package/src/workspace/migrations/150-stt-flux-provider-to-model-family.ts +1 -1
  885. package/src/workspace/migrations/151-repair-renamed-fireworks-deepseek-pro-model-id.ts +2 -2
  886. package/src/workspace/migrations/152-repair-retired-fireworks-minimax-m2p7-model-id.ts +2 -2
  887. package/src/workspace/migrations/159-rename-colliding-jev-profile-name.ts +2 -2
  888. package/src/workspace/migrations/160-repair-retired-fireworks-model-ids.ts +2 -2
  889. package/src/workspace/migrations/161-repair-retired-fireworks-glm-5p2-model-id.ts +2 -2
  890. package/src/workspace/migrations/__tests__/141-stt-english-default-to-multilingual.test.ts +1 -1
  891. package/src/workspace/migrations/__tests__/150-stt-flux-provider-to-model-family.test.ts +1 -1
  892. package/src/workspace/migrations/registry.ts +6 -6
  893. package/src/workspace/top-level-renderer.ts +1 -1
  894. package/src/workspace/turn-commit.ts +2 -2
  895. package/src/__tests__/config-loader-platform-defaults.test.ts +0 -606
  896. package/src/__tests__/mock-gateway-ipc.ts +0 -260
  897. package/src/api/events/platform-disconnected.ts +0 -21
  898. package/src/api/events/show-platform-login.ts +0 -20
  899. package/src/config/platform-rehydration.ts +0 -60
  900. package/src/platform/feature-gate.ts +0 -8
  901. package/src/plugins/defaults/platform-hosted/package.json +0 -14
  902. package/src/runtime/routes/platform-managed-credentials.ts +0 -50
  903. /package/src/__tests__/{gateway-client-managed-outbound.test.ts → gateway-client-cloud-outbound.test.ts} +0 -0
  904. /package/src/__tests__/{secure-keys-managed-failover.test.ts → secure-keys-cloud-failover.test.ts} +0 -0
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Reports a live-voice session's phase to the platform, which pushes it to the
2
+ * Reports a live-voice session's phase to the cloud, which pushes it to the
3
3
  * iOS Live Activity over APNs.
4
4
  *
5
5
  * ## Why the server reports a phase the client already knows
@@ -27,7 +27,7 @@
27
27
  * throw here would cost the conversation.
28
28
  */
29
29
 
30
- import { CadetPlatformClient } from "../platform/client.js";
30
+ import { CadetCloudClient } from "../cloud/client.js";
31
31
  import { getLogger } from "../util/logger.js";
32
32
  import type { LiveVoiceServerFramePayload } from "./protocol.js";
33
33
 
@@ -188,7 +188,7 @@ export class LiveActivityReporter {
188
188
  * Retire the activity as the session ends.
189
189
  *
190
190
  * Latched, because a session can end more than one way — a clean hangup, a
191
- * dropped socket, a process shutdown — and the platform deletes the
191
+ * dropped socket, a process shutdown — and the cloud deletes the
192
192
  * registration on the first one. Sending a second would push at an activity
193
193
  * that is already gone.
194
194
  */
@@ -234,7 +234,7 @@ export class LiveActivityReporter {
234
234
  }
235
235
  signal.addEventListener("abort", () => resolve(), { once: true });
236
236
  });
237
- // Race the whole operation, including platform-client and credential
237
+ // Race the whole operation, including cloud-client and credential
238
238
  // resolution. The same signal reaches `fetch`, so a timed-out operation
239
239
  // that resolves credentials later cannot send its stale snapshot.
240
240
  void Promise.race([
@@ -284,12 +284,12 @@ export class LiveActivityReporter {
284
284
  signal: AbortSignal,
285
285
  ): Promise<void> {
286
286
  try {
287
- const client = await CadetPlatformClient.create();
288
- if (!client?.platformAssistantId) {
287
+ const client = await CadetCloudClient.create();
288
+ if (!client?.cloudAssistantId) {
289
289
  return;
290
290
  }
291
291
  const path = `/v1/assistants/${encodeURIComponent(
292
- client.platformAssistantId,
292
+ client.cloudAssistantId,
293
293
  )}/live-activity/dispatch/`;
294
294
  const response = await client.fetch(path, {
295
295
  method: "POST",
@@ -21,8 +21,8 @@ import {
21
21
  fishAudioReferenceIdConfigured,
22
22
  ttsSecretResolves,
23
23
  } from "../calls/telephony-tts-capability.js";
24
- import { resolveEffectiveSpeechProviders } from "../config/managed-speech-defaults.js";
25
- import { managedSpeechAvailable } from "../platform/managed-speech.js";
24
+ import { managedSpeechAvailable } from "../cloud/cloud-speech.js";
25
+ import { resolveEffectiveSpeechProviders } from "../config/cloud-speech-defaults.js";
26
26
  import { getProviderEntry } from "../providers/speech-to-text/provider-catalog.js";
27
27
  import {
28
28
  resolveStreamingTranscriber,
@@ -144,7 +144,7 @@ async function resolveSttGap(
144
144
  },
145
145
  clause:
146
146
  entry.credentialProvider === "cadet"
147
- ? `a Cadet Cloud connection for managed speech (run 'assistant cloud connect')`
147
+ ? `a Cadet Cloud connection for cloud speech (run 'assistant cloud connect')`
148
148
  : `an API key for the speech-to-text provider "${entry.id}"`,
149
149
  };
150
150
  }
@@ -197,7 +197,7 @@ async function resolveTtsGap(
197
197
  };
198
198
  }
199
199
 
200
- // Managed speech authenticates via the cloud connection — full
200
+ // Cloud speech authenticates via the cloud connection — full
201
201
  // availability (API key + assistant ID) is the credential, so the
202
202
  // stored-secret loop below would pass half-connected states that
203
203
  // synthesis rejects.
@@ -207,9 +207,9 @@ async function resolveTtsGap(
207
207
  gap: {
208
208
  kind: "tts",
209
209
  providerId: entry.id,
210
- reason: `TTS provider "${entry.id}" needs a Cadet Cloud connection for managed speech`,
210
+ reason: `TTS provider "${entry.id}" needs a Cadet Cloud connection for cloud speech`,
211
211
  },
212
- clause: `a Cadet Cloud connection for managed speech (run 'assistant cloud connect')`,
212
+ clause: `a Cadet Cloud connection for cloud speech (run 'assistant cloud connect')`,
213
213
  };
214
214
  }
215
215
  return null;
@@ -392,7 +392,7 @@ export interface LiveVoiceSessionOptions {
392
392
  metricsClock?: VoiceMetricsClock;
393
393
  /**
394
394
  * Mirrors phase changes to the iOS Live Activity. Injectable so tests can
395
- * assert what a session reports without reaching the platform.
395
+ * assert what a session reports without reaching the cloud.
396
396
  */
397
397
  liveActivityReporter?: LiveActivityReporter;
398
398
  createTurnId?: () => string;
@@ -1223,7 +1223,7 @@ export class LiveVoiceSession implements LiveVoiceSessionContract {
1223
1223
  // that can point at the screen. Cleared when the share ends.
1224
1224
  private shareTargets: ShareTargetSnapshot | null = null;
1225
1225
  /**
1226
- * Mirrors phase changes to the iOS Live Activity through the platform, for
1226
+ * Mirrors phase changes to the iOS Live Activity through the cloud, for
1227
1227
  * the case the client cannot cover: an app backgrounded long enough for iOS
1228
1228
  * to suspend the web layer that would otherwise push them.
1229
1229
  */
@@ -8326,7 +8326,7 @@ async function defaultResolveStreamingTranscriber(
8326
8326
  options: ResolveStreamingTranscriberOptions,
8327
8327
  ): Promise<StreamingTranscriber | null> {
8328
8328
  const { resolveEffectiveSpeechProviders } =
8329
- await import("../config/managed-speech-defaults.js");
8329
+ await import("../config/cloud-speech-defaults.js");
8330
8330
  const { resolveStreamingTranscriber } =
8331
8331
  await import("../providers/speech-to-text/resolve.js");
8332
8332
  const { stt } = await resolveEffectiveSpeechProviders(undefined, {
@@ -221,7 +221,7 @@ async function resolveLiveVoiceStreamingTtsProvider(
221
221
  ): Promise<ResolvedStreamingTtsProvider> {
222
222
  const config = configOverride ?? (await loadAssistantConfig());
223
223
  const { resolveEffectiveSpeechProviders } =
224
- await import("../config/managed-speech-defaults.js");
224
+ await import("../config/cloud-speech-defaults.js");
225
225
  const { tts: effectiveProviderId } =
226
226
  await resolveEffectiveSpeechProviders(config);
227
227
  const { provider: providerId, providerConfig } = resolveTtsConfig(
@@ -24,7 +24,7 @@ const CLIENT_METADATA_URL = `${PUBLIC_BASE_URL}/oauth/client-metadata.json`;
24
24
  let resolvedCallbackUrl = CALLBACK_URL;
25
25
  let publicBaseUrl: string | undefined = PUBLIC_BASE_URL;
26
26
 
27
- mock.module("../../inbound/platform-callback-registration.js", () => ({
27
+ mock.module("../../inbound/cloud-callback-registration.js", () => ({
28
28
  resolveCallbackUrl: async () => resolvedCallbackUrl,
29
29
  }));
30
30
 
@@ -45,8 +45,8 @@ mock.module("../../daemon/identity-helpers.js", () => ({
45
45
  getAssistantName: () => "Jarvis",
46
46
  }));
47
47
 
48
- import { setPlatformAssistantId } from "../../config/env.js";
49
- setPlatformAssistantId("019d6d4f-6dbd-779f-91d3-cb273b9429a5");
48
+ import { setCloudAssistantId } from "../../config/env.js";
49
+ setCloudAssistantId("019d6d4f-6dbd-779f-91d3-cb273b9429a5");
50
50
 
51
51
  const { McpOAuthProvider } = await import("../mcp-oauth-provider.js");
52
52
 
@@ -247,7 +247,7 @@ describe("McpOAuthProvider client metadata", () => {
247
247
  expect(provider.clientMetadataUrl).toBe(CLIENT_METADATA_URL);
248
248
  });
249
249
 
250
- test("preserves DCR fallback for a platform-relayed callback", async () => {
250
+ test("preserves DCR fallback for a cloud-relayed callback", async () => {
251
251
  const provider = newProvider();
252
252
 
253
253
  await provider.startCallbackServer();
@@ -4,7 +4,7 @@ import { describe, expect, mock, test } from "bun:test";
4
4
  // startGatewayCallback() dynamically imports these to resolve the public
5
5
  // callback URL. Stub them so the gateway flow runs without platform infra.
6
6
 
7
- mock.module("../../inbound/platform-callback-registration.js", () => ({
7
+ mock.module("../../inbound/cloud-callback-registration.js", () => ({
8
8
  resolveCallbackUrl: async () =>
9
9
  "https://platform.example/v1/gateway/callbacks/abc/webhooks/oauth/callback/",
10
10
  }));
@@ -29,7 +29,7 @@ import type {
29
29
  } from "@modelcontextprotocol/sdk/shared/auth.js";
30
30
  import { buildMcpOAuthClientMetadata } from "@mycadet/service-contracts/mcp-oauth";
31
31
 
32
- import { getPlatformAssistantId } from "../config/env.js";
32
+ import { getCloudAssistantId } from "../config/env.js";
33
33
  import { getAssistantName } from "../daemon/identity-helpers.js";
34
34
  import {
35
35
  deleteSecureKeyAsync,
@@ -143,7 +143,7 @@ export class McpOAuthProvider implements OAuthClientProvider {
143
143
  */
144
144
  get clientMetadata(): OAuthClientMetadata {
145
145
  const assistantName = getAssistantName();
146
- const assistantId = getPlatformAssistantId().trim();
146
+ const assistantId = getCloudAssistantId().trim();
147
147
  return buildMcpOAuthClientMetadata({
148
148
  clientName: assistantName ?? "Cadet Assistant",
149
149
  redirectUris: this._redirectUrl ? [this._redirectUrl] : [],
@@ -1,12 +1,12 @@
1
1
  import { ApiError, GoogleGenAI } from "@google/genai";
2
2
 
3
3
  import {
4
+ type CloudProxyCredentials,
4
5
  type GeneratedImage,
5
6
  type ImageGenCredentials,
6
7
  type ImageGenerationRequest,
7
8
  type ImageGenerationResult,
8
9
  isImageProviderBillingError,
9
- type ManagedProxyCredentials,
10
10
  MAX_VARIANTS,
11
11
  } from "./types.js";
12
12
 
@@ -47,8 +47,8 @@ export function mapGeminiError(error: unknown): string {
47
47
  return `Gemini API error (status ${status}). Please try again.`;
48
48
  }
49
49
  if (error instanceof Error) {
50
- // The managed proxy surfaces failures as plain Errors whose message embeds
51
- // the upstream status (e.g. "Managed proxy request failed (402): ...").
50
+ // The cloud proxy surfaces failures as plain Errors whose message embeds
51
+ // the upstream status (e.g. "Cloud proxy request failed (402): ...").
52
52
  if (isImageProviderBillingError({ message: error.message })) {
53
53
  return GEMINI_BILLING_MESSAGE;
54
54
  }
@@ -57,17 +57,17 @@ export function mapGeminiError(error: unknown): string {
57
57
  return "An unexpected error occurred during image generation.";
58
58
  }
59
59
 
60
- // --- Managed proxy direct HTTP call ---
60
+ // --- Cloud proxy direct HTTP call ---
61
61
 
62
62
  /**
63
- * Call the managed proxy directly via fetch, using the Gemini API URL format.
64
- * The platform proxy translates this to Vertex AI internally with ADC auth.
63
+ * Call the cloud proxy directly via fetch, using the Gemini API URL format.
64
+ * The cloud proxy translates this to Vertex AI internally with ADC auth.
65
65
  *
66
66
  * Uses the Gemini API format:
67
67
  * POST {baseUrl}/v1beta/models/{model}:generateContent
68
68
  */
69
69
  async function generateImageViaProxy(
70
- credentials: ManagedProxyCredentials,
70
+ credentials: CloudProxyCredentials,
71
71
  model: string,
72
72
  contents: unknown[],
73
73
  config: Record<string, unknown>,
@@ -93,9 +93,7 @@ async function generateImageViaProxy(
93
93
 
94
94
  if (!response.ok) {
95
95
  const body = await response.text();
96
- throw new Error(
97
- `Managed proxy request failed (${response.status}): ${body}`,
98
- );
96
+ throw new Error(`Cloud proxy request failed (${response.status}): ${body}`);
99
97
  }
100
98
 
101
99
  const data = (await response.json()) as {
@@ -161,11 +159,11 @@ export async function generateImage(
161
159
  const config = { responseModalities: ["TEXT", "IMAGE"] as string[] };
162
160
  const contents = [{ role: "user" as const, parts }];
163
161
 
164
- // For the managed proxy, bypass the @google/genai SDK and make direct HTTP
162
+ // For the cloud proxy, bypass the @google/genai SDK and make direct HTTP
165
163
  // calls. The SDK's generateContent doesn't support responseModalities for
166
164
  // image generation. Direct fetch lets us use the Gemini API format with
167
- // the managed proxy translating to Vertex internally.
168
- if (credentials.type === "managed-proxy") {
165
+ // the cloud proxy translating to Vertex internally.
166
+ if (credentials.type === "cloud-proxy") {
169
167
  const makeSingleCall = () =>
170
168
  generateImageViaProxy(
171
169
  credentials,
@@ -2,14 +2,14 @@
2
2
  * Shared credential resolver for image-generation call sites (image-studio
3
3
  * tool, CLI `image-generation` command, app-icon generator).
4
4
  *
5
- * Each call site picks between the managed-proxy path (routes through the
5
+ * Each call site picks between the cloud-proxy path (routes through the
6
6
  * platform) and the "your own" path (direct provider API key). This module
7
7
  * resolves either path and returns a provider-aware error hint when
8
8
  * credentials are unavailable.
9
9
  */
10
10
 
11
- import { PLATFORM_PROVIDER_META } from "../providers/platform-proxy/constants.js";
12
- import { resolveManagedProxyContext } from "../providers/platform-proxy/context.js";
11
+ import { PLATFORM_PROVIDER_META } from "../providers/cloud-proxy/constants.js";
12
+ import { resolveCloudProxyContext } from "../providers/cloud-proxy/context.js";
13
13
  import { getProviderKeyAsync } from "../security/secure-keys.js";
14
14
  import type { ImageGenCredentials, ImageGenProvider } from "./types.js";
15
15
  import { providerForImageModelPrefix, providerForModel } from "./types.js";
@@ -19,7 +19,7 @@ import { providerForImageModelPrefix, providerForModel } from "./types.js";
19
19
  *
20
20
  * `cadet` is unconditionally managed and carries no backend of its own: the
21
21
  * backend derives from the model prefix (`gpt-*`/`dall-e-*` proxy OpenAI,
22
- * anything else proxies Gemini), so one managed provider spans both runtime
22
+ * anything else proxies Gemini), so one cloud provider spans both runtime
23
23
  * proxies. Managed routing never falls back to a stored BYOK key, and a BYOK
24
24
  * provider never falls back to the proxy — billing follows the explicit
25
25
  * provider choice. Other providers use the caller's key, with an explicit
@@ -52,7 +52,7 @@ export function resolveImageGenRouting(
52
52
  /**
53
53
  * Resolve credentials for an image-generation request.
54
54
  *
55
- * - `managed`: returns managed-proxy credentials when the platform URL and
55
+ * - `managed`: returns cloud-proxy credentials when the cloud URL and
56
56
  * assistant API key are both configured, otherwise a hint telling the
57
57
  * user to log in.
58
58
  * - otherwise: returns direct credentials when the provider API key is
@@ -70,7 +70,7 @@ export async function resolveImageGenCredentials(opts: {
70
70
  // baseUrl and assistantApiKey can't diverge if the credential is cleared
71
71
  // between lookups.
72
72
  const meta = PLATFORM_PROVIDER_META[provider];
73
- const ctx = await resolveManagedProxyContext();
73
+ const ctx = await resolveCloudProxyContext();
74
74
  if (
75
75
  !meta?.managed ||
76
76
  !meta.proxyPath ||
@@ -79,14 +79,14 @@ export async function resolveImageGenCredentials(opts: {
79
79
  ) {
80
80
  return {
81
81
  errorHint:
82
- "Managed proxy is not available. Please log in to Cadet or switch to Your Own mode.",
82
+ "Cloud proxy is not available. Please log in to Cadet or switch to Your Own mode.",
83
83
  };
84
84
  }
85
85
  return {
86
86
  credentials: {
87
- type: "managed-proxy",
87
+ type: "cloud-proxy",
88
88
  assistantApiKey: ctx.assistantApiKey,
89
- baseUrl: `${ctx.platformBaseUrl}${meta.proxyPath}`,
89
+ baseUrl: `${ctx.cloudBaseUrl}${meta.proxyPath}`,
90
90
  },
91
91
  };
92
92
  }
@@ -99,7 +99,7 @@ export async function generateImageOpenAI(
99
99
  const variants = Math.max(1, Math.min(request.variants ?? 1, MAX_VARIANTS));
100
100
 
101
101
  const client =
102
- credentials.type === "managed-proxy"
102
+ credentials.type === "cloud-proxy"
103
103
  ? new OpenAI({
104
104
  apiKey: credentials.assistantApiKey,
105
105
  baseURL: credentials.baseUrl,
@@ -4,12 +4,12 @@ export interface DirectCredentials {
4
4
  type: "direct";
5
5
  apiKey: string;
6
6
  }
7
- export interface ManagedProxyCredentials {
8
- type: "managed-proxy";
7
+ export interface CloudProxyCredentials {
8
+ type: "cloud-proxy";
9
9
  assistantApiKey: string;
10
10
  baseUrl: string;
11
11
  }
12
- export type ImageGenCredentials = DirectCredentials | ManagedProxyCredentials;
12
+ export type ImageGenCredentials = DirectCredentials | CloudProxyCredentials;
13
13
 
14
14
  export interface ImageGenerationRequest {
15
15
  prompt: string;
@@ -105,7 +105,7 @@ export interface ReactionTarget {
105
105
  * Tagged with its kind so a second way of naming a destination is additive
106
106
  * rather than a reinterpretation of `chatId`. Reaching a person who has not
107
107
  * been named as a chat is deliberately not a kind here: on Slack and Discord
108
- * it costs a platform call whose result must be resolved at send time rather
108
+ * it costs a cloud call whose result must be resolved at send time rather
109
109
  * than stored, and nothing asks for it yet.
110
110
  */
111
111
  export type ProactiveTarget = {
@@ -55,7 +55,7 @@ export const discordTransport: ChannelTransport = {
55
55
  /**
56
56
  * A chat is a channel id, with `threadId` naming the thread, which is its
57
57
  * own channel. Reaching a person who has not been named as a chat would
58
- * mean opening their DM first, a platform call this resolution does not
58
+ * mean opening their DM first, a cloud call this resolution does not
59
59
  * make; the inbound `dm` param below is how an event-carried callback says
60
60
  * its `chatId` is a recipient rather than a room.
61
61
  */
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Gmail messaging provider adapter.
3
3
  *
4
- * Maps Gmail API responses to the platform-agnostic messaging types
4
+ * Maps Gmail API responses to the cloud-agnostic messaging types
5
5
  * and implements the MessagingProvider interface.
6
6
  */
7
7
 
@@ -28,13 +28,13 @@ export const GMAIL_API_BASE_URL =
28
28
  /**
29
29
  * Minimum Google OAuth scope a connection must carry for Gmail read access.
30
30
  *
31
- * The managed `google` OAuth app bundles Gmail + Calendar + Drive, but a
31
+ * The cloud `google` OAuth app bundles Gmail + Calendar + Drive, but a
32
32
  * connection can be granted a narrow subset (e.g. the onboarding check-in flow
33
33
  * requests Calendar-only). Resolving against Gmail read access turns a
34
34
  * downstream 403 into an actionable "reconnect Google and grant Gmail" error
35
35
  * at resolution time when the selected connection cannot read Gmail.
36
36
  *
37
- * Managed connections never carry this scope: Cadet's app grants Gmail as
37
+ * Cloud connections never carry this scope: Cadet's app grants Gmail as
38
38
  * `https://mail.google.com/`, which `scopeDifference` in `oauth/scope-utils.ts`
39
39
  * accepts as covering it.
40
40
  */
@@ -526,7 +526,7 @@ async function fetchMessagesIndividually(
526
526
  * Packs up to 100 sub-requests per HTTP call and runs up to BATCH_CONCURRENCY calls in parallel.
527
527
  * Falls back to individual getMessage for any sub-requests that fail within a batch.
528
528
  *
529
- * For connections that do not support raw token access (e.g. platform-managed connections),
529
+ * For connections that do not support raw token access (e.g. cloud connections),
530
530
  * falls back to fetching each message individually via connection.request().
531
531
  */
532
532
  export async function batchGetMessages(
@@ -556,7 +556,7 @@ export async function batchGetMessages(
556
556
  }
557
557
 
558
558
  // Try batch API first; fall back to individual fetches if withToken is unavailable
559
- // (e.g. platform-managed connections where raw tokens cannot be exposed).
559
+ // (e.g. cloud connections where raw tokens cannot be exposed).
560
560
  let useBatch = true;
561
561
  try {
562
562
  // Probe withToken availability with a no-op call
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Outlook messaging provider adapter.
3
3
  *
4
- * Maps Microsoft Graph API responses to the platform-agnostic messaging types
4
+ * Maps Microsoft Graph API responses to the cloud-agnostic messaging types
5
5
  * and implements the MessagingProvider interface.
6
6
  */
7
7
 
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Slack messaging provider adapter.
3
3
  *
4
- * Maps Slack API responses to the platform-agnostic messaging types and
4
+ * Maps Slack API responses to the cloud-agnostic messaging types and
5
5
  * implements the MessagingProvider interface.
6
6
  */
7
7
 
@@ -29,7 +29,7 @@ export const slackTransport: ChannelTransport = {
29
29
  /**
30
30
  * A chat is a channel or DM id, with `threadTs` naming the thread to post
31
31
  * under. Reaching a person who has not been named as a chat would mean
32
- * opening the DM first (`conversations.open`), a platform call this
32
+ * opening the DM first (`conversations.open`), a cloud call this
33
33
  * resolution does not make.
34
34
  */
35
35
  addressFor(target) {
@@ -150,7 +150,7 @@ export const telegramTransport: ChannelTransport = {
150
150
  * A start that Telegram refuses (a chat that is not private, where drafts
151
151
  * are not offered) reports not-ok, and the caller falls back to sending the
152
152
  * finished reply. That is the whole of the per-conversation rule: it is
153
- * answered here, where the platform's constraint lives.
153
+ * answered here, where the cloud's constraint lives.
154
154
  */
155
155
  async streamReply(ctx, chatId, op) {
156
156
  const opts = threadOptions(ctx);
@@ -21,7 +21,7 @@ const MAX_ERRORS = 10;
21
21
  * Cap on each error message's UTF-8 byte length. With MAX_ERRORS rows this
22
22
  * bounds the whole error payload well under the 4096-byte watchdog `detail`
23
23
  * limit (WATCHDOG_DETAIL_MAX_JSON_BYTES) — an oversized detail is silently
24
- * dropped by the platform, which would selectively erase the most-corrupted
24
+ * dropped by the cloud, which would selectively erase the most-corrupted
25
25
  * databases from the prevalence metric. Bytes, not `String.length`: ten
26
26
  * 160-character CJK messages would otherwise serialize to ~4.9 KB.
27
27
  */
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * Periodic database integrity sample, reported as a `db_integrity` watchdog
3
- * event so the platform can read corruption prevalence across the fleet.
3
+ * event so the cloud can read corruption prevalence across the fleet.
4
4
  *
5
5
  * The `PRAGMA quick_check` itself runs in a short-lived subprocess
6
6
  * (`db-integrity-check.ts`) — bun:sqlite's page walk is synchronous, and a
@@ -18,7 +18,7 @@
18
18
  import { existsSync, statSync, writeFileSync } from "node:fs";
19
19
  import { join } from "node:path";
20
20
 
21
- import { getRawShareAnalytics } from "../platform/consent-cache.js";
21
+ import { getRawShareAnalytics } from "../cloud/consent-cache.js";
22
22
  import { recordWatchdogEvent } from "../telemetry/watchdog-events-store.js";
23
23
  import { getLogger } from "../util/logger.js";
24
24
  import { getDbPath, getMonitoringDataDir } from "../util/platform.js";
@@ -19,7 +19,7 @@ import { getLogger } from "../util/logger.js";
19
19
 
20
20
  const log = getLogger("mount-watch");
21
21
 
22
- /** Assistant-container PVC bind targets in the managed pod template. */
22
+ /** Assistant-container PVC bind targets in the cloud pod template. */
23
23
  export const ASSISTANT_VOLUME_MOUNT_POINTS = ["/workspace", "/data"] as const;
24
24
 
25
25
  const VIRTIOFS_TYPES = new Set(["virtiofs", "fuse.virtiofs"]);
@@ -14,7 +14,7 @@
14
14
  import { mkdirSync, readFileSync, writeFileSync } from "node:fs";
15
15
  import { dirname, join } from "node:path";
16
16
 
17
- import { getRawShareAnalytics } from "../platform/consent-cache.js";
17
+ import { getRawShareAnalytics } from "../cloud/consent-cache.js";
18
18
  import { recordWatchdogEvent } from "../telemetry/watchdog-events-store.js";
19
19
  import { getContainerMemoryEvents } from "../util/cgroup-memory.js";
20
20
  import { getLogger } from "../util/logger.js";
@@ -15,10 +15,10 @@
15
15
 
16
16
  import { mkdirSync, writeFileSync } from "node:fs";
17
17
 
18
+ import { startConsentRefresh } from "../cloud/consent-cache.js";
19
+ import { rehydrateCloudCredentials } from "../config/cloud-rehydration.js";
18
20
  import { getConfig } from "../config/loader.js";
19
- import { rehydratePlatformCredentials } from "../config/platform-rehydration.js";
20
21
  import { resetDb } from "../persistence/db-connection.js";
21
- import { startConsentRefresh } from "../platform/consent-cache.js";
22
22
  import { disableStreamSeqStamping } from "../runtime/assistant-stream-state.js";
23
23
  import {
24
24
  startConfigSnapshotReporter,
@@ -91,12 +91,12 @@ async function main(): Promise<void> {
91
91
  "Resource monitor process started",
92
92
  );
93
93
 
94
- // Rehydrate the platform base URL and IDs from the credential store before
94
+ // Rehydrate the cloud base URL and IDs from the credential store before
95
95
  // the telemetry reporter starts. The daemon does this in
96
96
  // initializeProvidersAndTools(); this standalone process must do it itself so
97
- // the non-turn telemetry it flushes carries the platform organization and
97
+ // the non-turn telemetry it flushes carries the cloud organization and
98
98
  // user context instead of shipping with those fields empty.
99
- await rehydratePlatformCredentials();
99
+ await rehydrateCloudCredentials();
100
100
 
101
101
  let sampler: ResourceSamplerHandle | null = null;
102
102
  let fdMonitor: FileDescriptorMonitorHandle | null = null;
@@ -412,7 +412,7 @@ A guardian-sensitive notification (approval requests, access requests, channel a
412
412
 
413
413
  ### Platform (always connected)
414
414
 
415
- The `PlatformPushAdapter` posts the notification to the platform's `/v1/assistants/{id}/push/dispatch/` endpoint, which fans it out to the bound user's registered devices for native mobile push. Without cloud credentials the delivery is recorded as failed.
415
+ The `CloudPushAdapter` posts the notification to the cloud's `/v1/assistants/{id}/push/dispatch/` endpoint, which fans it out to the bound user's registered devices for native mobile push. Without cloud credentials the delivery is recorded as failed.
416
416
 
417
417
  ### External channels: Telegram, Slack, Discord
418
418
 
@@ -537,7 +537,7 @@ Where classification does not run, any other code-less reply falls through to th
537
537
  | `conversation-seed-composer.ts` | Surface-aware conversation seed generation (richer than notification copy) |
538
538
  | `destination-resolver.ts` | Resolves per-channel endpoints (Telegram and Slack chat ID, Discord user ID) |
539
539
  | `adapters/macos.ts` | Cadet adapter -- broadcasts `notification_intent` via SSE with deep-link metadata |
540
- | `adapters/platform.ts` | Platform adapter: posts to the platform push-dispatch endpoint for native mobile push |
540
+ | `adapters/platform.ts` | Platform adapter: posts to the cloud push-dispatch endpoint for native mobile push |
541
541
  | `adapters/telegram.ts` | Telegram adapter: calls the Telegram Bot API through `messaging/providers/telegram-bot/send.ts` |
542
542
  | `adapters/slack.ts` | Slack adapter: posts to the guardian's DM through `messaging/providers/slack/send.ts` |
543
543
  | `adapters/discord.ts` | Discord adapter: sends to the guardian's DM through `messaging/providers/discord/send.ts` |
@@ -1111,7 +1111,7 @@ describe("NotificationBroadcaster remotePushDispatched flag", () => {
1111
1111
  renderedCopy: {},
1112
1112
  });
1113
1113
 
1114
- test("cadet payload carries true when the platform adapter reports an accepted push; platform payload omits it", async () => {
1114
+ test("cadet payload carries true when the cloud adapter reports an accepted push; platform payload omits it", async () => {
1115
1115
  bothChannelsCopy();
1116
1116
 
1117
1117
  const cadet = makeCapturingAdapter("cadet");
@@ -1135,7 +1135,7 @@ describe("NotificationBroadcaster remotePushDispatched flag", () => {
1135
1135
  expect(platform.sends[0]?.payload.remotePushDispatched).toBeUndefined();
1136
1136
  });
1137
1137
 
1138
- test("cadet payload carries false when the platform dispatch fails", async () => {
1138
+ test("cadet payload carries false when the cloud dispatch fails", async () => {
1139
1139
  bothChannelsCopy();
1140
1140
 
1141
1141
  const cadet = makeCapturingAdapter("cadet");
@@ -1173,7 +1173,7 @@ describe("NotificationBroadcaster remotePushDispatched flag", () => {
1173
1173
  expect(cadet.sends[0]?.payload.remotePushPlatforms).toEqual(["ios"]);
1174
1174
  });
1175
1175
 
1176
- test("cadet payload carries false when the platform reports no accepted push (skipped or zero tokens)", async () => {
1176
+ test("cadet payload carries false when the cloud reports no accepted push (skipped or zero tokens)", async () => {
1177
1177
  bothChannelsCopy();
1178
1178
 
1179
1179
  const cadet = makeCapturingAdapter("cadet");
@@ -1192,7 +1192,7 @@ describe("NotificationBroadcaster remotePushDispatched flag", () => {
1192
1192
  expect(cadet.sends[0]?.payload.remotePushDispatched).toBe(false);
1193
1193
  });
1194
1194
 
1195
- test("cadet payload carries false when the platform result omits remotePushAccepted", async () => {
1195
+ test("cadet payload carries false when the cloud result omits remotePushAccepted", async () => {
1196
1196
  bothChannelsCopy();
1197
1197
 
1198
1198
  const cadet = makeCapturingAdapter("cadet");
@@ -1208,7 +1208,7 @@ describe("NotificationBroadcaster remotePushDispatched flag", () => {
1208
1208
  expect(cadet.sends[0]?.payload.remotePushDispatched).toBe(false);
1209
1209
  });
1210
1210
 
1211
- test("cadet payload carries false when the platform adapter throws", async () => {
1211
+ test("cadet payload carries false when the cloud adapter throws", async () => {
1212
1212
  bothChannelsCopy();
1213
1213
 
1214
1214
  const cadet = makeCapturingAdapter("cadet");
@@ -1233,7 +1233,7 @@ describe("NotificationBroadcaster remotePushDispatched flag", () => {
1233
1233
  expect(results.find((r) => r.channel === "cadet")?.status).toBe("sent");
1234
1234
  });
1235
1235
 
1236
- test("cadet intent still flushes with false when the platform channel's prep throws", async () => {
1236
+ test("cadet intent still flushes with false when the cloud channel's prep throws", async () => {
1237
1237
  bothChannelsCopy();
1238
1238
  pairingErrorByChannel = { platform: new Error("pairing exploded") };
1239
1239
 
@@ -1251,14 +1251,14 @@ describe("NotificationBroadcaster remotePushDispatched flag", () => {
1251
1251
  broadcaster.broadcastDecision(makeSignal(), bothChannelsDecision()),
1252
1252
  ).rejects.toThrow("pairing exploded");
1253
1253
 
1254
- // The platform adapter never ran, but the deferred cadet send must not
1254
+ // The cloud adapter never ran, but the deferred cadet send must not
1255
1255
  // be lost -- its pending delivery row would block retries forever.
1256
1256
  expect(platform.sends.length).toBe(0);
1257
1257
  expect(cadet.sends.length).toBe(1);
1258
1258
  expect(cadet.sends[0]?.payload.remotePushDispatched).toBe(false);
1259
1259
  });
1260
1260
 
1261
- test("deadline expiry flushes cadet with false while the platform dispatch finishes in the background", async () => {
1261
+ test("deadline expiry flushes cadet with false while the cloud dispatch finishes in the background", async () => {
1262
1262
  bothChannelsCopy();
1263
1263
 
1264
1264
  let resolvePlatform: ((result: DeliveryResult) => void) | undefined;
@@ -1325,7 +1325,7 @@ describe("NotificationBroadcaster remotePushDispatched flag", () => {
1325
1325
  expect(results.find((r) => r.channel === "platform")?.status).toBe("sent");
1326
1326
  });
1327
1327
 
1328
- test("dispatches the platform adapter before the cadet intent when both are selected", async () => {
1328
+ test("dispatches the cloud adapter before the cadet intent when both are selected", async () => {
1329
1329
  bothChannelsCopy();
1330
1330
 
1331
1331
  const callOrder: string[] = [];
@@ -225,7 +225,7 @@ describe("completion local delivery policy", () => {
225
225
  );
226
226
 
227
227
  test.each(["chat.assistant_reply", "schedule.result"])(
228
- "%s retains the platform owner fallback when the guardian lookup is unavailable",
228
+ "%s retains the cloud owner fallback when the guardian lookup is unavailable",
229
229
  (sourceEventName) => {
230
230
  expect(
231
231
  isCompletionRecipientUnavailable(