@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
@@ -22,7 +22,7 @@ import { beforeEach, describe, expect, mock, test } from "bun:test";
22
22
  interface MockProviderRow {
23
23
  provider: string;
24
24
  authorizeUrl: string;
25
- managedServiceConfigKey: string | null;
25
+ cloudServiceConfigKey: string | null;
26
26
  baseUrl: string | null;
27
27
  injectionTemplates: string | null;
28
28
  defaultScopes?: string;
@@ -38,7 +38,7 @@ interface MockProviderRow {
38
38
  const baseProvider: MockProviderRow = {
39
39
  provider: "google",
40
40
  authorizeUrl: "https://accounts.google.com/o/oauth2/v2/auth",
41
- managedServiceConfigKey: "google-oauth",
41
+ cloudServiceConfigKey: "google-oauth",
42
42
  baseUrl: "https://api.google.com",
43
43
  injectionTemplates: null,
44
44
  pingUrl: null,
@@ -54,7 +54,7 @@ let mockAllConnections: Record<string, unknown[]> = {};
54
54
  let mockApps: Record<string, unknown> = {};
55
55
  let mockTokenValue = "tok-fake";
56
56
  let platformAvailable = true;
57
- let platformAssistantId: string | null = "assistant-1";
57
+ let cloudAssistantId: string | null = "assistant-1";
58
58
  let mockFetchImpl: (
59
59
  path: string,
60
60
  init?: RequestInit,
@@ -145,14 +145,14 @@ mock.module("../oauth/manual-token-connection.js", () => ({
145
145
  },
146
146
  }));
147
147
 
148
- mock.module("../platform/client.js", () => ({
149
- CadetPlatformClient: {
148
+ mock.module("../cloud/client.js", () => ({
149
+ CadetCloudClient: {
150
150
  create: async () => {
151
151
  if (!platformAvailable) {
152
152
  return null;
153
153
  }
154
154
  return {
155
- platformAssistantId,
155
+ cloudAssistantId,
156
156
  fetch: (path: string, init?: RequestInit) => mockFetchImpl(path, init),
157
157
  };
158
158
  },
@@ -219,7 +219,7 @@ beforeEach(() => {
219
219
  mockApps = {};
220
220
  mockTokenValue = "tok-fake";
221
221
  platformAvailable = true;
222
- platformAssistantId = "assistant-1";
222
+ cloudAssistantId = "assistant-1";
223
223
  mockFetchImpl = async () => ({
224
224
  ok: true,
225
225
  status: 200,
@@ -363,7 +363,7 @@ describe("GET oauth/mode", () => {
363
363
  mockProviders.byo = {
364
364
  ...baseProvider,
365
365
  provider: "byo",
366
- managedServiceConfigKey: null,
366
+ cloudServiceConfigKey: null,
367
367
  };
368
368
  const result = (await getRoute("GET", "oauth/mode").handler(
369
369
  makeArgs({ queryParams: { provider: "byo" } }),
@@ -390,7 +390,7 @@ describe("POST oauth/mode", () => {
390
390
  mockProviders.byo = {
391
391
  ...baseProvider,
392
392
  provider: "byo",
393
- managedServiceConfigKey: null,
393
+ cloudServiceConfigKey: null,
394
394
  };
395
395
  await expect(
396
396
  getRoute("POST", "oauth/mode").handler(
@@ -403,7 +403,7 @@ describe("POST oauth/mode", () => {
403
403
  mockProviders.byo = {
404
404
  ...baseProvider,
405
405
  provider: "byo",
406
- managedServiceConfigKey: null,
406
+ cloudServiceConfigKey: null,
407
407
  };
408
408
  const rawBefore = JSON.stringify(loadRawConfig());
409
409
  const result = (await getRoute("POST", "oauth/mode").handler(
@@ -501,7 +501,7 @@ describe("GET oauth/status", () => {
501
501
  ...baseProvider,
502
502
  provider: "telegram",
503
503
  authorizeUrl: "urn:manual-token",
504
- managedServiceConfigKey: null,
504
+ cloudServiceConfigKey: null,
505
505
  baseUrl: "https://api.telegram.org",
506
506
  };
507
507
  mockAllConnections.telegram = [
@@ -877,7 +877,7 @@ describe("POST oauth/request", () => {
877
877
  mockProviders.slack_channel = {
878
878
  ...baseProvider,
879
879
  provider: "slack_channel",
880
- managedServiceConfigKey: null,
880
+ cloudServiceConfigKey: null,
881
881
  baseUrl: "https://slack.com/api",
882
882
  injectionTemplates: JSON.stringify([
883
883
  {
@@ -906,7 +906,7 @@ describe("POST oauth/request", () => {
906
906
  mockProviders.slack_channel = {
907
907
  ...baseProvider,
908
908
  provider: "slack_channel",
909
- managedServiceConfigKey: null,
909
+ cloudServiceConfigKey: null,
910
910
  baseUrl: "https://slack.com/api",
911
911
  injectionTemplates: JSON.stringify([
912
912
  {
@@ -943,7 +943,7 @@ describe("POST oauth/request", () => {
943
943
  return {
944
944
  ...baseProvider,
945
945
  provider,
946
- managedServiceConfigKey: null,
946
+ cloudServiceConfigKey: null,
947
947
  baseUrl: seed.baseUrl ?? null,
948
948
  injectionTemplates: JSON.stringify(seed.injectionTemplates),
949
949
  responseOkField: seed.responseOkField ?? null,
@@ -1178,8 +1178,8 @@ describe("POST oauth/managed-connect/start", () => {
1178
1178
  expect(result.connect_url).toBe("https://mycadet.ai/connect/abc");
1179
1179
  });
1180
1180
 
1181
- test("forwards tenant_host to the platform only when one is supplied", async () => {
1182
- // Shopify's endpoints live on the merchant's host, which the platform
1181
+ test("forwards tenant_host to the cloud only when one is supplied", async () => {
1182
+ // Shopify's endpoints live on the merchant's host, which the cloud
1183
1183
  // substitutes into its templates; other providers must not see the key.
1184
1184
  const bodies: Array<Record<string, unknown>> = [];
1185
1185
  mockFetchImpl = async (_path, init) => {
@@ -88,7 +88,7 @@ type ProviderRow = {
88
88
  pingBody: string | null;
89
89
  revokeUrl: string | null;
90
90
  revokeBodyTemplate: string | null;
91
- managedServiceConfigKey: string | null;
91
+ cloudServiceConfigKey: string | null;
92
92
  displayLabel: string | null;
93
93
  description: string | null;
94
94
  dashboardUrl: string | null;
@@ -168,7 +168,7 @@ function makeProviderRow(
168
168
  pingBody: null,
169
169
  revokeUrl: null,
170
170
  revokeBodyTemplate: null,
171
- managedServiceConfigKey: null,
171
+ cloudServiceConfigKey: null,
172
172
  displayLabel: null,
173
173
  description: null,
174
174
  dashboardUrl: null,
@@ -28,7 +28,7 @@ function makeRow(overrides: Partial<OAuthProviderRow> = {}): OAuthProviderRow {
28
28
  pingBody: null,
29
29
  revokeUrl: null,
30
30
  revokeBodyTemplate: null,
31
- managedServiceConfigKey: null,
31
+ cloudServiceConfigKey: null,
32
32
  managedServiceIsPaid: false,
33
33
  displayLabel: null,
34
34
  description: null,
@@ -114,14 +114,14 @@ describe("serializeProvider", () => {
114
114
  expect(result.identityResponsePaths).toBeNull();
115
115
  });
116
116
 
117
- test("supportsManagedMode is true when managedServiceConfigKey is non-null", () => {
118
- const row = makeRow({ managedServiceConfigKey: "google-managed" });
117
+ test("supportsManagedMode is true when cloudServiceConfigKey is non-null", () => {
118
+ const row = makeRow({ cloudServiceConfigKey: "google-managed" });
119
119
  const result = serializeProvider(row)!;
120
120
  expect(result.supportsManagedMode).toBe(true);
121
121
  });
122
122
 
123
- test("supportsManagedMode is false when managedServiceConfigKey is null", () => {
124
- const row = makeRow({ managedServiceConfigKey: null });
123
+ test("supportsManagedMode is false when cloudServiceConfigKey is null", () => {
124
+ const row = makeRow({ cloudServiceConfigKey: null });
125
125
  const result = serializeProvider(row)!;
126
126
  expect(result.supportsManagedMode).toBe(false);
127
127
  });
@@ -276,7 +276,7 @@ describe("serializeProviderSummary", () => {
276
276
  dashboardUrl: "https://console.cloud.google.com",
277
277
  clientIdPlaceholder: "your-client-id.apps.googleusercontent.com",
278
278
  requiresClientSecret: 1,
279
- managedServiceConfigKey: "google-managed",
279
+ cloudServiceConfigKey: "google-managed",
280
280
  });
281
281
 
282
282
  const result = serializeProviderSummary(row)!;
@@ -289,7 +289,7 @@ describe("serializeProviderSummary", () => {
289
289
  client_id_placeholder: "your-client-id.apps.googleusercontent.com",
290
290
  requires_client_secret: true,
291
291
  logo_url: null,
292
- supports_managed_mode: true,
292
+ supports_cloud_mode: true,
293
293
  managed_service_is_paid: false,
294
294
  feature_flag: null,
295
295
  category: "productivity",
@@ -311,7 +311,7 @@ describe("serializeProviderSummary", () => {
311
311
 
312
312
  test("exposes the tenant host a per-tenant provider needs at connect", () => {
313
313
  // Shopify's OAuth endpoints live on the merchant's own host, so a client
314
- // has to collect it before the managed flow can start. The summary is the
314
+ // has to collect it before the cloud flow can start. The summary is the
315
315
  // only provider metadata the web client reads, so it carries the ask.
316
316
  const shopify = serializeProviderSummary(makeRow({ provider: "shopify" }))!;
317
317
  expect(shopify.tenant_host).toEqual({
@@ -368,10 +368,10 @@ describe("serializeProviderSummary", () => {
368
368
  expect(result.requires_client_secret).toBe(false);
369
369
  });
370
370
 
371
- test("supports_managed_mode is false when managedServiceConfigKey is null", () => {
372
- const row = makeRow({ managedServiceConfigKey: null });
371
+ test("supports_cloud_mode is false when cloudServiceConfigKey is null", () => {
372
+ const row = makeRow({ cloudServiceConfigKey: null });
373
373
  const result = serializeProviderSummary(row)!;
374
- expect(result.supports_managed_mode).toBe(false);
374
+ expect(result.supports_cloud_mode).toBe(false);
375
375
  });
376
376
 
377
377
  test("returns null for null input", () => {
@@ -9,7 +9,7 @@ const mockListProviders = mock(() => [
9
9
  clientIdPlaceholder: null,
10
10
  logoUrl: "https://cdn.simpleicons.org/google",
11
11
  requiresClientSecret: 1,
12
- managedServiceConfigKey: "google-oauth",
12
+ cloudServiceConfigKey: "google-oauth",
13
13
  authorizeUrl: "https://accounts.google.com/o/oauth2/v2/auth",
14
14
  tokenExchangeUrl: "https://oauth2.googleapis.com/token",
15
15
  refreshUrl: null,
@@ -52,7 +52,7 @@ const mockListProviders = mock(() => [
52
52
  clientIdPlaceholder: null,
53
53
  logoUrl: null,
54
54
  requiresClientSecret: 1,
55
- managedServiceConfigKey: null,
55
+ cloudServiceConfigKey: null,
56
56
  authorizeUrl: "https://github.com/login/oauth/authorize",
57
57
  tokenExchangeUrl: "https://github.com/login/oauth/access_token",
58
58
  refreshUrl: null,
@@ -151,7 +151,7 @@ describe("GET /v1/oauth/providers", () => {
151
151
  dashboard_url: string | null;
152
152
  client_id_placeholder: string | null;
153
153
  requires_client_secret: boolean;
154
- supports_managed_mode: boolean;
154
+ supports_cloud_mode: boolean;
155
155
  }>;
156
156
  };
157
157
 
@@ -177,7 +177,7 @@ describe("GET /v1/oauth/providers", () => {
177
177
  "client_id_placeholder",
178
178
  "requires_client_secret",
179
179
  "logo_url",
180
- "supports_managed_mode",
180
+ "supports_cloud_mode",
181
181
  "managed_service_is_paid",
182
182
  "feature_flag",
183
183
  "category",
@@ -208,42 +208,42 @@ describe("GET /v1/oauth/providers", () => {
208
208
  expect(providers[1]!.logo_url).toBeNull();
209
209
  });
210
210
 
211
- test("supports_managed_mode=true returns only managed providers", async () => {
211
+ test("supports_cloud_mode=true returns only cloud providers", async () => {
212
212
  const { status, body } = await callRoute(
213
213
  getRoute("GET", "oauth/providers"),
214
- { queryParams: { supports_managed_mode: "true" } },
214
+ { queryParams: { supports_cloud_mode: "true" } },
215
215
  );
216
216
 
217
217
  expect(status).toBe(200);
218
218
  const { providers } = body as {
219
219
  providers: Array<{
220
220
  provider_key: string;
221
- supports_managed_mode: boolean;
221
+ supports_cloud_mode: boolean;
222
222
  }>;
223
223
  };
224
224
 
225
225
  expect(providers).toHaveLength(1);
226
226
  expect(providers[0]!.provider_key).toBe("google");
227
- expect(providers[0]!.supports_managed_mode).toBe(true);
227
+ expect(providers[0]!.supports_cloud_mode).toBe(true);
228
228
  });
229
229
 
230
- test("supports_managed_mode=false returns only non-managed providers", async () => {
230
+ test("supports_cloud_mode=false returns only non-cloud providers", async () => {
231
231
  const { status, body } = await callRoute(
232
232
  getRoute("GET", "oauth/providers"),
233
- { queryParams: { supports_managed_mode: "false" } },
233
+ { queryParams: { supports_cloud_mode: "false" } },
234
234
  );
235
235
 
236
236
  expect(status).toBe(200);
237
237
  const { providers } = body as {
238
238
  providers: Array<{
239
239
  provider_key: string;
240
- supports_managed_mode: boolean;
240
+ supports_cloud_mode: boolean;
241
241
  }>;
242
242
  };
243
243
 
244
244
  expect(providers).toHaveLength(1);
245
245
  expect(providers[0]!.provider_key).toBe("github");
246
- expect(providers[0]!.supports_managed_mode).toBe(false);
246
+ expect(providers[0]!.supports_cloud_mode).toBe(false);
247
247
  });
248
248
  });
249
249
 
@@ -2391,7 +2391,7 @@ describe("disconnectOAuthProvider", () => {
2391
2391
  test("replaces all occurrences of {access_token} in body template values (matching Python str.replace)", async () => {
2392
2392
  // Python's str.replace(old, new) replaces ALL occurrences by default,
2393
2393
  // whereas JavaScript's String.prototype.replace with a string pattern
2394
- // only replaces the FIRST occurrence. The platform's try_revoke_token
2394
+ // only replaces the FIRST occurrence. The cloud's try_revoke_token
2395
2395
  // is implemented in Python, so any template value containing repeated
2396
2396
  // placeholders must have ALL of them substituted to preserve parity.
2397
2397
  // This test guards against a regression to .replace(), which would
@@ -60,13 +60,13 @@ mock.module("../inbound/public-ingress-urls.js", () => ({
60
60
  }));
61
61
 
62
62
  mock.module("../config/env-registry.js", () => ({
63
- getIsPlatform: () => false,
63
+ getIsCloud: () => false,
64
64
  }));
65
65
 
66
- // Mock platform-callback-registration to avoid cold-start latency from its
66
+ // Mock cloud-callback-registration to avoid cold-start latency from its
67
67
  // transitive dependencies (config/env.js) which can cause the 10ms timer in
68
68
  // the auto-detection test to fire before openUrl is called.
69
- mock.module("../inbound/platform-callback-registration.js", () => ({
69
+ mock.module("../inbound/cloud-callback-registration.js", () => ({
70
70
  registerCallbackRoute: () => Promise.reject(new Error("not containerized")),
71
71
  resolveCallbackUrl: (directUrl: () => string) => Promise.resolve(directUrl()),
72
72
  }));
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Tests for `writeOnboardingSection` in persona-resolver.
3
3
  *
4
- * The function writes a managed `## Onboarding Context` section to the
4
+ * The function writes a cloud `## Onboarding Context` section to the
5
5
  * guardian persona file (with a fallback chain). These tests stub
6
6
  * `util/platform.js` and `contacts/contact-store.js` to control the
7
7
  * write target and verify idempotency, fallback, and field omission.
@@ -257,7 +257,7 @@ describe("writeOnboardingSection", () => {
257
257
  expect(content).not.toContain("GitHub");
258
258
  });
259
259
 
260
- test("preserves content outside the managed section", () => {
260
+ test("preserves content outside the cloud section", () => {
261
261
  mockGuardianDeliveries = [];
262
262
  mockContactsByAddress = {};
263
263
  writeFileSync(
@@ -252,12 +252,12 @@ describe("generateImageOpenAI", () => {
252
252
  ).toBeUndefined();
253
253
  });
254
254
 
255
- test("managed-proxy credentials set baseURL on the OpenAI client", async () => {
255
+ test("cloud-proxy credentials set baseURL on the OpenAI client", async () => {
256
256
  fakeResponse = imageResponse({ b64_json: "x" });
257
257
 
258
258
  await generateImageOpenAI(
259
259
  {
260
- type: "managed-proxy",
260
+ type: "cloud-proxy",
261
261
  assistantApiKey: "proxy-key",
262
262
  baseUrl: "https://proxy.example.com/v1",
263
263
  },
@@ -31,9 +31,9 @@ import { describe, expect, test } from "bun:test";
31
31
  * # LLM context normalization (transport-agnostic message handling)
32
32
  * bun test src/__tests__/llm-context-normalization.test.ts
33
33
  *
34
- * # Provider registry and managed proxy integration
34
+ * # Provider registry and cloud proxy integration
35
35
  * bun test src/__tests__/registry.test.ts
36
- * bun test src/__tests__/provider-managed-proxy-integration.test.ts
36
+ * bun test src/__tests__/provider-cloud-proxy-integration.test.ts
37
37
  *
38
38
  * # Web search guard (allowlist includes both provider files)
39
39
  * bun test src/__tests__/conversation-history-web-search.test.ts
@@ -259,7 +259,7 @@ describe("OpenAIResponsesProvider", () => {
259
259
  new OpenAIResponsesProvider("sk-custom", "gpt-5.4", {
260
260
  baseURL: "https://proxy.example.com/v1",
261
261
  providerName: "openai-managed",
262
- providerLabel: "Managed OpenAI",
262
+ providerLabel: "Cloud OpenAI",
263
263
  });
264
264
 
265
265
  expectOpenAIConstructorOptions({
@@ -13,7 +13,7 @@ import { afterEach, describe, expect, test } from "bun:test";
13
13
  import { getBundledSkillsDir } from "../config/skills.js";
14
14
  import {
15
15
  getBundledSkillsRoot,
16
- getManagedSkillsRoot,
16
+ getCloudSkillsRoot,
17
17
  getSkillRoots,
18
18
  isSkillSourcePath,
19
19
  normalizeDirPath,
@@ -594,9 +594,9 @@ describe("normalizeFilePath", () => {
594
594
  });
595
595
  });
596
596
 
597
- describe("getManagedSkillsRoot / getBundledSkillsRoot", () => {
597
+ describe("getCloudSkillsRoot / getBundledSkillsRoot", () => {
598
598
  test("returns managed skills dir with trailing separator", () => {
599
- const root = getManagedSkillsRoot();
599
+ const root = getCloudSkillsRoot();
600
600
  expect(root.endsWith(sep)).toBe(true);
601
601
  expect(root).toContain("skills");
602
602
  });
@@ -695,7 +695,7 @@ describe("isSkillSourcePath", () => {
695
695
  testDirs.push(linkPath);
696
696
 
697
697
  // A file inside the symlinked skill should NOT match because realpath
698
- // resolves it to realDir which is outside the managed skills dir
698
+ // resolves it to realDir which is outside the cloud skills dir
699
699
  const filePath = join(linkPath, "executor.ts");
700
700
  // The symlink target (realDir) is outside MOCK_MANAGED_DIR, so this
701
701
  // should be false (symlink-safe detection)
@@ -4,7 +4,7 @@
4
4
  *
5
5
  * `isPersonalMemoryAllowed` derives trust from `resolveTrustClass`, which only
6
6
  * elevates an *unresolved* actor to guardian under DISABLE_HTTP_AUTH (the
7
- * standing config in platform-managed deployments). A resolved non-guardian
7
+ * standing config in cloud-managed deployments). A resolved non-guardian
8
8
  * channel actor must therefore be denied personal memory even with auth
9
9
  * disabled — otherwise the guardian's memory leaks to Slack/phone contacts in
10
10
  * the cloud. See LUM-2669. These cases fail on the pre-fix behavior.
@@ -1,8 +1,8 @@
1
1
  /**
2
- * Tests for platform-hosted bash auto-approval.
2
+ * Tests for cloud-hosted bash auto-approval.
3
3
  *
4
4
  * Verifies that bash and host_bash tools are auto-approved without prompting
5
- * when running in platform-hosted mode (IS_PLATFORM=true) for guardian actors.
5
+ * when running in cloud-hosted mode (IS_CLOUD=true) for guardian actors.
6
6
  * Also verifies that deny rules, non-guardian actors, requireFreshApproval,
7
7
  * and non-bash tools are unaffected by this auto-approval path.
8
8
  */
@@ -126,7 +126,7 @@ afterAll(() => {
126
126
  // Platform-hosted bash auto-approval
127
127
  // ---------------------------------------------------------------------------
128
128
 
129
- describe("platform-hosted bash auto-approval", () => {
129
+ describe("cloud-hosted bash auto-approval", () => {
130
130
  beforeEach(() => {
131
131
  fakeToolResult = { content: "ok", isError: false };
132
132
  checkResultOverride = undefined;
@@ -136,7 +136,7 @@ describe("platform-hosted bash auto-approval", () => {
136
136
 
137
137
  afterEach(() => {});
138
138
 
139
- test("bash auto-approved in platform-hosted mode", async () => {
139
+ test("bash auto-approved in cloud-hosted mode", async () => {
140
140
  checkResultOverride = { decision: "prompt", reason: "Needs approval" };
141
141
 
142
142
  let promptCalled = false;
@@ -154,14 +154,14 @@ describe("platform-hosted bash auto-approval", () => {
154
154
  const result = await executor.execute(
155
155
  "bash",
156
156
  { command: "echo hello" },
157
- makeContext({ isPlatformHosted: true, trustClass: "guardian" }),
157
+ makeContext({ isCloudHosted: true, trustClass: "guardian" }),
158
158
  );
159
159
 
160
160
  expect(promptCalled).toBe(false);
161
161
  expect(result.isError).toBe(false);
162
162
  });
163
163
 
164
- test("host_bash NOT auto-approved in platform-hosted mode", async () => {
164
+ test("host_bash NOT auto-approved in cloud-hosted mode", async () => {
165
165
  checkResultOverride = { decision: "prompt", reason: "Needs approval" };
166
166
 
167
167
  let promptCalled = false;
@@ -179,13 +179,13 @@ describe("platform-hosted bash auto-approval", () => {
179
179
  await executor.execute(
180
180
  "host_bash",
181
181
  { command: "echo hello" },
182
- makeContext({ isPlatformHosted: true, trustClass: "guardian" }),
182
+ makeContext({ isCloudHosted: true, trustClass: "guardian" }),
183
183
  );
184
184
 
185
185
  expect(promptCalled).toBe(true);
186
186
  });
187
187
 
188
- test("bash NOT auto-approved when not platform-hosted", async () => {
188
+ test("bash NOT auto-approved when not cloud-hosted", async () => {
189
189
  checkResultOverride = { decision: "prompt", reason: "Needs approval" };
190
190
 
191
191
  let promptCalled = false;
@@ -204,7 +204,7 @@ describe("platform-hosted bash auto-approval", () => {
204
204
  "bash",
205
205
  { command: "echo hello" },
206
206
  makeContext({
207
- isPlatformHosted: false,
207
+ isCloudHosted: false,
208
208
  trustClass: "guardian",
209
209
  requireFreshApproval: true,
210
210
  }),
@@ -213,7 +213,7 @@ describe("platform-hosted bash auto-approval", () => {
213
213
  expect(promptCalled).toBe(true);
214
214
  });
215
215
 
216
- test("bash NOT auto-approved for non-guardian actors via platform path (trusted_contact requires grant)", async () => {
216
+ test("bash NOT auto-approved for non-guardian actors via cloud path (trusted_contact requires grant)", async () => {
217
217
  checkResultOverride = { decision: "prompt", reason: "Needs approval" };
218
218
 
219
219
  const trackingPrompter = {
@@ -230,7 +230,7 @@ describe("platform-hosted bash auto-approval", () => {
230
230
  "bash",
231
231
  { command: "echo hello" },
232
232
  makeContext({
233
- isPlatformHosted: true,
233
+ isCloudHosted: true,
234
234
  trustClass: "trusted_contact",
235
235
  requireFreshApproval: true,
236
236
  }),
@@ -261,7 +261,7 @@ describe("platform-hosted bash auto-approval", () => {
261
261
  "bash",
262
262
  { command: "echo hello" },
263
263
  makeContext({
264
- isPlatformHosted: true,
264
+ isCloudHosted: true,
265
265
  trustClass: "guardian",
266
266
  requireFreshApproval: true,
267
267
  }),
@@ -270,7 +270,7 @@ describe("platform-hosted bash auto-approval", () => {
270
270
  expect(promptCalled).toBe(true);
271
271
  });
272
272
 
273
- test("deny rules still respected in platform-hosted mode", async () => {
273
+ test("deny rules still respected in cloud-hosted mode", async () => {
274
274
  checkResultOverride = { decision: "deny", reason: "Explicitly denied" };
275
275
 
276
276
  const executor = new ToolExecutor(makePrompter());
@@ -278,7 +278,7 @@ describe("platform-hosted bash auto-approval", () => {
278
278
  "bash",
279
279
  { command: "rm -rf /" },
280
280
  makeContext({
281
- isPlatformHosted: true,
281
+ isCloudHosted: true,
282
282
  trustClass: "guardian",
283
283
  requireFreshApproval: true,
284
284
  }),
@@ -288,7 +288,7 @@ describe("platform-hosted bash auto-approval", () => {
288
288
  expect(result.content).toContain("Explicitly denied");
289
289
  });
290
290
 
291
- test("high-risk bash auto-approved in platform-hosted mode", async () => {
291
+ test("high-risk bash auto-approved in cloud-hosted mode", async () => {
292
292
  riskOverride = "high";
293
293
  checkResultOverride = { decision: "prompt", reason: "High risk command" };
294
294
 
@@ -307,14 +307,14 @@ describe("platform-hosted bash auto-approval", () => {
307
307
  const result = await executor.execute(
308
308
  "bash",
309
309
  { command: "rm -rf /tmp/stuff" },
310
- makeContext({ isPlatformHosted: true, trustClass: "guardian" }),
310
+ makeContext({ isCloudHosted: true, trustClass: "guardian" }),
311
311
  );
312
312
 
313
313
  expect(promptCalled).toBe(false);
314
314
  expect(result.isError).toBe(false);
315
315
  });
316
316
 
317
- test("non-bash tools NOT auto-approved in platform-hosted mode", async () => {
317
+ test("non-bash tools NOT auto-approved in cloud-hosted mode", async () => {
318
318
  checkResultOverride = { decision: "prompt", reason: "Needs approval" };
319
319
 
320
320
  let promptCalled = false;
@@ -333,7 +333,7 @@ describe("platform-hosted bash auto-approval", () => {
333
333
  "file_write",
334
334
  { path: "/tmp/test.txt", content: "hello" },
335
335
  makeContext({
336
- isPlatformHosted: true,
336
+ isCloudHosted: true,
337
337
  trustClass: "guardian",
338
338
  requireFreshApproval: true,
339
339
  }),
@@ -40,7 +40,7 @@ describe("getModelProfiles", () => {
40
40
  writeFixtureConfig({});
41
41
  });
42
42
 
43
- test("omits the managed Jev profile, whose model returns verdicts rather than text", () => {
43
+ test("omits the cloud Jev profile, whose model returns verdicts rather than text", () => {
44
44
  writeFixtureConfig({});
45
45
  const keys = getModelProfiles().map((p) => p.key);
46
46
  expect(keys).toContain("balanced");
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * `getConfiguredProvider` is part of the public `@mycadet/plugin-api` runtime
3
3
  * surface, so a user-installable plugin can run inference through the
4
- * workspace's configured profiles/credentials (managed-proxy or BYOK) without
4
+ * workspace's configured profiles/credentials (cloud-proxy or BYOK) without
5
5
  * supplying its own API key.
6
6
  */
7
7
  import { describe, expect, test } from "bun:test";
@@ -198,7 +198,10 @@ describe("storeCredential", () => {
198
198
 
199
199
  test("scrubs the stored value from recent transcripts", async () => {
200
200
  await asPlugin(() => storeCredential("acme/api_key", "sk-secret"));
201
- expect(scrubSpy).toHaveBeenCalledWith("sk-secret");
201
+ expect(scrubSpy).toHaveBeenCalledWith("sk-secret", {
202
+ service: "acme",
203
+ field: "api_key",
204
+ });
202
205
  });
203
206
 
204
207
  test("skips the transcript scrub when asked", async () => {
@@ -11,15 +11,14 @@
11
11
  import { afterEach, describe, expect, spyOn, test } from "bun:test";
12
12
 
13
13
  const loader = await import("../config/loader.js");
14
- const registration =
15
- await import("../inbound/platform-callback-registration.js");
14
+ const registration = await import("../inbound/cloud-callback-registration.js");
16
15
  const { resolveWebhookUrl } = await import("../plugin-api/webhook-url.js");
17
16
  const { runInPluginContext } =
18
17
  await import("../plugins/plugin-execution-context.js");
19
18
 
20
19
  describe("resolveWebhookUrl", () => {
21
20
  afterEach(() => {
22
- delete process.env.IS_PLATFORM;
21
+ delete process.env.IS_CLOUD;
23
22
  });
24
23
  test("composes the plugin's namespaced path and delegates the tier choice", async () => {
25
24
  const spy = spyOn(registration, "resolveCallbackUrl").mockResolvedValue(
@@ -79,7 +78,7 @@ describe("resolveWebhookUrl", () => {
79
78
  });
80
79
 
81
80
  test("gives routes that share a slug distinct registration types", async () => {
82
- // The platform keys a callback route by type, so a collision has the
81
+ // The cloud keys a callback route by type, so a collision has the
83
82
  // second registration replace the first. `events-v1` and `events_v1`
84
83
  // slugify identically.
85
84
  const spy = spyOn(registration, "resolveCallbackUrl").mockResolvedValue(
@@ -153,7 +152,7 @@ describe("resolveWebhookUrl", () => {
153
152
  // The Tunnel forwards the request path verbatim and the gateway
154
153
  // admits it only when it matches a claimed path byte for byte. A trailing
155
154
  // slash on this URL would be rejected before the gateway ever saw it.
156
- process.env.IS_PLATFORM = "true";
155
+ process.env.IS_CLOUD = "true";
157
156
  const configSpy = spyOn(loader, "getConfig").mockReturnValue({
158
157
  ingress: { publicBaseUrl: "https://tunnel.mycadet.ai/assistant-abc" },
159
158
  } as ReturnType<typeof loader.getConfig>);