@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,774 @@
1
+ import { CloudApiClient, ElizaCloudHttpClient } from "./http.js";
2
+ import { ElizaCloudPublicRoutesClient } from "./public-routes.js";
3
+ import {
4
+ type AffiliateCodeResponse,
5
+ type AgentLifecycleResponse,
6
+ type AgentListResponse,
7
+ type AgentResponse,
8
+ type ApiKeyCreateRequest,
9
+ type ApiKeyCreateResponse,
10
+ type ApiKeyListResponse,
11
+ type AppCreditsBalanceResponse,
12
+ type AppEarningsHistoryResponse,
13
+ type AppEarningsResponse,
14
+ type AuthPairResponse,
15
+ type ChatCompletionRequest,
16
+ type ChatCompletionResponse,
17
+ type CliLoginPollResponse,
18
+ type CliLoginStartOptions,
19
+ type CliLoginStartResponse,
20
+ type CloudRequestOptions,
21
+ type ContainerCredentialsResponse,
22
+ type ContainerGetResponse,
23
+ type ContainerHealthResponse,
24
+ type ContainerListResponse,
25
+ type ContainerQuotaResponse,
26
+ type CreateAgentRequest,
27
+ type CreateAgentResponse,
28
+ type CreateAppChargeCheckoutRequest,
29
+ type CreateAppChargeCheckoutResponse,
30
+ type CreateAppChargeRequest,
31
+ type CreateAppChargeResponse,
32
+ type CreateAppCreditsCheckoutRequest,
33
+ type CreateAppCreditsCheckoutResponse,
34
+ type CreateContainerRequest,
35
+ type CreateContainerResponse,
36
+ type CreateCreditsCheckoutRequest,
37
+ type CreateCreditsCheckoutResponse,
38
+ type CreateRedemptionRequest,
39
+ type CreateRedemptionResponse,
40
+ type CreateX402PaymentRequest,
41
+ type CreateX402PaymentRequestResponse,
42
+ type CreditBalanceResponse,
43
+ type CreditSummaryResponse,
44
+ DEFAULT_ELIZA_CLOUD_API_BASE_URL,
45
+ DEFAULT_ELIZA_CLOUD_API_ORIGIN,
46
+ DEFAULT_ELIZA_CLOUD_BASE_URL,
47
+ type ElizaCloudClientOptions,
48
+ type EmbeddingsRequest,
49
+ type EmbeddingsResponse,
50
+ type EndpointCallOptions,
51
+ type GatewayRelayResponse,
52
+ type GenerateImageRequest,
53
+ type GenerateImageResponse,
54
+ type GetAppChargeResponse,
55
+ type GetX402PaymentRequestResponse,
56
+ type HttpMethod,
57
+ type JobStatus,
58
+ type LinkAffiliateRequest,
59
+ type LinkAffiliateResponse,
60
+ type ListAppChargesResponse,
61
+ type ListRedemptionsResponse,
62
+ type ListX402PaymentRequestsResponse,
63
+ type ModelListResponse,
64
+ type OpenApiSpec,
65
+ type PairingTokenResponse,
66
+ type PollGatewayRelayResponse,
67
+ type RedemptionBalanceResponse,
68
+ type RedemptionQuoteResponse,
69
+ type RedemptionStatusResponse,
70
+ type RegisterGatewayRelaySessionResponse,
71
+ type ResponsesCreateRequest,
72
+ type ResponsesCreateResponse,
73
+ type SettleX402PaymentRequestResponse,
74
+ type SnapshotListResponse,
75
+ type SnapshotType,
76
+ type UpdateContainerRequest,
77
+ type UpsertAffiliateCodeRequest,
78
+ type UserProfileResponse,
79
+ type VerifyAppCreditsCheckoutResponse,
80
+ type WithdrawAppEarningsRequest,
81
+ type WithdrawAppEarningsResponse,
82
+ type X402FacilitatorPaymentRequest,
83
+ type X402SettleResponse,
84
+ type X402SupportedResponse,
85
+ type X402VerifyResponse,
86
+ } from "./types.js";
87
+
88
+ function trimTrailingSlash(value: string): string {
89
+ return value.replace(/\/+$/, "");
90
+ }
91
+
92
+ function normalizeBaseUrl(value: string | undefined, fallback: string): string {
93
+ const trimmed = value?.trim();
94
+ return trimTrailingSlash(trimmed && trimmed.length > 0 ? trimmed : fallback);
95
+ }
96
+
97
+ function apiOriginFromApiBaseUrl(value: string): string {
98
+ return new URL(value).origin;
99
+ }
100
+
101
+ function normalizeCloudApiBaseUrl(value: string | undefined, fallback: string): string {
102
+ const baseUrl = normalizeBaseUrl(value, fallback);
103
+ let url: URL;
104
+ try {
105
+ url = new URL(baseUrl);
106
+ } catch {
107
+ throw new Error(`Invalid Eliza Cloud API base URL: ${baseUrl}`);
108
+ }
109
+ if (url.protocol !== "http:" && url.protocol !== "https:") {
110
+ throw new Error(`Invalid Eliza Cloud API base URL protocol: ${baseUrl}`);
111
+ }
112
+ if (url.search || url.hash) {
113
+ throw new Error(`Eliza Cloud API base URL must not include query or hash: ${baseUrl}`);
114
+ }
115
+
116
+ const pathname = trimTrailingSlash(url.pathname);
117
+ if (!pathname || pathname === "/") {
118
+ url.pathname = "/api/v1";
119
+ } else if (pathname === "/api/v1") {
120
+ url.pathname = "/api/v1";
121
+ } else {
122
+ throw new Error(`Eliza Cloud API base URL must be an origin or end at /api/v1: ${baseUrl}`);
123
+ }
124
+ return trimTrailingSlash(url.toString());
125
+ }
126
+
127
+ function browserBaseUrlForCliLogin(baseUrl: string): string {
128
+ try {
129
+ const url = new URL(baseUrl);
130
+ if (url.hostname.toLowerCase() === "api.elizacloud.ai") {
131
+ return DEFAULT_ELIZA_CLOUD_BASE_URL;
132
+ }
133
+ } catch {
134
+ // Fall through to the configured base URL.
135
+ }
136
+ return baseUrl;
137
+ }
138
+
139
+ function encodePathParam(value: string | number): string {
140
+ return encodeURIComponent(String(value));
141
+ }
142
+
143
+ function withPathParams(path: string, params?: Record<string, string | number>): string {
144
+ if (!params) return path;
145
+ return path.replace(/\{([^}]+)\}/g, (_match, key: string) => {
146
+ const value = params[key];
147
+ if (value === undefined) {
148
+ throw new Error(`Missing path parameter: ${key}`);
149
+ }
150
+ return encodePathParam(value);
151
+ });
152
+ }
153
+
154
+ function getCryptoRandomUuid(): string {
155
+ if (globalThis.crypto?.randomUUID) {
156
+ return globalThis.crypto.randomUUID();
157
+ }
158
+ return `${Date.now().toString(36)}-${Math.random().toString(36).slice(2)}`;
159
+ }
160
+
161
+ export class ElizaCloudClient {
162
+ readonly http: ElizaCloudHttpClient;
163
+ readonly v1: CloudApiClient;
164
+ readonly routes: ElizaCloudPublicRoutesClient;
165
+ readonly baseUrl: string;
166
+ readonly apiBaseUrl: string;
167
+
168
+ constructor(options: ElizaCloudClientOptions = {}) {
169
+ this.baseUrl = normalizeBaseUrl(options.baseUrl, DEFAULT_ELIZA_CLOUD_BASE_URL);
170
+ this.apiBaseUrl = normalizeCloudApiBaseUrl(
171
+ options.apiBaseUrl,
172
+ options.baseUrl ? `${this.baseUrl}/api/v1` : DEFAULT_ELIZA_CLOUD_API_BASE_URL,
173
+ );
174
+ const apiOrigin = options.apiBaseUrl
175
+ ? apiOriginFromApiBaseUrl(this.apiBaseUrl)
176
+ : options.baseUrl
177
+ ? this.baseUrl
178
+ : DEFAULT_ELIZA_CLOUD_API_ORIGIN;
179
+ this.http = new ElizaCloudHttpClient({
180
+ ...options,
181
+ baseUrl: apiOrigin,
182
+ });
183
+ this.v1 = new CloudApiClient(this.apiBaseUrl, options.apiKey, {
184
+ bearerToken: options.bearerToken,
185
+ defaultHeaders: options.defaultHeaders,
186
+ fetchImpl: options.fetchImpl,
187
+ });
188
+ this.routes = new ElizaCloudPublicRoutesClient(this);
189
+ }
190
+
191
+ setApiKey(apiKey: string | undefined): void {
192
+ this.http.setApiKey(apiKey);
193
+ this.v1.setApiKey(apiKey);
194
+ }
195
+
196
+ setBearerToken(token: string | undefined): void {
197
+ this.http.setBearerToken(token);
198
+ this.v1.setBearerToken(token);
199
+ }
200
+
201
+ request<TResponse>(
202
+ method: HttpMethod,
203
+ path: string,
204
+ options?: CloudRequestOptions,
205
+ ): Promise<TResponse> {
206
+ return this.http.request<TResponse>(method, path, options);
207
+ }
208
+
209
+ requestRaw(method: HttpMethod, path: string, options?: CloudRequestOptions): Promise<Response> {
210
+ return this.http.requestRaw(method, path, options);
211
+ }
212
+
213
+ callEndpoint<TResponse>(
214
+ method: HttpMethod,
215
+ pathTemplate: string,
216
+ options: EndpointCallOptions = {},
217
+ ): Promise<TResponse> {
218
+ const { pathParams, ...requestOptions } = options;
219
+ return this.request<TResponse>(
220
+ method,
221
+ withPathParams(pathTemplate, pathParams),
222
+ requestOptions,
223
+ );
224
+ }
225
+
226
+ getOpenApiSpec(options: CloudRequestOptions = {}): Promise<OpenApiSpec> {
227
+ return this.request<OpenApiSpec>("GET", "/api/openapi.json", options);
228
+ }
229
+
230
+ startCliLogin(options: CliLoginStartOptions = {}): Promise<CliLoginStartResponse> {
231
+ const sessionId = options.sessionId ?? getCryptoRandomUuid();
232
+ const query = options.returnTo ? `?returnTo=${encodeURIComponent(options.returnTo)}` : "";
233
+ const browserBaseUrl = browserBaseUrlForCliLogin(this.baseUrl);
234
+ const browserUrl = `${browserBaseUrl}/auth/cli-login?session=${encodeURIComponent(
235
+ sessionId,
236
+ )}${query}`;
237
+
238
+ return this.request<{ status?: string; expiresAt?: string }>("POST", "/api/auth/cli-session", {
239
+ json: { sessionId },
240
+ skipAuth: true,
241
+ }).then((response) => ({
242
+ sessionId,
243
+ browserUrl,
244
+ status: response.status,
245
+ expiresAt: response.expiresAt,
246
+ }));
247
+ }
248
+
249
+ pollCliLogin(sessionId: string): Promise<CliLoginPollResponse> {
250
+ return this.request<CliLoginPollResponse>(
251
+ "GET",
252
+ `/api/auth/cli-session/${encodePathParam(sessionId)}`,
253
+ { skipAuth: true },
254
+ );
255
+ }
256
+
257
+ pairWithToken(token: string, origin: string): Promise<AuthPairResponse> {
258
+ return this.request<AuthPairResponse>("POST", "/api/auth/pair", {
259
+ json: { token },
260
+ headers: { Origin: origin },
261
+ skipAuth: true,
262
+ });
263
+ }
264
+
265
+ listModels(): Promise<ModelListResponse> {
266
+ return this.v1.get<ModelListResponse>("/models", { skipAuth: true });
267
+ }
268
+
269
+ createResponse(request: ResponsesCreateRequest): Promise<ResponsesCreateResponse> {
270
+ return this.v1.post<ResponsesCreateResponse>("/responses", request);
271
+ }
272
+
273
+ createChatCompletion(request: ChatCompletionRequest): Promise<ChatCompletionResponse> {
274
+ return this.v1.post<ChatCompletionResponse>("/chat/completions", request);
275
+ }
276
+
277
+ createEmbeddings(request: EmbeddingsRequest): Promise<EmbeddingsResponse> {
278
+ return this.v1.post<EmbeddingsResponse>("/embeddings", request);
279
+ }
280
+
281
+ generateImage(request: GenerateImageRequest): Promise<GenerateImageResponse> {
282
+ return this.v1.post<GenerateImageResponse>("/generate-image", request);
283
+ }
284
+
285
+ getCreditsBalance(options: { fresh?: boolean } = {}): Promise<CreditBalanceResponse> {
286
+ return this.request<CreditBalanceResponse>("GET", "/api/v1/credits/balance", {
287
+ query: options.fresh === undefined ? undefined : { fresh: options.fresh },
288
+ });
289
+ }
290
+
291
+ getCreditsSummary(): Promise<CreditSummaryResponse> {
292
+ return this.request<CreditSummaryResponse>("GET", "/api/v1/credits/summary");
293
+ }
294
+
295
+ createCreditsCheckout(
296
+ request: CreateCreditsCheckoutRequest,
297
+ ): Promise<CreateCreditsCheckoutResponse> {
298
+ return this.request<CreateCreditsCheckoutResponse>("POST", "/api/v1/credits/checkout", {
299
+ json: request,
300
+ });
301
+ }
302
+
303
+ getAppCreditsBalance(appId: string): Promise<AppCreditsBalanceResponse> {
304
+ return this.request<AppCreditsBalanceResponse>("GET", "/api/v1/app-credits/balance", {
305
+ query: { app_id: appId },
306
+ });
307
+ }
308
+
309
+ createAppCreditsCheckout(
310
+ request: CreateAppCreditsCheckoutRequest,
311
+ ): Promise<CreateAppCreditsCheckoutResponse> {
312
+ return this.request<CreateAppCreditsCheckoutResponse>("POST", "/api/v1/app-credits/checkout", {
313
+ json: request,
314
+ });
315
+ }
316
+
317
+ verifyAppCreditsCheckout(sessionId: string): Promise<VerifyAppCreditsCheckoutResponse> {
318
+ return this.request<VerifyAppCreditsCheckoutResponse>("GET", "/api/v1/app-credits/verify", {
319
+ query: { session_id: sessionId },
320
+ });
321
+ }
322
+
323
+ getX402Supported(): Promise<X402SupportedResponse> {
324
+ return this.request<X402SupportedResponse>("GET", "/api/v1/x402", { skipAuth: true });
325
+ }
326
+
327
+ verifyX402Payment(request: X402FacilitatorPaymentRequest): Promise<X402VerifyResponse> {
328
+ return this.request<X402VerifyResponse>("POST", "/api/v1/x402/verify", {
329
+ json: request,
330
+ skipAuth: true,
331
+ });
332
+ }
333
+
334
+ settleX402Payment(request: X402FacilitatorPaymentRequest): Promise<X402SettleResponse> {
335
+ return this.request<X402SettleResponse>("POST", "/api/v1/x402/settle", {
336
+ json: request,
337
+ skipAuth: true,
338
+ });
339
+ }
340
+
341
+ createX402PaymentRequest(
342
+ request: CreateX402PaymentRequest,
343
+ ): Promise<CreateX402PaymentRequestResponse> {
344
+ return this.request<CreateX402PaymentRequestResponse>("POST", "/api/v1/x402/requests", {
345
+ json: request,
346
+ });
347
+ }
348
+
349
+ listX402PaymentRequests(): Promise<ListX402PaymentRequestsResponse> {
350
+ return this.request<ListX402PaymentRequestsResponse>("GET", "/api/v1/x402/requests");
351
+ }
352
+
353
+ getX402PaymentRequest(id: string): Promise<GetX402PaymentRequestResponse> {
354
+ return this.request<GetX402PaymentRequestResponse>(
355
+ "GET",
356
+ `/api/v1/x402/requests/${encodePathParam(id)}`,
357
+ { skipAuth: true },
358
+ );
359
+ }
360
+
361
+ settleX402PaymentRequest(
362
+ id: string,
363
+ paymentPayload: unknown,
364
+ ): Promise<SettleX402PaymentRequestResponse> {
365
+ return this.request<SettleX402PaymentRequestResponse>(
366
+ "POST",
367
+ `/api/v1/x402/requests/${encodePathParam(id)}/settle`,
368
+ { json: { paymentPayload }, skipAuth: true },
369
+ );
370
+ }
371
+
372
+ createAppCharge(
373
+ appId: string,
374
+ request: CreateAppChargeRequest,
375
+ ): Promise<CreateAppChargeResponse> {
376
+ return this.request<CreateAppChargeResponse>(
377
+ "POST",
378
+ `/api/v1/apps/${encodePathParam(appId)}/charges`,
379
+ { json: request },
380
+ );
381
+ }
382
+
383
+ listAppCharges(appId: string, options: { limit?: number } = {}): Promise<ListAppChargesResponse> {
384
+ return this.request<ListAppChargesResponse>(
385
+ "GET",
386
+ `/api/v1/apps/${encodePathParam(appId)}/charges`,
387
+ { query: options.limit === undefined ? undefined : { limit: options.limit } },
388
+ );
389
+ }
390
+
391
+ getAppCharge(appId: string, chargeId: string): Promise<GetAppChargeResponse> {
392
+ return this.request<GetAppChargeResponse>(
393
+ "GET",
394
+ `/api/v1/apps/${encodePathParam(appId)}/charges/${encodePathParam(chargeId)}`,
395
+ { skipAuth: true },
396
+ );
397
+ }
398
+
399
+ createAppChargeCheckout(
400
+ appId: string,
401
+ chargeId: string,
402
+ request: CreateAppChargeCheckoutRequest,
403
+ ): Promise<CreateAppChargeCheckoutResponse> {
404
+ return this.request<CreateAppChargeCheckoutResponse>(
405
+ "POST",
406
+ `/api/v1/apps/${encodePathParam(appId)}/charges/${encodePathParam(chargeId)}/checkout`,
407
+ { json: request },
408
+ );
409
+ }
410
+
411
+ getAffiliateCode(): Promise<AffiliateCodeResponse> {
412
+ return this.request<AffiliateCodeResponse>("GET", "/api/v1/affiliates");
413
+ }
414
+
415
+ createAffiliateCode(request: UpsertAffiliateCodeRequest): Promise<AffiliateCodeResponse> {
416
+ return this.request<AffiliateCodeResponse>("POST", "/api/v1/affiliates", { json: request });
417
+ }
418
+
419
+ updateAffiliateCode(request: UpsertAffiliateCodeRequest): Promise<AffiliateCodeResponse> {
420
+ return this.request<AffiliateCodeResponse>("PUT", "/api/v1/affiliates", { json: request });
421
+ }
422
+
423
+ linkAffiliateCode(request: LinkAffiliateRequest): Promise<LinkAffiliateResponse> {
424
+ return this.request<LinkAffiliateResponse>("POST", "/api/v1/affiliates/link", {
425
+ json: request,
426
+ });
427
+ }
428
+
429
+ getAppEarnings(appId: string, options: { days?: number } = {}): Promise<AppEarningsResponse> {
430
+ return this.request<AppEarningsResponse>(
431
+ "GET",
432
+ `/api/v1/apps/${encodePathParam(appId)}/earnings`,
433
+ { query: options.days === undefined ? undefined : { days: options.days } },
434
+ );
435
+ }
436
+
437
+ getAppEarningsHistory(
438
+ appId: string,
439
+ options: { limit?: number; offset?: number; type?: string } = {},
440
+ ): Promise<AppEarningsHistoryResponse> {
441
+ return this.request<AppEarningsHistoryResponse>(
442
+ "GET",
443
+ `/api/v1/apps/${encodePathParam(appId)}/earnings/history`,
444
+ { query: options },
445
+ );
446
+ }
447
+
448
+ withdrawAppEarnings(
449
+ appId: string,
450
+ request: WithdrawAppEarningsRequest,
451
+ ): Promise<WithdrawAppEarningsResponse> {
452
+ return this.request<WithdrawAppEarningsResponse>(
453
+ "POST",
454
+ `/api/v1/apps/${encodePathParam(appId)}/earnings/withdraw`,
455
+ { json: request },
456
+ );
457
+ }
458
+
459
+ getRedemptionBalance(): Promise<RedemptionBalanceResponse> {
460
+ return this.request<RedemptionBalanceResponse>("GET", "/api/v1/redemptions/balance");
461
+ }
462
+
463
+ getRedemptionQuote(network: string, pointsAmount?: number): Promise<RedemptionQuoteResponse> {
464
+ return this.request<RedemptionQuoteResponse>("GET", "/api/v1/redemptions/quote", {
465
+ query: { network, pointsAmount },
466
+ });
467
+ }
468
+
469
+ getRedemptionStatus(): Promise<RedemptionStatusResponse> {
470
+ return this.request<RedemptionStatusResponse>("GET", "/api/v1/redemptions/status", {
471
+ skipAuth: true,
472
+ });
473
+ }
474
+
475
+ createRedemption(request: CreateRedemptionRequest): Promise<CreateRedemptionResponse> {
476
+ return this.request<CreateRedemptionResponse>("POST", "/api/v1/redemptions", {
477
+ json: request,
478
+ });
479
+ }
480
+
481
+ listRedemptions(options: { limit?: number } = {}): Promise<ListRedemptionsResponse> {
482
+ return this.request<ListRedemptionsResponse>("GET", "/api/v1/redemptions", {
483
+ query: options.limit === undefined ? undefined : { limit: options.limit },
484
+ });
485
+ }
486
+
487
+ listContainers(): Promise<ContainerListResponse> {
488
+ return this.request<ContainerListResponse>("GET", "/api/v1/containers");
489
+ }
490
+
491
+ createContainer(request: CreateContainerRequest): Promise<CreateContainerResponse> {
492
+ return this.request<CreateContainerResponse>("POST", "/api/v1/containers", {
493
+ json: request,
494
+ });
495
+ }
496
+
497
+ getContainer(containerId: string): Promise<ContainerGetResponse> {
498
+ return this.request<ContainerGetResponse>(
499
+ "GET",
500
+ `/api/v1/containers/${encodePathParam(containerId)}`,
501
+ );
502
+ }
503
+
504
+ updateContainer(
505
+ containerId: string,
506
+ request: UpdateContainerRequest,
507
+ ): Promise<ContainerGetResponse> {
508
+ return this.request<ContainerGetResponse>(
509
+ "PATCH",
510
+ `/api/v1/containers/${encodePathParam(containerId)}`,
511
+ { json: request },
512
+ );
513
+ }
514
+
515
+ deleteContainer(containerId: string): Promise<{ success: boolean; message?: string }> {
516
+ return this.request("DELETE", `/api/v1/containers/${encodePathParam(containerId)}`);
517
+ }
518
+
519
+ getContainerHealth(containerId: string): Promise<ContainerHealthResponse> {
520
+ return this.request<ContainerHealthResponse>(
521
+ "GET",
522
+ `/api/v1/containers/${encodePathParam(containerId)}/health`,
523
+ );
524
+ }
525
+
526
+ getContainerMetrics(containerId: string): Promise<Record<string, unknown>> {
527
+ return this.request("GET", `/api/v1/containers/${encodePathParam(containerId)}/metrics`);
528
+ }
529
+
530
+ getContainerLogs(containerId: string, tail?: number): Promise<string> {
531
+ return this.requestRaw("GET", `/api/v1/containers/${encodePathParam(containerId)}/logs`, {
532
+ query: tail === undefined ? undefined : { tail },
533
+ headers: { Accept: "text/plain" },
534
+ }).then(async (response) => {
535
+ if (!response.ok) {
536
+ await this.http.request("GET", `/api/v1/containers/${encodePathParam(containerId)}/logs`, {
537
+ query: tail === undefined ? undefined : { tail },
538
+ });
539
+ }
540
+ return response.text();
541
+ });
542
+ }
543
+
544
+ getContainerDeployments(containerId: string): Promise<Record<string, unknown>> {
545
+ return this.request("GET", `/api/v1/containers/${encodePathParam(containerId)}/deployments`);
546
+ }
547
+
548
+ getContainerQuota(): Promise<ContainerQuotaResponse> {
549
+ return this.request<ContainerQuotaResponse>("GET", "/api/v1/containers/quota");
550
+ }
551
+
552
+ createContainerCredentials(
553
+ request: Record<string, unknown> = {},
554
+ ): Promise<ContainerCredentialsResponse> {
555
+ return this.request<ContainerCredentialsResponse>("POST", "/api/v1/containers/credentials", {
556
+ json: request,
557
+ });
558
+ }
559
+
560
+ listAgents(): Promise<AgentListResponse> {
561
+ return this.request<AgentListResponse>("GET", "/api/v1/eliza/agents");
562
+ }
563
+
564
+ createAgent(request: CreateAgentRequest): Promise<CreateAgentResponse> {
565
+ return this.request<CreateAgentResponse>("POST", "/api/v1/eliza/agents", {
566
+ json: request,
567
+ });
568
+ }
569
+
570
+ getAgent(agentId: string): Promise<AgentResponse> {
571
+ return this.request<AgentResponse>("GET", `/api/v1/eliza/agents/${encodePathParam(agentId)}`);
572
+ }
573
+
574
+ updateAgent(agentId: string, request: Partial<CreateAgentRequest>): Promise<AgentResponse> {
575
+ return this.request<AgentResponse>(
576
+ "PATCH",
577
+ `/api/v1/eliza/agents/${encodePathParam(agentId)}`,
578
+ { json: request },
579
+ );
580
+ }
581
+
582
+ deleteAgent(agentId: string): Promise<AgentLifecycleResponse> {
583
+ return this.request("DELETE", `/api/v1/eliza/agents/${encodePathParam(agentId)}`);
584
+ }
585
+
586
+ provisionAgent(agentId: string): Promise<AgentLifecycleResponse> {
587
+ return this.request("POST", `/api/v1/eliza/agents/${encodePathParam(agentId)}/provision`);
588
+ }
589
+
590
+ suspendAgent(agentId: string): Promise<AgentLifecycleResponse> {
591
+ return this.request("POST", `/api/v1/eliza/agents/${encodePathParam(agentId)}/suspend`);
592
+ }
593
+
594
+ resumeAgent(agentId: string): Promise<AgentLifecycleResponse> {
595
+ return this.request("POST", `/api/v1/eliza/agents/${encodePathParam(agentId)}/resume`);
596
+ }
597
+
598
+ createAgentSnapshot(
599
+ agentId: string,
600
+ snapshotType: SnapshotType = "manual",
601
+ metadata?: Record<string, unknown>,
602
+ ): Promise<Record<string, unknown>> {
603
+ return this.request("POST", `/api/v1/eliza/agents/${encodePathParam(agentId)}/snapshot`, {
604
+ json: { snapshotType, metadata },
605
+ });
606
+ }
607
+
608
+ listAgentBackups(agentId: string): Promise<SnapshotListResponse> {
609
+ return this.request("GET", `/api/v1/eliza/agents/${encodePathParam(agentId)}/backups`);
610
+ }
611
+
612
+ restoreAgentBackup(agentId: string, backupId?: string): Promise<Record<string, unknown>> {
613
+ return this.request("POST", `/api/v1/eliza/agents/${encodePathParam(agentId)}/restore`, {
614
+ json: backupId ? { backupId } : {},
615
+ });
616
+ }
617
+
618
+ getAgentPairingToken(agentId: string): Promise<PairingTokenResponse> {
619
+ return this.request<PairingTokenResponse | { data: PairingTokenResponse }>(
620
+ "POST",
621
+ `/api/v1/eliza/agents/${encodePathParam(agentId)}/pairing-token`,
622
+ ).then((response) => ("data" in response ? response.data : response));
623
+ }
624
+
625
+ registerGatewayRelaySession(request: {
626
+ runtimeAgentId: string;
627
+ agentName?: string;
628
+ }): Promise<RegisterGatewayRelaySessionResponse> {
629
+ return this.v1.post<RegisterGatewayRelaySessionResponse>(
630
+ "/eliza/gateway-relay/sessions",
631
+ request,
632
+ );
633
+ }
634
+
635
+ pollGatewayRelayRequest(
636
+ sessionId: string,
637
+ timeoutMs?: number,
638
+ ): Promise<PollGatewayRelayResponse> {
639
+ return this.v1.get<PollGatewayRelayResponse>(
640
+ `/eliza/gateway-relay/sessions/${encodePathParam(sessionId)}/next`,
641
+ { query: timeoutMs === undefined ? undefined : { timeoutMs } },
642
+ );
643
+ }
644
+
645
+ submitGatewayRelayResponse(
646
+ sessionId: string,
647
+ requestId: string,
648
+ response: GatewayRelayResponse,
649
+ ): Promise<{ success: boolean }> {
650
+ return this.v1.post(`/eliza/gateway-relay/sessions/${encodePathParam(sessionId)}/responses`, {
651
+ requestId,
652
+ response,
653
+ });
654
+ }
655
+
656
+ disconnectGatewayRelaySession(sessionId: string): Promise<{ success: boolean }> {
657
+ return this.v1.delete(`/eliza/gateway-relay/sessions/${encodePathParam(sessionId)}`);
658
+ }
659
+
660
+ getJob(jobId: string): Promise<JobStatus> {
661
+ return this.request("GET", `/api/v1/jobs/${encodePathParam(jobId)}`);
662
+ }
663
+
664
+ async pollJob(jobId: string, options: { timeoutMs?: number; intervalMs?: number } = {}) {
665
+ const timeoutMs = options.timeoutMs ?? 120_000;
666
+ const intervalMs = options.intervalMs ?? 2_000;
667
+ const deadline = Date.now() + timeoutMs;
668
+
669
+ while (Date.now() < deadline) {
670
+ const job = await this.getJob(jobId);
671
+ if (job.status === "completed" || job.status === "failed") {
672
+ return job;
673
+ }
674
+ await new Promise((resolve) => setTimeout(resolve, intervalMs));
675
+ }
676
+
677
+ throw new Error(`Timed out waiting for Eliza Cloud job ${jobId}`);
678
+ }
679
+
680
+ getUser(): Promise<UserProfileResponse> {
681
+ return this.request("GET", "/api/v1/user");
682
+ }
683
+
684
+ updateUser(request: Record<string, unknown>): Promise<UserProfileResponse> {
685
+ return this.request("PATCH", "/api/v1/user", { json: request });
686
+ }
687
+
688
+ listApiKeys(): Promise<ApiKeyListResponse> {
689
+ return this.request("GET", "/api/v1/api-keys");
690
+ }
691
+
692
+ createApiKey(request: ApiKeyCreateRequest): Promise<ApiKeyCreateResponse> {
693
+ return this.request("POST", "/api/v1/api-keys", { json: request });
694
+ }
695
+
696
+ updateApiKey(apiKeyId: string, request: Partial<ApiKeyCreateRequest>) {
697
+ return this.request("PATCH", `/api/v1/api-keys/${encodePathParam(apiKeyId)}`, {
698
+ json: request,
699
+ });
700
+ }
701
+
702
+ deleteApiKey(apiKeyId: string): Promise<{ success?: boolean; message?: string }> {
703
+ return this.request("DELETE", `/api/v1/api-keys/${encodePathParam(apiKeyId)}`);
704
+ }
705
+
706
+ regenerateApiKey(apiKeyId: string): Promise<ApiKeyCreateResponse> {
707
+ return this.request("POST", `/api/v1/api-keys/${encodePathParam(apiKeyId)}/regenerate`);
708
+ }
709
+
710
+ /**
711
+ * Workflow proxy: routes are forwarded to the user's Railway-deployed
712
+ * agent (plugin-workflow). Responses are passed through unchanged; the
713
+ * shape is owned by the agent plugin, not the cloud, so we type as
714
+ * `unknown` here to avoid drift.
715
+ */
716
+ listWorkflows(agentId: string): Promise<unknown> {
717
+ return this.request("GET", `/api/v1/agents/${encodePathParam(agentId)}/workflows`);
718
+ }
719
+
720
+ createWorkflow(agentId: string, body: Record<string, unknown>): Promise<unknown> {
721
+ return this.request("POST", `/api/v1/agents/${encodePathParam(agentId)}/workflows`, {
722
+ json: body,
723
+ });
724
+ }
725
+
726
+ getWorkflow(agentId: string, workflowId: string): Promise<unknown> {
727
+ return this.request(
728
+ "GET",
729
+ `/api/v1/agents/${encodePathParam(agentId)}/workflows/${encodePathParam(workflowId)}`,
730
+ );
731
+ }
732
+
733
+ updateWorkflow(
734
+ agentId: string,
735
+ workflowId: string,
736
+ body: Record<string, unknown>,
737
+ ): Promise<unknown> {
738
+ return this.request(
739
+ "PUT",
740
+ `/api/v1/agents/${encodePathParam(agentId)}/workflows/${encodePathParam(workflowId)}`,
741
+ { json: body },
742
+ );
743
+ }
744
+
745
+ deleteWorkflow(agentId: string, workflowId: string): Promise<unknown> {
746
+ return this.request(
747
+ "DELETE",
748
+ `/api/v1/agents/${encodePathParam(agentId)}/workflows/${encodePathParam(workflowId)}`,
749
+ );
750
+ }
751
+
752
+ runWorkflow(
753
+ agentId: string,
754
+ workflowId: string,
755
+ body: Record<string, unknown> = {},
756
+ ): Promise<unknown> {
757
+ return this.request(
758
+ "POST",
759
+ `/api/v1/agents/${encodePathParam(agentId)}/workflows/${encodePathParam(workflowId)}/run`,
760
+ { json: body },
761
+ );
762
+ }
763
+
764
+ getWorkflowExecution(agentId: string, executionId: string): Promise<unknown> {
765
+ return this.request(
766
+ "GET",
767
+ `/api/v1/agents/${encodePathParam(agentId)}/workflows/executions/${encodePathParam(executionId)}`,
768
+ );
769
+ }
770
+ }
771
+
772
+ export function createElizaCloudClient(options?: ElizaCloudClientOptions): ElizaCloudClient {
773
+ return new ElizaCloudClient(options);
774
+ }