@agentuity/core 1.0.32 → 1.0.33

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 (612) hide show
  1. package/dist/api/api.d.ts +226 -0
  2. package/dist/api/api.d.ts.map +1 -0
  3. package/dist/api/api.js +635 -0
  4. package/dist/api/api.js.map +1 -0
  5. package/dist/api/apikey/create.d.ts +33 -0
  6. package/dist/api/apikey/create.d.ts.map +1 -0
  7. package/dist/api/apikey/create.js +23 -0
  8. package/dist/api/apikey/create.js.map +1 -0
  9. package/dist/api/apikey/delete.d.ts +19 -0
  10. package/dist/api/apikey/delete.d.ts.map +1 -0
  11. package/dist/api/apikey/delete.js +19 -0
  12. package/dist/api/apikey/delete.js.map +1 -0
  13. package/dist/api/apikey/get.d.ts +45 -0
  14. package/dist/api/apikey/get.d.ts.map +1 -0
  15. package/dist/api/apikey/get.js +36 -0
  16. package/dist/api/apikey/get.js.map +1 -0
  17. package/dist/api/apikey/index.d.ts +6 -0
  18. package/dist/api/apikey/index.d.ts.map +1 -0
  19. package/dist/api/apikey/index.js +6 -0
  20. package/dist/api/apikey/index.js.map +1 -0
  21. package/dist/api/apikey/list.d.ts +64 -0
  22. package/dist/api/apikey/list.d.ts.map +1 -0
  23. package/dist/api/apikey/list.js +46 -0
  24. package/dist/api/apikey/list.js.map +1 -0
  25. package/dist/api/apikey/util.d.ts +23 -0
  26. package/dist/api/apikey/util.d.ts.map +1 -0
  27. package/dist/api/apikey/util.js +3 -0
  28. package/dist/api/apikey/util.js.map +1 -0
  29. package/dist/api/config.d.ts +20 -0
  30. package/dist/api/config.d.ts.map +1 -0
  31. package/dist/api/config.js +43 -0
  32. package/dist/api/config.js.map +1 -0
  33. package/dist/api/db/index.d.ts +5 -0
  34. package/dist/api/db/index.d.ts.map +1 -0
  35. package/dist/api/db/index.js +5 -0
  36. package/dist/api/db/index.js.map +1 -0
  37. package/dist/api/db/logs.d.ts +70 -0
  38. package/dist/api/db/logs.d.ts.map +1 -0
  39. package/dist/api/db/logs.js +59 -0
  40. package/dist/api/db/logs.js.map +1 -0
  41. package/dist/api/db/query.d.ts +39 -0
  42. package/dist/api/db/query.d.ts.map +1 -0
  43. package/dist/api/db/query.js +49 -0
  44. package/dist/api/db/query.js.map +1 -0
  45. package/dist/api/db/tables.d.ts +49 -0
  46. package/dist/api/db/tables.d.ts.map +1 -0
  47. package/dist/api/db/tables.js +59 -0
  48. package/dist/api/db/tables.js.map +1 -0
  49. package/dist/api/db/util.d.ts +31 -0
  50. package/dist/api/db/util.d.ts.map +1 -0
  51. package/dist/api/db/util.js +4 -0
  52. package/dist/api/db/util.js.map +1 -0
  53. package/dist/api/env.d.ts +5 -0
  54. package/dist/api/env.d.ts.map +1 -0
  55. package/dist/api/env.js +10 -0
  56. package/dist/api/env.js.map +1 -0
  57. package/dist/api/eval/get.d.ts +36 -0
  58. package/dist/api/eval/get.d.ts.map +1 -0
  59. package/dist/api/eval/get.js +23 -0
  60. package/dist/api/eval/get.js.map +1 -0
  61. package/dist/api/eval/index.d.ts +5 -0
  62. package/dist/api/eval/index.d.ts.map +1 -0
  63. package/dist/api/eval/index.js +5 -0
  64. package/dist/api/eval/index.js.map +1 -0
  65. package/dist/api/eval/list.d.ts +50 -0
  66. package/dist/api/eval/list.d.ts.map +1 -0
  67. package/dist/api/eval/list.js +32 -0
  68. package/dist/api/eval/list.js.map +1 -0
  69. package/dist/api/eval/run-get.d.ts +48 -0
  70. package/dist/api/eval/run-get.d.ts.map +1 -0
  71. package/dist/api/eval/run-get.js +29 -0
  72. package/dist/api/eval/run-get.js.map +1 -0
  73. package/dist/api/eval/run-list.d.ts +70 -0
  74. package/dist/api/eval/run-list.d.ts.map +1 -0
  75. package/dist/api/eval/run-list.js +42 -0
  76. package/dist/api/eval/run-list.js.map +1 -0
  77. package/dist/api/index.d.ts +21 -0
  78. package/dist/api/index.d.ts.map +1 -0
  79. package/dist/api/index.js +21 -0
  80. package/dist/api/index.js.map +1 -0
  81. package/dist/api/logger.d.ts +7 -0
  82. package/dist/api/logger.d.ts.map +1 -0
  83. package/dist/api/logger.js +23 -0
  84. package/dist/api/logger.js.map +1 -0
  85. package/dist/api/machine/index.d.ts +3 -0
  86. package/dist/api/machine/index.d.ts.map +1 -0
  87. package/dist/api/machine/index.js +3 -0
  88. package/dist/api/machine/index.js.map +1 -0
  89. package/dist/api/machine/machine.d.ts +192 -0
  90. package/dist/api/machine/machine.d.ts.map +1 -0
  91. package/dist/api/machine/machine.js +109 -0
  92. package/dist/api/machine/machine.js.map +1 -0
  93. package/dist/api/machine/util.d.ts +14 -0
  94. package/dist/api/machine/util.d.ts.map +1 -0
  95. package/dist/api/machine/util.js +3 -0
  96. package/dist/api/machine/util.js.map +1 -0
  97. package/dist/api/org/env-delete.d.ts +23 -0
  98. package/dist/api/org/env-delete.d.ts.map +1 -0
  99. package/dist/api/org/env-delete.js +25 -0
  100. package/dist/api/org/env-delete.js.map +1 -0
  101. package/dist/api/org/env-get.d.ts +33 -0
  102. package/dist/api/org/env-get.d.ts.map +1 -0
  103. package/dist/api/org/env-get.js +26 -0
  104. package/dist/api/org/env-get.js.map +1 -0
  105. package/dist/api/org/env-update.d.ts +24 -0
  106. package/dist/api/org/env-update.d.ts.map +1 -0
  107. package/dist/api/org/env-update.js +26 -0
  108. package/dist/api/org/env-update.js.map +1 -0
  109. package/dist/api/org/index.d.ts +7 -0
  110. package/dist/api/org/index.d.ts.map +1 -0
  111. package/dist/api/org/index.js +7 -0
  112. package/dist/api/org/index.js.map +1 -0
  113. package/dist/api/org/list.d.ts +27 -0
  114. package/dist/api/org/list.d.ts.map +1 -0
  115. package/dist/api/org/list.js +22 -0
  116. package/dist/api/org/list.js.map +1 -0
  117. package/dist/api/org/resources.d.ts +141 -0
  118. package/dist/api/org/resources.d.ts.map +1 -0
  119. package/dist/api/org/resources.js +97 -0
  120. package/dist/api/org/resources.js.map +1 -0
  121. package/dist/api/org/util.d.ts +45 -0
  122. package/dist/api/org/util.d.ts.map +1 -0
  123. package/dist/api/org/util.js +4 -0
  124. package/dist/api/org/util.js.map +1 -0
  125. package/dist/api/project/agent.d.ts +89 -0
  126. package/dist/api/project/agent.d.ts.map +1 -0
  127. package/dist/api/project/agent.js +60 -0
  128. package/dist/api/project/agent.js.map +1 -0
  129. package/dist/api/project/create.d.ts +37 -0
  130. package/dist/api/project/create.d.ts.map +1 -0
  131. package/dist/api/project/create.js +31 -0
  132. package/dist/api/project/create.js.map +1 -0
  133. package/dist/api/project/delete.d.ts +15 -0
  134. package/dist/api/project/delete.d.ts.map +1 -0
  135. package/dist/api/project/delete.js +13 -0
  136. package/dist/api/project/delete.js.map +1 -0
  137. package/dist/api/project/deploy.d.ts +490 -0
  138. package/dist/api/project/deploy.d.ts.map +1 -0
  139. package/dist/api/project/deploy.js +313 -0
  140. package/dist/api/project/deploy.js.map +1 -0
  141. package/dist/api/project/deployment.d.ts +237 -0
  142. package/dist/api/project/deployment.d.ts.map +1 -0
  143. package/dist/api/project/deployment.js +127 -0
  144. package/dist/api/project/deployment.js.map +1 -0
  145. package/dist/api/project/env-delete.d.ts +22 -0
  146. package/dist/api/project/env-delete.d.ts.map +1 -0
  147. package/dist/api/project/env-delete.js +29 -0
  148. package/dist/api/project/env-delete.js.map +1 -0
  149. package/dist/api/project/env-update.d.ts +31 -0
  150. package/dist/api/project/env-update.d.ts.map +1 -0
  151. package/dist/api/project/env-update.js +36 -0
  152. package/dist/api/project/env-update.js.map +1 -0
  153. package/dist/api/project/exists.d.ts +25 -0
  154. package/dist/api/project/exists.d.ts.map +1 -0
  155. package/dist/api/project/exists.js +45 -0
  156. package/dist/api/project/exists.js.map +1 -0
  157. package/dist/api/project/get.d.ts +43 -0
  158. package/dist/api/project/get.d.ts.map +1 -0
  159. package/dist/api/project/get.js +36 -0
  160. package/dist/api/project/get.js.map +1 -0
  161. package/dist/api/project/hostname.d.ts +25 -0
  162. package/dist/api/project/hostname.d.ts.map +1 -0
  163. package/dist/api/project/hostname.js +37 -0
  164. package/dist/api/project/hostname.js.map +1 -0
  165. package/dist/api/project/index.d.ts +14 -0
  166. package/dist/api/project/index.d.ts.map +1 -0
  167. package/dist/api/project/index.js +14 -0
  168. package/dist/api/project/index.js.map +1 -0
  169. package/dist/api/project/list.d.ts +48 -0
  170. package/dist/api/project/list.d.ts.map +1 -0
  171. package/dist/api/project/list.js +38 -0
  172. package/dist/api/project/list.js.map +1 -0
  173. package/dist/api/project/malware.d.ts +71 -0
  174. package/dist/api/project/malware.d.ts.map +1 -0
  175. package/dist/api/project/malware.js +42 -0
  176. package/dist/api/project/malware.js.map +1 -0
  177. package/dist/api/project/update-region.d.ts +27 -0
  178. package/dist/api/project/update-region.d.ts.map +1 -0
  179. package/dist/api/project/update-region.js +25 -0
  180. package/dist/api/project/update-region.js.map +1 -0
  181. package/dist/api/project/util.d.ts +62 -0
  182. package/dist/api/project/util.d.ts.map +1 -0
  183. package/dist/api/project/util.js +6 -0
  184. package/dist/api/project/util.js.map +1 -0
  185. package/dist/api/queue/analytics.d.ts +250 -0
  186. package/dist/api/queue/analytics.d.ts.map +1 -0
  187. package/dist/api/queue/analytics.js +233 -0
  188. package/dist/api/queue/analytics.js.map +1 -0
  189. package/dist/api/queue/destinations.d.ts +202 -0
  190. package/dist/api/queue/destinations.d.ts.map +1 -0
  191. package/dist/api/queue/destinations.js +168 -0
  192. package/dist/api/queue/destinations.js.map +1 -0
  193. package/dist/api/queue/dlq.d.ts +168 -0
  194. package/dist/api/queue/dlq.d.ts.map +1 -0
  195. package/dist/api/queue/dlq.js +166 -0
  196. package/dist/api/queue/dlq.js.map +1 -0
  197. package/dist/api/queue/index.d.ts +56 -0
  198. package/dist/api/queue/index.d.ts.map +1 -0
  199. package/dist/api/queue/index.js +90 -0
  200. package/dist/api/queue/index.js.map +1 -0
  201. package/dist/api/queue/messages.d.ts +503 -0
  202. package/dist/api/queue/messages.d.ts.map +1 -0
  203. package/dist/api/queue/messages.js +549 -0
  204. package/dist/api/queue/messages.js.map +1 -0
  205. package/dist/api/queue/queues.d.ts +226 -0
  206. package/dist/api/queue/queues.d.ts.map +1 -0
  207. package/dist/api/queue/queues.js +321 -0
  208. package/dist/api/queue/queues.js.map +1 -0
  209. package/dist/api/queue/sources.d.ts +202 -0
  210. package/dist/api/queue/sources.d.ts.map +1 -0
  211. package/dist/api/queue/sources.js +202 -0
  212. package/dist/api/queue/sources.js.map +1 -0
  213. package/dist/api/queue/types.d.ts +1218 -0
  214. package/dist/api/queue/types.d.ts.map +1 -0
  215. package/dist/api/queue/types.js +1002 -0
  216. package/dist/api/queue/types.js.map +1 -0
  217. package/dist/api/queue/util.d.ts +278 -0
  218. package/dist/api/queue/util.d.ts.map +1 -0
  219. package/dist/api/queue/util.js +233 -0
  220. package/dist/api/queue/util.js.map +1 -0
  221. package/dist/api/queue/validation.d.ts +247 -0
  222. package/dist/api/queue/validation.d.ts.map +1 -0
  223. package/dist/api/queue/validation.js +513 -0
  224. package/dist/api/queue/validation.js.map +1 -0
  225. package/dist/api/queue/websocket.d.ts +172 -0
  226. package/dist/api/queue/websocket.d.ts.map +1 -0
  227. package/dist/api/queue/websocket.js +396 -0
  228. package/dist/api/queue/websocket.js.map +1 -0
  229. package/dist/api/region/create.d.ts +81 -0
  230. package/dist/api/region/create.d.ts.map +1 -0
  231. package/dist/api/region/create.js +177 -0
  232. package/dist/api/region/create.js.map +1 -0
  233. package/dist/api/region/delete.d.ts +62 -0
  234. package/dist/api/region/delete.d.ts.map +1 -0
  235. package/dist/api/region/delete.js +37 -0
  236. package/dist/api/region/delete.js.map +1 -0
  237. package/dist/api/region/index.d.ts +5 -0
  238. package/dist/api/region/index.d.ts.map +1 -0
  239. package/dist/api/region/index.js +5 -0
  240. package/dist/api/region/index.js.map +1 -0
  241. package/dist/api/region/list.d.ts +27 -0
  242. package/dist/api/region/list.d.ts.map +1 -0
  243. package/dist/api/region/list.js +22 -0
  244. package/dist/api/region/list.js.map +1 -0
  245. package/dist/api/region/resources.d.ts +71 -0
  246. package/dist/api/region/resources.d.ts.map +1 -0
  247. package/dist/api/region/resources.js +53 -0
  248. package/dist/api/region/resources.js.map +1 -0
  249. package/dist/api/region/util.d.ts +23 -0
  250. package/dist/api/region/util.d.ts.map +1 -0
  251. package/dist/api/region/util.js +3 -0
  252. package/dist/api/region/util.js.map +1 -0
  253. package/dist/api/sandbox/cli-list.d.ts +114 -0
  254. package/dist/api/sandbox/cli-list.d.ts.map +1 -0
  255. package/dist/api/sandbox/cli-list.js +71 -0
  256. package/dist/api/sandbox/cli-list.js.map +1 -0
  257. package/dist/api/sandbox/client.d.ts +192 -0
  258. package/dist/api/sandbox/client.d.ts.map +1 -0
  259. package/dist/api/sandbox/client.js +262 -0
  260. package/dist/api/sandbox/client.js.map +1 -0
  261. package/dist/api/sandbox/create.d.ts +118 -0
  262. package/dist/api/sandbox/create.d.ts.map +1 -0
  263. package/dist/api/sandbox/create.js +211 -0
  264. package/dist/api/sandbox/create.js.map +1 -0
  265. package/dist/api/sandbox/destroy.d.ts +22 -0
  266. package/dist/api/sandbox/destroy.d.ts.map +1 -0
  267. package/dist/api/sandbox/destroy.js +25 -0
  268. package/dist/api/sandbox/destroy.js.map +1 -0
  269. package/dist/api/sandbox/disk-checkpoint.d.ts +104 -0
  270. package/dist/api/sandbox/disk-checkpoint.d.ts.map +1 -0
  271. package/dist/api/sandbox/disk-checkpoint.js +104 -0
  272. package/dist/api/sandbox/disk-checkpoint.js.map +1 -0
  273. package/dist/api/sandbox/execute.d.ts +69 -0
  274. package/dist/api/sandbox/execute.d.ts.map +1 -0
  275. package/dist/api/sandbox/execute.js +103 -0
  276. package/dist/api/sandbox/execute.js.map +1 -0
  277. package/dist/api/sandbox/execution.d.ts +169 -0
  278. package/dist/api/sandbox/execution.d.ts.map +1 -0
  279. package/dist/api/sandbox/execution.js +118 -0
  280. package/dist/api/sandbox/execution.js.map +1 -0
  281. package/dist/api/sandbox/files.d.ts +261 -0
  282. package/dist/api/sandbox/files.d.ts.map +1 -0
  283. package/dist/api/sandbox/files.js +386 -0
  284. package/dist/api/sandbox/files.js.map +1 -0
  285. package/dist/api/sandbox/get.d.ts +283 -0
  286. package/dist/api/sandbox/get.d.ts.map +1 -0
  287. package/dist/api/sandbox/get.js +215 -0
  288. package/dist/api/sandbox/get.js.map +1 -0
  289. package/dist/api/sandbox/getStatus.d.ts +16 -0
  290. package/dist/api/sandbox/getStatus.d.ts.map +1 -0
  291. package/dist/api/sandbox/getStatus.js +32 -0
  292. package/dist/api/sandbox/getStatus.js.map +1 -0
  293. package/dist/api/sandbox/index.d.ts +39 -0
  294. package/dist/api/sandbox/index.d.ts.map +1 -0
  295. package/dist/api/sandbox/index.js +20 -0
  296. package/dist/api/sandbox/index.js.map +1 -0
  297. package/dist/api/sandbox/list.d.ts +293 -0
  298. package/dist/api/sandbox/list.d.ts.map +1 -0
  299. package/dist/api/sandbox/list.js +191 -0
  300. package/dist/api/sandbox/list.js.map +1 -0
  301. package/dist/api/sandbox/pause.d.ts +22 -0
  302. package/dist/api/sandbox/pause.d.ts.map +1 -0
  303. package/dist/api/sandbox/pause.js +25 -0
  304. package/dist/api/sandbox/pause.js.map +1 -0
  305. package/dist/api/sandbox/resolve.d.ts +82 -0
  306. package/dist/api/sandbox/resolve.d.ts.map +1 -0
  307. package/dist/api/sandbox/resolve.js +71 -0
  308. package/dist/api/sandbox/resolve.js.map +1 -0
  309. package/dist/api/sandbox/resume.d.ts +22 -0
  310. package/dist/api/sandbox/resume.d.ts.map +1 -0
  311. package/dist/api/sandbox/resume.js +25 -0
  312. package/dist/api/sandbox/resume.js.map +1 -0
  313. package/dist/api/sandbox/run.d.ts +28 -0
  314. package/dist/api/sandbox/run.d.ts.map +1 -0
  315. package/dist/api/sandbox/run.js +342 -0
  316. package/dist/api/sandbox/run.js.map +1 -0
  317. package/dist/api/sandbox/runtime.d.ts +83 -0
  318. package/dist/api/sandbox/runtime.d.ts.map +1 -0
  319. package/dist/api/sandbox/runtime.js +78 -0
  320. package/dist/api/sandbox/runtime.js.map +1 -0
  321. package/dist/api/sandbox/snapshot-build.d.ts +48 -0
  322. package/dist/api/sandbox/snapshot-build.d.ts.map +1 -0
  323. package/dist/api/sandbox/snapshot-build.js +72 -0
  324. package/dist/api/sandbox/snapshot-build.js.map +1 -0
  325. package/dist/api/sandbox/snapshot.d.ts +595 -0
  326. package/dist/api/sandbox/snapshot.d.ts.map +1 -0
  327. package/dist/api/sandbox/snapshot.js +598 -0
  328. package/dist/api/sandbox/snapshot.js.map +1 -0
  329. package/dist/api/sandbox/util.d.ts +284 -0
  330. package/dist/api/sandbox/util.d.ts.map +1 -0
  331. package/dist/api/sandbox/util.js +210 -0
  332. package/dist/api/sandbox/util.js.map +1 -0
  333. package/dist/api/services/index.d.ts +2 -0
  334. package/dist/api/services/index.d.ts.map +1 -0
  335. package/dist/api/services/index.js +2 -0
  336. package/dist/api/services/index.js.map +1 -0
  337. package/dist/api/services/stats.d.ts +263 -0
  338. package/dist/api/services/stats.d.ts.map +1 -0
  339. package/dist/api/services/stats.js +144 -0
  340. package/dist/api/services/stats.js.map +1 -0
  341. package/dist/api/session/get.d.ts +169 -0
  342. package/dist/api/session/get.d.ts.map +1 -0
  343. package/dist/api/session/get.js +56 -0
  344. package/dist/api/session/get.js.map +1 -0
  345. package/dist/api/session/index.d.ts +4 -0
  346. package/dist/api/session/index.d.ts.map +1 -0
  347. package/dist/api/session/index.js +4 -0
  348. package/dist/api/session/index.js.map +1 -0
  349. package/dist/api/session/list.d.ts +143 -0
  350. package/dist/api/session/list.d.ts.map +1 -0
  351. package/dist/api/session/list.js +91 -0
  352. package/dist/api/session/list.js.map +1 -0
  353. package/dist/api/session/logs.d.ts +40 -0
  354. package/dist/api/session/logs.d.ts.map +1 -0
  355. package/dist/api/session/logs.js +28 -0
  356. package/dist/api/session/logs.js.map +1 -0
  357. package/dist/api/session/util.d.ts +23 -0
  358. package/dist/api/session/util.d.ts.map +1 -0
  359. package/dist/api/session/util.js +3 -0
  360. package/dist/api/session/util.js.map +1 -0
  361. package/dist/api/storage/config.d.ts +99 -0
  362. package/dist/api/storage/config.d.ts.map +1 -0
  363. package/dist/api/storage/config.js +61 -0
  364. package/dist/api/storage/config.js.map +1 -0
  365. package/dist/api/storage/index.d.ts +5 -0
  366. package/dist/api/storage/index.d.ts.map +1 -0
  367. package/dist/api/storage/index.js +5 -0
  368. package/dist/api/storage/index.js.map +1 -0
  369. package/dist/api/storage/objects.d.ts +155 -0
  370. package/dist/api/storage/objects.d.ts.map +1 -0
  371. package/dist/api/storage/objects.js +148 -0
  372. package/dist/api/storage/objects.js.map +1 -0
  373. package/dist/api/storage/types.d.ts +161 -0
  374. package/dist/api/storage/types.d.ts.map +1 -0
  375. package/dist/api/storage/types.js +141 -0
  376. package/dist/api/storage/types.js.map +1 -0
  377. package/dist/api/storage/util.d.ts +45 -0
  378. package/dist/api/storage/util.d.ts.map +1 -0
  379. package/dist/api/storage/util.js +4 -0
  380. package/dist/api/storage/util.js.map +1 -0
  381. package/dist/api/stream/get.d.ts +58 -0
  382. package/dist/api/stream/get.d.ts.map +1 -0
  383. package/dist/api/stream/get.js +40 -0
  384. package/dist/api/stream/get.js.map +1 -0
  385. package/dist/api/stream/index.d.ts +4 -0
  386. package/dist/api/stream/index.d.ts.map +1 -0
  387. package/dist/api/stream/index.js +4 -0
  388. package/dist/api/stream/index.js.map +1 -0
  389. package/dist/api/stream/list.d.ts +120 -0
  390. package/dist/api/stream/list.d.ts.map +1 -0
  391. package/dist/api/stream/list.js +77 -0
  392. package/dist/api/stream/list.js.map +1 -0
  393. package/dist/api/stream/util.d.ts +23 -0
  394. package/dist/api/stream/util.d.ts.map +1 -0
  395. package/dist/api/stream/util.js +3 -0
  396. package/dist/api/stream/util.js.map +1 -0
  397. package/dist/api/thread/delete.d.ts +23 -0
  398. package/dist/api/thread/delete.d.ts.map +1 -0
  399. package/dist/api/thread/delete.js +21 -0
  400. package/dist/api/thread/delete.js.map +1 -0
  401. package/dist/api/thread/get.d.ts +36 -0
  402. package/dist/api/thread/get.d.ts.map +1 -0
  403. package/dist/api/thread/get.js +23 -0
  404. package/dist/api/thread/get.js.map +1 -0
  405. package/dist/api/thread/index.d.ts +5 -0
  406. package/dist/api/thread/index.d.ts.map +1 -0
  407. package/dist/api/thread/index.js +5 -0
  408. package/dist/api/thread/index.js.map +1 -0
  409. package/dist/api/thread/list.d.ts +69 -0
  410. package/dist/api/thread/list.d.ts.map +1 -0
  411. package/dist/api/thread/list.js +51 -0
  412. package/dist/api/thread/list.js.map +1 -0
  413. package/dist/api/thread/util.d.ts +23 -0
  414. package/dist/api/thread/util.d.ts.map +1 -0
  415. package/dist/api/thread/util.js +3 -0
  416. package/dist/api/thread/util.js.map +1 -0
  417. package/dist/api/user/index.d.ts +2 -0
  418. package/dist/api/user/index.d.ts.map +1 -0
  419. package/dist/api/user/index.js +2 -0
  420. package/dist/api/user/index.js.map +1 -0
  421. package/dist/api/user/util.d.ts +23 -0
  422. package/dist/api/user/util.d.ts.map +1 -0
  423. package/dist/api/user/util.js +3 -0
  424. package/dist/api/user/util.js.map +1 -0
  425. package/dist/api/user/whoami.d.ts +39 -0
  426. package/dist/api/user/whoami.d.ts.map +1 -0
  427. package/dist/api/user/whoami.js +27 -0
  428. package/dist/api/user/whoami.js.map +1 -0
  429. package/dist/api/webhook/deliveries.d.ts +94 -0
  430. package/dist/api/webhook/deliveries.d.ts.map +1 -0
  431. package/dist/api/webhook/deliveries.js +79 -0
  432. package/dist/api/webhook/deliveries.js.map +1 -0
  433. package/dist/api/webhook/destinations.d.ts +136 -0
  434. package/dist/api/webhook/destinations.d.ts.map +1 -0
  435. package/dist/api/webhook/destinations.js +137 -0
  436. package/dist/api/webhook/destinations.js.map +1 -0
  437. package/dist/api/webhook/index.d.ts +41 -0
  438. package/dist/api/webhook/index.d.ts.map +1 -0
  439. package/dist/api/webhook/index.js +59 -0
  440. package/dist/api/webhook/index.js.map +1 -0
  441. package/dist/api/webhook/receipts.d.ts +77 -0
  442. package/dist/api/webhook/receipts.d.ts.map +1 -0
  443. package/dist/api/webhook/receipts.js +78 -0
  444. package/dist/api/webhook/receipts.js.map +1 -0
  445. package/dist/api/webhook/types.d.ts +249 -0
  446. package/dist/api/webhook/types.d.ts.map +1 -0
  447. package/dist/api/webhook/types.js +221 -0
  448. package/dist/api/webhook/types.js.map +1 -0
  449. package/dist/api/webhook/util.d.ts +202 -0
  450. package/dist/api/webhook/util.d.ts.map +1 -0
  451. package/dist/api/webhook/util.js +199 -0
  452. package/dist/api/webhook/util.js.map +1 -0
  453. package/dist/api/webhook/webhooks.d.ts +146 -0
  454. package/dist/api/webhook/webhooks.d.ts.map +1 -0
  455. package/dist/api/webhook/webhooks.js +165 -0
  456. package/dist/api/webhook/webhooks.js.map +1 -0
  457. package/dist/env-example.d.ts +11 -0
  458. package/dist/env-example.d.ts.map +1 -0
  459. package/dist/env-example.js +70 -0
  460. package/dist/env-example.js.map +1 -0
  461. package/dist/index.d.ts +20 -17
  462. package/dist/index.d.ts.map +1 -1
  463. package/dist/index.js +15 -12
  464. package/dist/index.js.map +1 -1
  465. package/dist/services/email.d.ts.map +1 -1
  466. package/dist/services/email.js +15 -15
  467. package/dist/services/email.js.map +1 -1
  468. package/dist/services/keyvalue.d.ts.map +1 -1
  469. package/dist/services/keyvalue.js +10 -10
  470. package/dist/services/keyvalue.js.map +1 -1
  471. package/dist/services/queue.d.ts.map +1 -1
  472. package/dist/services/queue.js +3 -3
  473. package/dist/services/queue.js.map +1 -1
  474. package/dist/services/schedule.d.ts.map +1 -1
  475. package/dist/services/schedule.js +8 -10
  476. package/dist/services/schedule.js.map +1 -1
  477. package/dist/services/stream.d.ts +2 -2
  478. package/dist/services/stream.d.ts.map +1 -1
  479. package/dist/services/stream.js +2 -2
  480. package/dist/services/stream.js.map +1 -1
  481. package/dist/services/vector.d.ts.map +1 -1
  482. package/dist/services/vector.js +9 -9
  483. package/dist/services/vector.js.map +1 -1
  484. package/dist/services/webhook.d.ts +2 -1
  485. package/dist/services/webhook.d.ts.map +1 -1
  486. package/dist/services/webhook.js +12 -14
  487. package/dist/services/webhook.js.map +1 -1
  488. package/package.json +2 -2
  489. package/src/api/api-example.md +164 -0
  490. package/src/api/api.ts +931 -0
  491. package/src/api/apikey/create.ts +41 -0
  492. package/src/api/apikey/delete.ts +30 -0
  493. package/src/api/apikey/get.ts +48 -0
  494. package/src/api/apikey/index.ts +5 -0
  495. package/src/api/apikey/list.ts +64 -0
  496. package/src/api/apikey/util.ts +3 -0
  497. package/src/api/config.ts +60 -0
  498. package/src/api/db/index.ts +27 -0
  499. package/src/api/db/logs.ts +75 -0
  500. package/src/api/db/query.ts +67 -0
  501. package/src/api/db/tables.ts +92 -0
  502. package/src/api/db/util.ts +9 -0
  503. package/src/api/env.ts +9 -0
  504. package/src/api/eval/get.ts +33 -0
  505. package/src/api/eval/index.ts +28 -0
  506. package/src/api/eval/list.ts +49 -0
  507. package/src/api/eval/run-get.ts +39 -0
  508. package/src/api/eval/run-list.ts +59 -0
  509. package/src/api/index.ts +20 -0
  510. package/src/api/logger.ts +24 -0
  511. package/src/api/machine/index.ts +2 -0
  512. package/src/api/machine/machine.ts +160 -0
  513. package/src/api/machine/util.ts +5 -0
  514. package/src/api/org/env-delete.ts +37 -0
  515. package/src/api/org/env-get.ts +43 -0
  516. package/src/api/org/env-update.ts +38 -0
  517. package/src/api/org/index.ts +6 -0
  518. package/src/api/org/list.ts +28 -0
  519. package/src/api/org/resources.ts +140 -0
  520. package/src/api/org/util.ts +4 -0
  521. package/src/api/project/agent.ts +86 -0
  522. package/src/api/project/create.ts +47 -0
  523. package/src/api/project/delete.ts +25 -0
  524. package/src/api/project/deploy.ts +458 -0
  525. package/src/api/project/deployment.ts +195 -0
  526. package/src/api/project/env-delete.ts +45 -0
  527. package/src/api/project/env-update.ts +55 -0
  528. package/src/api/project/exists.ts +58 -0
  529. package/src/api/project/get.ts +49 -0
  530. package/src/api/project/hostname.ts +73 -0
  531. package/src/api/project/index.ts +13 -0
  532. package/src/api/project/list.ts +54 -0
  533. package/src/api/project/malware.ts +68 -0
  534. package/src/api/project/update-region.ts +44 -0
  535. package/src/api/project/util.ts +8 -0
  536. package/src/api/queue/analytics.ts +311 -0
  537. package/src/api/queue/destinations.ts +259 -0
  538. package/src/api/queue/dlq.ts +243 -0
  539. package/src/api/queue/index.ts +308 -0
  540. package/src/api/queue/messages.ts +784 -0
  541. package/src/api/queue/queues.ts +460 -0
  542. package/src/api/queue/sources.ts +294 -0
  543. package/src/api/queue/types.ts +1325 -0
  544. package/src/api/queue/util.ts +275 -0
  545. package/src/api/queue/validation.ts +560 -0
  546. package/src/api/queue/websocket.ts +521 -0
  547. package/src/api/region/create.ts +207 -0
  548. package/src/api/region/delete.ts +57 -0
  549. package/src/api/region/index.ts +4 -0
  550. package/src/api/region/list.ts +32 -0
  551. package/src/api/region/resources.ts +69 -0
  552. package/src/api/region/util.ts +3 -0
  553. package/src/api/sandbox/cli-list.ts +127 -0
  554. package/src/api/sandbox/client.ts +460 -0
  555. package/src/api/sandbox/create.ts +256 -0
  556. package/src/api/sandbox/destroy.ts +41 -0
  557. package/src/api/sandbox/disk-checkpoint.ts +179 -0
  558. package/src/api/sandbox/execute.ts +132 -0
  559. package/src/api/sandbox/execution.ts +183 -0
  560. package/src/api/sandbox/files.ts +596 -0
  561. package/src/api/sandbox/get.ts +249 -0
  562. package/src/api/sandbox/getStatus.ts +54 -0
  563. package/src/api/sandbox/index.ts +211 -0
  564. package/src/api/sandbox/list.ts +224 -0
  565. package/src/api/sandbox/pause.ts +39 -0
  566. package/src/api/sandbox/resolve.ts +98 -0
  567. package/src/api/sandbox/resume.ts +39 -0
  568. package/src/api/sandbox/run.ts +439 -0
  569. package/src/api/sandbox/runtime.ts +104 -0
  570. package/src/api/sandbox/snapshot-build.ts +94 -0
  571. package/src/api/sandbox/snapshot.ts +781 -0
  572. package/src/api/sandbox/util.ts +275 -0
  573. package/src/api/services/index.ts +1 -0
  574. package/src/api/services/stats.ts +213 -0
  575. package/src/api/session/get.ts +106 -0
  576. package/src/api/session/index.ts +3 -0
  577. package/src/api/session/list.ts +136 -0
  578. package/src/api/session/logs.ts +47 -0
  579. package/src/api/session/util.ts +3 -0
  580. package/src/api/storage/config.ts +111 -0
  581. package/src/api/storage/index.ts +4 -0
  582. package/src/api/storage/objects.ts +250 -0
  583. package/src/api/storage/types.ts +174 -0
  584. package/src/api/storage/util.ts +4 -0
  585. package/src/api/stream/get.ts +51 -0
  586. package/src/api/stream/index.ts +3 -0
  587. package/src/api/stream/list.ts +127 -0
  588. package/src/api/stream/util.ts +3 -0
  589. package/src/api/thread/delete.ts +31 -0
  590. package/src/api/thread/get.ts +34 -0
  591. package/src/api/thread/index.ts +4 -0
  592. package/src/api/thread/list.ts +76 -0
  593. package/src/api/thread/util.ts +3 -0
  594. package/src/api/user/index.ts +1 -0
  595. package/src/api/user/util.ts +3 -0
  596. package/src/api/user/whoami.ts +32 -0
  597. package/src/api/webhook/deliveries.ts +129 -0
  598. package/src/api/webhook/destinations.ts +224 -0
  599. package/src/api/webhook/index.ts +133 -0
  600. package/src/api/webhook/receipts.ts +124 -0
  601. package/src/api/webhook/types.ts +309 -0
  602. package/src/api/webhook/util.ts +234 -0
  603. package/src/api/webhook/webhooks.ts +260 -0
  604. package/src/env-example.ts +90 -0
  605. package/src/index.ts +209 -206
  606. package/src/services/email.ts +15 -24
  607. package/src/services/keyvalue.ts +10 -13
  608. package/src/services/queue.ts +3 -6
  609. package/src/services/schedule.ts +8 -19
  610. package/src/services/stream.ts +4 -4
  611. package/src/services/vector.ts +9 -12
  612. package/src/services/webhook.ts +14 -24
