@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.
Files changed (452) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +196 -0
  3. package/auto-enable.ts +22 -0
  4. package/dist/browser/index.browser.js +2 -21
  5. package/dist/browser/index.browser.js.map +5 -38
  6. package/dist/cjs/index.d.ts +2 -2
  7. package/dist/cjs/index.node.cjs +9112 -2265
  8. package/dist/cjs/index.node.js.map +68 -30
  9. package/dist/cloud/auth-service-types.d.ts +8 -0
  10. package/dist/cloud/auth-service-types.d.ts.map +1 -0
  11. package/dist/cloud/auth-service-types.js +36 -0
  12. package/dist/cloud/auth-service-types.js.map +10 -0
  13. package/dist/cloud/auth.d.ts +19 -0
  14. package/dist/cloud/auth.d.ts.map +1 -0
  15. package/dist/cloud/auth.js +283 -0
  16. package/dist/cloud/auth.js.map +12 -0
  17. package/dist/cloud/backup.d.ts +18 -0
  18. package/dist/cloud/backup.d.ts.map +1 -0
  19. package/dist/cloud/backup.js +63 -0
  20. package/dist/cloud/backup.js.map +10 -0
  21. package/dist/cloud/base-url.d.ts +7 -0
  22. package/dist/cloud/base-url.d.ts.map +1 -0
  23. package/dist/cloud/base-url.js +29 -0
  24. package/dist/cloud/base-url.js.map +10 -0
  25. package/dist/cloud/bridge-client.d.ts +126 -0
  26. package/dist/cloud/bridge-client.d.ts.map +1 -0
  27. package/dist/cloud/bridge-client.js +384 -0
  28. package/dist/cloud/bridge-client.js.map +11 -0
  29. package/dist/cloud/clack-observer.d.ts +35 -0
  30. package/dist/cloud/clack-observer.d.ts.map +1 -0
  31. package/dist/cloud/clack-observer.js +143 -0
  32. package/dist/cloud/clack-observer.js.map +10 -0
  33. package/dist/cloud/cloud-api-key.d.ts +26 -0
  34. package/dist/cloud/cloud-api-key.d.ts.map +1 -0
  35. package/dist/cloud/cloud-api-key.js +60 -0
  36. package/dist/cloud/cloud-api-key.js.map +10 -0
  37. package/dist/cloud/cloud-manager.d.ts +33 -0
  38. package/dist/cloud/cloud-manager.d.ts.map +1 -0
  39. package/dist/cloud/cloud-manager.js +806 -0
  40. package/dist/cloud/cloud-manager.js.map +16 -0
  41. package/dist/cloud/cloud-proxy.d.ts +20 -0
  42. package/dist/cloud/cloud-proxy.d.ts.map +1 -0
  43. package/dist/cloud/cloud-proxy.js +54 -0
  44. package/dist/cloud/cloud-proxy.js.map +10 -0
  45. package/dist/cloud/cloud-wallet.d.ts +94 -0
  46. package/dist/cloud/cloud-wallet.d.ts.map +1 -0
  47. package/dist/cloud/cloud-wallet.js +362 -0
  48. package/dist/cloud/cloud-wallet.js.map +13 -0
  49. package/dist/cloud/duffel-client.d.ts +181 -0
  50. package/dist/cloud/duffel-client.d.ts.map +1 -0
  51. package/dist/cloud/duffel-client.js +506 -0
  52. package/dist/cloud/duffel-client.js.map +11 -0
  53. package/dist/cloud/index.d.ts +15 -0
  54. package/dist/cloud/index.d.ts.map +1 -0
  55. package/dist/cloud/index.js +1811 -0
  56. package/dist/cloud/index.js.map +24 -0
  57. package/dist/cloud/lifeops-schedule-sync-client.d.ts +43 -0
  58. package/dist/cloud/lifeops-schedule-sync-client.d.ts.map +1 -0
  59. package/dist/cloud/lifeops-schedule-sync-client.js +180 -0
  60. package/dist/cloud/lifeops-schedule-sync-client.js.map +11 -0
  61. package/dist/cloud/lifeops-schedule-sync-contracts.d.ts +89 -0
  62. package/dist/cloud/lifeops-schedule-sync-contracts.d.ts.map +1 -0
  63. package/dist/cloud/lifeops-schedule-sync-contracts.js +39 -0
  64. package/dist/cloud/lifeops-schedule-sync-contracts.js.map +10 -0
  65. package/dist/cloud/managed-payment-clients.d.ts +166 -0
  66. package/dist/cloud/managed-payment-clients.d.ts.map +1 -0
  67. package/dist/cloud/managed-payment-clients.js +238 -0
  68. package/dist/cloud/managed-payment-clients.js.map +11 -0
  69. package/dist/cloud/null-observer.d.ts +35 -0
  70. package/dist/cloud/null-observer.d.ts.map +1 -0
  71. package/dist/cloud/null-observer.js +45 -0
  72. package/dist/cloud/null-observer.js.map +10 -0
  73. package/dist/cloud/reconnect.d.ts +26 -0
  74. package/dist/cloud/reconnect.d.ts.map +1 -0
  75. package/dist/cloud/reconnect.js +104 -0
  76. package/dist/cloud/reconnect.js.map +10 -0
  77. package/dist/cloud/setup-observer.d.ts +98 -0
  78. package/dist/cloud/setup-observer.d.ts.map +1 -0
  79. package/dist/cloud/setup-observer.js +2 -0
  80. package/dist/cloud/setup-observer.js.map +9 -0
  81. package/dist/cloud/validate-url.d.ts +2 -0
  82. package/dist/cloud/validate-url.d.ts.map +1 -0
  83. package/dist/cloud/validate-url.js +175 -0
  84. package/dist/cloud/validate-url.js.map +10 -0
  85. package/dist/cloud/x402-payment-handler.d.ts +85 -0
  86. package/dist/cloud/x402-payment-handler.d.ts.map +1 -0
  87. package/dist/cloud/x402-payment-handler.js +119 -0
  88. package/dist/cloud/x402-payment-handler.js.map +10 -0
  89. package/dist/cloud-providers/cloud-status.d.ts.map +1 -1
  90. package/dist/cloud-providers/cloud-status.js +78 -0
  91. package/dist/cloud-providers/cloud-status.js.map +10 -0
  92. package/dist/cloud-providers/container-health.d.ts.map +1 -1
  93. package/dist/cloud-providers/container-health.js +74 -0
  94. package/dist/cloud-providers/container-health.js.map +10 -0
  95. package/dist/cloud-providers/credit-balance.d.ts.map +1 -1
  96. package/dist/cloud-providers/credit-balance.js +85 -0
  97. package/dist/cloud-providers/credit-balance.js.map +10 -0
  98. package/dist/cloud-providers/index.d.ts.map +1 -1
  99. package/dist/cloud-providers/index.js +24 -0
  100. package/dist/cloud-providers/index.js.map +9 -0
  101. package/dist/cloud-providers/model-registry.d.ts.map +1 -1
  102. package/dist/cloud-providers/model-registry.js +71 -0
  103. package/dist/cloud-providers/model-registry.js.map +10 -0
  104. package/dist/cloud-setup.d.ts +36 -0
  105. package/dist/cloud-setup.d.ts.map +1 -0
  106. package/dist/cloud-setup.js +883 -0
  107. package/dist/cloud-setup.js.map +14 -0
  108. package/dist/cloud-voice-catalog.d.ts +65 -0
  109. package/dist/cloud-voice-catalog.d.ts.map +1 -0
  110. package/dist/cloud-voice-catalog.js +278 -0
  111. package/dist/cloud-voice-catalog.js.map +12 -0
  112. package/dist/index.browser.d.ts +15 -3
  113. package/dist/index.browser.d.ts.map +1 -1
  114. package/dist/index.d.ts +24 -0
  115. package/dist/index.d.ts.map +1 -1
  116. package/dist/index.js +9862 -0
  117. package/dist/index.js.map +77 -0
  118. package/dist/index.node.d.ts +21 -2
  119. package/dist/index.node.d.ts.map +1 -1
  120. package/dist/init.d.ts.map +1 -1
  121. package/dist/init.js +182 -0
  122. package/dist/init.js.map +12 -0
  123. package/dist/lib/cloud-connection.d.ts +77 -0
  124. package/dist/lib/cloud-connection.d.ts.map +1 -0
  125. package/dist/lib/cloud-connection.js +654 -0
  126. package/dist/lib/cloud-connection.js.map +14 -0
  127. package/dist/lib/cloud-secrets.d.ts +10 -0
  128. package/dist/lib/cloud-secrets.d.ts.map +1 -0
  129. package/dist/lib/cloud-secrets.js +36 -0
  130. package/dist/lib/cloud-secrets.js.map +10 -0
  131. package/dist/lib/config-env.d.ts +5 -0
  132. package/dist/lib/config-env.d.ts.map +1 -0
  133. package/dist/lib/config-env.js +191 -0
  134. package/dist/lib/config-env.js.map +11 -0
  135. package/dist/lib/config-like.d.ts +40 -0
  136. package/dist/lib/config-like.d.ts.map +1 -0
  137. package/dist/lib/config-like.js +103 -0
  138. package/dist/lib/config-like.js.map +10 -0
  139. package/dist/lib/credential-type-map.d.ts +53 -0
  140. package/dist/lib/credential-type-map.d.ts.map +1 -0
  141. package/dist/lib/credential-type-map.js +88 -0
  142. package/dist/lib/credential-type-map.js.map +10 -0
  143. package/dist/lib/feature-flags.d.ts +2 -0
  144. package/dist/lib/feature-flags.d.ts.map +1 -0
  145. package/dist/lib/feature-flags.js +40 -0
  146. package/dist/lib/feature-flags.js.map +10 -0
  147. package/dist/lib/http.d.ts +11 -0
  148. package/dist/lib/http.d.ts.map +1 -0
  149. package/dist/lib/http.js +107 -0
  150. package/dist/lib/http.js.map +10 -0
  151. package/dist/lib/server-cloud-tts.d.ts +21 -0
  152. package/dist/lib/server-cloud-tts.d.ts.map +1 -0
  153. package/dist/lib/server-cloud-tts.js +251 -0
  154. package/dist/lib/server-cloud-tts.js.map +10 -0
  155. package/dist/lib/state-paths.d.ts +4 -0
  156. package/dist/lib/state-paths.d.ts.map +1 -0
  157. package/dist/lib/state-paths.js +52 -0
  158. package/dist/lib/state-paths.js.map +10 -0
  159. package/dist/lib/tts-debug.d.ts +6 -0
  160. package/dist/lib/tts-debug.d.ts.map +1 -0
  161. package/dist/lib/tts-debug.js +24 -0
  162. package/dist/lib/tts-debug.js.map +9 -0
  163. package/dist/models/embeddings.d.ts.map +1 -1
  164. package/dist/models/embeddings.js +329 -0
  165. package/dist/models/embeddings.js.map +13 -0
  166. package/dist/models/image.d.ts.map +1 -1
  167. package/dist/models/image.js +401 -0
  168. package/dist/models/image.js.map +14 -0
  169. package/dist/models/index.d.ts +1 -2
  170. package/dist/models/index.d.ts.map +1 -1
  171. package/dist/models/index.js +1896 -0
  172. package/dist/models/index.js.map +19 -0
  173. package/dist/models/research.d.ts.map +1 -1
  174. package/dist/models/research.js +341 -0
  175. package/dist/models/research.js.map +13 -0
  176. package/dist/models/speech.d.ts +61 -3
  177. package/dist/models/speech.d.ts.map +1 -1
  178. package/dist/models/speech.js +429 -0
  179. package/dist/models/speech.js.map +13 -0
  180. package/dist/models/text.d.ts +111 -3
  181. package/dist/models/text.d.ts.map +1 -1
  182. package/dist/models/text.js +1173 -0
  183. package/dist/models/text.js.map +14 -0
  184. package/dist/models/tokenization.d.ts.map +1 -1
  185. package/dist/models/tokenization.js +65 -0
  186. package/dist/models/tokenization.js.map +10 -0
  187. package/dist/models/transcription.d.ts.map +1 -1
  188. package/dist/models/transcription.js +297 -0
  189. package/dist/models/transcription.js.map +13 -0
  190. package/dist/node/index.d.ts +2 -2
  191. package/dist/node/index.node.js +9189 -2295
  192. package/dist/node/index.node.js.map +68 -30
  193. package/dist/plugin.d.ts +20 -0
  194. package/dist/plugin.d.ts.map +1 -0
  195. package/dist/plugin.js +2937 -0
  196. package/dist/plugin.js.map +28 -0
  197. package/dist/providers/openai.d.ts.map +1 -1
  198. package/dist/providers/openai.js +136 -0
  199. package/dist/providers/openai.js.map +11 -0
  200. package/dist/register-routes.d.ts +2 -0
  201. package/dist/register-routes.d.ts.map +1 -0
  202. package/dist/register-routes.js +2938 -0
  203. package/dist/register-routes.js.map +29 -0
  204. package/dist/routes/cloud-billing-routes.d.ts +9 -0
  205. package/dist/routes/cloud-billing-routes.d.ts.map +1 -0
  206. package/dist/routes/cloud-billing-routes.js +764 -0
  207. package/dist/routes/cloud-billing-routes.js.map +15 -0
  208. package/dist/routes/cloud-coding-container-routes.d.ts +8 -0
  209. package/dist/routes/cloud-coding-container-routes.d.ts.map +1 -0
  210. package/dist/routes/cloud-coding-container-routes.js +214 -0
  211. package/dist/routes/cloud-coding-container-routes.js.map +11 -0
  212. package/dist/routes/cloud-compat-routes.d.ts +10 -0
  213. package/dist/routes/cloud-compat-routes.d.ts.map +1 -0
  214. package/dist/routes/cloud-compat-routes.js +495 -0
  215. package/dist/routes/cloud-compat-routes.js.map +15 -0
  216. package/dist/routes/cloud-features-routes.d.ts +9 -0
  217. package/dist/routes/cloud-features-routes.d.ts.map +1 -0
  218. package/dist/routes/cloud-features-routes.js +124 -0
  219. package/dist/routes/cloud-features-routes.js.map +11 -0
  220. package/dist/routes/cloud-provisioning.d.ts +14 -0
  221. package/dist/routes/cloud-provisioning.d.ts.map +1 -0
  222. package/dist/routes/cloud-provisioning.js +37 -0
  223. package/dist/routes/cloud-provisioning.js.map +10 -0
  224. package/dist/routes/cloud-relay-routes.d.ts +23 -0
  225. package/dist/routes/cloud-relay-routes.d.ts.map +1 -0
  226. package/dist/routes/cloud-relay-routes.js +142 -0
  227. package/dist/routes/cloud-relay-routes.js.map +11 -0
  228. package/dist/routes/cloud-routes-autonomous.d.ts +82 -0
  229. package/dist/routes/cloud-routes-autonomous.d.ts.map +1 -0
  230. package/dist/routes/cloud-routes-autonomous.js +1252 -0
  231. package/dist/routes/cloud-routes-autonomous.js.map +18 -0
  232. package/dist/routes/cloud-routes.d.ts +35 -0
  233. package/dist/routes/cloud-routes.d.ts.map +1 -0
  234. package/dist/routes/cloud-routes.js +2173 -0
  235. package/dist/routes/cloud-routes.js.map +23 -0
  236. package/dist/routes/cloud-status-routes-autonomous.d.ts +14 -0
  237. package/dist/routes/cloud-status-routes-autonomous.d.ts.map +1 -0
  238. package/dist/routes/cloud-status-routes-autonomous.js +349 -0
  239. package/dist/routes/cloud-status-routes-autonomous.js.map +13 -0
  240. package/dist/routes/cloud-status-routes.d.ts +4 -0
  241. package/dist/routes/cloud-status-routes.d.ts.map +1 -0
  242. package/dist/routes/cloud-status-routes.js +695 -0
  243. package/dist/routes/cloud-status-routes.js.map +15 -0
  244. package/dist/routes/home-remote-runner-access-url.d.ts +16 -0
  245. package/dist/routes/home-remote-runner-access-url.d.ts.map +1 -0
  246. package/dist/routes/home-remote-runner-access-url.js +91 -0
  247. package/dist/routes/home-remote-runner-access-url.js.map +10 -0
  248. package/dist/routes/travel-provider-relay-routes.d.ts +9 -0
  249. package/dist/routes/travel-provider-relay-routes.d.ts.map +1 -0
  250. package/dist/routes/travel-provider-relay-routes.js +358 -0
  251. package/dist/routes/travel-provider-relay-routes.js.map +14 -0
  252. package/dist/services/cloud-auth.d.ts +140 -5
  253. package/dist/services/cloud-auth.d.ts.map +1 -1
  254. package/dist/services/cloud-auth.js +368 -0
  255. package/dist/services/cloud-auth.js.map +12 -0
  256. package/dist/services/cloud-backup.d.ts.map +1 -1
  257. package/dist/services/cloud-backup.js +176 -0
  258. package/dist/services/cloud-backup.js.map +11 -0
  259. package/dist/services/cloud-bootstrap.d.ts +38 -0
  260. package/dist/services/cloud-bootstrap.d.ts.map +1 -0
  261. package/dist/services/cloud-bootstrap.js +84 -0
  262. package/dist/services/cloud-bootstrap.js.map +10 -0
  263. package/dist/services/cloud-bridge.d.ts +1 -1
  264. package/dist/services/cloud-bridge.d.ts.map +1 -1
  265. package/dist/services/cloud-bridge.js +308 -0
  266. package/dist/services/cloud-bridge.js.map +11 -0
  267. package/dist/services/cloud-container.d.ts +5 -1
  268. package/dist/services/cloud-container.d.ts.map +1 -1
  269. package/dist/services/cloud-container.js +292 -0
  270. package/dist/services/cloud-container.js.map +11 -0
  271. package/dist/services/cloud-credential-provider.d.ts +55 -0
  272. package/dist/services/cloud-credential-provider.d.ts.map +1 -0
  273. package/dist/services/cloud-credential-provider.js +190 -0
  274. package/dist/services/cloud-credential-provider.js.map +11 -0
  275. package/dist/services/cloud-managed-gateway-relay.d.ts +38 -0
  276. package/dist/services/cloud-managed-gateway-relay.d.ts.map +1 -0
  277. package/dist/services/cloud-managed-gateway-relay.js +479 -0
  278. package/dist/services/cloud-managed-gateway-relay.js.map +10 -0
  279. package/dist/services/cloud-model-registry.d.ts.map +1 -1
  280. package/dist/services/cloud-model-registry.js +175 -0
  281. package/dist/services/cloud-model-registry.js.map +10 -0
  282. package/dist/services/index.d.ts +3 -1
  283. package/dist/services/index.d.ts.map +1 -1
  284. package/dist/services/index.js +29 -0
  285. package/dist/services/index.js.map +9 -0
  286. package/dist/types/cloud.d.ts +42 -19
  287. package/dist/types/cloud.d.ts.map +1 -1
  288. package/dist/types/cloud.js +52 -0
  289. package/dist/types/cloud.js.map +10 -0
  290. package/dist/types/index.d.ts +1 -1
  291. package/dist/types/index.d.ts.map +1 -1
  292. package/dist/types/index.js +24 -0
  293. package/dist/types/index.js.map +9 -0
  294. package/dist/utils/cloud-api.d.ts +2 -27
  295. package/dist/utils/cloud-api.d.ts.map +1 -1
  296. package/dist/utils/cloud-api.js +33 -0
  297. package/dist/utils/cloud-api.js.map +10 -0
  298. package/dist/utils/cloud-sdk/client.d.ts +133 -0
  299. package/dist/utils/cloud-sdk/client.d.ts.map +1 -0
  300. package/dist/utils/cloud-sdk/client.js +3693 -0
  301. package/dist/utils/cloud-sdk/client.js.map +13 -0
  302. package/dist/utils/cloud-sdk/http.d.ts +37 -0
  303. package/dist/utils/cloud-sdk/http.d.ts.map +1 -0
  304. package/dist/utils/cloud-sdk/http.js +237 -0
  305. package/dist/utils/cloud-sdk/http.js.map +11 -0
  306. package/dist/utils/cloud-sdk/index.d.ts +6 -0
  307. package/dist/utils/cloud-sdk/index.d.ts.map +1 -0
  308. package/dist/utils/cloud-sdk/index.js +29 -0
  309. package/dist/utils/cloud-sdk/index.js.map +9 -0
  310. package/dist/utils/cloud-sdk/public-routes.d.ts +5563 -0
  311. package/dist/utils/cloud-sdk/public-routes.d.ts.map +1 -0
  312. package/dist/utils/cloud-sdk/public-routes.js +3048 -0
  313. package/dist/utils/cloud-sdk/public-routes.js.map +10 -0
  314. package/dist/utils/cloud-sdk/types.cloud-api.d.ts +101 -0
  315. package/dist/utils/cloud-sdk/types.cloud-api.d.ts.map +1 -0
  316. package/dist/utils/cloud-sdk/types.cloud-api.js +2 -0
  317. package/dist/utils/cloud-sdk/types.cloud-api.js.map +9 -0
  318. package/dist/utils/cloud-sdk/types.d.ts +653 -0
  319. package/dist/utils/cloud-sdk/types.d.ts.map +1 -0
  320. package/dist/utils/cloud-sdk/types.js +29 -0
  321. package/dist/utils/cloud-sdk/types.js.map +10 -0
  322. package/dist/utils/config.d.ts +16 -3
  323. package/dist/utils/config.d.ts.map +1 -1
  324. package/dist/utils/config.js +147 -0
  325. package/dist/utils/config.js.map +10 -0
  326. package/dist/utils/events.d.ts +23 -2
  327. package/dist/utils/events.d.ts.map +1 -1
  328. package/dist/utils/events.js +45 -0
  329. package/dist/utils/events.js.map +10 -0
  330. package/dist/utils/helpers.d.ts.map +1 -1
  331. package/dist/utils/helpers.js +103 -0
  332. package/dist/utils/helpers.js.map +10 -0
  333. package/dist/utils/responses-output.d.ts +13 -0
  334. package/dist/utils/responses-output.d.ts.map +1 -0
  335. package/dist/utils/responses-output.js +102 -0
  336. package/dist/utils/responses-output.js.map +10 -0
  337. package/dist/utils/sdk-client.d.ts +5 -0
  338. package/dist/utils/sdk-client.d.ts.map +1 -0
  339. package/dist/utils/sdk-client.js +157 -0
  340. package/dist/utils/sdk-client.js.map +11 -0
  341. package/dist/utils/waifu-metering.d.ts +108 -0
  342. package/dist/utils/waifu-metering.d.ts.map +1 -0
  343. package/dist/utils/waifu-metering.js +166 -0
  344. package/dist/utils/waifu-metering.js.map +10 -0
  345. package/package.json +139 -21
  346. package/src/cloud/auth-service-types.ts +24 -0
  347. package/src/cloud/auth.ts +175 -0
  348. package/src/cloud/backup.ts +46 -0
  349. package/src/cloud/base-url.ts +6 -0
  350. package/src/cloud/bridge-client.ts +602 -0
  351. package/src/cloud/clack-observer.ts +189 -0
  352. package/src/cloud/cloud-api-key.ts +80 -0
  353. package/src/cloud/cloud-manager.ts +163 -0
  354. package/src/cloud/cloud-proxy.ts +52 -0
  355. package/src/cloud/cloud-wallet.ts +341 -0
  356. package/src/cloud/duffel-client.ts +847 -0
  357. package/src/cloud/index.ts +38 -0
  358. package/src/cloud/lifeops-schedule-sync-client.ts +245 -0
  359. package/src/cloud/lifeops-schedule-sync-contracts.ts +124 -0
  360. package/src/cloud/managed-payment-clients.ts +374 -0
  361. package/src/cloud/null-observer.ts +45 -0
  362. package/src/cloud/reconnect.ts +111 -0
  363. package/src/cloud/setup-observer.ts +125 -0
  364. package/src/cloud/validate-url.ts +187 -0
  365. package/src/cloud/x402-payment-handler.ts +215 -0
  366. package/src/cloud-providers/cloud-status.ts +75 -0
  367. package/src/cloud-providers/container-health.ts +68 -0
  368. package/src/cloud-providers/credit-balance.ts +70 -0
  369. package/src/cloud-providers/index.ts +3 -0
  370. package/src/cloud-providers/model-registry.ts +74 -0
  371. package/src/cloud-setup.ts +531 -0
  372. package/src/cloud-voice-catalog.test.ts +254 -0
  373. package/src/cloud-voice-catalog.ts +246 -0
  374. package/src/index.browser.ts +39 -0
  375. package/src/index.node.ts +69 -0
  376. package/src/index.ts +419 -0
  377. package/src/init.ts +39 -0
  378. package/src/lib/cloud-connection.ts +661 -0
  379. package/src/lib/cloud-secrets.ts +14 -0
  380. package/src/lib/config-env.ts +168 -0
  381. package/src/lib/config-like.ts +149 -0
  382. package/src/lib/credential-type-map.ts +130 -0
  383. package/src/lib/feature-flags.ts +26 -0
  384. package/src/lib/http.ts +122 -0
  385. package/src/lib/server-cloud-tts.ts +301 -0
  386. package/src/lib/state-paths.ts +28 -0
  387. package/src/lib/tts-debug.ts +5 -0
  388. package/src/models/embeddings.ts +298 -0
  389. package/src/models/image.ts +234 -0
  390. package/src/models/index.ts +16 -0
  391. package/src/models/research.ts +275 -0
  392. package/src/models/speech.ts +324 -0
  393. package/src/models/text.ts +1493 -0
  394. package/src/models/tokenization.ts +67 -0
  395. package/src/models/transcription.ts +101 -0
  396. package/src/plugin.ts +281 -0
  397. package/src/providers/openai.ts +16 -0
  398. package/src/register-routes.ts +6 -0
  399. package/src/routes/cloud-billing-routes.ts +744 -0
  400. package/src/routes/cloud-coding-container-routes.ts +198 -0
  401. package/src/routes/cloud-compat-routes.ts +304 -0
  402. package/src/routes/cloud-features-routes.ts +57 -0
  403. package/src/routes/cloud-provisioning.ts +37 -0
  404. package/src/routes/cloud-relay-routes.ts +135 -0
  405. package/src/routes/cloud-routes-autonomous.ts +993 -0
  406. package/src/routes/cloud-routes.ts +637 -0
  407. package/src/routes/cloud-status-routes-autonomous.ts +238 -0
  408. package/src/routes/cloud-status-routes.ts +73 -0
  409. package/src/routes/home-remote-runner-access-url.ts +83 -0
  410. package/src/routes/travel-provider-relay-routes.ts +193 -0
  411. package/src/services/cloud-auth.ts +574 -0
  412. package/src/services/cloud-backup.ts +208 -0
  413. package/src/services/cloud-bootstrap.ts +106 -0
  414. package/src/services/cloud-bridge.ts +386 -0
  415. package/src/services/cloud-container.ts +390 -0
  416. package/src/services/cloud-credential-provider.ts +210 -0
  417. package/src/services/cloud-managed-gateway-relay.ts +663 -0
  418. package/src/services/cloud-model-registry.ts +202 -0
  419. package/src/services/index.ts +17 -0
  420. package/{types → src/types}/cloud.ts +74 -29
  421. package/{types → src/types}/index.ts +25 -0
  422. package/src/utils/cloud-api.ts +10 -0
  423. package/src/utils/cloud-sdk/client.ts +774 -0
  424. package/src/utils/cloud-sdk/http.ts +291 -0
  425. package/src/utils/cloud-sdk/index.ts +23 -0
  426. package/src/utils/cloud-sdk/public-routes.ts +5238 -0
  427. package/src/utils/cloud-sdk/types.cloud-api.ts +120 -0
  428. package/src/utils/cloud-sdk/types.ts +760 -0
  429. package/src/utils/config.ts +193 -0
  430. package/src/utils/events.ts +65 -0
  431. package/src/utils/helpers.ts +107 -0
  432. package/src/utils/responses-output.ts +115 -0
  433. package/src/utils/sdk-client.ts +41 -0
  434. package/src/utils/waifu-metering.ts +302 -0
  435. package/dist/actions/check-credits.d.ts +0 -6
  436. package/dist/actions/check-credits.d.ts.map +0 -1
  437. package/dist/actions/freeze-agent.d.ts +0 -9
  438. package/dist/actions/freeze-agent.d.ts.map +0 -1
  439. package/dist/actions/index.d.ts +0 -5
  440. package/dist/actions/index.d.ts.map +0 -1
  441. package/dist/actions/provision-agent.d.ts +0 -8
  442. package/dist/actions/provision-agent.d.ts.map +0 -1
  443. package/dist/actions/resume-agent.d.ts +0 -9
  444. package/dist/actions/resume-agent.d.ts.map +0 -1
  445. package/dist/build.d.ts +0 -3
  446. package/dist/build.d.ts.map +0 -1
  447. package/dist/generated/specs/specs.d.ts +0 -55
  448. package/dist/generated/specs/specs.d.ts.map +0 -1
  449. package/dist/models/object.d.ts +0 -4
  450. package/dist/models/object.d.ts.map +0 -1
  451. package/dist/utils/forwarded-settings.d.ts +0 -8
  452. 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.0-alpha.8",
