@elizaos/plugin-elizacloud 2.0.0-beta.1 → 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.
Files changed (285) hide show
  1. package/README.md +20 -44
  2. package/auto-enable.ts +10 -5
  3. package/dist/browser/index.browser.js +2 -2
  4. package/dist/browser/index.browser.js.map +4 -4
  5. package/dist/cjs/index.node.cjs +2874 -5915
  6. package/dist/cjs/index.node.js.map +47 -116
  7. package/dist/cloud/auth-service-types.d.ts +8 -0
  8. package/dist/cloud/auth-service-types.d.ts.map +1 -0
  9. package/dist/cloud/auth-service-types.js +36 -0
  10. package/dist/cloud/auth-service-types.js.map +10 -0
  11. package/dist/cloud/auth.js +4 -51
  12. package/dist/cloud/auth.js.map +4 -4
  13. package/dist/cloud/base-url.d.ts +6 -2
  14. package/dist/cloud/base-url.d.ts.map +1 -1
  15. package/dist/cloud/base-url.js +3 -51
  16. package/dist/cloud/base-url.js.map +3 -3
  17. package/dist/cloud/bridge-client.d.ts +3 -3
  18. package/dist/cloud/bridge-client.d.ts.map +1 -1
  19. package/dist/cloud/bridge-client.js +3 -51
  20. package/dist/cloud/bridge-client.js.map +3 -3
  21. package/dist/cloud/clack-observer.d.ts +35 -0
  22. package/dist/cloud/clack-observer.d.ts.map +1 -0
  23. package/dist/cloud/clack-observer.js +143 -0
  24. package/dist/cloud/clack-observer.js.map +10 -0
  25. package/dist/cloud/cloud-manager.js +45 -92
  26. package/dist/cloud/cloud-manager.js.map +6 -6
  27. package/dist/cloud/cloud-wallet.js +2 -4835
  28. package/dist/cloud/cloud-wallet.js.map +3 -82
  29. package/dist/cloud/duffel-client.d.ts +181 -0
  30. package/dist/cloud/duffel-client.d.ts.map +1 -0
  31. package/dist/cloud/duffel-client.js +506 -0
  32. package/dist/cloud/duffel-client.js.map +11 -0
  33. package/dist/cloud/index.d.ts +6 -0
  34. package/dist/cloud/index.d.ts.map +1 -1
  35. package/dist/cloud/index.js +1782 -1
  36. package/dist/cloud/index.js.map +18 -3
  37. package/dist/cloud/lifeops-schedule-sync-client.d.ts +43 -0
  38. package/dist/cloud/lifeops-schedule-sync-client.d.ts.map +1 -0
  39. package/dist/cloud/lifeops-schedule-sync-client.js +180 -0
  40. package/dist/cloud/lifeops-schedule-sync-client.js.map +11 -0
  41. package/dist/cloud/lifeops-schedule-sync-contracts.d.ts +89 -0
  42. package/dist/cloud/lifeops-schedule-sync-contracts.d.ts.map +1 -0
  43. package/dist/cloud/lifeops-schedule-sync-contracts.js +39 -0
  44. package/dist/cloud/lifeops-schedule-sync-contracts.js.map +10 -0
  45. package/dist/cloud/managed-payment-clients.d.ts +166 -0
  46. package/dist/cloud/managed-payment-clients.d.ts.map +1 -0
  47. package/dist/cloud/managed-payment-clients.js +238 -0
  48. package/dist/cloud/managed-payment-clients.js.map +11 -0
  49. package/dist/cloud/null-observer.d.ts +35 -0
  50. package/dist/cloud/null-observer.d.ts.map +1 -0
  51. package/dist/cloud/null-observer.js +45 -0
  52. package/dist/cloud/null-observer.js.map +10 -0
  53. package/dist/cloud/setup-observer.d.ts +98 -0
  54. package/dist/cloud/setup-observer.d.ts.map +1 -0
  55. package/dist/cloud/setup-observer.js +2 -0
  56. package/dist/cloud/setup-observer.js.map +9 -0
  57. package/dist/cloud/validate-url.d.ts.map +1 -1
  58. package/dist/cloud/validate-url.js +2 -1
  59. package/dist/cloud/validate-url.js.map +3 -3
  60. package/dist/cloud/x402-payment-handler.d.ts +85 -0
  61. package/dist/cloud/x402-payment-handler.d.ts.map +1 -0
  62. package/dist/cloud/x402-payment-handler.js +119 -0
  63. package/dist/cloud/x402-payment-handler.js.map +10 -0
  64. package/dist/cloud-setup.d.ts +36 -0
  65. package/dist/cloud-setup.d.ts.map +1 -0
  66. package/dist/{onboarding.js → cloud-setup.js} +139 -139
  67. package/dist/cloud-setup.js.map +14 -0
  68. package/dist/cloud-voice-catalog.d.ts +65 -0
  69. package/dist/cloud-voice-catalog.d.ts.map +1 -0
  70. package/dist/cloud-voice-catalog.js +278 -0
  71. package/dist/cloud-voice-catalog.js.map +12 -0
  72. package/dist/index.browser.d.ts +11 -0
  73. package/dist/index.browser.d.ts.map +1 -1
  74. package/dist/index.d.ts +7 -1
  75. package/dist/index.d.ts.map +1 -1
  76. package/dist/index.js +5416 -8405
  77. package/dist/index.js.map +48 -116
  78. package/dist/index.node.d.ts +8 -1
  79. package/dist/index.node.d.ts.map +1 -1
  80. package/dist/init.js +17 -4
  81. package/dist/init.js.map +4 -4
  82. package/dist/lib/cloud-connection.d.ts +0 -1
  83. package/dist/lib/cloud-connection.d.ts.map +1 -1
  84. package/dist/lib/cloud-connection.js +14 -91
  85. package/dist/lib/cloud-connection.js.map +7 -7
  86. package/dist/lib/cloud-secrets.d.ts +5 -18
  87. package/dist/lib/cloud-secrets.d.ts.map +1 -1
  88. package/dist/lib/cloud-secrets.js +8 -36
  89. package/dist/lib/cloud-secrets.js.map +3 -3
  90. package/dist/lib/config-like.d.ts +1 -1
  91. package/dist/lib/config-like.d.ts.map +1 -1
  92. package/dist/lib/config-like.js +3 -3
  93. package/dist/lib/config-like.js.map +3 -3
  94. package/dist/lib/credential-type-map.d.ts +1 -1
  95. package/dist/lib/credential-type-map.js.map +1 -1
  96. package/dist/lib/http.d.ts +0 -11
  97. package/dist/lib/http.d.ts.map +1 -1
  98. package/dist/lib/http.js.map +2 -2
  99. package/dist/lib/server-cloud-tts.d.ts +12 -25
  100. package/dist/lib/server-cloud-tts.d.ts.map +1 -1
  101. package/dist/lib/server-cloud-tts.js +31 -329
  102. package/dist/lib/server-cloud-tts.js.map +4 -7
  103. package/dist/lib/tts-debug.d.ts +5 -3
  104. package/dist/lib/tts-debug.d.ts.map +1 -1
  105. package/dist/lib/tts-debug.js +1 -34
  106. package/dist/lib/tts-debug.js.map +3 -4
  107. package/dist/models/embeddings.d.ts.map +1 -1
  108. package/dist/models/embeddings.js +79 -69
  109. package/dist/models/embeddings.js.map +6 -6
  110. package/dist/models/image.d.ts.map +1 -1
  111. package/dist/models/image.js +42 -15
  112. package/dist/models/image.js.map +6 -6
  113. package/dist/models/index.js +676 -166
  114. package/dist/models/index.js.map +11 -12
  115. package/dist/models/research.d.ts.map +1 -1
  116. package/dist/models/research.js +24 -7
  117. package/dist/models/research.js.map +6 -6
  118. package/dist/models/speech.d.ts +61 -3
  119. package/dist/models/speech.d.ts.map +1 -1
  120. package/dist/models/speech.js +173 -17
  121. package/dist/models/speech.js.map +5 -5
  122. package/dist/models/text.d.ts +106 -1
  123. package/dist/models/text.d.ts.map +1 -1
  124. package/dist/models/text.js +452 -82
  125. package/dist/models/text.js.map +7 -8
  126. package/dist/models/tokenization.d.ts.map +1 -1
  127. package/dist/models/tokenization.js.map +2 -2
  128. package/dist/models/transcription.d.ts.map +1 -1
  129. package/dist/models/transcription.js +20 -6
  130. package/dist/models/transcription.js.map +5 -5
  131. package/dist/node/index.node.js +2828 -5838
  132. package/dist/node/index.node.js.map +47 -116
  133. package/dist/plugin.d.ts.map +1 -1
  134. package/dist/plugin.js +376 -5050
  135. package/dist/plugin.js.map +16 -92
  136. package/dist/providers/openai.js +11 -2
  137. package/dist/providers/openai.js.map +3 -3
  138. package/dist/register-routes.js +376 -5050
  139. package/dist/register-routes.js.map +16 -92
  140. package/dist/routes/cloud-billing-routes.d.ts.map +1 -1
  141. package/dist/routes/cloud-billing-routes.js +17 -60
  142. package/dist/routes/cloud-billing-routes.js.map +8 -7
  143. package/dist/routes/cloud-coding-container-routes.d.ts +8 -0
  144. package/dist/routes/cloud-coding-container-routes.d.ts.map +1 -0
  145. package/dist/routes/cloud-coding-container-routes.js +214 -0
  146. package/dist/routes/cloud-coding-container-routes.js.map +11 -0
  147. package/dist/routes/cloud-compat-routes.d.ts.map +1 -1
  148. package/dist/routes/cloud-compat-routes.js +17 -60
  149. package/dist/routes/cloud-compat-routes.js.map +8 -7
  150. package/dist/routes/cloud-features-routes.js +2 -2
  151. package/dist/routes/cloud-features-routes.js.map +4 -4
  152. package/dist/routes/cloud-relay-routes.d.ts +2 -1
  153. package/dist/routes/cloud-relay-routes.d.ts.map +1 -1
  154. package/dist/routes/cloud-relay-routes.js +84 -2
  155. package/dist/routes/cloud-relay-routes.js.map +5 -4
  156. package/dist/routes/cloud-routes-autonomous.d.ts +3 -4
  157. package/dist/routes/cloud-routes-autonomous.d.ts.map +1 -1
  158. package/dist/routes/cloud-routes-autonomous.js +11 -4893
  159. package/dist/routes/cloud-routes-autonomous.js.map +8 -87
  160. package/dist/routes/cloud-routes.d.ts +2 -2
  161. package/dist/routes/cloud-routes.d.ts.map +1 -1
  162. package/dist/routes/cloud-routes.js +343 -5058
  163. package/dist/routes/cloud-routes.js.map +13 -90
  164. package/dist/routes/cloud-status-routes-autonomous.d.ts +1 -2
  165. package/dist/routes/cloud-status-routes-autonomous.d.ts.map +1 -1
  166. package/dist/routes/cloud-status-routes-autonomous.js +4 -51
  167. package/dist/routes/cloud-status-routes-autonomous.js.map +5 -5
  168. package/dist/routes/cloud-status-routes.js +14 -90
  169. package/dist/routes/cloud-status-routes.js.map +7 -7
  170. package/dist/routes/home-remote-runner-access-url.d.ts +16 -0
  171. package/dist/routes/home-remote-runner-access-url.d.ts.map +1 -0
  172. package/dist/routes/home-remote-runner-access-url.js +91 -0
  173. package/dist/routes/home-remote-runner-access-url.js.map +10 -0
  174. package/dist/routes/travel-provider-relay-routes.d.ts +9 -0
  175. package/dist/routes/travel-provider-relay-routes.d.ts.map +1 -0
  176. package/dist/routes/travel-provider-relay-routes.js +358 -0
  177. package/dist/routes/travel-provider-relay-routes.js.map +14 -0
  178. package/dist/services/cloud-auth.d.ts +1 -1
  179. package/dist/services/cloud-auth.d.ts.map +1 -1
  180. package/dist/services/cloud-auth.js +7 -2
  181. package/dist/services/cloud-auth.js.map +4 -4
  182. package/dist/services/cloud-backup.js.map +2 -2
  183. package/dist/services/cloud-bootstrap.d.ts.map +1 -1
  184. package/dist/services/cloud-bootstrap.js.map +2 -2
  185. package/dist/services/cloud-bridge.js.map +3 -3
  186. package/dist/services/cloud-container.d.ts +5 -1
  187. package/dist/services/cloud-container.d.ts.map +1 -1
  188. package/dist/services/cloud-container.js +52 -1
  189. package/dist/services/cloud-container.js.map +4 -4
  190. package/dist/services/cloud-credential-provider.js.map +2 -2
  191. package/dist/services/cloud-model-registry.js.map +2 -2
  192. package/dist/types/cloud.d.ts +1 -0
  193. package/dist/types/cloud.d.ts.map +1 -1
  194. package/dist/types/cloud.js.map +2 -2
  195. package/dist/types/index.d.ts +1 -1
  196. package/dist/types/index.d.ts.map +1 -1
  197. package/dist/utils/cloud-sdk/client.d.ts.map +1 -1
  198. package/dist/utils/cloud-sdk/client.js +136 -4
  199. package/dist/utils/cloud-sdk/client.js.map +5 -5
  200. package/dist/utils/cloud-sdk/http.js.map +1 -1
  201. package/dist/utils/cloud-sdk/public-routes.d.ts +186 -0
  202. package/dist/utils/cloud-sdk/public-routes.d.ts.map +1 -1
  203. package/dist/utils/cloud-sdk/public-routes.js +99 -1
  204. package/dist/utils/cloud-sdk/public-routes.js.map +3 -3
  205. package/dist/utils/cloud-sdk/types.d.ts +0 -2
  206. package/dist/utils/cloud-sdk/types.d.ts.map +1 -1
  207. package/dist/utils/cloud-sdk/types.js.map +1 -1
  208. package/dist/utils/config.d.ts +10 -1
  209. package/dist/utils/config.d.ts.map +1 -1
  210. package/dist/utils/config.js +12 -2
  211. package/dist/utils/config.js.map +3 -3
  212. package/dist/utils/events.d.ts +23 -2
  213. package/dist/utils/events.d.ts.map +1 -1
  214. package/dist/utils/events.js +5 -3
  215. package/dist/utils/events.js.map +3 -3
  216. package/dist/utils/sdk-client.d.ts.map +1 -1
  217. package/dist/utils/sdk-client.js +17 -4
  218. package/dist/utils/sdk-client.js.map +4 -4
  219. package/dist/utils/waifu-metering.d.ts +108 -0
  220. package/dist/utils/waifu-metering.d.ts.map +1 -0
  221. package/dist/utils/waifu-metering.js +166 -0
  222. package/dist/utils/waifu-metering.js.map +10 -0
  223. package/package.json +51 -22
  224. package/src/cloud/auth-service-types.ts +24 -0
  225. package/src/cloud/base-url.ts +6 -62
  226. package/src/cloud/clack-observer.ts +189 -0
  227. package/src/cloud/duffel-client.ts +847 -0
  228. package/src/cloud/index.ts +10 -0
  229. package/src/cloud/lifeops-schedule-sync-client.ts +245 -0
  230. package/src/cloud/lifeops-schedule-sync-contracts.ts +124 -0
  231. package/src/cloud/managed-payment-clients.ts +374 -0
  232. package/src/cloud/null-observer.ts +45 -0
  233. package/src/cloud/setup-observer.ts +125 -0
  234. package/src/cloud/validate-url.ts +7 -1
  235. package/src/cloud/x402-payment-handler.ts +215 -0
  236. package/src/cloud-setup.ts +531 -0
  237. package/src/cloud-voice-catalog.test.ts +254 -0
  238. package/src/cloud-voice-catalog.ts +246 -0
  239. package/src/index.browser.ts +29 -0
  240. package/src/index.node.ts +31 -1
  241. package/src/index.ts +76 -4
  242. package/src/lib/cloud-connection.ts +2 -4
  243. package/src/lib/cloud-secrets.ts +10 -54
  244. package/src/lib/config-like.ts +1 -1
  245. package/src/lib/credential-type-map.ts +2 -2
  246. package/src/lib/http.ts +0 -17
  247. package/src/lib/server-cloud-tts.ts +33 -341
  248. package/src/lib/tts-debug.ts +5 -34
  249. package/src/models/embeddings.ts +140 -76
  250. package/src/models/image.ts +29 -14
  251. package/src/models/research.ts +11 -1
  252. package/src/models/speech.ts +269 -23
  253. package/src/models/text.ts +704 -110
  254. package/src/models/tokenization.ts +2 -2
  255. package/src/models/transcription.ts +7 -3
  256. package/src/plugin.ts +38 -0
  257. package/src/routes/cloud-billing-routes.ts +4 -14
  258. package/src/routes/cloud-coding-container-routes.ts +198 -0
  259. package/src/routes/cloud-compat-routes.ts +4 -14
  260. package/src/routes/cloud-features-routes.ts +1 -1
  261. package/src/routes/cloud-relay-routes.ts +47 -1
  262. package/src/routes/cloud-routes-autonomous.ts +7 -10
  263. package/src/routes/cloud-routes.ts +68 -7
  264. package/src/routes/cloud-status-routes-autonomous.ts +6 -2
  265. package/src/routes/home-remote-runner-access-url.ts +83 -0
  266. package/src/routes/travel-provider-relay-routes.ts +193 -0
  267. package/src/services/cloud-auth.ts +9 -2
  268. package/src/services/cloud-bootstrap.ts +1 -3
  269. package/src/services/cloud-bridge.ts +1 -1
  270. package/src/services/cloud-container.ts +93 -0
  271. package/src/services/cloud-credential-provider.ts +1 -1
  272. package/src/services/cloud-model-registry.ts +1 -1
  273. package/src/types/cloud.ts +22 -0
  274. package/src/types/index.ts +19 -0
  275. package/src/utils/cloud-sdk/client.ts +42 -3
  276. package/src/utils/cloud-sdk/public-routes.ts +168 -0
  277. package/src/utils/cloud-sdk/types.ts +0 -2
  278. package/src/utils/config.ts +20 -1
  279. package/src/utils/events.ts +30 -2
  280. package/src/utils/sdk-client.ts +5 -1
  281. package/src/utils/waifu-metering.ts +302 -0
  282. package/dist/onboarding.d.ts +0 -35
  283. package/dist/onboarding.d.ts.map +0 -1
  284. package/dist/onboarding.js.map +0 -14
  285. package/src/onboarding.ts +0 -396
