@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.
- package/agent-bridge.d.ts +5 -5
- package/api/auth/audit.d.ts +1 -1
- package/api/auth/auth-context.d.ts +1 -1
- package/api/auth/bootstrap-token.d.ts +1 -1
- package/api/auth/sessions.d.ts +1 -1
- package/api/auth-bootstrap-routes.d.ts +1 -1
- package/api/auth-pairing-routes.d.ts +1 -1
- package/api/auth-pairing-routes.d.ts.map +1 -1
- package/api/auth-pairing-routes.js +2 -3
- package/api/auth-session-routes.d.ts +2 -2
- package/api/auth.d.ts +1 -1
- package/api/automations-compat-routes.d.ts +1 -1
- package/api/background-tasks-routes.d.ts +1 -1
- package/api/catalog-routes.d.ts +1 -1
- package/api/cloud-voice-routes.d.ts +1 -1
- package/api/compat-route-shared.d.ts +12 -5
- package/api/compat-route-shared.d.ts.map +1 -1
- package/api/compat-route-shared.js +22 -187
- package/api/database-rows-compat-routes.d.ts +1 -1
- package/api/dev-compat-routes.d.ts +1 -1
- package/api/dev-route-catalog.d.ts.map +1 -1
- package/api/dev-route-catalog.js +20 -0
- package/api/drop-status-compat-route.d.ts +3 -0
- package/api/drop-status-compat-route.d.ts.map +1 -0
- package/api/drop-status-compat-route.js +12 -0
- package/api/first-run-routes.d.ts +1 -1
- package/api/internal-routes.d.ts +1 -1
- package/api/runtime-mode-routes.d.ts +1 -1
- package/api/secrets-manager-routes.d.ts.map +1 -1
- package/api/sensitive-request-routes.d.ts +2 -2
- package/api/server-config-filter.d.ts.map +1 -1
- package/api/server-config-filter.js +0 -1
- package/api/server-first-run-helpers.d.ts.map +1 -1
- package/api/server-first-run-helpers.js +0 -3
- package/api/server.d.ts +8 -8
- package/api/server.d.ts.map +1 -1
- package/api/server.js +13 -59
- package/api/training-benchmarks.d.ts +1 -1
- package/api/training-benchmarks.d.ts.map +1 -1
- package/api/training-benchmarks.js +31 -9
- package/api/workbench-compat-routes.d.ts +1 -1
- package/benchmark/server-utils.d.ts +2 -2
- package/browser.d.ts +4 -4
- package/cli/plugins-cli.d.ts.map +1 -1
- package/cli/plugins-cli.js +5 -0
- package/cli/program/register.auth.d.ts +27 -1
- package/cli/program/register.auth.d.ts.map +1 -1
- package/cli/program/register.auth.js +187 -0
- package/cli/program/register.dashboard.d.ts.map +1 -1
- package/cli/program/register.dashboard.js +11 -1
- package/cli/program.d.ts +1 -1
- package/first-run/first-run-config.d.ts +1 -1
- package/index.d.ts +46 -47
- package/index.d.ts.map +1 -1
- package/index.js +3 -7
- package/package.json +42 -36
- package/packaging/PUBLISHING_GUIDE.md +20 -20
- package/platform/elizaos-agent-browser-stub.d.ts +0 -1
- package/platform/elizaos-agent-browser-stub.d.ts.map +1 -1
- package/platform/elizaos-agent-browser-stub.js +0 -1
- package/platform/ios-runtime-bridge.d.ts.map +1 -1
- package/platform/ios-runtime-bridge.js +0 -1
- package/platform/native-plugin-entrypoints.d.ts +2 -2
- package/platforms/android/app/build.gradle +30 -7
- package/platforms/android/app/src/main/elizavoice-jni/elizavoice-jni.cpp +179 -35
- package/platforms/android/app/src/main/java/ai/elizaos/app/ElizaAgentService.java +60 -32
- package/platforms/android/app/src/main/java/ai/elizaos/app/ElizaBionicInferenceServer.java +405 -65
- package/platforms/android/app/src/main/java/ai/elizaos/app/ElizaVoiceNative.java +35 -0
- package/platforms/android/app/src/main/java/ai/elizaos/app/ElizaVoicePlugin.java +13 -6
- package/platforms/android/app/src/main/res/drawable/splash.png +0 -0
- package/platforms/android/app/src/main/res/drawable-land-hdpi/splash.png +0 -0
- package/platforms/android/app/src/main/res/drawable-land-mdpi/splash.png +0 -0
- package/platforms/android/app/src/main/res/drawable-land-xhdpi/splash.png +0 -0
- package/platforms/android/app/src/main/res/drawable-land-xxhdpi/splash.png +0 -0
- package/platforms/android/app/src/main/res/drawable-land-xxxhdpi/splash.png +0 -0
- package/platforms/android/app/src/main/res/drawable-port-hdpi/splash.png +0 -0
- package/platforms/android/app/src/main/res/drawable-port-mdpi/splash.png +0 -0
- package/platforms/android/app/src/main/res/drawable-port-xhdpi/splash.png +0 -0
- package/platforms/android/app/src/main/res/drawable-port-xxhdpi/splash.png +0 -0
- package/platforms/android/app/src/main/res/drawable-port-xxxhdpi/splash.png +0 -0
- package/platforms/android/app/src/main/res/mipmap-hdpi/ic_launcher.png +0 -0
- package/platforms/android/app/src/main/res/mipmap-hdpi/ic_launcher_foreground.png +0 -0
- package/platforms/android/app/src/main/res/mipmap-hdpi/ic_launcher_monochrome.png +0 -0
- package/platforms/android/app/src/main/res/mipmap-hdpi/ic_launcher_round.png +0 -0
- package/platforms/android/app/src/main/res/mipmap-mdpi/ic_launcher.png +0 -0
- package/platforms/android/app/src/main/res/mipmap-mdpi/ic_launcher_foreground.png +0 -0
- package/platforms/android/app/src/main/res/mipmap-mdpi/ic_launcher_monochrome.png +0 -0
- package/platforms/android/app/src/main/res/mipmap-mdpi/ic_launcher_round.png +0 -0
- package/platforms/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png +0 -0
- package/platforms/android/app/src/main/res/mipmap-xhdpi/ic_launcher_foreground.png +0 -0
- package/platforms/android/app/src/main/res/mipmap-xhdpi/ic_launcher_monochrome.png +0 -0
- package/platforms/android/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png +0 -0
- package/platforms/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png +0 -0
- package/platforms/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_foreground.png +0 -0
- package/platforms/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_monochrome.png +0 -0
- package/platforms/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png +0 -0
- package/platforms/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png +0 -0
- package/platforms/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground.png +0 -0
- package/platforms/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_monochrome.png +0 -0
- package/platforms/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png +0 -0
- package/platforms/android/app/src/main/res/values/colors.xml +5 -1
- package/platforms/android/app/src/main/res/values/ic_launcher_background.xml +1 -1
- package/platforms/android/app/src/main/res/values/styles.xml +4 -1
- package/platforms/electrobun/electrobun.config.ts +0 -1
- package/platforms/electrobun/native/macos/window-effects.mm +4 -0
- package/platforms/electrobun/package.json +11 -9
- package/platforms/electrobun/remotes/local-model/src/bun/eliza1-catalog.ts +1 -1
- package/platforms/electrobun/remotes/runtime/src/dev/phase2-smoke.ts +10 -5
- package/platforms/electrobun/remotes/runtime/src/dev/phase3-smoke.ts +11 -15
- package/platforms/electrobun/src/application-menu.ts +0 -7
- package/platforms/electrobun/src/desktop-http-request.test.ts +30 -1
- package/platforms/electrobun/src/desktop-http-request.ts +14 -2
- package/platforms/electrobun/src/desktop-test-bridge-server.ts +28 -0
- package/platforms/electrobun/src/fatal-shutdown.test.ts +3 -7
- package/platforms/electrobun/src/index.ts +64 -13
- package/platforms/electrobun/src/lifecycle/api-base-owner.test.ts +83 -0
- package/platforms/electrobun/src/lifecycle/api-base-owner.ts +37 -16
- package/platforms/electrobun/src/native/agent.ts +28 -17
- package/platforms/electrobun/src/native/credentials.ts +6 -1
- package/platforms/electrobun/src/native/desktop-window.test.ts +142 -26
- package/platforms/electrobun/src/native/desktop.ts +8 -4
- package/platforms/electrobun/src/native/index.ts +6 -0
- package/platforms/electrobun/src/native/remote-plugin-host.ts +18 -8
- package/platforms/electrobun/src/preload.js +1 -1
- package/platforms/electrobun/src/voice/voice-live-validation.test.ts +10 -5
- package/platforms/electrobun/src/voice/voice-runtime-adapter.ts +3 -2
- package/platforms/electrobun/src/voice/voice-service.test.ts +26 -0
- package/platforms/electrobun/src/voice/voice-service.ts +57 -17
- package/platforms/electrobun/tsconfig.json +17 -1
- package/platforms/ios/App/App/Base.lproj/LaunchScreen.storyboard +4 -6
- package/registry/index.d.ts +1 -6
- package/registry/index.d.ts.map +1 -1
- package/registry/index.js +9 -101
- package/runtime/android-avf-microdroid-bridge.d.ts +1 -1
- package/runtime/bundled-fused-lib.d.ts +36 -0
- package/runtime/bundled-fused-lib.d.ts.map +1 -0
- package/runtime/bundled-fused-lib.js +77 -0
- package/runtime/channel-plugin-map.d.ts +1 -5
- package/runtime/channel-plugin-map.d.ts.map +1 -1
- package/runtime/channel-plugin-map.js +11 -31
- package/runtime/desktop/index.d.ts +5 -5
- package/runtime/dev-server.js +11 -2
- package/runtime/eliza.d.ts.map +1 -1
- package/runtime/eliza.js +18 -8
- package/runtime/mode/route-mode-guard.d.ts +1 -1
- package/runtime/mode/route-mode-matrix.d.ts +1 -1
- package/runtime/voice-warmup.d.ts +4 -19
- package/runtime/voice-warmup.d.ts.map +1 -1
- package/runtime/voice-warmup.js +4 -14
- package/scripts/aosp/README.md +10 -1
- package/scripts/aosp/compile-libllama-paths.mjs +110 -0
- package/scripts/aosp/compile-libllama-zig-pin.test.mjs +147 -0
- package/scripts/aosp/compile-libllama.mjs +377 -81
- package/scripts/aosp/compile-libllama.test.mjs +133 -0
- package/scripts/aosp/compile-shim.mjs +21 -1
- package/scripts/aosp/deploy-pixel.mjs +1 -1
- package/scripts/aosp/stage-default-models.mjs +24 -31
- package/scripts/aosp/stage-default-models.test.mjs +23 -0
- package/scripts/assert-required-bundled-packages.test.ts +22 -1
- package/scripts/build-helpers/verify-fused-symbols.mjs +33 -0
- package/scripts/build-helpers/verify-fused-symbols.test.mjs +0 -0
- package/scripts/build-image.sh +1 -3
- package/scripts/build-llama-cpp-mtp.mjs +17 -16
- package/scripts/check-i18n.mjs +0 -1
- package/scripts/copy-runtime-node-modules.ts +147 -0
- package/scripts/desktop-build.mjs +317 -4
- package/scripts/docker-ci-smoke.sh +33 -8
- package/scripts/ensure-type-package-aliases.mjs +1 -1
- package/scripts/ios-xcframework/run-physical-device-smoke.mjs +1 -1
- package/scripts/lib/agent-source-watcher.mjs +0 -1
- package/scripts/lib/artifact-staleness.d.mts +33 -0
- package/scripts/lib/artifact-staleness.mjs +122 -0
- package/scripts/lib/artifact-staleness.test.mts +98 -0
- package/scripts/lib/duet-bridge.mjs +1 -1
- package/scripts/lib/ios-plist-url-scheme.mjs +80 -0
- package/scripts/lib/mobile-build-decisions.mjs +97 -0
- package/scripts/lib/renderer-build-manifest.d.mts +65 -0
- package/scripts/lib/renderer-build-manifest.mjs +257 -0
- package/scripts/lib/renderer-build-manifest.test.mts +277 -0
- package/scripts/lib/stage-android-agent.mjs +13 -4
- package/scripts/lib/verify-ondevice-artifact.d.mts +16 -0
- package/scripts/lib/verify-ondevice-artifact.mjs +61 -0
- package/scripts/lib/verify-ondevice-artifact.test.mts +98 -0
- package/scripts/lib/websocket-pending-queue.ts +92 -0
- package/scripts/link-docker-local-app-packages.mjs +6 -0
- package/scripts/playwright-ui-live-stack.ts +430 -144
- package/scripts/playwright-ui-smoke-api-stub.mjs +160 -168
- package/scripts/run-local-plugin-live-smoke.mjs +1 -6
- package/scripts/run-mobile-build-brand-separation.test.mts +33 -0
- package/scripts/run-mobile-build-ios-engine-gate.test.mjs +85 -0
- package/scripts/run-mobile-build-mtp-staleness.test.mts +198 -0
- package/scripts/run-mobile-build.mjs +408 -86
- package/scripts/serve-real-local-agent.ts +72 -0
- package/scripts/stage-desktop-fused-lib.mjs +43 -14
- package/scripts/verify-ondevice-artifact.mjs +111 -0
- package/scripts/voice-attribution-smoke.ts +144 -38
- package/scripts/voice-duet.mjs +6 -6
- package/scripts/voice-e2e-hardware.ts +22 -16
- package/scripts/voice-interactive.mjs +16 -45
- package/security/agent-vault-id.d.ts +1 -1
- package/security/platform-secure-store-node.d.ts +1 -1
- package/services/ambient-audio/consent.d.ts +1 -1
- package/services/ambient-audio/index.d.ts +6 -6
- package/services/ambient-audio/replay-buffer.d.ts +1 -1
- package/services/ambient-audio/response-gate.d.ts +1 -1
- package/services/ambient-audio/service.d.ts +3 -3
- package/services/connector-target-catalog.d.ts +1 -1
- package/services/sensitive-requests/index.d.ts +6 -6
- package/services/steward-sidecar/wallet-setup.d.ts +1 -1
- package/services/steward-sidecar.d.ts +3 -3
- package/services/tunnel-to-mobile/index.d.ts +1 -1
- package/services/vault-bootstrap.d.ts.map +1 -1
- package/services/vault-bootstrap.js +14 -10
- package/services/voice-profiles/diarization-pipeline.d.ts +1 -1
- package/services/voice-profiles/index.d.ts +11 -11
- package/services/voice-profiles/owner-confidence.d.ts +1 -1
- package/services/voice-profiles/private-challenge.d.ts +1 -1
- package/services/voice-profiles/store.d.ts +1 -1
- package/test/helpers/live-provider.test.ts +91 -1
- package/test/helpers/live-provider.ts +195 -51
- package/test/scripts/websocket-pending-queue.test.ts +119 -0
- package/test-support/test-helpers.d.ts +0 -33
- package/test-support/test-helpers.d.ts.map +1 -1
- package/test-support/test-helpers.js +81 -189
- package/ui-compat.d.ts +1 -0
- package/ui-compat.d.ts.map +1 -1
- package/ui-compat.js +4 -0
- package/platforms/electrobun/docs/convergence-audit.json +0 -3505
- package/platforms/electrobun/docs/convergence-audit.md +0 -694
- package/platforms/electrobun/scripts/ensure-whisper-gguf.sh +0 -55
- package/platforms/electrobun/scripts/ensure-whisper-model.sh +0 -35
- package/platforms/electrobun/scripts/generate-convergence-audit.ts +0 -1203
- package/platforms/electrobun/src/native/whisper-env.test.ts +0 -71
- package/platforms/electrobun/src/native/whisper-env.ts +0 -68
- package/registry/app-registry.d.ts +0 -14
- package/registry/app-registry.d.ts.map +0 -1
- package/registry/app-registry.js +0 -29
- package/registry/entries/apps/app-polymarket.json +0 -31
- package/registry/entries/apps/clawville.json +0 -27
- package/registry/entries/apps/companion.json +0 -28
- package/registry/entries/apps/database-viewer.json +0 -27
- package/registry/entries/apps/defense-of-the-agents.json +0 -27
- package/registry/entries/apps/documents.json +0 -30
- package/registry/entries/apps/feed.json +0 -27
- package/registry/entries/apps/hyperliquid.json +0 -31
- package/registry/entries/apps/log-viewer.json +0 -27
- package/registry/entries/apps/memory-viewer.json +0 -27
- package/registry/entries/apps/model-tester.json +0 -31
- package/registry/entries/apps/plugin-viewer.json +0 -27
- package/registry/entries/apps/relationship-viewer.json +0 -27
- package/registry/entries/apps/runtime-debugger.json +0 -27
- package/registry/entries/apps/shopify.json +0 -31
- package/registry/entries/apps/skills-viewer.json +0 -27
- package/registry/entries/apps/steward.json +0 -31
- package/registry/entries/apps/training.json +0 -54
- package/registry/entries/apps/trajectory-viewer.json +0 -27
- package/registry/entries/apps/vincent.json +0 -31
- package/registry/entries/connectors/bluebubbles.json +0 -99
- package/registry/entries/connectors/bluesky.json +0 -173
- package/registry/entries/connectors/discord.json +0 -119
- package/registry/entries/connectors/farcaster.json +0 -174
- package/registry/entries/connectors/feishu.json +0 -79
- package/registry/entries/connectors/google-chat.json +0 -120
- package/registry/entries/connectors/google.json +0 -82
- package/registry/entries/connectors/imessage.json +0 -96
- package/registry/entries/connectors/instagram.json +0 -64
- package/registry/entries/connectors/line.json +0 -86
- package/registry/entries/connectors/matrix.json +0 -94
- package/registry/entries/connectors/mattermost.json +0 -110
- package/registry/entries/connectors/msteams.json +0 -104
- package/registry/entries/connectors/nextcloud-talk.json +0 -104
- package/registry/entries/connectors/nostr.json +0 -70
- package/registry/entries/connectors/signal.json +0 -81
- package/registry/entries/connectors/slack.json +0 -102
- package/registry/entries/connectors/telegram.json +0 -71
- package/registry/entries/connectors/tlon.json +0 -94
- package/registry/entries/connectors/twitch.json +0 -110
- package/registry/entries/connectors/whatsapp.json +0 -113
- package/registry/entries/connectors/x.json +0 -231
- package/registry/entries/connectors/zalo.json +0 -112
- package/registry/entries/connectors/zalouser.json +0 -122
- package/registry/entries/plugins/agent-orchestrator.json +0 -33
- package/registry/entries/plugins/agent-skills.json +0 -72
- package/registry/entries/plugins/anthropic.json +0 -73
- package/registry/entries/plugins/app-control.json +0 -23
- package/registry/entries/plugins/auto-trader.json +0 -203
- package/registry/entries/plugins/background-runner.json +0 -26
- package/registry/entries/plugins/blooio.json +0 -102
- package/registry/entries/plugins/browser.json +0 -75
- package/registry/entries/plugins/cli.json +0 -40
- package/registry/entries/plugins/clipboard.json +0 -44
- package/registry/entries/plugins/coding-tools.json +0 -71
- package/registry/entries/plugins/commands.json +0 -63
- package/registry/entries/plugins/computeruse.json +0 -74
- package/registry/entries/plugins/copilot-proxy.json +0 -93
- package/registry/entries/plugins/directives.json +0 -63
- package/registry/entries/plugins/edge-tts.json +0 -97
- package/registry/entries/plugins/elevenlabs.json +0 -169
- package/registry/entries/plugins/elizacloud.json +0 -208
- package/registry/entries/plugins/evm.json +0 -134
- package/registry/entries/plugins/experience.json +0 -34
- package/registry/entries/plugins/facewear.json +0 -131
- package/registry/entries/plugins/form.json +0 -26
- package/registry/entries/plugins/github.json +0 -93
- package/registry/entries/plugins/gmail-watch.json +0 -25
- package/registry/entries/plugins/goals.json +0 -77
- package/registry/entries/plugins/google-genai.json +0 -106
- package/registry/entries/plugins/groq.json +0 -93
- package/registry/entries/plugins/hedera.json +0 -48
- package/registry/entries/plugins/inmemorydb.json +0 -25
- package/registry/entries/plugins/linear.json +0 -51
- package/registry/entries/plugins/local-inference.json +0 -137
- package/registry/entries/plugins/local-storage.json +0 -36
- package/registry/entries/plugins/localdb.json +0 -25
- package/registry/entries/plugins/mcp.json +0 -44
- package/registry/entries/plugins/memory.json +0 -124
- package/registry/entries/plugins/minecraft.json +0 -79
- package/registry/entries/plugins/moltbook.json +0 -83
- package/registry/entries/plugins/music.json +0 -155
- package/registry/entries/plugins/mysticism.json +0 -48
- package/registry/entries/plugins/nearai.json +0 -82
- package/registry/entries/plugins/ngrok.json +0 -69
- package/registry/entries/plugins/ollama.json +0 -96
- package/registry/entries/plugins/openai.json +0 -189
- package/registry/entries/plugins/openrouter.json +0 -188
- package/registry/entries/plugins/pdf.json +0 -26
- package/registry/entries/plugins/plugin-manager.json +0 -23
- package/registry/entries/plugins/prose.json +0 -48
- package/registry/entries/plugins/rlm.json +0 -26
- package/registry/entries/plugins/roblox.json +0 -88
- package/registry/entries/plugins/rss.json +0 -64
- package/registry/entries/plugins/s3-storage.json +0 -91
- package/registry/entries/plugins/scheduling.json +0 -35
- package/registry/entries/plugins/shell.json +0 -94
- package/registry/entries/plugins/social-alpha.json +0 -72
- package/registry/entries/plugins/tailscale.json +0 -81
- package/registry/entries/plugins/tee.json +0 -53
- package/registry/entries/plugins/todos.json +0 -26
- package/registry/entries/plugins/trajectory-logger.json +0 -33
- package/registry/entries/plugins/trust.json +0 -39
- package/registry/entries/plugins/tts.json +0 -71
- package/registry/entries/plugins/tunnel.json +0 -45
- package/registry/entries/plugins/twilio.json +0 -168
- package/registry/entries/plugins/vercel-ai-gateway.json +0 -128
- package/registry/entries/plugins/video.json +0 -23
- package/registry/entries/plugins/vision.json +0 -43
- package/registry/entries/plugins/webhooks.json +0 -23
- package/registry/entries/plugins/workflow.json +0 -25
- package/registry/entries/plugins/xai.json +0 -75
- package/registry/loader.d.ts +0 -28
- package/registry/loader.d.ts.map +0 -1
- package/registry/loader.js +0 -158
- package/registry/schema.d.ts +0 -1199
- package/registry/schema.d.ts.map +0 -1
- package/registry/schema.js +0 -300
- package/scripts/patches/llama-mobile-kokoro-tts.patch +0 -480
- package/scripts/release-workflow-drift.test.ts +0 -57
- package/test/helpers/i18n.ts +0 -5
- package/test/helpers/loopback.ts +0 -33
- package/test/helpers/react-test.ts +0 -40
- 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
|
-
|
|
131
|
+
return getTrimmedEnv(
|
|
49
132
|
kind === "small"
|
|
50
|
-
?
|
|
51
|
-
:
|
|
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 === "
|
|
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: "
|
|
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
|
-
|
|
447
|
+
return buildLiveProviderConfig(def, apiKey);
|
|
448
|
+
}
|
|
296
449
|
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
const largeModel =
|
|
300
|
-
getLiveTestModelOverride("large") ?? def.defaultLargeModel;
|
|
450
|
+
return null;
|
|
451
|
+
}
|
|
301
452
|
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
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":"AAEA,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAsBlC,0DAA0D;AAC1D,MAAM,MAAM,qBAAqB,GAAG;IAClC,eAAe,EAAE,OAAO,CAAC;IACzB,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,OAAO,CAAC;IAChB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CACtB,CAAC;AAEF,+EAA+E;AAC/E,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE;iBAGpC,IAAI;mBAOF,IAAI;EAWzB;AAED,MAAM,MAAM,iBAAiB,GAAG;IAC9B,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;IACvB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB,CAAC;AAEF,+EAA+E;AAC/E,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,CAMzE;AAED,uEAAuE;AACvE,wBAAgB,aAAa,CAAC,GAAG,EAAE,iBAAiB,GAAG;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAS7E;AAED,uEAAuE;AACvE,wBAAgB,yBAAyB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAQtE;AAED,2FAA2F;AAC3F,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAK1E;
|
|
1
|
+
{"version":3,"file":"test-helpers.d.ts","sourceRoot":"","sources":["../../../../../src/test-support/test-helpers.ts"],"names":[],"mappings":"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"}
|