3
+ "version": "2.0.11-beta.7",
4
4
  "type": "module",
5
- "main": "dist/cjs/index.node.cjs",
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
- "types"
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
- "@elizaos/core": "2.0.0-alpha.114",
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
- "undici": "^7.16.0"
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.3.11",
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": "^5.9.3"
94
+ "typescript": "^6.0.3",
95
+ "vitest": "^4.1.4"
48
96
  },
49
97
  "peerDependencies": {
50
- "zod": "^4.3.6"
98
+ "zod": "^4.4.3"
51
99
  },
52
100
  "scripts": {
53
101
  "dev": "bun run build.ts --watch",
54
- "typecheck": "tsc --noEmit -p tsconfig.json",
102
+ "typecheck": "tsgo --noEmit -p tsconfig.json",
55
103
  "lint": "bunx @biomejs/biome check --write --unsafe .",
56
- "clean": "rm -rf dist .turbo node_modules .turbo-tsconfig.json tsconfig.tsbuildinfo",
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": "npx -y vitest@4.0.18 run --passWithNoTests",
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). Available: gpt-5-mini, gpt-5, claude-3-5-sonnet, gemini-2.0-flash",
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-5-mini",
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). Available: gpt-5-mini, gpt-5, claude-3-5-sonnet, gemini-2.0-flash",
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": "gpt-5",
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-alpha",
319
+ "default": "2.0.0-beta.0",
202
320
  "sensitive": false
203
321
  }
204
322
  }
205
323
  },
206
- "gitHead": "646c632924826e2b75c2304a75ee56959fe4a460",
207
- "milady": {
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";