package/README.md CHANGED
@@ -30,21 +30,21 @@ Development checkouts resolve it with `workspace:*`; published packages are
30
30
  expected to consume the npm-published SDK version.
31
31
 
32
32
  Runtime code must not build direct Eliza Cloud HTTP calls by hand. Use the SDK
33
- helpers in `typescript/utils/sdk-client.ts`:
33
+ helpers in `src/utils/sdk-client.ts`:
34
34
 
35
35
  | Helper | Use |
36
36
  | --- | --- |
37
37
  | `createCloudApiClient(runtime)` | API-base requests such as `/responses`, `/embeddings`, `/models`, auth validation, containers, and relay JSON endpoints |
38
38
  | `createCloudApiClient(runtime, true)` | Embedding requests that may use `ELIZAOS_CLOUD_EMBEDDING_URL` / `ELIZAOS_CLOUD_EMBEDDING_API_KEY` |
39
39
  | `createElizaCloudClient(runtime)` | High-level SDK helpers and generated `client.routes.*` wrappers |
40
- | `typescript/utils/cloud-api.ts` | Backwards-compatible re-export of SDK classes and types |
40
+ | `src/utils/cloud-api.ts` | Backwards-compatible re-export of SDK classes and types |
41
41
 
42
42
  `ELIZAOS_CLOUD_BASE_URL` remains the API base URL and defaults to