@@ -0,0 +1,311 @@
1
+ import { z } from 'zod';
2
+ import { type APIClient, APIResponseSchema } from '../api.ts';
3
+ import {
4
+ type AnalyticsOptions,
5
+ type OrgAnalytics,
6
+ OrgAnalyticsSchema,
7
+ type QueueAnalytics,
8
+ QueueAnalyticsSchema,
9
+ type SSEStatsEvent,
10
+ SSEStatsEventSchema,
11
+ type StreamAnalyticsOptions,
12
+ type TimeSeriesData,
13
+ TimeSeriesDataSchema,
14
+ } from './types.ts';
15
+ import {
16
+ buildQueueHeaders,
17
+ QueueError,
18
+ QueueNotFoundError,
19
+ queueApiPathWithQuery,
20
+ withQueueErrorHandling,
21
+ } from './util.ts';
22
+ import { validateQueueName } from './validation.ts';
23
+
24
+ export const OrgAnalyticsResponseSchema = APIResponseSchema(
25
+ z.object({ analytics: OrgAnalyticsSchema })
26
+ );
27
+ export const QueueAnalyticsResponseSchema = APIResponseSchema(
28
+ z.object({ analytics: QueueAnalyticsSchema })
29
+ );
30
+ export const TimeSeriesResponseSchema = APIResponseSchema(
31
+ z.object({ timeseries: TimeSeriesDataSchema })
32
+ );
33
+
34
+ /**
35
+ * Build query string from analytics options.
36
+ */
37
+ function buildAnalyticsQuery(options?: AnalyticsOptions): string | undefined {
38
+ if (!options) return undefined;
39
+
40
+ const params = new URLSearchParams();
41
+ if (options.start) params.set('start', options.start);
42
+ if (options.end) params.set('end', options.end);
43
+ if (options.granularity) params.set('granularity', options.granularity);
44
+ if (options.projectId) params.set('project_id', options.projectId);
45
+ if (options.agentId) params.set('agent_id', options.agentId);
46
+
47
+ const query = params.toString();
48
+ return query || undefined;
49
+ }
50
+
51
+ /**
52
+ * Get org-level analytics for all queues.
53
+ *
54
+ * Returns aggregated statistics across all queues in the organization.
55
+ *
56
+ * @param client - The API client instance
57
+ * @param options - Analytics options (time range, filters)
58
+ * @returns Org-level analytics summary
59
+ * @throws {QueueError} If the API request fails
60
+ *
61
+ * @example
62
+ * ```typescript
63
+ * const analytics = await getOrgAnalytics(client, {
64
+ * start: '2026-01-14T00:00:00Z',
65
+ * end: '2026-01-15T00:00:00Z',
66
+ * });
67
+ * console.log(`Total queues: ${analytics.summary.total_queues}`);
68
+ * console.log(`Messages published: ${analytics.summary.total_messages_published}`);
69
+ * ```
70
+ */
71
+ export async function getOrgAnalytics(
72
+ client: APIClient,
73
+ options?: AnalyticsOptions
74
+ ): Promise<OrgAnalytics> {
75
+ const queryString = buildAnalyticsQuery(options);
76
+ const url = queueApiPathWithQuery('analytics/org', queryString);
77
+ const resp = await client.get(
78
+ url,
79
+ OrgAnalyticsResponseSchema,
80
+ undefined,
81
+ buildQueueHeaders(options?.orgId)
82
+ );
83
+
84
+ if (resp.success) {
85
+ return resp.data.analytics;
86
+ }
87
+
88
+ throw new QueueError({
89
+ message: resp.message || 'Failed to get org analytics',
90
+ });
91
+ }
92
+
93
+ /**
94
+ * Get detailed analytics for a specific queue.
95
+ *
96
+ * Returns current state, period statistics, latency metrics, and destination stats.
97
+ *
98
+ * @param client - The API client instance
99
+ * @param name - The queue name
100
+ * @param options - Analytics options (time range, filters)
101
+ * @returns Queue analytics
102
+ * @throws {QueueNotFoundError} If the queue does not exist
103
+ * @throws {QueueError} If the API request fails
104
+ *
105
+ * @example
106
+ * ```typescript
107
+ * const analytics = await getQueueAnalytics(client, 'order-processing', {
108
+ * start: '2026-01-14T00:00:00Z',
109
+ * });
110
+ * console.log(`Backlog: ${analytics.current.backlog}`);
111
+ * console.log(`P95 latency: ${analytics.latency.p95_ms}ms`);
112
+ * ```
113
+ */
114
+ export async function getQueueAnalytics(
115
+ client: APIClient,
116
+ name: string,
117
+ options?: AnalyticsOptions
118
+ ): Promise<QueueAnalytics> {
119
+ validateQueueName(name);
120
+ const queryString = buildAnalyticsQuery(options);
121
+ const url = queueApiPathWithQuery('analytics/queue', queryString, name);
122
+ const resp = await withQueueErrorHandling(
123
+ () =>
124
+ client.get(
125
+ url,
126
+ QueueAnalyticsResponseSchema,
127
+ undefined,
128
+ buildQueueHeaders(options?.orgId)
129
+ ),
130
+ { queueName: name }
131
+ );
132
+
133
+ if (resp.success) {
134
+ return resp.data.analytics;
135
+ }
136
+
137
+ throw new QueueError({
138
+ queueName: name,
139
+ message: resp.message || 'Failed to get queue analytics',
140
+ });
141
+ }
142
+
143
+ /**
144
+ * Get time series analytics data for a queue.
145
+ *
146
+ * Returns time-bucketed metrics for visualization in charts and graphs.
147
+ *
148
+ * @param client - The API client instance
149
+ * @param name - The queue name
150
+ * @param options - Analytics options (time range, granularity)
151
+ * @returns Time series data
152
+ * @throws {QueueNotFoundError} If the queue does not exist
153
+ * @throws {QueueError} If the API request fails
154
+ *
155
+ * @example
156
+ * ```typescript
157
+ * const timeseries = await getQueueTimeSeries(client, 'order-processing', {
158
+ * granularity: 'hour',
159
+ * start: '2026-01-14T00:00:00Z',
160
+ * });
161
+ * for (const point of timeseries.series) {
162
+ * console.log(`${point.timestamp}: ${point.throughput} msg/h`);
163
+ * }
164
+ * ```
165
+ */
166
+ export async function getQueueTimeSeries(
167
+ client: APIClient,
168
+ name: string,
169
+ options?: AnalyticsOptions
170
+ ): Promise<TimeSeriesData> {
171
+ validateQueueName(name);
172
+ const queryString = buildAnalyticsQuery(options);
173
+ const url = queueApiPathWithQuery('analytics/timeseries', queryString, name);
174
+ const resp = await withQueueErrorHandling(
175
+ () => client.get(url, TimeSeriesResponseSchema, undefined, buildQueueHeaders(options?.orgId)),
176
+ { queueName: name }
177
+ );
178
+
179
+ if (resp.success) {
180
+ return resp.data.timeseries;
181
+ }
182
+
183
+ throw new QueueError({
184
+ queueName: name,
185
+ message: resp.message || 'Failed to get queue time series',
186
+ });
187
+ }
188
+
189
+ /**
190
+ * Stream real-time analytics for all queues via SSE.
191
+ *
192
+ * Returns an async iterator that yields stats events at the specified interval.
193
+ * The connection stays open until the iterator is closed or an error occurs.
194
+ *
195
+ * @param client - The API client instance
196
+ * @param options - Stream options (interval, orgId)
197
+ * @returns Async iterator of SSE stats events
198
+ *
199
+ * @example
200
+ * ```typescript
201
+ * const stream = streamOrgAnalytics(client, { interval: 5 });
202
+ * for await (const event of stream) {
203
+ * console.log(`Backlog: ${event.backlog}, Throughput: ${event.throughput_1m}/min`);
204
+ * }
205
+ * ```
206
+ */
207
+ export async function* streamOrgAnalytics(
208
+ client: APIClient,
209
+ options?: StreamAnalyticsOptions
210
+ ): AsyncGenerator<SSEStatsEvent, void, unknown> {
211
+ const params = new URLSearchParams();
212
+ if (options?.interval) params.set('interval', String(options.interval));
213
+ const queryString = params.toString() || undefined;
214
+
215
+ const url = queueApiPathWithQuery('analytics/stream', queryString);
216
+
217
+ yield* streamSSE(client, url, options?.orgId);
218
+ }
219
+
220
+ /**
221
+ * Stream real-time analytics for a specific queue via SSE.
222
+ *
223
+ * Returns an async iterator that yields stats events at the specified interval.
224
+ *
225
+ * @param client - The API client instance
226
+ * @param name - The queue name
227
+ * @param options - Stream options (interval, orgId)
228
+ * @returns Async iterator of SSE stats events
229
+ *
230
+ * @example
231
+ * ```typescript
232
+ * const stream = streamQueueAnalytics(client, 'order-processing', { interval: 5 });
233
+ * for await (const event of stream) {
234
+ * console.log(`Backlog: ${event.backlog}, In-flight: ${event.messages_in_flight}`);
235
+ * }
236
+ * ```
237
+ */
238
+ export async function* streamQueueAnalytics(
239
+ client: APIClient,
240
+ name: string,
241
+ options?: StreamAnalyticsOptions
242
+ ): AsyncGenerator<SSEStatsEvent, void, unknown> {
243
+ validateQueueName(name);
244
+
245
+ const params = new URLSearchParams();
246
+ if (options?.interval) params.set('interval', String(options.interval));
247
+ const queryString = params.toString() || undefined;
248
+
249
+ const url = queueApiPathWithQuery('analytics/stream', queryString, name);
250
+
251
+ yield* streamSSE(client, url, options?.orgId, name);
252
+ }
253
+
254
+ /**
255
+ * Internal helper to stream SSE events from a URL.
256
+ * Uses rawGet for streaming response access.
257
+ */
258
+ async function* streamSSE(
259
+ client: APIClient,
260
+ url: string,
261
+ orgId?: string,
262
+ queueName?: string
263
+ ): AsyncGenerator<SSEStatsEvent, void, unknown> {
264
+ const response = await client.rawGet(url, undefined, buildQueueHeaders(orgId));
265
+
266
+ if (!response.ok) {
267
+ if (response.status === 404 && queueName) {
268
+ throw new QueueNotFoundError({ queueName });
269
+ }
270
+ throw new QueueError({
271
+ message: `SSE connection failed: ${response.status} ${response.statusText}`,
272
+ });
273
+ }
274
+
275
+ const reader = response.body?.getReader();
276
+ if (!reader) {
277
+ throw new QueueError({ message: 'No response body for SSE stream' });
278
+ }
279
+
280
+ const decoder = new TextDecoder();
281
+ let buffer = '';
282
+
283
+ try {
284
+ while (true) {
285
+ const { done, value } = await reader.read();
286
+ if (done) break;
287
+
288
+ buffer += decoder.decode(value, { stream: true });
289
+ const lines = buffer.split('\n');
290
+ buffer = lines.pop() || '';
291
+
292
+ for (const line of lines) {
293
+ if (line.startsWith('data: ')) {
294
+ const jsonStr = line.slice(6).trim();
295
+ if (jsonStr && jsonStr !== '{}') {
296
+ try {
297
+ const parsed = JSON.parse(jsonStr);
298
+ const event = SSEStatsEventSchema.parse(parsed);
299
+ yield event;
300
+ } catch {
301
+ // Skip malformed events
302
+ }
303
+ }
304
+ }
305
+ }
306
+ }
307
+ } finally {
308
+ await reader.cancel();
309
+ reader.releaseLock();
310
+ }
311
+ }
@@ -0,0 +1,259 @@
1
+ import { z } from 'zod';
2
+ import { type APIClient, APIResponseSchema, APIResponseSchemaNoData } from '../api.ts';
3
+ import {
4
+ type CreateDestinationRequest,
5
+ CreateDestinationRequestSchema,
6
+ type Destination,
7
+ DestinationSchema,
8
+ type QueueApiOptions,
9
+ type UpdateDestinationRequest,
10
+ UpdateDestinationRequestSchema,
11
+ } from './types.ts';
12
+ import { buildQueueHeaders, QueueError, queueApiPath, withQueueErrorHandling } from './util.ts';
13
+ import {
14
+ validateDestinationConfig,
15
+ validateDestinationId,
16
+ validateQueueName,
17
+ } from './validation.ts';
18
+
19
+ export const DestinationResponseSchema = APIResponseSchema(
20
+ z.object({ destination: DestinationSchema })
21
+ );
22
+ export const DestinationsListResponseSchema = APIResponseSchema(
23
+ z.object({
24
+ destinations: z.array(DestinationSchema),
25
+ })
26
+ );
27
+ export const DeleteDestinationResponseSchema = APIResponseSchemaNoData();
28
+
29
+ /**
30
+ * Create a destination for a queue.
31
+ *
32
+ * Destinations are webhook endpoints that automatically receive messages when
33
+ * they are published to a queue. When a message is published, it will be
34
+ * delivered via HTTP POST to all active destinations configured for that queue.
35
+ *
36
+ * @param client - The API client instance
37
+ * @param queueName - The name of the queue to add the destination to
38
+ * @param params - Destination configuration including URL and optional settings
39
+ * @returns The created destination with assigned ID
40
+ * @throws {QueueValidationError} If validation fails (invalid queue name or config)
41
+ * @throws {QueueNotFoundError} If the queue does not exist
42
+ * @throws {QueueError} If the API request fails
43
+ *
44
+ * @example
45
+ * ```typescript
46
+ * const destination = await createDestination(client, 'order-events', {
47
+ * url: 'https://api.example.com/webhooks/orders',
48
+ * config: {
49
+ * retry_attempts: 3,
50
+ * timeout_seconds: 30,
51
+ * },
52
+ * });
53
+ * console.log(`Created destination ${destination.id}`);
54
+ * ```
55
+ */
56
+ export async function createDestination(
57
+ client: APIClient,
58
+ queueName: string,
59
+ params: CreateDestinationRequest,
60
+ options?: QueueApiOptions
61
+ ): Promise<Destination> {
62
+ validateQueueName(queueName);
63
+ if (params.config) {
64
+ validateDestinationConfig(params.config);
65
+ }
66
+
67
+ const url = queueApiPath('destinations/create', queueName);
68
+ const resp = await withQueueErrorHandling(
69
+ () =>
70
+ client.post(
71
+ url,
72
+ params,
73
+ DestinationResponseSchema,
74
+ CreateDestinationRequestSchema,
75
+ undefined,
76
+ buildQueueHeaders(options?.orgId)
77
+ ),
78
+ { queueName, destinationUrl: params.config?.url }
79
+ );
80
+
81
+ if (resp.success) {
82
+ return resp.data.destination;
83
+ }
84
+
85
+ throw new QueueError({
86
+ queueName,
87
+ message: resp.message || 'Failed to create destination',
88
+ });
89
+ }
90
+
91
+ /**
92
+ * List all destinations for a queue.
93
+ *
94
+ * Retrieves all webhook destinations configured for a queue. Each destination
95
+ * represents an endpoint that receives messages when they are published.
96
+ *
97
+ * @param client - The API client instance
98
+ * @param queueName - The name of the queue
99
+ * @returns Array of destinations configured for the queue
100
+ * @throws {QueueValidationError} If validation fails (invalid queue name)
101
+ * @throws {QueueNotFoundError} If the queue does not exist
102
+ * @throws {QueueError} If the API request fails
103
+ *
104
+ * @example
105
+ * ```typescript
106
+ * const destinations = await listDestinations(client, 'order-events');
107
+ * for (const dest of destinations) {
108
+ * console.log(`Destination ${dest.id}: ${dest.url} (${dest.enabled ? 'enabled' : 'disabled'})`);
109
+ * }
110
+ * ```
111
+ */
112
+ export async function listDestinations(
113
+ client: APIClient,
114
+ queueName: string,
115
+ options?: QueueApiOptions
116
+ ): Promise<Destination[]> {
117
+ validateQueueName(queueName);
118
+ const url = queueApiPath('destinations/list', queueName);
119
+ const resp = await withQueueErrorHandling(
120
+ () =>
121
+ client.get(
122
+ url,
123
+ DestinationsListResponseSchema,
124
+ undefined,
125
+ buildQueueHeaders(options?.orgId)
126
+ ),
127
+ { queueName }
128
+ );
129
+
130
+ if (resp.success) {
131
+ return resp.data.destinations;
132
+ }
133
+
134
+ throw new QueueError({
135
+ queueName,
136
+ message: resp.message || 'Failed to list destinations',
137
+ });
138
+ }
139
+
140
+ /**
141
+ * Update a destination's configuration.
142
+ *
143
+ * Modifies an existing destination's settings such as URL, enabled status,
144
+ * or retry configuration. Only the fields provided in params will be updated.
145
+ *
146
+ * @param client - The API client instance
147
+ * @param queueName - The name of the queue
148
+ * @param destinationId - The destination ID to update (prefixed with dest_)
149
+ * @param params - Fields to update (partial update supported)
150
+ * @returns The updated destination
151
+ * @throws {QueueValidationError} If validation fails (invalid queue name, destination ID, or config)
152
+ * @throws {DestinationNotFoundError} If the destination does not exist
153
+ * @throws {QueueNotFoundError} If the queue does not exist
154
+ * @throws {QueueError} If the API request fails
155
+ *
156
+ * @example
157
+ * ```typescript
158
+ * // Disable a destination temporarily
159
+ * const updated = await updateDestination(client, 'order-events', 'dest_abc123', {
160
+ * enabled: false,
161
+ * });
162
+ *
163
+ * // Update URL and retry settings
164
+ * const updated = await updateDestination(client, 'order-events', 'dest_abc123', {
165
+ * url: 'https://api.example.com/v2/webhooks/orders',
166
+ * config: {
167
+ * retry_attempts: 5,
168
+ * },
169
+ * });
170
+ * ```
171
+ */
172
+ export async function updateDestination(
173
+ client: APIClient,
174
+ queueName: string,
175
+ destinationId: string,
176
+ params: UpdateDestinationRequest,
177
+ options?: QueueApiOptions
178
+ ): Promise<Destination> {
179
+ validateQueueName(queueName);
180
+ validateDestinationId(destinationId);
181
+ if (params.config) {
182
+ validateDestinationConfig(params.config);
183
+ }
184
+
185
+ const url = queueApiPath('destinations/update', queueName, destinationId);
186
+ const resp = await withQueueErrorHandling(
187
+ () =>
188
+ client.patch(
189
+ url,
190
+ params,
191
+ DestinationResponseSchema,
192
+ UpdateDestinationRequestSchema,
193
+ undefined,
194
+ buildQueueHeaders(options?.orgId)
195
+ ),
196
+ { queueName, destinationId }
197
+ );
198
+
199
+ if (resp.success) {
200
+ return resp.data.destination;
201
+ }
202
+
203
+ throw new QueueError({
204
+ queueName,
205
+ message: resp.message || 'Failed to update destination',
206
+ });
207
+ }
208
+
209
+ /**
210
+ * Delete a destination from a queue.
211
+ *
212
+ * Permanently removes a webhook destination. Messages will no longer be
213
+ * delivered to this endpoint. This action cannot be undone.
214
+ *
215
+ * @param client - The API client instance
216
+ * @param queueName - The name of the queue
217
+ * @param destinationId - The destination ID to delete (prefixed with dest_)
218
+ * @returns void
219
+ * @throws {QueueValidationError} If validation fails (invalid queue name or destination ID)
220
+ * @throws {DestinationNotFoundError} If the destination does not exist
221
+ * @throws {QueueNotFoundError} If the queue does not exist
222
+ * @throws {QueueError} If the API request fails
223
+ *
224
+ * @example
225
+ * ```typescript
226
+ * await deleteDestination(client, 'order-events', 'dest_abc123');
227
+ * console.log('Destination deleted');
228
+ * ```
229
+ */
230
+ export async function deleteDestination(
231
+ client: APIClient,
232
+ queueName: string,
233
+ destinationId: string,
234
+ options?: QueueApiOptions
235
+ ): Promise<void> {
236
+ validateQueueName(queueName);
237
+ validateDestinationId(destinationId);
238
+
239
+ const url = queueApiPath('destinations/delete', queueName, destinationId);
240
+ const resp = await withQueueErrorHandling(
241
+ () =>
242
+ client.delete(
243
+ url,
244
+ DeleteDestinationResponseSchema,
245
+ undefined,
246
+ buildQueueHeaders(options?.orgId)
247
+ ),
248
+ { queueName, destinationId }
249
+ );
250
+
251
+ if (resp.success) {
252
+ return;
253
+ }
254
+
255
+ throw new QueueError({
256
+ queueName,
257
+ message: resp.message || 'Failed to delete destination',
258
+ });
259
+ }