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

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 (360) 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-zig-pin.test.mjs +147 -0
  152. package/scripts/aosp/compile-libllama.mjs +446 -59
  153. package/scripts/aosp/compile-libllama.test.mjs +133 -0
  154. package/scripts/aosp/compile-shim.mjs +21 -1
  155. package/scripts/aosp/deploy-pixel.mjs +1 -1
  156. package/scripts/aosp/stage-default-models.mjs +24 -31
  157. package/scripts/aosp/stage-default-models.test.mjs +23 -0
  158. package/scripts/assert-required-bundled-packages.test.ts +22 -1
  159. package/scripts/build-helpers/verify-fused-symbols.mjs +33 -0
  160. package/scripts/build-helpers/verify-fused-symbols.test.mjs +0 -0
  161. package/scripts/build-image.sh +1 -3
  162. package/scripts/build-llama-cpp-mtp.mjs +17 -16
  163. package/scripts/check-i18n.mjs +0 -1
  164. package/scripts/copy-runtime-node-modules.ts +147 -0
  165. package/scripts/desktop-build.mjs +317 -4
  166. package/scripts/docker-ci-smoke.sh +33 -8
  167. package/scripts/ensure-type-package-aliases.mjs +1 -1
  168. package/scripts/ios-xcframework/run-physical-device-smoke.mjs +1 -1
  169. package/scripts/lib/agent-source-watcher.mjs +0 -1
  170. package/scripts/lib/artifact-staleness.d.mts +33 -0
  171. package/scripts/lib/artifact-staleness.mjs +122 -0
  172. package/scripts/lib/artifact-staleness.test.mts +98 -0
  173. package/scripts/lib/duet-bridge.mjs +1 -1
  174. package/scripts/lib/ios-plist-url-scheme.mjs +80 -0
  175. package/scripts/lib/mobile-build-decisions.mjs +97 -0
  176. package/scripts/lib/renderer-build-manifest.d.mts +65 -0
  177. package/scripts/lib/renderer-build-manifest.mjs +257 -0
  178. package/scripts/lib/renderer-build-manifest.test.mts +277 -0
  179. package/scripts/lib/stage-android-agent.mjs +13 -4
  180. package/scripts/lib/verify-ondevice-artifact.d.mts +16 -0
  181. package/scripts/lib/verify-ondevice-artifact.mjs +61 -0
  182. package/scripts/lib/verify-ondevice-artifact.test.mts +98 -0
  183. package/scripts/lib/websocket-pending-queue.ts +92 -0
  184. package/scripts/link-docker-local-app-packages.mjs +6 -0
  185. package/scripts/playwright-ui-live-stack.ts +430 -144
  186. package/scripts/playwright-ui-smoke-api-stub.mjs +160 -168
  187. package/scripts/run-local-plugin-live-smoke.mjs +1 -6
  188. package/scripts/run-mobile-build-brand-separation.test.mts +33 -0
  189. package/scripts/run-mobile-build-ios-engine-gate.test.mjs +85 -0
  190. package/scripts/run-mobile-build-mtp-staleness.test.mts +198 -0
  191. package/scripts/run-mobile-build.mjs +408 -86
  192. package/scripts/serve-real-local-agent.ts +72 -0
  193. package/scripts/stage-desktop-fused-lib.mjs +43 -14
  194. package/scripts/verify-ondevice-artifact.mjs +111 -0
  195. package/scripts/voice-attribution-smoke.ts +144 -38
  196. package/scripts/voice-duet.mjs +6 -6
  197. package/scripts/voice-e2e-hardware.ts +22 -16
  198. package/scripts/voice-interactive.mjs +16 -45
  199. package/security/agent-vault-id.d.ts +1 -1
  200. package/security/platform-secure-store-node.d.ts +1 -1
  201. package/services/ambient-audio/consent.d.ts +1 -1
  202. package/services/ambient-audio/index.d.ts +6 -6
  203. package/services/ambient-audio/replay-buffer.d.ts +1 -1
  204. package/services/ambient-audio/response-gate.d.ts +1 -1
  205. package/services/ambient-audio/service.d.ts +3 -3
  206. package/services/connector-target-catalog.d.ts +1 -1
  207. package/services/sensitive-requests/index.d.ts +6 -6
  208. package/services/steward-sidecar/wallet-setup.d.ts +1 -1
  209. package/services/steward-sidecar.d.ts +3 -3
  210. package/services/tunnel-to-mobile/index.d.ts +1 -1
  211. package/services/vault-bootstrap.d.ts.map +1 -1
  212. package/services/vault-bootstrap.js +14 -10
  213. package/services/voice-profiles/diarization-pipeline.d.ts +1 -1
  214. package/services/voice-profiles/index.d.ts +11 -11
  215. package/services/voice-profiles/owner-confidence.d.ts +1 -1
  216. package/services/voice-profiles/private-challenge.d.ts +1 -1
  217. package/services/voice-profiles/store.d.ts +1 -1
  218. package/test/helpers/live-provider.test.ts +91 -1
  219. package/test/helpers/live-provider.ts +195 -51
  220. package/test/scripts/websocket-pending-queue.test.ts +119 -0
  221. package/test-support/test-helpers.d.ts +0 -33
  222. package/test-support/test-helpers.d.ts.map +1 -1
  223. package/test-support/test-helpers.js +81 -189
  224. package/ui-compat.d.ts +1 -0
  225. package/ui-compat.d.ts.map +1 -1
  226. package/ui-compat.js +4 -0
  227. package/platforms/electrobun/docs/convergence-audit.json +0 -3505
  228. package/platforms/electrobun/docs/convergence-audit.md +0 -694
  229. package/platforms/electrobun/scripts/ensure-whisper-gguf.sh +0 -55
  230. package/platforms/electrobun/scripts/ensure-whisper-model.sh +0 -35
  231. package/platforms/electrobun/scripts/generate-convergence-audit.ts +0 -1203
  232. package/platforms/electrobun/src/native/whisper-env.test.ts +0 -71
  233. package/platforms/electrobun/src/native/whisper-env.ts +0 -68
  234. package/registry/app-registry.d.ts +0 -14
  235. package/registry/app-registry.d.ts.map +0 -1
  236. package/registry/app-registry.js +0 -29
  237. package/registry/entries/apps/app-polymarket.json +0 -31
  238. package/registry/entries/apps/clawville.json +0 -27
  239. package/registry/entries/apps/companion.json +0 -28
  240. package/registry/entries/apps/database-viewer.json +0 -27
  241. package/registry/entries/apps/defense-of-the-agents.json +0 -27
  242. package/registry/entries/apps/documents.json +0 -30
  243. package/registry/entries/apps/feed.json +0 -27
  244. package/registry/entries/apps/hyperliquid.json +0 -31
  245. package/registry/entries/apps/log-viewer.json +0 -27
  246. package/registry/entries/apps/memory-viewer.json +0 -27
  247. package/registry/entries/apps/model-tester.json +0 -31
  248. package/registry/entries/apps/plugin-viewer.json +0 -27
  249. package/registry/entries/apps/relationship-viewer.json +0 -27
  250. package/registry/entries/apps/runtime-debugger.json +0 -27
  251. package/registry/entries/apps/shopify.json +0 -31
  252. package/registry/entries/apps/skills-viewer.json +0 -27
  253. package/registry/entries/apps/steward.json +0 -31
  254. package/registry/entries/apps/training.json +0 -54
  255. package/registry/entries/apps/trajectory-viewer.json +0 -27
  256. package/registry/entries/apps/vincent.json +0 -31
  257. package/registry/entries/connectors/bluebubbles.json +0 -99
  258. package/registry/entries/connectors/bluesky.json +0 -173
  259. package/registry/entries/connectors/discord.json +0 -119
  260. package/registry/entries/connectors/farcaster.json +0 -174
  261. package/registry/entries/connectors/feishu.json +0 -79
  262. package/registry/entries/connectors/google-chat.json +0 -120
  263. package/registry/entries/connectors/google.json +0 -82
  264. package/registry/entries/connectors/imessage.json +0 -96
  265. package/registry/entries/connectors/instagram.json +0 -64
  266. package/registry/entries/connectors/line.json +0 -86
  267. package/registry/entries/connectors/matrix.json +0 -94
  268. package/registry/entries/connectors/mattermost.json +0 -110
  269. package/registry/entries/connectors/msteams.json +0 -104
  270. package/registry/entries/connectors/nextcloud-talk.json +0 -104
  271. package/registry/entries/connectors/nostr.json +0 -70
  272. package/registry/entries/connectors/signal.json +0 -81
  273. package/registry/entries/connectors/slack.json +0 -102
  274. package/registry/entries/connectors/telegram.json +0 -71
  275. package/registry/entries/connectors/tlon.json +0 -94
  276. package/registry/entries/connectors/twitch.json +0 -110
  277. package/registry/entries/connectors/whatsapp.json +0 -113
  278. package/registry/entries/connectors/x.json +0 -231
  279. package/registry/entries/connectors/zalo.json +0 -112
  280. package/registry/entries/connectors/zalouser.json +0 -122
  281. package/registry/entries/plugins/agent-orchestrator.json +0 -33
  282. package/registry/entries/plugins/agent-skills.json +0 -72
  283. package/registry/entries/plugins/anthropic.json +0 -73
  284. package/registry/entries/plugins/app-control.json +0 -23
  285. package/registry/entries/plugins/auto-trader.json +0 -203
  286. package/registry/entries/plugins/background-runner.json +0 -26
  287. package/registry/entries/plugins/blooio.json +0 -102
  288. package/registry/entries/plugins/browser.json +0 -75
  289. package/registry/entries/plugins/cli.json +0 -40
  290. package/registry/entries/plugins/clipboard.json +0 -44
  291. package/registry/entries/plugins/coding-tools.json +0 -71
  292. package/registry/entries/plugins/commands.json +0 -63
  293. package/registry/entries/plugins/computeruse.json +0 -74
  294. package/registry/entries/plugins/copilot-proxy.json +0 -93
  295. package/registry/entries/plugins/directives.json +0 -63
  296. package/registry/entries/plugins/edge-tts.json +0 -97
  297. package/registry/entries/plugins/elevenlabs.json +0 -169
  298. package/registry/entries/plugins/elizacloud.json +0 -208
  299. package/registry/entries/plugins/evm.json +0 -134
  300. package/registry/entries/plugins/experience.json +0 -34
  301. package/registry/entries/plugins/facewear.json +0 -131
  302. package/registry/entries/plugins/form.json +0 -26
  303. package/registry/entries/plugins/github.json +0 -93
  304. package/registry/entries/plugins/gmail-watch.json +0 -25
  305. package/registry/entries/plugins/goals.json +0 -77
  306. package/registry/entries/plugins/google-genai.json +0 -106
  307. package/registry/entries/plugins/groq.json +0 -93
  308. package/registry/entries/plugins/hedera.json +0 -48
  309. package/registry/entries/plugins/inmemorydb.json +0 -25
  310. package/registry/entries/plugins/linear.json +0 -51
  311. package/registry/entries/plugins/local-inference.json +0 -137
  312. package/registry/entries/plugins/local-storage.json +0 -36
  313. package/registry/entries/plugins/localdb.json +0 -25
  314. package/registry/entries/plugins/mcp.json +0 -44
  315. package/registry/entries/plugins/memory.json +0 -124
  316. package/registry/entries/plugins/minecraft.json +0 -79
  317. package/registry/entries/plugins/moltbook.json +0 -83
  318. package/registry/entries/plugins/music.json +0 -155
  319. package/registry/entries/plugins/mysticism.json +0 -48
  320. package/registry/entries/plugins/nearai.json +0 -82
  321. package/registry/entries/plugins/ngrok.json +0 -69
  322. package/registry/entries/plugins/ollama.json +0 -96
  323. package/registry/entries/plugins/openai.json +0 -189
  324. package/registry/entries/plugins/openrouter.json +0 -188
  325. package/registry/entries/plugins/pdf.json +0 -26
  326. package/registry/entries/plugins/plugin-manager.json +0 -23
  327. package/registry/entries/plugins/prose.json +0 -48
  328. package/registry/entries/plugins/rlm.json +0 -26
  329. package/registry/entries/plugins/roblox.json +0 -88
  330. package/registry/entries/plugins/rss.json +0 -64
  331. package/registry/entries/plugins/s3-storage.json +0 -91
  332. package/registry/entries/plugins/scheduling.json +0 -35
  333. package/registry/entries/plugins/shell.json +0 -94
  334. package/registry/entries/plugins/social-alpha.json +0 -72
  335. package/registry/entries/plugins/tailscale.json +0 -81
  336. package/registry/entries/plugins/tee.json +0 -53
  337. package/registry/entries/plugins/todos.json +0 -26
  338. package/registry/entries/plugins/trajectory-logger.json +0 -33
  339. package/registry/entries/plugins/trust.json +0 -39
  340. package/registry/entries/plugins/tts.json +0 -71
  341. package/registry/entries/plugins/tunnel.json +0 -45
  342. package/registry/entries/plugins/twilio.json +0 -168
  343. package/registry/entries/plugins/vercel-ai-gateway.json +0 -128
  344. package/registry/entries/plugins/video.json +0 -23
  345. package/registry/entries/plugins/vision.json +0 -43
  346. package/registry/entries/plugins/webhooks.json +0 -23
  347. package/registry/entries/plugins/workflow.json +0 -25
  348. package/registry/entries/plugins/xai.json +0 -75
  349. package/registry/loader.d.ts +0 -28
  350. package/registry/loader.d.ts.map +0 -1
  351. package/registry/loader.js +0 -158
  352. package/registry/schema.d.ts +0 -1199
  353. package/registry/schema.d.ts.map +0 -1
  354. package/registry/schema.js +0 -300
  355. package/scripts/patches/llama-mobile-kokoro-tts.patch +0 -480
  356. package/scripts/release-workflow-drift.test.ts +0 -57
  357. package/test/helpers/i18n.ts +0 -5
  358. package/test/helpers/loopback.ts +0 -33
  359. package/test/helpers/react-test.ts +0 -40
  360. package/test/helpers/skip-without.ts +0 -53
