@agentuity/core 1.0.33 → 1.0.35

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 (1127) hide show
  1. package/dist/index.d.ts +2 -17
  2. package/dist/index.d.ts.map +1 -1
  3. package/dist/index.js +2 -15
  4. package/dist/index.js.map +1 -1
  5. package/dist/services/adapter.d.ts +57 -22
  6. package/dist/services/adapter.d.ts.map +1 -1
  7. package/dist/services/adapter.js +52 -1
  8. package/dist/services/adapter.js.map +1 -1
  9. package/dist/services/api.d.ts +222 -0
  10. package/dist/services/api.d.ts.map +1 -0
  11. package/dist/services/api.js +662 -0
  12. package/dist/services/api.js.map +1 -0
  13. package/dist/services/apikey/create.d.ts +34 -0
  14. package/dist/services/apikey/create.d.ts.map +1 -0
  15. package/dist/services/apikey/create.js +29 -0
  16. package/dist/services/apikey/create.js.map +1 -0
  17. package/dist/services/apikey/delete.d.ts.map +1 -0
  18. package/dist/services/apikey/delete.js.map +1 -0
  19. package/dist/services/apikey/get.d.ts.map +1 -0
  20. package/dist/services/apikey/get.js.map +1 -0
  21. package/dist/services/apikey/index.d.ts.map +1 -0
  22. package/dist/services/apikey/index.js.map +1 -0
  23. package/dist/services/apikey/list.d.ts +65 -0
  24. package/dist/services/apikey/list.d.ts.map +1 -0
  25. package/dist/services/apikey/list.js +50 -0
  26. package/dist/services/apikey/list.js.map +1 -0
  27. package/dist/services/apikey/util.d.ts.map +1 -0
  28. package/dist/services/apikey/util.js.map +1 -0
  29. package/dist/services/config.d.ts +22 -0
  30. package/dist/services/config.d.ts.map +1 -0
  31. package/dist/services/config.js +55 -0
  32. package/dist/services/config.js.map +1 -0
  33. package/dist/services/db/index.d.ts +6 -0
  34. package/dist/services/db/index.d.ts.map +1 -0
  35. package/dist/services/db/index.js +6 -0
  36. package/dist/services/db/index.js.map +1 -0
  37. package/dist/services/db/logs.d.ts.map +1 -0
  38. package/dist/services/db/logs.js.map +1 -0
  39. package/dist/services/db/query.d.ts +40 -0
  40. package/dist/services/db/query.d.ts.map +1 -0
  41. package/dist/services/db/query.js +55 -0
  42. package/dist/services/db/query.js.map +1 -0
  43. package/dist/services/db/stats.d.ts +146 -0
  44. package/dist/services/db/stats.d.ts.map +1 -0
  45. package/dist/services/db/stats.js +94 -0
  46. package/dist/services/db/stats.js.map +1 -0
  47. package/dist/services/db/tables.d.ts +50 -0
  48. package/dist/services/db/tables.d.ts.map +1 -0
  49. package/dist/services/db/tables.js +64 -0
  50. package/dist/services/db/tables.js.map +1 -0
  51. package/dist/services/db/util.d.ts.map +1 -0
  52. package/dist/services/db/util.js.map +1 -0
  53. package/dist/services/email/index.d.ts +2 -0
  54. package/dist/services/email/index.d.ts.map +1 -0
  55. package/dist/services/email/index.js +2 -0
  56. package/dist/services/email/index.js.map +1 -0
  57. package/dist/services/email/service.d.ts +742 -0
  58. package/dist/services/email/service.d.ts.map +1 -0
  59. package/dist/services/email/service.js +1107 -0
  60. package/dist/services/email/service.js.map +1 -0
  61. package/dist/services/env.d.ts.map +1 -0
  62. package/dist/services/env.js.map +1 -0
  63. package/dist/services/eval/events.d.ts +93 -0
  64. package/dist/services/eval/events.d.ts.map +1 -0
  65. package/dist/services/eval/events.js +24 -0
  66. package/dist/services/eval/events.js.map +1 -0
  67. package/dist/services/eval/get.d.ts.map +1 -0
  68. package/dist/services/eval/get.js.map +1 -0
  69. package/dist/services/eval/index.d.ts +6 -0
  70. package/dist/services/eval/index.d.ts.map +1 -0
  71. package/dist/services/eval/index.js +6 -0
  72. package/dist/services/eval/index.js.map +1 -0
  73. package/dist/services/eval/list.d.ts.map +1 -0
  74. package/dist/services/eval/list.js.map +1 -0
  75. package/dist/services/eval/run-get.d.ts.map +1 -0
  76. package/dist/services/eval/run-get.js.map +1 -0
  77. package/dist/services/eval/run-list.d.ts.map +1 -0
  78. package/dist/services/eval/run-list.js.map +1 -0
  79. package/dist/services/exception.d.ts +28 -9
  80. package/dist/services/exception.d.ts.map +1 -1
  81. package/dist/services/exception.js +14 -0
  82. package/dist/services/exception.js.map +1 -1
  83. package/dist/services/index.d.ts +26 -12
  84. package/dist/services/index.d.ts.map +1 -1
  85. package/dist/services/index.js +26 -11
  86. package/dist/services/index.js.map +1 -1
  87. package/dist/services/keyvalue/index.d.ts +2 -0
  88. package/dist/services/keyvalue/index.d.ts.map +1 -0
  89. package/dist/services/keyvalue/index.js +2 -0
  90. package/dist/services/keyvalue/index.js.map +1 -0
  91. package/dist/services/keyvalue/service.d.ts +261 -0
  92. package/dist/services/keyvalue/service.d.ts.map +1 -0
  93. package/dist/services/keyvalue/service.js +475 -0
  94. package/dist/services/keyvalue/service.js.map +1 -0
  95. package/dist/services/logger.d.ts.map +1 -0
  96. package/dist/services/logger.js.map +1 -0
  97. package/dist/services/machine/index.d.ts.map +1 -0
  98. package/dist/services/machine/index.js.map +1 -0
  99. package/dist/services/machine/machine.d.ts.map +1 -0
  100. package/dist/services/machine/machine.js +177 -0
  101. package/dist/services/machine/machine.js.map +1 -0
  102. package/dist/services/machine/util.d.ts.map +1 -0
  103. package/dist/services/machine/util.js.map +1 -0
  104. package/dist/services/org/env-delete.d.ts.map +1 -0
  105. package/dist/services/org/env-delete.js.map +1 -0
  106. package/dist/services/org/env-get.d.ts +33 -0
  107. package/dist/services/org/env-get.d.ts.map +1 -0
  108. package/dist/services/org/env-get.js +33 -0
  109. package/dist/services/org/env-get.js.map +1 -0
  110. package/dist/services/org/env-update.d.ts.map +1 -0
  111. package/dist/services/org/env-update.js.map +1 -0
  112. package/dist/services/org/index.d.ts.map +1 -0
  113. package/dist/services/org/index.js.map +1 -0
  114. package/dist/services/org/list.d.ts.map +1 -0
  115. package/dist/services/org/list.js.map +1 -0
  116. package/dist/services/org/resources.d.ts +150 -0
  117. package/dist/services/org/resources.d.ts.map +1 -0
  118. package/dist/services/org/resources.js +111 -0
  119. package/dist/services/org/resources.js.map +1 -0
  120. package/dist/services/org/util.d.ts.map +1 -0
  121. package/dist/services/org/util.js.map +1 -0
  122. package/dist/services/pagination.d.ts +38 -11
  123. package/dist/services/pagination.d.ts.map +1 -1
  124. package/dist/services/pagination.js +30 -1
  125. package/dist/services/pagination.js.map +1 -1
  126. package/dist/services/project/agent.d.ts.map +1 -0
  127. package/dist/services/project/agent.js.map +1 -0
  128. package/dist/services/project/create.d.ts.map +1 -0
  129. package/dist/services/project/create.js.map +1 -0
  130. package/dist/services/project/delete.d.ts.map +1 -0
  131. package/dist/services/project/delete.js +15 -0
  132. package/dist/services/project/delete.js.map +1 -0
  133. package/dist/services/project/deploy.d.ts +468 -0
  134. package/dist/services/project/deploy.d.ts.map +1 -0
  135. package/dist/services/project/deploy.js.map +1 -0
  136. package/dist/services/project/deployment.d.ts.map +1 -0
  137. package/dist/services/project/deployment.js +180 -0
  138. package/dist/services/project/deployment.js.map +1 -0
  139. package/dist/services/project/env-delete.d.ts.map +1 -0
  140. package/dist/services/project/env-delete.js.map +1 -0
  141. package/dist/services/project/env-update.d.ts.map +1 -0
  142. package/dist/services/project/env-update.js.map +1 -0
  143. package/dist/services/project/exists.d.ts.map +1 -0
  144. package/dist/services/project/exists.js.map +1 -0
  145. package/dist/services/project/get.d.ts.map +1 -0
  146. package/dist/services/project/get.js.map +1 -0
  147. package/dist/services/project/hostname.d.ts.map +1 -0
  148. package/dist/services/project/hostname.js +43 -0
  149. package/dist/services/project/hostname.js.map +1 -0
  150. package/dist/services/project/index.d.ts.map +1 -0
  151. package/dist/services/project/index.js.map +1 -0
  152. package/dist/services/project/list.d.ts.map +1 -0
  153. package/dist/services/project/list.js.map +1 -0
  154. package/dist/services/project/malware.d.ts.map +1 -0
  155. package/dist/services/project/malware.js +57 -0
  156. package/dist/services/project/malware.js.map +1 -0
  157. package/dist/services/project/update-region.d.ts.map +1 -0
  158. package/dist/services/project/update-region.js.map +1 -0
  159. package/dist/services/project/util.d.ts.map +1 -0
  160. package/dist/services/project/util.js.map +1 -0
  161. package/dist/services/queue/analytics.d.ts +261 -0
  162. package/dist/services/queue/analytics.d.ts.map +1 -0
  163. package/dist/services/queue/analytics.js +254 -0
  164. package/dist/services/queue/analytics.js.map +1 -0
  165. package/dist/services/queue/consumers.d.ts +48 -0
  166. package/dist/services/queue/consumers.d.ts.map +1 -0
  167. package/dist/services/queue/consumers.js +43 -0
  168. package/dist/services/queue/consumers.js.map +1 -0
  169. package/dist/services/queue/destinations.d.ts +269 -0
  170. package/dist/services/queue/destinations.d.ts.map +1 -0
  171. package/dist/services/queue/destinations.js +215 -0
  172. package/dist/services/queue/destinations.js.map +1 -0
  173. package/dist/services/queue/dlq.d.ts +170 -0
  174. package/dist/services/queue/dlq.d.ts.map +1 -0
  175. package/dist/services/queue/dlq.js.map +1 -0
  176. package/dist/services/queue/index.d.ts +58 -0
  177. package/dist/services/queue/index.d.ts.map +1 -0
  178. package/dist/services/queue/index.js +98 -0
  179. package/dist/services/queue/index.js.map +1 -0
  180. package/dist/services/queue/messages.d.ts +511 -0
  181. package/dist/services/queue/messages.d.ts.map +1 -0
  182. package/dist/services/queue/messages.js.map +1 -0
  183. package/dist/services/queue/queues.d.ts +228 -0
  184. package/dist/services/queue/queues.d.ts.map +1 -0
  185. package/dist/services/queue/queues.js.map +1 -0
  186. package/dist/services/queue/service.d.ts +309 -0
  187. package/dist/services/queue/service.d.ts.map +1 -0
  188. package/dist/services/queue/service.js +456 -0
  189. package/dist/services/queue/service.js.map +1 -0
  190. package/dist/services/queue/sources.d.ts +252 -0
  191. package/dist/services/queue/sources.d.ts.map +1 -0
  192. package/dist/services/queue/sources.js +249 -0
  193. package/dist/services/queue/sources.js.map +1 -0
  194. package/dist/services/queue/types.d.ts +1335 -0
  195. package/dist/services/queue/types.d.ts.map +1 -0
  196. package/dist/services/queue/types.js +1382 -0
  197. package/dist/services/queue/types.js.map +1 -0
  198. package/dist/services/queue/util.d.ts +278 -0
  199. package/dist/services/queue/util.d.ts.map +1 -0
  200. package/dist/services/queue/util.js +233 -0
  201. package/dist/services/queue/util.js.map +1 -0
  202. package/dist/services/queue/validation.d.ts +218 -0
  203. package/dist/services/queue/validation.d.ts.map +1 -0
  204. package/dist/services/queue/validation.js +498 -0
  205. package/dist/services/queue/validation.js.map +1 -0
  206. package/dist/services/queue/websocket.d.ts +154 -0
  207. package/dist/services/queue/websocket.d.ts.map +1 -0
  208. package/dist/services/queue/websocket.js +491 -0
  209. package/dist/services/queue/websocket.js.map +1 -0
  210. package/dist/services/region/create.d.ts.map +1 -0
  211. package/dist/services/region/create.js.map +1 -0
  212. package/dist/services/region/delete.d.ts.map +1 -0
  213. package/dist/services/region/delete.js.map +1 -0
  214. package/dist/services/region/index.d.ts.map +1 -0
  215. package/dist/services/region/index.js.map +1 -0
  216. package/dist/services/region/list.d.ts.map +1 -0
  217. package/dist/services/region/list.js.map +1 -0
  218. package/dist/services/region/resources.d.ts.map +1 -0
  219. package/dist/services/region/resources.js.map +1 -0
  220. package/dist/services/region/util.d.ts.map +1 -0
  221. package/dist/services/region/util.js.map +1 -0
  222. package/dist/services/sandbox/cli-list.d.ts +103 -0
  223. package/dist/services/sandbox/cli-list.d.ts.map +1 -0
  224. package/dist/services/sandbox/cli-list.js +106 -0
  225. package/dist/services/sandbox/cli-list.js.map +1 -0
  226. package/dist/services/sandbox/client.d.ts +173 -0
  227. package/dist/services/sandbox/client.d.ts.map +1 -0
  228. package/dist/services/sandbox/client.js +302 -0
  229. package/dist/services/sandbox/client.js.map +1 -0
  230. package/dist/services/sandbox/create.d.ts +193 -0
  231. package/dist/services/sandbox/create.d.ts.map +1 -0
  232. package/dist/services/sandbox/create.js +215 -0
  233. package/dist/services/sandbox/create.js.map +1 -0
  234. package/dist/services/sandbox/destroy.d.ts +23 -0
  235. package/dist/services/sandbox/destroy.d.ts.map +1 -0
  236. package/dist/services/sandbox/destroy.js +30 -0
  237. package/dist/services/sandbox/destroy.js.map +1 -0
  238. package/dist/services/sandbox/disk-checkpoint.d.ts +108 -0
  239. package/dist/services/sandbox/disk-checkpoint.d.ts.map +1 -0
  240. package/dist/services/sandbox/disk-checkpoint.js +124 -0
  241. package/dist/services/sandbox/disk-checkpoint.js.map +1 -0
  242. package/dist/services/sandbox/execute.d.ts +96 -0
  243. package/dist/services/sandbox/execute.d.ts.map +1 -0
  244. package/dist/services/sandbox/execute.js +109 -0
  245. package/dist/services/sandbox/execute.js.map +1 -0
  246. package/dist/services/sandbox/execution.d.ts +145 -0
  247. package/dist/services/sandbox/execution.d.ts.map +1 -0
  248. package/dist/services/sandbox/execution.js +113 -0
  249. package/dist/services/sandbox/execution.js.map +1 -0
  250. package/dist/services/sandbox/files.d.ts +269 -0
  251. package/dist/services/sandbox/files.d.ts.map +1 -0
  252. package/dist/services/sandbox/files.js +454 -0
  253. package/dist/services/sandbox/files.js.map +1 -0
  254. package/dist/services/sandbox/get.d.ts +284 -0
  255. package/dist/services/sandbox/get.d.ts.map +1 -0
  256. package/dist/services/sandbox/get.js +231 -0
  257. package/dist/services/sandbox/get.js.map +1 -0
  258. package/dist/services/sandbox/getStatus.d.ts +20 -0
  259. package/dist/services/sandbox/getStatus.d.ts.map +1 -0
  260. package/dist/services/sandbox/getStatus.js +36 -0
  261. package/dist/services/sandbox/getStatus.js.map +1 -0
  262. package/dist/services/sandbox/index.d.ts +40 -0
  263. package/dist/services/sandbox/index.d.ts.map +1 -0
  264. package/dist/services/sandbox/index.js +21 -0
  265. package/dist/services/sandbox/index.js.map +1 -0
  266. package/dist/services/sandbox/list.d.ts +327 -0
  267. package/dist/services/sandbox/list.d.ts.map +1 -0
  268. package/dist/services/sandbox/list.js +204 -0
  269. package/dist/services/sandbox/list.js.map +1 -0
  270. package/dist/services/sandbox/pause.d.ts +23 -0
  271. package/dist/services/sandbox/pause.d.ts.map +1 -0
  272. package/dist/services/sandbox/pause.js +30 -0
  273. package/dist/services/sandbox/pause.js.map +1 -0
  274. package/dist/services/sandbox/resolve.d.ts +75 -0
  275. package/dist/services/sandbox/resolve.d.ts.map +1 -0
  276. package/dist/services/sandbox/resolve.js +76 -0
  277. package/dist/services/sandbox/resolve.js.map +1 -0
  278. package/dist/services/sandbox/resume.d.ts +23 -0
  279. package/dist/services/sandbox/resume.d.ts.map +1 -0
  280. package/dist/services/sandbox/resume.js +30 -0
  281. package/dist/services/sandbox/resume.js.map +1 -0
  282. package/dist/services/sandbox/run.d.ts +71 -0
  283. package/dist/services/sandbox/run.d.ts.map +1 -0
  284. package/dist/services/sandbox/run.js +355 -0
  285. package/dist/services/sandbox/run.js.map +1 -0
  286. package/dist/services/sandbox/runtime.d.ts +94 -0
  287. package/dist/services/sandbox/runtime.d.ts.map +1 -0
  288. package/dist/services/sandbox/runtime.js +82 -0
  289. package/dist/services/sandbox/runtime.js.map +1 -0
  290. package/dist/services/sandbox/snapshot-build.d.ts.map +1 -0
  291. package/dist/services/sandbox/snapshot-build.js.map +1 -0
  292. package/dist/services/sandbox/snapshot.d.ts +596 -0
  293. package/dist/services/sandbox/snapshot.d.ts.map +1 -0
  294. package/dist/services/sandbox/snapshot.js +612 -0
  295. package/dist/services/sandbox/snapshot.js.map +1 -0
  296. package/dist/services/sandbox/types.d.ts +851 -0
  297. package/dist/services/sandbox/types.d.ts.map +1 -0
  298. package/dist/services/sandbox/types.js +674 -0
  299. package/dist/services/sandbox/types.js.map +1 -0
  300. package/dist/services/sandbox/util.d.ts +295 -0
  301. package/dist/services/sandbox/util.d.ts.map +1 -0
  302. package/dist/services/sandbox/util.js +233 -0
  303. package/dist/services/sandbox/util.js.map +1 -0
  304. package/dist/services/schedule/index.d.ts +2 -0
  305. package/dist/services/schedule/index.d.ts.map +1 -0
  306. package/dist/services/schedule/index.js +2 -0
  307. package/dist/services/schedule/index.js.map +1 -0
  308. package/dist/services/schedule/service.d.ts +439 -0
  309. package/dist/services/schedule/service.d.ts.map +1 -0
  310. package/dist/services/schedule/service.js +701 -0
  311. package/dist/services/schedule/service.js.map +1 -0
  312. package/dist/services/session/events.d.ts +127 -0
  313. package/dist/services/session/events.d.ts.map +1 -0
  314. package/dist/services/session/events.js +42 -0
  315. package/dist/services/session/events.js.map +1 -0
  316. package/dist/services/session/get.d.ts +170 -0
  317. package/dist/services/session/get.d.ts.map +1 -0
  318. package/dist/services/session/get.js.map +1 -0
  319. package/dist/services/session/index.d.ts +5 -0
  320. package/dist/services/session/index.d.ts.map +1 -0
  321. package/dist/services/session/index.js +5 -0
  322. package/dist/services/session/index.js.map +1 -0
  323. package/dist/services/session/list.d.ts +150 -0
  324. package/dist/services/session/list.d.ts.map +1 -0
  325. package/dist/services/session/list.js +117 -0
  326. package/dist/services/session/list.js.map +1 -0
  327. package/dist/services/session/logs.d.ts.map +1 -0
  328. package/dist/services/session/logs.js.map +1 -0
  329. package/dist/services/session/util.d.ts.map +1 -0
  330. package/dist/services/session/util.js.map +1 -0
  331. package/dist/services/stats.d.ts +261 -0
  332. package/dist/services/stats.d.ts.map +1 -0
  333. package/dist/services/stats.js +181 -0
  334. package/dist/services/stats.js.map +1 -0
  335. package/dist/services/storage/config.d.ts.map +1 -0
  336. package/dist/services/storage/config.js.map +1 -0
  337. package/dist/services/storage/index.d.ts.map +1 -0
  338. package/dist/services/storage/index.js.map +1 -0
  339. package/dist/services/storage/objects.d.ts +158 -0
  340. package/dist/services/storage/objects.d.ts.map +1 -0
  341. package/dist/services/storage/objects.js +161 -0
  342. package/dist/services/storage/objects.js.map +1 -0
  343. package/dist/services/storage/types.d.ts.map +1 -0
  344. package/dist/services/storage/types.js.map +1 -0
  345. package/dist/services/storage/util.d.ts.map +1 -0
  346. package/dist/services/storage/util.js.map +1 -0
  347. package/dist/services/stream/get.d.ts.map +1 -0
  348. package/dist/services/stream/get.js.map +1 -0
  349. package/dist/services/stream/index.d.ts +5 -0
  350. package/dist/services/stream/index.d.ts.map +1 -0
  351. package/dist/services/stream/index.js +5 -0
  352. package/dist/services/stream/index.js.map +1 -0
  353. package/dist/services/stream/list.d.ts +96 -0
  354. package/dist/services/stream/list.d.ts.map +1 -0
  355. package/dist/services/stream/list.js +92 -0
  356. package/dist/services/stream/list.js.map +1 -0
  357. package/dist/services/stream/service.d.ts +264 -0
  358. package/dist/services/stream/service.d.ts.map +1 -0
  359. package/dist/services/stream/service.js +631 -0
  360. package/dist/services/stream/service.js.map +1 -0
  361. package/dist/services/stream/util.d.ts.map +1 -0
  362. package/dist/services/stream/util.js.map +1 -0
  363. package/dist/services/task/index.d.ts +2 -0
  364. package/dist/services/task/index.d.ts.map +1 -0
  365. package/dist/services/task/index.js +2 -0
  366. package/dist/services/task/index.js.map +1 -0
  367. package/dist/services/task/service.d.ts +1491 -0
  368. package/dist/services/task/service.d.ts.map +1 -0
  369. package/dist/services/task/service.js +1887 -0
  370. package/dist/services/task/service.js.map +1 -0
  371. package/dist/services/thread/delete.d.ts.map +1 -0
  372. package/dist/services/thread/delete.js.map +1 -0
  373. package/dist/services/thread/get.d.ts.map +1 -0
  374. package/dist/services/thread/get.js.map +1 -0
  375. package/dist/services/thread/index.d.ts.map +1 -0
  376. package/dist/services/thread/index.js.map +1 -0
  377. package/dist/services/thread/list.d.ts +75 -0
  378. package/dist/services/thread/list.d.ts.map +1 -0
  379. package/dist/services/thread/list.js +65 -0
  380. package/dist/services/thread/list.js.map +1 -0
  381. package/dist/services/thread/util.d.ts.map +1 -0
  382. package/dist/services/thread/util.js.map +1 -0
  383. package/dist/services/user/index.d.ts.map +1 -0
  384. package/dist/services/user/index.js.map +1 -0
  385. package/dist/services/user/util.d.ts.map +1 -0
  386. package/dist/services/user/util.js.map +1 -0
  387. package/dist/services/user/whoami.d.ts.map +1 -0
  388. package/dist/services/user/whoami.js.map +1 -0
  389. package/dist/services/vector/index.d.ts +2 -0
  390. package/dist/services/vector/index.d.ts.map +1 -0
  391. package/dist/services/vector/index.js +2 -0
  392. package/dist/services/vector/index.js.map +1 -0
  393. package/dist/services/vector/service.d.ts +459 -0
  394. package/dist/services/vector/service.d.ts.map +1 -0
  395. package/dist/services/vector/service.js +707 -0
  396. package/dist/services/vector/service.js.map +1 -0
  397. package/dist/services/webhook/analytics.d.ts +77 -0
  398. package/dist/services/webhook/analytics.d.ts.map +1 -0
  399. package/dist/services/webhook/analytics.js +56 -0
  400. package/dist/services/webhook/analytics.js.map +1 -0
  401. package/dist/services/webhook/deliveries.d.ts +94 -0
  402. package/dist/services/webhook/deliveries.d.ts.map +1 -0
  403. package/dist/services/webhook/deliveries.js.map +1 -0
  404. package/dist/services/webhook/destinations.d.ts +140 -0
  405. package/dist/services/webhook/destinations.d.ts.map +1 -0
  406. package/dist/services/webhook/destinations.js.map +1 -0
  407. package/dist/services/webhook/index.d.ts +43 -0
  408. package/dist/services/webhook/index.d.ts.map +1 -0
  409. package/dist/services/webhook/index.js +64 -0
  410. package/dist/services/webhook/index.js.map +1 -0
  411. package/dist/services/webhook/receipts.d.ts.map +1 -0
  412. package/dist/services/webhook/receipts.js.map +1 -0
  413. package/dist/services/webhook/service.d.ts +374 -0
  414. package/dist/services/webhook/service.d.ts.map +1 -0
  415. package/dist/services/webhook/service.js +663 -0
  416. package/dist/services/webhook/service.js.map +1 -0
  417. package/dist/services/webhook/types.d.ts +182 -0
  418. package/dist/services/webhook/types.d.ts.map +1 -0
  419. package/dist/services/webhook/types.js +188 -0
  420. package/dist/services/webhook/types.js.map +1 -0
  421. package/dist/services/webhook/util.d.ts.map +1 -0
  422. package/dist/services/webhook/util.js.map +1 -0
  423. package/dist/services/webhook/webhooks.d.ts +150 -0
  424. package/dist/services/webhook/webhooks.d.ts.map +1 -0
  425. package/dist/services/webhook/webhooks.js.map +1 -0
  426. package/package.json +59 -7
  427. package/src/index.ts +6 -247
  428. package/src/services/adapter.ts +69 -24
  429. package/src/services/api.ts +951 -0
  430. package/src/services/apikey/create.ts +48 -0
  431. package/src/services/apikey/list.ts +66 -0
  432. package/src/services/config.ts +65 -0
  433. package/src/services/db/index.ts +42 -0
  434. package/src/services/db/query.ts +69 -0
  435. package/src/services/db/stats.ts +121 -0
  436. package/src/services/db/tables.ts +94 -0
  437. package/src/services/email/index.ts +1 -0
  438. package/src/services/email/service.ts +1476 -0
  439. package/src/services/eval/index.ts +29 -0
  440. package/src/services/exception.ts +16 -7
  441. package/src/services/index.ts +29 -28
  442. package/src/services/keyvalue/index.ts +1 -0
  443. package/src/services/keyvalue/service.ts +677 -0
  444. package/src/services/machine/machine.ts +228 -0
  445. package/src/services/org/env-get.ts +48 -0
  446. package/src/services/org/resources.ts +140 -0
  447. package/src/services/pagination.ts +40 -11
  448. package/src/services/project/delete.ts +27 -0
  449. package/src/services/project/deploy.ts +433 -0
  450. package/src/services/project/deployment.ts +250 -0
  451. package/src/services/project/hostname.ts +79 -0
  452. package/src/services/project/malware.ts +85 -0
  453. package/src/services/queue/analytics.ts +343 -0
  454. package/src/services/queue/consumers.ts +56 -0
  455. package/src/services/queue/destinations.ts +329 -0
  456. package/src/services/queue/index.ts +339 -0
  457. package/src/services/queue/service.ts +634 -0
  458. package/src/services/queue/sources.ts +364 -0
  459. package/src/services/queue/types.ts +1666 -0
  460. package/src/services/queue/util.ts +275 -0
  461. package/src/services/queue/validation.ts +541 -0
  462. package/src/services/queue/websocket.ts +578 -0
  463. package/src/services/sandbox/cli-list.ts +117 -0
  464. package/src/services/sandbox/client.ts +435 -0
  465. package/src/services/sandbox/create.ts +249 -0
  466. package/src/services/sandbox/destroy.ts +43 -0
  467. package/src/services/sandbox/disk-checkpoint.ts +184 -0
  468. package/src/services/sandbox/execute.ts +134 -0
  469. package/src/services/sandbox/execution.ts +144 -0
  470. package/src/services/sandbox/files.ts +608 -0
  471. package/src/services/sandbox/get.ts +262 -0
  472. package/src/services/sandbox/getStatus.ts +51 -0
  473. package/src/services/sandbox/index.ts +230 -0
  474. package/src/services/sandbox/list.ts +234 -0
  475. package/src/services/sandbox/pause.ts +41 -0
  476. package/src/services/sandbox/resolve.ts +96 -0
  477. package/src/services/sandbox/resume.ts +41 -0
  478. package/src/services/sandbox/run.ts +441 -0
  479. package/src/services/sandbox/runtime.ts +106 -0
  480. package/src/services/sandbox/snapshot.ts +791 -0
  481. package/src/services/sandbox/types.ts +798 -0
  482. package/src/services/sandbox/util.ts +279 -0
  483. package/src/services/schedule/index.ts +1 -0
  484. package/src/services/schedule/service.ts +814 -0
  485. package/src/services/session/get.ts +108 -0
  486. package/src/services/session/index.ts +4 -0
  487. package/src/services/session/list.ts +143 -0
  488. package/src/services/stats.ts +232 -0
  489. package/src/services/storage/objects.ts +256 -0
  490. package/src/services/stream/index.ts +14 -0
  491. package/src/services/stream/list.ts +105 -0
  492. package/src/services/stream/service.ts +929 -0
  493. package/src/services/task/index.ts +1 -0
  494. package/src/services/task/service.ts +2573 -0
  495. package/src/services/thread/list.ts +81 -0
  496. package/src/services/vector/index.ts +1 -0
  497. package/src/services/vector/service.ts +1242 -0
  498. package/src/services/webhook/analytics.ts +80 -0
  499. package/src/services/webhook/index.ts +160 -0
  500. package/src/services/webhook/service.ts +900 -0
  501. package/src/services/webhook/types.ts +277 -0
  502. package/dist/api/api.d.ts +0 -226
  503. package/dist/api/api.d.ts.map +0 -1
  504. package/dist/api/api.js +0 -635
  505. package/dist/api/api.js.map +0 -1
  506. package/dist/api/apikey/create.d.ts +0 -33
  507. package/dist/api/apikey/create.d.ts.map +0 -1
  508. package/dist/api/apikey/create.js +0 -23
  509. package/dist/api/apikey/create.js.map +0 -1
  510. package/dist/api/apikey/delete.d.ts.map +0 -1
  511. package/dist/api/apikey/delete.js.map +0 -1
  512. package/dist/api/apikey/get.d.ts.map +0 -1
  513. package/dist/api/apikey/get.js.map +0 -1
  514. package/dist/api/apikey/index.d.ts.map +0 -1
  515. package/dist/api/apikey/index.js.map +0 -1
  516. package/dist/api/apikey/list.d.ts +0 -64
  517. package/dist/api/apikey/list.d.ts.map +0 -1
  518. package/dist/api/apikey/list.js +0 -46
  519. package/dist/api/apikey/list.js.map +0 -1
  520. package/dist/api/apikey/util.d.ts.map +0 -1
  521. package/dist/api/apikey/util.js.map +0 -1
  522. package/dist/api/config.d.ts +0 -20
  523. package/dist/api/config.d.ts.map +0 -1
  524. package/dist/api/config.js +0 -43
  525. package/dist/api/config.js.map +0 -1
  526. package/dist/api/db/index.d.ts +0 -5
  527. package/dist/api/db/index.d.ts.map +0 -1
  528. package/dist/api/db/index.js +0 -5
  529. package/dist/api/db/index.js.map +0 -1
  530. package/dist/api/db/logs.d.ts.map +0 -1
  531. package/dist/api/db/logs.js.map +0 -1
  532. package/dist/api/db/query.d.ts +0 -39
  533. package/dist/api/db/query.d.ts.map +0 -1
  534. package/dist/api/db/query.js +0 -49
  535. package/dist/api/db/query.js.map +0 -1
  536. package/dist/api/db/tables.d.ts +0 -49
  537. package/dist/api/db/tables.d.ts.map +0 -1
  538. package/dist/api/db/tables.js +0 -59
  539. package/dist/api/db/tables.js.map +0 -1
  540. package/dist/api/db/util.d.ts.map +0 -1
  541. package/dist/api/db/util.js.map +0 -1
  542. package/dist/api/env.d.ts.map +0 -1
  543. package/dist/api/env.js.map +0 -1
  544. package/dist/api/eval/get.d.ts.map +0 -1
  545. package/dist/api/eval/get.js.map +0 -1
  546. package/dist/api/eval/index.d.ts +0 -5
  547. package/dist/api/eval/index.d.ts.map +0 -1
  548. package/dist/api/eval/index.js +0 -5
  549. package/dist/api/eval/index.js.map +0 -1
  550. package/dist/api/eval/list.d.ts.map +0 -1
  551. package/dist/api/eval/list.js.map +0 -1
  552. package/dist/api/eval/run-get.d.ts.map +0 -1
  553. package/dist/api/eval/run-get.js.map +0 -1
  554. package/dist/api/eval/run-list.d.ts.map +0 -1
  555. package/dist/api/eval/run-list.js.map +0 -1
  556. package/dist/api/index.d.ts +0 -21
  557. package/dist/api/index.d.ts.map +0 -1
  558. package/dist/api/index.js +0 -21
  559. package/dist/api/index.js.map +0 -1
  560. package/dist/api/logger.d.ts.map +0 -1
  561. package/dist/api/logger.js.map +0 -1
  562. package/dist/api/machine/index.d.ts.map +0 -1
  563. package/dist/api/machine/index.js.map +0 -1
  564. package/dist/api/machine/machine.d.ts.map +0 -1
  565. package/dist/api/machine/machine.js +0 -109
  566. package/dist/api/machine/machine.js.map +0 -1
  567. package/dist/api/machine/util.d.ts.map +0 -1
  568. package/dist/api/machine/util.js.map +0 -1
  569. package/dist/api/org/env-delete.d.ts.map +0 -1
  570. package/dist/api/org/env-delete.js.map +0 -1
  571. package/dist/api/org/env-get.d.ts +0 -33
  572. package/dist/api/org/env-get.d.ts.map +0 -1
  573. package/dist/api/org/env-get.js +0 -26
  574. package/dist/api/org/env-get.js.map +0 -1
  575. package/dist/api/org/env-update.d.ts.map +0 -1
  576. package/dist/api/org/env-update.js.map +0 -1
  577. package/dist/api/org/index.d.ts.map +0 -1
  578. package/dist/api/org/index.js.map +0 -1
  579. package/dist/api/org/list.d.ts.map +0 -1
  580. package/dist/api/org/list.js.map +0 -1
  581. package/dist/api/org/resources.d.ts +0 -141
  582. package/dist/api/org/resources.d.ts.map +0 -1
  583. package/dist/api/org/resources.js +0 -97
  584. package/dist/api/org/resources.js.map +0 -1
  585. package/dist/api/org/util.d.ts.map +0 -1
  586. package/dist/api/org/util.js.map +0 -1
  587. package/dist/api/project/agent.d.ts.map +0 -1
  588. package/dist/api/project/agent.js.map +0 -1
  589. package/dist/api/project/create.d.ts.map +0 -1
  590. package/dist/api/project/create.js.map +0 -1
  591. package/dist/api/project/delete.d.ts.map +0 -1
  592. package/dist/api/project/delete.js +0 -13
  593. package/dist/api/project/delete.js.map +0 -1
  594. package/dist/api/project/deploy.d.ts +0 -490
  595. package/dist/api/project/deploy.d.ts.map +0 -1
  596. package/dist/api/project/deploy.js.map +0 -1
  597. package/dist/api/project/deployment.d.ts.map +0 -1
  598. package/dist/api/project/deployment.js +0 -127
  599. package/dist/api/project/deployment.js.map +0 -1
  600. package/dist/api/project/env-delete.d.ts.map +0 -1
  601. package/dist/api/project/env-delete.js.map +0 -1
  602. package/dist/api/project/env-update.d.ts.map +0 -1
  603. package/dist/api/project/env-update.js.map +0 -1
  604. package/dist/api/project/exists.d.ts.map +0 -1
  605. package/dist/api/project/exists.js.map +0 -1
  606. package/dist/api/project/get.d.ts.map +0 -1
  607. package/dist/api/project/get.js.map +0 -1
  608. package/dist/api/project/hostname.d.ts.map +0 -1
  609. package/dist/api/project/hostname.js +0 -37
  610. package/dist/api/project/hostname.js.map +0 -1
  611. package/dist/api/project/index.d.ts.map +0 -1
  612. package/dist/api/project/index.js.map +0 -1
  613. package/dist/api/project/list.d.ts.map +0 -1
  614. package/dist/api/project/list.js.map +0 -1
  615. package/dist/api/project/malware.d.ts.map +0 -1
  616. package/dist/api/project/malware.js +0 -42
  617. package/dist/api/project/malware.js.map +0 -1
  618. package/dist/api/project/update-region.d.ts.map +0 -1
  619. package/dist/api/project/update-region.js.map +0 -1
  620. package/dist/api/project/util.d.ts.map +0 -1
  621. package/dist/api/project/util.js.map +0 -1
  622. package/dist/api/queue/analytics.d.ts +0 -250
  623. package/dist/api/queue/analytics.d.ts.map +0 -1
  624. package/dist/api/queue/analytics.js +0 -233
  625. package/dist/api/queue/analytics.js.map +0 -1
  626. package/dist/api/queue/destinations.d.ts +0 -202
  627. package/dist/api/queue/destinations.d.ts.map +0 -1
  628. package/dist/api/queue/destinations.js +0 -168
  629. package/dist/api/queue/destinations.js.map +0 -1
  630. package/dist/api/queue/dlq.d.ts +0 -168
  631. package/dist/api/queue/dlq.d.ts.map +0 -1
  632. package/dist/api/queue/dlq.js.map +0 -1
  633. package/dist/api/queue/index.d.ts +0 -56
  634. package/dist/api/queue/index.d.ts.map +0 -1
  635. package/dist/api/queue/index.js +0 -90
  636. package/dist/api/queue/index.js.map +0 -1
  637. package/dist/api/queue/messages.d.ts +0 -503
  638. package/dist/api/queue/messages.d.ts.map +0 -1
  639. package/dist/api/queue/messages.js.map +0 -1
  640. package/dist/api/queue/queues.d.ts +0 -226
  641. package/dist/api/queue/queues.d.ts.map +0 -1
  642. package/dist/api/queue/queues.js.map +0 -1
  643. package/dist/api/queue/sources.d.ts +0 -202
  644. package/dist/api/queue/sources.d.ts.map +0 -1
  645. package/dist/api/queue/sources.js +0 -202
  646. package/dist/api/queue/sources.js.map +0 -1
  647. package/dist/api/queue/types.d.ts +0 -1218
  648. package/dist/api/queue/types.d.ts.map +0 -1
  649. package/dist/api/queue/types.js +0 -1002
  650. package/dist/api/queue/types.js.map +0 -1
  651. package/dist/api/queue/util.d.ts +0 -278
  652. package/dist/api/queue/util.d.ts.map +0 -1
  653. package/dist/api/queue/util.js +0 -233
  654. package/dist/api/queue/util.js.map +0 -1
  655. package/dist/api/queue/validation.d.ts +0 -247
  656. package/dist/api/queue/validation.d.ts.map +0 -1
  657. package/dist/api/queue/validation.js +0 -513
  658. package/dist/api/queue/validation.js.map +0 -1
  659. package/dist/api/queue/websocket.d.ts +0 -172
  660. package/dist/api/queue/websocket.d.ts.map +0 -1
  661. package/dist/api/queue/websocket.js +0 -396
  662. package/dist/api/queue/websocket.js.map +0 -1
  663. package/dist/api/region/create.d.ts.map +0 -1
  664. package/dist/api/region/create.js.map +0 -1
  665. package/dist/api/region/delete.d.ts.map +0 -1
  666. package/dist/api/region/delete.js.map +0 -1
  667. package/dist/api/region/index.d.ts.map +0 -1
  668. package/dist/api/region/index.js.map +0 -1
  669. package/dist/api/region/list.d.ts.map +0 -1
  670. package/dist/api/region/list.js.map +0 -1
  671. package/dist/api/region/resources.d.ts.map +0 -1
  672. package/dist/api/region/resources.js.map +0 -1
  673. package/dist/api/region/util.d.ts.map +0 -1
  674. package/dist/api/region/util.js.map +0 -1
  675. package/dist/api/sandbox/cli-list.d.ts +0 -114
  676. package/dist/api/sandbox/cli-list.d.ts.map +0 -1
  677. package/dist/api/sandbox/cli-list.js +0 -71
  678. package/dist/api/sandbox/cli-list.js.map +0 -1
  679. package/dist/api/sandbox/client.d.ts +0 -192
  680. package/dist/api/sandbox/client.d.ts.map +0 -1
  681. package/dist/api/sandbox/client.js +0 -262
  682. package/dist/api/sandbox/client.js.map +0 -1
  683. package/dist/api/sandbox/create.d.ts +0 -118
  684. package/dist/api/sandbox/create.d.ts.map +0 -1
  685. package/dist/api/sandbox/create.js +0 -211
  686. package/dist/api/sandbox/create.js.map +0 -1
  687. package/dist/api/sandbox/destroy.d.ts +0 -22
  688. package/dist/api/sandbox/destroy.d.ts.map +0 -1
  689. package/dist/api/sandbox/destroy.js +0 -25
  690. package/dist/api/sandbox/destroy.js.map +0 -1
  691. package/dist/api/sandbox/disk-checkpoint.d.ts +0 -104
  692. package/dist/api/sandbox/disk-checkpoint.d.ts.map +0 -1
  693. package/dist/api/sandbox/disk-checkpoint.js +0 -104
  694. package/dist/api/sandbox/disk-checkpoint.js.map +0 -1
  695. package/dist/api/sandbox/execute.d.ts +0 -69
  696. package/dist/api/sandbox/execute.d.ts.map +0 -1
  697. package/dist/api/sandbox/execute.js +0 -103
  698. package/dist/api/sandbox/execute.js.map +0 -1
  699. package/dist/api/sandbox/execution.d.ts +0 -169
  700. package/dist/api/sandbox/execution.d.ts.map +0 -1
  701. package/dist/api/sandbox/execution.js +0 -118
  702. package/dist/api/sandbox/execution.js.map +0 -1
  703. package/dist/api/sandbox/files.d.ts +0 -261
  704. package/dist/api/sandbox/files.d.ts.map +0 -1
  705. package/dist/api/sandbox/files.js +0 -386
  706. package/dist/api/sandbox/files.js.map +0 -1
  707. package/dist/api/sandbox/get.d.ts +0 -283
  708. package/dist/api/sandbox/get.d.ts.map +0 -1
  709. package/dist/api/sandbox/get.js +0 -215
  710. package/dist/api/sandbox/get.js.map +0 -1
  711. package/dist/api/sandbox/getStatus.d.ts +0 -16
  712. package/dist/api/sandbox/getStatus.d.ts.map +0 -1
  713. package/dist/api/sandbox/getStatus.js +0 -32
  714. package/dist/api/sandbox/getStatus.js.map +0 -1
  715. package/dist/api/sandbox/index.d.ts +0 -39
  716. package/dist/api/sandbox/index.d.ts.map +0 -1
  717. package/dist/api/sandbox/index.js +0 -20
  718. package/dist/api/sandbox/index.js.map +0 -1
  719. package/dist/api/sandbox/list.d.ts +0 -293
  720. package/dist/api/sandbox/list.d.ts.map +0 -1
  721. package/dist/api/sandbox/list.js +0 -191
  722. package/dist/api/sandbox/list.js.map +0 -1
  723. package/dist/api/sandbox/pause.d.ts +0 -22
  724. package/dist/api/sandbox/pause.d.ts.map +0 -1
  725. package/dist/api/sandbox/pause.js +0 -25
  726. package/dist/api/sandbox/pause.js.map +0 -1
  727. package/dist/api/sandbox/resolve.d.ts +0 -82
  728. package/dist/api/sandbox/resolve.d.ts.map +0 -1
  729. package/dist/api/sandbox/resolve.js +0 -71
  730. package/dist/api/sandbox/resolve.js.map +0 -1
  731. package/dist/api/sandbox/resume.d.ts +0 -22
  732. package/dist/api/sandbox/resume.d.ts.map +0 -1
  733. package/dist/api/sandbox/resume.js +0 -25
  734. package/dist/api/sandbox/resume.js.map +0 -1
  735. package/dist/api/sandbox/run.d.ts +0 -28
  736. package/dist/api/sandbox/run.d.ts.map +0 -1
  737. package/dist/api/sandbox/run.js +0 -342
  738. package/dist/api/sandbox/run.js.map +0 -1
  739. package/dist/api/sandbox/runtime.d.ts +0 -83
  740. package/dist/api/sandbox/runtime.d.ts.map +0 -1
  741. package/dist/api/sandbox/runtime.js +0 -78
  742. package/dist/api/sandbox/runtime.js.map +0 -1
  743. package/dist/api/sandbox/snapshot-build.d.ts.map +0 -1
  744. package/dist/api/sandbox/snapshot-build.js.map +0 -1
  745. package/dist/api/sandbox/snapshot.d.ts +0 -595
  746. package/dist/api/sandbox/snapshot.d.ts.map +0 -1
  747. package/dist/api/sandbox/snapshot.js +0 -598
  748. package/dist/api/sandbox/snapshot.js.map +0 -1
  749. package/dist/api/sandbox/util.d.ts +0 -284
  750. package/dist/api/sandbox/util.d.ts.map +0 -1
  751. package/dist/api/sandbox/util.js +0 -210
  752. package/dist/api/sandbox/util.js.map +0 -1
  753. package/dist/api/services/index.d.ts +0 -2
  754. package/dist/api/services/index.d.ts.map +0 -1
  755. package/dist/api/services/index.js +0 -2
  756. package/dist/api/services/index.js.map +0 -1
  757. package/dist/api/services/stats.d.ts +0 -263
  758. package/dist/api/services/stats.d.ts.map +0 -1
  759. package/dist/api/services/stats.js +0 -144
  760. package/dist/api/services/stats.js.map +0 -1
  761. package/dist/api/session/get.d.ts +0 -169
  762. package/dist/api/session/get.d.ts.map +0 -1
  763. package/dist/api/session/get.js.map +0 -1
  764. package/dist/api/session/index.d.ts +0 -4
  765. package/dist/api/session/index.d.ts.map +0 -1
  766. package/dist/api/session/index.js +0 -4
  767. package/dist/api/session/index.js.map +0 -1
  768. package/dist/api/session/list.d.ts +0 -143
  769. package/dist/api/session/list.d.ts.map +0 -1
  770. package/dist/api/session/list.js +0 -91
  771. package/dist/api/session/list.js.map +0 -1
  772. package/dist/api/session/logs.d.ts.map +0 -1
  773. package/dist/api/session/logs.js.map +0 -1
  774. package/dist/api/session/util.d.ts.map +0 -1
  775. package/dist/api/session/util.js.map +0 -1
  776. package/dist/api/storage/config.d.ts.map +0 -1
  777. package/dist/api/storage/config.js.map +0 -1
  778. package/dist/api/storage/index.d.ts.map +0 -1
  779. package/dist/api/storage/index.js.map +0 -1
  780. package/dist/api/storage/objects.d.ts +0 -155
  781. package/dist/api/storage/objects.d.ts.map +0 -1
  782. package/dist/api/storage/objects.js +0 -148
  783. package/dist/api/storage/objects.js.map +0 -1
  784. package/dist/api/storage/types.d.ts.map +0 -1
  785. package/dist/api/storage/types.js.map +0 -1
  786. package/dist/api/storage/util.d.ts.map +0 -1
  787. package/dist/api/storage/util.js.map +0 -1
  788. package/dist/api/stream/get.d.ts.map +0 -1
  789. package/dist/api/stream/get.js.map +0 -1
  790. package/dist/api/stream/index.d.ts +0 -4
  791. package/dist/api/stream/index.d.ts.map +0 -1
  792. package/dist/api/stream/index.js +0 -4
  793. package/dist/api/stream/index.js.map +0 -1
  794. package/dist/api/stream/list.d.ts +0 -120
  795. package/dist/api/stream/list.d.ts.map +0 -1
  796. package/dist/api/stream/list.js +0 -77
  797. package/dist/api/stream/list.js.map +0 -1
  798. package/dist/api/stream/util.d.ts.map +0 -1
  799. package/dist/api/stream/util.js.map +0 -1
  800. package/dist/api/thread/delete.d.ts.map +0 -1
  801. package/dist/api/thread/delete.js.map +0 -1
  802. package/dist/api/thread/get.d.ts.map +0 -1
  803. package/dist/api/thread/get.js.map +0 -1
  804. package/dist/api/thread/index.d.ts.map +0 -1
  805. package/dist/api/thread/index.js.map +0 -1
  806. package/dist/api/thread/list.d.ts +0 -69
  807. package/dist/api/thread/list.d.ts.map +0 -1
  808. package/dist/api/thread/list.js +0 -51
  809. package/dist/api/thread/list.js.map +0 -1
  810. package/dist/api/thread/util.d.ts.map +0 -1
  811. package/dist/api/thread/util.js.map +0 -1
  812. package/dist/api/user/index.d.ts.map +0 -1
  813. package/dist/api/user/index.js.map +0 -1
  814. package/dist/api/user/util.d.ts.map +0 -1
  815. package/dist/api/user/util.js.map +0 -1
  816. package/dist/api/user/whoami.d.ts.map +0 -1
  817. package/dist/api/user/whoami.js.map +0 -1
  818. package/dist/api/webhook/deliveries.d.ts +0 -94
  819. package/dist/api/webhook/deliveries.d.ts.map +0 -1
  820. package/dist/api/webhook/deliveries.js.map +0 -1
  821. package/dist/api/webhook/destinations.d.ts +0 -136
  822. package/dist/api/webhook/destinations.d.ts.map +0 -1
  823. package/dist/api/webhook/destinations.js.map +0 -1
  824. package/dist/api/webhook/index.d.ts +0 -41
  825. package/dist/api/webhook/index.d.ts.map +0 -1
  826. package/dist/api/webhook/index.js +0 -59
  827. package/dist/api/webhook/index.js.map +0 -1
  828. package/dist/api/webhook/receipts.d.ts.map +0 -1
  829. package/dist/api/webhook/receipts.js.map +0 -1
  830. package/dist/api/webhook/types.d.ts +0 -249
  831. package/dist/api/webhook/types.d.ts.map +0 -1
  832. package/dist/api/webhook/types.js +0 -221
  833. package/dist/api/webhook/types.js.map +0 -1
  834. package/dist/api/webhook/util.d.ts.map +0 -1
  835. package/dist/api/webhook/util.js.map +0 -1
  836. package/dist/api/webhook/webhooks.d.ts +0 -146
  837. package/dist/api/webhook/webhooks.d.ts.map +0 -1
  838. package/dist/api/webhook/webhooks.js.map +0 -1
  839. package/dist/services/email.d.ts +0 -901
  840. package/dist/services/email.d.ts.map +0 -1
  841. package/dist/services/email.js +0 -722
  842. package/dist/services/email.js.map +0 -1
  843. package/dist/services/evalrun.d.ts +0 -93
  844. package/dist/services/evalrun.d.ts.map +0 -1
  845. package/dist/services/evalrun.js +0 -24
  846. package/dist/services/evalrun.js.map +0 -1
  847. package/dist/services/keyvalue.d.ts +0 -283
  848. package/dist/services/keyvalue.d.ts.map +0 -1
  849. package/dist/services/keyvalue.js +0 -305
  850. package/dist/services/keyvalue.js.map +0 -1
  851. package/dist/services/queue.d.ts +0 -361
  852. package/dist/services/queue.d.ts.map +0 -1
  853. package/dist/services/queue.js +0 -308
  854. package/dist/services/queue.js.map +0 -1
  855. package/dist/services/sandbox.d.ts +0 -1241
  856. package/dist/services/sandbox.d.ts.map +0 -1
  857. package/dist/services/sandbox.js +0 -6
  858. package/dist/services/sandbox.js.map +0 -1
  859. package/dist/services/schedule.d.ts +0 -501
  860. package/dist/services/schedule.d.ts.map +0 -1
  861. package/dist/services/schedule.js +0 -425
  862. package/dist/services/schedule.js.map +0 -1
  863. package/dist/services/session.d.ts +0 -127
  864. package/dist/services/session.d.ts.map +0 -1
  865. package/dist/services/session.js +0 -42
  866. package/dist/services/session.js.map +0 -1
  867. package/dist/services/stream.d.ts +0 -293
  868. package/dist/services/stream.d.ts.map +0 -1
  869. package/dist/services/stream.js +0 -500
  870. package/dist/services/stream.js.map +0 -1
  871. package/dist/services/task.d.ts +0 -1337
  872. package/dist/services/task.d.ts.map +0 -1
  873. package/dist/services/task.js +0 -1397
  874. package/dist/services/task.js.map +0 -1
  875. package/dist/services/vector.d.ts +0 -498
  876. package/dist/services/vector.d.ts.map +0 -1
  877. package/dist/services/vector.js +0 -381
  878. package/dist/services/vector.js.map +0 -1
  879. package/dist/services/webhook.d.ts +0 -454
  880. package/dist/services/webhook.d.ts.map +0 -1
  881. package/dist/services/webhook.js +0 -589
  882. package/dist/services/webhook.js.map +0 -1
  883. package/src/api/api.ts +0 -931
  884. package/src/api/apikey/create.ts +0 -41
  885. package/src/api/apikey/list.ts +0 -64
  886. package/src/api/config.ts +0 -60
  887. package/src/api/db/index.ts +0 -27
  888. package/src/api/db/query.ts +0 -67
  889. package/src/api/db/tables.ts +0 -92
  890. package/src/api/eval/index.ts +0 -28
  891. package/src/api/index.ts +0 -20
  892. package/src/api/machine/machine.ts +0 -160
  893. package/src/api/org/env-get.ts +0 -43
  894. package/src/api/org/resources.ts +0 -140
  895. package/src/api/project/delete.ts +0 -25
  896. package/src/api/project/deploy.ts +0 -458
  897. package/src/api/project/deployment.ts +0 -195
  898. package/src/api/project/hostname.ts +0 -73
  899. package/src/api/project/malware.ts +0 -68
  900. package/src/api/queue/analytics.ts +0 -311
  901. package/src/api/queue/destinations.ts +0 -259
  902. package/src/api/queue/index.ts +0 -308
  903. package/src/api/queue/sources.ts +0 -294
  904. package/src/api/queue/types.ts +0 -1325
  905. package/src/api/queue/util.ts +0 -275
  906. package/src/api/queue/validation.ts +0 -560
  907. package/src/api/queue/websocket.ts +0 -521
  908. package/src/api/sandbox/cli-list.ts +0 -127
  909. package/src/api/sandbox/client.ts +0 -460
  910. package/src/api/sandbox/create.ts +0 -256
  911. package/src/api/sandbox/destroy.ts +0 -41
  912. package/src/api/sandbox/disk-checkpoint.ts +0 -179
  913. package/src/api/sandbox/execute.ts +0 -132
  914. package/src/api/sandbox/execution.ts +0 -183
  915. package/src/api/sandbox/files.ts +0 -596
  916. package/src/api/sandbox/get.ts +0 -249
  917. package/src/api/sandbox/getStatus.ts +0 -54
  918. package/src/api/sandbox/index.ts +0 -211
  919. package/src/api/sandbox/list.ts +0 -224
  920. package/src/api/sandbox/pause.ts +0 -39
  921. package/src/api/sandbox/resolve.ts +0 -98
  922. package/src/api/sandbox/resume.ts +0 -39
  923. package/src/api/sandbox/run.ts +0 -439
  924. package/src/api/sandbox/runtime.ts +0 -104
  925. package/src/api/sandbox/snapshot.ts +0 -781
  926. package/src/api/sandbox/util.ts +0 -275
  927. package/src/api/services/index.ts +0 -1
  928. package/src/api/services/stats.ts +0 -213
  929. package/src/api/session/get.ts +0 -106
  930. package/src/api/session/index.ts +0 -3
  931. package/src/api/session/list.ts +0 -136
  932. package/src/api/storage/objects.ts +0 -250
  933. package/src/api/stream/index.ts +0 -3
  934. package/src/api/stream/list.ts +0 -127
  935. package/src/api/thread/list.ts +0 -76
  936. package/src/api/webhook/index.ts +0 -133
  937. package/src/api/webhook/types.ts +0 -309
  938. package/src/services/email.ts +0 -1410
  939. package/src/services/keyvalue.ts +0 -620
  940. package/src/services/queue.ts +0 -603
  941. package/src/services/sandbox.ts +0 -1466
  942. package/src/services/schedule.ts +0 -763
  943. package/src/services/stream.ts +0 -886
  944. package/src/services/task.ts +0 -2611
  945. package/src/services/vector.ts +0 -1119
  946. package/src/services/webhook.ts +0 -921
  947. /package/dist/{api → services}/apikey/delete.d.ts +0 -0
  948. /package/dist/{api → services}/apikey/delete.js +0 -0
  949. /package/dist/{api → services}/apikey/get.d.ts +0 -0
  950. /package/dist/{api → services}/apikey/get.js +0 -0
  951. /package/dist/{api → services}/apikey/index.d.ts +0 -0
  952. /package/dist/{api → services}/apikey/index.js +0 -0
  953. /package/dist/{api → services}/apikey/util.d.ts +0 -0
  954. /package/dist/{api → services}/apikey/util.js +0 -0
  955. /package/dist/{api → services}/db/logs.d.ts +0 -0
  956. /package/dist/{api → services}/db/logs.js +0 -0
  957. /package/dist/{api → services}/db/util.d.ts +0 -0
  958. /package/dist/{api → services}/db/util.js +0 -0
  959. /package/dist/{api → services}/env.d.ts +0 -0
  960. /package/dist/{api → services}/env.js +0 -0
  961. /package/dist/{api → services}/eval/get.d.ts +0 -0
  962. /package/dist/{api → services}/eval/get.js +0 -0
  963. /package/dist/{api → services}/eval/list.d.ts +0 -0
  964. /package/dist/{api → services}/eval/list.js +0 -0
  965. /package/dist/{api → services}/eval/run-get.d.ts +0 -0
  966. /package/dist/{api → services}/eval/run-get.js +0 -0
  967. /package/dist/{api → services}/eval/run-list.d.ts +0 -0
  968. /package/dist/{api → services}/eval/run-list.js +0 -0
  969. /package/dist/{api → services}/logger.d.ts +0 -0
  970. /package/dist/{api → services}/logger.js +0 -0
  971. /package/dist/{api → services}/machine/index.d.ts +0 -0
  972. /package/dist/{api → services}/machine/index.js +0 -0
  973. /package/dist/{api → services}/machine/machine.d.ts +0 -0
  974. /package/dist/{api → services}/machine/util.d.ts +0 -0
  975. /package/dist/{api → services}/machine/util.js +0 -0
  976. /package/dist/{api → services}/org/env-delete.d.ts +0 -0
  977. /package/dist/{api → services}/org/env-delete.js +0 -0
  978. /package/dist/{api → services}/org/env-update.d.ts +0 -0
  979. /package/dist/{api → services}/org/env-update.js +0 -0
  980. /package/dist/{api → services}/org/index.d.ts +0 -0
  981. /package/dist/{api → services}/org/index.js +0 -0
  982. /package/dist/{api → services}/org/list.d.ts +0 -0
  983. /package/dist/{api → services}/org/list.js +0 -0
  984. /package/dist/{api → services}/org/util.d.ts +0 -0
  985. /package/dist/{api → services}/org/util.js +0 -0
  986. /package/dist/{api → services}/project/agent.d.ts +0 -0
  987. /package/dist/{api → services}/project/agent.js +0 -0
  988. /package/dist/{api → services}/project/create.d.ts +0 -0
  989. /package/dist/{api → services}/project/create.js +0 -0
  990. /package/dist/{api → services}/project/delete.d.ts +0 -0
  991. /package/dist/{api → services}/project/deploy.js +0 -0
  992. /package/dist/{api → services}/project/deployment.d.ts +0 -0
  993. /package/dist/{api → services}/project/env-delete.d.ts +0 -0
  994. /package/dist/{api → services}/project/env-delete.js +0 -0
  995. /package/dist/{api → services}/project/env-update.d.ts +0 -0
  996. /package/dist/{api → services}/project/env-update.js +0 -0
  997. /package/dist/{api → services}/project/exists.d.ts +0 -0
  998. /package/dist/{api → services}/project/exists.js +0 -0
  999. /package/dist/{api → services}/project/get.d.ts +0 -0
  1000. /package/dist/{api → services}/project/get.js +0 -0
  1001. /package/dist/{api → services}/project/hostname.d.ts +0 -0
  1002. /package/dist/{api → services}/project/index.d.ts +0 -0
  1003. /package/dist/{api → services}/project/index.js +0 -0
  1004. /package/dist/{api → services}/project/list.d.ts +0 -0
  1005. /package/dist/{api → services}/project/list.js +0 -0
  1006. /package/dist/{api → services}/project/malware.d.ts +0 -0
  1007. /package/dist/{api → services}/project/update-region.d.ts +0 -0
  1008. /package/dist/{api → services}/project/update-region.js +0 -0
  1009. /package/dist/{api → services}/project/util.d.ts +0 -0
  1010. /package/dist/{api → services}/project/util.js +0 -0
  1011. /package/dist/{api → services}/queue/dlq.js +0 -0
  1012. /package/dist/{api → services}/queue/messages.js +0 -0
  1013. /package/dist/{api → services}/queue/queues.js +0 -0
  1014. /package/dist/{api → services}/region/create.d.ts +0 -0
  1015. /package/dist/{api → services}/region/create.js +0 -0
  1016. /package/dist/{api → services}/region/delete.d.ts +0 -0
  1017. /package/dist/{api → services}/region/delete.js +0 -0
  1018. /package/dist/{api → services}/region/index.d.ts +0 -0
  1019. /package/dist/{api → services}/region/index.js +0 -0
  1020. /package/dist/{api → services}/region/list.d.ts +0 -0
  1021. /package/dist/{api → services}/region/list.js +0 -0
  1022. /package/dist/{api → services}/region/resources.d.ts +0 -0
  1023. /package/dist/{api → services}/region/resources.js +0 -0
  1024. /package/dist/{api → services}/region/util.d.ts +0 -0
  1025. /package/dist/{api → services}/region/util.js +0 -0
  1026. /package/dist/{api → services}/sandbox/snapshot-build.d.ts +0 -0
  1027. /package/dist/{api → services}/sandbox/snapshot-build.js +0 -0
  1028. /package/dist/{api → services}/session/get.js +0 -0
  1029. /package/dist/{api → services}/session/logs.d.ts +0 -0
  1030. /package/dist/{api → services}/session/logs.js +0 -0
  1031. /package/dist/{api → services}/session/util.d.ts +0 -0
  1032. /package/dist/{api → services}/session/util.js +0 -0
  1033. /package/dist/{api → services}/storage/config.d.ts +0 -0
  1034. /package/dist/{api → services}/storage/config.js +0 -0
  1035. /package/dist/{api → services}/storage/index.d.ts +0 -0
  1036. /package/dist/{api → services}/storage/index.js +0 -0
  1037. /package/dist/{api → services}/storage/types.d.ts +0 -0
  1038. /package/dist/{api → services}/storage/types.js +0 -0
  1039. /package/dist/{api → services}/storage/util.d.ts +0 -0
  1040. /package/dist/{api → services}/storage/util.js +0 -0
  1041. /package/dist/{api → services}/stream/get.d.ts +0 -0
  1042. /package/dist/{api → services}/stream/get.js +0 -0
  1043. /package/dist/{api → services}/stream/util.d.ts +0 -0
  1044. /package/dist/{api → services}/stream/util.js +0 -0
  1045. /package/dist/{api → services}/thread/delete.d.ts +0 -0
  1046. /package/dist/{api → services}/thread/delete.js +0 -0
  1047. /package/dist/{api → services}/thread/get.d.ts +0 -0
  1048. /package/dist/{api → services}/thread/get.js +0 -0
  1049. /package/dist/{api → services}/thread/index.d.ts +0 -0
  1050. /package/dist/{api → services}/thread/index.js +0 -0
  1051. /package/dist/{api → services}/thread/util.d.ts +0 -0
  1052. /package/dist/{api → services}/thread/util.js +0 -0
  1053. /package/dist/{api → services}/user/index.d.ts +0 -0
  1054. /package/dist/{api → services}/user/index.js +0 -0
  1055. /package/dist/{api → services}/user/util.d.ts +0 -0
  1056. /package/dist/{api → services}/user/util.js +0 -0
  1057. /package/dist/{api → services}/user/whoami.d.ts +0 -0
  1058. /package/dist/{api → services}/user/whoami.js +0 -0
  1059. /package/dist/{api → services}/webhook/deliveries.js +0 -0
  1060. /package/dist/{api → services}/webhook/destinations.js +0 -0
  1061. /package/dist/{api → services}/webhook/receipts.d.ts +0 -0
  1062. /package/dist/{api → services}/webhook/receipts.js +0 -0
  1063. /package/dist/{api → services}/webhook/util.d.ts +0 -0
  1064. /package/dist/{api → services}/webhook/util.js +0 -0
  1065. /package/dist/{api → services}/webhook/webhooks.js +0 -0
  1066. /package/src/{api → services}/api-example.md +0 -0
  1067. /package/src/{api → services}/apikey/delete.ts +0 -0
  1068. /package/src/{api → services}/apikey/get.ts +0 -0
  1069. /package/src/{api → services}/apikey/index.ts +0 -0
  1070. /package/src/{api → services}/apikey/util.ts +0 -0
  1071. /package/src/{api → services}/db/logs.ts +0 -0
  1072. /package/src/{api → services}/db/util.ts +0 -0
  1073. /package/src/{api → services}/env.ts +0 -0
  1074. /package/src/services/{evalrun.ts → eval/events.ts} +0 -0
  1075. /package/src/{api → services}/eval/get.ts +0 -0
  1076. /package/src/{api → services}/eval/list.ts +0 -0
  1077. /package/src/{api → services}/eval/run-get.ts +0 -0
  1078. /package/src/{api → services}/eval/run-list.ts +0 -0
  1079. /package/src/{api → services}/logger.ts +0 -0
  1080. /package/src/{api → services}/machine/index.ts +0 -0
  1081. /package/src/{api → services}/machine/util.ts +0 -0
  1082. /package/src/{api → services}/org/env-delete.ts +0 -0
  1083. /package/src/{api → services}/org/env-update.ts +0 -0
  1084. /package/src/{api → services}/org/index.ts +0 -0
  1085. /package/src/{api → services}/org/list.ts +0 -0
  1086. /package/src/{api → services}/org/util.ts +0 -0
  1087. /package/src/{api → services}/project/agent.ts +0 -0
  1088. /package/src/{api → services}/project/create.ts +0 -0
  1089. /package/src/{api → services}/project/env-delete.ts +0 -0
  1090. /package/src/{api → services}/project/env-update.ts +0 -0
  1091. /package/src/{api → services}/project/exists.ts +0 -0
  1092. /package/src/{api → services}/project/get.ts +0 -0
  1093. /package/src/{api → services}/project/index.ts +0 -0
  1094. /package/src/{api → services}/project/list.ts +0 -0
  1095. /package/src/{api → services}/project/update-region.ts +0 -0
  1096. /package/src/{api → services}/project/util.ts +0 -0
  1097. /package/src/{api → services}/queue/dlq.ts +0 -0
  1098. /package/src/{api → services}/queue/messages.ts +0 -0
  1099. /package/src/{api → services}/queue/queues.ts +0 -0
  1100. /package/src/{api → services}/region/create.ts +0 -0
  1101. /package/src/{api → services}/region/delete.ts +0 -0
  1102. /package/src/{api → services}/region/index.ts +0 -0
  1103. /package/src/{api → services}/region/list.ts +0 -0
  1104. /package/src/{api → services}/region/resources.ts +0 -0
  1105. /package/src/{api → services}/region/util.ts +0 -0
  1106. /package/src/{api → services}/sandbox/snapshot-build.ts +0 -0
  1107. /package/src/services/{session.ts → session/events.ts} +0 -0
  1108. /package/src/{api → services}/session/logs.ts +0 -0
  1109. /package/src/{api → services}/session/util.ts +0 -0
  1110. /package/src/{api → services}/storage/config.ts +0 -0
  1111. /package/src/{api → services}/storage/index.ts +0 -0
  1112. /package/src/{api → services}/storage/types.ts +0 -0
  1113. /package/src/{api → services}/storage/util.ts +0 -0
  1114. /package/src/{api → services}/stream/get.ts +0 -0
  1115. /package/src/{api → services}/stream/util.ts +0 -0
  1116. /package/src/{api → services}/thread/delete.ts +0 -0
  1117. /package/src/{api → services}/thread/get.ts +0 -0
  1118. /package/src/{api → services}/thread/index.ts +0 -0
  1119. /package/src/{api → services}/thread/util.ts +0 -0
  1120. /package/src/{api → services}/user/index.ts +0 -0
  1121. /package/src/{api → services}/user/util.ts +0 -0
  1122. /package/src/{api → services}/user/whoami.ts +0 -0
  1123. /package/src/{api → services}/webhook/deliveries.ts +0 -0
  1124. /package/src/{api → services}/webhook/destinations.ts +0 -0
  1125. /package/src/{api → services}/webhook/receipts.ts +0 -0
  1126. /package/src/{api → services}/webhook/util.ts +0 -0
  1127. /package/src/{api → services}/webhook/webhooks.ts +0 -0
