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