@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
@@ -60,18 +60,18 @@ import {
60
60
  clawhubUpdate,
61
61
  } from "../../skills/clawhub.js";
62
62
  import { createClawhubProvider } from "../../skills/clawhub-files.js";
63
- import type { SkillInstallMeta } from "../../skills/install-meta.js";
64
- import { readInstallMeta } from "../../skills/install-meta.js";
65
- import {
66
- createManagedSkill,
67
- deleteManagedSkill,
68
- validateManagedSkillId,
69
- } from "../../skills/managed-store.js";
70
63
  import {
71
64
  filterSkillsByPlatform,
72
- isSkillCompatibleWithPlatform,
65
+ isSkillCompatibleWithCloud,
73
66
  skillPlatformUnavailableMessage,
74
- } from "../../skills/platform-compatibility.js";
67
+ } from "../../skills/cloud-compatibility.js";
68
+ import {
69
+ createCloudSkill,
70
+ deleteCloudSkill,
71
+ validateCloudSkillId,
72
+ } from "../../skills/cloud-store.js";
73
+ import type { SkillInstallMeta } from "../../skills/install-meta.js";
74
+ import { readInstallMeta } from "../../skills/install-meta.js";
75
75
  import type { SkillFileProvider } from "../../skills/skill-file-provider.js";
76
76
  import { createSkillsShProvider } from "../../skills/skillssh-files.js";
77
77
  import type { SkillAuditData } from "../../skills/skillssh-registry.js";