43
43
  `https://www.elizacloud.ai/api/v1`. `createElizaCloudClient` derives the site
44
44
  root from that API URL when generated SDK route wrappers need `/api/v1/...`
45
45
  paths.
46
46
 
47
- `typescript/providers/openai.ts` is the one intentional transport adapter that
47
+ `src/providers/openai.ts` is the one intentional transport adapter that
48
48
  passes the configured base URL to the Vercel AI SDK's OpenAI-compatible client.
49
49
  It is not a hand-rolled Cloud API fetch path.
50
50
 
@@ -107,13 +107,13 @@ Get an API key from
107
107
  | `ELIZAOS_CLOUD_API_KEY` | API key used for authenticated Cloud requests | Required |
108
108
  | `ELIZAOS_CLOUD_BASE_URL` | Eliza Cloud API base URL | `https://www.elizacloud.ai/api/v1` |
109
109
  | `ELIZAOS_CLOUD_ENABLED` | Enables container provisioning, device auth, bridge, and backup services | `false` |
110
- | `ELIZAOS_CLOUD_NANO_MODEL` | Nano/cheapest model override | `NANO_MODEL` or `openai/gpt-oss-120b:nitro` |
111
- | `ELIZAOS_CLOUD_SMALL_MODEL` | Small/fast model override | `SMALL_MODEL` or `openai/gpt-oss-120b:nitro` |
110
+ | `ELIZAOS_CLOUD_NANO_MODEL` | Nano/cheapest model override | `NANO_MODEL` or `gpt-oss-120b` |
111
+ | `ELIZAOS_CLOUD_SMALL_MODEL` | Small/fast model override | `SMALL_MODEL` or `gpt-oss-120b` |
112
112
  | `ELIZAOS_CLOUD_MEDIUM_MODEL` | Medium planning model override | `MEDIUM_MODEL` or small model |
