@elizaos/plugin-elizacloud 2.0.0-alpha.8 → 2.0.11-beta.7
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/LICENSE +21 -0
- package/README.md +196 -0
- package/auto-enable.ts +22 -0
- package/dist/browser/index.browser.js +2 -21
- package/dist/browser/index.browser.js.map +5 -38
- package/dist/cjs/index.d.ts +2 -2
- package/dist/cjs/index.node.cjs +9112 -2265
- package/dist/cjs/index.node.js.map +68 -30
- package/dist/cloud/auth-service-types.d.ts +8 -0
- package/dist/cloud/auth-service-types.d.ts.map +1 -0
- package/dist/cloud/auth-service-types.js +36 -0
- package/dist/cloud/auth-service-types.js.map +10 -0
- package/dist/cloud/auth.d.ts +19 -0
- package/dist/cloud/auth.d.ts.map +1 -0
- package/dist/cloud/auth.js +283 -0
- package/dist/cloud/auth.js.map +12 -0
- package/dist/cloud/backup.d.ts +18 -0
- package/dist/cloud/backup.d.ts.map +1 -0
- package/dist/cloud/backup.js +63 -0
- package/dist/cloud/backup.js.map +10 -0
- package/dist/cloud/base-url.d.ts +7 -0
- package/dist/cloud/base-url.d.ts.map +1 -0
- package/dist/cloud/base-url.js +29 -0
- package/dist/cloud/base-url.js.map +10 -0
- package/dist/cloud/bridge-client.d.ts +126 -0
- package/dist/cloud/bridge-client.d.ts.map +1 -0
- package/dist/cloud/bridge-client.js +384 -0
- package/dist/cloud/bridge-client.js.map +11 -0
- package/dist/cloud/clack-observer.d.ts +35 -0
- package/dist/cloud/clack-observer.d.ts.map +1 -0
- package/dist/cloud/clack-observer.js +143 -0
- package/dist/cloud/clack-observer.js.map +10 -0
- package/dist/cloud/cloud-api-key.d.ts +26 -0
- package/dist/cloud/cloud-api-key.d.ts.map +1 -0
- package/dist/cloud/cloud-api-key.js +60 -0
- package/dist/cloud/cloud-api-key.js.map +10 -0
- package/dist/cloud/cloud-manager.d.ts +33 -0
- package/dist/cloud/cloud-manager.d.ts.map +1 -0
- package/dist/cloud/cloud-manager.js +806 -0
- package/dist/cloud/cloud-manager.js.map +16 -0
- package/dist/cloud/cloud-proxy.d.ts +20 -0
- package/dist/cloud/cloud-proxy.d.ts.map +1 -0
- package/dist/cloud/cloud-proxy.js +54 -0
- package/dist/cloud/cloud-proxy.js.map +10 -0
- package/dist/cloud/cloud-wallet.d.ts +94 -0
- package/dist/cloud/cloud-wallet.d.ts.map +1 -0
- package/dist/cloud/cloud-wallet.js +362 -0
- package/dist/cloud/cloud-wallet.js.map +13 -0
- package/dist/cloud/duffel-client.d.ts +181 -0
- package/dist/cloud/duffel-client.d.ts.map +1 -0
- package/dist/cloud/duffel-client.js +506 -0
- package/dist/cloud/duffel-client.js.map +11 -0
- package/dist/cloud/index.d.ts +15 -0
- package/dist/cloud/index.d.ts.map +1 -0
- package/dist/cloud/index.js +1811 -0
- package/dist/cloud/index.js.map +24 -0
- package/dist/cloud/lifeops-schedule-sync-client.d.ts +43 -0
- package/dist/cloud/lifeops-schedule-sync-client.d.ts.map +1 -0
- package/dist/cloud/lifeops-schedule-sync-client.js +180 -0
- package/dist/cloud/lifeops-schedule-sync-client.js.map +11 -0
- package/dist/cloud/lifeops-schedule-sync-contracts.d.ts +89 -0
- package/dist/cloud/lifeops-schedule-sync-contracts.d.ts.map +1 -0
- package/dist/cloud/lifeops-schedule-sync-contracts.js +39 -0
- package/dist/cloud/lifeops-schedule-sync-contracts.js.map +10 -0
- package/dist/cloud/managed-payment-clients.d.ts +166 -0
- package/dist/cloud/managed-payment-clients.d.ts.map +1 -0
- package/dist/cloud/managed-payment-clients.js +238 -0
- package/dist/cloud/managed-payment-clients.js.map +11 -0
- package/dist/cloud/null-observer.d.ts +35 -0
- package/dist/cloud/null-observer.d.ts.map +1 -0
- package/dist/cloud/null-observer.js +45 -0
- package/dist/cloud/null-observer.js.map +10 -0
- package/dist/cloud/reconnect.d.ts +26 -0
- package/dist/cloud/reconnect.d.ts.map +1 -0
- package/dist/cloud/reconnect.js +104 -0
- package/dist/cloud/reconnect.js.map +10 -0
- package/dist/cloud/setup-observer.d.ts +98 -0
- package/dist/cloud/setup-observer.d.ts.map +1 -0
- package/dist/cloud/setup-observer.js +2 -0
- package/dist/cloud/setup-observer.js.map +9 -0
- package/dist/cloud/validate-url.d.ts +2 -0
- package/dist/cloud/validate-url.d.ts.map +1 -0
- package/dist/cloud/validate-url.js +175 -0
- package/dist/cloud/validate-url.js.map +10 -0
- package/dist/cloud/x402-payment-handler.d.ts +85 -0
- package/dist/cloud/x402-payment-handler.d.ts.map +1 -0
- package/dist/cloud/x402-payment-handler.js +119 -0
- package/dist/cloud/x402-payment-handler.js.map +10 -0
- package/dist/cloud-providers/cloud-status.d.ts.map +1 -1
- package/dist/cloud-providers/cloud-status.js +78 -0
- package/dist/cloud-providers/cloud-status.js.map +10 -0
- package/dist/cloud-providers/container-health.d.ts.map +1 -1
- package/dist/cloud-providers/container-health.js +74 -0
- package/dist/cloud-providers/container-health.js.map +10 -0
- package/dist/cloud-providers/credit-balance.d.ts.map +1 -1
- package/dist/cloud-providers/credit-balance.js +85 -0
- package/dist/cloud-providers/credit-balance.js.map +10 -0
- package/dist/cloud-providers/index.d.ts.map +1 -1
- package/dist/cloud-providers/index.js +24 -0
- package/dist/cloud-providers/index.js.map +9 -0
- package/dist/cloud-providers/model-registry.d.ts.map +1 -1
- package/dist/cloud-providers/model-registry.js +71 -0
- package/dist/cloud-providers/model-registry.js.map +10 -0
- package/dist/cloud-setup.d.ts +36 -0
- package/dist/cloud-setup.d.ts.map +1 -0
- package/dist/cloud-setup.js +883 -0
- package/dist/cloud-setup.js.map +14 -0
- package/dist/cloud-voice-catalog.d.ts +65 -0
- package/dist/cloud-voice-catalog.d.ts.map +1 -0
- package/dist/cloud-voice-catalog.js +278 -0
- package/dist/cloud-voice-catalog.js.map +12 -0
- package/dist/index.browser.d.ts +15 -3
- package/dist/index.browser.d.ts.map +1 -1
- package/dist/index.d.ts +24 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +9862 -0
- package/dist/index.js.map +77 -0
- package/dist/index.node.d.ts +21 -2
- package/dist/index.node.d.ts.map +1 -1
- package/dist/init.d.ts.map +1 -1
- package/dist/init.js +182 -0
- package/dist/init.js.map +12 -0
- package/dist/lib/cloud-connection.d.ts +77 -0
- package/dist/lib/cloud-connection.d.ts.map +1 -0
- package/dist/lib/cloud-connection.js +654 -0
- package/dist/lib/cloud-connection.js.map +14 -0
- package/dist/lib/cloud-secrets.d.ts +10 -0
- package/dist/lib/cloud-secrets.d.ts.map +1 -0
- package/dist/lib/cloud-secrets.js +36 -0
- package/dist/lib/cloud-secrets.js.map +10 -0
- package/dist/lib/config-env.d.ts +5 -0
- package/dist/lib/config-env.d.ts.map +1 -0
- package/dist/lib/config-env.js +191 -0
- package/dist/lib/config-env.js.map +11 -0
- package/dist/lib/config-like.d.ts +40 -0
- package/dist/lib/config-like.d.ts.map +1 -0
- package/dist/lib/config-like.js +103 -0
- package/dist/lib/config-like.js.map +10 -0
- package/dist/lib/credential-type-map.d.ts +53 -0
- package/dist/lib/credential-type-map.d.ts.map +1 -0
- package/dist/lib/credential-type-map.js +88 -0
- package/dist/lib/credential-type-map.js.map +10 -0
- package/dist/lib/feature-flags.d.ts +2 -0
- package/dist/lib/feature-flags.d.ts.map +1 -0
- package/dist/lib/feature-flags.js +40 -0
- package/dist/lib/feature-flags.js.map +10 -0
- package/dist/lib/http.d.ts +11 -0
- package/dist/lib/http.d.ts.map +1 -0
- package/dist/lib/http.js +107 -0
- package/dist/lib/http.js.map +10 -0
- package/dist/lib/server-cloud-tts.d.ts +21 -0
- package/dist/lib/server-cloud-tts.d.ts.map +1 -0
- package/dist/lib/server-cloud-tts.js +251 -0
- package/dist/lib/server-cloud-tts.js.map +10 -0
- package/dist/lib/state-paths.d.ts +4 -0
- package/dist/lib/state-paths.d.ts.map +1 -0
- package/dist/lib/state-paths.js +52 -0
- package/dist/lib/state-paths.js.map +10 -0
- package/dist/lib/tts-debug.d.ts +6 -0
- package/dist/lib/tts-debug.d.ts.map +1 -0
- package/dist/lib/tts-debug.js +24 -0
- package/dist/lib/tts-debug.js.map +9 -0
- package/dist/models/embeddings.d.ts.map +1 -1
- package/dist/models/embeddings.js +329 -0
- package/dist/models/embeddings.js.map +13 -0
- package/dist/models/image.d.ts.map +1 -1
- package/dist/models/image.js +401 -0
- package/dist/models/image.js.map +14 -0
- package/dist/models/index.d.ts +1 -2
- package/dist/models/index.d.ts.map +1 -1
- package/dist/models/index.js +1896 -0
- package/dist/models/index.js.map +19 -0
- package/dist/models/research.d.ts.map +1 -1
- package/dist/models/research.js +341 -0
- package/dist/models/research.js.map +13 -0
- package/dist/models/speech.d.ts +61 -3
- package/dist/models/speech.d.ts.map +1 -1
- package/dist/models/speech.js +429 -0
- package/dist/models/speech.js.map +13 -0
- package/dist/models/text.d.ts +111 -3
- package/dist/models/text.d.ts.map +1 -1
- package/dist/models/text.js +1173 -0
- package/dist/models/text.js.map +14 -0
- package/dist/models/tokenization.d.ts.map +1 -1
- package/dist/models/tokenization.js +65 -0
- package/dist/models/tokenization.js.map +10 -0
- package/dist/models/transcription.d.ts.map +1 -1
- package/dist/models/transcription.js +297 -0
- package/dist/models/transcription.js.map +13 -0
- package/dist/node/index.d.ts +2 -2
- package/dist/node/index.node.js +9189 -2295
- package/dist/node/index.node.js.map +68 -30
- package/dist/plugin.d.ts +20 -0
- package/dist/plugin.d.ts.map +1 -0
- package/dist/plugin.js +2937 -0
- package/dist/plugin.js.map +28 -0
- package/dist/providers/openai.d.ts.map +1 -1
- package/dist/providers/openai.js +136 -0
- package/dist/providers/openai.js.map +11 -0
- package/dist/register-routes.d.ts +2 -0
- package/dist/register-routes.d.ts.map +1 -0
- package/dist/register-routes.js +2938 -0
- package/dist/register-routes.js.map +29 -0
- package/dist/routes/cloud-billing-routes.d.ts +9 -0
- package/dist/routes/cloud-billing-routes.d.ts.map +1 -0
- package/dist/routes/cloud-billing-routes.js +764 -0
- package/dist/routes/cloud-billing-routes.js.map +15 -0
- package/dist/routes/cloud-coding-container-routes.d.ts +8 -0
- package/dist/routes/cloud-coding-container-routes.d.ts.map +1 -0
- package/dist/routes/cloud-coding-container-routes.js +214 -0
- package/dist/routes/cloud-coding-container-routes.js.map +11 -0
- package/dist/routes/cloud-compat-routes.d.ts +10 -0
- package/dist/routes/cloud-compat-routes.d.ts.map +1 -0
- package/dist/routes/cloud-compat-routes.js +495 -0
- package/dist/routes/cloud-compat-routes.js.map +15 -0
- package/dist/routes/cloud-features-routes.d.ts +9 -0
- package/dist/routes/cloud-features-routes.d.ts.map +1 -0
- package/dist/routes/cloud-features-routes.js +124 -0
- package/dist/routes/cloud-features-routes.js.map +11 -0
- package/dist/routes/cloud-provisioning.d.ts +14 -0
- package/dist/routes/cloud-provisioning.d.ts.map +1 -0
- package/dist/routes/cloud-provisioning.js +37 -0
- package/dist/routes/cloud-provisioning.js.map +10 -0
- package/dist/routes/cloud-relay-routes.d.ts +23 -0
- package/dist/routes/cloud-relay-routes.d.ts.map +1 -0
- package/dist/routes/cloud-relay-routes.js +142 -0
- package/dist/routes/cloud-relay-routes.js.map +11 -0
- package/dist/routes/cloud-routes-autonomous.d.ts +82 -0
- package/dist/routes/cloud-routes-autonomous.d.ts.map +1 -0
- package/dist/routes/cloud-routes-autonomous.js +1252 -0
- package/dist/routes/cloud-routes-autonomous.js.map +18 -0
- package/dist/routes/cloud-routes.d.ts +35 -0
- package/dist/routes/cloud-routes.d.ts.map +1 -0
- package/dist/routes/cloud-routes.js +2173 -0
- package/dist/routes/cloud-routes.js.map +23 -0
- package/dist/routes/cloud-status-routes-autonomous.d.ts +14 -0
- package/dist/routes/cloud-status-routes-autonomous.d.ts.map +1 -0
- package/dist/routes/cloud-status-routes-autonomous.js +349 -0
- package/dist/routes/cloud-status-routes-autonomous.js.map +13 -0
- package/dist/routes/cloud-status-routes.d.ts +4 -0
- package/dist/routes/cloud-status-routes.d.ts.map +1 -0
- package/dist/routes/cloud-status-routes.js +695 -0
- package/dist/routes/cloud-status-routes.js.map +15 -0
- package/dist/routes/home-remote-runner-access-url.d.ts +16 -0
- package/dist/routes/home-remote-runner-access-url.d.ts.map +1 -0
- package/dist/routes/home-remote-runner-access-url.js +91 -0
- package/dist/routes/home-remote-runner-access-url.js.map +10 -0
- package/dist/routes/travel-provider-relay-routes.d.ts +9 -0
- package/dist/routes/travel-provider-relay-routes.d.ts.map +1 -0
- package/dist/routes/travel-provider-relay-routes.js +358 -0
- package/dist/routes/travel-provider-relay-routes.js.map +14 -0
- package/dist/services/cloud-auth.d.ts +140 -5
- package/dist/services/cloud-auth.d.ts.map +1 -1
- package/dist/services/cloud-auth.js +368 -0
- package/dist/services/cloud-auth.js.map +12 -0
- package/dist/services/cloud-backup.d.ts.map +1 -1
- package/dist/services/cloud-backup.js +176 -0
- package/dist/services/cloud-backup.js.map +11 -0
- package/dist/services/cloud-bootstrap.d.ts +38 -0
- package/dist/services/cloud-bootstrap.d.ts.map +1 -0
- package/dist/services/cloud-bootstrap.js +84 -0
- package/dist/services/cloud-bootstrap.js.map +10 -0
- package/dist/services/cloud-bridge.d.ts +1 -1
- package/dist/services/cloud-bridge.d.ts.map +1 -1
- package/dist/services/cloud-bridge.js +308 -0
- package/dist/services/cloud-bridge.js.map +11 -0
- package/dist/services/cloud-container.d.ts +5 -1
- package/dist/services/cloud-container.d.ts.map +1 -1
- package/dist/services/cloud-container.js +292 -0
- package/dist/services/cloud-container.js.map +11 -0
- package/dist/services/cloud-credential-provider.d.ts +55 -0
- package/dist/services/cloud-credential-provider.d.ts.map +1 -0
- package/dist/services/cloud-credential-provider.js +190 -0
- package/dist/services/cloud-credential-provider.js.map +11 -0
- package/dist/services/cloud-managed-gateway-relay.d.ts +38 -0
- package/dist/services/cloud-managed-gateway-relay.d.ts.map +1 -0
- package/dist/services/cloud-managed-gateway-relay.js +479 -0
- package/dist/services/cloud-managed-gateway-relay.js.map +10 -0
- package/dist/services/cloud-model-registry.d.ts.map +1 -1
- package/dist/services/cloud-model-registry.js +175 -0
- package/dist/services/cloud-model-registry.js.map +10 -0
- package/dist/services/index.d.ts +3 -1
- package/dist/services/index.d.ts.map +1 -1
- package/dist/services/index.js +29 -0
- package/dist/services/index.js.map +9 -0
- package/dist/types/cloud.d.ts +42 -19
- package/dist/types/cloud.d.ts.map +1 -1
- package/dist/types/cloud.js +52 -0
- package/dist/types/cloud.js.map +10 -0
- package/dist/types/index.d.ts +1 -1
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js +24 -0
- package/dist/types/index.js.map +9 -0
- package/dist/utils/cloud-api.d.ts +2 -27
- package/dist/utils/cloud-api.d.ts.map +1 -1
- package/dist/utils/cloud-api.js +33 -0
- package/dist/utils/cloud-api.js.map +10 -0
- package/dist/utils/cloud-sdk/client.d.ts +133 -0
- package/dist/utils/cloud-sdk/client.d.ts.map +1 -0
- package/dist/utils/cloud-sdk/client.js +3693 -0
- package/dist/utils/cloud-sdk/client.js.map +13 -0
- package/dist/utils/cloud-sdk/http.d.ts +37 -0
- package/dist/utils/cloud-sdk/http.d.ts.map +1 -0
- package/dist/utils/cloud-sdk/http.js +237 -0
- package/dist/utils/cloud-sdk/http.js.map +11 -0
- package/dist/utils/cloud-sdk/index.d.ts +6 -0
- package/dist/utils/cloud-sdk/index.d.ts.map +1 -0
- package/dist/utils/cloud-sdk/index.js +29 -0
- package/dist/utils/cloud-sdk/index.js.map +9 -0
- package/dist/utils/cloud-sdk/public-routes.d.ts +5563 -0
- package/dist/utils/cloud-sdk/public-routes.d.ts.map +1 -0
- package/dist/utils/cloud-sdk/public-routes.js +3048 -0
- package/dist/utils/cloud-sdk/public-routes.js.map +10 -0
- package/dist/utils/cloud-sdk/types.cloud-api.d.ts +101 -0
- package/dist/utils/cloud-sdk/types.cloud-api.d.ts.map +1 -0
- package/dist/utils/cloud-sdk/types.cloud-api.js +2 -0
- package/dist/utils/cloud-sdk/types.cloud-api.js.map +9 -0
- package/dist/utils/cloud-sdk/types.d.ts +653 -0
- package/dist/utils/cloud-sdk/types.d.ts.map +1 -0
- package/dist/utils/cloud-sdk/types.js +29 -0
- package/dist/utils/cloud-sdk/types.js.map +10 -0
- package/dist/utils/config.d.ts +16 -3
- package/dist/utils/config.d.ts.map +1 -1
- package/dist/utils/config.js +147 -0
- package/dist/utils/config.js.map +10 -0
- package/dist/utils/events.d.ts +23 -2
- package/dist/utils/events.d.ts.map +1 -1
- package/dist/utils/events.js +45 -0
- package/dist/utils/events.js.map +10 -0
- package/dist/utils/helpers.d.ts.map +1 -1
- package/dist/utils/helpers.js +103 -0
- package/dist/utils/helpers.js.map +10 -0
- package/dist/utils/responses-output.d.ts +13 -0
- package/dist/utils/responses-output.d.ts.map +1 -0
- package/dist/utils/responses-output.js +102 -0
- package/dist/utils/responses-output.js.map +10 -0
- package/dist/utils/sdk-client.d.ts +5 -0
- package/dist/utils/sdk-client.d.ts.map +1 -0
- package/dist/utils/sdk-client.js +157 -0
- package/dist/utils/sdk-client.js.map +11 -0
- package/dist/utils/waifu-metering.d.ts +108 -0
- package/dist/utils/waifu-metering.d.ts.map +1 -0
- package/dist/utils/waifu-metering.js +166 -0
- package/dist/utils/waifu-metering.js.map +10 -0
- package/package.json +139 -21
- package/src/cloud/auth-service-types.ts +24 -0
- package/src/cloud/auth.ts +175 -0
- package/src/cloud/backup.ts +46 -0
- package/src/cloud/base-url.ts +6 -0
- package/src/cloud/bridge-client.ts +602 -0
- package/src/cloud/clack-observer.ts +189 -0
- package/src/cloud/cloud-api-key.ts +80 -0
- package/src/cloud/cloud-manager.ts +163 -0
- package/src/cloud/cloud-proxy.ts +52 -0
- package/src/cloud/cloud-wallet.ts +341 -0
- package/src/cloud/duffel-client.ts +847 -0
- package/src/cloud/index.ts +38 -0
- package/src/cloud/lifeops-schedule-sync-client.ts +245 -0
- package/src/cloud/lifeops-schedule-sync-contracts.ts +124 -0
- package/src/cloud/managed-payment-clients.ts +374 -0
- package/src/cloud/null-observer.ts +45 -0
- package/src/cloud/reconnect.ts +111 -0
- package/src/cloud/setup-observer.ts +125 -0
- package/src/cloud/validate-url.ts +187 -0
- package/src/cloud/x402-payment-handler.ts +215 -0
- package/src/cloud-providers/cloud-status.ts +75 -0
- package/src/cloud-providers/container-health.ts +68 -0
- package/src/cloud-providers/credit-balance.ts +70 -0
- package/src/cloud-providers/index.ts +3 -0
- package/src/cloud-providers/model-registry.ts +74 -0
- package/src/cloud-setup.ts +531 -0
- package/src/cloud-voice-catalog.test.ts +254 -0
- package/src/cloud-voice-catalog.ts +246 -0
- package/src/index.browser.ts +39 -0
- package/src/index.node.ts +69 -0
- package/src/index.ts +419 -0
- package/src/init.ts +39 -0
- package/src/lib/cloud-connection.ts +661 -0
- package/src/lib/cloud-secrets.ts +14 -0
- package/src/lib/config-env.ts +168 -0
- package/src/lib/config-like.ts +149 -0
- package/src/lib/credential-type-map.ts +130 -0
- package/src/lib/feature-flags.ts +26 -0
- package/src/lib/http.ts +122 -0
- package/src/lib/server-cloud-tts.ts +301 -0
- package/src/lib/state-paths.ts +28 -0
- package/src/lib/tts-debug.ts +5 -0
- package/src/models/embeddings.ts +298 -0
- package/src/models/image.ts +234 -0
- package/src/models/index.ts +16 -0
- package/src/models/research.ts +275 -0
- package/src/models/speech.ts +324 -0
- package/src/models/text.ts +1493 -0
- package/src/models/tokenization.ts +67 -0
- package/src/models/transcription.ts +101 -0
- package/src/plugin.ts +281 -0
- package/src/providers/openai.ts +16 -0
- package/src/register-routes.ts +6 -0
- package/src/routes/cloud-billing-routes.ts +744 -0
- package/src/routes/cloud-coding-container-routes.ts +198 -0
- package/src/routes/cloud-compat-routes.ts +304 -0
- package/src/routes/cloud-features-routes.ts +57 -0
- package/src/routes/cloud-provisioning.ts +37 -0
- package/src/routes/cloud-relay-routes.ts +135 -0
- package/src/routes/cloud-routes-autonomous.ts +993 -0
- package/src/routes/cloud-routes.ts +637 -0
- package/src/routes/cloud-status-routes-autonomous.ts +238 -0
- package/src/routes/cloud-status-routes.ts +73 -0
- package/src/routes/home-remote-runner-access-url.ts +83 -0
- package/src/routes/travel-provider-relay-routes.ts +193 -0
- package/src/services/cloud-auth.ts +574 -0
- package/src/services/cloud-backup.ts +208 -0
- package/src/services/cloud-bootstrap.ts +106 -0
- package/src/services/cloud-bridge.ts +386 -0
- package/src/services/cloud-container.ts +390 -0
- package/src/services/cloud-credential-provider.ts +210 -0
- package/src/services/cloud-managed-gateway-relay.ts +663 -0
- package/src/services/cloud-model-registry.ts +202 -0
- package/src/services/index.ts +17 -0
- package/{types → src/types}/cloud.ts +74 -29
- package/{types → src/types}/index.ts +25 -0
- package/src/utils/cloud-api.ts +10 -0
- package/src/utils/cloud-sdk/client.ts +774 -0
- package/src/utils/cloud-sdk/http.ts +291 -0
- package/src/utils/cloud-sdk/index.ts +23 -0
- package/src/utils/cloud-sdk/public-routes.ts +5238 -0
- package/src/utils/cloud-sdk/types.cloud-api.ts +120 -0
- package/src/utils/cloud-sdk/types.ts +760 -0
- package/src/utils/config.ts +193 -0
- package/src/utils/events.ts +65 -0
- package/src/utils/helpers.ts +107 -0
- package/src/utils/responses-output.ts +115 -0
- package/src/utils/sdk-client.ts +41 -0
- package/src/utils/waifu-metering.ts +302 -0
- package/dist/actions/check-credits.d.ts +0 -6
- package/dist/actions/check-credits.d.ts.map +0 -1
- package/dist/actions/freeze-agent.d.ts +0 -9
- package/dist/actions/freeze-agent.d.ts.map +0 -1
- package/dist/actions/index.d.ts +0 -5
- package/dist/actions/index.d.ts.map +0 -1
- package/dist/actions/provision-agent.d.ts +0 -8
- package/dist/actions/provision-agent.d.ts.map +0 -1
- package/dist/actions/resume-agent.d.ts +0 -9
- package/dist/actions/resume-agent.d.ts.map +0 -1
- package/dist/build.d.ts +0 -3
- package/dist/build.d.ts.map +0 -1
- package/dist/generated/specs/specs.d.ts +0 -55
- package/dist/generated/specs/specs.d.ts.map +0 -1
- package/dist/models/object.d.ts +0 -4
- package/dist/models/object.d.ts.map +0 -1
- package/dist/utils/forwarded-settings.d.ts +0 -8
- package/dist/utils/forwarded-settings.d.ts.map +0 -1
|
@@ -0,0 +1,324 @@
|
|
|
1
|
+
import type { Readable } from "node:stream";
|
|
2
|
+
import type { AudioStreamResult, IAgentRuntime } from "@elizaos/core";
|
|
3
|
+
import { isCloudConnected, logger, toRuntimeSettings } from "@elizaos/core";
|
|
4
|
+
import type { OpenAITextToSpeechParams } from "../types";
|
|
5
|
+
import { getSetting, isBrowser, resolveCloudTimeoutMs } from "../utils/config";
|
|
6
|
+
import { webStreamToNodeStream } from "../utils/helpers";
|
|
7
|
+
import { createElizaCloudClient } from "../utils/sdk-client";
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* Narrow client interface the speech handler actually exercises. Lets tests
|
|
11
|
+
* substitute a fake without rebuilding the full SDK surface.
|
|
12
|
+
*/
|
|
13
|
+
export interface CloudTtsClient {
|
|
14
|
+
routes: {
|
|
15
|
+
postApiV1VoiceTts<T = unknown>(options: {
|
|
16
|
+
headers?: Record<string, unknown>;
|
|
17
|
+
json: { text: string; voiceId?: string; modelId?: string };
|
|
18
|
+
timeoutMs?: number;
|
|
19
|
+
}): Promise<T>;
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
type CloudTtsClientFactory = (runtime: IAgentRuntime) => CloudTtsClient;
|
|
24
|
+
|
|
25
|
+
let cloudTtsClientFactory: CloudTtsClientFactory = (runtime) =>
|
|
26
|
+
createElizaCloudClient(runtime) as unknown as CloudTtsClient;
|
|
27
|
+
|
|
28
|
+
/**
|
|
29
|
+
* Test seam: substitute the SDK client factory used by `handleTextToSpeech`.
|
|
30
|
+
* Pass `null` to reset to the real `createElizaCloudClient`. Production code
|
|
31
|
+
* should never call this.
|
|
32
|
+
*/
|
|
33
|
+
export function setCloudTtsClientFactoryForTesting(
|
|
34
|
+
factory: CloudTtsClientFactory | null,
|
|
35
|
+
): void {
|
|
36
|
+
if (factory === null) {
|
|
37
|
+
cloudTtsClientFactory = (runtime) =>
|
|
38
|
+
createElizaCloudClient(runtime) as unknown as CloudTtsClient;
|
|
39
|
+
} else {
|
|
40
|
+
cloudTtsClientFactory = factory;
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
/**
|
|
45
|
+
* Extended TTS params accepted by the cloud handler.
|
|
46
|
+
*
|
|
47
|
+
* The runtime canonical type (`TextToSpeechParams`) only carries `text`, but
|
|
48
|
+
* the cloud TTS upstream maps to ElevenLabs and therefore accepts arbitrary
|
|
49
|
+
* ElevenLabs `voiceId` + `modelId`. We accept those via either OpenAI-style
|
|
50
|
+
* (`voice`, `model`) or ElevenLabs-style (`voiceId`, `modelId`) fields and
|
|
51
|
+
* normalize them to the upstream shape.
|
|
52
|
+
*/
|
|
53
|
+
export interface CloudTextToSpeechParams extends OpenAITextToSpeechParams {
|
|
54
|
+
voiceId?: string;
|
|
55
|
+
modelId?: string;
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
/**
|
|
59
|
+
* Marker error used so the runtime can fall through to the next TTS handler
|
|
60
|
+
* (e.g. local omnivoice) when Eliza Cloud is not connected.
|
|
61
|
+
*/
|
|
62
|
+
export class CloudTtsUnavailableError extends Error {
|
|
63
|
+
constructor(message = "Eliza Cloud is not connected") {
|
|
64
|
+
super(message);
|
|
65
|
+
this.name = "CloudTtsUnavailableError";
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
function normalizeTextInput(
|
|
70
|
+
input: string | CloudTextToSpeechParams | OpenAITextToSpeechParams,
|
|
71
|
+
): CloudTextToSpeechParams {
|
|
72
|
+
if (typeof input === "string") return { text: input };
|
|
73
|
+
return input as CloudTextToSpeechParams;
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
/**
|
|
77
|
+
* Pull an ElevenLabs `modelId` out of (in order):
|
|
78
|
+
* 1. options.modelId — explicit ElevenLabs model id
|
|
79
|
+
* 2. options.model with `elevenlabs/` prefix or `eleven_*` shape
|
|
80
|
+
*
|
|
81
|
+
* Returns `undefined` when nothing usable was provided so the upstream
|
|
82
|
+
* can apply its own default (currently `eleven_flash_v2_5`).
|
|
83
|
+
*/
|
|
84
|
+
function resolveModelId(
|
|
85
|
+
options: CloudTextToSpeechParams,
|
|
86
|
+
): string | undefined {
|
|
87
|
+
if (options.modelId && options.modelId.trim()) {
|
|
88
|
+
return options.modelId.trim();
|
|
89
|
+
}
|
|
90
|
+
const model = options.model?.trim();
|
|
91
|
+
if (!model) return undefined;
|
|
92
|
+
if (model.startsWith("elevenlabs/")) {
|
|
93
|
+
return model.split("/").slice(1).join("/");
|
|
94
|
+
}
|
|
95
|
+
if (model.startsWith("eleven_")) {
|
|
96
|
+
return model;
|
|
97
|
+
}
|
|
98
|
+
return undefined;
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
/**
|
|
102
|
+
* Pull an ElevenLabs `voiceId` out of (in order):
|
|
103
|
+
* 1. options.voiceId — explicit ElevenLabs voice id (preferred)
|
|
104
|
+
* 2. options.voice — OpenAI-style voice name (rejected unless it looks
|
|
105
|
+
* like an ElevenLabs id, i.e. neither an OpenAI alias nor "nova")
|
|
106
|
+
*
|
|
107
|
+
* Returns `undefined` when nothing usable was provided so the upstream
|
|
108
|
+
* can apply its own default voice.
|
|
109
|
+
*/
|
|
110
|
+
function resolveVoiceId(
|
|
111
|
+
options: CloudTextToSpeechParams,
|
|
112
|
+
): string | undefined {
|
|
113
|
+
if (options.voiceId && options.voiceId.trim()) {
|
|
114
|
+
return options.voiceId.trim();
|
|
115
|
+
}
|
|
116
|
+
const voice = options.voice?.trim();
|
|
117
|
+
if (!voice) return undefined;
|
|
118
|
+
// "nova" is the OpenAI default — treat as unset so the upstream falls back
|
|
119
|
+
// to the cloud default voice instead of being forwarded as an opaque alias.
|
|
120
|
+
if (voice === "nova") return undefined;
|
|
121
|
+
return voice;
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
async function fetchTextToSpeech(
|
|
125
|
+
runtime: IAgentRuntime,
|
|
126
|
+
options: CloudTextToSpeechParams,
|
|
127
|
+
): Promise<ReadableStream<Uint8Array> | Readable> {
|
|
128
|
+
const format = options.format || "mp3";
|
|
129
|
+
const modelId = resolveModelId(options);
|
|
130
|
+
const voiceId = resolveVoiceId(options);
|
|
131
|
+
|
|
132
|
+
try {
|
|
133
|
+
const res = (await cloudTtsClientFactory(runtime).routes.postApiV1VoiceTts({
|
|
134
|
+
headers: {
|
|
135
|
+
...(format === "mp3" ? { Accept: "audio/mpeg" } : {}),
|
|
136
|
+
},
|
|
137
|
+
json: {
|
|
138
|
+
text: options.text,
|
|
139
|
+
...(voiceId ? { voiceId } : {}),
|
|
140
|
+
...(modelId ? { modelId } : {}),
|
|
141
|
+
},
|
|
142
|
+
timeoutMs: resolveCloudTimeoutMs("ELIZAOS_CLOUD_TTS_TIMEOUT_MS", 60_000),
|
|
143
|
+
})) as Response;
|
|
144
|
+
|
|
145
|
+
if (!res.ok) {
|
|
146
|
+
const err = await res.text();
|
|
147
|
+
throw new Error(`ElizaOS Cloud TTS error ${res.status}: ${err}`);
|
|
148
|
+
}
|
|
149
|
+
|
|
150
|
+
if (!res.body) {
|
|
151
|
+
throw new Error("ElizaOS Cloud TTS response body is null");
|
|
152
|
+
}
|
|
153
|
+
|
|
154
|
+
if (!isBrowser()) {
|
|
155
|
+
return await webStreamToNodeStream(res.body);
|
|
156
|
+
}
|
|
157
|
+
|
|
158
|
+
return res.body;
|
|
159
|
+
} catch (err) {
|
|
160
|
+
const message = err instanceof Error ? err.message : String(err);
|
|
161
|
+
throw new Error(`Failed to fetch speech from ElizaOS Cloud TTS: ${message}`);
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
|
|
165
|
+
function toUint8Array(chunk: unknown): Uint8Array {
|
|
166
|
+
if (chunk instanceof Uint8Array) return chunk;
|
|
167
|
+
if (chunk instanceof ArrayBuffer) return new Uint8Array(chunk);
|
|
168
|
+
if (typeof chunk === "string") return new TextEncoder().encode(chunk);
|
|
169
|
+
throw new TypeError(`Unexpected TTS chunk type: ${typeof chunk}`);
|
|
170
|
+
}
|
|
171
|
+
|
|
172
|
+
function concatChunks(chunks: Uint8Array[]): Uint8Array {
|
|
173
|
+
const total = chunks.reduce((sum, chunk) => sum + chunk.byteLength, 0);
|
|
174
|
+
const out = new Uint8Array(total);
|
|
175
|
+
let offset = 0;
|
|
176
|
+
for (const chunk of chunks) {
|
|
177
|
+
out.set(chunk, offset);
|
|
178
|
+
offset += chunk.byteLength;
|
|
179
|
+
}
|
|
180
|
+
return out;
|
|
181
|
+
}
|
|
182
|
+
|
|
183
|
+
async function webStreamToUint8Array(
|
|
184
|
+
stream: ReadableStream<Uint8Array>,
|
|
185
|
+
): Promise<Uint8Array> {
|
|
186
|
+
const reader = stream.getReader();
|
|
187
|
+
const chunks: Uint8Array[] = [];
|
|
188
|
+
try {
|
|
189
|
+
while (true) {
|
|
190
|
+
const result = await reader.read();
|
|
191
|
+
if (result.done) break;
|
|
192
|
+
chunks.push(toUint8Array(result.value));
|
|
193
|
+
}
|
|
194
|
+
} finally {
|
|
195
|
+
reader.releaseLock();
|
|
196
|
+
}
|
|
197
|
+
return concatChunks(chunks);
|
|
198
|
+
}
|
|
199
|
+
|
|
200
|
+
async function nodeStreamToUint8Array(stream: Readable): Promise<Uint8Array> {
|
|
201
|
+
const chunks: Uint8Array[] = [];
|
|
202
|
+
for await (const chunk of stream) {
|
|
203
|
+
chunks.push(toUint8Array(chunk));
|
|
204
|
+
}
|
|
205
|
+
return concatChunks(chunks);
|
|
206
|
+
}
|
|
207
|
+
|
|
208
|
+
function isReadableStream(
|
|
209
|
+
stream: ReadableStream<Uint8Array> | Readable,
|
|
210
|
+
): stream is ReadableStream<Uint8Array> {
|
|
211
|
+
return typeof (stream as { getReader?: unknown }).getReader === "function";
|
|
212
|
+
}
|
|
213
|
+
|
|
214
|
+
async function ttsStreamToBytes(
|
|
215
|
+
stream: ReadableStream<Uint8Array> | Readable,
|
|
216
|
+
): Promise<Uint8Array> {
|
|
217
|
+
if (isReadableStream(stream)) {
|
|
218
|
+
return webStreamToUint8Array(stream);
|
|
219
|
+
}
|
|
220
|
+
return nodeStreamToUint8Array(stream);
|
|
221
|
+
}
|
|
222
|
+
|
|
223
|
+
/**
|
|
224
|
+
* Wrap the upstream TTS byte stream as an {@link AudioStreamResult}: `audioStream`
|
|
225
|
+
* yields each chunk as it arrives (so playback can start on the first byte
|
|
226
|
+
* instead of draining the whole clip via {@link ttsStreamToBytes}), and `bytes`
|
|
227
|
+
* resolves to the full concatenated audio once the stream is consumed.
|
|
228
|
+
*/
|
|
229
|
+
function buildAudioStreamResult(
|
|
230
|
+
stream: ReadableStream<Uint8Array> | Readable,
|
|
231
|
+
mimeType: string,
|
|
232
|
+
): AudioStreamResult {
|
|
233
|
+
const collected: Uint8Array[] = [];
|
|
234
|
+
let resolveBytes!: (value: Uint8Array) => void;
|
|
235
|
+
let rejectBytes!: (reason: unknown) => void;
|
|
236
|
+
const bytes = new Promise<Uint8Array>((resolve, reject) => {
|
|
237
|
+
resolveBytes = resolve;
|
|
238
|
+
rejectBytes = reject;
|
|
239
|
+
});
|
|
240
|
+
async function* generate(): AsyncGenerator<Uint8Array> {
|
|
241
|
+
try {
|
|
242
|
+
if (isReadableStream(stream)) {
|
|
243
|
+
const reader = stream.getReader();
|
|
244
|
+
try {
|
|
245
|
+
for (;;) {
|
|
246
|
+
const { value, done } = await reader.read();
|
|
247
|
+
if (done) break;
|
|
248
|
+
const chunk = toUint8Array(value);
|
|
249
|
+
collected.push(chunk);
|
|
250
|
+
yield chunk;
|
|
251
|
+
}
|
|
252
|
+
} finally {
|
|
253
|
+
reader.releaseLock();
|
|
254
|
+
}
|
|
255
|
+
} else {
|
|
256
|
+
for await (const value of stream) {
|
|
257
|
+
const chunk = toUint8Array(value);
|
|
258
|
+
collected.push(chunk);
|
|
259
|
+
yield chunk;
|
|
260
|
+
}
|
|
261
|
+
}
|
|
262
|
+
resolveBytes(concatChunks(collected));
|
|
263
|
+
} catch (err) {
|
|
264
|
+
rejectBytes(err);
|
|
265
|
+
throw err;
|
|
266
|
+
}
|
|
267
|
+
}
|
|
268
|
+
return { audioStream: generate(), bytes, mimeType };
|
|
269
|
+
}
|
|
270
|
+
|
|
271
|
+
/**
|
|
272
|
+
* TEXT_TO_SPEECH handler for plugin-elizacloud.
|
|
273
|
+
*
|
|
274
|
+
* Behavior:
|
|
275
|
+
* - When Eliza Cloud is **not** connected, throws `CloudTtsUnavailableError`
|
|
276
|
+
* so the runtime's model-handler fallback chain can pick the next
|
|
277
|
+
* provider (e.g. local omnivoice, ElevenLabs direct, etc.).
|
|
278
|
+
* - When connected, forwards `text`, `voiceId`, and `modelId` to the
|
|
279
|
+
* upstream cloud TTS proxy and returns the audio stream.
|
|
280
|
+
*
|
|
281
|
+
* Accepts both OpenAI-style (`voice` / `model`) and ElevenLabs-style
|
|
282
|
+
* (`voiceId` / `modelId`) input fields. ElevenLabs-style wins when both are
|
|
283
|
+
* present.
|
|
284
|
+
*/
|
|
285
|
+
export async function handleTextToSpeech(
|
|
286
|
+
runtime: IAgentRuntime,
|
|
287
|
+
input: string | CloudTextToSpeechParams | OpenAITextToSpeechParams,
|
|
288
|
+
): Promise<Uint8Array | AudioStreamResult> {
|
|
289
|
+
if (!isCloudConnected(toRuntimeSettings(runtime))) {
|
|
290
|
+
throw new CloudTtsUnavailableError(
|
|
291
|
+
"Eliza Cloud is not connected — falling through to next TTS handler",
|
|
292
|
+
);
|
|
293
|
+
}
|
|
294
|
+
|
|
295
|
+
const options = normalizeTextInput(input);
|
|
296
|
+
// Explicit opt-in only (NOT the generic `stream` that useModel auto-injects
|
|
297
|
+
// from an ambient text-streaming turn) so byte-expecting callers like the
|
|
298
|
+
// GENERATE_MEDIA action keep getting a buffer.
|
|
299
|
+
const wantsStream =
|
|
300
|
+
typeof input === "object" &&
|
|
301
|
+
input !== null &&
|
|
302
|
+
(input as { audioStream?: boolean }).audioStream === true;
|
|
303
|
+
|
|
304
|
+
const resolvedModel =
|
|
305
|
+
options.modelId ||
|
|
306
|
+
options.model ||
|
|
307
|
+
(getSetting(runtime, "ELIZAOS_CLOUD_TTS_MODEL", "eleven_flash_v2_5") as string);
|
|
308
|
+
logger.log(`[ELIZAOS_CLOUD] Using TEXT_TO_SPEECH model: ${resolvedModel}`);
|
|
309
|
+
try {
|
|
310
|
+
const speechStream = await fetchTextToSpeech(runtime, options);
|
|
311
|
+
if (wantsStream) {
|
|
312
|
+
const format = options.format || "mp3";
|
|
313
|
+
const mimeType = format === "mp3" ? "audio/mpeg" : `audio/${format}`;
|
|
314
|
+
return buildAudioStreamResult(speechStream, mimeType);
|
|
315
|
+
}
|
|
316
|
+
return ttsStreamToBytes(speechStream);
|
|
317
|
+
} catch (error) {
|
|
318
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
319
|
+
logger.error(`Error in TEXT_TO_SPEECH: ${message}`);
|
|
320
|
+
throw error;
|
|
321
|
+
}
|
|
322
|
+
}
|
|
323
|
+
|
|
324
|
+
export { fetchTextToSpeech };
|