@elizaos/plugin-elizacloud 2.0.0-alpha.7 → 2.0.0-beta.1

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