@elizaos/app-core 2.0.3-beta.2 → 2.0.3-beta.4

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 (361) hide show
  1. package/agent-bridge.d.ts +5 -5
  2. package/api/auth/audit.d.ts +1 -1
  3. package/api/auth/auth-context.d.ts +1 -1
  4. package/api/auth/bootstrap-token.d.ts +1 -1
  5. package/api/auth/sessions.d.ts +1 -1
  6. package/api/auth-bootstrap-routes.d.ts +1 -1
  7. package/api/auth-pairing-routes.d.ts +1 -1
  8. package/api/auth-pairing-routes.d.ts.map +1 -1
  9. package/api/auth-pairing-routes.js +2 -3
  10. package/api/auth-session-routes.d.ts +2 -2
  11. package/api/auth.d.ts +1 -1
  12. package/api/automations-compat-routes.d.ts +1 -1
  13. package/api/background-tasks-routes.d.ts +1 -1
  14. package/api/catalog-routes.d.ts +1 -1
  15. package/api/cloud-voice-routes.d.ts +1 -1
  16. package/api/compat-route-shared.d.ts +12 -5
  17. package/api/compat-route-shared.d.ts.map +1 -1
  18. package/api/compat-route-shared.js +22 -187
  19. package/api/database-rows-compat-routes.d.ts +1 -1
  20. package/api/dev-compat-routes.d.ts +1 -1
  21. package/api/dev-route-catalog.d.ts.map +1 -1
  22. package/api/dev-route-catalog.js +20 -0
  23. package/api/drop-status-compat-route.d.ts +3 -0
  24. package/api/drop-status-compat-route.d.ts.map +1 -0
  25. package/api/drop-status-compat-route.js +12 -0
  26. package/api/first-run-routes.d.ts +1 -1
  27. package/api/internal-routes.d.ts +1 -1
  28. package/api/runtime-mode-routes.d.ts +1 -1
  29. package/api/secrets-manager-routes.d.ts.map +1 -1
  30. package/api/sensitive-request-routes.d.ts +2 -2
  31. package/api/server-config-filter.d.ts.map +1 -1
  32. package/api/server-config-filter.js +0 -1
  33. package/api/server-first-run-helpers.d.ts.map +1 -1
  34. package/api/server-first-run-helpers.js +0 -3
  35. package/api/server.d.ts +8 -8
  36. package/api/server.d.ts.map +1 -1
  37. package/api/server.js +13 -59
  38. package/api/training-benchmarks.d.ts +1 -1
  39. package/api/training-benchmarks.d.ts.map +1 -1
  40. package/api/training-benchmarks.js +31 -9
  41. package/api/workbench-compat-routes.d.ts +1 -1
  42. package/benchmark/server-utils.d.ts +2 -2
  43. package/browser.d.ts +4 -4
  44. package/cli/plugins-cli.d.ts.map +1 -1
  45. package/cli/plugins-cli.js +5 -0
  46. package/cli/program/register.auth.d.ts +27 -1
  47. package/cli/program/register.auth.d.ts.map +1 -1
  48. package/cli/program/register.auth.js +187 -0
  49. package/cli/program/register.dashboard.d.ts.map +1 -1
  50. package/cli/program/register.dashboard.js +11 -1
  51. package/cli/program.d.ts +1 -1
  52. package/first-run/first-run-config.d.ts +1 -1
  53. package/index.d.ts +46 -47
  54. package/index.d.ts.map +1 -1
  55. package/index.js +3 -7
  56. package/package.json +42 -36
  57. package/packaging/PUBLISHING_GUIDE.md +20 -20
  58. package/platform/elizaos-agent-browser-stub.d.ts +0 -1
  59. package/platform/elizaos-agent-browser-stub.d.ts.map +1 -1
  60. package/platform/elizaos-agent-browser-stub.js +0 -1
  61. package/platform/ios-runtime-bridge.d.ts.map +1 -1
  62. package/platform/ios-runtime-bridge.js +0 -1
  63. package/platform/native-plugin-entrypoints.d.ts +2 -2
  64. package/platforms/android/app/build.gradle +30 -7
  65. package/platforms/android/app/src/main/elizavoice-jni/elizavoice-jni.cpp +179 -35
  66. package/platforms/android/app/src/main/java/ai/elizaos/app/ElizaAgentService.java +60 -32
  67. package/platforms/android/app/src/main/java/ai/elizaos/app/ElizaBionicInferenceServer.java +405 -65
  68. package/platforms/android/app/src/main/java/ai/elizaos/app/ElizaVoiceNative.java +35 -0
  69. package/platforms/android/app/src/main/java/ai/elizaos/app/ElizaVoicePlugin.java +13 -6
  70. package/platforms/android/app/src/main/res/drawable/splash.png +0 -0
  71. package/platforms/android/app/src/main/res/drawable-land-hdpi/splash.png +0 -0
  72. package/platforms/android/app/src/main/res/drawable-land-mdpi/splash.png +0 -0
  73. package/platforms/android/app/src/main/res/drawable-land-xhdpi/splash.png +0 -0
  74. package/platforms/android/app/src/main/res/drawable-land-xxhdpi/splash.png +0 -0
  75. package/platforms/android/app/src/main/res/drawable-land-xxxhdpi/splash.png +0 -0
  76. package/platforms/android/app/src/main/res/drawable-port-hdpi/splash.png +0 -0
  77. package/platforms/android/app/src/main/res/drawable-port-mdpi/splash.png +0 -0
  78. package/platforms/android/app/src/main/res/drawable-port-xhdpi/splash.png +0 -0
  79. package/platforms/android/app/src/main/res/drawable-port-xxhdpi/splash.png +0 -0
  80. package/platforms/android/app/src/main/res/drawable-port-xxxhdpi/splash.png +0 -0
  81. package/platforms/android/app/src/main/res/mipmap-hdpi/ic_launcher.png +0 -0
  82. package/platforms/android/app/src/main/res/mipmap-hdpi/ic_launcher_foreground.png +0 -0
  83. package/platforms/android/app/src/main/res/mipmap-hdpi/ic_launcher_monochrome.png +0 -0
  84. package/platforms/android/app/src/main/res/mipmap-hdpi/ic_launcher_round.png +0 -0
  85. package/platforms/android/app/src/main/res/mipmap-mdpi/ic_launcher.png +0 -0
  86. package/platforms/android/app/src/main/res/mipmap-mdpi/ic_launcher_foreground.png +0 -0
  87. package/platforms/android/app/src/main/res/mipmap-mdpi/ic_launcher_monochrome.png +0 -0
  88. package/platforms/android/app/src/main/res/mipmap-mdpi/ic_launcher_round.png +0 -0
  89. package/platforms/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png +0 -0
  90. package/platforms/android/app/src/main/res/mipmap-xhdpi/ic_launcher_foreground.png +0 -0
  91. package/platforms/android/app/src/main/res/mipmap-xhdpi/ic_launcher_monochrome.png +0 -0
  92. package/platforms/android/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png +0 -0
  93. package/platforms/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png +0 -0
  94. package/platforms/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_foreground.png +0 -0
  95. package/platforms/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_monochrome.png +0 -0
  96. package/platforms/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png +0 -0
  97. package/platforms/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png +0 -0
  98. package/platforms/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground.png +0 -0
  99. package/platforms/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_monochrome.png +0 -0
  100. package/platforms/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png +0 -0
  101. package/platforms/android/app/src/main/res/values/colors.xml +5 -1
  102. package/platforms/android/app/src/main/res/values/ic_launcher_background.xml +1 -1
  103. package/platforms/android/app/src/main/res/values/styles.xml +4 -1
  104. package/platforms/electrobun/electrobun.config.ts +0 -1
  105. package/platforms/electrobun/native/macos/window-effects.mm +4 -0
  106. package/platforms/electrobun/package.json +11 -9
  107. package/platforms/electrobun/remotes/local-model/src/bun/eliza1-catalog.ts +1 -1
  108. package/platforms/electrobun/remotes/runtime/src/dev/phase2-smoke.ts +10 -5
  109. package/platforms/electrobun/remotes/runtime/src/dev/phase3-smoke.ts +11 -15
  110. package/platforms/electrobun/src/application-menu.ts +0 -7
  111. package/platforms/electrobun/src/desktop-http-request.test.ts +30 -1
  112. package/platforms/electrobun/src/desktop-http-request.ts +14 -2
  113. package/platforms/electrobun/src/desktop-test-bridge-server.ts +28 -0
  114. package/platforms/electrobun/src/fatal-shutdown.test.ts +3 -7
  115. package/platforms/electrobun/src/index.ts +64 -13
  116. package/platforms/electrobun/src/lifecycle/api-base-owner.test.ts +83 -0
  117. package/platforms/electrobun/src/lifecycle/api-base-owner.ts +37 -16
  118. package/platforms/electrobun/src/native/agent.ts +28 -17
  119. package/platforms/electrobun/src/native/credentials.ts +6 -1
  120. package/platforms/electrobun/src/native/desktop-window.test.ts +142 -26
  121. package/platforms/electrobun/src/native/desktop.ts +8 -4
  122. package/platforms/electrobun/src/native/index.ts +6 -0
  123. package/platforms/electrobun/src/native/remote-plugin-host.ts +18 -8
  124. package/platforms/electrobun/src/preload.js +1 -1
  125. package/platforms/electrobun/src/voice/voice-live-validation.test.ts +10 -5
  126. package/platforms/electrobun/src/voice/voice-runtime-adapter.ts +3 -2
  127. package/platforms/electrobun/src/voice/voice-service.test.ts +26 -0
  128. package/platforms/electrobun/src/voice/voice-service.ts +57 -17
  129. package/platforms/electrobun/tsconfig.json +17 -1
  130. package/platforms/ios/App/App/Base.lproj/LaunchScreen.storyboard +4 -6
  131. package/registry/index.d.ts +1 -6
  132. package/registry/index.d.ts.map +1 -1
  133. package/registry/index.js +9 -101
  134. package/runtime/android-avf-microdroid-bridge.d.ts +1 -1
  135. package/runtime/bundled-fused-lib.d.ts +36 -0
  136. package/runtime/bundled-fused-lib.d.ts.map +1 -0
  137. package/runtime/bundled-fused-lib.js +77 -0
  138. package/runtime/channel-plugin-map.d.ts +1 -5
  139. package/runtime/channel-plugin-map.d.ts.map +1 -1
  140. package/runtime/channel-plugin-map.js +11 -31
  141. package/runtime/desktop/index.d.ts +5 -5
  142. package/runtime/dev-server.js +11 -2
  143. package/runtime/eliza.d.ts.map +1 -1
  144. package/runtime/eliza.js +18 -8
  145. package/runtime/mode/route-mode-guard.d.ts +1 -1
  146. package/runtime/mode/route-mode-matrix.d.ts +1 -1
  147. package/runtime/voice-warmup.d.ts +4 -19
  148. package/runtime/voice-warmup.d.ts.map +1 -1
  149. package/runtime/voice-warmup.js +4 -14
  150. package/scripts/aosp/README.md +10 -1
  151. package/scripts/aosp/compile-libllama-paths.mjs +110 -0
  152. package/scripts/aosp/compile-libllama-zig-pin.test.mjs +147 -0
  153. package/scripts/aosp/compile-libllama.mjs +377 -81
  154. package/scripts/aosp/compile-libllama.test.mjs +133 -0
  155. package/scripts/aosp/compile-shim.mjs +21 -1
  156. package/scripts/aosp/deploy-pixel.mjs +1 -1
  157. package/scripts/aosp/stage-default-models.mjs +24 -31
  158. package/scripts/aosp/stage-default-models.test.mjs +23 -0
  159. package/scripts/assert-required-bundled-packages.test.ts +22 -1
  160. package/scripts/build-helpers/verify-fused-symbols.mjs +33 -0
  161. package/scripts/build-helpers/verify-fused-symbols.test.mjs +0 -0
  162. package/scripts/build-image.sh +1 -3
  163. package/scripts/build-llama-cpp-mtp.mjs +17 -16
  164. package/scripts/check-i18n.mjs +0 -1
  165. package/scripts/copy-runtime-node-modules.ts +147 -0
  166. package/scripts/desktop-build.mjs +317 -4
  167. package/scripts/docker-ci-smoke.sh +33 -8
  168. package/scripts/ensure-type-package-aliases.mjs +1 -1
  169. package/scripts/ios-xcframework/run-physical-device-smoke.mjs +1 -1
  170. package/scripts/lib/agent-source-watcher.mjs +0 -1
  171. package/scripts/lib/artifact-staleness.d.mts +33 -0
  172. package/scripts/lib/artifact-staleness.mjs +122 -0
  173. package/scripts/lib/artifact-staleness.test.mts +98 -0
  174. package/scripts/lib/duet-bridge.mjs +1 -1
  175. package/scripts/lib/ios-plist-url-scheme.mjs +80 -0
  176. package/scripts/lib/mobile-build-decisions.mjs +97 -0
  177. package/scripts/lib/renderer-build-manifest.d.mts +65 -0
  178. package/scripts/lib/renderer-build-manifest.mjs +257 -0
  179. package/scripts/lib/renderer-build-manifest.test.mts +277 -0
  180. package/scripts/lib/stage-android-agent.mjs +13 -4
  181. package/scripts/lib/verify-ondevice-artifact.d.mts +16 -0
  182. package/scripts/lib/verify-ondevice-artifact.mjs +61 -0
  183. package/scripts/lib/verify-ondevice-artifact.test.mts +98 -0
  184. package/scripts/lib/websocket-pending-queue.ts +92 -0
  185. package/scripts/link-docker-local-app-packages.mjs +6 -0
  186. package/scripts/playwright-ui-live-stack.ts +430 -144
  187. package/scripts/playwright-ui-smoke-api-stub.mjs +160 -168
  188. package/scripts/run-local-plugin-live-smoke.mjs +1 -6
  189. package/scripts/run-mobile-build-brand-separation.test.mts +33 -0
  190. package/scripts/run-mobile-build-ios-engine-gate.test.mjs +85 -0
  191. package/scripts/run-mobile-build-mtp-staleness.test.mts +198 -0
  192. package/scripts/run-mobile-build.mjs +408 -86
  193. package/scripts/serve-real-local-agent.ts +72 -0
  194. package/scripts/stage-desktop-fused-lib.mjs +43 -14
  195. package/scripts/verify-ondevice-artifact.mjs +111 -0
  196. package/scripts/voice-attribution-smoke.ts +144 -38
  197. package/scripts/voice-duet.mjs +6 -6
  198. package/scripts/voice-e2e-hardware.ts +22 -16
  199. package/scripts/voice-interactive.mjs +16 -45
  200. package/security/agent-vault-id.d.ts +1 -1
  201. package/security/platform-secure-store-node.d.ts +1 -1
  202. package/services/ambient-audio/consent.d.ts +1 -1
  203. package/services/ambient-audio/index.d.ts +6 -6
  204. package/services/ambient-audio/replay-buffer.d.ts +1 -1
  205. package/services/ambient-audio/response-gate.d.ts +1 -1
  206. package/services/ambient-audio/service.d.ts +3 -3
  207. package/services/connector-target-catalog.d.ts +1 -1
  208. package/services/sensitive-requests/index.d.ts +6 -6
  209. package/services/steward-sidecar/wallet-setup.d.ts +1 -1
  210. package/services/steward-sidecar.d.ts +3 -3
  211. package/services/tunnel-to-mobile/index.d.ts +1 -1
  212. package/services/vault-bootstrap.d.ts.map +1 -1
  213. package/services/vault-bootstrap.js +14 -10
  214. package/services/voice-profiles/diarization-pipeline.d.ts +1 -1
  215. package/services/voice-profiles/index.d.ts +11 -11
  216. package/services/voice-profiles/owner-confidence.d.ts +1 -1
  217. package/services/voice-profiles/private-challenge.d.ts +1 -1
  218. package/services/voice-profiles/store.d.ts +1 -1
  219. package/test/helpers/live-provider.test.ts +91 -1
  220. package/test/helpers/live-provider.ts +195 -51
  221. package/test/scripts/websocket-pending-queue.test.ts +119 -0
  222. package/test-support/test-helpers.d.ts +0 -33
  223. package/test-support/test-helpers.d.ts.map +1 -1
  224. package/test-support/test-helpers.js +81 -189
  225. package/ui-compat.d.ts +1 -0
  226. package/ui-compat.d.ts.map +1 -1
  227. package/ui-compat.js +4 -0
  228. package/platforms/electrobun/docs/convergence-audit.json +0 -3505
  229. package/platforms/electrobun/docs/convergence-audit.md +0 -694
  230. package/platforms/electrobun/scripts/ensure-whisper-gguf.sh +0 -55
  231. package/platforms/electrobun/scripts/ensure-whisper-model.sh +0 -35
  232. package/platforms/electrobun/scripts/generate-convergence-audit.ts +0 -1203
  233. package/platforms/electrobun/src/native/whisper-env.test.ts +0 -71
  234. package/platforms/electrobun/src/native/whisper-env.ts +0 -68
  235. package/registry/app-registry.d.ts +0 -14
  236. package/registry/app-registry.d.ts.map +0 -1
  237. package/registry/app-registry.js +0 -29
  238. package/registry/entries/apps/app-polymarket.json +0 -31
  239. package/registry/entries/apps/clawville.json +0 -27
  240. package/registry/entries/apps/companion.json +0 -28
  241. package/registry/entries/apps/database-viewer.json +0 -27
  242. package/registry/entries/apps/defense-of-the-agents.json +0 -27
  243. package/registry/entries/apps/documents.json +0 -30
  244. package/registry/entries/apps/feed.json +0 -27
  245. package/registry/entries/apps/hyperliquid.json +0 -31
  246. package/registry/entries/apps/log-viewer.json +0 -27
  247. package/registry/entries/apps/memory-viewer.json +0 -27
  248. package/registry/entries/apps/model-tester.json +0 -31
  249. package/registry/entries/apps/plugin-viewer.json +0 -27
  250. package/registry/entries/apps/relationship-viewer.json +0 -27
  251. package/registry/entries/apps/runtime-debugger.json +0 -27
  252. package/registry/entries/apps/shopify.json +0 -31
  253. package/registry/entries/apps/skills-viewer.json +0 -27
  254. package/registry/entries/apps/steward.json +0 -31
  255. package/registry/entries/apps/training.json +0 -54
  256. package/registry/entries/apps/trajectory-viewer.json +0 -27
  257. package/registry/entries/apps/vincent.json +0 -31
  258. package/registry/entries/connectors/bluebubbles.json +0 -99
  259. package/registry/entries/connectors/bluesky.json +0 -173
  260. package/registry/entries/connectors/discord.json +0 -119
  261. package/registry/entries/connectors/farcaster.json +0 -174
  262. package/registry/entries/connectors/feishu.json +0 -79
  263. package/registry/entries/connectors/google-chat.json +0 -120
  264. package/registry/entries/connectors/google.json +0 -82
  265. package/registry/entries/connectors/imessage.json +0 -96
  266. package/registry/entries/connectors/instagram.json +0 -64
  267. package/registry/entries/connectors/line.json +0 -86
  268. package/registry/entries/connectors/matrix.json +0 -94
  269. package/registry/entries/connectors/mattermost.json +0 -110
  270. package/registry/entries/connectors/msteams.json +0 -104
  271. package/registry/entries/connectors/nextcloud-talk.json +0 -104
  272. package/registry/entries/connectors/nostr.json +0 -70
  273. package/registry/entries/connectors/signal.json +0 -81
  274. package/registry/entries/connectors/slack.json +0 -102
  275. package/registry/entries/connectors/telegram.json +0 -71
  276. package/registry/entries/connectors/tlon.json +0 -94
  277. package/registry/entries/connectors/twitch.json +0 -110
  278. package/registry/entries/connectors/whatsapp.json +0 -113
  279. package/registry/entries/connectors/x.json +0 -231
  280. package/registry/entries/connectors/zalo.json +0 -112
  281. package/registry/entries/connectors/zalouser.json +0 -122
  282. package/registry/entries/plugins/agent-orchestrator.json +0 -33
  283. package/registry/entries/plugins/agent-skills.json +0 -72
  284. package/registry/entries/plugins/anthropic.json +0 -73
  285. package/registry/entries/plugins/app-control.json +0 -23
  286. package/registry/entries/plugins/auto-trader.json +0 -203
  287. package/registry/entries/plugins/background-runner.json +0 -26
  288. package/registry/entries/plugins/blooio.json +0 -102
  289. package/registry/entries/plugins/browser.json +0 -75
  290. package/registry/entries/plugins/cli.json +0 -40
  291. package/registry/entries/plugins/clipboard.json +0 -44
  292. package/registry/entries/plugins/coding-tools.json +0 -71
  293. package/registry/entries/plugins/commands.json +0 -63
  294. package/registry/entries/plugins/computeruse.json +0 -74
  295. package/registry/entries/plugins/copilot-proxy.json +0 -93
  296. package/registry/entries/plugins/directives.json +0 -63
  297. package/registry/entries/plugins/edge-tts.json +0 -97
  298. package/registry/entries/plugins/elevenlabs.json +0 -169
  299. package/registry/entries/plugins/elizacloud.json +0 -208
  300. package/registry/entries/plugins/evm.json +0 -134
  301. package/registry/entries/plugins/experience.json +0 -34
  302. package/registry/entries/plugins/facewear.json +0 -131
  303. package/registry/entries/plugins/form.json +0 -26
  304. package/registry/entries/plugins/github.json +0 -93
  305. package/registry/entries/plugins/gmail-watch.json +0 -25
  306. package/registry/entries/plugins/goals.json +0 -77
  307. package/registry/entries/plugins/google-genai.json +0 -106
  308. package/registry/entries/plugins/groq.json +0 -93
  309. package/registry/entries/plugins/hedera.json +0 -48
  310. package/registry/entries/plugins/inmemorydb.json +0 -25
  311. package/registry/entries/plugins/linear.json +0 -51
  312. package/registry/entries/plugins/local-inference.json +0 -137
  313. package/registry/entries/plugins/local-storage.json +0 -36
  314. package/registry/entries/plugins/localdb.json +0 -25
  315. package/registry/entries/plugins/mcp.json +0 -44
  316. package/registry/entries/plugins/memory.json +0 -124
  317. package/registry/entries/plugins/minecraft.json +0 -79
  318. package/registry/entries/plugins/moltbook.json +0 -83
  319. package/registry/entries/plugins/music.json +0 -155
  320. package/registry/entries/plugins/mysticism.json +0 -48
  321. package/registry/entries/plugins/nearai.json +0 -82
  322. package/registry/entries/plugins/ngrok.json +0 -69
  323. package/registry/entries/plugins/ollama.json +0 -96
  324. package/registry/entries/plugins/openai.json +0 -189
  325. package/registry/entries/plugins/openrouter.json +0 -188
  326. package/registry/entries/plugins/pdf.json +0 -26
  327. package/registry/entries/plugins/plugin-manager.json +0 -23
  328. package/registry/entries/plugins/prose.json +0 -48
  329. package/registry/entries/plugins/rlm.json +0 -26
  330. package/registry/entries/plugins/roblox.json +0 -88
  331. package/registry/entries/plugins/rss.json +0 -64
  332. package/registry/entries/plugins/s3-storage.json +0 -91
  333. package/registry/entries/plugins/scheduling.json +0 -35
  334. package/registry/entries/plugins/shell.json +0 -94
  335. package/registry/entries/plugins/social-alpha.json +0 -72
  336. package/registry/entries/plugins/tailscale.json +0 -81
  337. package/registry/entries/plugins/tee.json +0 -53
  338. package/registry/entries/plugins/todos.json +0 -26
  339. package/registry/entries/plugins/trajectory-logger.json +0 -33
  340. package/registry/entries/plugins/trust.json +0 -39
  341. package/registry/entries/plugins/tts.json +0 -71
  342. package/registry/entries/plugins/tunnel.json +0 -45
  343. package/registry/entries/plugins/twilio.json +0 -168
  344. package/registry/entries/plugins/vercel-ai-gateway.json +0 -128
  345. package/registry/entries/plugins/video.json +0 -23
  346. package/registry/entries/plugins/vision.json +0 -43
  347. package/registry/entries/plugins/webhooks.json +0 -23
  348. package/registry/entries/plugins/workflow.json +0 -25
  349. package/registry/entries/plugins/xai.json +0 -75
  350. package/registry/loader.d.ts +0 -28
  351. package/registry/loader.d.ts.map +0 -1
  352. package/registry/loader.js +0 -158
  353. package/registry/schema.d.ts +0 -1199
  354. package/registry/schema.d.ts.map +0 -1
  355. package/registry/schema.js +0 -300
  356. package/scripts/patches/llama-mobile-kokoro-tts.patch +0 -480
  357. package/scripts/release-workflow-drift.test.ts +0 -57
  358. package/test/helpers/i18n.ts +0 -5
  359. package/test/helpers/loopback.ts +0 -33
  360. package/test/helpers/react-test.ts +0 -40
  361. package/test/helpers/skip-without.ts +0 -53
