@elizaos/plugin-elizacloud 2.0.0-alpha.8 → 2.0.3-beta.2

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