@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,67 @@
|
|
|
1
|
+
import type {
|
|
2
|
+
ProcessEnvLike,
|
|
3
|
+
DetokenizeTextParams,
|
|
4
|
+
IAgentRuntime,
|
|
5
|
+
ModelTypeName,
|
|
6
|
+
TokenizeTextParams,
|
|
7
|
+
|
|
8
|
+
} from "@elizaos/core";
|
|
9
|
+
import { ModelType } from "@elizaos/core";
|
|
10
|
+
import { DEFAULT_ELIZA_CLOUD_TEXT_MODEL } from "@elizaos/core";
|
|
11
|
+
import { encodingForModel, type TiktokenModel } from "js-tiktoken";
|
|
12
|
+
|
|
13
|
+
function getProcessEnv(): ProcessEnvLike {
|
|
14
|
+
if (typeof process === "undefined") {
|
|
15
|
+
return {};
|
|
16
|
+
}
|
|
17
|
+
return process.env as ProcessEnvLike;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
const env = getProcessEnv();
|
|
21
|
+
|
|
22
|
+
function getConfiguredTokenizerModel(model: ModelTypeName): string {
|
|
23
|
+
return model === ModelType.TEXT_SMALL
|
|
24
|
+
? (env.ELIZAOS_CLOUD_SMALL_MODEL ?? env.SMALL_MODEL ?? DEFAULT_ELIZA_CLOUD_TEXT_MODEL)
|
|
25
|
+
: (env.ELIZAOS_CLOUD_LARGE_MODEL ?? env.LARGE_MODEL ?? DEFAULT_ELIZA_CLOUD_TEXT_MODEL);
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
function tiktokenCandidates(modelName: string): string[] {
|
|
29
|
+
const slashIndex = modelName.indexOf("/");
|
|
30
|
+
const providerless = slashIndex >= 0 ? modelName.slice(slashIndex + 1) : modelName;
|
|
31
|
+
const baseVariant = providerless.split(":")[0] || providerless;
|
|
32
|
+
return [modelName, providerless, baseVariant, "gpt-4o"];
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
function getEncodingForConfiguredModel(modelName: string) {
|
|
36
|
+
for (const candidate of tiktokenCandidates(modelName)) {
|
|
37
|
+
try {
|
|
38
|
+
return encodingForModel(candidate as TiktokenModel);
|
|
39
|
+
} catch {
|
|
40
|
+
// Try the next compatible tokenizer name.
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
return encodingForModel("gpt-4o" as TiktokenModel);
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
async function tokenizeText(model: ModelTypeName, prompt: string): Promise<number[]> {
|
|
47
|
+
const tokens = getEncodingForConfiguredModel(getConfiguredTokenizerModel(model)).encode(prompt);
|
|
48
|
+
return tokens;
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
async function detokenizeText(model: ModelTypeName, tokens: number[]): Promise<string> {
|
|
52
|
+
return getEncodingForConfiguredModel(getConfiguredTokenizerModel(model)).decode(tokens);
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
export async function handleTokenizerEncode(
|
|
56
|
+
_runtime: IAgentRuntime,
|
|
57
|
+
{ prompt, modelType = ModelType.TEXT_LARGE }: TokenizeTextParams
|
|
58
|
+
): Promise<number[]> {
|
|
59
|
+
return await tokenizeText(modelType ?? ModelType.TEXT_LARGE, prompt);
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
export async function handleTokenizerDecode(
|
|
63
|
+
_runtime: IAgentRuntime,
|
|
64
|
+
{ tokens, modelType = ModelType.TEXT_LARGE }: DetokenizeTextParams
|
|
65
|
+
): Promise<string> {
|
|
66
|
+
return await detokenizeText(modelType ?? ModelType.TEXT_LARGE, tokens);
|
|
67
|
+
}
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
import type { IAgentRuntime } from "@elizaos/core";
|
|
2
|
+
import { logger } from "@elizaos/core";
|
|
3
|
+
import type { OpenAITranscriptionParams } from "../types";
|
|
4
|
+
import { getSetting, resolveCloudTimeoutMs } from "../utils/config";
|
|
5
|
+
import { detectAudioMimeType } from "../utils/helpers";
|
|
6
|
+
import { createElizaCloudClient } from "../utils/sdk-client";
|
|
7
|
+
|
|
8
|
+
export async function handleTranscription(
|
|
9
|
+
runtime: IAgentRuntime,
|
|
10
|
+
input: Blob | File | Buffer | OpenAITranscriptionParams
|
|
11
|
+
): Promise<string> {
|
|
12
|
+
let modelName = getSetting(runtime, "ELIZAOS_CLOUD_TRANSCRIPTION_MODEL", "gpt-5-mini-transcribe");
|
|
13
|
+
logger.log(`[ELIZAOS_CLOUD] Using TRANSCRIPTION model: ${modelName}`);
|
|
14
|
+
|
|
15
|
+
let blob: Blob;
|
|
16
|
+
let extraParams: OpenAITranscriptionParams | null = null;
|
|
17
|
+
|
|
18
|
+
if (input instanceof Blob || input instanceof File) {
|
|
19
|
+
blob = input as Blob;
|
|
20
|
+
} else if (Buffer.isBuffer(input)) {
|
|
21
|
+
const detectedMimeType = detectAudioMimeType(input);
|
|
22
|
+
logger.debug(`Auto-detected audio MIME type: ${detectedMimeType}`);
|
|
23
|
+
blob = new Blob([input] as never, { type: detectedMimeType });
|
|
24
|
+
} else if (
|
|
25
|
+
typeof input === "object" &&
|
|
26
|
+
input !== null &&
|
|
27
|
+
"audio" in input &&
|
|
28
|
+
input.audio != null
|
|
29
|
+
) {
|
|
30
|
+
const params = input as OpenAITranscriptionParams;
|
|
31
|
+
if (
|
|
32
|
+
!(params.audio instanceof Blob) &&
|
|
33
|
+
!(params.audio instanceof File) &&
|
|
34
|
+
!Buffer.isBuffer(params.audio)
|
|
35
|
+
) {
|
|
36
|
+
throw new Error("TRANSCRIPTION param 'audio' must be a Blob/File/Buffer.");
|
|
37
|
+
}
|
|
38
|
+
if (Buffer.isBuffer(params.audio)) {
|
|
39
|
+
let mimeType = params.mimeType;
|
|
40
|
+
if (!mimeType) {
|
|
41
|
+
mimeType = detectAudioMimeType(params.audio);
|
|
42
|
+
logger.debug(`Auto-detected audio MIME type: ${mimeType}`);
|
|
43
|
+
} else {
|
|
44
|
+
logger.debug(`Using provided MIME type: ${mimeType}`);
|
|
45
|
+
}
|
|
46
|
+
blob = new Blob([params.audio] as never, { type: mimeType });
|
|
47
|
+
} else {
|
|
48
|
+
blob = params.audio as Blob;
|
|
49
|
+
}
|
|
50
|
+
extraParams = params;
|
|
51
|
+
if (typeof params.model === "string" && params.model) {
|
|
52
|
+
modelName = params.model;
|
|
53
|
+
}
|
|
54
|
+
} else {
|
|
55
|
+
throw new Error(
|
|
56
|
+
"TRANSCRIPTION expects a Blob/File/Buffer or an object { audio: Blob/File/Buffer, mimeType?, language?, response_format?, timestampGranularities?, prompt?, temperature?, model? }"
|
|
57
|
+
);
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
const mime = (blob as File).type || "audio/webm";
|
|
61
|
+
const filename =
|
|
62
|
+
(blob as File).name ||
|
|
63
|
+
(mime.includes("mp3") || mime.includes("mpeg")
|
|
64
|
+
? "recording.mp3"
|
|
65
|
+
: mime.includes("ogg")
|
|
66
|
+
? "recording.ogg"
|
|
67
|
+
: mime.includes("wav")
|
|
68
|
+
? "recording.wav"
|
|
69
|
+
: mime.includes("webm")
|
|
70
|
+
? "recording.webm"
|
|
71
|
+
: "recording.bin");
|
|
72
|
+
|
|
73
|
+
const formData = new FormData();
|
|
74
|
+
formData.append("audio", blob, filename);
|
|
75
|
+
if (extraParams) {
|
|
76
|
+
if (typeof extraParams.language === "string") {
|
|
77
|
+
formData.append("languageCode", String(extraParams.language));
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
try {
|
|
82
|
+
const response = await createElizaCloudClient(runtime).routes.postApiV1VoiceSttRaw({
|
|
83
|
+
body: formData,
|
|
84
|
+
timeoutMs: resolveCloudTimeoutMs("ELIZAOS_CLOUD_STT_TIMEOUT_MS", 60_000),
|
|
85
|
+
});
|
|
86
|
+
|
|
87
|
+
if (!response.ok) {
|
|
88
|
+
throw new Error(`Failed to transcribe audio: ${response.status} ${response.statusText}`);
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
const data = (await response.json()) as {
|
|
92
|
+
text?: string;
|
|
93
|
+
transcript?: string;
|
|
94
|
+
};
|
|
95
|
+
return data.text ?? data.transcript ?? "";
|
|
96
|
+
} catch (error) {
|
|
97
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
98
|
+
logger.error(`TRANSCRIPTION error: ${message}`);
|
|
99
|
+
throw error;
|
|
100
|
+
}
|
|
101
|
+
}
|
package/src/plugin.ts
ADDED
|
@@ -0,0 +1,281 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Eliza Cloud route plugin — registers `/api/cloud/*` route handlers with the
|
|
3
|
+
* elizaOS runtime plugin route system.
|
|
4
|
+
*
|
|
5
|
+
* All routes use `rawPath: true` to preserve the legacy `/api/cloud/*` paths
|
|
6
|
+
* without a plugin-name prefix. This module is node-only — the main plugin
|
|
7
|
+
* (services, actions, providers, model handlers) lives in `index.node.ts`
|
|
8
|
+
* and is browser-safe; this `plugin.ts` is loaded only on the server via
|
|
9
|
+
* `register-routes.ts`.
|
|
10
|
+
*
|
|
11
|
+
* Migrated from packages/app-core/src/api/cloud-routes.ts and
|
|
12
|
+
* cloud-status-routes.ts. The login/persist, login/status and disconnect
|
|
13
|
+
* paths each carry a small loopback-PUT that previously lived inline in
|
|
14
|
+
* server.ts; that orchestration moved here so server.ts no longer needs
|
|
15
|
+
* to import the cloud handlers directly.
|
|
16
|
+
*/
|
|
17
|
+
|
|
18
|
+
import type http from "node:http";
|
|
19
|
+
import { logger } from "@elizaos/core";
|
|
20
|
+
import type { Plugin, Route } from "@elizaos/core";
|
|
21
|
+
import { getRuntimeRouteHostContext } from "@elizaos/core";
|
|
22
|
+
import type { ElizaConfig } from "./lib/config-like";
|
|
23
|
+
import { sendJson } from "./lib/http";
|
|
24
|
+
import {
|
|
25
|
+
type CloudBillingRouteState,
|
|
26
|
+
handleCloudBillingRoute,
|
|
27
|
+
} from "./routes/cloud-billing-routes";
|
|
28
|
+
import {
|
|
29
|
+
type CloudRouteState,
|
|
30
|
+
handleCloudRoute,
|
|
31
|
+
} from "./routes/cloud-routes";
|
|
32
|
+
import { handleCloudStatusRoutes } from "./routes/cloud-status-routes";
|
|
33
|
+
|
|
34
|
+
type AnyRuntime = Parameters<typeof handleCloudStatusRoutes>[0]["runtime"];
|
|
35
|
+
|
|
36
|
+
function getHostContext(runtime: unknown) {
|
|
37
|
+
return getRuntimeRouteHostContext<Record<string, unknown>>(
|
|
38
|
+
runtime && typeof runtime === "object" ? runtime : null,
|
|
39
|
+
);
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
function getRuntimeConfig(runtime: unknown): ElizaConfig {
|
|
43
|
+
return (getHostContext(runtime)?.config ?? {}) as ElizaConfig;
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
function makeStatusHandler() {
|
|
47
|
+
return async (
|
|
48
|
+
req: unknown,
|
|
49
|
+
res: unknown,
|
|
50
|
+
runtime: unknown,
|
|
51
|
+
): Promise<void> => {
|
|
52
|
+
const httpReq = req as http.IncomingMessage;
|
|
53
|
+
const httpRes = res as http.ServerResponse;
|
|
54
|
+
const url = new URL(httpReq.url ?? "/", "http://localhost");
|
|
55
|
+
const method = (httpReq.method ?? "GET").toUpperCase();
|
|
56
|
+
const runtimeRef = runtime as AnyRuntime;
|
|
57
|
+
const config = getRuntimeConfig(runtime);
|
|
58
|
+
|
|
59
|
+
await handleCloudStatusRoutes({
|
|
60
|
+
req: httpReq,
|
|
61
|
+
res: httpRes,
|
|
62
|
+
method,
|
|
63
|
+
pathname: url.pathname,
|
|
64
|
+
config,
|
|
65
|
+
runtime: runtimeRef,
|
|
66
|
+
json: (_res, body, status = 200) => {
|
|
67
|
+
sendJson(httpRes, body, status);
|
|
68
|
+
},
|
|
69
|
+
});
|
|
70
|
+
};
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
/**
|
|
74
|
+
* Generic handler for the rest of `/api/cloud/*` (login, disconnect,
|
|
75
|
+
* relay-status, …). Carries the post-dispatch loopback sync that
|
|
76
|
+
* previously lived inline in server.ts.
|
|
77
|
+
*/
|
|
78
|
+
function makeCloudRouteHandler() {
|
|
79
|
+
return async (
|
|
80
|
+
req: unknown,
|
|
81
|
+
res: unknown,
|
|
82
|
+
runtime: unknown,
|
|
83
|
+
): Promise<void> => {
|
|
84
|
+
const httpReq = req as http.IncomingMessage;
|
|
85
|
+
const httpRes = res as http.ServerResponse;
|
|
86
|
+
const url = new URL(httpReq.url ?? "/", "http://localhost");
|
|
87
|
+
const method = (httpReq.method ?? "GET").toUpperCase();
|
|
88
|
+
const hostContext = getHostContext(runtime);
|
|
89
|
+
|
|
90
|
+
if (!hostContext?.config) {
|
|
91
|
+
logger.warn("[eliza-cloud-routes] host config unavailable");
|
|
92
|
+
}
|
|
93
|
+
const config = (hostContext?.config ?? {}) as ElizaConfig;
|
|
94
|
+
const cloudState: CloudRouteState = {
|
|
95
|
+
config,
|
|
96
|
+
runtime: runtime as CloudRouteState["runtime"],
|
|
97
|
+
cloudManager: null,
|
|
98
|
+
restartRuntime: hostContext?.restartRuntime,
|
|
99
|
+
services: {
|
|
100
|
+
createIntegrationTelemetrySpan: hostContext?.createTelemetrySpan,
|
|
101
|
+
saveElizaConfig: (nextConfig) => {
|
|
102
|
+
hostContext?.saveConfig?.(
|
|
103
|
+
nextConfig as Record<string, unknown>,
|
|
104
|
+
);
|
|
105
|
+
},
|
|
106
|
+
},
|
|
107
|
+
};
|
|
108
|
+
|
|
109
|
+
const handled = await handleCloudRoute(
|
|
110
|
+
httpReq,
|
|
111
|
+
httpRes,
|
|
112
|
+
url.pathname,
|
|
113
|
+
method,
|
|
114
|
+
cloudState,
|
|
115
|
+
);
|
|
116
|
+
|
|
117
|
+
if (!handled) {
|
|
118
|
+
return;
|
|
119
|
+
}
|
|
120
|
+
};
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
function makeBillingRouteHandler() {
|
|
124
|
+
return async (
|
|
125
|
+
req: unknown,
|
|
126
|
+
res: unknown,
|
|
127
|
+
runtime: unknown,
|
|
128
|
+
): Promise<void> => {
|
|
129
|
+
const httpReq = req as http.IncomingMessage;
|
|
130
|
+
const httpRes = res as http.ServerResponse;
|
|
131
|
+
const url = new URL(httpReq.url ?? "/", "http://localhost");
|
|
132
|
+
const method = (httpReq.method ?? "GET").toUpperCase();
|
|
133
|
+
const hostContext = getHostContext(runtime);
|
|
134
|
+
const state: CloudBillingRouteState = {
|
|
135
|
+
config: (hostContext?.config ?? {}) as ElizaConfig,
|
|
136
|
+
runtime: runtime as CloudBillingRouteState["runtime"],
|
|
137
|
+
};
|
|
138
|
+
|
|
139
|
+
await handleCloudBillingRoute(
|
|
140
|
+
httpReq,
|
|
141
|
+
httpRes,
|
|
142
|
+
url.pathname,
|
|
143
|
+
method,
|
|
144
|
+
state,
|
|
145
|
+
);
|
|
146
|
+
};
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
const cloudStatusHandler = makeStatusHandler();
|
|
150
|
+
const cloudRouteHandler = makeCloudRouteHandler();
|
|
151
|
+
const cloudBillingRouteHandler = makeBillingRouteHandler();
|
|
152
|
+
|
|
153
|
+
const cloudRoutes: Route[] = [
|
|
154
|
+
// Status surface (read-only). Note: server.ts may exempt this from auth on
|
|
155
|
+
// cloud-provisioned containers BEFORE the plugin route system fires.
|
|
156
|
+
{
|
|
157
|
+
type: "GET",
|
|
158
|
+
path: "/api/cloud/status",
|
|
159
|
+
rawPath: true,
|
|
160
|
+
handler: cloudStatusHandler,
|
|
161
|
+
},
|
|
162
|
+
{
|
|
163
|
+
type: "GET",
|
|
164
|
+
path: "/api/cloud/credits",
|
|
165
|
+
rawPath: true,
|
|
166
|
+
handler: cloudStatusHandler,
|
|
167
|
+
},
|
|
168
|
+
{
|
|
169
|
+
type: "GET",
|
|
170
|
+
path: "/api/cloud/relay-status",
|
|
171
|
+
rawPath: true,
|
|
172
|
+
handler: cloudRouteHandler,
|
|
173
|
+
},
|
|
174
|
+
{
|
|
175
|
+
type: "POST",
|
|
176
|
+
path: "/api/cloud/coding-containers/promotions",
|
|
177
|
+
rawPath: true,
|
|
178
|
+
handler: cloudRouteHandler,
|
|
179
|
+
},
|
|
180
|
+
{
|
|
181
|
+
type: "POST",
|
|
182
|
+
path: "/api/cloud/coding-containers",
|
|
183
|
+
rawPath: true,
|
|
184
|
+
handler: cloudRouteHandler,
|
|
185
|
+
},
|
|
186
|
+
{
|
|
187
|
+
type: "POST",
|
|
188
|
+
path: "/api/cloud/coding-containers/:containerId/sync",
|
|
189
|
+
rawPath: true,
|
|
190
|
+
handler: cloudRouteHandler,
|
|
191
|
+
},
|
|
192
|
+
...(["GET", "POST", "PUT", "PATCH", "DELETE"] as const).map((type) => ({
|
|
193
|
+
type,
|
|
194
|
+
path: "/api/cloud/billing/:path*",
|
|
195
|
+
rawPath: true,
|
|
196
|
+
handler: cloudBillingRouteHandler,
|
|
197
|
+
})),
|
|
198
|
+
{
|
|
199
|
+
type: "POST",
|
|
200
|
+
path: "/api/cloud/disconnect",
|
|
201
|
+
rawPath: true,
|
|
202
|
+
handler: cloudRouteHandler,
|
|
203
|
+
},
|
|
204
|
+
{
|
|
205
|
+
type: "POST",
|
|
206
|
+
path: "/api/cloud/login",
|
|
207
|
+
rawPath: true,
|
|
208
|
+
handler: cloudRouteHandler,
|
|
209
|
+
},
|
|
210
|
+
{
|
|
211
|
+
type: "POST",
|
|
212
|
+
path: "/api/cloud/login/persist",
|
|
213
|
+
rawPath: true,
|
|
214
|
+
handler: cloudRouteHandler,
|
|
215
|
+
},
|
|
216
|
+
{
|
|
217
|
+
type: "GET",
|
|
218
|
+
path: "/api/cloud/login/status",
|
|
219
|
+
rawPath: true,
|
|
220
|
+
handler: cloudRouteHandler,
|
|
221
|
+
},
|
|
222
|
+
{
|
|
223
|
+
type: "GET",
|
|
224
|
+
path: "/api/cloud/agents",
|
|
225
|
+
rawPath: true,
|
|
226
|
+
handler: cloudRouteHandler,
|
|
227
|
+
},
|
|
228
|
+
{
|
|
229
|
+
type: "POST",
|
|
230
|
+
path: "/api/cloud/agents",
|
|
231
|
+
rawPath: true,
|
|
232
|
+
handler: cloudRouteHandler,
|
|
233
|
+
},
|
|
234
|
+
{
|
|
235
|
+
type: "POST",
|
|
236
|
+
path: "/api/cloud/agents/:agentId/provision",
|
|
237
|
+
rawPath: true,
|
|
238
|
+
handler: cloudRouteHandler,
|
|
239
|
+
},
|
|
240
|
+
{
|
|
241
|
+
type: "POST",
|
|
242
|
+
path: "/api/cloud/agents/:agentId/connect",
|
|
243
|
+
rawPath: true,
|
|
244
|
+
handler: cloudRouteHandler,
|
|
245
|
+
},
|
|
246
|
+
{
|
|
247
|
+
type: "POST",
|
|
248
|
+
path: "/api/cloud/agents/:agentId/shutdown",
|
|
249
|
+
rawPath: true,
|
|
250
|
+
handler: cloudRouteHandler,
|
|
251
|
+
},
|
|
252
|
+
{
|
|
253
|
+
type: "POST",
|
|
254
|
+
path: "/api/cloud/coding-containers/promotions",
|
|
255
|
+
rawPath: true,
|
|
256
|
+
handler: cloudRouteHandler,
|
|
257
|
+
},
|
|
258
|
+
{
|
|
259
|
+
type: "POST",
|
|
260
|
+
path: "/api/cloud/coding-containers",
|
|
261
|
+
rawPath: true,
|
|
262
|
+
handler: cloudRouteHandler,
|
|
263
|
+
},
|
|
264
|
+
{
|
|
265
|
+
type: "POST",
|
|
266
|
+
path: "/api/cloud/coding-containers/:containerId/sync",
|
|
267
|
+
rawPath: true,
|
|
268
|
+
handler: cloudRouteHandler,
|
|
269
|
+
},
|
|
270
|
+
];
|
|
271
|
+
|
|
272
|
+
export const elizaCloudRoutePlugin: Plugin = {
|
|
273
|
+
name: "@elizaos/plugin-elizacloud:routes",
|
|
274
|
+
description:
|
|
275
|
+
"Eliza Cloud connection, login, status, credit, and relay routes (extracted from app-core/server.ts)",
|
|
276
|
+
routes: cloudRoutes,
|
|
277
|
+
// Routes-only plugin — no services or persistent resources to dispose.
|
|
278
|
+
dispose: async (_runtime) => {},
|
|
279
|
+
};
|
|
280
|
+
|
|
281
|
+
export default elizaCloudRoutePlugin;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { createOpenAI } from "@ai-sdk/openai";
|
|
2
|
+
import type { IAgentRuntime } from "@elizaos/core";
|
|
3
|
+
import { getApiKey, getBaseURL, isProxyMode } from "../utils/config";
|
|
4
|
+
|
|
5
|
+
export function createOpenAIClient(runtime: IAgentRuntime) {
|
|
6
|
+
const baseURL = getBaseURL(runtime);
|
|
7
|
+
const apiKey = getApiKey(runtime) ?? (isProxyMode(runtime) ? "eliza-proxy" : undefined);
|
|
8
|
+
// NOTE: Callers must use openai.chat(modelName) instead of openai(modelName)
|
|
9
|
+
// to force the Chat Completions API. The default openai(modelName) routes
|
|
10
|
+
// to the Responses API which does not support presencePenalty,
|
|
11
|
+
// frequencyPenalty, or stopSequences and emits noisy warnings.
|
|
12
|
+
return createOpenAI({
|
|
13
|
+
apiKey: (apiKey ?? "") as string,
|
|
14
|
+
baseURL,
|
|
15
|
+
});
|
|
16
|
+
}
|