package/agent-bridge.d.ts CHANGED
@@ -19,9 +19,9 @@
19
19
  * signatures, do NOT add it here — rework the underlying module so its
20
20
  * emitted `.d.ts` stays agent-free, or move the type to `@elizaos/shared`.
21
21
  */
22
- export { getBuildVariant, isStoreBuild } from "./runtime/build-variant";
23
- export { hydrateWalletKeysFromNodePlatformSecureStore } from "./security/hydrate-wallet-keys-from-platform-store";
24
- export { applyAccountPoolApiCredentials, getDefaultAccountPool, startAccountPoolKeepAlive, } from "./services/account-pool";
25
- export { runVaultBootstrap } from "./services/vault-bootstrap";
26
- export { sharedVault } from "./services/vault-mirror";
22
+ export { getBuildVariant, isStoreBuild } from "./runtime/build-variant.js";
23
+ export { hydrateWalletKeysFromNodePlatformSecureStore } from "./security/hydrate-wallet-keys-from-platform-store.js";
24
+ export { applyAccountPoolApiCredentials, getDefaultAccountPool, startAccountPoolKeepAlive, } from "./services/account-pool.js";
25
+ export { runVaultBootstrap } from "./services/vault-bootstrap.js";
26
+ export { sharedVault } from "./services/vault-mirror.js";
27
27
  //# sourceMappingURL=agent-bridge.d.ts.map
