@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/package.json
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@elizaos/plugin-elizacloud",
|
|
3
|
-
"version": "2.0.
|
|
3
|
+
"version": "2.0.11-beta.7",
|
|
4
4
|
"type": "module",
|
|
5
|
-
"main": "dist/
|
|
5
|
+
"main": "dist/node/index.node.js",
|
|
6
6
|
"module": "dist/node/index.node.js",
|
|
7
7
|
"types": "dist/node/index.d.ts",
|
|
8
8
|
"browser": "dist/browser/index.browser.js",
|
|
@@ -15,6 +15,11 @@
|
|
|
15
15
|
"./package.json": "./package.json",
|
|
16
16
|
".": {
|
|
17
17
|
"types": "./dist/node/index.d.ts",
|
|
18
|
+
"eliza-source": {
|
|
19
|
+
"types": "./src/index.node.ts",
|
|
20
|
+
"import": "./src/index.node.ts",
|
|
21
|
+
"default": "./src/index.node.ts"
|
|
22
|
+
},
|
|
18
23
|
"browser": {
|
|
19
24
|
"types": "./dist/browser/index.d.ts",
|
|
20
25
|
"import": "./dist/browser/index.browser.js",
|
|
@@ -23,45 +28,90 @@
|
|
|
23
28
|
"node": {
|
|
24
29
|
"types": "./dist/node/index.d.ts",
|
|
25
30
|
"import": "./dist/node/index.node.js",
|
|
26
|
-
"require": "./dist/cjs/index.node.cjs",
|
|
27
31
|
"default": "./dist/node/index.node.js"
|
|
28
32
|
},
|
|
29
33
|
"default": "./dist/node/index.node.js"
|
|
34
|
+
},
|
|
35
|
+
"./*.css": "./dist/*.css",
|
|
36
|
+
"./*": {
|
|
37
|
+
"types": "./dist/*.d.ts",
|
|
38
|
+
"eliza-source": {
|
|
39
|
+
"types": "./src/*.ts",
|
|
40
|
+
"import": "./src/*.ts",
|
|
41
|
+
"default": "./src/*.ts"
|
|
42
|
+
},
|
|
43
|
+
"import": "./dist/*.js",
|
|
44
|
+
"default": "./dist/*.js"
|
|
30
45
|
}
|
|
31
46
|
},
|
|
32
47
|
"files": [
|
|
33
48
|
"dist",
|
|
34
|
-
"
|
|
49
|
+
"src",
|
|
50
|
+
"types",
|
|
51
|
+
"auto-enable.ts"
|
|
35
52
|
],
|
|
53
|
+
"elizaos": {
|
|
54
|
+
"plugin": {
|
|
55
|
+
"autoEnableModule": "./auto-enable.ts",
|
|
56
|
+
"capabilities": [
|
|
57
|
+
"text-large",
|
|
58
|
+
"text-small",
|
|
59
|
+
"tool-use",
|
|
60
|
+
"embedding",
|
|
61
|
+
"text-to-speech",
|
|
62
|
+
"image-description"
|
|
63
|
+
]
|
|
64
|
+
}
|
|
65
|
+
},
|
|
36
66
|
"dependencies": {
|
|
67
|
+
"@ai-sdk/gateway": "3.0.133",
|
|
37
68
|
"@ai-sdk/openai": "^3.0.9",
|
|
38
|
-
"@
|
|
69
|
+
"@ai-sdk/provider": "3.0.10",
|
|
70
|
+
"@ai-sdk/provider-utils": "4.0.26",
|
|
71
|
+
"@elizaos/cloud-sdk": "2.0.11-beta.7",
|
|
72
|
+
"@elizaos/core": "2.0.11-beta.7",
|
|
73
|
+
"@elizaos/shared": "2.0.11-beta.7",
|
|
74
|
+
"@noble/curves": "2.2.0",
|
|
75
|
+
"@noble/hashes": "1.8.0",
|
|
76
|
+
"@opentelemetry/api": "1.9.1",
|
|
77
|
+
"@scure/bip32": "1.7.0",
|
|
78
|
+
"@scure/bip39": "1.6.0",
|
|
79
|
+
"abitype": "1.2.3",
|
|
39
80
|
"ai": "^6.0.30",
|
|
81
|
+
"isows": "1.0.7",
|
|
82
|
+
"jose": "^6.2.2",
|
|
40
83
|
"js-tiktoken": "^1.0.21",
|
|
41
|
-
"
|
|
84
|
+
"ox": "0.14.20",
|
|
85
|
+
"undici": "8.5.0",
|
|
86
|
+
"viem": "^2.48.8",
|
|
87
|
+
"ws": "8.21.0"
|
|
42
88
|
},
|
|
43
89
|
"devDependencies": {
|
|
44
|
-
"@biomejs/biome": "^2.
|
|
90
|
+
"@biomejs/biome": "^2.4.14",
|
|
91
|
+
"@clack/prompts": "^1.5.1",
|
|
45
92
|
"@types/bun": "^1.3.5",
|
|
46
93
|
"@types/node": "^25.0.3",
|
|
47
|
-
"typescript": "^
|
|
94
|
+
"typescript": "^6.0.3",
|
|
95
|
+
"vitest": "^4.1.4"
|
|
48
96
|
},
|
|
49
97
|
"peerDependencies": {
|
|
50
|
-
"zod": "^4.3
|
|
98
|
+
"zod": "^4.4.3"
|
|
51
99
|
},
|
|
52
100
|
"scripts": {
|
|
53
101
|
"dev": "bun run build.ts --watch",
|
|
54
|
-
"typecheck": "
|
|
102
|
+
"typecheck": "tsgo --noEmit -p tsconfig.json",
|
|
55
103
|
"lint": "bunx @biomejs/biome check --write --unsafe .",
|
|
56
|
-
"clean": "rm -rf dist .turbo
|
|
104
|
+
"clean": "rm -rf dist .turbo .turbo-tsconfig.json tsconfig.tsbuildinfo",
|
|
57
105
|
"format": "bunx @biomejs/biome format --write .",
|
|
58
106
|
"format:check": "bunx @biomejs/biome format .",
|
|
59
|
-
"test": "
|
|
107
|
+
"test": "vitest run",
|
|
60
108
|
"test:unit": "vitest run __tests__/unit/",
|
|
61
109
|
"test:integration": "vitest run __tests__/integration/",
|
|
62
110
|
"lint:check": "bunx @biomejs/biome check .",
|
|
63
111
|
"build": "bun run build.ts",
|
|
64
|
-
"build:ts": "bun run build.ts"
|
|
112
|
+
"build:ts": "bun run build.ts",
|
|
113
|
+
"test:e2e": "node ../../packages/app-core/scripts/run-local-plugin-live-smoke.mjs",
|
|
114
|
+
"test:live": "bun run test:e2e"
|
|
65
115
|
},
|
|
66
116
|
"publishConfig": {
|
|
67
117
|
"access": "public"
|
|
@@ -82,30 +132,98 @@
|
|
|
82
132
|
"default": "https://www.elizacloud.ai/api/v1",
|
|
83
133
|
"sensitive": false
|
|
84
134
|
},
|
|
135
|
+
"ELIZAOS_CLOUD_NANO_MODEL": {
|
|
136
|
+
"type": "string",
|
|
137
|
+
"description": "Nano/cheapest text model for lightweight routing and should-respond tasks (overrides NANO_MODEL). Default: gpt-oss-120b",
|
|
138
|
+
"required": false,
|
|
139
|
+
"default": "gpt-oss-120b",
|
|
140
|
+
"sensitive": false
|
|
141
|
+
},
|
|
142
|
+
"NANO_MODEL": {
|
|
143
|
+
"type": "string",
|
|
144
|
+
"description": "Fallback identifier for the nano language model if ELIZAOS_CLOUD_NANO_MODEL is not set.",
|
|
145
|
+
"required": false,
|
|
146
|
+
"default": "gpt-oss-120b",
|
|
147
|
+
"sensitive": false
|
|
148
|
+
},
|
|
85
149
|
"ELIZAOS_CLOUD_SMALL_MODEL": {
|
|
86
150
|
"type": "string",
|
|
87
|
-
"description": "Small/fast model for quick tasks (overrides SMALL_MODEL).
|
|
151
|
+
"description": "Small/fast model for quick tasks (overrides SMALL_MODEL). Default: gpt-oss-120b",
|
|
88
152
|
"required": false,
|
|
153
|
+
"default": "gpt-oss-120b",
|
|
89
154
|
"sensitive": false
|
|
90
155
|
},
|
|
91
156
|
"SMALL_MODEL": {
|
|
92
157
|
"type": "string",
|
|
93
158
|
"description": "Fallback identifier for the small language model if ELIZAOS_CLOUD_SMALL_MODEL is not set.",
|
|
94
159
|
"required": false,
|
|
95
|
-
"default": "gpt-
|
|
160
|
+
"default": "gpt-oss-120b",
|
|
161
|
+
"sensitive": false
|
|
162
|
+
},
|
|
163
|
+
"ELIZAOS_CLOUD_MEDIUM_MODEL": {
|
|
164
|
+
"type": "string",
|
|
165
|
+
"description": "Medium planning model for multi-step reasoning (overrides MEDIUM_MODEL). Default: gpt-oss-120b",
|
|
166
|
+
"required": false,
|
|
167
|
+
"default": "gpt-oss-120b",
|
|
168
|
+
"sensitive": false
|
|
169
|
+
},
|
|
170
|
+
"MEDIUM_MODEL": {
|
|
171
|
+
"type": "string",
|
|
172
|
+
"description": "Fallback identifier for the medium language model if ELIZAOS_CLOUD_MEDIUM_MODEL is not set.",
|
|
173
|
+
"required": false,
|
|
174
|
+
"default": "gpt-oss-120b",
|
|
96
175
|
"sensitive": false
|
|
97
176
|
},
|
|
98
177
|
"ELIZAOS_CLOUD_LARGE_MODEL": {
|
|
99
178
|
"type": "string",
|
|
100
|
-
"description": "Large/powerful model for complex tasks (overrides LARGE_MODEL).
|
|
179
|
+
"description": "Large/powerful model for complex tasks (overrides LARGE_MODEL). Default: zai-glm-4.7",
|
|
101
180
|
"required": false,
|
|
181
|
+
"default": "zai-glm-4.7",
|
|
102
182
|
"sensitive": false
|
|
103
183
|
},
|
|
104
184
|
"LARGE_MODEL": {
|
|
105
185
|
"type": "string",
|
|
106
186
|
"description": "Fallback identifier for the large language model if ELIZAOS_CLOUD_LARGE_MODEL is not set.",
|
|
107
187
|
"required": false,
|
|
108
|
-
"default": "
|
|
188
|
+
"default": "zai-glm-4.7",
|
|
189
|
+
"sensitive": false
|
|
190
|
+
},
|
|
191
|
+
"ELIZAOS_CLOUD_MEGA_MODEL": {
|
|
192
|
+
"type": "string",
|
|
193
|
+
"description": "Mega/top-tier model for the heaviest generation tasks (overrides MEGA_MODEL). Falls back to the large tier when unset.",
|
|
194
|
+
"required": false,
|
|
195
|
+
"default": "zai-glm-4.7",
|
|
196
|
+
"sensitive": false
|
|
197
|
+
},
|
|
198
|
+
"MEGA_MODEL": {
|
|
199
|
+
"type": "string",
|
|
200
|
+
"description": "Fallback identifier for the mega language model if ELIZAOS_CLOUD_MEGA_MODEL is not set.",
|
|
201
|
+
"required": false,
|
|
202
|
+
"default": "zai-glm-4.7",
|
|
203
|
+
"sensitive": false
|
|
204
|
+
},
|
|
205
|
+
"ELIZAOS_CLOUD_RESPONSE_HANDLER_MODEL": {
|
|
206
|
+
"type": "string",
|
|
207
|
+
"description": "Optional override for RESPONSE_HANDLER. Defaults to the configured nano tier when unset.",
|
|
208
|
+
"required": false,
|
|
209
|
+
"sensitive": false
|
|
210
|
+
},
|
|
211
|
+
"RESPONSE_HANDLER_MODEL": {
|
|
212
|
+
"type": "string",
|
|
213
|
+
"description": "Fallback identifier for RESPONSE_HANDLER if ELIZAOS_CLOUD_RESPONSE_HANDLER_MODEL is not set.",
|
|
214
|
+
"required": false,
|
|
215
|
+
"sensitive": false
|
|
216
|
+
},
|
|
217
|
+
"ELIZAOS_CLOUD_ACTION_PLANNER_MODEL": {
|
|
218
|
+
"type": "string",
|
|
219
|
+
"description": "Optional override for ACTION_PLANNER. Defaults to the configured medium tier when unset.",
|
|
220
|
+
"required": false,
|
|
221
|
+
"sensitive": false
|
|
222
|
+
},
|
|
223
|
+
"ACTION_PLANNER_MODEL": {
|
|
224
|
+
"type": "string",
|
|
225
|
+
"description": "Fallback identifier for ACTION_PLANNER if ELIZAOS_CLOUD_ACTION_PLANNER_MODEL is not set.",
|
|
226
|
+
"required": false,
|
|
109
227
|
"sensitive": false
|
|
110
228
|
},
|
|
111
229
|
"ELIZAOS_CLOUD_EMBEDDING_MODEL": {
|
|
@@ -138,7 +256,7 @@
|
|
|
138
256
|
"type": "string",
|
|
139
257
|
"description": "Identifier of the model used for describing images.",
|
|
140
258
|
"required": false,
|
|
141
|
-
"default": "gpt-5-mini",
|
|
259
|
+
"default": "gpt-5.4-mini",
|
|
142
260
|
"sensitive": false
|
|
143
261
|
},
|
|
144
262
|
"ELIZAOS_CLOUD_IMAGE_DESCRIPTION_MAX_TOKENS": {
|
|
@@ -198,13 +316,13 @@
|
|
|
198
316
|
"type": "string",
|
|
199
317
|
"description": "Application version sent during device authentication.",
|
|
200
318
|
"required": false,
|
|
201
|
-
"default": "2.0.0-
|
|
319
|
+
"default": "2.0.0-beta.0",
|
|
202
320
|
"sensitive": false
|
|
203
321
|
}
|
|
204
322
|
}
|
|
205
323
|
},
|
|
206
|
-
"gitHead": "
|
|
207
|
-
"
|
|
324
|
+
"gitHead": "cdbc876f793d96073d7eb0d09715a031ce0cd32e",
|
|
325
|
+
"eliza": {
|
|
208
326
|
"platforms": [
|
|
209
327
|
"browser",
|
|
210
328
|
"node"
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import type { Service } from "@elizaos/core";
|
|
2
|
+
|
|
3
|
+
export interface CloudAuthApiKeyService {
|
|
4
|
+
isAuthenticated: () => boolean;
|
|
5
|
+
getApiKey?: () => string | undefined;
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
export function isCloudAuthApiKeyService(
|
|
9
|
+
value: Service | null | undefined,
|
|
10
|
+
): value is Service & CloudAuthApiKeyService {
|
|
11
|
+
return (
|
|
12
|
+
value !== null &&
|
|
13
|
+
value !== undefined &&
|
|
14
|
+
typeof (value as Partial<CloudAuthApiKeyService>).isAuthenticated ===
|
|
15
|
+
"function"
|
|
16
|
+
);
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
export function normalizeCloudApiKey(value: string | null | undefined): string | null {
|
|
20
|
+
if (typeof value !== "string") return null;
|
|
21
|
+
const trimmed = value.trim();
|
|
22
|
+
if (!trimmed || trimmed.toUpperCase() === "[REDACTED]") return null;
|
|
23
|
+
return trimmed;
|
|
24
|
+
}
|
|
@@ -0,0 +1,175 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Eliza Cloud login flow — reuses the CLI auth session pattern:
|
|
3
|
+
* create session, open browser, poll until authenticated, return API key.
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
import crypto from "node:crypto";
|
|
7
|
+
import { logger } from "@elizaos/core";
|
|
8
|
+
import { normalizeCloudSiteUrl } from "./base-url.js";
|
|
9
|
+
import { validateCloudBaseUrl } from "./validate-url.js";
|
|
10
|
+
|
|
11
|
+
export interface CloudLoginResult {
|
|
12
|
+
apiKey: string;
|
|
13
|
+
keyPrefix: string;
|
|
14
|
+
expiresAt: string | null;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
export interface CloudLoginOptions {
|
|
18
|
+
baseUrl?: string;
|
|
19
|
+
timeoutMs?: number;
|
|
20
|
+
requestTimeoutMs?: number;
|
|
21
|
+
pollIntervalMs?: number;
|
|
22
|
+
onBrowserUrl?: (url: string) => void;
|
|
23
|
+
onPollStatus?: (status: string) => void;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
const DEFAULT_CLOUD_REQUEST_TIMEOUT_MS = 10_000;
|
|
27
|
+
|
|
28
|
+
function isRedirectResponse(response: Response): boolean {
|
|
29
|
+
return response.status >= 300 && response.status < 400;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
function isTimeoutError(err: unknown): boolean {
|
|
33
|
+
if (!(err instanceof Error)) return false;
|
|
34
|
+
if (err.name === "TimeoutError" || err.name === "AbortError") return true;
|
|
35
|
+
const msg = err.message.toLowerCase();
|
|
36
|
+
return msg.includes("timed out") || msg.includes("timeout");
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
async function fetchWithTimeout(
|
|
40
|
+
input: string,
|
|
41
|
+
init: RequestInit,
|
|
42
|
+
timeoutMs: number,
|
|
43
|
+
): Promise<Response> {
|
|
44
|
+
return fetch(input, {
|
|
45
|
+
...init,
|
|
46
|
+
redirect: "manual",
|
|
47
|
+
signal: AbortSignal.timeout(timeoutMs),
|
|
48
|
+
});
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
export async function cloudLogin(
|
|
52
|
+
options: CloudLoginOptions = {},
|
|
53
|
+
): Promise<CloudLoginResult> {
|
|
54
|
+
const baseUrl = normalizeCloudSiteUrl(options.baseUrl);
|
|
55
|
+
const urlError = await validateCloudBaseUrl(baseUrl);
|
|
56
|
+
if (urlError) {
|
|
57
|
+
throw new Error(urlError);
|
|
58
|
+
}
|
|
59
|
+
const timeoutMs = options.timeoutMs ?? 300_000;
|
|
60
|
+
const requestTimeoutMs =
|
|
61
|
+
options.requestTimeoutMs ?? DEFAULT_CLOUD_REQUEST_TIMEOUT_MS;
|
|
62
|
+
const pollIntervalMs = options.pollIntervalMs ?? 2_000;
|
|
63
|
+
const sessionId = crypto.randomUUID();
|
|
64
|
+
|
|
65
|
+
logger.info("[cloud-auth] Creating auth session...");
|
|
66
|
+
|
|
67
|
+
let createResponse: Response;
|
|
68
|
+
try {
|
|
69
|
+
createResponse = await fetchWithTimeout(
|
|
70
|
+
`${baseUrl}/api/auth/cli-session`,
|
|
71
|
+
{
|
|
72
|
+
method: "POST",
|
|
73
|
+
headers: { "Content-Type": "application/json" },
|
|
74
|
+
body: JSON.stringify({ sessionId }),
|
|
75
|
+
},
|
|
76
|
+
requestTimeoutMs,
|
|
77
|
+
);
|
|
78
|
+
} catch (err) {
|
|
79
|
+
if (isTimeoutError(err)) {
|
|
80
|
+
throw new Error(
|
|
81
|
+
`Cloud login request timed out while creating session (>${requestTimeoutMs}ms).`,
|
|
82
|
+
);
|
|
83
|
+
}
|
|
84
|
+
throw new Error(`Failed to create auth session: ${String(err)}`);
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
if (!createResponse.ok) {
|
|
88
|
+
if (isRedirectResponse(createResponse)) {
|
|
89
|
+
throw new Error(
|
|
90
|
+
"Cloud login request was redirected; redirects are not allowed.",
|
|
91
|
+
);
|
|
92
|
+
}
|
|
93
|
+
const errorText = await createResponse.text();
|
|
94
|
+
throw new Error(
|
|
95
|
+
`Failed to create auth session (HTTP ${createResponse.status}): ${errorText}`,
|
|
96
|
+
);
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
const browserUrl = `${baseUrl}/auth/cli-login?session=${encodeURIComponent(sessionId)}`;
|
|
100
|
+
logger.info(`[cloud-auth] Browser URL: ${browserUrl}`);
|
|
101
|
+
options.onBrowserUrl?.(browserUrl);
|
|
102
|
+
|
|
103
|
+
const deadline = Date.now() + timeoutMs;
|
|
104
|
+
|
|
105
|
+
while (Date.now() < deadline) {
|
|
106
|
+
const remainingBeforeSleep = deadline - Date.now();
|
|
107
|
+
if (remainingBeforeSleep <= 0) break;
|
|
108
|
+
await new Promise((resolve) =>
|
|
109
|
+
setTimeout(resolve, Math.min(pollIntervalMs, remainingBeforeSleep)),
|
|
110
|
+
);
|
|
111
|
+
|
|
112
|
+
const remaining = deadline - Date.now();
|
|
113
|
+
if (remaining <= 0) break;
|
|
114
|
+
|
|
115
|
+
let pollResponse: Response;
|
|
116
|
+
try {
|
|
117
|
+
pollResponse = await fetchWithTimeout(
|
|
118
|
+
`${baseUrl}/api/auth/cli-session/${encodeURIComponent(sessionId)}`,
|
|
119
|
+
{},
|
|
120
|
+
Math.min(requestTimeoutMs, remaining),
|
|
121
|
+
);
|
|
122
|
+
} catch (err) {
|
|
123
|
+
if (isTimeoutError(err)) {
|
|
124
|
+
if (remaining <= requestTimeoutMs) {
|
|
125
|
+
break;
|
|
126
|
+
}
|
|
127
|
+
throw new Error(
|
|
128
|
+
`Cloud login polling request timed out (>${Math.min(requestTimeoutMs, remaining)}ms).`,
|
|
129
|
+
);
|
|
130
|
+
}
|
|
131
|
+
throw new Error(`Cloud login polling failed: ${String(err)}`);
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
if (!pollResponse.ok) {
|
|
135
|
+
if (isRedirectResponse(pollResponse)) {
|
|
136
|
+
throw new Error(
|
|
137
|
+
"Cloud login polling request was redirected; redirects are not allowed.",
|
|
138
|
+
);
|
|
139
|
+
}
|
|
140
|
+
if (pollResponse.status === 404) {
|
|
141
|
+
throw new Error("Auth session expired or not found. Please try again.");
|
|
142
|
+
}
|
|
143
|
+
options.onPollStatus?.("error");
|
|
144
|
+
continue;
|
|
145
|
+
}
|
|
146
|
+
|
|
147
|
+
const data = (await pollResponse.json()) as {
|
|
148
|
+
status: string;
|
|
149
|
+
apiKey?: string;
|
|
150
|
+
keyPrefix?: string;
|
|
151
|
+
expiresAt?: string;
|
|
152
|
+
};
|
|
153
|
+
|
|
154
|
+
options.onPollStatus?.(data.status);
|
|
155
|
+
|
|
156
|
+
if (data.status === "authenticated" && data.apiKey) {
|
|
157
|
+
logger.info("[cloud-auth] Authentication complete");
|
|
158
|
+
return {
|
|
159
|
+
apiKey: data.apiKey,
|
|
160
|
+
keyPrefix: data.keyPrefix ?? "",
|
|
161
|
+
expiresAt: data.expiresAt ?? null,
|
|
162
|
+
};
|
|
163
|
+
}
|
|
164
|
+
|
|
165
|
+
if (data.status === "authenticated" && !data.apiKey) {
|
|
166
|
+
throw new Error(
|
|
167
|
+
"Auth session was completed but the API key was already retrieved. Please try logging in again.",
|
|
168
|
+
);
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
|
|
172
|
+
throw new Error(
|
|
173
|
+
`Cloud login timed out. The browser login was not completed within ${Math.round(timeoutMs / 1000)} seconds.`,
|
|
174
|
+
);
|
|
175
|
+
}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Periodic state backup scheduler for cloud sandboxes.
|
|
3
|
+
* Default interval: 60s. Configurable via cloud.backup.autoBackupIntervalMs.
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
import { logger } from "@elizaos/core";
|
|
7
|
+
import type { ElizaCloudClient } from "./bridge-client.js";
|
|
8
|
+
|
|
9
|
+
export class BackupScheduler {
|
|
10
|
+
private timer: ReturnType<typeof setInterval> | null = null;
|
|
11
|
+
private running = false;
|
|
12
|
+
|
|
13
|
+
constructor(
|
|
14
|
+
private client: ElizaCloudClient,
|
|
15
|
+
private agentId: string,
|
|
16
|
+
private intervalMs: number = 60_000,
|
|
17
|
+
) {}
|
|
18
|
+
|
|
19
|
+
start(): void {
|
|
20
|
+
if (this.timer) return;
|
|
21
|
+
this.running = true;
|
|
22
|
+
this.timer = setInterval(() => {
|
|
23
|
+
this.client.snapshot(this.agentId).catch((err) => {
|
|
24
|
+
logger.warn(`[cloud-backup] Auto-backup failed: ${String(err)}`);
|
|
25
|
+
});
|
|
26
|
+
}, this.intervalMs);
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
stop(): void {
|
|
30
|
+
if (this.timer) {
|
|
31
|
+
clearInterval(this.timer);
|
|
32
|
+
this.timer = null;
|
|
33
|
+
}
|
|
34
|
+
this.running = false;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
isRunning(): boolean {
|
|
38
|
+
return this.running;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
async finalSnapshot(): Promise<void> {
|
|
42
|
+
await this.client.snapshot(this.agentId).catch((err) => {
|
|
43
|
+
logger.warn(`[cloud-backup] Final snapshot failed: ${String(err)}`);
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Cloud site/API URL normalizer. The implementation moved to
|
|
3
|
+
* `@elizaos/shared/elizacloud/base-url` so host-layer packages can normalize
|
|
4
|
+
* URLs without reverse-importing this plugin.
|
|
5
|
+
*/
|
|
6
|
+
export { normalizeCloudSiteUrl, resolveCloudApiBaseUrl } from "@elizaos/shared";
|