@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
@@ -0,0 +1,234 @@
1
+ import type { IAgentRuntime, ImageDescriptionParams, ImageGenerationParams } from "@elizaos/core";
2
+ import { logger, ModelType } from "@elizaos/core";
3
+ import {
4
+ getImageDescriptionModel,
5
+ getImageGenerationModel,
6
+ getSetting,
7
+ resolveCloudTimeoutMs,
8
+ } from "../utils/config";
9
+ import { emitModelUsageEvent } from "../utils/events";
10
+ import { parseImageDescriptionResponse } from "../utils/helpers";
11
+ import { createElizaCloudClient } from "../utils/sdk-client";
12
+
13
+ export async function handleImageGeneration(
14
+ runtime: IAgentRuntime,
15
+ params: ImageGenerationParams
16
+ ): Promise<{ url: string }[]> {
17
+ const numImages = params.count || 1;
18
+ const size = params.size || "1024x1024";
19
+ const prompt = params.prompt;
20
+ const modelName = getImageGenerationModel(runtime);
21
+ logger.log(`[ELIZAOS_CLOUD] Using IMAGE model: ${modelName}`);
22
+
23
+ const aspectRatioMap: Record<string, string> = {
24
+ "1024x1024": "1:1",
25
+ "1792x1024": "16:9",
26
+ "1024x1792": "9:16",
27
+ };
28
+ const aspectRatio = aspectRatioMap[size] || "1:1";
29
+
30
+ try {
31
+ const requestBody = {
32
+ prompt: prompt,
33
+ numImages: numImages,
34
+ aspectRatio: aspectRatio,
35
+ model: modelName,
36
+ };
37
+
38
+ const typedData = await createElizaCloudClient(runtime).generateImage(requestBody);
39
+
40
+ const result = typedData.images.map((img: { url?: string; image?: string }) => ({
41
+ url: img.url ?? img.image ?? "",
42
+ }));
43
+ return result;
44
+ } catch (error) {
45
+ const message = error instanceof Error ? error.message : String(error);
46
+ logger.error(`[ELIZAOS_CLOUD] Image generation error: ${message}`);
47
+ throw error;
48
+ }
49
+ }
50
+
51
+ export async function handleImageDescription(
52
+ runtime: IAgentRuntime,
53
+ params: ImageDescriptionParams | string
54
+ ): Promise<{ title: string; description: string }> {
55
+ // Honour `DISABLE_IMAGE_DESCRIPTION` (set by the runtime when
56
+ // `features.vision === false`). The runtime exposes it via getSetting; some
57
+ // hosts only set it in process.env. Check both before burning a quota slot.
58
+ // The docs (`docs/runtime/core.md`) already promise this behaviour, but
59
+ // historically only `plugin-discord` honoured it at the call site, leaving
60
+ // every other caller (agent-orchestrator's task validator, vision, lifeops,
61
+ // farcaster, telegram) free to spend the rate-limit budget.
62
+ const disableSetting = getSetting(runtime, "DISABLE_IMAGE_DESCRIPTION", "");
63
+ const disabled = [disableSetting, process.env.DISABLE_IMAGE_DESCRIPTION].some((value) => {
64
+ const normalized = value?.trim().toLowerCase();
65
+ return normalized === "1" || normalized === "true" || normalized === "yes" || normalized === "on";
66
+ });
67
+ if (disabled) {
68
+ logger.debug("[ELIZAOS_CLOUD] IMAGE_DESCRIPTION skipped — DISABLE_IMAGE_DESCRIPTION is set");
69
+ return {
70
+ title: "Image description disabled",
71
+ description: "Image description is disabled by configuration.",
72
+ };
73
+ }
74
+
75
+ let imageUrl: string;
76
+ let promptText: string | undefined;
77
+ const modelName = getImageDescriptionModel(runtime);
78
+ logger.log(`[ELIZAOS_CLOUD] Using IMAGE_DESCRIPTION model: ${modelName}`);
79
+ const maxTokens = Number.parseInt(
80
+ getSetting(runtime, "ELIZAOS_CLOUD_IMAGE_DESCRIPTION_MAX_TOKENS", "8192") || "8192",
81
+ 10
82
+ );
83
+
84
+ if (typeof params === "string") {
85
+ imageUrl = params;
86
+ promptText = "Please analyze this image and provide a title and detailed description.";
87
+ } else {
88
+ imageUrl = params.imageUrl;
89
+ promptText =
90
+ params.prompt || "Please analyze this image and provide a title and detailed description.";
91
+ }
92
+
93
+ const messages = [
94
+ {
95
+ role: "user",
96
+ content: [
97
+ { type: "text", text: promptText },
98
+ { type: "image_url", image_url: { url: imageUrl } },
99
+ ],
100
+ },
101
+ ];
102
+
103
+ const client = createElizaCloudClient(runtime);
104
+
105
+ try {
106
+ const requestBody: Record<string, unknown> = {
107
+ model: modelName,
108
+ messages: messages,
109
+ max_tokens: maxTokens,
110
+ };
111
+
112
+ // On 429, honour the upstream's `retryAfter` instead of retrying on a
113
+ // hardcoded backoff. Hardcoded retries inside the rate-limit window add
114
+ // wasted requests to the same bucket and make the problem worse — see
115
+ // #7374's billing render-loop fix and S33's dashboard 429-aware UX.
116
+ // Strategy: only retry once, only if the upstream signals a short wait
117
+ // (≤5s, i.e. transient burst). Anything longer, bail immediately and let
118
+ // the caller fail fast.
119
+ let response: Response | null = null;
120
+ let attemptedRetry = false;
121
+ for (let attempt = 0; attempt < 2; attempt++) {
122
+ const attemptResponse = await client.routes.postApiV1ChatCompletionsRaw({
123
+ json: requestBody,
124
+ timeoutMs: resolveCloudTimeoutMs("ELIZAOS_CLOUD_IMAGE_TIMEOUT_MS", 120_000),
125
+ });
126
+ if (!attemptResponse) {
127
+ continue;
128
+ }
129
+ response = attemptResponse;
130
+ if (attemptResponse.status !== 429 || attemptedRetry) break;
131
+
132
+ // `Number(null) === 0`, so guard against a missing header before
133
+ // calling `Number(...)` — otherwise the header path always wins with a
134
+ // bogus `0` and the body fallback becomes unreachable.
135
+ const headerValue = attemptResponse.headers.get("retry-after");
136
+ const headerRetryAfter =
137
+ headerValue !== null && Number.isFinite(Number(headerValue))
138
+ ? Number(headerValue)
139
+ : undefined;
140
+ let bodyRetryAfter: number | undefined;
141
+ try {
142
+ const peek = (await attemptResponse.clone().json()) as {
143
+ retryAfter?: unknown;
144
+ };
145
+ bodyRetryAfter =
146
+ typeof peek?.retryAfter === "number" && Number.isFinite(peek.retryAfter)
147
+ ? peek.retryAfter
148
+ : undefined;
149
+ } catch {
150
+ // Body wasn't JSON — fall through to header value.
151
+ }
152
+ const retryAfter = headerRetryAfter ?? bodyRetryAfter ?? 0;
153
+
154
+ if (retryAfter > 0 && retryAfter <= 5) {
155
+ logger.warn(
156
+ `[ELIZAOS_CLOUD] Image analysis rate-limited (429), retrying once after ${retryAfter}s...`
157
+ );
158
+ await new Promise((r) => setTimeout(r, retryAfter * 1000));
159
+ attemptedRetry = true;
160
+ continue;
161
+ }
162
+ // Long rate-limit window: don't burn another bucket slot retrying inside it.
163
+ logger.warn(
164
+ `[ELIZAOS_CLOUD] Image analysis rate-limited (429); upstream retryAfter=${retryAfter || "unknown"}s — failing fast`
165
+ );
166
+ break;
167
+ }
168
+
169
+ if (!response) {
170
+ throw new Error("ElizaOS Cloud API did not return a response");
171
+ }
172
+
173
+ const finalResponse = response;
174
+
175
+ if (!finalResponse.ok) {
176
+ const status = finalResponse.status;
177
+ if (status === 402) {
178
+ throw new Error(
179
+ "Eliza Cloud credits exhausted — top up at https://www.elizacloud.ai/dashboard/settings?tab=billing"
180
+ );
181
+ }
182
+ if (status === 429) {
183
+ throw new Error(
184
+ "Eliza Cloud rate limit exceeded for image description — try again in a minute"
185
+ );
186
+ }
187
+ throw new Error(`ElizaOS Cloud API error: ${status}`);
188
+ }
189
+
190
+ type OpenAIResponseType = {
191
+ choices?: Array<{
192
+ message?: { content?: string };
193
+ finish_reason?: string;
194
+ }>;
195
+ usage?: {
196
+ prompt_tokens: number;
197
+ completion_tokens: number;
198
+ total_tokens: number;
199
+ };
200
+ };
201
+
202
+ const typedResult = (await finalResponse.json()) as OpenAIResponseType;
203
+ const content = typedResult.choices?.[0]?.message?.content;
204
+
205
+ if (typedResult.usage) {
206
+ emitModelUsageEvent(
207
+ runtime,
208
+ ModelType.IMAGE_DESCRIPTION,
209
+ typeof params === "string" ? params : params.prompt || "",
210
+ {
211
+ inputTokens: typedResult.usage.prompt_tokens,
212
+ outputTokens: typedResult.usage.completion_tokens,
213
+ totalTokens: typedResult.usage.total_tokens,
214
+ }
215
+ );
216
+ }
217
+
218
+ if (!content) {
219
+ return {
220
+ title: "Failed to analyze image",
221
+ description: "No response from API",
222
+ };
223
+ }
224
+
225
+ return parseImageDescriptionResponse(content);
226
+ } catch (error) {
227
+ const message = error instanceof Error ? error.message : String(error);
228
+ logger.error(`Error analyzing image: ${message}`);
229
+ return {
230
+ title: "Failed to analyze image",
231
+ description: `Error: ${message}`,
232
+ };
233
+ }
234
+ }
@@ -0,0 +1,16 @@
1
+ export type { BatchEmbeddingResult } from "./embeddings";
2
+ export { handleBatchTextEmbedding, handleTextEmbedding } from "./embeddings";
3
+ export { handleImageDescription, handleImageGeneration } from "./image";
4
+ export { handleResearch } from "./research";
5
+ export { fetchTextToSpeech, handleTextToSpeech } from "./speech";
6
+ export {
7
+ handleActionPlanner,
8
+ handleResponseHandler,
9
+ handleTextLarge,
10
+ handleTextMedium,
11
+ handleTextMega,
12
+ handleTextNano,
13
+ handleTextSmall,
14
+ } from "./text";
15
+ export { handleTokenizerDecode, handleTokenizerEncode } from "./tokenization";
16
+ export { handleTranscription } from "./transcription";
@@ -0,0 +1,275 @@
1
+ /** Research model handler — calls /responses for deep-research models. */
2
+
3
+ import type {
4
+ IAgentRuntime,
5
+ ResearchAnnotation,
6
+ ResearchOutputItem,
7
+ ResearchParams,
8
+ ResearchResult,
9
+ } from "@elizaos/core";
10
+ import { logger, ModelType } from "@elizaos/core";
11
+ import { getResearchModel, resolveCloudTimeoutMs } from "../utils/config";
12
+ import { emitModelUsageEvent } from "../utils/events";
13
+ import { createCloudApiClient } from "../utils/sdk-client";
14
+
15
+ // Deep research is a long-running, TURN-BLOCKING call; without a timeout a
16
+ // stalled gateway hangs the turn forever (cloud-sdk applies no default). The
17
+ // default is deliberately generous (10 min) so a legitimately slow run isn't
18
+ // aborted; `ELIZAOS_CLOUD_RESEARCH_TIMEOUT_MS=0` opts out.
19
+ const DEFAULT_RESEARCH_TIMEOUT_MS = 600_000;
20
+
21
+ interface ResponsesAPIOutput {
22
+ id: string;
23
+ status: string;
24
+ output: Array<{
25
+ type: string;
26
+ id?: string;
27
+ status?: string;
28
+ content?: Array<{
29
+ type: string;
30
+ text?: string;
31
+ annotations?: Array<{
32
+ type: string;
33
+ url?: string;
34
+ title?: string;
35
+ start_index?: number;
36
+ end_index?: number;
37
+ }>;
38
+ }>;
39
+ action?: {
40
+ type: string;
41
+ query?: string;
42
+ url?: string;
43
+ };
44
+ query?: string;
45
+ results?: Array<{
46
+ file_id: string;
47
+ file_name: string;
48
+ score: number;
49
+ }>;
50
+ code?: string;
51
+ output?: string;
52
+ server_label?: string;
53
+ tool_name?: string;
54
+ arguments?: Record<string, unknown>;
55
+ result?: unknown;
56
+ }>;
57
+ usage?: {
58
+ input_tokens: number;
59
+ output_tokens: number;
60
+ total_tokens: number;
61
+ };
62
+ }
63
+
64
+ type ResponsesAPIInput =
65
+ | string
66
+ | Array<{
67
+ role: "user" | "system" | "assistant";
68
+ content: Array<{
69
+ type: "input_text";
70
+ text: string;
71
+ }>;
72
+ }>;
73
+
74
+ function normalizeInput(input: ResearchParams["input"]): ResponsesAPIInput {
75
+ if (typeof input !== "string") {
76
+ return input as ResponsesAPIInput;
77
+ }
78
+
79
+ return [
80
+ {
81
+ role: "user",
82
+ content: [
83
+ {
84
+ type: "input_text",
85
+ text: input,
86
+ },
87
+ ],
88
+ },
89
+ ];
90
+ }
91
+
92
+ function buildResearchApiError(status: number, errorText: string): Error {
93
+ try {
94
+ const parsed = JSON.parse(errorText) as {
95
+ error?: { message?: string; param?: string; code?: string };
96
+ };
97
+ const message = parsed.error?.message;
98
+ const param = parsed.error?.param;
99
+ if (param === "tools.0.type" && message?.includes('expected "function"')) {
100
+ return new Error(
101
+ `Research API error: ${status} Eliza Cloud /responses rejected deep-research tool types; the provider currently only accepts function tools on this route`
102
+ );
103
+ }
104
+ } catch {
105
+ // Fall through to the raw error text.
106
+ }
107
+
108
+ return new Error(`Research API error: ${status} ${errorText}`);
109
+ }
110
+
111
+ function parseAnnotations(
112
+ raw: Array<{
113
+ type: string;
114
+ url?: string;
115
+ title?: string;
116
+ start_index?: number;
117
+ end_index?: number;
118
+ }>
119
+ ): ResearchAnnotation[] {
120
+ return raw
121
+ .filter((a) => a.url !== undefined)
122
+ .map((a) => ({
123
+ url: a.url as string,
124
+ title: a.title ?? "",
125
+ startIndex: a.start_index ?? 0,
126
+ endIndex: a.end_index ?? 0,
127
+ }));
128
+ }
129
+
130
+ function parseOutputItems(raw: ResponsesAPIOutput["output"]): ResearchOutputItem[] {
131
+ const items: ResearchOutputItem[] = [];
132
+
133
+ for (const item of raw) {
134
+ switch (item.type) {
135
+ case "web_search_call":
136
+ items.push({
137
+ id: item.id ?? "",
138
+ type: "web_search_call",
139
+ status: (item.status as "completed" | "failed") ?? "completed",
140
+ action: {
141
+ type: (item.action?.type as "search" | "open_page" | "find_in_page") ?? "search",
142
+ query: item.action?.query,
143
+ url: item.action?.url,
144
+ },
145
+ });
146
+ break;
147
+ case "file_search_call":
148
+ items.push({
149
+ id: item.id ?? "",
150
+ type: "file_search_call",
151
+ status: (item.status as "completed" | "failed") ?? "completed",
152
+ query: item.query ?? "",
153
+ results: item.results?.map((r) => ({
154
+ fileId: r.file_id,
155
+ fileName: r.file_name,
156
+ score: r.score,
157
+ })),
158
+ });
159
+ break;
160
+ case "code_interpreter_call":
161
+ items.push({
162
+ id: item.id ?? "",
163
+ type: "code_interpreter_call",
164
+ status: (item.status as "completed" | "failed") ?? "completed",
165
+ code: item.code ?? "",
166
+ output: item.output,
167
+ });
168
+ break;
169
+ case "mcp_tool_call":
170
+ items.push({
171
+ id: item.id ?? "",
172
+ type: "mcp_tool_call",
173
+ status: (item.status as "completed" | "failed") ?? "completed",
174
+ serverLabel: item.server_label ?? "",
175
+ toolName: item.tool_name ?? "",
176
+ arguments: (item.arguments ?? {}) as Record<string, import("@elizaos/core").JsonValue>,
177
+ result: item.result as import("@elizaos/core").JsonValue | undefined,
178
+ });
179
+ break;
180
+ case "message": {
181
+ const content = item.content ?? [];
182
+ items.push({
183
+ type: "message",
184
+ content: content
185
+ .filter((c) => c.type === "output_text")
186
+ .map((c) => ({
187
+ type: "output_text" as const,
188
+ text: c.text ?? "",
189
+ annotations: parseAnnotations(c.annotations ?? []),
190
+ })),
191
+ });
192
+ break;
193
+ }
194
+ }
195
+ }
196
+
197
+ return items;
198
+ }
199
+
200
+ export async function handleResearch(
201
+ runtime: IAgentRuntime,
202
+ params: ResearchParams
203
+ ): Promise<ResearchResult> {
204
+ const modelName = params.model ?? getResearchModel(runtime);
205
+ logger.log(`[ELIZAOS_CLOUD] Using RESEARCH model: ${modelName}`);
206
+
207
+ const tools = params.tools ?? [{ type: "web_search_preview" }];
208
+
209
+ const requestBody: Record<string, unknown> = {
210
+ model: modelName,
211
+ input: normalizeInput(params.input),
212
+ tools: tools,
213
+ };
214
+
215
+ if (params.instructions) {
216
+ requestBody.instructions = params.instructions;
217
+ }
218
+ if (params.background !== undefined) {
219
+ requestBody.background = params.background;
220
+ }
221
+ if (params.maxToolCalls !== undefined) {
222
+ requestBody.max_tool_calls = params.maxToolCalls;
223
+ }
224
+ if (params.reasoningSummary) {
225
+ requestBody.reasoning = { summary: params.reasoningSummary };
226
+ }
227
+
228
+ const response = await createCloudApiClient(runtime).requestRaw("POST", "/responses", {
229
+ json: requestBody,
230
+ timeoutMs: resolveCloudTimeoutMs(
231
+ "ELIZAOS_CLOUD_RESEARCH_TIMEOUT_MS",
232
+ DEFAULT_RESEARCH_TIMEOUT_MS
233
+ ),
234
+ });
235
+
236
+ if (!response.ok) {
237
+ const errorText = await response.text();
238
+ throw buildResearchApiError(response.status, errorText);
239
+ }
240
+
241
+ const data = (await response.json()) as ResponsesAPIOutput;
242
+
243
+ if (data.usage) {
244
+ emitModelUsageEvent(runtime, ModelType.RESEARCH, params.input, {
245
+ inputTokens: data.usage.input_tokens,
246
+ outputTokens: data.usage.output_tokens,
247
+ totalTokens: data.usage.total_tokens,
248
+ });
249
+ }
250
+
251
+ const outputItems = parseOutputItems(data.output);
252
+
253
+ // Extract final text and annotations from the last message output
254
+ let text = "";
255
+ const annotations: ResearchAnnotation[] = [];
256
+
257
+ for (const item of outputItems) {
258
+ if (item.type === "message") {
259
+ for (const content of item.content) {
260
+ if (content.type === "output_text") {
261
+ text += content.text;
262
+ annotations.push(...content.annotations);
263
+ }
264
+ }
265
+ }
266
+ }
267
+
268
+ return {
269
+ id: data.id,
270
+ text,
271
+ annotations,
272
+ outputItems,
273
+ status: data.status as ResearchResult["status"],
274
+ };
275
+ }