@@ -15,7 +15,7 @@
15
15
  * bearer token into an audit row.
16
16
  */
17
17
  import type { RuntimeEnvRecord } from "@elizaos/shared";
18
- import type { AuthStore } from "../../services/auth-store";
18
+ import type { AuthStore } from "../../services/auth-store.js";
19
19
  export declare const AUDIT_LOG_FILENAME = "audit.log";
20
20
  export declare const AUDIT_LOG_ROTATE_FILENAME = "audit.log.1";
21
21
  export declare const AUDIT_LOG_MAX_BYTES: number;
@@ -13,7 +13,7 @@
13
13
  */
14
14
  import type http from "node:http";
15
15
  import type { RuntimeEnvRecord } from "@elizaos/shared";
16
- import type { AuthIdentityRow, AuthSessionRow, AuthStore } from "../../services/auth-store";
16
+ import type { AuthIdentityRow, AuthSessionRow, AuthStore } from "../../services/auth-store.js";
17
17
  export type AuthContextSource = "cookie" | "bearer-session" | "bearer-bootstrap";
18
18
  export interface ResolvedAuthContext {
19
19
  session: AuthSessionRow | null;
@@ -12,7 +12,7 @@
12
12
  * `{ ok: false, reason }` and the caller MUST refuse the request.
13
13
  */
14
14
  import type { RuntimeEnvRecord } from "@elizaos/shared";
15
- import type { AuthStore } from "../../services/auth-store";
15
+ import type { AuthStore } from "../../services/auth-store.js";
16
16
  export declare const BOOTSTRAP_TOKEN_ALG = "RS256";
17
17
  export declare const BOOTSTRAP_TOKEN_SCOPE = "bootstrap";
18
18
  export interface BootstrapTokenClaims {
@@ -15,7 +15,7 @@
15
15
  */
16
16
  import type http from "node:http";
17
17
  import { type RuntimeEnvRecord } from "@elizaos/shared";
18
- import type { AuthSessionRow, AuthStore } from "../../services/auth-store";
18
+ import type { AuthSessionRow, AuthStore } from "../../services/auth-store.js";
19
19
  /** Browser session sliding window: 12h. */
20
20
  export declare const BROWSER_SESSION_TTL_MS: number;
21
21
  /** Browser session absolute cap when `rememberDevice=true`: 30 days. */
@@ -8,7 +8,7 @@
8
8
  * any replay is rejected.
9
9
  */
10
10
  import type http from "node:http";
11
- import { type CompatRuntimeState } from "./compat-route-shared";
11
+ import { type CompatRuntimeState } from "./compat-route-shared.js";
12
12
  /** 12h sliding TTL for browser sessions per plan §1.3. */
13
13
  export declare const BROWSER_SESSION_TTL_MS: number;
14
14
  /**
@@ -1,5 +1,5 @@
1
1
  import type http from "node:http";
2
- import { type CompatRuntimeState } from "./compat-route-shared";
2
+ import { type CompatRuntimeState } from "./compat-route-shared.js";
3
3
  export declare function _resetAuthPairingStateForTests(): void;
4
4
  export declare function ensureAuthPairingCodeForRemoteAccess(): {
5
5
  code: string;
@@ -1 +1 @@
1
- {"version":3,"file":"auth-pairing-routes.d.ts","sourceRoot":"","sources":["../../../../../src/api/auth-pairing-routes.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAelC,OAAO,EACL,KAAK,kBAAkB,EAKxB,MAAM,uBAAuB,CAAC;AAkC/B,wBAAgB,8BAA8B,IAAI,IAAI,CAIrD;AAuCD,wBAAgB,oCAAoC,IAAI;IACtD,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;CACnB,GAAG,IAAI,CAGP;AAoFD;;;;;;;GAOG;AACH,wBAAsB,6BAA6B,CACjD,GAAG,EAAE,IAAI,CAAC,eAAe,EACzB,GAAG,EAAE,IAAI,CAAC,cAAc,EACxB,KAAK,EAAE,kBAAkB,GACxB,OAAO,CAAC,OAAO,CAAC,CA2LlB"}
1
+ {"version":3,"file":"auth-pairing-routes.d.ts","sourceRoot":"","sources":["../../../../../src/api/auth-pairing-routes.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAelC,OAAO,EACL,KAAK,kBAAkB,EAKxB,MAAM,uBAAuB,CAAC;AAkC/B,wBAAgB,8BAA8B,IAAI,IAAI,CAIrD;AAuCD,wBAAgB,oCAAoC,IAAI;IACtD,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;CACnB,GAAG,IAAI,CAGP;AAoFD;;;;;;;GAOG;AACH,wBAAsB,6BAA6B,CACjD,GAAG,EAAE,IAAI,CAAC,eAAe,EACzB,GAAG,EAAE,IAAI,CAAC,cAAc,EACxB,KAAK,EAAE,kBAAkB,GACxB,OAAO,CAAC,OAAO,CAAC,CA0LlB"}
@@ -142,9 +142,8 @@ export async function handleAuthPairingCompatRoutes(req, res, state) {
142
142
  const method = (req.method ?? "GET").toUpperCase();
143
143
  const url = new URL(req.url ?? "/", "http://localhost");
144
144
  // ── GET /api/first-run/status ──────────────────────────────────────
145
- // Cloud-provisioned containers used to skip auth here entirely. That
146
- // bypass is gone: callers now need a trusted local request, a valid
147
- // cookie session, an allowed bearer token, or a bootstrap exchange.
145
+ // Requires a trusted local request, a valid cookie session, an allowed
146
+ // bearer token, or a bootstrap exchange no unauthenticated bypass.
148
147
  if (method === "GET" && url.pathname === "/api/first-run/status") {
149
148
  if (!(await ensureRouteAuthorized(req, res, state))) {
150
149
  return true;
@@ -17,8 +17,8 @@
17
17
  * the body.
18
18
  */
19
19
  import type http from "node:http";
20
- import { SESSION_COOKIE_NAME } from "./auth/index";
21
- import { type CompatRuntimeState } from "./compat-route-shared";
20
+ import { SESSION_COOKIE_NAME } from "./auth/index.js";
21
+ import { type CompatRuntimeState } from "./compat-route-shared.js";
22
22
  /** Test-only reset. */
23
23
  export declare function _resetAuthSessionRoutesLimiter(): void;
24
24
  /**
package/api/auth.d.ts CHANGED
@@ -56,7 +56,7 @@ export declare function ensureCompatApiAuthorized(req: Pick<http.IncomingMessage
56
56
  * once per handler.
57
57
  */
58
58
  export declare function ensureCompatApiAuthorizedAsync(req: Pick<http.IncomingMessage, "headers" | "socket" | "method">, res: http.ServerResponse, options: {
59
- store: import("../services/auth-store").AuthStore;
59
+ store: import("../services/auth-store.js").AuthStore;
60
60
  now?: number;
61
61
  /**
62
62
  * Skip CSRF enforcement for routes that ALWAYS handle CSRF themselves
@@ -13,6 +13,6 @@
13
13
  * consumers without a workflow plugin dependency.
14
14
  */
15
15
  import type http from "node:http";
16
- import type { CompatRuntimeState } from "./compat-route-shared";
16
+ import type { CompatRuntimeState } from "./compat-route-shared.js";
17
17
  export declare function handleAutomationsCompatRoutes(req: http.IncomingMessage, res: http.ServerResponse, state: CompatRuntimeState): Promise<boolean>;
18
18
  //# sourceMappingURL=automations-compat-routes.d.ts.map
@@ -1,4 +1,4 @@
1
1
  import type http from "node:http";
2
- import type { CompatRuntimeState } from "./compat-route-shared";
2
+ import type { CompatRuntimeState } from "./compat-route-shared.js";
3
3
  export declare function handleBackgroundTasksRoute(req: http.IncomingMessage, res: http.ServerResponse, state: CompatRuntimeState): Promise<boolean>;
4
4
  //# sourceMappingURL=background-tasks-routes.d.ts.map
@@ -1,4 +1,4 @@
1
1
  import type http from "node:http";
2
- import type { CompatRuntimeState } from "./compat-route-shared";
2
+ import type { CompatRuntimeState } from "./compat-route-shared.js";
3
3
  export declare function handleCatalogRoutes(req: http.IncomingMessage, res: http.ServerResponse, state: CompatRuntimeState): Promise<boolean>;
4
4
  //# sourceMappingURL=catalog-routes.d.ts.map
@@ -17,7 +17,7 @@
17
17
  */
18
18
  import type http from "node:http";
19
19
  import type { AgentRuntime } from "@elizaos/core";
20
- import type { CompatRuntimeState } from "./compat-route-shared";
20
+ import type { CompatRuntimeState } from "./compat-route-shared.js";
21
21
  export interface CloudVoiceCatalogEntry {
22
22
  id: string;
23
23
  name: string;
@@ -1,6 +1,6 @@
1
1
  import type http from "node:http";
2
- import { type ElizaConfig } from "@elizaos/agent";
3
2
  import type { AgentRuntime } from "@elizaos/core";
3
+ import { type ElizaConfig, isLoopbackRemoteAddress } from "@elizaos/shared";
4
4
  export interface CompatRuntimeState {
5
5
  current: AgentRuntime | null;
6
6
  pendingAgentName: string | null;
@@ -9,11 +9,18 @@ export interface CompatRuntimeState {
9
9
  export declare function clearCompatRuntimeRestart(state: CompatRuntimeState): void;
10
10
  export declare function scheduleCompatRuntimeRestart(state: CompatRuntimeState, reason: string): void;
11
11
  export declare const DATABASE_UNAVAILABLE_MESSAGE = "Database not available. The agent may not be running or the database adapter is not initialized.";
12
- export declare function isLoopbackRemoteAddress(remoteAddress: string | null | undefined): boolean;
12
+ export { isLoopbackRemoteAddress };
13
13
  /**
14
- * Same-machine dashboard access. This is intentionally stricter than just
15
- * checking `remoteAddress`: the browser must also be targeting a loopback Host
16
- * and must not present cross-site browser metadata.
14
+ * Same-machine dashboard access for the app-core compat API. Delegates to the
15
+ * canonical `@elizaos/shared` parser with app-core's exact policy gates:
16
+ * - cloudCheck "env": the raw `ELIZA_CLOUD_PROVISIONED === "1"` flag (NOT the
17
+ * agent's stricter `isCloudProvisionedContainer()`).
18
+ * - requireLocalAuthEnv: honour `ELIZA_REQUIRE_LOCAL_AUTH=1`.
19
+ * - devAuthBypassEnv: `ELIZA_DEV_AUTH_BYPASS=1` in a dev `NODE_ENV` restores
20
+ * local trust (dev-ui sets this for the local dashboard).
21
+ *
22
+ * Intentionally stricter than a bare `remoteAddress` check: the browser must
23
+ * also target a loopback Host and must not present cross-site browser metadata.
17
24
  */
18
25
  export declare function isTrustedLocalRequest(req: Pick<http.IncomingMessage, "headers" | "socket">): boolean;
19
26
  export declare function readCompatJsonBody(req: http.IncomingMessage, res: http.ServerResponse): Promise<Record<string, unknown> | null>;
@@ -1 +1 @@
1
- {"version":3,"file":"compat-route-shared.d.ts","sourceRoot":"","sources":["../../../../../src/api/compat-route-shared.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAElC,OAAO,EAAE,KAAK,WAAW,EAAmB,MAAM,gBAAgB,CAAC;AACnE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAWlD,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,YAAY,GAAG,IAAI,CAAC;IAC7B,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,qBAAqB,EAAE,MAAM,EAAE,CAAC;CACjC;AAED,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,kBAAkB,GAAG,IAAI,CAEzE;AAED,wBAAgB,4BAA4B,CAC1C,KAAK,EAAE,kBAAkB,EACzB,MAAM,EAAE,MAAM,GACb,IAAI,CAaN;AAED,eAAO,MAAM,4BAA4B,qGAC2D,CAAC;AAErG,wBAAgB,uBAAuB,CACrC,aAAa,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GACvC,OAAO,CAUT;AAsLD;;;;GAIG;AACH,wBAAgB,qBAAqB,CACnC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,SAAS,GAAG,QAAQ,CAAC,GACpD,OAAO,CAqBT;AAED,wBAAsB,kBAAkB,CACtC,GAAG,EAAE,IAAI,CAAC,eAAe,EACzB,GAAG,EAAE,IAAI,CAAC,cAAc,GACvB,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC,CA+CzC;AAED,wBAAgB,+BAA+B,CAAC,MAAM,EAAE,WAAW,GAAG,OAAO,CAoC5E;AAED,wBAAgB,4BAA4B,IAAI,MAAM,GAAG,IAAI,CAc5D;AAMD;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,kBAAkB,GAAG,OAAO,GAAG,IAAI,CAM5E"}
1
+ {"version":3,"file":"compat-route-shared.d.ts","sourceRoot":"","sources":["../../../../../src/api/compat-route-shared.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAElC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,EACL,KAAK,WAAW,EAChB,uBAAuB,EAKxB,MAAM,iBAAiB,CAAC;AAKzB,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,YAAY,GAAG,IAAI,CAAC;IAC7B,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,qBAAqB,EAAE,MAAM,EAAE,CAAC;CACjC;AAED,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,kBAAkB,GAAG,IAAI,CAEzE;AAED,wBAAgB,4BAA4B,CAC1C,KAAK,EAAE,kBAAkB,EACzB,MAAM,EAAE,MAAM,GACb,IAAI,CAaN;AAED,eAAO,MAAM,4BAA4B,qGAC2D,CAAC;AAMrG,OAAO,EAAE,uBAAuB,EAAE,CAAC;AAEnC;;;;;;;;;;;GAWG;AACH,wBAAgB,qBAAqB,CACnC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,SAAS,GAAG,QAAQ,CAAC,GACpD,OAAO,CAMT;AAED,wBAAsB,kBAAkB,CACtC,GAAG,EAAE,IAAI,CAAC,eAAe,EACzB,GAAG,EAAE,IAAI,CAAC,cAAc,GACvB,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC,CA+CzC;AAED,wBAAgB,+BAA+B,CAAC,MAAM,EAAE,WAAW,GAAG,OAAO,CAoC5E;AAED,wBAAgB,4BAA4B,IAAI,MAAM,GAAG,IAAI,CAc5D;AAMD;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,kBAAkB,GAAG,OAAO,GAAG,IAAI,CAM5E"}
@@ -1,6 +1,5 @@
1
- import { isIP } from "node:net";
2
- import { loadElizaConfig } from "@elizaos/agent";
3
- import { isLoopbackBindHost, normalizeFirstRunProviderId, resolveDeploymentTargetInConfig, resolveServiceRoutingInConfig, } from "@elizaos/shared";
1
+ import { loadElizaConfig } from "@elizaos/agent/config/config";
2
+ import { isLoopbackRemoteAddress, isTrustedLocalRequest as isTrustedLocalRequestShared, normalizeFirstRunProviderId, resolveDeploymentTargetInConfig, resolveServiceRoutingInConfig, } from "@elizaos/shared";
4
3
  import { sendJsonError as sendJsonErrorResponse } from "./response.js";
5
4
  const MAX_BODY_BYTES = 1_048_576;
6
5
  export function clearCompatRuntimeRestart(state) {
@@ -16,193 +15,29 @@ export function scheduleCompatRuntimeRestart(state, reason) {
16
15
  state.pendingRestartReasons.push(reason);
17
16
  }
18
17
  export const DATABASE_UNAVAILABLE_MESSAGE = "Database not available. The agent may not be running or the database adapter is not initialized.";
19
- export function isLoopbackRemoteAddress(remoteAddress) {
20
- if (!remoteAddress)
21
- return false;
22
- const normalized = remoteAddress.trim().toLowerCase();
23
- return (normalized === "127.0.0.1" ||
24
- normalized === "::1" ||
25
- normalized === "0:0:0:0:0:0:0:1" ||
26
- normalized === "::ffff:127.0.0.1" ||
27
- normalized === "::ffff:0:127.0.0.1");
28
- }
29
- function firstHeaderValue(value) {
30
- if (typeof value === "string")
31
- return value;
32
- if (Array.isArray(value) && typeof value[0] === "string")
33
- return value[0];
34
- return null;
35
- }
36
- const CLIENT_IP_PROXY_HEADERS = new Set([
37
- "forwarded",
38
- "forwarded-for",
39
- "x-forwarded",
40
- "x-forwarded-for",
41
- "x-original-forwarded-for",
42
- "x-real-ip",
43
- "x-client-ip",
44
- "x-forwarded-client-ip",
45
- "x-cluster-client-ip",
46
- "cf-connecting-ip",
47
- "true-client-ip",
48
- "fastly-client-ip",
49
- "x-appengine-user-ip",
50
- "x-azure-clientip",
51
- ]);
52
- function headerValues(value) {
53
- if (typeof value === "string")
54
- return [value];
55
- if (Array.isArray(value)) {
56
- return value.filter((item) => typeof item === "string");
57
- }
58
- return [];
59
- }
60
- function isClientIpProxyHeaderName(name) {
61
- const normalized = name.toLowerCase();
62
- return (CLIENT_IP_PROXY_HEADERS.has(normalized) ||
63
- normalized.endsWith("-client-ip") ||
64
- normalized.endsWith("-connecting-ip") ||
65
- normalized.endsWith("-real-ip"));
66
- }
67
- function extractForwardedForCandidates(raw) {
68
- const candidates = [];
69
- const pattern = /(?:^|[;,])\s*for=(?:"([^"]*)"|([^;,]*))/gi;
70
- for (const match of raw.matchAll(pattern)) {
71
- candidates.push(match[1] ?? match[2] ?? "");
72
- }
73
- return candidates;
74
- }
75
- function extractProxyClientAddressCandidates(headerName, raw) {
76
- if (headerName === "forwarded") {
77
- return extractForwardedForCandidates(raw);
78
- }
79
- const forwardedCandidates = raw.toLowerCase().includes("for=")
80
- ? extractForwardedForCandidates(raw)
81
- : [];
82
- if (forwardedCandidates.length > 0)
83
- return forwardedCandidates;
84
- return raw.split(",");
85
- }
86
- function stripMatchingQuotes(value) {
87
- const trimmed = value.trim();
88
- if ((trimmed.startsWith('"') && trimmed.endsWith('"')) ||
89
- (trimmed.startsWith("'") && trimmed.endsWith("'"))) {
90
- return trimmed.slice(1, -1);
91
- }
92
- return trimmed;
93
- }
94
- function isNeutralProxyClientAddress(raw) {
95
- const normalized = stripMatchingQuotes(raw).trim().toLowerCase();
96
- return (!normalized ||
97
- normalized === "unknown" ||
98
- normalized === "null" ||
99
- normalized.startsWith("_"));
100
- }
101
- function normalizeProxyClientIp(raw) {
102
- let normalized = stripMatchingQuotes(raw).trim();
103
- if (!normalized)
104
- return null;
105
- if (normalized.startsWith("[")) {
106
- const close = normalized.indexOf("]");
107
- if (close > 0) {
108
- normalized = normalized.slice(1, close);
109
- }
110
- }
111
- else {
112
- const ipv4HostPort = /^(\d{1,3}(?:\.\d{1,3}){3})(?::\d+)$/.exec(normalized);
113
- if (ipv4HostPort?.[1]) {
114
- normalized = ipv4HostPort[1];
115
- }
116
- }
117
- const zoneIndex = normalized.indexOf("%");
118
- if (zoneIndex >= 0) {
119
- normalized = normalized.slice(0, zoneIndex);
120
- }
121
- normalized = normalized.trim().toLowerCase();
122
- return isIP(normalized) ? normalized : null;
123
- }
124
- function isLoopbackProxyClientIp(ip) {
125
- const normalized = ip.trim().toLowerCase();
126
- return (normalized === "::1" ||
127
- normalized === "0:0:0:0:0:0:0:1" ||
128
- normalized.startsWith("127.") ||
129
- normalized.startsWith("::ffff:127.") ||
130
- normalized.startsWith("::ffff:0:127."));
131
- }
132
- function proxyClientHeaderBlocksLocalTrust(headers) {
133
- for (const [rawName, rawValue] of Object.entries(headers)) {
134
- const headerName = rawName.toLowerCase();
135
- if (!isClientIpProxyHeaderName(headerName))
136
- continue;
137
- for (const value of headerValues(rawValue)) {
138
- for (const candidate of extractProxyClientAddressCandidates(headerName, value)) {
139
- if (isNeutralProxyClientAddress(candidate))
140
- continue;
141
- const ip = normalizeProxyClientIp(candidate);
142
- if (!ip || !isLoopbackProxyClientIp(ip))
143
- return true;
144
- }
145
- }
146
- }
147
- return false;
148
- }
149
- function isCloudProvisionedByEnv() {
150
- return process.env.ELIZA_CLOUD_PROVISIONED === "1";
151
- }
152
- function isLocalAuthRequiredByEnv() {
153
- if (process.env.ELIZA_DEV_AUTH_BYPASS === "1" &&
154
- (process.env.NODE_ENV === "development" || process.env.NODE_ENV === "dev")) {
155
- return false;
156
- }
157
- return process.env.ELIZA_REQUIRE_LOCAL_AUTH === "1";
158
- }
159
- function isTrustedLocalOrigin(raw) {
160
- const trimmed = raw.trim();
161
- if (!trimmed || trimmed === "null")
162
- return true;
163
- try {
164
- const parsed = new URL(trimmed);
165
- if (parsed.protocol === "file:" ||
166
- parsed.protocol === "app:" ||
167
- parsed.protocol === "tauri:" ||
168
- parsed.protocol === "capacitor:" ||
169
- parsed.protocol === "capacitor-electron:" ||
170
- parsed.protocol === "electrobun:") {
171
- return true;
172
- }
173
- return isLoopbackBindHost(parsed.hostname);
174
- }
175
- catch {
176
- return false;
177
- }
178
- }
18
+ // `isLoopbackRemoteAddress` is re-exported from the canonical
19
+ // `@elizaos/shared` trust module (this used to be a local duplicate). Other
20
+ // app-core modules import it from here (e.g. `dev-compat-routes.ts`,
21
+ // `server.ts`), so the name stays available on this subpath.
22
+ export { isLoopbackRemoteAddress };
179
23
  /**
180
- * Same-machine dashboard access. This is intentionally stricter than just
181
- * checking `remoteAddress`: the browser must also be targeting a loopback Host
182
- * and must not present cross-site browser metadata.
24
+ * Same-machine dashboard access for the app-core compat API. Delegates to the
25
+ * canonical `@elizaos/shared` parser with app-core's exact policy gates:
26
+ * - cloudCheck "env": the raw `ELIZA_CLOUD_PROVISIONED === "1"` flag (NOT the
27
+ * agent's stricter `isCloudProvisionedContainer()`).
28
+ * - requireLocalAuthEnv: honour `ELIZA_REQUIRE_LOCAL_AUTH=1`.
29
+ * - devAuthBypassEnv: `ELIZA_DEV_AUTH_BYPASS=1` in a dev `NODE_ENV` restores
30
+ * local trust (dev-ui sets this for the local dashboard).
31
+ *
32
+ * Intentionally stricter than a bare `remoteAddress` check: the browser must
33
+ * also target a loopback Host and must not present cross-site browser metadata.
183
34
  */
184
35
  export function isTrustedLocalRequest(req) {
185
- if (isLocalAuthRequiredByEnv())
186
- return false;
187
- if (isCloudProvisionedByEnv())
188
- return false;
189
- if (!isLoopbackRemoteAddress(req.socket.remoteAddress))
190
- return false;
191
- if (proxyClientHeaderBlocksLocalTrust(req.headers))
192
- return false;
193
- const host = firstHeaderValue(req.headers.host);
194
- if (host && !isLoopbackBindHost(host))
195
- return false;
196
- const secFetchSite = firstHeaderValue(req.headers["sec-fetch-site"])?.toLowerCase();
197
- if (secFetchSite === "cross-site")
198
- return false;
199
- const origin = firstHeaderValue(req.headers.origin);
200
- if (origin && !isTrustedLocalOrigin(origin))
201
- return false;
202
- const referer = firstHeaderValue(req.headers.referer);
203
- if (!origin && referer && !isTrustedLocalOrigin(referer))
204
- return false;
205
- return true;
36
+ return isTrustedLocalRequestShared(req, {
37
+ requireLocalAuthEnv: true,
38
+ devAuthBypassEnv: true,
39
+ cloudCheck: "env",
40
+ });
206
41
  }
207
42
  export async function readCompatJsonBody(req, res) {
208
43
  // When this handler is invoked through the runtime's plugin-route adapter
@@ -1,4 +1,4 @@
1
1
  import type http from "node:http";
2
- import { type CompatRuntimeState } from "./compat-route-shared";
2
+ import { type CompatRuntimeState } from "./compat-route-shared.js";
3
3
  export declare function handleDatabaseRowsCompatRoute(req: http.IncomingMessage, res: http.ServerResponse, state: CompatRuntimeState): Promise<boolean>;
4
4
  //# sourceMappingURL=database-rows-compat-routes.d.ts.map
@@ -1,5 +1,5 @@
1
1
  import type http from "node:http";
2
- import { type CompatRuntimeState } from "./compat-route-shared";
2
+ import { type CompatRuntimeState } from "./compat-route-shared.js";
3
3
  /**
4
4
  * Dev observability routes (loopback where noted).
5
5
  *
@@ -1 +1 @@
1
- {"version":3,"file":"dev-route-catalog.d.ts","sourceRoot":"","sources":["../../../../../src/api/dev-route-catalog.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,eAAO,MAAM,sCAAsC,EAAG,CAAU,CAAC;AAEjE;;;;GAIG;AACH,MAAM,MAAM,kBAAkB,GAAG,KAAK,GAAG,SAAS,GAAG,SAAS,GAAG,UAAU,CAAC;AAE5E,MAAM,MAAM,oBAAoB,GAAG,KAAK,GAAG,SAAS,GAAG,SAAS,GAAG,KAAK,GAAG,IAAI,CAAC;AAEhF,MAAM,WAAW,aAAa;IAC5B,yDAAyD;IACzD,KAAK,EAAE,MAAM,CAAC;IACd,oCAAoC;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,oDAAoD;IACpD,KAAK,EAAE,MAAM,CAAC;IACd,8FAA8F;IAC9F,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,kBAAkB,CAAC;IAC/B,0DAA0D;IAC1D,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,YAAY,EAAE,OAAO,CAAC;IACtB,YAAY,EAAE,oBAAoB,CAAC;CACpC;AAED,MAAM,WAAW,uBAAuB;IACtC,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,gEAAgE;IAChE,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,sBAAsB;IACrC,aAAa,EAAE,OAAO,sCAAsC,CAAC;IAC7D,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,aAAa,EAAE,CAAC;IACxB,gBAAgB,EAAE,uBAAuB,EAAE,CAAC;IAC5C,MAAM,EAAE,aAAa,EAAE,CAAC;CACzB;AAwbD,wBAAgB,iBAAiB,CAC/B,GAAG,GAAE,IAAiB,GACrB,sBAAsB,CAQxB"}
1
+ {"version":3,"file":"dev-route-catalog.d.ts","sourceRoot":"","sources":["../../../../../src/api/dev-route-catalog.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,eAAO,MAAM,sCAAsC,EAAG,CAAU,CAAC;AAEjE;;;;GAIG;AACH,MAAM,MAAM,kBAAkB,GAAG,KAAK,GAAG,SAAS,GAAG,SAAS,GAAG,UAAU,CAAC;AAE5E,MAAM,MAAM,oBAAoB,GAAG,KAAK,GAAG,SAAS,GAAG,SAAS,GAAG,KAAK,GAAG,IAAI,CAAC;AAEhF,MAAM,WAAW,aAAa;IAC5B,yDAAyD;IACzD,KAAK,EAAE,MAAM,CAAC;IACd,oCAAoC;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,oDAAoD;IACpD,KAAK,EAAE,MAAM,CAAC;IACd,8FAA8F;IAC9F,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,kBAAkB,CAAC;IAC/B,0DAA0D;IAC1D,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,YAAY,EAAE,OAAO,CAAC;IACtB,YAAY,EAAE,oBAAoB,CAAC;CACpC;AACD,MAAM,WAAW,uBAAuB;IACtC,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,gEAAgE;IAChE,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,sBAAsB;IACrC,aAAa,EAAE,OAAO,sCAAsC,CAAC;IAC7D,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,aAAa,EAAE,CAAC;IACxB,gBAAgB,EAAE,uBAAuB,EAAE,CAAC;IAC5C,MAAM,EAAE,aAAa,EAAE,CAAC;CACzB;AA4cD,wBAAgB,iBAAiB,CAC/B,GAAG,GAAE,IAAiB,GACrB,sBAAsB,CAQxB"}
@@ -231,6 +231,16 @@ const ROUTES = [
231
231
  requiresAuth: true,
232
232
  platformGate: null,
233
233
  },
234
+ {
235
+ tabId: "files",
236
+ path: "/apps/files",
237
+ label: "Files",
238
+ group: "Apps",
239
+ visibility: "all",
240
+ featureFlag: "VITE_ENABLE_APPS",
241
+ requiresAuth: true,
242
+ platformGate: null,
243
+ },
234
244
  {
235
245
  tabId: "logs",
236
246
  path: "/apps/logs",
@@ -381,6 +391,16 @@ const ROUTES = [
381
391
  requiresAuth: true,
382
392
  platformGate: "desktop",
383
393
  },
394
+ {
395
+ tabId: "background",
396
+ path: "/background",
397
+ label: "Background",
398
+ group: "Hidden",
399
+ visibility: "all",
400
+ featureFlag: null,
401
+ requiresAuth: true,
402
+ platformGate: null,
403
+ },
384
404
  ];
385
405
  /**
386
406
  * Mirror of `SETTINGS_SECTION_META` from
@@ -0,0 +1,3 @@
1
+ import type http from "node:http";
2
+ export declare function handleDropStatusCompatRoute(req: http.IncomingMessage, res: http.ServerResponse, method: string, pathname: string): boolean;
3
+ //# sourceMappingURL=drop-status-compat-route.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"drop-status-compat-route.d.ts","sourceRoot":"","sources":["../../../../../src/api/drop-status-compat-route.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAIlC,wBAAgB,2BAA2B,CACzC,GAAG,EAAE,IAAI,CAAC,eAAe,EACzB,GAAG,EAAE,IAAI,CAAC,cAAc,EACxB,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,GACf,OAAO,CAaT"}
@@ -0,0 +1,12 @@
1
+ import { logger } from "@elizaos/core";
2
+ import { ensureCompatSensitiveRouteAuthorized } from "./auth.js";
3
+ export function handleDropStatusCompatRoute(req, res, method, pathname) {
4
+ if (method !== "GET" || pathname !== "/api/drop/status") {
5
+ return false;
6
+ }
7
+ if (!ensureCompatSensitiveRouteAuthorized(req, res)) {
8
+ logger.warn("[eliza][drop] GET /api/drop/status rejected (sensitive route not authorized)");
9
+ return true;
10
+ }
11
+ return false;
12
+ }
@@ -1,4 +1,4 @@
1
1
  import type http from "node:http";
2
- import type { CompatRuntimeState } from "./compat-route-shared";
2
+ import type { CompatRuntimeState } from "./compat-route-shared.js";
3
3
  export declare function handleFirstRunRoute(req: http.IncomingMessage, res: http.ServerResponse, state: CompatRuntimeState): Promise<boolean>;
4
4
  //# sourceMappingURL=first-run-routes.d.ts.map
@@ -1,5 +1,5 @@
1
1
  import type http from "node:http";
2
- import type { CompatRuntimeState } from "./compat-route-shared";
2
+ import type { CompatRuntimeState } from "./compat-route-shared.js";
3
3
  /**
4
4
  * Wake telemetry visible to /api/health. Wave 5 reads `lastWakeFiredAt` to
5
5
  * surface "last background tick" on the dashboard.
@@ -8,6 +8,6 @@
8
8
  * a browser session would broaden the trust boundary.
9
9
  */
10
10
  import type http from "node:http";
11
- import type { CompatRuntimeState } from "./compat-route-shared";
11
+ import type { CompatRuntimeState } from "./compat-route-shared.js";
12
12
  export declare function handleRuntimeModeRoute(req: http.IncomingMessage, res: http.ServerResponse, state: CompatRuntimeState): Promise<boolean>;
13
13
  //# sourceMappingURL=runtime-mode-routes.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"secrets-manager-routes.d.ts","sourceRoot":"","sources":["../../../../../src/api/secrets-manager-routes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,EACL,KAAK,SAAS,EAYd,KAAK,cAAc,EAGpB,MAAM,gBAAgB,CAAC;AAyExB,8EAA8E;AAC9E,wBAAgB,8BAA8B,IAAI,IAAI,CAGrD;AAED,2EAA2E;AAC3E,wBAAgB,4BAA4B,CAC1C,IAAI,EAAE,cAAc,GAAG,IAAI,GAC1B,IAAI,CAGN;AAeD,wBAAsB,yBAAyB,CAC7C,GAAG,EAAE,IAAI,CAAC,eAAe,EACzB,GAAG,EAAE,IAAI,CAAC,cAAc,EACxB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,OAAO,CAAC,CAyOlB;AA8ND,YAAY,EAAE,SAAS,EAAE,CAAC"}
1
+ {"version":3,"file":"secrets-manager-routes.d.ts","sourceRoot":"","sources":["../../../../../src/api/secrets-manager-routes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,EACL,KAAK,SAAS,EASd,KAAK,cAAc,EAGpB,MAAM,gBAAgB,CAAC;AA+ExB,8EAA8E;AAC9E,wBAAgB,8BAA8B,IAAI,IAAI,CAGrD;AAED,2EAA2E;AAC3E,wBAAgB,4BAA4B,CAC1C,IAAI,EAAE,cAAc,GAAG,IAAI,GAC1B,IAAI,CAGN;AAeD,wBAAsB,yBAAyB,CAC7C,GAAG,EAAE,IAAI,CAAC,eAAe,EACzB,GAAG,EAAE,IAAI,CAAC,cAAc,EACxB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,OAAO,CAAC,CAyOlB;AA8ND,YAAY,EAAE,SAAS,EAAE,CAAC"}
@@ -1,7 +1,7 @@
1
1
  import type http from "node:http";
2
2
  import { type SensitiveRequest, type SensitiveRequestEvent } from "@elizaos/core";
3
- import { type CompatRuntimeState } from "./compat-route-shared";
4
- import { type LocalSensitiveRequestRecord, type LocalSensitiveRequestStore } from "./sensitive-request-store";
3
+ import { type CompatRuntimeState } from "./compat-route-shared.js";
4
+ import { type LocalSensitiveRequestRecord, type LocalSensitiveRequestStore } from "./sensitive-request-store.js";
5
5
  export interface SensitiveRequestRouteOptions {
6
6
  store?: LocalSensitiveRequestStore;
7
7
  now?: () => number;
@@ -1 +1 @@
1
- {"version":3,"file":"server-config-filter.d.ts","sourceRoot":"","sources":["../../../../../src/api/server-config-filter.ts"],"names":[],"mappings":"AAAA,sEAAsE;AAEtE;;;;GAIG;AACH,eAAO,MAAM,2BAA2B,aAiBtC,CAAC;AAwCH;;;;GAIG;AACH,wBAAgB,0BAA0B,CACxC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9B,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAYzB"}
1
+ {"version":3,"file":"server-config-filter.d.ts","sourceRoot":"","sources":["../../../../../src/api/server-config-filter.ts"],"names":[],"mappings":"AAAA,sEAAsE;AAEtE;;;;GAIG;AACH,eAAO,MAAM,2BAA2B,aAgBtC,CAAC;AAwCH;;;;GAIG;AACH,wBAAgB,0BAA0B,CACxC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9B,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAYzB"}
@@ -13,7 +13,6 @@ export const SENSITIVE_ENV_RESPONSE_KEYS = new Set([
13
13
  "ELIZA_API_TOKEN",
14
14
  "ELIZA_WALLET_EXPORT_TOKEN",
15
15
  "ELIZA_TERMINAL_RUN_TOKEN",
16
- "HYPERSCAPE_AUTH_TOKEN",
17
16
  // Cloud API keys
18
17
  "ELIZAOS_CLOUD_API_KEY",
19
18
  // Third-party auth tokens
@@ -1 +1 @@
1
- {"version":3,"file":"server-first-run-helpers.d.ts","sourceRoot":"","sources":["../../../../../src/api/server-first-run-helpers.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAoFH,wBAAgB,kCAAkC,CAChD,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC5B,OAAO,CAIT;AAED;;;;GAIG;AACH,wBAAsB,+BAA+B,CACnD,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC5B,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CA0FxB;AAED,wBAAgB,uBAAuB,CACrC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC5B,MAAM,GAAG,IAAI,CA6Gf;AAED,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG;IACvE,WAAW,EAAE,OAAO,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACrC,CAkCA;AAED;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,IAAI,OAAO,CAc5C"}
1
+ {"version":3,"file":"server-first-run-helpers.d.ts","sourceRoot":"","sources":["../../../../../src/api/server-first-run-helpers.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAoFH,wBAAgB,kCAAkC,CAChD,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC5B,OAAO,CAIT;AAED;;;;GAIG;AACH,wBAAsB,+BAA+B,CACnD,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC5B,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CA0FxB;AAED,wBAAgB,uBAAuB,CACrC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC5B,MAAM,GAAG,IAAI,CA6Gf;AAED,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG;IACvE,WAAW,EAAE,OAAO,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACrC,CA+BA;AAED;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,IAAI,OAAO,CAc5C"}
@@ -235,9 +235,6 @@ export function deriveFirstRunReplayBody(body) {
235
235
  const serviceRouting = normalizeServiceRoutingConfig(body.serviceRouting) ?? undefined;
236
236
  const isCloudMode = deploymentTarget?.runtime === "cloud";
237
237
  const replayBody = { ...body };
238
- for (const key of DEPRECATED_FIRST_RUN_REQUEST_KEYS) {
239
- delete replayBody[key];
240
- }
241
238
  if (deploymentTarget) {
242
239
  replayBody.deploymentTarget = deploymentTarget;
243
240
  }
package/api/server.d.ts CHANGED
@@ -1,15 +1,15 @@
1
1
  import http from "node:http";
2
2
  import { AGENT_EVENT_ALLOWED_STREAMS, CONFIG_WRITE_ALLOWED_TOP_KEYS, type ConversationMeta, cloneWithoutBlockedObjectKeys, discoverInstalledPlugins, discoverPluginsFromManifest, type ElizaConfig, extractAuthToken, fetchWithTimeoutGuard, isAllowedHost, isAuthorized, normalizeWsClientId, persistConversationRoomTitle, resolveMcpServersRejection, resolvePluginConfigMutationRejections, routeAutonomyTextToUser, streamResponseBodyWithByteLimit, startApiServer as upstreamStartApiServer, validateMcpServerConfig } from "@elizaos/agent";
3
3
  import { type AgentRuntime } from "@elizaos/core";
4
- import { type CompatRuntimeState } from "./compat-route-shared";
4
+ import { type CompatRuntimeState } from "./compat-route-shared.js";
5
5
  export { __resetCloudBaseUrlCache, ensureCloudTtsApiKeyAlias, resolveCloudTtsBaseUrl, resolveElevenLabsApiKeyForCloudMode, } from "@elizaos/shared/elizacloud/server-cloud-tts";
6
- export { type CompatRuntimeState, DATABASE_UNAVAILABLE_MESSAGE, getConfiguredCompatAgentName, hasCompatPersistedFirstRunState, isLoopbackRemoteAddress, readCompatJsonBody, } from "./compat-route-shared";
7
- export { filterConfigEnvForResponse, SENSITIVE_ENV_RESPONSE_KEYS, } from "./server-config-filter";
8
- export { buildCorsAllowedPorts, invalidateCorsAllowedPorts, } from "./server-cors";
9
- export { injectApiBaseIntoHtml } from "./server-html";
10
- export { ensureApiTokenForBindHost, resolveMcpTerminalAuthorizationRejection, resolveTerminalRunClientId, resolveTerminalRunRejection, resolveWebSocketUpgradeRejection, } from "./server-security";
11
- export { findOwnPackageRoot, isSafeResetStateDir, resolveCorsOrigin, } from "./server-startup";
12
- export { resolveWalletExportRejection } from "./server-wallet-trade";
6
+ export { type CompatRuntimeState, DATABASE_UNAVAILABLE_MESSAGE, getConfiguredCompatAgentName, hasCompatPersistedFirstRunState, isLoopbackRemoteAddress, readCompatJsonBody, } from "./compat-route-shared.js";
7
+ export { filterConfigEnvForResponse, SENSITIVE_ENV_RESPONSE_KEYS, } from "./server-config-filter.js";
8
+ export { buildCorsAllowedPorts, invalidateCorsAllowedPorts, } from "./server-cors.js";
9
+ export { injectApiBaseIntoHtml } from "./server-html.js";
10
+ export { ensureApiTokenForBindHost, resolveMcpTerminalAuthorizationRejection, resolveTerminalRunClientId, resolveTerminalRunRejection, resolveWebSocketUpgradeRejection, } from "./server-security.js";
11
+ export { findOwnPackageRoot, isSafeResetStateDir, resolveCorsOrigin, } from "./server-startup.js";
12
+ export { resolveWalletExportRejection } from "./server-wallet-trade.js";
13
13
  export { AGENT_EVENT_ALLOWED_STREAMS, CONFIG_WRITE_ALLOWED_TOP_KEYS, type ConversationMeta, cloneWithoutBlockedObjectKeys, discoverInstalledPlugins, discoverPluginsFromManifest, extractAuthToken, fetchWithTimeoutGuard, isAllowedHost, isAuthorized, normalizeWsClientId, persistConversationRoomTitle, resolveMcpServersRejection, resolvePluginConfigMutationRejections, routeAutonomyTextToUser, streamResponseBodyWithByteLimit, validateMcpServerConfig, };
14
14
  export declare function syncCompatConfigFiles(): void;
15
15
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../../../../src/api/server.ts"],"names":[],"mappings":"AACA,OAAO,IAAI,MAAM,WAAW,CAAC;AAG7B,OAAO,EACL,2BAA2B,EAC3B,6BAA6B,EAC7B,KAAK,gBAAgB,EAErB,6BAA6B,EAC7B,wBAAwB,EACxB,2BAA2B,EAC3B,KAAK,WAAW,EAChB,gBAAgB,EAChB,qBAAqB,EAGrB,aAAa,EACb,YAAY,EAEZ,mBAAmB,EACnB,4BAA4B,EAE5B,0BAA0B,EAC1B,qCAAqC,EAErC,uBAAuB,EAEvB,+BAA+B,EAC/B,cAAc,IAAI,sBAAsB,EACxC,uBAAuB,EACxB,MAAM,gBAAgB,CAAC;AAGxB,OAAO,EAAE,KAAK,YAAY,EAA2B,MAAM,eAAe,CAAC;AAS3E,OAAO,EACL,KAAK,kBAAkB,EAGxB,MAAM,uBAAuB,CAAC;AAI/B,OAAO,EACL,wBAAwB,EACxB,yBAAyB,EACzB,sBAAsB,EACtB,mCAAmC,GACpC,MAAM,6CAA6C,CAAC;AACrD,OAAO,EACL,KAAK,kBAAkB,EACvB,4BAA4B,EAC5B,4BAA4B,EAC5B,+BAA+B,EAC/B,uBAAuB,EACvB,kBAAkB,GACnB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,0BAA0B,EAC1B,2BAA2B,GAC5B,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,qBAAqB,EACrB,0BAA0B,GAC3B,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AAEtD,OAAO,EACL,yBAAyB,EACzB,wCAAwC,EACxC,0BAA0B,EAC1B,2BAA2B,EAC3B,gCAAgC,GACjC,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,kBAAkB,EAClB,mBAAmB,EACnB,iBAAiB,GAClB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,4BAA4B,EAAE,MAAM,uBAAuB,CAAC;AACrE,OAAO,EACL,2BAA2B,EAC3B,6BAA6B,EAC7B,KAAK,gBAAgB,EACrB,6BAA6B,EAC7B,wBAAwB,EACxB,2BAA2B,EAC3B,gBAAgB,EAChB,qBAAqB,EACrB,aAAa,EACb,YAAY,EACZ,mBAAmB,EACnB,4BAA4B,EAC5B,0BAA0B,EAC1B,qCAAqC,EACrC,uBAAuB,EACvB,+BAA+B,EAC/B,uBAAuB,GACxB,CAAC;AAgKF,wBAAgB,qBAAqB,IAAI,IAAI,CAsC5C;AAoBD;;;;;;;;;;GAUG;AACH,iBAAe,wBAAwB,CACrC,OAAO,EAAE,YAAY,GAAG,IAAI,EAC5B,MAAM,EAAE,WAAW,GAClB,OAAO,CAAC,IAAI,CAAC,CAwDf;AAED,eAAO,MAAM,iCAAiC,iCAA2B,CAAC;AA6kB1E,wBAAsB,sBAAsB,CAC1C,GAAG,EAAE,IAAI,CAAC,eAAe,EACzB,GAAG,EAAE,IAAI,CAAC,cAAc,EACxB,KAAK,EAAE,kBAAkB,GACxB,OAAO,CAAC,OAAO,CAAC,CAElB;AAiBD,wBAAgB,2BAA2B,IAAI,kBAAkB,CAEhE;AAED,wBAAgB,8BAA8B,IAAI,MAAM,IAAI,CA0J3D;AAED,wBAAsB,cAAc,CAClC,GAAG,IAAI,EAAE,UAAU,CAAC,OAAO,sBAAsB,CAAC,GACjD,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,sBAAsB,CAAC,CAAC,CAAC,CAgF7D"}
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../../../../src/api/server.ts"],"names":[],"mappings":"AACA,OAAO,IAAI,MAAM,WAAW,CAAC;AAG7B,OAAO,EACL,2BAA2B,EAC3B,6BAA6B,EAC7B,KAAK,gBAAgB,EAErB,6BAA6B,EAC7B,wBAAwB,EACxB,2BAA2B,EAC3B,KAAK,WAAW,EAChB,gBAAgB,EAChB,qBAAqB,EAGrB,aAAa,EACb,YAAY,EAEZ,mBAAmB,EACnB,4BAA4B,EAE5B,0BAA0B,EAC1B,qCAAqC,EAErC,uBAAuB,EAEvB,+BAA+B,EAC/B,cAAc,IAAI,sBAAsB,EACxC,uBAAuB,EACxB,MAAM,gBAAgB,CAAC;AAGxB,OAAO,EAAE,KAAK,YAAY,EAA2B,MAAM,eAAe,CAAC;AAS3E,OAAO,EACL,KAAK,kBAAkB,EAGxB,MAAM,uBAAuB,CAAC;AAI/B,OAAO,EACL,wBAAwB,EACxB,yBAAyB,EACzB,sBAAsB,EACtB,mCAAmC,GACpC,MAAM,6CAA6C,CAAC;AACrD,OAAO,EACL,KAAK,kBAAkB,EACvB,4BAA4B,EAC5B,4BAA4B,EAC5B,+BAA+B,EAC/B,uBAAuB,EACvB,kBAAkB,GACnB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,0BAA0B,EAC1B,2BAA2B,GAC5B,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,qBAAqB,EACrB,0BAA0B,GAC3B,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AAEtD,OAAO,EACL,yBAAyB,EACzB,wCAAwC,EACxC,0BAA0B,EAC1B,2BAA2B,EAC3B,gCAAgC,GACjC,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,kBAAkB,EAClB,mBAAmB,EACnB,iBAAiB,GAClB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,4BAA4B,EAAE,MAAM,uBAAuB,CAAC;AACrE,OAAO,EACL,2BAA2B,EAC3B,6BAA6B,EAC7B,KAAK,gBAAgB,EACrB,6BAA6B,EAC7B,wBAAwB,EACxB,2BAA2B,EAC3B,gBAAgB,EAChB,qBAAqB,EACrB,aAAa,EACb,YAAY,EACZ,mBAAmB,EACnB,4BAA4B,EAC5B,0BAA0B,EAC1B,qCAAqC,EACrC,uBAAuB,EACvB,+BAA+B,EAC/B,uBAAuB,GACxB,CAAC;AA0JF,wBAAgB,qBAAqB,IAAI,IAAI,CAsC5C;AAoBD;;;;;;;;;;GAUG;AACH,iBAAe,wBAAwB,CACrC,OAAO,EAAE,YAAY,GAAG,IAAI,EAC5B,MAAM,EAAE,WAAW,GAClB,OAAO,CAAC,IAAI,CAAC,CAwDf;AAED,eAAO,MAAM,iCAAiC,iCAA2B,CAAC;AA0hB1E,wBAAsB,sBAAsB,CAC1C,GAAG,EAAE,IAAI,CAAC,eAAe,EACzB,GAAG,EAAE,IAAI,CAAC,cAAc,EACxB,KAAK,EAAE,kBAAkB,GACxB,OAAO,CAAC,OAAO,CAAC,CAElB;AAiBD,wBAAgB,2BAA2B,IAAI,kBAAkB,CAEhE;AAED,wBAAgB,8BAA8B,IAAI,MAAM,IAAI,CA0J3D;AAED,wBAAsB,cAAc,CAClC,GAAG,IAAI,EAAE,UAAU,CAAC,OAAO,sBAAsB,CAAC,GACjD,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,sBAAsB,CAAC,CAAC,CAAC,CAgF7D"}