113
- | `ELIZAOS_CLOUD_LARGE_MODEL` | Large model override | `LARGE_MODEL` or `openai/gpt-oss-120b:nitro` |
113
+ | `ELIZAOS_CLOUD_LARGE_MODEL` | Large model override | `LARGE_MODEL` or `zai-glm-4.7` |
114
114
  | `ELIZAOS_CLOUD_MEGA_MODEL` | Mega model override | `MEGA_MODEL` or large model |
115
- | `ELIZAOS_CLOUD_RESPONSE_HANDLER_MODEL` | Response handler model override | nano model |
116
- | `ELIZAOS_CLOUD_ACTION_PLANNER_MODEL` | Action planner model override | medium model |
115
+ | `ELIZAOS_CLOUD_RESPONSE_HANDLER_MODEL` | Response handler model override | small model |
116
+ | `ELIZAOS_CLOUD_ACTION_PLANNER_MODEL` | Action planner model override | large model |
117
117
  | `ELIZAOS_CLOUD_RESEARCH_MODEL` | Research model override | large model |
118
118
  | `ELIZAOS_CLOUD_EMBEDDING_MODEL` | Embedding model | `text-embedding-3-small` |
119
119
  | `ELIZAOS_CLOUD_EMBEDDING_URL` | Optional custom embedding API base URL | unset |
@@ -121,11 +121,9 @@ Get an API key from
121
121
  | `ELIZAOS_CLOUD_EMBEDDING_DIMENSIONS` | Embedding vector size | `1536` |
122
122
  | `ELIZAOS_CLOUD_IMAGE_DESCRIPTION_MODEL` | Vision model used for image descriptions | `gpt-5.4-mini` |
123
123
  | `ELIZAOS_CLOUD_IMAGE_DESCRIPTION_MAX_TOKENS` | Max image-description response tokens | `8192` |
124
- | `ELIZAOS_CLOUD_IMAGE_GENERATION_MODEL` | Image generation model override | service default |
124
+ | `ELIZAOS_CLOUD_IMAGE_GENERATION_MODEL` | Image generation model override | `google/gemini-2.5-flash-image` |
125
125
  | `ELIZAOS_CLOUD_TTS_MODEL` | Text-to-speech model | `gpt-5-mini-tts` |
126
- | `ELIZAOS_CLOUD_TTS_VOICE` | Text-to-speech voice | `nova` |
127
- | `ELIZAOS_CLOUD_TTS_INSTRUCTIONS` | Optional TTS style instructions | unset |
128
- | `ELIZAOS_CLOUD_TRANSCRIPTION_MODEL` | Audio transcription model | service default |
126
+ | `ELIZAOS_CLOUD_TRANSCRIPTION_MODEL` | Audio transcription model | `gpt-5-mini-transcribe` |
129
127
  | `ELIZAOS_CLOUD_EXPERIMENTAL_TELEMETRY` | Enables experimental telemetry metadata | `false` |
130
128
 
131
129
  Browser builds must not receive secrets directly. Use
