@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
package/src/index.ts
ADDED
|
@@ -0,0 +1,419 @@
|
|
|
1
|
+
import type { IAgentRuntime, Plugin, ProcessEnvLike } from "@elizaos/core";
|
|
2
|
+
import { logger, ModelType } from "@elizaos/core";
|
|
3
|
+
// Cloud providers
|
|
4
|
+
import { cloudStatusProvider } from "./cloud-providers/cloud-status";
|
|
5
|
+
import { containerHealthProvider } from "./cloud-providers/container-health";
|
|
6
|
+
import { creditBalanceProvider } from "./cloud-providers/credit-balance";
|
|
7
|
+
import { modelRegistryProvider } from "./cloud-providers/model-registry";
|
|
8
|
+
import { initializeOpenAI } from "./init";
|
|
9
|
+
import {
|
|
10
|
+
fetchTextToSpeech,
|
|
11
|
+
handleActionPlanner,
|
|
12
|
+
handleImageDescription,
|
|
13
|
+
handleImageGeneration,
|
|
14
|
+
handleResearch,
|
|
15
|
+
handleResponseHandler,
|
|
16
|
+
handleTextEmbedding,
|
|
17
|
+
handleTextLarge,
|
|
18
|
+
handleTextMedium,
|
|
19
|
+
handleTextMega,
|
|
20
|
+
handleTextNano,
|
|
21
|
+
handleTextSmall,
|
|
22
|
+
handleTextToSpeech,
|
|
23
|
+
} from "./models";
|
|
24
|
+
// Cloud services
|
|
25
|
+
import { CloudAuthService } from "./services/cloud-auth";
|
|
26
|
+
import { CloudBackupService } from "./services/cloud-backup";
|
|
27
|
+
import { CloudBootstrapServiceImpl } from "./services/cloud-bootstrap";
|
|
28
|
+
import { CloudBridgeService } from "./services/cloud-bridge";
|
|
29
|
+
import { CloudContainerService } from "./services/cloud-container";
|
|
30
|
+
import { CloudCredentialProvider } from "./services/cloud-credential-provider";
|
|
31
|
+
import { CloudManagedGatewayRelayService } from "./services/cloud-managed-gateway-relay";
|
|
32
|
+
import { CloudModelRegistryService } from "./services/cloud-model-registry";
|
|
33
|
+
import { createCloudApiClient } from "./utils/sdk-client";
|
|
34
|
+
import { createWaifuMeteringHandler } from "./utils/waifu-metering";
|
|
35
|
+
|
|
36
|
+
const TEXT_NANO_MODEL_TYPE = (ModelType.TEXT_NANO ?? "TEXT_NANO") as string;
|
|
37
|
+
const TEXT_MEDIUM_MODEL_TYPE = (ModelType.TEXT_MEDIUM ?? "TEXT_MEDIUM") as string;
|
|
38
|
+
const TEXT_MEGA_MODEL_TYPE = (ModelType.TEXT_MEGA ?? "TEXT_MEGA") as string;
|
|
39
|
+
const RESPONSE_HANDLER_MODEL_TYPE = (ModelType.RESPONSE_HANDLER ?? "RESPONSE_HANDLER") as string;
|
|
40
|
+
const ACTION_PLANNER_MODEL_TYPE = (ModelType.ACTION_PLANNER ?? "ACTION_PLANNER") as string;
|
|
41
|
+
|
|
42
|
+
function getProcessEnv(): ProcessEnvLike {
|
|
43
|
+
if (typeof process === "undefined") {
|
|
44
|
+
return {};
|
|
45
|
+
}
|
|
46
|
+
return process.env as ProcessEnvLike;
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
const env = getProcessEnv();
|
|
50
|
+
|
|
51
|
+
export const elizaOSCloudPlugin: Plugin = {
|
|
52
|
+
name: "elizaOSCloud",
|
|
53
|
+
description:
|
|
54
|
+
"ElizaOS Cloud plugin — Multi-model AI generation, container provisioning, agent bridge, and billing management",
|
|
55
|
+
autoEnable: {
|
|
56
|
+
envKeys: ["ELIZAOS_CLOUD_API_KEY", "ELIZAOS_CLOUD_ENABLED"],
|
|
57
|
+
},
|
|
58
|
+
|
|
59
|
+
// Plugin-wide registration priority. Applied to every model handler in
|
|
60
|
+
// the `models` map below. Higher numbers win the native runtime priority
|
|
61
|
+
// sort.
|
|
62
|
+
//
|
|
63
|
+
// Why 50: in `manual` routing mode (`routing-preferences.ts`) with no
|
|
64
|
+
// `preferredProvider` set for a slot, the runtime falls through to the
|
|
65
|
+
// native priority order. Putting cloud above the default-0 of other
|
|
66
|
+
// direct provider plugins (anthropic, openai, groq, elevenlabs) means
|
|
67
|
+
// Eliza Cloud wins the "user has paired Cloud but hasn't picked anything
|
|
68
|
+
// specific" case — which is the desired text-generation default.
|
|
69
|
+
//
|
|
70
|
+
// **TTS routing precedence is governed by the router-handler**
|
|
71
|
+
// (`plugin-local-inference/src/services/router-handler.ts`) at
|
|
72
|
+
// MAX_SAFE_INTEGER priority, which reads the per-slot `RoutingPolicy`
|
|
73
|
+
// (default `prefer-local`) and dispatches to local first when available.
|
|
74
|
+
// This plugin's priority does NOT control whether local TTS wins; the
|
|
75
|
+
// router does. See `plugin-local-inference/native/AGENTS.md` §1 for the
|
|
76
|
+
// canonical voice/ASR routing contract.
|
|
77
|
+
//
|
|
78
|
+
// Cloud TTS still works as a fallback when local is unavailable: the
|
|
79
|
+
// handler throws `CloudTtsUnavailableError` when cloud isn't connected
|
|
80
|
+
// and the router's per-pick retry loop falls through to the next
|
|
81
|
+
// eligible provider (local kokoro / omnivoice, plugin-elevenlabs, ...).
|
|
82
|
+
priority: 50,
|
|
83
|
+
|
|
84
|
+
config: {
|
|
85
|
+
ELIZAOS_CLOUD_API_KEY: env.ELIZAOS_CLOUD_API_KEY ?? null,
|
|
86
|
+
ELIZAOS_CLOUD_BASE_URL: env.ELIZAOS_CLOUD_BASE_URL ?? null,
|
|
87
|
+
ELIZAOS_CLOUD_ENABLED: env.ELIZAOS_CLOUD_ENABLED ?? null,
|
|
88
|
+
// Text models
|
|
89
|
+
ELIZAOS_CLOUD_NANO_MODEL: env.ELIZAOS_CLOUD_NANO_MODEL ?? null,
|
|
90
|
+
ELIZAOS_CLOUD_MEDIUM_MODEL: env.ELIZAOS_CLOUD_MEDIUM_MODEL ?? null,
|
|
91
|
+
ELIZAOS_CLOUD_SMALL_MODEL: env.ELIZAOS_CLOUD_SMALL_MODEL ?? null,
|
|
92
|
+
ELIZAOS_CLOUD_LARGE_MODEL: env.ELIZAOS_CLOUD_LARGE_MODEL ?? null,
|
|
93
|
+
ELIZAOS_CLOUD_MEGA_MODEL: env.ELIZAOS_CLOUD_MEGA_MODEL ?? null,
|
|
94
|
+
ELIZAOS_CLOUD_RESPONSE_HANDLER_MODEL: env.ELIZAOS_CLOUD_RESPONSE_HANDLER_MODEL ?? null,
|
|
95
|
+
ELIZAOS_CLOUD_SHOULD_RESPOND_MODEL: env.ELIZAOS_CLOUD_SHOULD_RESPOND_MODEL ?? null,
|
|
96
|
+
ELIZAOS_CLOUD_ACTION_PLANNER_MODEL: env.ELIZAOS_CLOUD_ACTION_PLANNER_MODEL ?? null,
|
|
97
|
+
ELIZAOS_CLOUD_PLANNER_MODEL: env.ELIZAOS_CLOUD_PLANNER_MODEL ?? null,
|
|
98
|
+
ELIZAOS_CLOUD_RESPONSE_MODEL: env.ELIZAOS_CLOUD_RESPONSE_MODEL ?? null,
|
|
99
|
+
NANO_MODEL: env.NANO_MODEL ?? null,
|
|
100
|
+
MEDIUM_MODEL: env.MEDIUM_MODEL ?? null,
|
|
101
|
+
SMALL_MODEL: env.SMALL_MODEL ?? null,
|
|
102
|
+
LARGE_MODEL: env.LARGE_MODEL ?? null,
|
|
103
|
+
MEGA_MODEL: env.MEGA_MODEL ?? null,
|
|
104
|
+
RESPONSE_HANDLER_MODEL: env.RESPONSE_HANDLER_MODEL ?? null,
|
|
105
|
+
SHOULD_RESPOND_MODEL: env.SHOULD_RESPOND_MODEL ?? null,
|
|
106
|
+
ACTION_PLANNER_MODEL: env.ACTION_PLANNER_MODEL ?? null,
|
|
107
|
+
PLANNER_MODEL: env.PLANNER_MODEL ?? null,
|
|
108
|
+
RESPONSE_MODEL: env.RESPONSE_MODEL ?? null,
|
|
109
|
+
// Research model
|
|
110
|
+
ELIZAOS_CLOUD_RESEARCH_MODEL: env.ELIZAOS_CLOUD_RESEARCH_MODEL ?? null,
|
|
111
|
+
RESEARCH_MODEL: env.RESEARCH_MODEL ?? null,
|
|
112
|
+
// Embedding
|
|
113
|
+
ELIZAOS_CLOUD_EMBEDDING_MODEL: env.ELIZAOS_CLOUD_EMBEDDING_MODEL ?? null,
|
|
114
|
+
ELIZAOS_CLOUD_EMBEDDING_API_KEY: env.ELIZAOS_CLOUD_EMBEDDING_API_KEY ?? null,
|
|
115
|
+
ELIZAOS_CLOUD_EMBEDDING_URL: env.ELIZAOS_CLOUD_EMBEDDING_URL ?? null,
|
|
116
|
+
ELIZAOS_CLOUD_EMBEDDING_DIMENSIONS: env.ELIZAOS_CLOUD_EMBEDDING_DIMENSIONS ?? null,
|
|
117
|
+
// Image
|
|
118
|
+
ELIZAOS_CLOUD_IMAGE_DESCRIPTION_MODEL: env.ELIZAOS_CLOUD_IMAGE_DESCRIPTION_MODEL ?? null,
|
|
119
|
+
ELIZAOS_CLOUD_IMAGE_DESCRIPTION_MAX_TOKENS:
|
|
120
|
+
env.ELIZAOS_CLOUD_IMAGE_DESCRIPTION_MAX_TOKENS ?? null,
|
|
121
|
+
ELIZAOS_CLOUD_IMAGE_GENERATION_MODEL: env.ELIZAOS_CLOUD_IMAGE_GENERATION_MODEL ?? null,
|
|
122
|
+
// Audio
|
|
123
|
+
ELIZAOS_CLOUD_TTS_MODEL: env.ELIZAOS_CLOUD_TTS_MODEL ?? null,
|
|
124
|
+
ELIZAOS_CLOUD_TRANSCRIPTION_MODEL: env.ELIZAOS_CLOUD_TRANSCRIPTION_MODEL ?? null,
|
|
125
|
+
// Telemetry
|
|
126
|
+
ELIZAOS_CLOUD_EXPERIMENTAL_TELEMETRY: env.ELIZAOS_CLOUD_EXPERIMENTAL_TELEMETRY ?? null,
|
|
127
|
+
},
|
|
128
|
+
|
|
129
|
+
async init(config, runtime) {
|
|
130
|
+
// Initialize inference (OpenAI-compatible client)
|
|
131
|
+
initializeOpenAI(config, runtime);
|
|
132
|
+
},
|
|
133
|
+
|
|
134
|
+
// ─── Runtime Event Handlers ──────────────────────────────────────────
|
|
135
|
+
// Forwards per-inference token + USD spend to waifu's burn meter when the
|
|
136
|
+
// container is provisioned as a hosted waifu agent (inactive otherwise). See
|
|
137
|
+
// utils/waifu-metering.ts for the honest-meter rationale.
|
|
138
|
+
events: {
|
|
139
|
+
MODEL_USED: [createWaifuMeteringHandler()],
|
|
140
|
+
},
|
|
141
|
+
|
|
142
|
+
// ─── Cloud Services ──────────────────────────────────────────────────
|
|
143
|
+
// Services are registered in dependency order:
|
|
144
|
+
// 1. CloudAuthService — must start first (other services depend on it)
|
|
145
|
+
// 2. CloudBootstrapServiceImpl — pure trust-anchor accessor; no deps
|
|
146
|
+
// 3. CloudManagedGatewayRelayService — optional local-runtime relay via shared cloud ingress
|
|
147
|
+
// 4. CloudContainerService — needs auth to list/create containers
|
|
148
|
+
// 5. CloudBridgeService — needs auth for WebSocket connections
|
|
149
|
+
// 6. CloudBackupService — needs auth for snapshot API calls
|
|
150
|
+
services: [
|
|
151
|
+
CloudAuthService,
|
|
152
|
+
CloudBootstrapServiceImpl,
|
|
153
|
+
CloudManagedGatewayRelayService,
|
|
154
|
+
CloudModelRegistryService,
|
|
155
|
+
CloudContainerService,
|
|
156
|
+
CloudBridgeService,
|
|
157
|
+
CloudBackupService,
|
|
158
|
+
// Bridges plugin-workflow's `workflow_credential_provider` slot to the
|
|
159
|
+
// cloud's per-connector OAuth surface. Must start after CloudAuthService
|
|
160
|
+
// because it reads the authenticated client via getService("CLOUD_AUTH").
|
|
161
|
+
CloudCredentialProvider,
|
|
162
|
+
],
|
|
163
|
+
|
|
164
|
+
// ─── Cloud Providers ─────────────────────────────────────────────────
|
|
165
|
+
providers: [
|
|
166
|
+
cloudStatusProvider,
|
|
167
|
+
creditBalanceProvider,
|
|
168
|
+
containerHealthProvider,
|
|
169
|
+
modelRegistryProvider,
|
|
170
|
+
],
|
|
171
|
+
|
|
172
|
+
// ─── Inference Model Handlers ────────────────────────────────────────
|
|
173
|
+
models: {
|
|
174
|
+
[ModelType.TEXT_EMBEDDING]: handleTextEmbedding,
|
|
175
|
+
[TEXT_NANO_MODEL_TYPE]: handleTextNano,
|
|
176
|
+
[TEXT_MEDIUM_MODEL_TYPE]: handleTextMedium,
|
|
177
|
+
[ModelType.TEXT_SMALL]: handleTextSmall,
|
|
178
|
+
[ModelType.TEXT_LARGE]: handleTextLarge,
|
|
179
|
+
[TEXT_MEGA_MODEL_TYPE]: handleTextMega,
|
|
180
|
+
[RESPONSE_HANDLER_MODEL_TYPE]: handleResponseHandler,
|
|
181
|
+
[ACTION_PLANNER_MODEL_TYPE]: handleActionPlanner,
|
|
182
|
+
[ModelType.RESEARCH]: handleResearch,
|
|
183
|
+
[ModelType.IMAGE]: handleImageGeneration,
|
|
184
|
+
[ModelType.IMAGE_DESCRIPTION]: handleImageDescription,
|
|
185
|
+
[ModelType.TEXT_TO_SPEECH]: handleTextToSpeech,
|
|
186
|
+
},
|
|
187
|
+
|
|
188
|
+
tests: [
|
|
189
|
+
{
|
|
190
|
+
name: "ELIZAOS_CLOUD_plugin_tests",
|
|
191
|
+
tests: [
|
|
192
|
+
{
|
|
193
|
+
name: "ELIZAOS_CLOUD_test_url_and_api_key_validation",
|
|
194
|
+
fn: async (runtime: IAgentRuntime) => {
|
|
195
|
+
const data = await createCloudApiClient(runtime).get<{
|
|
196
|
+
data?: Array<Record<string, never>>;
|
|
197
|
+
}>("/models");
|
|
198
|
+
logger.log(
|
|
199
|
+
{
|
|
200
|
+
data: data.data?.length ?? "N/A",
|
|
201
|
+
},
|
|
202
|
+
"Models Available"
|
|
203
|
+
);
|
|
204
|
+
},
|
|
205
|
+
},
|
|
206
|
+
{
|
|
207
|
+
name: "ELIZAOS_CLOUD_test_text_embedding",
|
|
208
|
+
fn: async (runtime: IAgentRuntime) => {
|
|
209
|
+
const embedding = await runtime.useModel(ModelType.TEXT_EMBEDDING, {
|
|
210
|
+
text: "Hello, world!",
|
|
211
|
+
});
|
|
212
|
+
logger.log({ embedding }, "embedding");
|
|
213
|
+
},
|
|
214
|
+
},
|
|
215
|
+
{
|
|
216
|
+
name: "ELIZAOS_CLOUD_test_text_large",
|
|
217
|
+
fn: async (runtime: IAgentRuntime) => {
|
|
218
|
+
const text = await runtime.useModel(ModelType.TEXT_LARGE, {
|
|
219
|
+
prompt: "What is the nature of reality in 10 words?",
|
|
220
|
+
});
|
|
221
|
+
if (text.length === 0) {
|
|
222
|
+
throw new Error("Failed to generate text");
|
|
223
|
+
}
|
|
224
|
+
logger.log({ text }, "generated with test_text_large");
|
|
225
|
+
},
|
|
226
|
+
},
|
|
227
|
+
{
|
|
228
|
+
name: "ELIZAOS_CLOUD_test_text_small",
|
|
229
|
+
fn: async (runtime: IAgentRuntime) => {
|
|
230
|
+
const text = await runtime.useModel(ModelType.TEXT_SMALL, {
|
|
231
|
+
prompt: "What is the nature of reality in 10 words?",
|
|
232
|
+
});
|
|
233
|
+
if (text.length === 0) {
|
|
234
|
+
throw new Error("Failed to generate text");
|
|
235
|
+
}
|
|
236
|
+
logger.log({ text }, "generated with test_text_small");
|
|
237
|
+
},
|
|
238
|
+
},
|
|
239
|
+
{
|
|
240
|
+
name: "ELIZAOS_CLOUD_test_image_generation",
|
|
241
|
+
fn: async (runtime: IAgentRuntime) => {
|
|
242
|
+
logger.log("ELIZAOS_CLOUD_test_image_generation");
|
|
243
|
+
const image = await runtime.useModel(ModelType.IMAGE, {
|
|
244
|
+
prompt: "A beautiful sunset over a calm ocean",
|
|
245
|
+
count: 1,
|
|
246
|
+
size: "1024x1024",
|
|
247
|
+
});
|
|
248
|
+
logger.log({ image }, "generated with test_image_generation");
|
|
249
|
+
},
|
|
250
|
+
},
|
|
251
|
+
{
|
|
252
|
+
name: "image-description",
|
|
253
|
+
fn: async (runtime: IAgentRuntime) => {
|
|
254
|
+
logger.log("ELIZAOS_CLOUD_test_image_description");
|
|
255
|
+
const result = await runtime.useModel(
|
|
256
|
+
ModelType.IMAGE_DESCRIPTION,
|
|
257
|
+
"https://upload.wikimedia.org/wikipedia/commons/thumb/1/1c/Vitalik_Buterin_TechCrunch_London_2015_%28cropped%29.jpg/537px-Vitalik_Buterin_TechCrunch_London_2015_%28cropped%29.jpg"
|
|
258
|
+
);
|
|
259
|
+
|
|
260
|
+
if (
|
|
261
|
+
result &&
|
|
262
|
+
typeof result === "object" &&
|
|
263
|
+
"title" in result &&
|
|
264
|
+
"description" in result
|
|
265
|
+
) {
|
|
266
|
+
logger.log({ result }, "Image description");
|
|
267
|
+
} else {
|
|
268
|
+
logger.error(`Invalid image description result format: ${JSON.stringify(result)}`);
|
|
269
|
+
}
|
|
270
|
+
},
|
|
271
|
+
},
|
|
272
|
+
{
|
|
273
|
+
name: "ELIZAOS_CLOUD_test_transcription",
|
|
274
|
+
fn: async (runtime: IAgentRuntime) => {
|
|
275
|
+
logger.log("ELIZAOS_CLOUD_test_transcription");
|
|
276
|
+
const response = await fetch(
|
|
277
|
+
"https://upload.wikimedia.org/wikipedia/en/4/40/Chris_Benoit_Voice_Message.ogg"
|
|
278
|
+
);
|
|
279
|
+
const arrayBuffer = await response.arrayBuffer();
|
|
280
|
+
const transcription = await runtime.useModel(
|
|
281
|
+
ModelType.TRANSCRIPTION,
|
|
282
|
+
Buffer.from(new Uint8Array(arrayBuffer))
|
|
283
|
+
);
|
|
284
|
+
logger.log({ transcription }, "generated with test_transcription");
|
|
285
|
+
},
|
|
286
|
+
},
|
|
287
|
+
{
|
|
288
|
+
name: "ELIZAOS_CLOUD_test_text_tokenizer_encode",
|
|
289
|
+
fn: async (runtime: IAgentRuntime) => {
|
|
290
|
+
const prompt = "Hello tokenizer encode!";
|
|
291
|
+
const tokens = await runtime.useModel(ModelType.TEXT_TOKENIZER_ENCODE, {
|
|
292
|
+
prompt,
|
|
293
|
+
modelType: ModelType.TEXT_SMALL,
|
|
294
|
+
});
|
|
295
|
+
if (!Array.isArray(tokens) || tokens.length === 0) {
|
|
296
|
+
throw new Error("Failed to tokenize text: expected non-empty array of tokens");
|
|
297
|
+
}
|
|
298
|
+
logger.log({ tokens }, "Tokenized output");
|
|
299
|
+
},
|
|
300
|
+
},
|
|
301
|
+
{
|
|
302
|
+
name: "ELIZAOS_CLOUD_test_text_tokenizer_decode",
|
|
303
|
+
fn: async (runtime: IAgentRuntime) => {
|
|
304
|
+
const prompt = "Hello tokenizer decode!";
|
|
305
|
+
const tokens = await runtime.useModel(ModelType.TEXT_TOKENIZER_ENCODE, {
|
|
306
|
+
prompt,
|
|
307
|
+
modelType: ModelType.TEXT_SMALL,
|
|
308
|
+
});
|
|
309
|
+
const decodedText = await runtime.useModel(ModelType.TEXT_TOKENIZER_DECODE, {
|
|
310
|
+
tokens,
|
|
311
|
+
modelType: ModelType.TEXT_SMALL,
|
|
312
|
+
});
|
|
313
|
+
if (decodedText !== prompt) {
|
|
314
|
+
throw new Error(
|
|
315
|
+
`Decoded text does not match original. Expected "${prompt}", got "${decodedText}"`
|
|
316
|
+
);
|
|
317
|
+
}
|
|
318
|
+
logger.log({ decodedText }, "Decoded text");
|
|
319
|
+
},
|
|
320
|
+
},
|
|
321
|
+
{
|
|
322
|
+
name: "ELIZAOS_CLOUD_test_text_to_speech",
|
|
323
|
+
fn: async (runtime: IAgentRuntime) => {
|
|
324
|
+
const response = await fetchTextToSpeech(runtime, {
|
|
325
|
+
text: "Hello, this is a test for text-to-speech.",
|
|
326
|
+
});
|
|
327
|
+
if (!response) {
|
|
328
|
+
throw new Error("Failed to generate speech");
|
|
329
|
+
}
|
|
330
|
+
logger.log("Generated speech successfully");
|
|
331
|
+
},
|
|
332
|
+
},
|
|
333
|
+
],
|
|
334
|
+
},
|
|
335
|
+
],
|
|
336
|
+
|
|
337
|
+
async dispose(runtime) {
|
|
338
|
+
// Stop in reverse dependency order (auth last since others depend on it).
|
|
339
|
+
await runtime.getService(CloudCredentialProvider.serviceType)?.stop();
|
|
340
|
+
await runtime.getService(CloudBackupService.serviceType)?.stop();
|
|
341
|
+
await runtime.getService(CloudBridgeService.serviceType)?.stop();
|
|
342
|
+
await runtime.getService(CloudContainerService.serviceType)?.stop();
|
|
343
|
+
await runtime.getService(CloudModelRegistryService.serviceType)?.stop();
|
|
344
|
+
await runtime.getService(CloudManagedGatewayRelayService.serviceType)?.stop();
|
|
345
|
+
await runtime.getService(CloudBootstrapServiceImpl.serviceType)?.stop();
|
|
346
|
+
await runtime.getService(CloudAuthService.serviceType)?.stop();
|
|
347
|
+
},
|
|
348
|
+
};
|
|
349
|
+
|
|
350
|
+
export default elizaOSCloudPlugin;
|
|
351
|
+
|
|
352
|
+
export { isCloudProvisionedContainer } from "./routes/cloud-provisioning";
|
|
353
|
+
export { handleCloudBillingRoute } from "./routes/cloud-billing-routes";
|
|
354
|
+
export { handleCloudCompatRoute } from "./routes/cloud-compat-routes";
|
|
355
|
+
export { handleCloudRelayRoute } from "./routes/cloud-relay-routes";
|
|
356
|
+
export {
|
|
357
|
+
type CloudRouteState,
|
|
358
|
+
handleCloudRoute,
|
|
359
|
+
} from "./routes/cloud-routes-autonomous";
|
|
360
|
+
export type { CloudConfigLike } from "./routes/cloud-routes-autonomous";
|
|
361
|
+
export { handleCloudStatusRoutes } from "./routes/cloud-status-routes";
|
|
362
|
+
export { runCloudSetup, type CloudSetupResult } from "./cloud-setup";
|
|
363
|
+
export { ClackObserver } from "./cloud/clack-observer";
|
|
364
|
+
export { NullCloudSetupObserver } from "./cloud/null-observer";
|
|
365
|
+
export type {
|
|
366
|
+
AvailabilityResult,
|
|
367
|
+
CloudSetupObserver,
|
|
368
|
+
ConfirmPrompt,
|
|
369
|
+
ProvisionSuccessInfo,
|
|
370
|
+
SelectChoiceOption,
|
|
371
|
+
SelectChoicePrompt,
|
|
372
|
+
} from "./cloud/setup-observer";
|
|
373
|
+
export { CloudManager, type CloudManagerCallbacks } from "./cloud/cloud-manager";
|
|
374
|
+
export {
|
|
375
|
+
type CloudWalletDescriptor,
|
|
376
|
+
type CloudWalletProvider,
|
|
377
|
+
ElizaCloudClient,
|
|
378
|
+
} from "./cloud/bridge-client";
|
|
379
|
+
export {
|
|
380
|
+
normalizeCloudSecret,
|
|
381
|
+
resolveCloudApiKey,
|
|
382
|
+
} from "./cloud/cloud-api-key";
|
|
383
|
+
export {
|
|
384
|
+
clearCloudSecrets,
|
|
385
|
+
getCloudSecret,
|
|
386
|
+
scrubCloudSecretsFromEnv,
|
|
387
|
+
} from "./lib/cloud-secrets";
|
|
388
|
+
export {
|
|
389
|
+
__resetCloudBaseUrlCache,
|
|
390
|
+
ensureCloudTtsApiKeyAlias,
|
|
391
|
+
handleCloudTtsPreviewRoute,
|
|
392
|
+
mirrorCompatHeaders,
|
|
393
|
+
resolveCloudTtsBaseUrl,
|
|
394
|
+
resolveElevenLabsApiKeyForCloudMode,
|
|
395
|
+
} from "./lib/server-cloud-tts";
|
|
396
|
+
export {
|
|
397
|
+
fetchCloudVoiceCatalog,
|
|
398
|
+
resetCloudVoiceCatalogCacheForTesting,
|
|
399
|
+
setCloudVoiceClientFactoryForTesting,
|
|
400
|
+
type CloudVoiceCatalogEntry,
|
|
401
|
+
type CloudVoiceClient,
|
|
402
|
+
} from "./cloud-voice-catalog";
|
|
403
|
+
export {
|
|
404
|
+
CloudTtsUnavailableError,
|
|
405
|
+
type CloudTextToSpeechParams,
|
|
406
|
+
} from "./models/speech";
|
|
407
|
+
export {
|
|
408
|
+
normalizeCloudSiteUrl,
|
|
409
|
+
resolveCloudApiBaseUrl,
|
|
410
|
+
} from "./cloud/base-url";
|
|
411
|
+
export {
|
|
412
|
+
isCloudAuthApiKeyService,
|
|
413
|
+
normalizeCloudApiKey,
|
|
414
|
+
type CloudAuthApiKeyService,
|
|
415
|
+
} from "./cloud/auth-service-types";
|
|
416
|
+
export { validateCloudBaseUrl } from "./cloud/validate-url";
|
|
417
|
+
export * from "./plugin";
|
|
418
|
+
export * from "./register-routes";
|
|
419
|
+
export * from "./cloud";
|
package/src/init.ts
ADDED
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { type IAgentRuntime, logger } from "@elizaos/core";
|
|
2
|
+
import { getApiKey, isBrowser } from "./utils/config";
|
|
3
|
+
import { createCloudApiClient } from "./utils/sdk-client";
|
|
4
|
+
|
|
5
|
+
export function initializeOpenAI(
|
|
6
|
+
_config: Record<string, string | null>,
|
|
7
|
+
runtime: IAgentRuntime
|
|
8
|
+
): void {
|
|
9
|
+
void (async () => {
|
|
10
|
+
try {
|
|
11
|
+
if (!getApiKey(runtime) && !isBrowser()) {
|
|
12
|
+
logger.warn(
|
|
13
|
+
"ELIZAOS_CLOUD_API_KEY is not set in environment - ElizaOS Cloud functionality will be limited"
|
|
14
|
+
);
|
|
15
|
+
logger.info("Get your API key from https://www.elizacloud.ai/dashboard/api-keys");
|
|
16
|
+
return;
|
|
17
|
+
}
|
|
18
|
+
try {
|
|
19
|
+
await createCloudApiClient(runtime).get("/models");
|
|
20
|
+
logger.log("ElizaOS Cloud API key validated successfully");
|
|
21
|
+
} catch (fetchError) {
|
|
22
|
+
const message = fetchError instanceof Error ? fetchError.message : String(fetchError);
|
|
23
|
+
logger.warn(`ElizaOS Cloud API key validation failed: ${message}`);
|
|
24
|
+
logger.warn(
|
|
25
|
+
"ElizaOS Cloud functionality will be limited until a valid API key is provided"
|
|
26
|
+
);
|
|
27
|
+
}
|
|
28
|
+
} catch (error) {
|
|
29
|
+
const message =
|
|
30
|
+
(error as { errors?: Array<{ message: string }> })?.errors
|
|
31
|
+
?.map((e) => e.message)
|
|
32
|
+
.join(", ") || (error instanceof Error ? error.message : String(error));
|
|
33
|
+
logger.warn(
|
|
34
|
+
`ElizaOS Cloud plugin configuration issue: ${message} - You need to configure the ELIZAOS_CLOUD_API_KEY in your environment variables`
|
|
35
|
+
);
|
|
36
|
+
logger.info("Get your API key from https://www.elizacloud.ai/dashboard/api-keys");
|
|
37
|
+
}
|
|
38
|
+
})();
|
|
39
|
+
}
|