@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,341 @@
|
|
|
1
|
+
import { createRequire } from "node:module";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __returnValue = (v) => v;
|
|
4
|
+
function __exportSetter(name, newValue) {
|
|
5
|
+
this[name] = __returnValue.bind(null, newValue);
|
|
6
|
+
}
|
|
7
|
+
var __export = (target, all) => {
|
|
8
|
+
for (var name in all)
|
|
9
|
+
__defProp(target, name, {
|
|
10
|
+
get: all[name],
|
|
11
|
+
enumerable: true,
|
|
12
|
+
configurable: true,
|
|
13
|
+
set: __exportSetter.bind(all, name)
|
|
14
|
+
});
|
|
15
|
+
};
|
|
16
|
+
var __esm = (fn, res) => () => (fn && (res = fn(fn = 0)), res);
|
|
17
|
+
var __require = /* @__PURE__ */ createRequire(import.meta.url);
|
|
18
|
+
|
|
19
|
+
// src/utils/config.ts
|
|
20
|
+
import { logger } from "@elizaos/core";
|
|
21
|
+
import { DEFAULT_ELIZA_CLOUD_TEXT_MODEL } from "@elizaos/core";
|
|
22
|
+
var DEFAULT_ELIZA_CLOUD_LARGE_MODEL = "zai-glm-4.7";
|
|
23
|
+
function getEnvValue(key) {
|
|
24
|
+
if (typeof process === "undefined") {
|
|
25
|
+
return;
|
|
26
|
+
}
|
|
27
|
+
const value = process.env[key];
|
|
28
|
+
return value === undefined ? undefined : String(value);
|
|
29
|
+
}
|
|
30
|
+
function getSetting(runtime, key, defaultValue) {
|
|
31
|
+
const value = runtime.getSetting(key);
|
|
32
|
+
if (value !== undefined && value !== null) {
|
|
33
|
+
return String(value);
|
|
34
|
+
}
|
|
35
|
+
return getEnvValue(key) ?? defaultValue;
|
|
36
|
+
}
|
|
37
|
+
function isBrowser() {
|
|
38
|
+
return typeof globalThis !== "undefined" && typeof globalThis.document !== "undefined";
|
|
39
|
+
}
|
|
40
|
+
function isProxyMode(runtime) {
|
|
41
|
+
return isBrowser() && !!getSetting(runtime, "ELIZAOS_CLOUD_BROWSER_BASE_URL");
|
|
42
|
+
}
|
|
43
|
+
function getBaseURL(runtime) {
|
|
44
|
+
const browserURL = getSetting(runtime, "ELIZAOS_CLOUD_BROWSER_BASE_URL");
|
|
45
|
+
const baseURL = isBrowser() && browserURL ? browserURL : getSetting(runtime, "ELIZAOS_CLOUD_BASE_URL", "https://www.elizacloud.ai/api/v1");
|
|
46
|
+
return baseURL;
|
|
47
|
+
}
|
|
48
|
+
function getEmbeddingBaseURL(runtime) {
|
|
49
|
+
const embeddingURL = isBrowser() ? getSetting(runtime, "ELIZAOS_CLOUD_BROWSER_EMBEDDING_URL") || getSetting(runtime, "ELIZAOS_CLOUD_BROWSER_BASE_URL") : getSetting(runtime, "ELIZAOS_CLOUD_EMBEDDING_URL");
|
|
50
|
+
if (embeddingURL) {
|
|
51
|
+
logger.debug(`[ELIZAOS_CLOUD] Using specific embedding base URL: ${embeddingURL}`);
|
|
52
|
+
return embeddingURL;
|
|
53
|
+
}
|
|
54
|
+
logger.debug("[ELIZAOS_CLOUD] Falling back to general base URL for embeddings.");
|
|
55
|
+
return getBaseURL(runtime);
|
|
56
|
+
}
|
|
57
|
+
function getApiKey(runtime) {
|
|
58
|
+
return getSetting(runtime, "ELIZAOS_CLOUD_API_KEY");
|
|
59
|
+
}
|
|
60
|
+
function getEmbeddingApiKey(runtime) {
|
|
61
|
+
const embeddingApiKey = getSetting(runtime, "ELIZAOS_CLOUD_EMBEDDING_API_KEY");
|
|
62
|
+
if (embeddingApiKey) {
|
|
63
|
+
logger.debug("[ELIZAOS_CLOUD] Using specific embedding API key (present)");
|
|
64
|
+
return embeddingApiKey;
|
|
65
|
+
}
|
|
66
|
+
logger.debug("[ELIZAOS_CLOUD] Falling back to general API key for embeddings.");
|
|
67
|
+
return getApiKey(runtime);
|
|
68
|
+
}
|
|
69
|
+
function getSmallModel(runtime) {
|
|
70
|
+
return getSetting(runtime, "ELIZAOS_CLOUD_SMALL_MODEL") ?? getSetting(runtime, "SMALL_MODEL", DEFAULT_ELIZA_CLOUD_TEXT_MODEL);
|
|
71
|
+
}
|
|
72
|
+
function getNanoModel(runtime) {
|
|
73
|
+
return getSetting(runtime, "ELIZAOS_CLOUD_NANO_MODEL") ?? getSetting(runtime, "NANO_MODEL") ?? getSmallModel(runtime);
|
|
74
|
+
}
|
|
75
|
+
function getMediumModel(runtime) {
|
|
76
|
+
return getSetting(runtime, "ELIZAOS_CLOUD_MEDIUM_MODEL") ?? getSetting(runtime, "MEDIUM_MODEL") ?? getSmallModel(runtime);
|
|
77
|
+
}
|
|
78
|
+
function getLargeModel(runtime) {
|
|
79
|
+
return getSetting(runtime, "ELIZAOS_CLOUD_LARGE_MODEL") ?? getSetting(runtime, "LARGE_MODEL", DEFAULT_ELIZA_CLOUD_LARGE_MODEL);
|
|
80
|
+
}
|
|
81
|
+
function getMegaModel(runtime) {
|
|
82
|
+
return getSetting(runtime, "ELIZAOS_CLOUD_MEGA_MODEL") ?? getSetting(runtime, "MEGA_MODEL") ?? getLargeModel(runtime);
|
|
83
|
+
}
|
|
84
|
+
function getResponseHandlerModel(runtime) {
|
|
85
|
+
return getSetting(runtime, "ELIZAOS_CLOUD_RESPONSE_HANDLER_MODEL") ?? getSetting(runtime, "ELIZAOS_CLOUD_SHOULD_RESPOND_MODEL") ?? getSetting(runtime, "RESPONSE_HANDLER_MODEL") ?? getSetting(runtime, "SHOULD_RESPOND_MODEL") ?? getSmallModel(runtime);
|
|
86
|
+
}
|
|
87
|
+
function getActionPlannerModel(runtime) {
|
|
88
|
+
return getSetting(runtime, "ELIZAOS_CLOUD_ACTION_PLANNER_MODEL") ?? getSetting(runtime, "ELIZAOS_CLOUD_PLANNER_MODEL") ?? getSetting(runtime, "ACTION_PLANNER_MODEL") ?? getSetting(runtime, "PLANNER_MODEL") ?? getLargeModel(runtime);
|
|
89
|
+
}
|
|
90
|
+
function getResponseModel(runtime) {
|
|
91
|
+
return getSetting(runtime, "ELIZAOS_CLOUD_RESPONSE_MODEL") ?? getSetting(runtime, "RESPONSE_MODEL") ?? getLargeModel(runtime);
|
|
92
|
+
}
|
|
93
|
+
function getImageDescriptionModel(runtime) {
|
|
94
|
+
return getSetting(runtime, "ELIZAOS_CLOUD_IMAGE_DESCRIPTION_MODEL", "gpt-5.4-mini");
|
|
95
|
+
}
|
|
96
|
+
function getImageGenerationModel(runtime) {
|
|
97
|
+
return getSetting(runtime, "ELIZAOS_CLOUD_IMAGE_GENERATION_MODEL", "google/gemini-2.5-flash-image") ?? "google/gemini-2.5-flash-image";
|
|
98
|
+
}
|
|
99
|
+
function getResearchModel(runtime) {
|
|
100
|
+
return getSetting(runtime, "ELIZAOS_CLOUD_RESEARCH_MODEL") ?? getSetting(runtime, "RESEARCH_MODEL", "o3-deep-research");
|
|
101
|
+
}
|
|
102
|
+
function getTTSModel(runtime) {
|
|
103
|
+
return getSetting(runtime, "ELIZAOS_CLOUD_TTS_MODEL", "gpt-5-mini-tts");
|
|
104
|
+
}
|
|
105
|
+
function getTranscriptionModel(runtime) {
|
|
106
|
+
return getSetting(runtime, "ELIZAOS_CLOUD_TRANSCRIPTION_MODEL", "gpt-5-mini-transcribe");
|
|
107
|
+
}
|
|
108
|
+
function getExperimentalTelemetry(runtime) {
|
|
109
|
+
const setting = getSetting(runtime, "ELIZAOS_CLOUD_EXPERIMENTAL_TELEMETRY", "false");
|
|
110
|
+
return String(setting).toLowerCase() === "true";
|
|
111
|
+
}
|
|
112
|
+
function resolveCloudTimeoutMs(envKey, defaultMs) {
|
|
113
|
+
const raw = typeof process !== "undefined" ? process.env[envKey] : undefined;
|
|
114
|
+
if (raw === undefined || raw.trim() === "")
|
|
115
|
+
return defaultMs;
|
|
116
|
+
const parsed = Number.parseInt(raw, 10);
|
|
117
|
+
if (!Number.isFinite(parsed))
|
|
118
|
+
return defaultMs;
|
|
119
|
+
return parsed <= 0 ? undefined : parsed;
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
// src/utils/sdk-client.ts
|
|
123
|
+
import { ElizaCloudClient } from "@elizaos/cloud-sdk";
|
|
124
|
+
function trimTrailingSlash(value) {
|
|
125
|
+
return value.replace(/\/+$/, "");
|
|
126
|
+
}
|
|
127
|
+
function apiBaseToSiteBaseUrl(apiBaseUrl) {
|
|
128
|
+
const trimmed = trimTrailingSlash(apiBaseUrl);
|
|
129
|
+
return trimmed.endsWith("/api/v1") ? trimmed.slice(0, -"/api/v1".length) : trimmed;
|
|
130
|
+
}
|
|
131
|
+
function apiKeyForRuntime(runtime, embedding = false) {
|
|
132
|
+
if (isBrowser())
|
|
133
|
+
return;
|
|
134
|
+
return embedding ? getEmbeddingApiKey(runtime) : getApiKey(runtime);
|
|
135
|
+
}
|
|
136
|
+
function createCloudApiClient(runtime, embedding = false) {
|
|
137
|
+
const baseUrl = embedding ? getEmbeddingBaseURL(runtime) : getBaseURL(runtime);
|
|
138
|
+
return new ElizaCloudClient({
|
|
139
|
+
apiBaseUrl: trimTrailingSlash(baseUrl),
|
|
140
|
+
baseUrl: apiBaseToSiteBaseUrl(baseUrl),
|
|
141
|
+
apiKey: apiKeyForRuntime(runtime, embedding)
|
|
142
|
+
}).v1;
|
|
143
|
+
}
|
|
144
|
+
function createElizaCloudClient(runtime) {
|
|
145
|
+
const apiBaseUrl = trimTrailingSlash(getBaseURL(runtime));
|
|
146
|
+
return new ElizaCloudClient({
|
|
147
|
+
apiBaseUrl,
|
|
148
|
+
baseUrl: apiBaseToSiteBaseUrl(apiBaseUrl),
|
|
149
|
+
apiKey: apiKeyForRuntime(runtime)
|
|
150
|
+
});
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
// src/utils/events.ts
|
|
154
|
+
import {
|
|
155
|
+
EventType
|
|
156
|
+
} from "@elizaos/core";
|
|
157
|
+
function emitModelUsageEvent(runtime, type, _prompt, usage, meta = {}) {
|
|
158
|
+
const inputTokens = Number(usage.inputTokens || 0);
|
|
159
|
+
const outputTokens = Number(usage.outputTokens || 0);
|
|
160
|
+
const totalTokens = Number(usage.totalTokens != null ? usage.totalTokens : inputTokens + outputTokens);
|
|
161
|
+
const payload = {
|
|
162
|
+
runtime,
|
|
163
|
+
source: "elizacloud",
|
|
164
|
+
type,
|
|
165
|
+
tokens: {
|
|
166
|
+
prompt: inputTokens,
|
|
167
|
+
completion: outputTokens,
|
|
168
|
+
total: totalTokens
|
|
169
|
+
},
|
|
170
|
+
...meta.modelName ? { modelName: meta.modelName } : {},
|
|
171
|
+
...typeof meta.costUsd === "number" && Number.isFinite(meta.costUsd) ? { costUsd: meta.costUsd } : {}
|
|
172
|
+
};
|
|
173
|
+
runtime.emitEvent(EventType.MODEL_USED, payload);
|
|
174
|
+
}
|
|
175
|
+
|
|
176
|
+
// src/models/research.ts
|
|
177
|
+
import { logger as logger2, ModelType } from "@elizaos/core";
|
|
178
|
+
var DEFAULT_RESEARCH_TIMEOUT_MS = 600000;
|
|
179
|
+
function normalizeInput(input) {
|
|
180
|
+
if (typeof input !== "string") {
|
|
181
|
+
return input;
|
|
182
|
+
}
|
|
183
|
+
return [
|
|
184
|
+
{
|
|
185
|
+
role: "user",
|
|
186
|
+
content: [
|
|
187
|
+
{
|
|
188
|
+
type: "input_text",
|
|
189
|
+
text: input
|
|
190
|
+
}
|
|
191
|
+
]
|
|
192
|
+
}
|
|
193
|
+
];
|
|
194
|
+
}
|
|
195
|
+
function buildResearchApiError(status, errorText) {
|
|
196
|
+
try {
|
|
197
|
+
const parsed = JSON.parse(errorText);
|
|
198
|
+
const message = parsed.error?.message;
|
|
199
|
+
const param = parsed.error?.param;
|
|
200
|
+
if (param === "tools.0.type" && message?.includes('expected "function"')) {
|
|
201
|
+
return new Error(`Research API error: ${status} Eliza Cloud /responses rejected deep-research tool types; the provider currently only accepts function tools on this route`);
|
|
202
|
+
}
|
|
203
|
+
} catch {}
|
|
204
|
+
return new Error(`Research API error: ${status} ${errorText}`);
|
|
205
|
+
}
|
|
206
|
+
function parseAnnotations(raw) {
|
|
207
|
+
return raw.filter((a) => a.url !== undefined).map((a) => ({
|
|
208
|
+
url: a.url,
|
|
209
|
+
title: a.title ?? "",
|
|
210
|
+
startIndex: a.start_index ?? 0,
|
|
211
|
+
endIndex: a.end_index ?? 0
|
|
212
|
+
}));
|
|
213
|
+
}
|
|
214
|
+
function parseOutputItems(raw) {
|
|
215
|
+
const items = [];
|
|
216
|
+
for (const item of raw) {
|
|
217
|
+
switch (item.type) {
|
|
218
|
+
case "web_search_call":
|
|
219
|
+
items.push({
|
|
220
|
+
id: item.id ?? "",
|
|
221
|
+
type: "web_search_call",
|
|
222
|
+
status: item.status ?? "completed",
|
|
223
|
+
action: {
|
|
224
|
+
type: item.action?.type ?? "search",
|
|
225
|
+
query: item.action?.query,
|
|
226
|
+
url: item.action?.url
|
|
227
|
+
}
|
|
228
|
+
});
|
|
229
|
+
break;
|
|
230
|
+
case "file_search_call":
|
|
231
|
+
items.push({
|
|
232
|
+
id: item.id ?? "",
|
|
233
|
+
type: "file_search_call",
|
|
234
|
+
status: item.status ?? "completed",
|
|
235
|
+
query: item.query ?? "",
|
|
236
|
+
results: item.results?.map((r) => ({
|
|
237
|
+
fileId: r.file_id,
|
|
238
|
+
fileName: r.file_name,
|
|
239
|
+
score: r.score
|
|
240
|
+
}))
|
|
241
|
+
});
|
|
242
|
+
break;
|
|
243
|
+
case "code_interpreter_call":
|
|
244
|
+
items.push({
|
|
245
|
+
id: item.id ?? "",
|
|
246
|
+
type: "code_interpreter_call",
|
|
247
|
+
status: item.status ?? "completed",
|
|
248
|
+
code: item.code ?? "",
|
|
249
|
+
output: item.output
|
|
250
|
+
});
|
|
251
|
+
break;
|
|
252
|
+
case "mcp_tool_call":
|
|
253
|
+
items.push({
|
|
254
|
+
id: item.id ?? "",
|
|
255
|
+
type: "mcp_tool_call",
|
|
256
|
+
status: item.status ?? "completed",
|
|
257
|
+
serverLabel: item.server_label ?? "",
|
|
258
|
+
toolName: item.tool_name ?? "",
|
|
259
|
+
arguments: item.arguments ?? {},
|
|
260
|
+
result: item.result
|
|
261
|
+
});
|
|
262
|
+
break;
|
|
263
|
+
case "message": {
|
|
264
|
+
const content = item.content ?? [];
|
|
265
|
+
items.push({
|
|
266
|
+
type: "message",
|
|
267
|
+
content: content.filter((c) => c.type === "output_text").map((c) => ({
|
|
268
|
+
type: "output_text",
|
|
269
|
+
text: c.text ?? "",
|
|
270
|
+
annotations: parseAnnotations(c.annotations ?? [])
|
|
271
|
+
}))
|
|
272
|
+
});
|
|
273
|
+
break;
|
|
274
|
+
}
|
|
275
|
+
}
|
|
276
|
+
}
|
|
277
|
+
return items;
|
|
278
|
+
}
|
|
279
|
+
async function handleResearch(runtime, params) {
|
|
280
|
+
const modelName = params.model ?? getResearchModel(runtime);
|
|
281
|
+
logger2.log(`[ELIZAOS_CLOUD] Using RESEARCH model: ${modelName}`);
|
|
282
|
+
const tools = params.tools ?? [{ type: "web_search_preview" }];
|
|
283
|
+
const requestBody = {
|
|
284
|
+
model: modelName,
|
|
285
|
+
input: normalizeInput(params.input),
|
|
286
|
+
tools
|
|
287
|
+
};
|
|
288
|
+
if (params.instructions) {
|
|
289
|
+
requestBody.instructions = params.instructions;
|
|
290
|
+
}
|
|
291
|
+
if (params.background !== undefined) {
|
|
292
|
+
requestBody.background = params.background;
|
|
293
|
+
}
|
|
294
|
+
if (params.maxToolCalls !== undefined) {
|
|
295
|
+
requestBody.max_tool_calls = params.maxToolCalls;
|
|
296
|
+
}
|
|
297
|
+
if (params.reasoningSummary) {
|
|
298
|
+
requestBody.reasoning = { summary: params.reasoningSummary };
|
|
299
|
+
}
|
|
300
|
+
const response = await createCloudApiClient(runtime).requestRaw("POST", "/responses", {
|
|
301
|
+
json: requestBody,
|
|
302
|
+
timeoutMs: resolveCloudTimeoutMs("ELIZAOS_CLOUD_RESEARCH_TIMEOUT_MS", DEFAULT_RESEARCH_TIMEOUT_MS)
|
|
303
|
+
});
|
|
304
|
+
if (!response.ok) {
|
|
305
|
+
const errorText = await response.text();
|
|
306
|
+
throw buildResearchApiError(response.status, errorText);
|
|
307
|
+
}
|
|
308
|
+
const data = await response.json();
|
|
309
|
+
if (data.usage) {
|
|
310
|
+
emitModelUsageEvent(runtime, ModelType.RESEARCH, params.input, {
|
|
311
|
+
inputTokens: data.usage.input_tokens,
|
|
312
|
+
outputTokens: data.usage.output_tokens,
|
|
313
|
+
totalTokens: data.usage.total_tokens
|
|
314
|
+
});
|
|
315
|
+
}
|
|
316
|
+
const outputItems = parseOutputItems(data.output);
|
|
317
|
+
let text = "";
|
|
318
|
+
const annotations = [];
|
|
319
|
+
for (const item of outputItems) {
|
|
320
|
+
if (item.type === "message") {
|
|
321
|
+
for (const content of item.content) {
|
|
322
|
+
if (content.type === "output_text") {
|
|
323
|
+
text += content.text;
|
|
324
|
+
annotations.push(...content.annotations);
|
|
325
|
+
}
|
|
326
|
+
}
|
|
327
|
+
}
|
|
328
|
+
}
|
|
329
|
+
return {
|
|
330
|
+
id: data.id,
|
|
331
|
+
text,
|
|
332
|
+
annotations,
|
|
333
|
+
outputItems,
|
|
334
|
+
status: data.status
|
|
335
|
+
};
|
|
336
|
+
}
|
|
337
|
+
export {
|
|
338
|
+
handleResearch
|
|
339
|
+
};
|
|
340
|
+
|
|
341
|
+
//# debugId=9CB55D8877604A1C64756E2164756E21
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../src/utils/config.ts", "../src/utils/sdk-client.ts", "../src/utils/events.ts", "../src/models/research.ts"],
|
|
4
|
+
"sourcesContent": [
|
|
5
|
+
"import type { IAgentRuntime } from \"@elizaos/core\";\nimport { logger } from \"@elizaos/core\";\nimport { DEFAULT_ELIZA_CLOUD_TEXT_MODEL } from \"@elizaos/core\";\n\nexport const DEFAULT_ELIZA_CLOUD_LARGE_MODEL = \"zai-glm-4.7\";\n\nfunction getEnvValue(key: string): string | undefined {\n if (typeof process === \"undefined\") {\n return undefined;\n }\n const value = process.env[key];\n return value === undefined ? undefined : String(value);\n}\n\nexport function getSetting(\n runtime: IAgentRuntime,\n key: string,\n defaultValue?: string\n): string | undefined {\n const value = runtime.getSetting(key);\n if (value !== undefined && value !== null) {\n return String(value);\n }\n return getEnvValue(key) ?? defaultValue;\n}\n\nexport function isBrowser(): boolean {\n return (\n typeof globalThis !== \"undefined\" &&\n typeof (globalThis as { document?: Document }).document !== \"undefined\"\n );\n}\n\nexport function isProxyMode(runtime: IAgentRuntime): boolean {\n return isBrowser() && !!getSetting(runtime, \"ELIZAOS_CLOUD_BROWSER_BASE_URL\");\n}\n\nexport function getBaseURL(runtime: IAgentRuntime): string {\n const browserURL = getSetting(runtime, \"ELIZAOS_CLOUD_BROWSER_BASE_URL\");\n const baseURL = (\n isBrowser() && browserURL\n ? browserURL\n : getSetting(runtime, \"ELIZAOS_CLOUD_BASE_URL\", \"https://www.elizacloud.ai/api/v1\")\n ) as string;\n return baseURL;\n}\n\nexport function getEmbeddingBaseURL(runtime: IAgentRuntime): string {\n const embeddingURL = isBrowser()\n ? getSetting(runtime, \"ELIZAOS_CLOUD_BROWSER_EMBEDDING_URL\") ||\n getSetting(runtime, \"ELIZAOS_CLOUD_BROWSER_BASE_URL\")\n : getSetting(runtime, \"ELIZAOS_CLOUD_EMBEDDING_URL\");\n if (embeddingURL) {\n logger.debug(`[ELIZAOS_CLOUD] Using specific embedding base URL: ${embeddingURL}`);\n return embeddingURL;\n }\n logger.debug(\"[ELIZAOS_CLOUD] Falling back to general base URL for embeddings.\");\n return getBaseURL(runtime);\n}\n\nexport function getApiKey(runtime: IAgentRuntime): string | undefined {\n return getSetting(runtime, \"ELIZAOS_CLOUD_API_KEY\");\n}\n\nexport function getEmbeddingApiKey(runtime: IAgentRuntime): string | undefined {\n const embeddingApiKey = getSetting(runtime, \"ELIZAOS_CLOUD_EMBEDDING_API_KEY\");\n if (embeddingApiKey) {\n logger.debug(\"[ELIZAOS_CLOUD] Using specific embedding API key (present)\");\n return embeddingApiKey;\n }\n logger.debug(\"[ELIZAOS_CLOUD] Falling back to general API key for embeddings.\");\n return getApiKey(runtime);\n}\n\nexport function getSmallModel(runtime: IAgentRuntime): string {\n return (\n getSetting(runtime, \"ELIZAOS_CLOUD_SMALL_MODEL\") ??\n (getSetting(runtime, \"SMALL_MODEL\", DEFAULT_ELIZA_CLOUD_TEXT_MODEL) as string)\n );\n}\n\nexport function getNanoModel(runtime: IAgentRuntime): string {\n return (\n getSetting(runtime, \"ELIZAOS_CLOUD_NANO_MODEL\") ??\n getSetting(runtime, \"NANO_MODEL\") ??\n getSmallModel(runtime)\n );\n}\n\nexport function getMediumModel(runtime: IAgentRuntime): string {\n return (\n getSetting(runtime, \"ELIZAOS_CLOUD_MEDIUM_MODEL\") ??\n getSetting(runtime, \"MEDIUM_MODEL\") ??\n getSmallModel(runtime)\n );\n}\n\nexport function getLargeModel(runtime: IAgentRuntime): string {\n return (\n getSetting(runtime, \"ELIZAOS_CLOUD_LARGE_MODEL\") ??\n (getSetting(runtime, \"LARGE_MODEL\", DEFAULT_ELIZA_CLOUD_LARGE_MODEL) as string)\n );\n}\n\nexport function getMegaModel(runtime: IAgentRuntime): string {\n return (\n getSetting(runtime, \"ELIZAOS_CLOUD_MEGA_MODEL\") ??\n getSetting(runtime, \"MEGA_MODEL\") ??\n getLargeModel(runtime)\n );\n}\n\nexport function getResponseHandlerModel(runtime: IAgentRuntime): string {\n return (\n getSetting(runtime, \"ELIZAOS_CLOUD_RESPONSE_HANDLER_MODEL\") ??\n getSetting(runtime, \"ELIZAOS_CLOUD_SHOULD_RESPOND_MODEL\") ??\n getSetting(runtime, \"RESPONSE_HANDLER_MODEL\") ??\n getSetting(runtime, \"SHOULD_RESPOND_MODEL\") ??\n getSmallModel(runtime)\n );\n}\n\nexport function getActionPlannerModel(runtime: IAgentRuntime): string {\n return (\n getSetting(runtime, \"ELIZAOS_CLOUD_ACTION_PLANNER_MODEL\") ??\n getSetting(runtime, \"ELIZAOS_CLOUD_PLANNER_MODEL\") ??\n getSetting(runtime, \"ACTION_PLANNER_MODEL\") ??\n getSetting(runtime, \"PLANNER_MODEL\") ??\n getLargeModel(runtime)\n );\n}\n\nexport function getResponseModel(runtime: IAgentRuntime): string {\n return (\n getSetting(runtime, \"ELIZAOS_CLOUD_RESPONSE_MODEL\") ??\n getSetting(runtime, \"RESPONSE_MODEL\") ??\n getLargeModel(runtime)\n );\n}\n\nexport function getImageDescriptionModel(runtime: IAgentRuntime): string {\n return getSetting(runtime, \"ELIZAOS_CLOUD_IMAGE_DESCRIPTION_MODEL\", \"gpt-5.4-mini\") as string;\n}\n\nexport function getImageGenerationModel(runtime: IAgentRuntime): string {\n return (\n getSetting(runtime, \"ELIZAOS_CLOUD_IMAGE_GENERATION_MODEL\", \"google/gemini-2.5-flash-image\") ??\n \"google/gemini-2.5-flash-image\"\n );\n}\n\nexport function getResearchModel(runtime: IAgentRuntime): string {\n return (\n getSetting(runtime, \"ELIZAOS_CLOUD_RESEARCH_MODEL\") ??\n (getSetting(runtime, \"RESEARCH_MODEL\", \"o3-deep-research\") as string)\n );\n}\n\nexport function getTTSModel(runtime: IAgentRuntime): string {\n return getSetting(runtime, \"ELIZAOS_CLOUD_TTS_MODEL\", \"gpt-5-mini-tts\") as string;\n}\n\nexport function getTranscriptionModel(runtime: IAgentRuntime): string {\n return getSetting(\n runtime,\n \"ELIZAOS_CLOUD_TRANSCRIPTION_MODEL\",\n \"gpt-5-mini-transcribe\"\n ) as string;\n}\n\nexport function getExperimentalTelemetry(runtime: IAgentRuntime): boolean {\n const setting = getSetting(runtime, \"ELIZAOS_CLOUD_EXPERIMENTAL_TELEMETRY\", \"false\");\n return String(setting).toLowerCase() === \"true\";\n}\n\n/**\n * Resolve a client-side timeout (ms) for a cloud model round-trip from `envKey`,\n * falling back to `defaultMs`. `0`/negative/non-numeric → undefined (opt out).\n *\n * cloud-sdk applies NO default timeout (a fetch with no signal hangs until the\n * platform default), so turn-blocking calls (TTS/STT in a voice turn, deep\n * research) need an explicit ceiling or a stalled gateway hangs the turn.\n */\nexport function resolveCloudTimeoutMs(\n envKey: string,\n defaultMs: number\n): number | undefined {\n const raw = typeof process !== \"undefined\" ? process.env[envKey] : undefined;\n if (raw === undefined || raw.trim() === \"\") return defaultMs;\n const parsed = Number.parseInt(raw, 10);\n if (!Number.isFinite(parsed)) return defaultMs;\n return parsed <= 0 ? undefined : parsed;\n}\n",
|
|
6
|
+
"import { CloudApiClient, ElizaCloudClient } from \"@elizaos/cloud-sdk\";\nimport type { IAgentRuntime } from \"@elizaos/core\";\nimport {\n getApiKey,\n getBaseURL,\n getEmbeddingApiKey,\n getEmbeddingBaseURL,\n isBrowser,\n} from \"./config\";\n\nfunction trimTrailingSlash(value: string): string {\n return value.replace(/\\/+$/, \"\");\n}\n\nfunction apiBaseToSiteBaseUrl(apiBaseUrl: string): string {\n const trimmed = trimTrailingSlash(apiBaseUrl);\n return trimmed.endsWith(\"/api/v1\") ? trimmed.slice(0, -\"/api/v1\".length) : trimmed;\n}\n\nfunction apiKeyForRuntime(runtime: IAgentRuntime, embedding = false): string | undefined {\n if (isBrowser()) return undefined;\n return embedding ? getEmbeddingApiKey(runtime) : getApiKey(runtime);\n}\n\nexport function createCloudApiClient(runtime: IAgentRuntime, embedding = false): CloudApiClient {\n const baseUrl = embedding ? getEmbeddingBaseURL(runtime) : getBaseURL(runtime);\n return new ElizaCloudClient({\n apiBaseUrl: trimTrailingSlash(baseUrl),\n baseUrl: apiBaseToSiteBaseUrl(baseUrl),\n apiKey: apiKeyForRuntime(runtime, embedding),\n }).v1;\n}\n\nexport function createElizaCloudClient(runtime: IAgentRuntime): ElizaCloudClient {\n const apiBaseUrl = trimTrailingSlash(getBaseURL(runtime));\n return new ElizaCloudClient({\n apiBaseUrl,\n baseUrl: apiBaseToSiteBaseUrl(apiBaseUrl),\n apiKey: apiKeyForRuntime(runtime),\n });\n}\n",
|
|
7
|
+
"import {\n EventType,\n type IAgentRuntime,\n type ModelEventPayload,\n type ModelTypeName,\n} from \"@elizaos/core\";\nimport type { LanguageModelUsage } from \"ai\";\n\n/**\n * Extra metadata that rides along with a {@link ModelEventPayload} so that\n * downstream consumers (e.g. the waifu metering bridge) can attribute spend\n * to a concrete model id and, when the cloud surfaces it, the authoritative\n * post-markup USD cost it just debited from the org's credit balance.\n *\n * These are additive fields layered onto the standard payload — the core\n * {@link ModelEventPayload} shape is unchanged for every other listener.\n */\nexport interface ModelUsageEventMeta {\n /** Resolved provider model id, e.g. \"anthropic/claude-opus-4.7\". */\n modelName?: string;\n /**\n * Authoritative USD cost the metered gateway charged for this call, when\n * available (e.g. from a `usage.cost_usd` field or `X-Eliza-Cost-Usd`\n * response header). Undefined when the cloud does not surface it; consumers\n * then fall back to a token-based estimate.\n */\n costUsd?: number;\n}\n\nexport type ModelUsageEventPayload = ModelEventPayload & ModelUsageEventMeta;\n\nexport function emitModelUsageEvent(\n runtime: IAgentRuntime,\n type: ModelTypeName,\n _prompt: string,\n usage: Partial<LanguageModelUsage> & {\n inputTokens?: number;\n outputTokens?: number;\n totalTokens?: number;\n },\n meta: ModelUsageEventMeta = {}\n) {\n const inputTokens = Number(usage.inputTokens || 0);\n const outputTokens = Number(usage.outputTokens || 0);\n const totalTokens = Number(\n usage.totalTokens != null ? usage.totalTokens : inputTokens + outputTokens\n );\n\n const payload: ModelUsageEventPayload = {\n runtime,\n source: \"elizacloud\",\n type,\n tokens: {\n prompt: inputTokens,\n completion: outputTokens,\n total: totalTokens,\n },\n ...(meta.modelName ? { modelName: meta.modelName } : {}),\n ...(typeof meta.costUsd === \"number\" && Number.isFinite(meta.costUsd)\n ? { costUsd: meta.costUsd }\n : {}),\n };\n\n runtime.emitEvent(EventType.MODEL_USED, payload);\n}\n",
|
|
8
|
+
"/** Research model handler — calls /responses for deep-research models. */\n\nimport type {\n IAgentRuntime,\n ResearchAnnotation,\n ResearchOutputItem,\n ResearchParams,\n ResearchResult,\n} from \"@elizaos/core\";\nimport { logger, ModelType } from \"@elizaos/core\";\nimport { getResearchModel, resolveCloudTimeoutMs } from \"../utils/config\";\nimport { emitModelUsageEvent } from \"../utils/events\";\nimport { createCloudApiClient } from \"../utils/sdk-client\";\n\n// Deep research is a long-running, TURN-BLOCKING call; without a timeout a\n// stalled gateway hangs the turn forever (cloud-sdk applies no default). The\n// default is deliberately generous (10 min) so a legitimately slow run isn't\n// aborted; `ELIZAOS_CLOUD_RESEARCH_TIMEOUT_MS=0` opts out.\nconst DEFAULT_RESEARCH_TIMEOUT_MS = 600_000;\n\ninterface ResponsesAPIOutput {\n id: string;\n status: string;\n output: Array<{\n type: string;\n id?: string;\n status?: string;\n content?: Array<{\n type: string;\n text?: string;\n annotations?: Array<{\n type: string;\n url?: string;\n title?: string;\n start_index?: number;\n end_index?: number;\n }>;\n }>;\n action?: {\n type: string;\n query?: string;\n url?: string;\n };\n query?: string;\n results?: Array<{\n file_id: string;\n file_name: string;\n score: number;\n }>;\n code?: string;\n output?: string;\n server_label?: string;\n tool_name?: string;\n arguments?: Record<string, unknown>;\n result?: unknown;\n }>;\n usage?: {\n input_tokens: number;\n output_tokens: number;\n total_tokens: number;\n };\n}\n\ntype ResponsesAPIInput =\n | string\n | Array<{\n role: \"user\" | \"system\" | \"assistant\";\n content: Array<{\n type: \"input_text\";\n text: string;\n }>;\n }>;\n\nfunction normalizeInput(input: ResearchParams[\"input\"]): ResponsesAPIInput {\n if (typeof input !== \"string\") {\n return input as ResponsesAPIInput;\n }\n\n return [\n {\n role: \"user\",\n content: [\n {\n type: \"input_text\",\n text: input,\n },\n ],\n },\n ];\n}\n\nfunction buildResearchApiError(status: number, errorText: string): Error {\n try {\n const parsed = JSON.parse(errorText) as {\n error?: { message?: string; param?: string; code?: string };\n };\n const message = parsed.error?.message;\n const param = parsed.error?.param;\n if (param === \"tools.0.type\" && message?.includes('expected \"function\"')) {\n return new Error(\n `Research API error: ${status} Eliza Cloud /responses rejected deep-research tool types; the provider currently only accepts function tools on this route`\n );\n }\n } catch {\n // Fall through to the raw error text.\n }\n\n return new Error(`Research API error: ${status} ${errorText}`);\n}\n\nfunction parseAnnotations(\n raw: Array<{\n type: string;\n url?: string;\n title?: string;\n start_index?: number;\n end_index?: number;\n }>\n): ResearchAnnotation[] {\n return raw\n .filter((a) => a.url !== undefined)\n .map((a) => ({\n url: a.url as string,\n title: a.title ?? \"\",\n startIndex: a.start_index ?? 0,\n endIndex: a.end_index ?? 0,\n }));\n}\n\nfunction parseOutputItems(raw: ResponsesAPIOutput[\"output\"]): ResearchOutputItem[] {\n const items: ResearchOutputItem[] = [];\n\n for (const item of raw) {\n switch (item.type) {\n case \"web_search_call\":\n items.push({\n id: item.id ?? \"\",\n type: \"web_search_call\",\n status: (item.status as \"completed\" | \"failed\") ?? \"completed\",\n action: {\n type: (item.action?.type as \"search\" | \"open_page\" | \"find_in_page\") ?? \"search\",\n query: item.action?.query,\n url: item.action?.url,\n },\n });\n break;\n case \"file_search_call\":\n items.push({\n id: item.id ?? \"\",\n type: \"file_search_call\",\n status: (item.status as \"completed\" | \"failed\") ?? \"completed\",\n query: item.query ?? \"\",\n results: item.results?.map((r) => ({\n fileId: r.file_id,\n fileName: r.file_name,\n score: r.score,\n })),\n });\n break;\n case \"code_interpreter_call\":\n items.push({\n id: item.id ?? \"\",\n type: \"code_interpreter_call\",\n status: (item.status as \"completed\" | \"failed\") ?? \"completed\",\n code: item.code ?? \"\",\n output: item.output,\n });\n break;\n case \"mcp_tool_call\":\n items.push({\n id: item.id ?? \"\",\n type: \"mcp_tool_call\",\n status: (item.status as \"completed\" | \"failed\") ?? \"completed\",\n serverLabel: item.server_label ?? \"\",\n toolName: item.tool_name ?? \"\",\n arguments: (item.arguments ?? {}) as Record<string, import(\"@elizaos/core\").JsonValue>,\n result: item.result as import(\"@elizaos/core\").JsonValue | undefined,\n });\n break;\n case \"message\": {\n const content = item.content ?? [];\n items.push({\n type: \"message\",\n content: content\n .filter((c) => c.type === \"output_text\")\n .map((c) => ({\n type: \"output_text\" as const,\n text: c.text ?? \"\",\n annotations: parseAnnotations(c.annotations ?? []),\n })),\n });\n break;\n }\n }\n }\n\n return items;\n}\n\nexport async function handleResearch(\n runtime: IAgentRuntime,\n params: ResearchParams\n): Promise<ResearchResult> {\n const modelName = params.model ?? getResearchModel(runtime);\n logger.log(`[ELIZAOS_CLOUD] Using RESEARCH model: ${modelName}`);\n\n const tools = params.tools ?? [{ type: \"web_search_preview\" }];\n\n const requestBody: Record<string, unknown> = {\n model: modelName,\n input: normalizeInput(params.input),\n tools: tools,\n };\n\n if (params.instructions) {\n requestBody.instructions = params.instructions;\n }\n if (params.background !== undefined) {\n requestBody.background = params.background;\n }\n if (params.maxToolCalls !== undefined) {\n requestBody.max_tool_calls = params.maxToolCalls;\n }\n if (params.reasoningSummary) {\n requestBody.reasoning = { summary: params.reasoningSummary };\n }\n\n const response = await createCloudApiClient(runtime).requestRaw(\"POST\", \"/responses\", {\n json: requestBody,\n timeoutMs: resolveCloudTimeoutMs(\n \"ELIZAOS_CLOUD_RESEARCH_TIMEOUT_MS\",\n DEFAULT_RESEARCH_TIMEOUT_MS\n ),\n });\n\n if (!response.ok) {\n const errorText = await response.text();\n throw buildResearchApiError(response.status, errorText);\n }\n\n const data = (await response.json()) as ResponsesAPIOutput;\n\n if (data.usage) {\n emitModelUsageEvent(runtime, ModelType.RESEARCH, params.input, {\n inputTokens: data.usage.input_tokens,\n outputTokens: data.usage.output_tokens,\n totalTokens: data.usage.total_tokens,\n });\n }\n\n const outputItems = parseOutputItems(data.output);\n\n // Extract final text and annotations from the last message output\n let text = \"\";\n const annotations: ResearchAnnotation[] = [];\n\n for (const item of outputItems) {\n if (item.type === \"message\") {\n for (const content of item.content) {\n if (content.type === \"output_text\") {\n text += content.text;\n annotations.push(...content.annotations);\n }\n }\n }\n }\n\n return {\n id: data.id,\n text,\n annotations,\n outputItems,\n status: data.status as ResearchResult[\"status\"],\n };\n}\n"
|
|
9
|
+
],
|
|
10
|
+
"mappings": "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",
|
|
11
|
+
"debugId": "9CB55D8877604A1C64756E2164756E21",
|
|
12
|
+
"names": []
|
|
13
|
+
}
|
package/dist/models/speech.d.ts
CHANGED
|
@@ -1,7 +1,65 @@
|
|
|
1
1
|
import type { Readable } from "node:stream";
|
|
2
|
-
import type { IAgentRuntime } from "@elizaos/core";
|
|
2
|
+
import type { AudioStreamResult, IAgentRuntime } from "@elizaos/core";
|
|
3
3
|
import type { OpenAITextToSpeechParams } from "../types";
|
|
4
|
-
|
|
5
|
-
|
|
4
|
+
/**
|
|
5
|
+
* Narrow client interface the speech handler actually exercises. Lets tests
|
|
6
|
+
* substitute a fake without rebuilding the full SDK surface.
|
|
7
|
+
*/
|
|
8
|
+
export interface CloudTtsClient {
|
|
9
|
+
routes: {
|
|
10
|
+
postApiV1VoiceTts<T = unknown>(options: {
|
|
11
|
+
headers?: Record<string, unknown>;
|
|
12
|
+
json: {
|
|
13
|
+
text: string;
|
|
14
|
+
voiceId?: string;
|
|
15
|
+
modelId?: string;
|
|
16
|
+
};
|
|
17
|
+
timeoutMs?: number;
|
|
18
|
+
}): Promise<T>;
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
type CloudTtsClientFactory = (runtime: IAgentRuntime) => CloudTtsClient;
|
|
22
|
+
/**
|
|
23
|
+
* Test seam: substitute the SDK client factory used by `handleTextToSpeech`.
|
|
24
|
+
* Pass `null` to reset to the real `createElizaCloudClient`. Production code
|
|
25
|
+
* should never call this.
|
|
26
|
+
*/
|
|
27
|
+
export declare function setCloudTtsClientFactoryForTesting(factory: CloudTtsClientFactory | null): void;
|
|
28
|
+
/**
|
|
29
|
+
* Extended TTS params accepted by the cloud handler.
|
|
30
|
+
*
|
|
31
|
+
* The runtime canonical type (`TextToSpeechParams`) only carries `text`, but
|
|
32
|
+
* the cloud TTS upstream maps to ElevenLabs and therefore accepts arbitrary
|
|
33
|
+
* ElevenLabs `voiceId` + `modelId`. We accept those via either OpenAI-style
|
|
34
|
+
* (`voice`, `model`) or ElevenLabs-style (`voiceId`, `modelId`) fields and
|
|
35
|
+
* normalize them to the upstream shape.
|
|
36
|
+
*/
|
|
37
|
+
export interface CloudTextToSpeechParams extends OpenAITextToSpeechParams {
|
|
38
|
+
voiceId?: string;
|
|
39
|
+
modelId?: string;
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Marker error used so the runtime can fall through to the next TTS handler
|
|
43
|
+
* (e.g. local omnivoice) when Eliza Cloud is not connected.
|
|
44
|
+
*/
|
|
45
|
+
export declare class CloudTtsUnavailableError extends Error {
|
|
46
|
+
constructor(message?: string);
|
|
47
|
+
}
|
|
48
|
+
declare function fetchTextToSpeech(runtime: IAgentRuntime, options: CloudTextToSpeechParams): Promise<ReadableStream<Uint8Array> | Readable>;
|
|
49
|
+
/**
|
|
50
|
+
* TEXT_TO_SPEECH handler for plugin-elizacloud.
|
|
51
|
+
*
|
|
52
|
+
* Behavior:
|
|
53
|
+
* - When Eliza Cloud is **not** connected, throws `CloudTtsUnavailableError`
|
|
54
|
+
* so the runtime's model-handler fallback chain can pick the next
|
|
55
|
+
* provider (e.g. local omnivoice, ElevenLabs direct, etc.).
|
|
56
|
+
* - When connected, forwards `text`, `voiceId`, and `modelId` to the
|
|
57
|
+
* upstream cloud TTS proxy and returns the audio stream.
|
|
58
|
+
*
|
|
59
|
+
* Accepts both OpenAI-style (`voice` / `model`) and ElevenLabs-style
|
|
60
|
+
* (`voiceId` / `modelId`) input fields. ElevenLabs-style wins when both are
|
|
61
|
+
* present.
|
|
62
|
+
*/
|
|
63
|
+
export declare function handleTextToSpeech(runtime: IAgentRuntime, input: string | CloudTextToSpeechParams | OpenAITextToSpeechParams): Promise<Uint8Array | AudioStreamResult>;
|
|
6
64
|
export { fetchTextToSpeech };
|
|
7
65
|
//# sourceMappingURL=speech.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"speech.d.ts","sourceRoot":"","sources":["../../models/speech.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"speech.d.ts","sourceRoot":"","sources":["../../src/models/speech.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,KAAK,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAEtE,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,UAAU,CAAC;AAKzD;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE;QACN,iBAAiB,CAAC,CAAC,GAAG,OAAO,EAAE,OAAO,EAAE;YACtC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;YAClC,IAAI,EAAE;gBAAE,IAAI,EAAE,MAAM,CAAC;gBAAC,OAAO,CAAC,EAAE,MAAM,CAAC;gBAAC,OAAO,CAAC,EAAE,MAAM,CAAA;aAAE,CAAC;YAC3D,SAAS,CAAC,EAAE,MAAM,CAAC;SACpB,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;KAChB,CAAC;CACH;AAED,KAAK,qBAAqB,GAAG,CAAC,OAAO,EAAE,aAAa,KAAK,cAAc,CAAC;AAKxE;;;;GAIG;AACH,wBAAgB,kCAAkC,CAChD,OAAO,EAAE,qBAAqB,GAAG,IAAI,GACpC,IAAI,CAON;AAED;;;;;;;;GAQG;AACH,MAAM,WAAW,uBAAwB,SAAQ,wBAAwB;IACvE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;;GAGG;AACH,qBAAa,wBAAyB,SAAQ,KAAK;gBACrC,OAAO,SAAiC;CAIrD;AAyDD,iBAAe,iBAAiB,CAC9B,OAAO,EAAE,aAAa,EACtB,OAAO,EAAE,uBAAuB,GAC/B,OAAO,CAAC,cAAc,CAAC,UAAU,CAAC,GAAG,QAAQ,CAAC,CAoChD;AA4GD;;;;;;;;;;;;;GAaG;AACH,wBAAsB,kBAAkB,CACtC,OAAO,EAAE,aAAa,EACtB,KAAK,EAAE,MAAM,GAAG,uBAAuB,GAAG,wBAAwB,GACjE,OAAO,CAAC,UAAU,GAAG,iBAAiB,CAAC,CAkCzC;AAED,OAAO,EAAE,iBAAiB,EAAE,CAAC"}
|