@@ -1,5 +1,7 @@
1
1
  /** Selects a live LLM provider for integration tests from env and local config. */
2
2
 
3
+ import { existsSync, readFileSync } from "node:fs";
4
+ import { homedir } from "node:os";
3
5
  import path from "node:path";
4
6
  import { test } from "vitest";
5
7
 
@@ -24,6 +26,87 @@ function getTrimmedEnv(name: string): string | null {
24
26
  return value ? value : null;
25
27
  }
26
28
 
29
+ const VAULT_REF_PREFIX = "vault://";
30
+
31
+ function isVaultRef(value: string): boolean {
32
+ return (
33
+ value.startsWith(VAULT_REF_PREFIX) && value.length > VAULT_REF_PREFIX.length
34
+ );
35
+ }
36
+
37
+ function resolveLiveProviderStateDir(): string {
38
+ const explicit = process.env.ELIZA_LIVE_PROVIDER_STATE_DIR?.trim();
39
+ if (explicit) return path.resolve(explicit);
40
+
41
+ const stateDir = process.env.ELIZA_STATE_DIR?.trim();
42
+ if (stateDir) return path.resolve(stateDir);
43
+
44
+ const namespace = process.env.ELIZA_NAMESPACE?.trim() || "eliza";
45
+ const xdgState = process.env.XDG_STATE_HOME?.trim();
46
+ return xdgState
47
+ ? path.join(xdgState, namespace)
48
+ : path.join(homedir(), ".local", "state", namespace);
49
+ }
50
+
51
+ function resolveLiveProviderConfigPath(): string {
52
+ const explicit = process.env.ELIZA_LIVE_PROVIDER_CONFIG_PATH?.trim();
53
+ return explicit
54
+ ? path.resolve(explicit)
55
+ : path.join(resolveLiveProviderStateDir(), "eliza.json");
56
+ }
57
+
58
+ function readLocalConfigEnvValue(envVar: string): {
59
+ value: string;
60
+ stateDir: string;
61
+ } | null {
62
+ const configPath = resolveLiveProviderConfigPath();
63
+ if (!existsSync(configPath)) return null;
64
+ try {
65
+ const config = JSON.parse(readFileSync(configPath, "utf8")) as {
66
+ env?: Record<string, unknown> & {
67
+ vars?: Record<string, unknown>;
68
+ };
69
+ };
70
+ const value = config.env?.vars?.[envVar] ?? config.env?.[envVar];
71
+ if (typeof value !== "string" || !value.trim()) return null;
72
+ return {
73
+ value: value.trim(),
74
+ stateDir: path.dirname(configPath),
75
+ };
76
+ } catch {
77
+ return null;
78
+ }
79
+ }
80
+
81
+ async function resolveMaybeVaultRef(
82
+ value: string,
83
+ opts: { stateDir?: string } = {},
84
+ ): Promise<string | null> {
85
+ if (!isVaultRef(value)) return value.trim() || null;
86
+
87
+ const vaultKey = value.slice(VAULT_REF_PREFIX.length);
88
+
89
+ let vault: {
90
+ get(key: string): Promise<string>;
91
+ close?: () => Promise<void>;
92
+ } | null = null;
93
+ try {
94
+ const { createVault } = await import("@elizaos/vault");
95
+ vault = createVault(opts.stateDir ? { workDir: opts.stateDir } : {}) as {
96
+ get(key: string): Promise<string>;
97
+ close?: () => Promise<void>;
98
+ };
99
+ const resolved = await vault.get(vaultKey);
100
+ return resolved.trim() || null;
101
+ } catch {
102
+ return null;
103
+ } finally {
104
+ if (vault?.close) {
105
+ await vault.close().catch(() => {});
106
+ }
107
+ }
108
+ }
109
+
27
110
  function providerKeyMatchesSelection(
28
111
  providerName: LiveProviderName,
29
112
  apiKey: string,
@@ -45,19 +128,11 @@ function providerKeyMatchesSelection(
45
128
  }
46
129
 
47
130
  function getLiveTestModelOverride(kind: "small" | "large"): string | null {
48
- const key =
131
+ return getTrimmedEnv(
49
132
  kind === "small"
50
- ? ["ELIZA_LIVE_TEST_SMALL_MODEL", "ELIZA_LIVE_TEST_SMALL_MODEL"]
51
- : ["ELIZA_LIVE_TEST_LARGE_MODEL", "ELIZA_LIVE_TEST_LARGE_MODEL"];
52
-
53
- for (const name of key) {
54
- const value = getTrimmedEnv(name);
55
- if (value) {
56
- return value;
57
- }
58
- }
59
-
60
- return null;
133
+ ? "ELIZA_LIVE_TEST_SMALL_MODEL"
134
+ : "ELIZA_LIVE_TEST_LARGE_MODEL",
135
+ );
61
136
  }
62
137
 
63
138
  function getLiveTestBaseUrlOverride(
@@ -98,7 +173,7 @@ export type LiveProviderConfig = {
98
173
  export function getFirstRunProviderForLiveProvider(
99
174
  provider: Pick<LiveProviderConfig, "name">,
100
175
  ): string {
101
- if (provider.name === "cerebras" || provider.name === "local-llama-cpp") {
176
+ if (provider.name === "local-llama-cpp") {
102
177
  return "openai";
103
178
  }
104
179
  if (provider.name === "google") {
@@ -117,6 +192,8 @@ export const LIVE_PROVIDER_ENV_KEYS = new Set<string>([
117
192
  "OPENAI_MEDIUM_MODEL",
118
193
  "OPENAI_ACTION_PLANNER_MODEL",
119
194
  "OPENAI_PLANNER_MODEL",
195
+ "CEREBRAS_BASE_URL",
196
+ "CEREBRAS_MODEL",
120
197
  "ELIZAOS_CLOUD_API_KEY",
121
198
  "ELIZA_CLOUD_API_KEY",
122
199
  "ELIZA_DISABLE_SUBSCRIPTION_CREDENTIALS",
@@ -149,7 +226,7 @@ const PROVIDERS: Array<{
149
226
  smallModelEnvVar: "OPENAI_SMALL_MODEL",
150
227
  largeModelEnvVar: "OPENAI_LARGE_MODEL",
151
228
  defaultSmallModel: "gpt-oss-120b",
152
- defaultLargeModel: "gpt-oss-120b",
229
+ defaultLargeModel: "zai-glm-4.7",
153
230
  },
154
231
  {
155
232
  name: "groq",
@@ -252,6 +329,81 @@ function providerKeyEnvCandidates(provider: {
252
329
  return [...provider.keyEnvVars, ...(provider.keyEnvVarAliases ?? [])];
253
330
  }
254
331
 
332
+ async function resolveProviderApiKey(def: {
333
+ name: LiveProviderName;
334
+ keyEnvVars: string[];
335
+ keyEnvVarAliases?: string[];
336
+ }): Promise<string> {
337
+ for (const envVar of providerKeyEnvCandidates(def)) {
338
+ const val = getTrimmedEnv(envVar);
339
+ if (!val) continue;
340
+ const resolved = await resolveMaybeVaultRef(val);
341
+ if (resolved && providerKeyMatchesSelection(def.name, resolved)) {
342
+ return resolved;
343
+ }
344
+ }
345
+
346
+ for (const envVar of def.keyEnvVars) {
347
+ const persisted = readLocalConfigEnvValue(envVar);
348
+ if (!persisted) continue;
349
+ const resolved = await resolveMaybeVaultRef(persisted.value, {
350
+ stateDir: persisted.stateDir,
351
+ });
352
+ if (resolved && providerKeyMatchesSelection(def.name, resolved)) {
353
+ return resolved;
354
+ }
355
+ }
356
+
357
+ return "";
358
+ }
359
+
360
+ function buildLiveProviderConfig(
361
+ def: (typeof PROVIDERS)[number],
362
+ apiKey: string,
363
+ ): LiveProviderConfig {
364
+ const baseUrl = getLiveTestBaseUrlOverride(def.name) ?? def.defaultBaseUrl;
365
+
366
+ const smallModel = getLiveTestModelOverride("small") ?? def.defaultSmallModel;
367
+ const largeModel = getLiveTestModelOverride("large") ?? def.defaultLargeModel;
368
+
369
+ const env: Record<string, string> = {};
370
+ // Propagate the discovered key under every canonical name so plugin code
371
+ // reading e.g. `GROQ_API_KEY` finds it even when the source env only had
372
+ // the scoped alias `ELIZA_E2E_GROQ_API_KEY`.
373
+ for (const envVar of def.keyEnvVars) {
374
+ env[envVar] = apiKey;
375
+ }
376
+ if (def.baseUrlEnvVar) {
377
+ env[def.baseUrlEnvVar] = baseUrl;
378
+ }
379
+ if (def.name === "cerebras") {
380
+ env.ELIZA_PROVIDER = "cerebras";
381
+ env.CEREBRAS_BASE_URL = baseUrl;
382
+ env.CEREBRAS_MODEL = largeModel;
383
+ env.OPENAI_API_KEY = apiKey;
384
+ env.OPENAI_MEDIUM_MODEL = largeModel;
385
+ env.OPENAI_ACTION_PLANNER_MODEL = largeModel;
386
+ env.OPENAI_PLANNER_MODEL = largeModel;
387
+ env.MEDIUM_MODEL = largeModel;
388
+ env.ACTION_PLANNER_MODEL = largeModel;
389
+ env.PLANNER_MODEL = largeModel;
390
+ }
391
+ env[def.smallModelEnvVar] = smallModel;
392
+ env[def.largeModelEnvVar] = largeModel;
393
+ env.SMALL_MODEL = smallModel;
394
+ env.LARGE_MODEL = largeModel;
395
+
396
+ return {
397
+ name: def.name,
398
+ apiKey,
399
+ baseUrl,
400
+ smallModel,
401
+ largeModel,
402
+ pluginPackage: def.plugin,
403
+ env,
404
+ };
405
+ }
406
+
255
407
  /**
256
408
  * Select the first available LLM provider based on environment variables.
257
409
  * Returns null if no provider API keys are found.
@@ -292,47 +444,39 @@ export function selectLiveProvider(
292
444
  }
293
445
  }
294
446
 
295
- const baseUrl = getLiveTestBaseUrlOverride(def.name) ?? def.defaultBaseUrl;
447
+ return buildLiveProviderConfig(def, apiKey);
448
+ }
296
449
 
297
- const smallModel =
298
- getLiveTestModelOverride("small") ?? def.defaultSmallModel;
299
- const largeModel =
300
- getLiveTestModelOverride("large") ?? def.defaultLargeModel;
450
+ return null;
451
+ }
301
452
 
302
- const env: Record<string, string> = {};
303
- // Propagate the discovered key under every canonical name so plugin code
304
- // reading e.g. `GROQ_API_KEY` finds it even when the source env only had
305
- // the scoped alias `ELIZA_E2E_GROQ_API_KEY`.
306
- for (const envVar of def.keyEnvVars) {
307
- env[envVar] = apiKey;
308
- }
309
- if (def.baseUrlEnvVar) {
310
- env[def.baseUrlEnvVar] = baseUrl;
311
- }
312
- if (def.name === "cerebras") {
313
- env.ELIZA_PROVIDER = "cerebras";
314
- env.OPENAI_API_KEY = apiKey;
315
- env.OPENAI_MEDIUM_MODEL = largeModel;
316
- env.OPENAI_ACTION_PLANNER_MODEL = largeModel;
317
- env.OPENAI_PLANNER_MODEL = largeModel;
318
- env.MEDIUM_MODEL = largeModel;
319
- env.ACTION_PLANNER_MODEL = largeModel;
320
- env.PLANNER_MODEL = largeModel;
453
+ /**
454
+ * Async selector for live harnesses that should also accept `vault://KEY`
455
+ * sentinels and keys persisted in the local Eliza config. The synchronous
456
+ * `selectLiveProvider()` intentionally remains env-only for older test code.
457
+ */
458
+ export async function selectLiveProviderAsync(
459
+ preferredProvider?: LiveProviderName,
460
+ ): Promise<LiveProviderConfig | null> {
461
+ const candidates = preferredProvider
462
+ ? PROVIDERS.filter((p) => p.name === preferredProvider)
463
+ : PROVIDERS;
464
+
465
+ for (const def of candidates) {
466
+ const apiKey = await resolveProviderApiKey(def);
467
+ if (!apiKey) continue;
468
+
469
+ if (def.name === "cerebras" && !preferredProvider) {
470
+ const explicitProvider = process.env.ELIZA_PROVIDER?.trim().toLowerCase();
471
+ const explicitBaseUrl = process.env.OPENAI_BASE_URL?.trim();
472
+ const baseUrlIsCerebras =
473
+ !!explicitBaseUrl && /cerebras\.ai(?:\/|$)/i.test(explicitBaseUrl);
474
+ if (explicitProvider !== "cerebras" && !baseUrlIsCerebras) {
475
+ continue;
476
+ }
321
477
  }
322
- env[def.smallModelEnvVar] = smallModel;
323
- env[def.largeModelEnvVar] = largeModel;
324
- env.SMALL_MODEL = smallModel;
325
- env.LARGE_MODEL = largeModel;
326
478
 
327
- return {
328
- name: def.name,
329
- apiKey,
330
- baseUrl,
331
- smallModel,
332
- largeModel,
333
- pluginPackage: def.plugin,
334
- env,
335
- };
479
+ return buildLiveProviderConfig(def, apiKey);
336
480
  }
337
481
 
338
482
  return null;
@@ -0,0 +1,119 @@
1
+ import { describe, expect, it } from "vitest";
2
+ import {
3
+ clearPendingWebSocketQueue,
4
+ createPendingWebSocketQueueState,
5
+ drainPendingWebSocketQueue,
6
+ enqueuePendingWebSocketMessage,
7
+ websocketSendDataByteLength,
8
+ } from "../../scripts/lib/websocket-pending-queue.ts";
9
+
10
+ describe("websocket pending queue", () => {
11
+ it("measures websocket send payload sizes", () => {
12
+ expect(websocketSendDataByteLength("hello")).toBe(5);
13
+ expect(websocketSendDataByteLength(Buffer.from("hello"))).toBe(5);
14
+ expect(websocketSendDataByteLength(new Uint8Array([1, 2, 3]))).toBe(3);
15
+ expect(
16
+ websocketSendDataByteLength([Buffer.from("hello"), Buffer.from("world")]),
17
+ ).toBe(10);
18
+ });
19
+
20
+ it("rejects count overflow without changing the queue", () => {
21
+ const queue = createPendingWebSocketQueueState<Buffer>();
22
+ const limits = { maxMessages: 2, maxMessageBytes: 100, maxBytes: 100 };
23
+
24
+ enqueuePendingWebSocketMessage(
25
+ queue,
26
+ { data: Buffer.from("one"), isBinary: true },
27
+ limits,
28
+ );
29
+ enqueuePendingWebSocketMessage(
30
+ queue,
31
+ { data: Buffer.from("two"), isBinary: true },
32
+ limits,
33
+ );
34
+ expect(
35
+ enqueuePendingWebSocketMessage(
36
+ queue,
37
+ { data: Buffer.from("three"), isBinary: true },
38
+ limits,
39
+ ),
40
+ ).toBe(false);
41
+
42
+ expect(queue.messages.map((message) => message.data.toString())).toEqual([
43
+ "one",
44
+ "two",
45
+ ]);
46
+ });
47
+
48
+ it("rejects byte-budget overflow without changing the queue", () => {
49
+ const queue = createPendingWebSocketQueueState<Buffer>();
50
+ const limits = { maxMessages: 10, maxMessageBytes: 10, maxBytes: 8 };
51
+
52
+ enqueuePendingWebSocketMessage(
53
+ queue,
54
+ { data: Buffer.from("aaaa"), isBinary: true },
55
+ limits,
56
+ );
57
+ enqueuePendingWebSocketMessage(
58
+ queue,
59
+ { data: Buffer.from("bbbb"), isBinary: true },
60
+ limits,
61
+ );
62
+ expect(
63
+ enqueuePendingWebSocketMessage(
64
+ queue,
65
+ { data: Buffer.from("cccc"), isBinary: true },
66
+ limits,
67
+ ),
68
+ ).toBe(false);
69
+
70
+ expect(queue.bytes).toBe(8);
71
+ expect(queue.messages.map((message) => message.data.toString())).toEqual([
72
+ "aaaa",
73
+ "bbbb",
74
+ ]);
75
+ });
76
+
77
+ it("rejects oversized single messages without changing the queue", () => {
78
+ const queue = createPendingWebSocketQueueState<Buffer>();
79
+ const limits = { maxMessages: 10, maxMessageBytes: 4, maxBytes: 20 };
80
+
81
+ enqueuePendingWebSocketMessage(
82
+ queue,
83
+ { data: Buffer.from("ok"), isBinary: true },
84
+ limits,
85
+ );
86
+ expect(
87
+ enqueuePendingWebSocketMessage(
88
+ queue,
89
+ { data: Buffer.from("too-large"), isBinary: true },
90
+ limits,
91
+ ),
92
+ ).toBe(false);
93
+
94
+ expect(queue.bytes).toBe(2);
95
+ expect(queue.messages.map((message) => message.data.toString())).toEqual([
96
+ "ok",
97
+ ]);
98
+ });
99
+
100
+ it("drains and clears byte accounting", () => {
101
+ const queue = createPendingWebSocketQueueState<Buffer>();
102
+ enqueuePendingWebSocketMessage(queue, {
103
+ data: Buffer.from("hello"),
104
+ isBinary: true,
105
+ });
106
+
107
+ expect(drainPendingWebSocketQueue(queue)).toHaveLength(1);
108
+ expect(queue.messages).toHaveLength(0);
109
+ expect(queue.bytes).toBe(0);
110
+
111
+ enqueuePendingWebSocketMessage(queue, {
112
+ data: Buffer.from("hello"),
113
+ isBinary: true,
114
+ });
115
+ clearPendingWebSocketQueue(queue);
116
+ expect(queue.messages).toHaveLength(0);
117
+ expect(queue.bytes).toBe(0);
118
+ });
119
+ });
@@ -31,45 +31,12 @@ export declare function extractPlugin(mod: PluginModuleShape): {
31
31
  export declare function isPackageImportResolvable(packageName: string): boolean;
32
32
  /** Check whether a dependency specifier should be treated as a workspace-local version. */
33
33
  export declare function isWorkspaceDependency(version: string | undefined): boolean;
34
- /**
35
- * Resolve the Discord plugin import specifier.
36
- * Prefers package resolution, then falls back to local plugin checkout paths.
37
- */
38
- export declare function resolveDiscordPluginImportSpecifier(): string | null;
39
- /**
40
- * Resolve the Telegram plugin import specifier.
41
- * Prefers package resolution, then falls back to node_modules ESM entry
42
- * (the telegram plugin is ESM-only so CJS require.resolve fails), then
43
- * falls back to local plugin checkout paths.
44
- */
45
34
  export declare function resolveTelegramPluginImportSpecifier(): string | null;
46
- /**
47
- * Resolve the Lens plugin import specifier.
48
- * Prefers package resolution, then falls back to local plugin checkout paths.
49
- * Uses both CJS require.resolve and a direct node_modules check for ESM-only packages.
50
- */
51
35
  export declare function resolveLensPluginImportSpecifier(): string | null;
52
- /**
53
- * Resolve the Farcaster plugin import specifier.
54
- * Prefers package resolution, then falls back to local plugin checkout paths.
55
- */
56
36
  export declare function resolveFarcasterPluginImportSpecifier(): string | null;
57
- /**
58
- * Resolve the Nostr plugin import specifier.
59
- * Prefers package resolution, then falls back to local plugin checkout paths.
60
- */
61
37
  export declare function resolveNostrPluginImportSpecifier(): string | null;
62
- /**
63
- * Resolve the Matrix plugin import specifier.
64
- * Prefers package resolution, then falls back to local plugin checkout paths.
65
- */
66
38
  export declare function resolveMatrixPluginImportSpecifier(): string | null;
67
- /**
68
- * Resolve the Feishu plugin import specifier.
69
- * Prefers package resolution, then falls back to local plugin checkout paths.
70
- */
71
39
  export declare function resolveFeishuPluginImportSpecifier(): string | null;
72
- export declare function resolveWechatPluginImportSpecifier(): string | null;
73
40
  /** Build a mock update check result with deterministic defaults. */
74
41
  export declare function buildMockUpdateCheckResult(overrides?: Partial<MockUpdateCheckResult>): MockUpdateCheckResult;
75
42
  /** Small utility to wait for asynchronous side-effects in tests. */
@@ -1 +1 @@
1
- {"version":3,"file":"test-helpers.d.ts","sourceRoot":"","sources":["../../../../../src/test-support/test-helpers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"test-helpers.d.ts","sourceRoot":"","sources":["../../../../../src/test-support/test-helpers.ts"],"names":[],"mappings":"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"}