@@ -1239,7 +1239,7 @@ export async function installSkill(spec: {
1239
1239
  const config = getConfig();
1240
1240
  const catalogSkill = catalog.find((s) => s.id === spec.slug);
1241
1241
  if (catalogSkill) {
1242
- if (!isSkillCompatibleWithPlatform(catalogSkill)) {
1242
+ if (!isSkillCompatibleWithCloud(catalogSkill)) {
1243
1243
  return {
1244
1244
  success: false,
1245
1245
  error: skillPlatformUnavailableMessage(spec.slug, catalogSkill),
@@ -1282,7 +1282,7 @@ export async function installSkill(spec: {
1282
1282
  return { success: true, skillId: spec.slug };
1283
1283
  }
1284
1284
 
1285
- // Check the Cadet catalog (first-party skills hosted on the platform).
1285
+ // Check the Cadet catalog (first-party skills hosted on the cloud).
1286
1286
  // Skip when the caller explicitly specified a community origin — this
1287
1287
  // prevents slug collisions where a catalog skill shadows a community
1288
1288
  // skill the user selected from search results.
@@ -1291,7 +1291,7 @@ export async function installSkill(spec: {
1291
1291
  const cadetCatalog = await getCatalog();
1292
1292
  const catalogEntry = cadetCatalog.find((s) => s.id === spec.slug);
1293
1293
  if (catalogEntry) {
1294
- if (!isSkillCompatibleWithPlatform(catalogEntry)) {
1294
+ if (!isSkillCompatibleWithCloud(catalogEntry)) {
1295
1295
  return {
1296
1296
  success: false,
1297
1297
  error: skillPlatformUnavailableMessage(spec.slug, catalogEntry),
@@ -1401,10 +1401,10 @@ export async function uninstallSkill(
1401
1401
  }
1402
1402
 
1403
1403
  try {
1404
- // Use shared managed-store logic for simple managed skill IDs
1405
- const isManagedId = !validateManagedSkillId(skillId);
1404
+ // Use shared cloud-store logic for simple managed skill IDs
1405
+ const isManagedId = !validateCloudSkillId(skillId);
1406
1406
  if (isManagedId) {
1407
- const result = deleteManagedSkill(skillId);
1407
+ const result = deleteCloudSkill(skillId);
1408
1408
  if (!result.deleted) {
1409
1409
  return {
1410
1410
  success: false,
@@ -1419,7 +1419,7 @@ export async function uninstallSkill(
1419
1419
  }
1420
1420
  rmSync(skillDir, { recursive: true });
1421
1421
  // Best-effort cleanup of capability memory for uninstalled skill
1422
- // (managed path handles this internally via deleteManagedSkill)
1422
+ // (managed path handles this internally via deleteCloudSkill)
1423
1423
  deleteSkillCapabilityNode(skillId);
1424
1424
  }
1425
1425
 
@@ -1724,7 +1724,7 @@ export async function draftSkill(params: {
1724
1724
  const { signal, cleanup } = createTimeout(LLM_DRAFT_TIMEOUT_MS);
1725
1725
  try {
1726
1726
  const prompt = [
1727
- "Given the following skill body text, generate metadata for a managed skill.",
1727
+ "Given the following skill body text, generate metadata for a cloud skill.",
1728
1728
  `Return ONLY valid JSON with these fields: ${missing.join(
1729
1729
  ", ",
1730
1730
  )}.`,
@@ -1811,7 +1811,7 @@ export async function draftSkill(params: {
1811
1811
  }
1812
1812
  }
1813
1813
 
1814
- // Normalize skillId to valid managed-skill slug format
1814
+ // Normalize skillId to valid cloud-skill slug format
1815
1815
  const originalId = skillId!;
1816
1816
  skillId = toSkillSlug(originalId);
1817
1817
  if (!skillId) {
@@ -1822,7 +1822,7 @@ export async function draftSkill(params: {
1822
1822
  }
1823
1823
 
1824
1824
  // Final validation pass
1825
- const validationError = validateManagedSkillId(skillId);
1825
+ const validationError = validateCloudSkillId(skillId);
1826
1826
  if (validationError) {
1827
1827
  skillId =
1828
1828
  toSkillSlug(skillId.replace(/[^a-z0-9]/g, "-")) || "untitled-skill";
@@ -1863,7 +1863,7 @@ export async function createSkill(
1863
1863
  params: CreateSkillParams,
1864
1864
  ): Promise<{ success: true } | { success: false; error: string }> {
1865
1865
  try {
1866
- const result = createManagedSkill({
1866
+ const result = createCloudSkill({
1867
1867
  id: params.skillId,
1868
1868
  name: params.name,
1869
1869
  description: params.description,
@@ -2,7 +2,7 @@
2
2
  * Host computer-use proxy.
3
3
  *
4
4
  * Proxies computer-use actions to the desktop client when running as a
5
- * managed assistant, following the same request/resolve pattern as
5
+ * cloud assistant, following the same request/resolve pattern as
6
6
  * HostBashProxy. Also owns CU-specific state tracking (step counting,
7
7
  * loop detection, observation formatting) for the unified agent loop.
8
8
  *
@@ -1,10 +1,13 @@
1
1
  import { config as dotenvConfig } from "dotenv";
2
2
 
3
3
  import { reconcileAppPins } from "../apps/app-pin-reconciler.js";
4
- import { syncAvatarToPlatform } from "../avatar/sync-avatar.js";
4
+ import { syncAvatarToCloud } from "../avatar/sync-avatar.js";
5
5
  import { reconcileCallsOnStartup } from "../calls/call-recovery.js";
6
6
  import { TwilioVoiceProvider } from "../calls/twilio-provider.js";
7
7
  import { expireInteractionBoundGuardianRequests } from "../channels/gateway-guardian-requests.js";
8
+ import { isCloudClientConfigured } from "../cloud/client.js";
9
+ import { startConsentRefresh } from "../cloud/consent-cache.js";
10
+ import { syncWorkspaceIdentityToPlatform } from "../cloud/sync-identity.js";
8
11
  import { initFeatureFlagOverrides } from "../config/assistant-feature-flags.js";
9
12
  import { setIngressPublicBaseUrl, validateEnv } from "../config/env.js";
10
13
  import {
@@ -16,7 +19,7 @@ import { seedInferenceProfiles } from "../config/seed-inference-profiles.js";
16
19
  import { reconcileFlagGatedProfiles } from "../config/sync-gated-profiles.js";
17
20
  import { startConversationAutoArchive } from "../conversations/auto-archive.js";
18
21
  import { startCes } from "../credential-execution/ces-runtime.js";
19
- import { refreshManagedConnectionCache } from "../credential-execution/managed-catalog.js";
22
+ import { refreshManagedConnectionCache } from "../credential-execution/cloud-catalog.js";
20
23
  import { startHeartbeatService } from "../heartbeat/heartbeat-service.js";
21
24
  import { backfillRelationshipStateIfMissing } from "../home/relationship-state-writer.js";
22
25
  import { startCliIpcServer } from "../ipc/assistant-server.js";
@@ -31,9 +34,6 @@ import { initializeDb } from "../persistence/db-init.js";
31
34
  import { startEmbeddingRuntimeManager } from "../persistence/embeddings/embedding-backend.js";
32
35
  import { maybeEnqueueLexicalBackfillOnUpgrade } from "../persistence/job-handlers/message-lexical-backfill.js";
33
36
  import { clearLifecycleQuiesce } from "../persistence/lifecycle-quiesce.js";
34
- import { isPlatformClientConfigured } from "../platform/client.js";
35
- import { startConsentRefresh } from "../platform/consent-cache.js";
36
- import { syncWorkspaceIdentityToPlatform } from "../platform/sync-identity.js";
37
37
  import { ensurePromptFiles } from "../prompts/system-prompt.js";
38
38
  import { runProviderConnectionsBackfill } from "../providers/inference/backfill.js";
39
39
  import { repairSharedCredentialSlots } from "../providers/inference/credential-slot-repair.js";
@@ -67,7 +67,7 @@ import {
67
67
  import { APP_VERSION } from "../version.js";
68
68
  import { drainOrphanedWatchTimelineEntries } from "../watch/watch-timeline.js";
69
69
  import { getWorkflowRunManager } from "../workflows/run-manager.js";
70
- import { repairAdaptiveThinkingOnManagedProfiles } from "../workspace/adaptive-thinking-repair.js";
70
+ import { repairAdaptiveThinkingOnCloudProfiles } from "../workspace/adaptive-thinking-repair.js";
71
71
  import { ensureByokDefaultProfiles } from "../workspace/byok-default-profile-ensure.js";
72
72
  import { ensureCompleteCustomProfiles } from "../workspace/custom-profile-ensure.js";
73
73
  import { WORKSPACE_MIGRATIONS } from "../workspace/migrations/registry.js";
@@ -218,7 +218,7 @@ export async function runDaemon(): Promise<void> {
218
218
  // immediately after the transport binds, ahead of DB init and readiness,
219
219
  // so an urgent signal arriving the moment requests are admitted is not
220
220
  // decided on an empty cache.
221
- void isPlatformClientConfigured().catch((err) =>
221
+ void isCloudClientConfigured().catch((err) =>
222
222
  log.warn({ err }, "Platform configured-probe warmup failed"),
223
223
  );
224
224
 
@@ -227,7 +227,7 @@ export async function runDaemon(): Promise<void> {
227
227
  // so a slow or unreachable gateway doesn't delay daemon startup (the
228
228
  // IPC call has a 3s connect + 5s call timeout that would otherwise
229
229
  // stall the critical path).
230
- // After the async fetch resolves, reconcile flag-gated managed profiles
230
+ // After the async fetch resolves, reconcile flag-gated cloud profiles
231
231
  // (OS Beta): `seedInferenceProfiles()` runs synchronously earlier in boot
232
232
  // before flags are available, so this lands the profile on the same boot once
233
233
  // the flag cache is populated. When this reconcile is the call that mutates
@@ -523,23 +523,23 @@ export async function runDaemon(): Promise<void> {
523
523
  }
524
524
  } // end if (dbReady)
525
525
 
526
- // Populate the managed-connection cache so the `14-connected-services`
526
+ // Populate the cloud-connection cache so the `14-connected-services`
527
527
  // bundled section (rendered by `renderConnectedServices()` in
528
- // system-sections.ts) can include platform-managed OAuth connections
528
+ // system-sections.ts) can include cloud OAuth connections
529
529
  // (e.g. Twitter) in the system prompt from the first turn. This is
530
530
  // an HTTP-only call with no DB dependency, so it runs regardless of
531
531
  // dbReady. A periodic refresh keeps the cache current when users
532
- // connect/disconnect managed providers while the assistant is running.
532
+ // connect/disconnect cloud providers while the assistant is running.
533
533
  void refreshManagedConnectionCache().catch((err) =>
534
534
  log.warn(
535
535
  { err },
536
- "Managed connection cache refresh failed — continuing startup",
536
+ "Cloud connection cache refresh failed — continuing startup",
537
537
  ),
538
538
  );
539
539
  const MANAGED_CONNECTION_REFRESH_INTERVAL_MS = 5 * 60 * 1000; // 5 minutes
540
540
  setInterval(() => {
541
541
  void refreshManagedConnectionCache().catch((err) =>
542
- log.warn({ err }, "Periodic managed connection cache refresh failed"),
542
+ log.warn({ err }, "Periodic cloud connection cache refresh failed"),
543
543
  );
544
544
  }, MANAGED_CONNECTION_REFRESH_INTERVAL_MS);
545
545
 
@@ -550,7 +550,7 @@ export async function runDaemon(): Promise<void> {
550
550
  const defaultConfigMerge = mergeDefaultWorkspaceConfig();
551
551
 
552
552
  // Seed inference profiles into the workspace config: active/advisor
553
- // resolution plus, on off-platform hatches, `llm.default` and a
553
+ // resolution plus, on off-cloud hatches, `llm.default` and a
554
554
  // personal provider connection for the hatch provider.
555
555
  try {
556
556
  seedInferenceProfiles({
@@ -564,7 +564,7 @@ export async function runDaemon(): Promise<void> {
564
564
  }
565
565
 
566
566
  // Re-run the adaptive thinking repair after overlay merge + profile seeding.
567
- // Workspace migration 097 enables adaptive thinking on managed profiles, but
567
+ // Workspace migration 097 enables adaptive thinking on cloud profiles, but
568
568
  // it runs before mergeDefaultWorkspaceConfig() which can overwrite the fix
569
569
  // with overlay profiles that have thinking disabled or absent. On-platform
570
570
  // instances where the overlay supplies "balanced" / "quality-optimized"
@@ -573,7 +573,7 @@ export async function runDaemon(): Promise<void> {
573
573
  // ensures thinking is enabled regardless of overlay ordering.
574
574
  if (defaultConfigMerge.hadOverlay) {
575
575
  try {
576
- repairAdaptiveThinkingOnManagedProfiles(getWorkspaceDir());
576
+ repairAdaptiveThinkingOnCloudProfiles(getWorkspaceDir());
577
577
  log.info("Post-overlay adaptive thinking repair complete");
578
578
  } catch (err) {
579
579
  log.warn(
@@ -681,7 +681,7 @@ export async function runDaemon(): Promise<void> {
681
681
  // Refresh the consent cache regardless of dev mode so record-time telemetry
682
682
  // writes (which drop on a confirmed opt-out) work in dev too. The usage
683
683
  // telemetry reporter re-checks share_analytics on every flush, so dev still
684
- // never sends telemetry to the platform. Fire-and-forget: startConsentRefresh()
684
+ // never sends telemetry to the cloud. Fire-and-forget: startConsentRefresh()
685
685
  // runs an immediate non-blocking refresh, so the startup hot path is never
686
686
  // blocked.
687
687
  startConsentRefresh();
@@ -704,10 +704,10 @@ export async function runDaemon(): Promise<void> {
704
704
 
705
705
  // Initialize providers before Qdrant so HTTP routes can begin accepting
706
706
  // requests while Qdrant initializes, then best-effort sync the workspace
707
- // identity name and avatar to the platform record.
707
+ // identity name and avatar to the cloud record.
708
708
  await initializeProviders(config);
709
709
  syncWorkspaceIdentityToPlatform();
710
- syncAvatarToPlatform();
710
+ syncAvatarToCloud();
711
711
 
712
712
  // Start the idle/LRU/memory-pressure sweep over the in-memory conversation
713
713
  // pool.
@@ -11,7 +11,7 @@ import { isContextOverflowError } from "../providers/types.js";
11
11
  * "too many input tokens: 242201 > 200000" (OpenAI)
12
12
  *
13
13
  * The regex path remains a safety net for provider-adapter paths (e.g.
14
- * managed-proxy rewrappers) that surface untyped errors.
14
+ * cloud-proxy rewrappers) that surface untyped errors.
15
15
  *
16
16
  * Accepts a raw error object, an `Error` instance, or a plain string.
17
17
  * Returns the actual token count, or `null` when it cannot be determined.
@@ -38,7 +38,7 @@ export function parseActualTokensFromError(
38
38
  /**
39
39
  * Message patterns that identify a provider context-overflow rejection.
40
40
  * Covers the typed wrapper's source patterns plus common provider phrasings
41
- * that adapter paths (e.g. managed-proxy rewrappers) surface as untyped
41
+ * that adapter paths (e.g. cloud-proxy rewrappers) surface as untyped
42
42
  * errors:
43
43
  * "prompt is too long: 242201 tokens > 200000 maximum" (Anthropic)
44
44
  * "too many input tokens: 242201 > 200000" (OpenAI)
@@ -55,7 +55,7 @@ const OVERFLOW_MESSAGE_PATTERNS: readonly RegExp[] = [
55
55
  /**
56
56
  * Heuristic context-overflow check that also catches REWRAPPED provider
57
57
  * errors. `isContextOverflowError` only matches the typed
58
- * `ContextOverflowError` wrapper; adapter layers (managed-proxy rewrappers,
58
+ * `ContextOverflowError` wrapper; adapter layers (cloud-proxy rewrappers,
59
59
  * retry shims) can re-throw the same rejection as a plain `Error`, hiding the
60
60
  * typed signal. Callers that must not misread an overflow as a clean
61
61
  * no-output stop (e.g. the suppressed-compaction agent-wake path) should use
@@ -1,5 +1,5 @@
1
- import { maybeDefaultSpeechToManaged } from "../config/managed-speech-defaults.js";
2
- import { rehydratePlatformCredentials } from "../config/platform-rehydration.js";
1
+ import { rehydrateCloudCredentials } from "../config/cloud-rehydration.js";
2
+ import { maybeDefaultSpeechToCloud } from "../config/cloud-speech-defaults.js";
3
3
  import type { AssistantConfig } from "../config/types.js";
4
4
  import { getMcpServerManager } from "../mcp/manager.js";
5
5
  import { startConfiguredMcpServers } from "../mcp/startup.js";
@@ -29,17 +29,17 @@ export async function initializeProvidersAndTools(
29
29
  ): Promise<void> {
30
30
  log.info("Daemon startup: initializing providers and tools");
31
31
 
32
- // Rehydrate the platform base URL and IDs from the credential store so
33
- // managed proxy activation survives assistant restarts. The in-memory
32
+ // Rehydrate the cloud base URL and IDs from the credential store so
33
+ // cloud proxy activation survives assistant restarts. The in-memory
34
34
  // overrides are normally only set by the secret-routes handlers at runtime.
35
- await rehydratePlatformCredentials();
35
+ await rehydrateCloudCredentials();
36
36
 
37
37
  // Speech defaulting normally fires when the cloud credentials land
38
38
  // (secret-routes); evaluating it once per boot also covers assistants whose
39
39
  // connection predates that trigger, so voice works for every connected
40
40
  // assistant with no configured speech credentials. Idempotent, and detached
41
41
  // per the startup philosophy — must not block boot.
42
- void maybeDefaultSpeechToManaged();
42
+ void maybeDefaultSpeechToCloud();
43
43
 
44
44
  await initializeProviders(config);
45
45
  // initializeTools() also loads workspace tool overrides from
@@ -3,7 +3,7 @@
3
3
  *
4
4
  * Starts the guard at boot and defers the first sample onto a macrotask so it
5
5
  * never blocks startup, and stops the guard (cancelling any pending deferred
6
- * sample) on shutdown. When the guard is disabled (non-platform), no deferred
6
+ * sample) on shutdown. When the guard is disabled (non-cloud), no deferred
7
7
  * sample is scheduled.
8
8
  */
9
9
  import { getLogger } from "../util/logger.js";
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Sustained CPU/memory pressure guard for platform-hosted assistants.
2
+ * Sustained CPU/memory pressure guard for cloud-hosted assistants.
3
3
  *
4
4
  * Samples container CPU utilization and working-set memory against the
5
5
  * container's allocation on a fixed cadence and reports an `elevated` state
@@ -8,14 +8,14 @@
8
8
  * sustained run of samples below a lower clear threshold (hysteresis), so the
9
9
  * state never flaps while usage hovers near a threshold.
10
10
  *
11
- * The guard is platform-gated: off-platform there is no plan allocation to
11
+ * The guard is platform-gated: off-cloud there is no plan allocation to
12
12
  * measure against, so the guard stays disabled and samples nothing.
13
13
  */
14
14
  import {
15
15
  type ResourcePressureState,
16
16
  type ResourcePressureStatus,
17
17
  } from "../api/events/resource-pressure-status-changed.js";
18
- import { getIsPlatform } from "../config/env-registry.js";
18
+ import { getIsCloud } from "../config/env-registry.js";
19
19
  import { broadcastMessage } from "../runtime/assistant-event-hub.js";
20
20
  import { getContainerCpuCores } from "../util/cgroup-cpu.js";
21
21
  import {
@@ -252,7 +252,7 @@ function defaultSampleMemory(): ResourcePressureMemorySample | null {
252
252
  }
253
253
 
254
254
  export function startResourcePressureGuard(): ResourcePressureStatus {
255
- if (!getIsPlatform()) {
255
+ if (!getIsCloud()) {
256
256
  return cloneStatus(state.status);
257
257
  }
258
258
 
@@ -279,7 +279,7 @@ export function stopResourcePressureGuard(): void {
279
279
  export function evaluateResourcePressureNow(
280
280
  deps?: ResourcePressureSamplers,
281
281
  ): ResourcePressureStatus {
282
- if (!getIsPlatform()) {
282
+ if (!getIsCloud()) {
283
283
  return cloneStatus(state.status);
284
284
  }
285
285
 
@@ -364,7 +364,7 @@ export function evaluateResourcePressureNow(
364
364
  }
365
365
 
366
366
  export function getResourcePressureStatus(): ResourcePressureStatus {
367
- if (!getIsPlatform()) {
367
+ if (!getIsCloud()) {
368
368
  return cloneStatus(DISABLED_STATUS);
369
369
  }
370
370
  if (!state.status.enabled) {
@@ -1,4 +1,5 @@
1
1
  import { disposeAcpSessionManager } from "../acp/index.js";
2
+ import { stopConsentRefresh } from "../cloud/consent-cache.js";
2
3
  import { stopConversationAutoArchive } from "../conversations/auto-archive.js";
3
4
  import { stopCes } from "../credential-execution/ces-runtime.js";
4
5
  import { stopHeartbeatService } from "../heartbeat/heartbeat-service.js";
@@ -13,7 +14,6 @@ import {
13
14
  import { getSqlite, isDbOpen, resetDb } from "../persistence/db-connection.js";
14
15
  import { shutdownEmbeddingBackends } from "../persistence/embeddings/embedding-backend.js";
15
16
  import { stopQdrantManager } from "../persistence/embeddings/qdrant-manager.js";
16
- import { stopConsentRefresh } from "../platform/consent-cache.js";
17
17
  import { HOOKS } from "../plugin-api/constants.js";
18
18
  import { runHook } from "../plugins/pipeline.js";
19
19
  import { stopRouteHost } from "../routes/control.js";
@@ -7,11 +7,11 @@
7
7
  * `SQLITE_CORRUPT` / `SQLITE_NOTADB` error ("database disk image is malformed"
8
8
  * / "file is not a database") on the next statement that touches the damaged
9
9
  * page. Left unobserved, that damage is only noticed when a user hits a broken
10
- * feature; the platform has no fleet-wide view of how often it happens.
10
+ * feature; the cloud has no fleet-wide view of how often it happens.
11
11
  *
12
12
  * This watchdog makes corruption observable. It emits a `watchdog` telemetry
13
13
  * event with `check_name = "sqlite_corrupted"` — the same stream the event-loop
14
- * watchdog uses — but POSTs it *directly* to the platform ingest rather than
14
+ * watchdog uses — but POSTs it *directly* to the cloud ingest rather than
15
15
  * through the SQLite-backed watchdog buffer: a check that fires because SQLite
16
16
  * is unusable must not depend on writing to SQLite, and going direct keeps this
17
17
  * module out of the `db-connection` import graph. The direct path still honors
@@ -37,7 +37,7 @@ import { getLogger } from "../util/logger.js";
37
37
  const log = getLogger("sqlite-corruption-watchdog");
38
38
 
39
39
  /**
40
- * Check name emitted for SQLite corruption events. The platform's
40
+ * Check name emitted for SQLite corruption events. The cloud's
41
41
  * `watchdog__sqlite_corruption_daily` admin query filters `check_name` to
42
42
  * this exact string — it is the cross-repo contract, keep it stable.
43
43
  */
@@ -46,7 +46,7 @@ export const FALLBACK_TURN_TRUST: TrustContext = {
46
46
  * trustContext, and in an auth-disabled (local) deployment that unresolved
47
47
  * actor is the guardian. A *present* trustContext always reflects the real
48
48
  * actor — even under `DISABLE_HTTP_AUTH`, which is the standing config in
49
- * platform-managed deployments — so a resolved non-guardian channel actor is
49
+ * cloud-managed deployments — so a resolved non-guardian channel actor is
50
50
  * never elevated to guardian.
51
51
  *
52
52
  * When no trust context is available and auth is enabled (e.g. a desktop-only
@@ -71,7 +71,7 @@ export class DesktopAutomationLease {
71
71
  private assertAvailable(): void {
72
72
  if (!this.deps.enabled()) {
73
73
  throw new Error(
74
- "Virtual desktop automation is available only on enabled platform-hosted assistants",
74
+ "Virtual desktop automation is available only on enabled cloud-hosted assistants",
75
75
  );
76
76
  }
77
77
  if (!this.deps.ready()) {
@@ -47,7 +47,7 @@ export function validateDesktopWebSocket(value: unknown, port: number): string {
47
47
  return url.href;
48
48
  }
49
49
 
50
- // Match the listener to the managed Chrome process, including occupied-port races.
50
+ // Match the listener to the cloud Chrome process, including occupied-port races.
51
51
  export async function assertDesktopListener(
52
52
  pid: number,
53
53
  port: number,
@@ -67,9 +67,7 @@ export async function assertDesktopListener(
67
67
  return;
68
68
  }
69
69
  }
70
- throw new Error(
71
- "Debug listener does not belong to the managed desktop Chrome",
72
- );
70
+ throw new Error("Debug listener does not belong to the cloud desktop Chrome");
73
71
  }
74
72
 
75
73
  export async function findDesktopBrowserPid(
@@ -21,7 +21,7 @@ import { sensitiveToolReach } from "../tools/tool-approval-handler.js";
21
21
  import * as computerUse from "./desktop-computer-use.js";
22
22
  import { shouldUseVirtualDesktop } from "./virtual-desktop-feature.js";
23
23
 
24
- const originalPlatform = process.env.IS_PLATFORM;
24
+ const originalPlatform = process.env.IS_CLOUD;
25
25
  const originalContainerized = process.env.IS_CONTAINERIZED;
26
26
  const context = {
27
27
  trustClass: "guardian" as const,
@@ -32,7 +32,7 @@ const context = {
32
32
  const spies: Array<{ mockRestore(): void }> = [];
33
33
 
34
34
  beforeEach(() => {
35
- process.env.IS_PLATFORM = "true";
35
+ process.env.IS_CLOUD = "true";
36
36
  process.env.IS_CONTAINERIZED = "true";
37
37
  setOverridesForTesting({ "assistant-desktop": true });
38
38
  });
@@ -43,9 +43,9 @@ afterEach(() => {
43
43
  }
44
44
  setOverridesForTesting({});
45
45
  if (originalPlatform === undefined) {
46
- delete process.env.IS_PLATFORM;
46
+ delete process.env.IS_CLOUD;
47
47
  } else {
48
- process.env.IS_PLATFORM = originalPlatform;
48
+ process.env.IS_CLOUD = originalPlatform;
49
49
  }
50
50
  if (originalContainerized === undefined) {
51
51
  delete process.env.IS_CONTAINERIZED;
@@ -135,7 +135,7 @@ test("native, unidentified and non-guardian turns do not select the virtual desk
135
135
  expect(shouldUseVirtualDesktop({ ...context, trustClass: "unknown" })).toBe(
136
136
  false,
137
137
  );
138
- process.env.IS_PLATFORM = "false";
138
+ process.env.IS_CLOUD = "false";
139
139
  expect(shouldUseVirtualDesktop(context)).toBe(false);
140
140
  });
141
141
 
@@ -203,7 +203,7 @@ for (const input of [
203
203
  for (const platform of [true, false]) {
204
204
  for (const clientOs of ["web", "macos", "windows", "linux"] as const) {
205
205
  test(`bundled tool policy and dispatch agree for ${platform ? "platform" : "local"} ${clientOs}`, async () => {
206
- process.env.IS_PLATFORM = String(platform);
206
+ process.env.IS_CLOUD = String(platform);
207
207
  const skillDir = join(getBundledSkillsDir(), "computer-use");
208
208
  const manifest = JSON.parse(
209
209
  readFileSync(join(skillDir, "TOOLS.json"), "utf8"),
@@ -91,12 +91,12 @@ function slotIsFree(manager: DesktopSessionManager): boolean {
91
91
  describe("DesktopStreamBridge", () => {
92
92
  test("streams without flag or filesystem checks after connecting", async () => {
93
93
  const originalContainerized = process.env.IS_CONTAINERIZED;
94
- const originalPlatform = process.env.IS_PLATFORM;
94
+ const originalPlatform = process.env.IS_CLOUD;
95
95
  const h = newFakeDesktop({ profileDir });
96
96
  const isEnabled = mock(isVirtualDesktopEnabled);
97
97
  const b = newBridge(h.manager, async () => {}, isEnabled);
98
98
  process.env.IS_CONTAINERIZED = "true";
99
- process.env.IS_PLATFORM = "true";
99
+ process.env.IS_CLOUD = "true";
100
100
  setOverridesForTesting({ "assistant-desktop": true });
101
101
  try {
102
102
  b.connectNow();
@@ -139,9 +139,9 @@ describe("DesktopStreamBridge", () => {
139
139
  process.env.IS_CONTAINERIZED = originalContainerized;
140
140
  }
141
141
  if (originalPlatform === undefined) {
142
- delete process.env.IS_PLATFORM;
142
+ delete process.env.IS_CLOUD;
143
143
  } else {
144
- process.env.IS_PLATFORM = originalPlatform;
144
+ process.env.IS_CLOUD = originalPlatform;
145
145
  }
146
146
  }
147
147
  });
@@ -176,7 +176,7 @@ export class DesktopStreamBridge {
176
176
  if (!this.isEnabled()) {
177
177
  this.fail(
178
178
  DESKTOP_CLOSE.unavailable,
179
- "Virtual desktop is available only on enabled platform-hosted assistants",
179
+ "Virtual desktop is available only on enabled cloud-hosted assistants",
180
180
  );
181
181
  return false;
182
182
  }
@@ -5,7 +5,7 @@ import { shouldUseVirtualDesktopBrowser } from "../browser/virtual-desktop-targe
5
5
  import { executeDesktopBrowserOperation } from "./desktop-browser-operations.js";
6
6
  import { desktopDependencies } from "./desktop-dependencies.js";
7
7
 
8
- const originalPlatform = process.env.IS_PLATFORM;
8
+ const originalPlatform = process.env.IS_CLOUD;
9
9
  const originalContainerized = process.env.IS_CONTAINERIZED;
10
10
  const context = {
11
11
  workingDir: "/tmp",
@@ -19,7 +19,7 @@ let status: ReturnType<typeof spyOn<typeof desktopDependencies, "getStatus">>;
19
19
 
20
20
  beforeEach(() => {
21
21
  process.env.IS_CONTAINERIZED = "true";
22
- process.env.IS_PLATFORM = "false";
22
+ process.env.IS_CLOUD = "false";
23
23
  setOverridesForTesting({ "assistant-desktop": true });
24
24
  status = spyOn(desktopDependencies, "getStatus").mockReturnValue({
25
25
  state: "ready",
@@ -30,9 +30,9 @@ afterEach(() => {
30
30
  status.mockRestore();
31
31
  setOverridesForTesting({});
32
32
  if (originalPlatform === undefined) {
33
- delete process.env.IS_PLATFORM;
33
+ delete process.env.IS_CLOUD;
34
34
  } else {
35
- process.env.IS_PLATFORM = originalPlatform;
35
+ process.env.IS_CLOUD = originalPlatform;
36
36
  }
37
37
  if (originalContainerized === undefined) {
38
38
  delete process.env.IS_CONTAINERIZED;
@@ -45,12 +45,12 @@ test("self-hosted Docker cannot automatically select or explicitly control virtu
45
45
  expect(shouldUseVirtualDesktopBrowser(undefined, {}, context)).toBe(false);
46
46
  await expect(
47
47
  executeDesktopBrowserOperation("snapshot", {}, context),
48
- ).rejects.toThrow("only on enabled platform-hosted assistants");
48
+ ).rejects.toThrow("only on enabled cloud-hosted assistants");
49
49
  expect(status).not.toHaveBeenCalled();
50
50
  });
51
51
 
52
52
  test("platform web conversations select virtual Chrome even when image components are missing", () => {
53
- process.env.IS_PLATFORM = "true";
53
+ process.env.IS_CLOUD = "true";
54
54
  expect(shouldUseVirtualDesktopBrowser(undefined, {}, context)).toBe(true);
55
55
  status.mockReturnValue({ state: "failed" });
56
56
  expect(shouldUseVirtualDesktopBrowser(undefined, {}, context)).toBe(true);
@@ -1,25 +1,25 @@
1
1
  import { isAssistantFeatureFlagEnabled } from "../config/assistant-feature-flags.js";
2
- import { getIsContainerized, getIsPlatform } from "../config/env-registry.js";
2
+ import { getIsCloud, getIsContainerized } from "../config/env-registry.js";
3
3
  import type { AssistantConfig } from "../config/schema.js";
4
4
  import type { ToolContext } from "../tools/types.js";
5
5
 
6
6
  const VIRTUAL_DESKTOP_FLAG = "assistant-desktop" as const;
7
7
 
8
- export function isVirtualDesktopPlatform(
8
+ export function isVirtualDesktopCloud(
9
9
  containerized: boolean = getIsContainerized(),
10
- platformHosted: boolean = getIsPlatform(),
10
+ cloudHosted: boolean = getIsCloud(),
11
11
  ): boolean {
12
- return platformHosted && containerized;
12
+ return cloudHosted && containerized;
13
13
  }
14
14
 
15
- /** Gates desktop streaming and control to enabled, platform-hosted containers. */
15
+ /** Gates desktop streaming and control to enabled, cloud-hosted containers. */
16
16
  export function isVirtualDesktopEnabled(
17
17
  config?: AssistantConfig,
18
18
  containerized: boolean = getIsContainerized(),
19
- platformHosted: boolean = getIsPlatform(),
19
+ cloudHosted: boolean = getIsCloud(),
20
20
  ): boolean {
21
21
  return (
22
- isVirtualDesktopPlatform(containerized, platformHosted) &&
22
+ isVirtualDesktopCloud(containerized, cloudHosted) &&
23
23
  isAssistantFeatureFlagEnabled(VIRTUAL_DESKTOP_FLAG, config)
24
24
  );
25
25
  }
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * "Your own" (BYO) email providers: the assistant sends and receives email
3
- * through the user's own provider account instead of a platform-managed
3
+ * through the user's own provider account instead of a cloud-managed
4
4
  * inbox. Configuration is the provider's stored `api_key` credential;
5
5
  * inbound arrives through the gateway's per-provider webhook routes
6
6
  * (`gateway/src/http/routes/resend-webhook.ts`, `mailgun-webhook.ts`).