@@ -0,0 +1,951 @@
1
+ /**
2
+ * API Client for Agentuity Platform
3
+ *
4
+ * Handles HTTP requests to the API with automatic error parsing and User-Agent headers.
5
+ */
6
+
7
+ import { z } from 'zod';
8
+ import type { Logger } from '../logger.ts';
9
+ import { StructuredError } from '../error.ts';
10
+ import { getEnv } from './env.ts';
11
+
12
+ function getVersion(): string {
13
+ return getEnv('AGENTUITY_CLI_VERSION') ?? 'dev';
14
+ }
15
+
16
+ function getUserAgent(): string {
17
+ return `Agentuity SDK/${getVersion()}`;
18
+ }
19
+
20
+ export const APIClientConfigSchema = z.object({
21
+ skipVersionCheck: z
22
+ .boolean()
23
+ .optional()
24
+ .describe('Skip client/server SDK version compatibility checks'),
25
+ userAgent: z.string().optional().describe('Override the default User-Agent header value'),
26
+ maxRetries: z.number().optional().describe('Maximum retry attempts for failed API requests'),
27
+ retryDelayMs: z
28
+ .number()
29
+ .optional()
30
+ .describe('Base delay in milliseconds between retry attempts'),
31
+ headers: z
32
+ .record(z.string(), z.string())
33
+ .optional()
34
+ .describe('Additional default headers to include on API requests'),
35
+ serviceUnavailableTimeoutMs: z
36
+ .number()
37
+ .optional()
38
+ .describe('Maximum milliseconds to keep retrying 502/503 service unavailable responses'),
39
+ });
40
+
41
+ export type APIClientConfig = z.infer<typeof APIClientConfigSchema>;
42
+
43
+ export const ZodIssuesSchema = z
44
+ .array(
45
+ z.object({
46
+ code: z.string().describe('Zod issue code identifying the validation error type.'),
47
+ input: z.unknown().optional().describe('The input value that failed validation.'),
48
+ path: z
49
+ .array(z.union([z.string(), z.number()]))
50
+ .describe('Path to the field that failed validation.'),
51
+ message: z.string().describe('Human-readable error message.'),
52
+ })
53
+ )
54
+ .describe('Array of Zod validation issues.');
55
+
56
+ export type IssuesType = z.infer<typeof ZodIssuesSchema>;
57
+
58
+ const toIssues = (issues: z.core.$ZodIssue[]): IssuesType => {
59
+ return issues.map((issue) => ({
60
+ code: issue.code,
61
+ input: issue.input,
62
+ path: issue.path.map((x) => (typeof x === 'number' ? x : String(x))),
63
+ message: issue.message,
64
+ }));
65
+ };
66
+
67
+ export const APIErrorSchema = z
68
+ .object({
69
+ success: z.boolean().describe('Whether the API request was successful.'),
70
+ code: z.string().optional().describe('Machine-readable error code.'),
71
+ message: z.string().optional().describe('Human-readable error message.'),
72
+ error: z
73
+ .union([
74
+ z.string(),
75
+ z.object({
76
+ name: z.string().optional().describe('Error class name.'),
77
+ issues: ZodIssuesSchema.optional().describe(
78
+ 'Validation issues if the error is a Zod validation failure.'
79
+ ),
80
+ }),
81
+ ])
82
+ .optional()
83
+ .describe(
84
+ 'Error details — either a string message or a structured error with validation issues.'
85
+ ),
86
+ details: z.record(z.string(), z.unknown()).optional().describe('Additional error details.'),
87
+ })
88
+ .describe('Standard API error response.');
89
+
90
+ export const APIError = StructuredError('APIErrorResponse')<{
91
+ url: string;
92
+ status: number;
93
+ sessionId?: string | null;
94
+ }>();
95
+
96
+ export const ValidationInputError = StructuredError(
97
+ 'ValidationInputError',
98
+ 'There was an error validating the API input data.'
99
+ )<{
100
+ url: string;
101
+ issues: IssuesType;
102
+ }>();
103
+
104
+ export const ValidationOutputError = StructuredError(
105
+ 'ValidationOutputError',
106
+ 'There was an unexpected error validating the API response data.'
107
+ )<{
108
+ url: string;
109
+ issues: IssuesType;
110
+ sessionId?: string | null;
111
+ }>();
112
+
113
+ export const UpgradeRequiredError = StructuredError(
114
+ 'UpgradeRequiredError',
115
+ 'Upgrade required to continue. Please run `agentuity upgrade` or see https://agentuity.dev/Get-Started/installation to download the latest version.'
116
+ )<{
117
+ sessionId?: string | null;
118
+ }>();
119
+
120
+ export const MaxRetriesError = StructuredError(
121
+ 'MaxRetriesError',
122
+ 'Max Retries attempted and continued failures exhausted.'
123
+ );
124
+
125
+ export const MisdirectedRequestError = StructuredError(
126
+ 'MisdirectedRequestError',
127
+ 'The request was sent to the wrong regional server.'
128
+ )<{
129
+ url: string;
130
+ region: string;
131
+ sessionId?: string | null;
132
+ }>();
133
+
134
+ export const PaymentRequiredError = StructuredError(
135
+ 'PaymentRequiredError',
136
+ 'This action requires a paid plan. Please upgrade your account to continue.'
137
+ )<{
138
+ url: string;
139
+ sessionId?: string | null;
140
+ upgradeUrl?: string;
141
+ }>();
142
+
143
+ export class APIClient {
144
+ #baseUrl: string;
145
+ #apiKey?: string;
146
+ #config?: APIClientConfig;
147
+ #logger: Logger;
148
+
149
+ constructor(baseUrl: string, logger: Logger, config?: APIClientConfig);
150
+ constructor(baseUrl: string, logger: Logger, apiKey: string, config?: APIClientConfig);
151
+ constructor(
152
+ baseUrl: string,
153
+ logger: Logger,
154
+ apiKeyOrConfig?: string | APIClientConfig,
155
+ config?: APIClientConfig
156
+ ) {
157
+ this.#baseUrl = baseUrl;
158
+ this.#logger = logger;
159
+
160
+ // Detect if third parameter is apiKey (string) or config (object)
161
+ if (typeof apiKeyOrConfig === 'string') {
162
+ this.#apiKey = apiKeyOrConfig;
163
+ this.#config = config;
164
+ } else {
165
+ this.#apiKey = undefined;
166
+ this.#config = apiKeyOrConfig;
167
+ }
168
+ if (!this.#apiKey) {
169
+ const envKey = getEnv('AGENTUITY_SDK_KEY');
170
+ if (envKey) {
171
+ this.#apiKey = envKey;
172
+ }
173
+ }
174
+ }
175
+
176
+ /**
177
+ * GET request
178
+ */
179
+ async get<TResponse = void>(
180
+ endpoint: string,
181
+ responseSchema?: z.ZodType<TResponse>,
182
+ signal?: AbortSignal,
183
+ extraHeaders?: Record<string, string>
184
+ ): Promise<TResponse> {
185
+ return this.request(
186
+ 'GET',
187
+ endpoint,
188
+ responseSchema,
189
+ undefined,
190
+ undefined,
191
+ signal,
192
+ extraHeaders
193
+ );
194
+ }
195
+
196
+ /**
197
+ * POST request with optional body
198
+ */
199
+ async post<TResponse = void, TBody = unknown>(
200
+ endpoint: string,
201
+ body?: TBody,
202
+ responseSchema?: z.ZodType<TResponse>,
203
+ bodySchema?: z.ZodType<TBody>,
204
+ signal?: AbortSignal,
205
+ extraHeaders?: Record<string, string>
206
+ ): Promise<TResponse> {
207
+ return this.request('POST', endpoint, responseSchema, body, bodySchema, signal, extraHeaders);
208
+ }
209
+
210
+ /**
211
+ * PUT request with optional body
212
+ */
213
+ async put<TResponse = void, TBody = unknown>(
214
+ endpoint: string,
215
+ body?: TBody,
216
+ responseSchema?: z.ZodType<TResponse>,
217
+ bodySchema?: z.ZodType<TBody>,
218
+ signal?: AbortSignal,
219
+ extraHeaders?: Record<string, string>
220
+ ): Promise<TResponse> {
221
+ return this.request('PUT', endpoint, responseSchema, body, bodySchema, signal, extraHeaders);
222
+ }
223
+
224
+ /**
225
+ * DELETE request
226
+ */
227
+ async delete<TResponse = void>(
228
+ endpoint: string,
229
+ responseSchema?: z.ZodType<TResponse>,
230
+ signal?: AbortSignal,
231
+ extraHeaders?: Record<string, string>
232
+ ): Promise<TResponse> {
233
+ return this.request(
234
+ 'DELETE',
235
+ endpoint,
236
+ responseSchema,
237
+ undefined,
238
+ undefined,
239
+ signal,
240
+ extraHeaders
241
+ );
242
+ }
243
+
244
+ /**
245
+ * PATCH request with optional body
246
+ */
247
+ async patch<TResponse = void, TBody = unknown>(
248
+ endpoint: string,
249
+ body?: TBody,
250
+ responseSchema?: z.ZodType<TResponse>,
251
+ bodySchema?: z.ZodType<TBody>,
252
+ signal?: AbortSignal,
253
+ extraHeaders?: Record<string, string>
254
+ ): Promise<TResponse> {
255
+ return this.request(
256
+ 'PATCH',
257
+ endpoint,
258
+ responseSchema,
259
+ body,
260
+ bodySchema,
261
+ signal,
262
+ extraHeaders
263
+ );
264
+ }
265
+
266
+ /**
267
+ * Raw GET request that returns the Response object directly.
268
+ * Useful for streaming responses where you need access to the body stream.
269
+ */
270
+ async rawGet(
271
+ endpoint: string,
272
+ signal?: AbortSignal,
273
+ extraHeaders?: Record<string, string>
274
+ ): Promise<Response> {
275
+ return this.#makeRequest('GET', endpoint, undefined, signal, undefined, extraHeaders);
276
+ }
277
+
278
+ /**
279
+ * Raw POST request that returns the Response object directly.
280
+ * Useful for binary uploads where you need to pass raw body data.
281
+ */
282
+ async rawPost(
283
+ endpoint: string,
284
+ body: Uint8Array | ArrayBuffer | ReadableStream<Uint8Array> | string,
285
+ contentType: string,
286
+ signal?: AbortSignal
287
+ ): Promise<Response> {
288
+ return this.#makeRequest('POST', endpoint, body, signal, contentType);
289
+ }
290
+
291
+ /**
292
+ * Raw PUT request that returns the Response object directly.
293
+ * Useful for binary uploads where you need to pass raw body data.
294
+ */
295
+ async rawPut(
296
+ endpoint: string,
297
+ body: Uint8Array | ArrayBuffer | ReadableStream<Uint8Array> | string | Blob,
298
+ contentType: string,
299
+ signal?: AbortSignal,
300
+ extraHeaders?: Record<string, string>
301
+ ): Promise<Response> {
302
+ return this.#makeRequest('PUT', endpoint, body, signal, contentType, extraHeaders);
303
+ }
304
+
305
+ /**
306
+ * Generic request method (prefer HTTP verb methods: get, post, put, delete, patch)
307
+ */
308
+ async request<TResponse = void, TBody = unknown>(
309
+ method: string,
310
+ endpoint: string,
311
+ responseSchema?: z.ZodType<TResponse>,
312
+ body?: TBody,
313
+ bodySchema?: z.ZodType<TBody>,
314
+ signal?: AbortSignal,
315
+ extraHeaders?: Record<string, string>
316
+ ): Promise<TResponse> {
317
+ // Validate request body if schema provided
318
+ if (body !== undefined && bodySchema) {
319
+ const validationResult = bodySchema.safeParse(body);
320
+ if (!validationResult.success) {
321
+ throw new ValidationInputError({
322
+ url: endpoint,
323
+ issues: toIssues(validationResult.error.issues),
324
+ });
325
+ }
326
+ }
327
+
328
+ const response = await this.#makeRequest(
329
+ method,
330
+ endpoint,
331
+ body,
332
+ signal,
333
+ undefined,
334
+ extraHeaders
335
+ );
336
+
337
+ // Handle empty responses (204 or zero-length body)
338
+ let data: unknown;
339
+ if (response.status === 204 || response.headers.get('content-length') === '0') {
340
+ data = null;
341
+ } else {
342
+ const text = await response.text();
343
+ if (text === '') {
344
+ data = null;
345
+ } else {
346
+ const contentType = response.headers.get('content-type');
347
+ if (contentType?.includes('application/json')) {
348
+ data = JSON.parse(text);
349
+ } else {
350
+ data = text;
351
+ }
352
+ }
353
+ }
354
+
355
+ if (responseSchema) {
356
+ // Validate response
357
+ const validationResult = responseSchema.safeParse(data);
358
+ if (!validationResult.success) {
359
+ throw new ValidationOutputError({
360
+ url: endpoint,
361
+ issues: toIssues(validationResult.error.issues),
362
+ sessionId: response.headers.get('x-session-id'),
363
+ });
364
+ }
365
+
366
+ return validationResult.data;
367
+ }
368
+
369
+ return undefined as TResponse;
370
+ }
371
+
372
+ async #makeRequest(
373
+ method: string,
374
+ endpoint: string,
375
+ body?: unknown,
376
+ signal?: AbortSignal,
377
+ contentType?: string,
378
+ extraHeaders?: Record<string, string>
379
+ ): Promise<Response> {
380
+ this.#logger.trace('sending %s to %s%s', method, this.#baseUrl, endpoint);
381
+
382
+ const maxRetries = this.#config?.maxRetries ?? 3;
383
+ const baseDelayMs = this.#config?.retryDelayMs ?? 100;
384
+ const serviceUnavailableTimeoutMs = this.#config?.serviceUnavailableTimeoutMs ?? 30_000;
385
+
386
+ // Track when we first see a 502/503 so we can retry for up to the timeout
387
+ let serviceUnavailableStart: number | null = null;
388
+
389
+ const url = `${this.#baseUrl}${endpoint}`;
390
+ const headers: Record<string, string> = {
391
+ 'Content-Type': contentType ?? 'application/json',
392
+ };
393
+
394
+ // Only set Accept header for JSON requests (not binary uploads)
395
+ if (!contentType || contentType === 'application/json') {
396
+ headers['Accept'] = 'application/json';
397
+ }
398
+
399
+ if (this.#config?.userAgent) {
400
+ headers['User-Agent'] = this.#config.userAgent;
401
+ } else {
402
+ headers['User-Agent'] = getUserAgent();
403
+ }
404
+
405
+ if (this.#apiKey) {
406
+ headers['Authorization'] = `Bearer ${this.#apiKey}`;
407
+ }
408
+
409
+ if (this.#config?.headers) {
410
+ Object.keys(this.#config.headers).forEach((key) => {
411
+ const value = this.#config?.headers?.[key];
412
+ if (value !== undefined) {
413
+ headers[key] = value;
414
+ }
415
+ });
416
+ }
417
+
418
+ // Apply per-request extra headers (e.g., x-agentuity-orgid for CLI auth)
419
+ if (extraHeaders) {
420
+ Object.keys(extraHeaders).forEach((key) => {
421
+ const value = extraHeaders[key];
422
+ if (value !== undefined) {
423
+ headers[key] = value;
424
+ }
425
+ });
426
+ }
427
+
428
+ const canRetry = !(body instanceof ReadableStream); // we cannot safely retry a ReadableStream as body
429
+
430
+ let attempt = 0;
431
+ while (true) {
432
+ try {
433
+ let response: Response;
434
+
435
+ try {
436
+ let requestBody:
437
+ | Uint8Array
438
+ | ArrayBuffer
439
+ | ReadableStream<Uint8Array>
440
+ | string
441
+ | Blob
442
+ | undefined;
443
+ if (body !== undefined) {
444
+ if (contentType && contentType !== 'application/json') {
445
+ requestBody = body as
446
+ | Uint8Array
447
+ | ArrayBuffer
448
+ | ReadableStream<Uint8Array>
449
+ | string
450
+ | Blob;
451
+ } else {
452
+ requestBody = JSON.stringify(body);
453
+ }
454
+ }
455
+
456
+ response = await fetch(url, {
457
+ method,
458
+ headers,
459
+ body: requestBody,
460
+ signal,
461
+ });
462
+ } catch (ex) {
463
+ this.#logger.debug('fetch returned an error trying to access: %s. %s', url, ex);
464
+ const _ex = ex as { code?: string; name: string };
465
+ let retryable = false;
466
+ // Check for retryable network errors
467
+ if (_ex.code === 'ConnectionRefused' || _ex.code === 'ECONNREFUSED') {
468
+ retryable = true;
469
+ } else if (_ex.name === 'TypeError' || ex instanceof TypeError) {
470
+ // TypeError from fetch typically indicates network issues
471
+ retryable = true;
472
+ }
473
+ if (retryable) {
474
+ response = new Response(null, { status: 503 });
475
+ } else {
476
+ throw new APIError({
477
+ url,
478
+ status: 0,
479
+ cause: ex,
480
+ });
481
+ }
482
+ }
483
+
484
+ const sessionId = response.headers.get('x-session-id');
485
+
486
+ // Handle 421 Misdirected Request - the resource is in a different region
487
+ // We need to retry against the correct regional Catalyst
488
+ // Only handle this for Catalyst URLs (not the main API)
489
+ if (response.status === 421 && this.#isCatalystUrl()) {
490
+ const targetRegion = response.headers.get('x-agentuity-region');
491
+ if (targetRegion && canRetry) {
492
+ const regionalUrl = this.#buildRegionalUrl(targetRegion, endpoint);
493
+ this.#logger.debug(
494
+ `Got 421 Misdirected Request, resource is in region ${targetRegion}, retrying against ${regionalUrl} (sessionId: ${sessionId ?? null})`
495
+ );
496
+
497
+ // Retry the request against the correct regional Catalyst
498
+ let requestBody:
499
+ | Uint8Array
500
+ | ArrayBuffer
501
+ | ReadableStream<Uint8Array>
502
+ | string
503
+ | Blob
504
+ | undefined;
505
+ if (body !== undefined) {
506
+ if (contentType && contentType !== 'application/json') {
507
+ requestBody = body as
508
+ | Uint8Array
509
+ | ArrayBuffer
510
+ | ReadableStream<Uint8Array>
511
+ | string
512
+ | Blob;
513
+ } else {
514
+ requestBody = JSON.stringify(body);
515
+ }
516
+ }
517
+
518
+ const regionalResponse = await fetch(regionalUrl, {
519
+ method,
520
+ headers,
521
+ body: requestBody,
522
+ signal,
523
+ });
524
+
525
+ // If the regional request also fails with 421, throw MisdirectedRequestError
526
+ if (regionalResponse.status === 421) {
527
+ throw new MisdirectedRequestError({
528
+ url: regionalUrl,
529
+ region: targetRegion,
530
+ sessionId: regionalResponse.headers.get('x-session-id'),
531
+ });
532
+ }
533
+
534
+ // For all other responses (success or error), assign to response
535
+ // and let the normal flow handle it (error handling, validation, etc.)
536
+ response = regionalResponse;
537
+ } else {
538
+ // No region header or can't retry - throw error
539
+ throw new MisdirectedRequestError({
540
+ url,
541
+ region: targetRegion ?? 'unknown',
542
+ sessionId,
543
+ });
544
+ }
545
+ }
546
+
547
+ // 502/503 indicate the service is restarting (hot-swap) — retry
548
+ // for up to serviceUnavailableTimeoutMs (default 30s) with a
549
+ // slower backoff (1s base) so we survive typical restart windows.
550
+ const isServiceUnavailable = response.status === 502 || response.status === 503;
551
+
552
+ if (isServiceUnavailable && canRetry) {
553
+ if (serviceUnavailableStart === null) {
554
+ serviceUnavailableStart = Date.now();
555
+ }
556
+ const elapsed = Date.now() - serviceUnavailableStart;
557
+ if (elapsed < serviceUnavailableTimeoutMs) {
558
+ // Use 1s base delay with exponential backoff, capped at 5s
559
+ const delayMs = Math.min(this.#getRetryDelay(attempt, 1000), 5000);
560
+ this.#logger.debug(
561
+ `Got ${response.status} sending to ${url}, service unavailable for ${Math.round(elapsed / 1000)}s, retrying (will delay ${delayMs}ms), sessionId: ${sessionId ?? null}`
562
+ );
563
+ await this.#sleep(delayMs);
564
+ attempt++;
565
+ continue;
566
+ }
567
+ }
568
+
569
+ // Check if we should retry on specific status codes (409, 501)
570
+ const retryableStatuses = [409, 501];
571
+ if (canRetry && retryableStatuses.includes(response.status) && attempt < maxRetries) {
572
+ let delayMs = this.#getRetryDelay(attempt, baseDelayMs);
573
+
574
+ // For 409, check for rate limit headers
575
+ if (response.status === 409) {
576
+ const rateLimitDelay = this.#getRateLimitDelay(response);
577
+ if (rateLimitDelay !== null) {
578
+ delayMs = rateLimitDelay;
579
+ this.#logger.debug(
580
+ `Got 409 sending to ${url} with rate limit headers, waiting ${delayMs}ms (attempt ${attempt + 1}/${maxRetries + 1}, will delay ${delayMs}ms), sessionId: ${sessionId ?? null}`
581
+ );
582
+ } else {
583
+ this.#logger.debug(
584
+ `Got 409 sending to ${url}, retrying with backoff ${delayMs}ms (attempt ${attempt + 1}/${maxRetries + 1}, will delay ${delayMs}ms), sessionId: ${sessionId ?? null}`
585
+ );
586
+ }
587
+ } else {
588
+ this.#logger.debug(
589
+ `Got ${response.status} sending to ${url}, retrying (attempt ${attempt + 1}/${maxRetries + 1}, will delay ${delayMs}ms), sessionId: ${sessionId ?? null}`
590
+ );
591
+ }
592
+
593
+ await this.#sleep(delayMs);
594
+
595
+ this.#logger.debug(`after sleep for ${url}, sessionId: ${sessionId ?? null}`);
596
+
597
+ attempt++;
598
+ continue;
599
+ }
600
+
601
+ // Handle error responses
602
+ if (!response.ok) {
603
+ const responseBody = await response.text();
604
+ const contentType = response.headers.get('content-type');
605
+
606
+ let errorData: z.infer<typeof APIErrorSchema> | undefined;
607
+
608
+ // Only attempt to parse as JSON if the content type indicates JSON
609
+ const isJsonResponse =
610
+ contentType?.includes('application/json') || contentType?.includes('+json');
611
+
612
+ if (isJsonResponse) {
613
+ try {
614
+ errorData = APIErrorSchema.parse(JSON.parse(responseBody));
615
+ } catch (parseEx) {
616
+ // Log at debug level since this is a contract violation from the server
617
+ this.#logger.debug(
618
+ 'Failed to parse JSON error response from API: %s (url: %s, sessionId: %s)',
619
+ parseEx,
620
+ url,
621
+ sessionId
622
+ );
623
+ }
624
+ } else {
625
+ // Non-JSON response (e.g., HTML error page), skip structured error parsing
626
+ this.#logger.debug(
627
+ 'Received non-JSON error response (content-type: %s), skipping structured error parsing (url: %s, sessionId: %s)',
628
+ contentType ?? 'unknown',
629
+ url,
630
+ sessionId
631
+ );
632
+ }
633
+
634
+ // Sanitize headers to avoid leaking API keys
635
+ const sanitizedHeaders = { ...headers };
636
+ for (const key in sanitizedHeaders) {
637
+ const lk = key.toLowerCase();
638
+ if (
639
+ lk === 'authorization' ||
640
+ lk === 'x-api-key' ||
641
+ lk.includes('secret') ||
642
+ lk.includes('key') ||
643
+ lk.includes('token')
644
+ ) {
645
+ sanitizedHeaders[key] = 'REDACTED';
646
+ }
647
+ }
648
+
649
+ this.#logger.debug('API Error Details:');
650
+ this.#logger.debug(' URL:', url);
651
+ this.#logger.debug(' Method:', method);
652
+ this.#logger.debug(' Status:', response.status, response.statusText);
653
+ this.#logger.debug(' Headers:', JSON.stringify(sanitizedHeaders, null, 2));
654
+ this.#logger.debug(' Response:', responseBody);
655
+
656
+ // HTTP 426 always forces upgrade (cannot be skipped - emergency upgrade path)
657
+ if (response.status === 426) {
658
+ throw new UpgradeRequiredError({ sessionId });
659
+ }
660
+
661
+ // HTTP 402 Payment Required - user needs to upgrade their plan
662
+ if (response.status === 402) {
663
+ const upgradeUrl = response.headers.get('x-upgrade-url');
664
+ throw new PaymentRequiredError({
665
+ url,
666
+ sessionId,
667
+ upgradeUrl: upgradeUrl ?? undefined,
668
+ });
669
+ }
670
+
671
+ // Check for UPGRADE_REQUIRED error
672
+ if (errorData?.code === 'UPGRADE_REQUIRED') {
673
+ // Skip version check if configured
674
+ if (this.#config?.skipVersionCheck) {
675
+ this.#logger.debug('Skipping version check (configured to skip)');
676
+ // Request is still rejected, but throw UpgradeRequiredError so callers
677
+ // can detect it and handle UI behavior (e.g., suppress banner) based on skip flag
678
+ throw new UpgradeRequiredError({ sessionId });
679
+ }
680
+
681
+ throw new UpgradeRequiredError({ sessionId });
682
+ }
683
+
684
+ // Handle Zod validation errors from the API
685
+ if (
686
+ typeof errorData?.error === 'object' &&
687
+ errorData?.error?.name === 'ZodError' &&
688
+ errorData.error.issues
689
+ ) {
690
+ throw new ValidationOutputError({
691
+ url,
692
+ issues: errorData.error.issues,
693
+ sessionId,
694
+ });
695
+ }
696
+
697
+ // Throw with message from API if available
698
+ if (errorData?.message) {
699
+ throw new APIError({
700
+ url,
701
+ status: response.status,
702
+ message:
703
+ typeof errorData.error === 'string'
704
+ ? errorData.error
705
+ : (errorData.message ??
706
+ 'The API encountered an unexpected error attempting to reach the service.'),
707
+ sessionId,
708
+ });
709
+ }
710
+
711
+ // Provide status-aware fallback messages when no structured error data is available
712
+ throw new APIError({
713
+ message: this.#getStatusAwareErrorMessage(
714
+ response.status,
715
+ isJsonResponse ?? false
716
+ ),
717
+ url: url,
718
+ status: response.status,
719
+ sessionId,
720
+ });
721
+ }
722
+
723
+ this.#logger.debug('%s succeeded with status: %d', url, response.status);
724
+
725
+ // Successful response; handle empty bodies (e.g., 204 No Content)
726
+ if (response.status === 204 || response.headers.get('content-length') === '0') {
727
+ return new Response(null, { status: 204 });
728
+ }
729
+
730
+ return response;
731
+ } catch (error) {
732
+ this.#logger.debug('error sending to %s: %s', url, error);
733
+
734
+ // Check if it's a retryable connection error
735
+ const isRetryable = this.#isRetryableError(error);
736
+
737
+ if (isRetryable && attempt < maxRetries) {
738
+ this.#logger.debug(
739
+ `Connection error, retrying (attempt ${attempt + 1}/${maxRetries + 1}):`,
740
+ error
741
+ );
742
+ await this.#sleep(this.#getRetryDelay(attempt, baseDelayMs));
743
+ attempt++;
744
+ continue;
745
+ }
746
+
747
+ throw error;
748
+ }
749
+ }
750
+ }
751
+
752
+ #isRetryableError(error: unknown): boolean {
753
+ if (error && typeof error === 'object') {
754
+ const err = error as { code?: string; errno?: number };
755
+ // Retryable connection errors
756
+ return (
757
+ err.code === 'ECONNRESET' ||
758
+ err.code === 'ETIMEDOUT' ||
759
+ err.code === 'ECONNREFUSED' ||
760
+ err.code === 'ENOTFOUND'
761
+ );
762
+ }
763
+ return false;
764
+ }
765
+
766
+ #getRetryDelay(attempt: number, baseDelayMs: number): number {
767
+ // Exponential backoff with jitter: delay = base * 2^attempt * (0.5 + random(0, 0.5))
768
+ const exponentialDelay = baseDelayMs * Math.pow(2, attempt);
769
+ const jitter = 0.5 + Math.random() * 0.5;
770
+ return Math.floor(exponentialDelay * jitter);
771
+ }
772
+
773
+ #sleep(ms: number): Promise<void> {
774
+ return new Promise((resolve) => setTimeout(resolve, ms));
775
+ }
776
+
777
+ /**
778
+ * Check if the base URL is a Catalyst URL.
779
+ * We only handle 421 Misdirected Request for Catalyst URLs, not the main API.
780
+ */
781
+ #isCatalystUrl(): boolean {
782
+ try {
783
+ const url = new URL(this.#baseUrl);
784
+ return url.hostname.includes('catalyst');
785
+ } catch {
786
+ return false;
787
+ }
788
+ }
789
+
790
+ /**
791
+ * Build a URL for a specific regional Catalyst instance.
792
+ * Used when retrying requests that received 421 Misdirected Request.
793
+ */
794
+ #buildRegionalUrl(region: string, endpoint: string): string {
795
+ // Determine the domain suffix based on region
796
+ const isLocal = region === 'local' || region === 'l';
797
+ const domainSuffix = isLocal ? 'agentuity.io' : 'agentuity.cloud';
798
+
799
+ // Build the regional Catalyst URL
800
+ // For local: https://catalyst.agentuity.io
801
+ // For production: https://catalyst-{region}.agentuity.cloud
802
+ const baseUrl = isLocal
803
+ ? `https://catalyst.${domainSuffix}`
804
+ : `https://catalyst-${region}.${domainSuffix}`;
805
+
806
+ return `${baseUrl}${endpoint}`;
807
+ }
808
+
809
+ #getRateLimitDelay(response: Response): number | null {
810
+ // Check for Retry-After header (standard HTTP)
811
+ const retryAfter = response.headers.get('Retry-After');
812
+ if (retryAfter) {
813
+ // Can be either seconds or HTTP date
814
+ const seconds = parseInt(retryAfter, 10);
815
+ if (!Number.isNaN(seconds)) {
816
+ return seconds * 1000; // Convert to milliseconds
817
+ }
818
+ // Try parsing as HTTP date
819
+ const retryDate = new Date(retryAfter);
820
+ if (!Number.isNaN(retryDate.getTime())) {
821
+ const delayMs = retryDate.getTime() - Date.now();
822
+ return Math.max(0, delayMs);
823
+ }
824
+ }
825
+
826
+ // Check for X-RateLimit-Reset (Unix timestamp in seconds)
827
+ const rateLimitReset = response.headers.get('X-RateLimit-Reset');
828
+ if (rateLimitReset) {
829
+ const resetTime = parseInt(rateLimitReset, 10);
830
+ if (!Number.isNaN(resetTime)) {
831
+ const delayMs = resetTime * 1000 - Date.now();
832
+ return Math.max(0, delayMs);
833
+ }
834
+ }
835
+
836
+ // Check for X-RateLimit-Retry-After (seconds)
837
+ const rateLimitRetryAfter = response.headers.get('X-RateLimit-Retry-After');
838
+ if (rateLimitRetryAfter) {
839
+ const seconds = parseInt(rateLimitRetryAfter, 10);
840
+ if (!Number.isNaN(seconds)) {
841
+ return seconds * 1000;
842
+ }
843
+ }
844
+
845
+ return null;
846
+ }
847
+
848
+ #getStatusAwareErrorMessage(status: number, isJsonResponse: boolean): string {
849
+ // Provide helpful, status-specific error messages
850
+ switch (status) {
851
+ case 400:
852
+ return 'The API request was invalid (HTTP 400). Please check your request parameters.';
853
+ case 401:
854
+ return 'Authentication failed (HTTP 401). Please check your credentials or try logging in again.';
855
+ case 402:
856
+ return 'This action requires a paid plan. Please upgrade your account at https://app.agentuity.com/billing to continue.';
857
+ case 403:
858
+ return 'Access denied (HTTP 403). You do not have permission to perform this action.';
859
+ case 404:
860
+ return isJsonResponse
861
+ ? 'The requested resource was not found (HTTP 404).'
862
+ : 'The API endpoint was not found (HTTP 404). Please verify your API URL configuration is correct.';
863
+ case 409:
864
+ return 'A conflict occurred (HTTP 409). The resource may already exist or be in use.';
865
+ case 429:
866
+ return 'Too many requests (HTTP 429). Please wait a moment and try again.';
867
+ case 500:
868
+ return 'The API server encountered an internal error (HTTP 500). Please try again later.';
869
+ case 502:
870
+ return 'The API service is temporarily unavailable (HTTP 502). Please try again later.';
871
+ case 503:
872
+ return 'The API service is currently unavailable (HTTP 503). Please try again later.';
873
+ case 504:
874
+ return 'The API request timed out (HTTP 504). Please try again later.';
875
+ default:
876
+ return `The API returned an unexpected error (HTTP ${status}).`;
877
+ }
878
+ }
879
+ }
880
+
881
+ export function getAPIBaseURL(region?: string, overrides?: { api_url?: string }): string {
882
+ const envUrl = getEnv('AGENTUITY_API_URL');
883
+ if (envUrl) {
884
+ return envUrl;
885
+ }
886
+
887
+ if (overrides?.api_url) {
888
+ return overrides.api_url;
889
+ }
890
+
891
+ if (region === 'local') {
892
+ return 'https://api.agentuity.io';
893
+ }
894
+
895
+ return 'https://api.agentuity.com';
896
+ }
897
+
898
+ export function getAppBaseURL(region?: string, overrides?: { app_url?: string } | null): string {
899
+ const envUrl = getEnv('AGENTUITY_APP_URL');
900
+ if (envUrl) {
901
+ return envUrl;
902
+ }
903
+
904
+ if (overrides?.app_url) {
905
+ return overrides.app_url;
906
+ }
907
+
908
+ if (region === 'local') {
909
+ return 'https://app.agentuity.io';
910
+ }
911
+
912
+ return 'https://app.agentuity.com';
913
+ }
914
+
915
+ export const APIResponseSchema = <T extends z.ZodType>(dataSchema: T) =>
916
+ z.discriminatedUnion('success', [
917
+ z.object({
918
+ success: z.literal<false>(false).describe('Indicates the API request failed.'),
919
+ message: z.string().describe('the error message'),
920
+ code: z.string().optional().describe('machine-readable error code'),
921
+ }),
922
+ z.object({
923
+ success: z.literal<true>(true).describe('Indicates the API request succeeded.'),
924
+ data: dataSchema.describe('The response data.'),
925
+ }),
926
+ ]);
927
+
928
+ export const APIResponseSchemaOptionalData = <T extends z.ZodType>(dataSchema: T) =>
929
+ z.discriminatedUnion('success', [
930
+ z.object({
931
+ success: z.literal<false>(false).describe('Indicates the API request failed.'),
932
+ message: z.string().describe('the error message'),
933
+ code: z.string().optional().describe('machine-readable error code'),
934
+ }),
935
+ z.object({
936
+ success: z.literal<true>(true).describe('Indicates the API request succeeded.'),
937
+ data: dataSchema.optional().describe('The response data, if available.'),
938
+ }),
939
+ ]);
940
+
941
+ export const APIResponseSchemaNoData = () =>
942
+ z.discriminatedUnion('success', [
943
+ z.object({
944
+ success: z.literal<false>(false).describe('Indicates the API request failed.'),
945
+ message: z.string().describe('the error message'),
946
+ code: z.string().optional().describe('machine-readable error code'),
947
+ }),
948
+ z.object({
949
+ success: z.literal<true>(true).describe('Indicates the API request succeeded.'),
950
+ }),
951
+ ]);