@@ -170,50 +168,28 @@ const speech = await runtime.useModel(ModelType.TEXT_TO_SPEECH, {
170
168
  layer.
171
169
  5. Do not add direct `fetch()` calls for Eliza Cloud API routes in runtime code.
172
170
 
173
- When the Cloud API adds or changes public routes, update the SDK first:
174
-
175
- ```bash
176
- cd ../../cloud/packages/sdk
177
- bun run generate:routes
178
- bun run check:routes
179
- bun run test:e2e
180
- ```
181
-
182
- Then update this plugin to consume the new SDK route or helper.
171
+ When the Cloud API adds or changes public routes, update the SDK first (see the Development section below), then update this plugin to consume the new SDK route or helper.
183
172
 
184
173
  ## Development
185
174
 
186
- From the TypeScript package:
187
-
188
175
  ```bash
189
- cd typescript
190
- bun run typecheck
191
- bun run test
192
- bun run build
193
- npm pack --dry-run
176
+ bun run --cwd plugins/plugin-elizacloud typecheck
177
+ bun run --cwd plugins/plugin-elizacloud test
178
+ bun run --cwd plugins/plugin-elizacloud build
194
179
  ```
195
180
 
196
- From the SDK package:
181
+ When the Cloud API adds or changes public routes, update `@elizaos/cloud-sdk`
182
+ first, then update this plugin to consume the new SDK route or helper:
197
183
 
198
184
  ```bash
199
- cd ../../cloud/packages/sdk
200
- bun run check:routes
201
- bun run test:e2e
185
+ bun run --cwd packages/cloud-sdk build
186
+ bun run --cwd packages/cloud-sdk typecheck
187
+ bun run --cwd packages/cloud-sdk test
202
188
  ```
203
189
 
204
- `bun run test:e2e` in the SDK runs public real API checks by default and skips
205
- credentialed or destructive cases unless the required credentials and opt-in
206
- environment flags are present.
207
-
208
190
  ## Publishing
209
191
 
210
- The TypeScript package is published to npm as `@elizaos/plugin-elizacloud`.
211
- Publishing must include a compatible `@elizaos/cloud-sdk` release because the
212
- plugin depends on it directly.
213
-
214
- The repository also contains legacy Python and Rust package directories. The
215
- Eliza runtime integration and npm package are the TypeScript implementation
216
- documented above.
192
+ This plugin is published to npm as `@elizaos/plugin-elizacloud`. Publishing requires a compatible `@elizaos/cloud-sdk` release because the plugin depends on it directly.
217
193
 
218
194
  ## License
219
195
 
package/auto-enable.ts CHANGED
@@ -6,12 +6,17 @@
6
6
  // auto-enable engine loads dozens of these per boot.
7
7
  import type { PluginAutoEnableContext } from "@elizaos/core";
8
8
 
9
- const ENV_KEYS = ["ELIZAOS_CLOUD_API_KEY", "ELIZAOS_CLOUD_ENABLED"] as const;
9
+ function isTruthyCloudFlag(value: string | undefined): boolean {
10
+ if (!value) return false;
11
+ const normalized = value.trim().toLowerCase();
12
+ return normalized === "1" || normalized === "true" || normalized === "yes";
13
+ }
10
14
 
11
15
  /** Enable when an Eliza Cloud API key or enabled flag is present. */
12
16
  export function shouldEnable(ctx: PluginAutoEnableContext): boolean {
13
- return ENV_KEYS.some((k) => {
14
- const v = ctx.env[k];
15
- return typeof v === "string" && v.trim() !== "";
16
- });
17
+ return (
18
+ (typeof ctx.env.ELIZAOS_CLOUD_API_KEY === "string" &&
19
+ ctx.env.ELIZAOS_CLOUD_API_KEY.trim() !== "") ||
20
+ isTruthyCloudFlag(ctx.env.ELIZAOS_CLOUD_ENABLED)
21
+ );
17
22
  }
@@ -1,3 +1,3 @@
1
- import{CloudApiError as t,InsufficientCreditsError as n}from"@elizaos/cloud-sdk";var e={enabled:!1,baseUrl:"https://www.elizacloud.ai/api/v1",inferenceMode:"cloud",autoProvision:!1,bridge:{reconnectIntervalMs:3000,maxReconnectAttempts:20,heartbeatIntervalMs:30000},backup:{autoBackupIntervalMs:3600000,maxSnapshots:10},container:{defaultImage:"elizaos/agent:latest",defaultArchitecture:"arm64",defaultCpu:1792,defaultMemory:1792,defaultPort:3000}};var r={name:"elizaOSCloud",description:"ElizaOS Cloud browser facade. Node-only routes and services are exported from the node entry."},g=r;export{r as elizaOSCloudPlugin,g as default,n as InsufficientCreditsError,e as DEFAULT_CLOUD_CONFIG,t as CloudApiError};
1
+ import{CloudApiError as t,InsufficientCreditsError as r}from"@elizaos/cloud-sdk";var n={enabled:!1,baseUrl:"https://www.elizacloud.ai/api/v1",inferenceMode:"cloud",autoProvision:!1,bridge:{reconnectIntervalMs:3000,maxReconnectAttempts:20,heartbeatIntervalMs:30000},backup:{autoBackupIntervalMs:3600000,maxSnapshots:10},container:{defaultImage:"elizaos/agent:latest",defaultArchitecture:"arm64",defaultCpu:1792,defaultMemory:1792,defaultPort:3000}};var o={name:"elizaOSCloud",description:"ElizaOS Cloud browser facade. Node-only routes and services are exported from the node entry."},e=()=>{return};function l(s){return}function c(){}var g=e,p=e,C=e,m=e,f=e,R=e,b=e,y=e,h=()=>{return},_=o;export{f as scrubCloudSecretsFromEnv,y as resolveElevenLabsApiKeyForCloudMode,b as resolveCloudTtsBaseUrl,h as resolveCloudApiBaseUrl,m as normalizeCloudSiteUrl,C as mirrorCompatHeaders,p as handleCloudTtsPreviewRoute,l as getCloudSecret,g as ensureCloudTtsApiKeyAlias,o as elizaOSCloudPlugin,_ as default,c as clearCloudSecrets,R as __resetCloudBaseUrlCache,r as InsufficientCreditsError,n as DEFAULT_CLOUD_CONFIG,t as CloudApiError};
2
2
 
3
- //# debugId=7321FA70ECFC976E64756E2164756E21
3
+ //# debugId=A8C30D47103A35C764756E2164756E21
@@ -2,10 +2,10 @@
2
2
  "version": 3,
3
3
  "sources": ["../../src/types/cloud.ts", "../../src/index.browser.ts"],
4
4
  "sourcesContent": [
5
- "/**\n * Cloud-specific types for ElizaCloud integration.\n *\n * These types mirror the eliza-cloud-v2 database schemas and API contracts\n * for containers, auth, credits, bridge messaging, and agent state snapshots.\n */\n\n// ─── Container Types ────────────────────────────────────────────────────────\n\nexport type ContainerStatus =\n | \"pending\"\n | \"building\"\n | \"deploying\"\n | \"running\"\n | \"stopped\"\n | \"failed\"\n | \"suspended\";\n\nexport type ContainerBillingStatus =\n | \"active\"\n | \"warning\"\n | \"suspended\"\n | \"shutdown_pending\"\n | \"archived\";\n\nexport type ContainerArchitecture = \"arm64\" | \"x86_64\";\n\nexport interface CloudContainer {\n id: string;\n name: string;\n project_name: string;\n description: string | null;\n organization_id: string;\n user_id: string;\n status: ContainerStatus;\n image_tag: string | null;\n port: number;\n desired_count: number;\n cpu: number;\n memory: number;\n architecture: ContainerArchitecture;\n environment_vars: Record<string, string>;\n health_check_path: string;\n load_balancer_url: string | null;\n ecr_repository_uri: string | null;\n ecr_image_tag: string | null;\n cloudformation_stack_name: string | null;\n billing_status: ContainerBillingStatus;\n total_billed: string;\n last_deployed_at: string | null;\n last_health_check: string | null;\n deployment_log: string | null;\n error_message: string | null;\n metadata: Record<string, unknown>;\n created_at: string;\n updated_at: string;\n}\n\nexport interface CreateContainerRequest {\n name: string;\n project_name: string;\n description?: string;\n port?: number;\n desired_count?: number;\n cpu?: number;\n memory?: number;\n environment_vars?: Record<string, string>;\n health_check_path?: string;\n ecr_image_uri: string;\n ecr_repository_uri?: string;\n image_tag?: string;\n architecture?: ContainerArchitecture;\n}\n\nexport interface CreateContainerResponse {\n success: boolean;\n data: CloudContainer;\n message: string;\n creditsDeducted: number;\n creditsRemaining: number;\n stackName: string;\n polling: {\n endpoint: string;\n intervalMs: number;\n expectedDurationMs: number;\n };\n}\n\nexport interface ContainerListResponse {\n success: boolean;\n data: CloudContainer[];\n}\n\nexport interface ContainerGetResponse {\n success: boolean;\n data: CloudContainer;\n}\n\nexport interface ContainerDeleteResponse {\n success: boolean;\n message?: string;\n}\n\nexport interface ContainerHealthResponse {\n success: boolean;\n data: {\n status: string;\n healthy: boolean;\n lastCheck: string | null;\n uptime: number | null;\n };\n}\n\n// ─── Auth Types ─────────────────────────────────────────────────────────────\n\nexport type DevicePlatform = \"ios\" | \"android\" | \"macos\" | \"windows\" | \"linux\" | \"web\";\n\nexport interface DeviceAuthRequest {\n deviceId: string;\n platform: DevicePlatform;\n appVersion: string;\n deviceName?: string;\n}\n\nexport interface DeviceAuthResponse {\n success: boolean;\n data: {\n apiKey: string;\n userId: string;\n organizationId: string;\n credits: number;\n isNew: boolean;\n };\n}\n\nexport interface CloudCredentials {\n apiKey: string;\n userId: string;\n organizationId: string;\n authenticatedAt: number;\n}\n\n// ─── Credits Types ──────────────────────────────────────────────────────────\n\nexport interface CreditBalanceResponse {\n success: boolean;\n data: {\n balance: number;\n currency: string;\n };\n}\n\nexport interface CreditSummaryResponse {\n success: boolean;\n data: {\n balance: number;\n totalSpent: number;\n totalAdded: number;\n recentTransactions: CreditTransaction[];\n };\n}\n\nexport interface CreditTransaction {\n id: string;\n amount: number;\n description: string;\n type: \"credit\" | \"debit\";\n created_at: string;\n}\n\n// ─── Bridge Types ───────────────────────────────────────────────────────────\n\nexport type BridgeConnectionState = \"disconnected\" | \"connecting\" | \"connected\" | \"reconnecting\";\n\nexport interface BridgeMessage {\n jsonrpc: \"2.0\";\n id?: string | number;\n method?: string;\n params?: Record<string, unknown>;\n result?: unknown;\n error?: BridgeError;\n}\n\nexport interface BridgeError {\n code: number;\n message: string;\n data?: unknown;\n}\n\nexport type BridgeMessageHandler = (message: BridgeMessage) => void;\n\nexport interface BridgeConnection {\n containerId: string;\n state: BridgeConnectionState;\n connectedAt: number | null;\n lastHeartbeat: number | null;\n reconnectAttempts: number;\n}\n\n// ─── Managed Gateway Relay Types ───────────────────────────────────────────\n\nexport interface GatewayRelaySession {\n id: string;\n organizationId: string;\n userId: string;\n runtimeAgentId: string;\n agentName: string | null;\n platform: \"local-runtime\";\n createdAt: string;\n lastSeenAt: string;\n}\n\nexport interface GatewayRelayRequest {\n jsonrpc: \"2.0\";\n id?: string | number;\n method: string;\n params?: Record<string, unknown>;\n}\n\nexport interface GatewayRelayResponse {\n jsonrpc: \"2.0\";\n id?: string | number;\n result?: Record<string, unknown>;\n error?: BridgeError;\n}\n\nexport interface GatewayRelayRequestEnvelope {\n requestId: string;\n rpc: GatewayRelayRequest;\n queuedAt: string;\n}\n\nexport interface RegisterGatewayRelaySessionResponse {\n success: boolean;\n data: {\n session: GatewayRelaySession;\n };\n}\n\nexport interface PollGatewayRelayResponse {\n success: boolean;\n data: {\n request: GatewayRelayRequestEnvelope | null;\n };\n}\n\n// ─── Snapshot / Backup Types ────────────────────────────────────────────────\n\nexport type SnapshotType = \"manual\" | \"auto\" | \"pre-eviction\";\n\nexport interface AgentSnapshot {\n id: string;\n containerId: string;\n organizationId: string;\n snapshotType: SnapshotType;\n storageUrl: string;\n sizeBytes: number;\n agentConfig: Record<string, unknown>;\n metadata: Record<string, unknown>;\n created_at: string;\n}\n\nexport interface CreateSnapshotRequest {\n snapshotType?: SnapshotType;\n metadata?: Record<string, unknown>;\n}\n\nexport interface CreateSnapshotResponse {\n success: boolean;\n data: AgentSnapshot;\n}\n\nexport interface SnapshotListResponse {\n success: boolean;\n data: AgentSnapshot[];\n}\n\nexport interface RestoreSnapshotRequest {\n snapshotId: string;\n}\n\nexport interface RestoreSnapshotResponse {\n success: boolean;\n message: string;\n}\n\n// ─── Cloud Config Types ─────────────────────────────────────────────────────\n\nexport type InferenceMode = \"cloud\" | \"byok\" | \"local\";\n\nexport interface CloudPluginConfig {\n /** Enable ElizaCloud integration. */\n enabled: boolean;\n /** ElizaCloud API base URL. */\n baseUrl: string;\n /** Stored API key for authenticated requests. */\n apiKey?: string;\n /** Device ID used for auto-signup authentication. */\n deviceId?: string;\n /** Platform identifier. */\n platform?: DevicePlatform;\n /** Inference mode: cloud (ElizaCloud proxied), byok (user keys), local (no cloud). */\n inferenceMode: InferenceMode;\n /** Auto-deploy agents to cloud on creation. */\n autoProvision: boolean;\n /** Bridge reconnection settings. */\n bridge: {\n reconnectIntervalMs: number;\n maxReconnectAttempts: number;\n heartbeatIntervalMs: number;\n };\n /** Auto-backup settings. */\n backup: {\n autoBackupIntervalMs: number;\n maxSnapshots: number;\n };\n /** Default container settings for new deployments. */\n container: {\n defaultImage: string;\n defaultArchitecture: ContainerArchitecture;\n defaultCpu: number;\n defaultMemory: number;\n defaultPort: number;\n };\n}\n\nexport const DEFAULT_CLOUD_CONFIG: CloudPluginConfig = {\n enabled: false,\n baseUrl: \"https://www.elizacloud.ai/api/v1\",\n inferenceMode: \"cloud\",\n autoProvision: false,\n bridge: {\n reconnectIntervalMs: 3000,\n maxReconnectAttempts: 20,\n heartbeatIntervalMs: 30_000,\n },\n backup: {\n autoBackupIntervalMs: 3_600_000, // 1 hour\n maxSnapshots: 10,\n },\n container: {\n defaultImage: \"elizaos/agent:latest\",\n defaultArchitecture: \"arm64\",\n defaultCpu: 1792,\n defaultMemory: 1792,\n defaultPort: 3000,\n },\n};\n\n// ─── API Error Types ────────────────────────────────────────────────────────\n\nexport type { CloudApiErrorBody } from \"@elizaos/cloud-sdk\";\nexport {\n CloudApiError,\n InsufficientCreditsError,\n} from \"@elizaos/cloud-sdk\";\n",
6
- "import type { Plugin } from \"@elizaos/core\";\n\nexport const elizaOSCloudPlugin: Plugin = {\n name: \"elizaOSCloud\",\n description:\n \"ElizaOS Cloud browser facade. Node-only routes and services are exported from the node entry.\",\n};\n\nexport * from \"./types\";\nexport default elizaOSCloudPlugin;\n"
5
+ "/**\n * Cloud-specific types for ElizaCloud integration.\n *\n * These types mirror the eliza-cloud-v2 database schemas and API contracts\n * for containers, auth, credits, bridge messaging, and agent state snapshots.\n */\n\nexport type {\n CloudCodingAgent,\n CloudCodingContainerSession,\n CloudCodingContainerStatus,\n CloudCodingPatch,\n CloudCodingPatchFormat,\n CloudCodingPromotion,\n CloudCodingSyncDirection,\n CloudCodingSyncResult,\n CloudVfsBundle,\n CloudVfsDeletedFile,\n CloudVfsFile,\n CloudVfsFileEncoding,\n CloudVfsSourceKind,\n PromoteVfsToCloudContainerRequest,\n PromoteVfsToCloudContainerResponse,\n RequestCodingAgentContainerRequest,\n RequestCodingAgentContainerResponse,\n SyncCloudCodingContainerRequest,\n SyncCloudCodingContainerResponse,\n} from \"@elizaos/shared\";\n\n// ─── Container Types ────────────────────────────────────────────────────────\n\nexport type ContainerStatus =\n | \"pending\"\n | \"building\"\n | \"deploying\"\n | \"running\"\n | \"stopped\"\n | \"failed\"\n | \"suspended\";\n\nexport type ContainerBillingStatus =\n | \"active\"\n | \"warning\"\n | \"suspended\"\n | \"shutdown_pending\"\n | \"archived\";\n\nexport type ContainerArchitecture = \"arm64\" | \"x86_64\";\n\nexport interface CloudContainer {\n id: string;\n name: string;\n project_name: string;\n description: string | null;\n organization_id: string;\n user_id: string;\n status: ContainerStatus;\n image_tag: string | null;\n port: number;\n desired_count: number;\n cpu: number;\n memory: number;\n architecture: ContainerArchitecture;\n environment_vars: Record<string, string>;\n health_check_path: string;\n load_balancer_url: string | null;\n ecr_repository_uri: string | null;\n ecr_image_tag: string | null;\n cloudformation_stack_name: string | null;\n billing_status: ContainerBillingStatus;\n total_billed: string;\n last_deployed_at: string | null;\n last_health_check: string | null;\n deployment_log: string | null;\n error_message: string | null;\n metadata: Record<string, unknown>;\n created_at: string;\n updated_at: string;\n}\n\nexport interface CreateContainerRequest {\n name: string;\n project_name: string;\n description?: string;\n port?: number;\n desired_count?: number;\n cpu?: number;\n memory?: number;\n environment_vars?: Record<string, string>;\n health_check_path?: string;\n ecr_image_uri: string;\n ecr_repository_uri?: string;\n image_tag?: string;\n architecture?: ContainerArchitecture;\n}\n\nexport interface CreateContainerResponse {\n success: boolean;\n data: CloudContainer;\n message: string;\n creditsDeducted: number;\n creditsRemaining: number;\n stackName: string;\n polling: {\n endpoint: string;\n intervalMs: number;\n expectedDurationMs: number;\n };\n}\n\nexport interface ContainerListResponse {\n success: boolean;\n data: CloudContainer[];\n}\n\nexport interface ContainerGetResponse {\n success: boolean;\n data: CloudContainer;\n}\n\nexport interface ContainerDeleteResponse {\n success: boolean;\n message?: string;\n}\n\nexport interface ContainerHealthResponse {\n success: boolean;\n data: {\n status: string;\n healthy: boolean;\n lastCheck: string | null;\n uptime: number | null;\n };\n}\n\n// ─── Auth Types ─────────────────────────────────────────────────────────────\n\nexport type DevicePlatform = \"ios\" | \"android\" | \"macos\" | \"windows\" | \"linux\" | \"web\";\n\nexport interface DeviceAuthRequest {\n deviceId: string;\n platform: DevicePlatform;\n appVersion: string;\n deviceName?: string;\n}\n\nexport interface DeviceAuthResponse {\n success: boolean;\n data: {\n apiKey: string;\n userId: string;\n organizationId: string;\n credits: number;\n isNew: boolean;\n };\n}\n\nexport interface CloudCredentials {\n apiKey: string;\n userId: string;\n organizationId: string;\n authenticatedAt: number;\n}\n\n// ─── Credits Types ──────────────────────────────────────────────────────────\n\nexport interface CreditBalanceResponse {\n success: boolean;\n data: {\n balance: number;\n currency: string;\n };\n}\n\nexport interface CreditSummaryResponse {\n success: boolean;\n data: {\n balance: number;\n totalSpent: number;\n totalAdded: number;\n recentTransactions: CreditTransaction[];\n };\n}\n\nexport interface CreditTransaction {\n id: string;\n amount: number;\n description: string;\n type: \"credit\" | \"debit\";\n created_at: string;\n}\n\n// ─── Bridge Types ───────────────────────────────────────────────────────────\n\nexport type BridgeConnectionState = \"disconnected\" | \"connecting\" | \"connected\" | \"reconnecting\";\n\nexport interface BridgeMessage {\n jsonrpc: \"2.0\";\n id?: string | number;\n method?: string;\n params?: Record<string, unknown>;\n result?: unknown;\n error?: BridgeError;\n}\n\nexport interface BridgeError {\n code: number;\n message: string;\n data?: unknown;\n}\n\nexport type BridgeMessageHandler = (message: BridgeMessage) => void;\n\nexport interface BridgeConnection {\n containerId: string;\n state: BridgeConnectionState;\n connectedAt: number | null;\n lastHeartbeat: number | null;\n reconnectAttempts: number;\n}\n\n// ─── Managed Gateway Relay Types ───────────────────────────────────────────\n\nexport interface GatewayRelaySession {\n id: string;\n organizationId: string;\n userId: string;\n runtimeAgentId: string;\n agentName: string | null;\n platform: \"local-runtime\";\n createdAt: string;\n lastSeenAt: string;\n}\n\nexport interface GatewayRelayRequest {\n jsonrpc: \"2.0\";\n id?: string | number;\n method: string;\n params?: Record<string, unknown>;\n}\n\nexport interface GatewayRelayResponse {\n jsonrpc: \"2.0\";\n id?: string | number;\n result?: Record<string, unknown>;\n error?: BridgeError;\n}\n\nexport interface GatewayRelayRequestEnvelope {\n requestId: string;\n rpc: GatewayRelayRequest;\n queuedAt: string;\n}\n\nexport interface RegisterGatewayRelaySessionResponse {\n success: boolean;\n data: {\n session: GatewayRelaySession;\n };\n}\n\nexport interface PollGatewayRelayResponse {\n success: boolean;\n data: {\n request: GatewayRelayRequestEnvelope | null;\n };\n}\n\n// ─── Snapshot / Backup Types ────────────────────────────────────────────────\n\nexport type SnapshotType = \"manual\" | \"auto\" | \"pre-eviction\";\n\nexport interface AgentSnapshot {\n id: string;\n containerId: string;\n organizationId: string;\n snapshotType: SnapshotType;\n storageUrl: string;\n sizeBytes: number;\n agentConfig: Record<string, unknown>;\n metadata: Record<string, unknown>;\n created_at: string;\n}\n\nexport interface CreateSnapshotRequest {\n snapshotType?: SnapshotType;\n metadata?: Record<string, unknown>;\n}\n\nexport interface CreateSnapshotResponse {\n success: boolean;\n data: AgentSnapshot;\n}\n\nexport interface SnapshotListResponse {\n success: boolean;\n data: AgentSnapshot[];\n}\n\nexport interface RestoreSnapshotRequest {\n snapshotId: string;\n}\n\nexport interface RestoreSnapshotResponse {\n success: boolean;\n message: string;\n}\n\n// ─── Cloud Config Types ─────────────────────────────────────────────────────\n\nexport type InferenceMode = \"cloud\" | \"byok\" | \"local\";\n\nexport interface CloudPluginConfig {\n /** Enable ElizaCloud integration. */\n enabled: boolean;\n /** ElizaCloud API base URL. */\n baseUrl: string;\n /** Stored API key for authenticated requests. */\n apiKey?: string;\n /** Device ID used for auto-signup authentication. */\n deviceId?: string;\n /** Platform identifier. */\n platform?: DevicePlatform;\n /** Inference mode: cloud (ElizaCloud proxied), byok (user keys), local (no cloud). */\n inferenceMode: InferenceMode;\n /** Auto-deploy agents to cloud on creation. */\n autoProvision: boolean;\n /** Bridge reconnection settings. */\n bridge: {\n reconnectIntervalMs: number;\n maxReconnectAttempts: number;\n heartbeatIntervalMs: number;\n };\n /** Auto-backup settings. */\n backup: {\n autoBackupIntervalMs: number;\n maxSnapshots: number;\n };\n /** Default container settings for new deployments. */\n container: {\n defaultImage: string;\n defaultArchitecture: ContainerArchitecture;\n defaultCpu: number;\n defaultMemory: number;\n defaultPort: number;\n };\n}\n\nexport const DEFAULT_CLOUD_CONFIG: CloudPluginConfig = {\n enabled: false,\n baseUrl: \"https://www.elizacloud.ai/api/v1\",\n inferenceMode: \"cloud\",\n autoProvision: false,\n bridge: {\n reconnectIntervalMs: 3000,\n maxReconnectAttempts: 20,\n heartbeatIntervalMs: 30_000,\n },\n backup: {\n autoBackupIntervalMs: 3_600_000, // 1 hour\n maxSnapshots: 10,\n },\n container: {\n defaultImage: \"elizaos/agent:latest\",\n defaultArchitecture: \"arm64\",\n defaultCpu: 1792,\n defaultMemory: 1792,\n defaultPort: 3000,\n },\n};\n\n// ─── API Error Types ────────────────────────────────────────────────────────\n\nexport type { CloudApiErrorBody } from \"@elizaos/cloud-sdk\";\nexport {\n CloudApiError,\n InsufficientCreditsError,\n} from \"@elizaos/cloud-sdk\";\n",
6
+ "import type { Plugin } from \"@elizaos/core\";\n\nexport const elizaOSCloudPlugin: Plugin = {\n name: \"elizaOSCloud\",\n description:\n \"ElizaOS Cloud browser facade. Node-only routes and services are exported from the node entry.\",\n};\n\n// Browser-side unavailable facades for the named exports that ship from the Node\n// entry. The renderer needs the names to statically resolve so the bundler\n// doesn't fail with MISSING_EXPORT. These functions are never executed in\n// the browser since the consumers are server-side routes; in eliza local-mode\n// the bundled `app-core/dist/api/server.js` imports them at module-load time.\nconst unavailableBrowserExport = (): undefined => undefined;\n\nexport function getCloudSecret(\n _key?: \"ELIZAOS_CLOUD_API_KEY\" | \"ELIZAOS_CLOUD_ENABLED\",\n): string | undefined {\n return undefined;\n}\n\nexport function clearCloudSecrets(): void {}\n\nexport const ensureCloudTtsApiKeyAlias = unavailableBrowserExport;\nexport const handleCloudTtsPreviewRoute = unavailableBrowserExport;\nexport const mirrorCompatHeaders = unavailableBrowserExport;\nexport const normalizeCloudSiteUrl = unavailableBrowserExport;\nexport const scrubCloudSecretsFromEnv = unavailableBrowserExport;\nexport const __resetCloudBaseUrlCache = unavailableBrowserExport;\nexport const resolveCloudTtsBaseUrl = unavailableBrowserExport;\nexport const resolveElevenLabsApiKeyForCloudMode = unavailableBrowserExport;\n// `resolveCloudApiBaseUrl` is referenced statically by plugin-wallet's\n// browser bundle (the cloud-routing fallback path). The renderer doesn't\n// run the Node-side resolver; the consumer just needs the name to bind\n// so Rolldown's MISSING_EXPORT check passes.\nexport const resolveCloudApiBaseUrl = (): undefined => undefined;\n\nexport * from \"./types\";\nexport default elizaOSCloudPlugin;\n"
7
7
  ],
8
- "mappings": "AAgWA,wBACE,8BACA,2BA5BK,IAAM,EAA0C,CACrD,QAAS,GACT,QAAS,mCACT,cAAe,QACf,cAAe,GACf,OAAQ,CACN,oBAAqB,KACrB,qBAAsB,GACtB,oBAAqB,KACvB,EACA,OAAQ,CACN,qBAAsB,QACtB,aAAc,EAChB,EACA,UAAW,CACT,aAAc,uBACd,oBAAqB,QACrB,WAAY,KACZ,cAAe,KACf,YAAa,IACf,CACF,ECzVO,IAAM,EAA6B,CACxC,KAAM,eACN,YACE,+FACJ,EAGe",
9
- "debugId": "7321FA70ECFC976E64756E2164756E21",
8
+ "mappings": "AAsXA,wBACE,8BACA,2BA5BK,IAAM,EAA0C,CACrD,QAAS,GACT,QAAS,mCACT,cAAe,QACf,cAAe,GACf,OAAQ,CACN,oBAAqB,KACrB,qBAAsB,GACtB,oBAAqB,KACvB,EACA,OAAQ,CACN,qBAAsB,QACtB,aAAc,EAChB,EACA,UAAW,CACT,aAAc,uBACd,oBAAqB,QACrB,WAAY,KACZ,cAAe,KACf,YAAa,IACf,CACF,EC/WO,IAAM,EAA6B,CACxC,KAAM,eACN,YACE,+FACJ,EAOM,EAA2B,IAAc,CAAG,QAE3C,SAAS,CAAc,CAC5B,EACoB,CACpB,OAGK,SAAS,CAAiB,EAAS,EAEnC,IAAM,EAA4B,EAC5B,EAA6B,EAC7B,EAAsB,EACtB,EAAwB,EACxB,EAA2B,EAC3B,EAA2B,EAC3B,EAAyB,EACzB,EAAsC,EAKtC,EAAyB,IAAc,CAAG,QAGxC",
9
+ "debugId": "A8C30D47103A35C764756E2164756E21",
10
10
  "names": []
11
11
  }