@agentuity/server 1.0.1 → 1.0.3

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 (356) hide show
  1. package/AGENTS.md +38 -34
  2. package/dist/api/api.d.ts +32 -2
  3. package/dist/api/api.d.ts.map +1 -1
  4. package/dist/api/api.js +14 -2
  5. package/dist/api/api.js.map +1 -1
  6. package/dist/api/apikey/create.d.ts +12 -2
  7. package/dist/api/apikey/create.d.ts.map +1 -1
  8. package/dist/api/apikey/create.js +2 -2
  9. package/dist/api/apikey/create.js.map +1 -1
  10. package/dist/api/apikey/delete.d.ts +9 -0
  11. package/dist/api/apikey/delete.d.ts.map +1 -1
  12. package/dist/api/apikey/delete.js +1 -1
  13. package/dist/api/apikey/delete.js.map +1 -1
  14. package/dist/api/apikey/get.d.ts +21 -2
  15. package/dist/api/apikey/get.d.ts.map +1 -1
  16. package/dist/api/apikey/get.js +2 -2
  17. package/dist/api/apikey/get.js.map +1 -1
  18. package/dist/api/apikey/index.d.ts +1 -0
  19. package/dist/api/apikey/index.d.ts.map +1 -1
  20. package/dist/api/apikey/index.js +1 -0
  21. package/dist/api/apikey/index.js.map +1 -1
  22. package/dist/api/apikey/list.d.ts +1 -2
  23. package/dist/api/apikey/list.d.ts.map +1 -1
  24. package/dist/api/apikey/list.js +1 -1
  25. package/dist/api/apikey/list.js.map +1 -1
  26. package/dist/api/db/index.d.ts +4 -4
  27. package/dist/api/db/index.d.ts.map +1 -1
  28. package/dist/api/db/index.js +4 -4
  29. package/dist/api/db/index.js.map +1 -1
  30. package/dist/api/db/logs.d.ts +34 -3
  31. package/dist/api/db/logs.d.ts.map +1 -1
  32. package/dist/api/db/logs.js +4 -4
  33. package/dist/api/db/logs.js.map +1 -1
  34. package/dist/api/db/query.d.ts +14 -1
  35. package/dist/api/db/query.d.ts.map +1 -1
  36. package/dist/api/db/query.js +2 -2
  37. package/dist/api/db/query.js.map +1 -1
  38. package/dist/api/db/tables.d.ts +21 -2
  39. package/dist/api/db/tables.d.ts.map +1 -1
  40. package/dist/api/db/tables.js +2 -2
  41. package/dist/api/db/tables.js.map +1 -1
  42. package/dist/api/eval/get.d.ts +21 -3
  43. package/dist/api/eval/get.d.ts.map +1 -1
  44. package/dist/api/eval/get.js +2 -2
  45. package/dist/api/eval/get.js.map +1 -1
  46. package/dist/api/eval/index.d.ts +4 -4
  47. package/dist/api/eval/index.d.ts.map +1 -1
  48. package/dist/api/eval/index.js +4 -4
  49. package/dist/api/eval/index.js.map +1 -1
  50. package/dist/api/eval/list.d.ts +31 -3
  51. package/dist/api/eval/list.d.ts.map +1 -1
  52. package/dist/api/eval/list.js +3 -3
  53. package/dist/api/eval/list.js.map +1 -1
  54. package/dist/api/eval/run-get.d.ts +27 -3
  55. package/dist/api/eval/run-get.d.ts.map +1 -1
  56. package/dist/api/eval/run-get.js +2 -2
  57. package/dist/api/eval/run-get.js.map +1 -1
  58. package/dist/api/eval/run-list.d.ts +43 -3
  59. package/dist/api/eval/run-list.d.ts.map +1 -1
  60. package/dist/api/eval/run-list.js +3 -3
  61. package/dist/api/eval/run-list.js.map +1 -1
  62. package/dist/api/index.d.ts +1 -0
  63. package/dist/api/index.d.ts.map +1 -1
  64. package/dist/api/index.js +1 -0
  65. package/dist/api/index.js.map +1 -1
  66. package/dist/api/machine/machine.d.ts +134 -3
  67. package/dist/api/machine/machine.d.ts.map +1 -1
  68. package/dist/api/machine/machine.js +11 -11
  69. package/dist/api/machine/machine.js.map +1 -1
  70. package/dist/api/org/env-delete.d.ts +10 -3
  71. package/dist/api/org/env-delete.d.ts.map +1 -1
  72. package/dist/api/org/env-delete.js +2 -2
  73. package/dist/api/org/env-delete.js.map +1 -1
  74. package/dist/api/org/env-get.d.ts +14 -1
  75. package/dist/api/org/env-get.d.ts.map +1 -1
  76. package/dist/api/org/env-get.js +2 -2
  77. package/dist/api/org/env-get.js.map +1 -1
  78. package/dist/api/org/env-update.d.ts +10 -3
  79. package/dist/api/org/env-update.d.ts.map +1 -1
  80. package/dist/api/org/env-update.js +2 -2
  81. package/dist/api/org/env-update.js.map +1 -1
  82. package/dist/api/org/list.d.ts +2 -3
  83. package/dist/api/org/list.d.ts.map +1 -1
  84. package/dist/api/org/list.js +2 -2
  85. package/dist/api/org/list.js.map +1 -1
  86. package/dist/api/org/resources.d.ts +4 -5
  87. package/dist/api/org/resources.d.ts.map +1 -1
  88. package/dist/api/org/resources.js +4 -4
  89. package/dist/api/org/resources.js.map +1 -1
  90. package/dist/api/project/agent.d.ts +55 -2
  91. package/dist/api/project/agent.d.ts.map +1 -1
  92. package/dist/api/project/agent.js +3 -3
  93. package/dist/api/project/agent.js.map +1 -1
  94. package/dist/api/project/create.d.ts +5 -6
  95. package/dist/api/project/create.d.ts.map +1 -1
  96. package/dist/api/project/create.js +3 -3
  97. package/dist/api/project/create.js.map +1 -1
  98. package/dist/api/project/delete.d.ts +13 -1
  99. package/dist/api/project/delete.d.ts.map +1 -1
  100. package/dist/api/project/delete.js +2 -2
  101. package/dist/api/project/delete.js.map +1 -1
  102. package/dist/api/project/deploy.d.ts +233 -9
  103. package/dist/api/project/deploy.d.ts.map +1 -1
  104. package/dist/api/project/deploy.js +23 -23
  105. package/dist/api/project/deploy.js.map +1 -1
  106. package/dist/api/project/deployment.d.ts +163 -3
  107. package/dist/api/project/deployment.d.ts.map +1 -1
  108. package/dist/api/project/deployment.js +8 -8
  109. package/dist/api/project/deployment.js.map +1 -1
  110. package/dist/api/project/env-delete.d.ts +10 -3
  111. package/dist/api/project/env-delete.d.ts.map +1 -1
  112. package/dist/api/project/env-delete.js +6 -2
  113. package/dist/api/project/env-delete.js.map +1 -1
  114. package/dist/api/project/env-update.d.ts +17 -3
  115. package/dist/api/project/env-update.d.ts.map +1 -1
  116. package/dist/api/project/env-update.js +2 -2
  117. package/dist/api/project/env-update.js.map +1 -1
  118. package/dist/api/project/exists.d.ts +4 -5
  119. package/dist/api/project/exists.d.ts.map +1 -1
  120. package/dist/api/project/exists.js +3 -3
  121. package/dist/api/project/exists.js.map +1 -1
  122. package/dist/api/project/get.d.ts +22 -4
  123. package/dist/api/project/get.d.ts.map +1 -1
  124. package/dist/api/project/get.js +3 -3
  125. package/dist/api/project/get.js.map +1 -1
  126. package/dist/api/project/list.d.ts +13 -5
  127. package/dist/api/project/list.d.ts.map +1 -1
  128. package/dist/api/project/list.js +4 -3
  129. package/dist/api/project/list.js.map +1 -1
  130. package/dist/api/project/malware.d.ts +41 -7
  131. package/dist/api/project/malware.d.ts.map +1 -1
  132. package/dist/api/project/malware.js +9 -9
  133. package/dist/api/project/malware.js.map +1 -1
  134. package/dist/api/project/update-region.d.ts +15 -1
  135. package/dist/api/project/update-region.d.ts.map +1 -1
  136. package/dist/api/project/update-region.js +2 -2
  137. package/dist/api/project/update-region.js.map +1 -1
  138. package/dist/api/queue/analytics.d.ts +144 -2
  139. package/dist/api/queue/analytics.d.ts.map +1 -1
  140. package/dist/api/queue/analytics.js +5 -5
  141. package/dist/api/queue/analytics.js.map +1 -1
  142. package/dist/api/queue/destinations.d.ts +96 -2
  143. package/dist/api/queue/destinations.d.ts.map +1 -1
  144. package/dist/api/queue/destinations.js +7 -7
  145. package/dist/api/queue/destinations.js.map +1 -1
  146. package/dist/api/queue/dlq.d.ts +70 -2
  147. package/dist/api/queue/dlq.d.ts.map +1 -1
  148. package/dist/api/queue/dlq.js +5 -5
  149. package/dist/api/queue/dlq.js.map +1 -1
  150. package/dist/api/queue/index.d.ts +9 -9
  151. package/dist/api/queue/index.d.ts.map +1 -1
  152. package/dist/api/queue/index.js +11 -11
  153. package/dist/api/queue/index.js.map +1 -1
  154. package/dist/api/queue/messages.d.ts +173 -2
  155. package/dist/api/queue/messages.d.ts.map +1 -1
  156. package/dist/api/queue/messages.js +10 -10
  157. package/dist/api/queue/messages.js.map +1 -1
  158. package/dist/api/queue/queues.d.ts +75 -2
  159. package/dist/api/queue/queues.d.ts.map +1 -1
  160. package/dist/api/queue/queues.js +6 -6
  161. package/dist/api/queue/queues.js.map +1 -1
  162. package/dist/api/queue/sources.d.ts +72 -2
  163. package/dist/api/queue/sources.d.ts.map +1 -1
  164. package/dist/api/queue/sources.js +6 -6
  165. package/dist/api/queue/sources.js.map +1 -1
  166. package/dist/api/region/create.d.ts +18 -4
  167. package/dist/api/region/create.d.ts.map +1 -1
  168. package/dist/api/region/create.js +5 -5
  169. package/dist/api/region/create.js.map +1 -1
  170. package/dist/api/region/delete.d.ts +17 -4
  171. package/dist/api/region/delete.d.ts.map +1 -1
  172. package/dist/api/region/delete.js +5 -5
  173. package/dist/api/region/delete.js.map +1 -1
  174. package/dist/api/region/list.d.ts +2 -3
  175. package/dist/api/region/list.d.ts.map +1 -1
  176. package/dist/api/region/list.js +2 -2
  177. package/dist/api/region/list.js.map +1 -1
  178. package/dist/api/region/resources.d.ts +2 -3
  179. package/dist/api/region/resources.d.ts.map +1 -1
  180. package/dist/api/region/resources.js +2 -2
  181. package/dist/api/region/resources.js.map +1 -1
  182. package/dist/api/sandbox/cli-list.d.ts +98 -0
  183. package/dist/api/sandbox/cli-list.d.ts.map +1 -0
  184. package/dist/api/sandbox/cli-list.js +63 -0
  185. package/dist/api/sandbox/cli-list.js.map +1 -0
  186. package/dist/api/sandbox/create.d.ts +82 -1
  187. package/dist/api/sandbox/create.d.ts.map +1 -1
  188. package/dist/api/sandbox/create.js +14 -10
  189. package/dist/api/sandbox/create.js.map +1 -1
  190. package/dist/api/sandbox/destroy.d.ts +9 -1
  191. package/dist/api/sandbox/destroy.d.ts.map +1 -1
  192. package/dist/api/sandbox/destroy.js +2 -2
  193. package/dist/api/sandbox/destroy.js.map +1 -1
  194. package/dist/api/sandbox/execute.d.ts +49 -1
  195. package/dist/api/sandbox/execute.d.ts.map +1 -1
  196. package/dist/api/sandbox/execute.js +4 -4
  197. package/dist/api/sandbox/execute.js.map +1 -1
  198. package/dist/api/sandbox/execution.d.ts +104 -1
  199. package/dist/api/sandbox/execution.d.ts.map +1 -1
  200. package/dist/api/sandbox/execution.js +5 -5
  201. package/dist/api/sandbox/execution.js.map +1 -1
  202. package/dist/api/sandbox/files.d.ts +100 -0
  203. package/dist/api/sandbox/files.d.ts.map +1 -1
  204. package/dist/api/sandbox/files.js +16 -16
  205. package/dist/api/sandbox/files.js.map +1 -1
  206. package/dist/api/sandbox/get.d.ts +233 -1
  207. package/dist/api/sandbox/get.d.ts.map +1 -1
  208. package/dist/api/sandbox/get.js +12 -12
  209. package/dist/api/sandbox/get.js.map +1 -1
  210. package/dist/api/sandbox/index.d.ts +25 -21
  211. package/dist/api/sandbox/index.d.ts.map +1 -1
  212. package/dist/api/sandbox/index.js +13 -11
  213. package/dist/api/sandbox/index.js.map +1 -1
  214. package/dist/api/sandbox/list.d.ts +230 -1
  215. package/dist/api/sandbox/list.d.ts.map +1 -1
  216. package/dist/api/sandbox/list.js +9 -9
  217. package/dist/api/sandbox/list.js.map +1 -1
  218. package/dist/api/sandbox/resolve.d.ts +82 -0
  219. package/dist/api/sandbox/resolve.d.ts.map +1 -0
  220. package/dist/api/sandbox/resolve.js +71 -0
  221. package/dist/api/sandbox/resolve.js.map +1 -0
  222. package/dist/api/sandbox/run.d.ts.map +1 -1
  223. package/dist/api/sandbox/run.js +6 -0
  224. package/dist/api/sandbox/run.js.map +1 -1
  225. package/dist/api/sandbox/runtime.d.ts +69 -1
  226. package/dist/api/sandbox/runtime.d.ts.map +1 -1
  227. package/dist/api/sandbox/runtime.js +5 -5
  228. package/dist/api/sandbox/runtime.js.map +1 -1
  229. package/dist/api/sandbox/snapshot.d.ts +202 -9
  230. package/dist/api/sandbox/snapshot.d.ts.map +1 -1
  231. package/dist/api/sandbox/snapshot.js +17 -17
  232. package/dist/api/sandbox/snapshot.js.map +1 -1
  233. package/dist/api/session/get.d.ts +123 -8
  234. package/dist/api/session/get.d.ts.map +1 -1
  235. package/dist/api/session/get.js +8 -8
  236. package/dist/api/session/get.js.map +1 -1
  237. package/dist/api/session/index.d.ts +3 -6
  238. package/dist/api/session/index.d.ts.map +1 -1
  239. package/dist/api/session/index.js +3 -3
  240. package/dist/api/session/index.js.map +1 -1
  241. package/dist/api/session/list.d.ts +2 -2
  242. package/dist/api/session/list.d.ts.map +1 -1
  243. package/dist/api/session/list.js +2 -2
  244. package/dist/api/session/list.js.map +1 -1
  245. package/dist/api/session/logs.d.ts +19 -2
  246. package/dist/api/session/logs.d.ts.map +1 -1
  247. package/dist/api/session/logs.js +4 -4
  248. package/dist/api/session/logs.js.map +1 -1
  249. package/dist/api/stream/get.d.ts +58 -0
  250. package/dist/api/stream/get.d.ts.map +1 -0
  251. package/dist/api/stream/get.js +40 -0
  252. package/dist/api/stream/get.js.map +1 -0
  253. package/dist/api/stream/index.d.ts +4 -0
  254. package/dist/api/stream/index.d.ts.map +1 -0
  255. package/dist/api/stream/index.js +4 -0
  256. package/dist/api/stream/index.js.map +1 -0
  257. package/dist/api/stream/list.d.ts +107 -0
  258. package/dist/api/stream/list.d.ts.map +1 -0
  259. package/dist/api/stream/list.js +71 -0
  260. package/dist/api/stream/list.js.map +1 -0
  261. package/dist/api/stream/util.d.ts +23 -0
  262. package/dist/api/stream/util.d.ts.map +1 -0
  263. package/dist/api/stream/util.js +3 -0
  264. package/dist/api/stream/util.js.map +1 -0
  265. package/dist/api/thread/delete.d.ts +10 -3
  266. package/dist/api/thread/delete.d.ts.map +1 -1
  267. package/dist/api/thread/delete.js +2 -2
  268. package/dist/api/thread/delete.js.map +1 -1
  269. package/dist/api/thread/get.d.ts +23 -5
  270. package/dist/api/thread/get.d.ts.map +1 -1
  271. package/dist/api/thread/get.js +2 -2
  272. package/dist/api/thread/get.js.map +1 -1
  273. package/dist/api/thread/index.d.ts +4 -4
  274. package/dist/api/thread/index.d.ts.map +1 -1
  275. package/dist/api/thread/index.js +4 -4
  276. package/dist/api/thread/index.js.map +1 -1
  277. package/dist/api/thread/list.d.ts +4 -5
  278. package/dist/api/thread/list.d.ts.map +1 -1
  279. package/dist/api/thread/list.js +3 -4
  280. package/dist/api/thread/list.js.map +1 -1
  281. package/dist/api/user/whoami.d.ts +6 -3
  282. package/dist/api/user/whoami.d.ts.map +1 -1
  283. package/dist/api/user/whoami.js +3 -3
  284. package/dist/api/user/whoami.js.map +1 -1
  285. package/package.json +4 -4
  286. package/src/api/api.ts +23 -2
  287. package/src/api/apikey/create.ts +2 -2
  288. package/src/api/apikey/delete.ts +1 -1
  289. package/src/api/apikey/get.ts +2 -2
  290. package/src/api/apikey/index.ts +1 -0
  291. package/src/api/apikey/list.ts +1 -1
  292. package/src/api/db/index.ts +21 -4
  293. package/src/api/db/logs.ts +7 -7
  294. package/src/api/db/query.ts +2 -2
  295. package/src/api/db/tables.ts +3 -3
  296. package/src/api/eval/get.ts +3 -3
  297. package/src/api/eval/index.ts +28 -4
  298. package/src/api/eval/list.ts +4 -4
  299. package/src/api/eval/run-get.ts +3 -3
  300. package/src/api/eval/run-list.ts +4 -4
  301. package/src/api/index.ts +1 -0
  302. package/src/api/machine/machine.ts +15 -11
  303. package/src/api/org/env-delete.ts +4 -4
  304. package/src/api/org/env-get.ts +3 -3
  305. package/src/api/org/env-update.ts +4 -4
  306. package/src/api/org/list.ts +2 -2
  307. package/src/api/org/resources.ts +4 -4
  308. package/src/api/project/agent.ts +3 -3
  309. package/src/api/project/create.ts +5 -5
  310. package/src/api/project/delete.ts +3 -3
  311. package/src/api/project/deploy.ts +34 -32
  312. package/src/api/project/deployment.ts +8 -8
  313. package/src/api/project/env-delete.ts +12 -8
  314. package/src/api/project/env-update.ts +4 -4
  315. package/src/api/project/exists.ts +4 -4
  316. package/src/api/project/get.ts +5 -5
  317. package/src/api/project/list.ts +14 -14
  318. package/src/api/project/malware.ts +12 -12
  319. package/src/api/project/update-region.ts +3 -3
  320. package/src/api/queue/analytics.ts +15 -11
  321. package/src/api/queue/destinations.ts +14 -12
  322. package/src/api/queue/dlq.ts +10 -10
  323. package/src/api/queue/index.ts +136 -108
  324. package/src/api/queue/messages.ts +22 -22
  325. package/src/api/queue/queues.ts +14 -14
  326. package/src/api/queue/sources.ts +11 -11
  327. package/src/api/region/create.ts +5 -5
  328. package/src/api/region/delete.ts +5 -5
  329. package/src/api/region/list.ts +2 -2
  330. package/src/api/region/resources.ts +2 -2
  331. package/src/api/sandbox/cli-list.ts +99 -0
  332. package/src/api/sandbox/create.ts +18 -14
  333. package/src/api/sandbox/destroy.ts +4 -4
  334. package/src/api/sandbox/execute.ts +6 -6
  335. package/src/api/sandbox/execution.ts +7 -7
  336. package/src/api/sandbox/files.ts +16 -16
  337. package/src/api/sandbox/get.ts +15 -15
  338. package/src/api/sandbox/index.ts +160 -77
  339. package/src/api/sandbox/list.ts +12 -12
  340. package/src/api/sandbox/resolve.ts +98 -0
  341. package/src/api/sandbox/run.ts +6 -1
  342. package/src/api/sandbox/runtime.ts +7 -7
  343. package/src/api/sandbox/snapshot.ts +20 -18
  344. package/src/api/session/get.ts +13 -13
  345. package/src/api/session/index.ts +3 -6
  346. package/src/api/session/list.ts +2 -2
  347. package/src/api/session/logs.ts +4 -4
  348. package/src/api/stream/get.ts +51 -0
  349. package/src/api/stream/index.ts +3 -0
  350. package/src/api/stream/list.ts +111 -0
  351. package/src/api/stream/util.ts +3 -0
  352. package/src/api/thread/delete.ts +4 -4
  353. package/src/api/thread/get.ts +5 -7
  354. package/src/api/thread/index.ts +4 -4
  355. package/src/api/thread/list.ts +4 -6
  356. package/src/api/user/whoami.ts +3 -3
@@ -0,0 +1,99 @@
1
+ import { z } from 'zod';
2
+ import { type APIClient, APIResponseSchema } from '../api';
3
+ import { SandboxResponseError } from './util';
4
+
5
+ export const SandboxInfoSchema = z.object({
6
+ id: z.string().describe('the sandbox id'),
7
+ name: z.string().nullable().describe('the sandbox name'),
8
+ description: z.string().nullable().describe('the sandbox description'),
9
+ status: z.string().describe('sandbox status'),
10
+ region: z.string().nullable().describe('cloud region'),
11
+ createdAt: z.string().nullable().describe('ISO 8601 creation timestamp'),
12
+ orgId: z.string().describe('the organization id'),
13
+ orgName: z.string().nullable().describe('the organization name'),
14
+ projectId: z.string().nullable().describe('the project id'),
15
+ });
16
+
17
+ export const SandboxListDataSchema = z.object({
18
+ sandboxes: z.array(SandboxInfoSchema).describe('list of sandboxes'),
19
+ total: z.number().describe('total count of matching sandboxes'),
20
+ });
21
+
22
+ export const SandboxListResponseSchema = APIResponseSchema(SandboxListDataSchema);
23
+
24
+ export type CLISandboxListResponse = z.infer<typeof SandboxListResponseSchema>;
25
+ export type CLISandboxListData = z.infer<typeof SandboxListDataSchema>;
26
+ export type CLISandboxInfo = z.infer<typeof SandboxInfoSchema>;
27
+
28
+ export interface CLISandboxListOptions {
29
+ /**
30
+ * Filter by specific project ID
31
+ */
32
+ projectId?: string;
33
+ /**
34
+ * Filter by specific organization ID
35
+ */
36
+ orgId?: string;
37
+ /**
38
+ * Filter by sandbox status
39
+ */
40
+ status?: 'creating' | 'idle' | 'running' | 'terminated' | 'failed';
41
+ /**
42
+ * Maximum number of sandboxes to return (default: 50, max: 100)
43
+ */
44
+ limit?: number;
45
+ /**
46
+ * Number of sandboxes to skip for pagination
47
+ */
48
+ offset?: number;
49
+ }
50
+
51
+ /**
52
+ * List sandboxes with optional filtering using the CLI API endpoint.
53
+ *
54
+ * This endpoint searches across all organizations the user is a member of,
55
+ * unlike the Catalyst API which requires an orgId.
56
+ *
57
+ * @param client - The API client
58
+ * @param options - Filtering and pagination options
59
+ * @returns A promise that resolves to the list of sandboxes
60
+ *
61
+ * @example
62
+ * // List all sandboxes across all orgs
63
+ * const result = await cliSandboxList(client);
64
+ * console.log(`Found ${result.total} sandboxes`);
65
+ *
66
+ * @example
67
+ * // List running sandboxes
68
+ * const result = await cliSandboxList(client, { status: 'running' });
69
+ *
70
+ * @example
71
+ * // List sandboxes for a specific project
72
+ * const result = await cliSandboxList(client, { projectId: 'proj_123' });
73
+ */
74
+ export async function cliSandboxList(
75
+ client: APIClient,
76
+ options: CLISandboxListOptions = {}
77
+ ): Promise<CLISandboxListData> {
78
+ const { projectId, orgId, status, limit, offset } = options;
79
+ const params = new URLSearchParams();
80
+
81
+ if (projectId) params.set('projectId', projectId);
82
+ if (orgId) params.set('orgId', orgId);
83
+ if (status) params.set('status', status);
84
+ if (limit !== undefined) params.set('limit', limit.toString());
85
+ if (offset !== undefined) params.set('offset', offset.toString());
86
+
87
+ const queryString = params.toString();
88
+ const resp = await client.request<CLISandboxListResponse>(
89
+ 'GET',
90
+ `/cli/sandbox${queryString ? `?${queryString}` : ''}`,
91
+ SandboxListResponseSchema
92
+ );
93
+
94
+ if (resp.success) {
95
+ return resp.data;
96
+ }
97
+
98
+ throw new SandboxResponseError({ message: resp.message });
99
+ }
@@ -1,9 +1,9 @@
1
- import { z } from 'zod';
2
- import { APIClient, APIResponseSchema } from '../api';
3
- import { throwSandboxError, API_VERSION } from './util';
4
1
  import type { SandboxCreateOptions, SandboxStatus } from '@agentuity/core';
2
+ import { z } from 'zod';
3
+ import { type APIClient, APIResponseSchema } from '../api';
4
+ import { API_VERSION, throwSandboxError } from './util';
5
5
 
6
- const SandboxCreateRequestSchema = z
6
+ export const SandboxCreateRequestSchema = z
7
7
  .object({
8
8
  projectId: z.string().optional().describe('Project ID to associate the sandbox with'),
9
9
  runtime: z.string().optional().describe('Runtime name (e.g., "bun:1", "python:3.14")'),
@@ -57,9 +57,7 @@ const SandboxCreateRequestSchema = z
57
57
  files: z
58
58
  .array(
59
59
  z.object({
60
- path: z
61
- .string()
62
- .describe('Path to the file relative to the sandbox workspace'),
60
+ path: z.string().describe('Path to the file relative to the sandbox workspace'),
63
61
  content: z.string().describe('Base64-encoded file content'),
64
62
  })
65
63
  )
@@ -73,9 +71,14 @@ const SandboxCreateRequestSchema = z
73
71
  .optional()
74
72
  .describe('Initial command to run in the sandbox'),
75
73
  files: z
76
- .record(z.string(), z.string())
74
+ .array(
75
+ z.object({
76
+ path: z.string().describe('Path to the file relative to the sandbox workspace'),
77
+ content: z.string().describe('Base64-encoded file content'),
78
+ })
79
+ )
77
80
  .optional()
78
- .describe('Files to write to sandbox on creation (path -> base64 content)'),
81
+ .describe('Files to write to sandbox on creation'),
79
82
  snapshot: z.string().optional().describe('Snapshot ID to restore the sandbox from'),
80
83
  dependencies: z
81
84
  .array(z.string())
@@ -101,7 +104,7 @@ const SandboxCreateRequestSchema = z
101
104
  )
102
105
  .describe('Request body for creating a new sandbox');
103
106
 
104
- const SandboxCreateDataSchema = z
107
+ export const SandboxCreateDataSchema = z
105
108
  .object({
106
109
  sandboxId: z.string().describe('Unique identifier for the created sandbox'),
107
110
  status: z
@@ -114,7 +117,7 @@ const SandboxCreateDataSchema = z
114
117
  })
115
118
  .describe('Response data from sandbox creation');
116
119
 
117
- const SandboxCreateResponseSchema = APIResponseSchema(SandboxCreateDataSchema);
120
+ export const SandboxCreateResponseSchema = APIResponseSchema(SandboxCreateDataSchema);
118
121
 
119
122
  export interface SandboxCreateResponse {
120
123
  sandboxId: string;
@@ -186,9 +189,10 @@ export async function sandboxCreate(
186
189
  };
187
190
  }
188
191
  if (options.files && options.files.length > 0) {
189
- body.files = Object.fromEntries(
190
- options.files.map((f) => [f.path, f.content.toString('base64')])
191
- );
192
+ body.files = options.files.map((f) => ({
193
+ path: f.path,
194
+ content: f.content.toString('base64'),
195
+ }));
192
196
  }
193
197
  if (options.snapshot) {
194
198
  body.snapshot = options.snapshot;
@@ -1,8 +1,8 @@
1
- import { z } from 'zod';
2
- import { APIClient, APIResponseSchemaNoData } from '../api';
3
- import { throwSandboxError, API_VERSION } from './util';
1
+ import type { z } from 'zod';
2
+ import { type APIClient, APIResponseSchemaNoData } from '../api';
3
+ import { API_VERSION, throwSandboxError } from './util';
4
4
 
5
- const DestroyResponseSchema = APIResponseSchemaNoData();
5
+ export const DestroyResponseSchema = APIResponseSchemaNoData();
6
6
 
7
7
  export interface SandboxDestroyParams {
8
8
  sandboxId: string;
@@ -1,9 +1,9 @@
1
- import { z } from 'zod';
2
- import { APIClient, APIResponseSchema } from '../api';
3
- import { throwSandboxError, API_VERSION } from './util';
4
1
  import type { ExecuteOptions, Execution, ExecutionStatus } from '@agentuity/core';
2
+ import { z } from 'zod';
3
+ import { type APIClient, APIResponseSchema } from '../api';
4
+ import { API_VERSION, throwSandboxError } from './util';
5
5
 
6
- const ExecuteRequestSchema = z
6
+ export const ExecuteRequestSchema = z
7
7
  .object({
8
8
  command: z.array(z.string()).describe('Command and arguments to execute'),
9
9
  files: z
@@ -22,7 +22,7 @@ const ExecuteRequestSchema = z
22
22
  })
23
23
  .describe('Request body for executing a command in a sandbox');
24
24
 
25
- const ExecuteDataSchema = z
25
+ export const ExecuteDataSchema = z
26
26
  .object({
27
27
  executionId: z.string().describe('Unique identifier for the execution'),
28
28
  status: z
@@ -35,7 +35,7 @@ const ExecuteDataSchema = z
35
35
  })
36
36
  .describe('Response data from command execution');
37
37
 
38
- const ExecuteResponseSchema = APIResponseSchema(ExecuteDataSchema);
38
+ export const ExecuteResponseSchema = APIResponseSchema(ExecuteDataSchema);
39
39
 
40
40
  export interface SandboxExecuteParams {
41
41
  sandboxId: string;
@@ -1,9 +1,9 @@
1
- import { z } from 'zod';
2
- import { APIClient, APIResponseSchema } from '../api';
3
- import { throwSandboxError, API_VERSION } from './util';
4
1
  import type { ExecutionStatus } from '@agentuity/core';
2
+ import { z } from 'zod';
3
+ import { type APIClient, APIResponseSchema } from '../api';
4
+ import { API_VERSION, throwSandboxError } from './util';
5
5
 
6
- const ExecutionInfoSchema = z
6
+ export const ExecutionInfoSchema = z
7
7
  .object({
8
8
  executionId: z.string().describe('Unique identifier for the execution'),
9
9
  sandboxId: z.string().describe('ID of the sandbox where the execution ran'),
@@ -25,15 +25,15 @@ const ExecutionInfoSchema = z
25
25
  })
26
26
  .describe('Detailed information about a command execution');
27
27
 
28
- const ExecutionGetResponseSchema = APIResponseSchema(ExecutionInfoSchema);
28
+ export const ExecutionGetResponseSchema = APIResponseSchema(ExecutionInfoSchema);
29
29
 
30
- const ExecutionListDataSchema = z
30
+ export const ExecutionListDataSchema = z
31
31
  .object({
32
32
  executions: z.array(ExecutionInfoSchema).describe('List of executions'),
33
33
  })
34
34
  .describe('List of executions for a sandbox');
35
35
 
36
- const ExecutionListResponseSchema = APIResponseSchema(ExecutionListDataSchema);
36
+ export const ExecutionListResponseSchema = APIResponseSchema(ExecutionListDataSchema);
37
37
 
38
38
  export interface ExecutionInfo {
39
39
  executionId: string;
@@ -8,19 +8,19 @@ export const FileToWriteSchema = z.object({
8
8
  content: z.string().describe('Base64-encoded file content'),
9
9
  });
10
10
 
11
- const WriteFilesRequestSchema = z
11
+ export const WriteFilesRequestSchema = z
12
12
  .object({
13
13
  files: z.array(FileToWriteSchema).describe('Array of files to write'),
14
14
  })
15
15
  .describe('Request body for writing files to a sandbox');
16
16
 
17
- const WriteFilesDataSchema = z
17
+ export const WriteFilesDataSchema = z
18
18
  .object({
19
19
  filesWritten: z.number().describe('Number of files successfully written'),
20
20
  })
21
21
  .describe('Response data from writing files');
22
22
 
23
- const WriteFilesResponseSchema = z.discriminatedUnion('success', [
23
+ export const WriteFilesResponseSchema = z.discriminatedUnion('success', [
24
24
  z.object({
25
25
  success: z.literal<false>(false),
26
26
  message: z.string().describe('the error message'),
@@ -140,14 +140,14 @@ export async function sandboxReadFile(
140
140
  return response.body;
141
141
  }
142
142
 
143
- const MkDirRequestSchema = z
143
+ export const MkDirRequestSchema = z
144
144
  .object({
145
145
  path: z.string().describe('Path to the directory to create'),
146
146
  recursive: z.boolean().optional().describe('Create parent directories if needed'),
147
147
  })
148
148
  .describe('Request body for creating a directory');
149
149
 
150
- const MkDirResponseSchema = z.discriminatedUnion('success', [
150
+ export const MkDirResponseSchema = z.discriminatedUnion('success', [
151
151
  z.object({
152
152
  success: z.literal<false>(false),
153
153
  message: z.string().describe('the error message'),
@@ -200,14 +200,14 @@ export async function sandboxMkDir(client: APIClient, params: MkDirParams): Prom
200
200
  }
201
201
  }
202
202
 
203
- const RmDirRequestSchema = z
203
+ export const RmDirRequestSchema = z
204
204
  .object({
205
205
  path: z.string().describe('Path to the directory to remove'),
206
206
  recursive: z.boolean().optional().describe('Remove directory and all contents'),
207
207
  })
208
208
  .describe('Request body for removing a directory');
209
209
 
210
- const RmDirResponseSchema = z.discriminatedUnion('success', [
210
+ export const RmDirResponseSchema = z.discriminatedUnion('success', [
211
211
  z.object({
212
212
  success: z.literal<false>(false),
213
213
  message: z.string().describe('the error message'),
@@ -260,13 +260,13 @@ export async function sandboxRmDir(client: APIClient, params: RmDirParams): Prom
260
260
  }
261
261
  }
262
262
 
263
- const RmFileRequestSchema = z
263
+ export const RmFileRequestSchema = z
264
264
  .object({
265
265
  path: z.string().describe('Path to the file to remove'),
266
266
  })
267
267
  .describe('Request body for removing a file');
268
268
 
269
- const RmFileResponseSchema = z.discriminatedUnion('success', [
269
+ export const RmFileResponseSchema = z.discriminatedUnion('success', [
270
270
  z.object({
271
271
  success: z.literal<false>(false),
272
272
  message: z.string().describe('the error message'),
@@ -317,7 +317,7 @@ export async function sandboxRmFile(client: APIClient, params: RmFileParams): Pr
317
317
  }
318
318
  }
319
319
 
320
- const FileInfoSchema = z.object({
320
+ export const FileInfoSchema = z.object({
321
321
  path: z.string().describe('File path relative to the listed directory'),
322
322
  size: z.number().describe('File size in bytes'),
323
323
  isDir: z.boolean().describe('Whether the entry is a directory'),
@@ -325,11 +325,11 @@ const FileInfoSchema = z.object({
325
325
  modTime: z.string().describe('Modification time in RFC3339 format'),
326
326
  });
327
327
 
328
- const ListFilesDataSchema = z.object({
328
+ export const ListFilesDataSchema = z.object({
329
329
  files: z.array(FileInfoSchema).describe('Array of file information'),
330
330
  });
331
331
 
332
- const ListFilesResponseSchema = z.discriminatedUnion('success', [
332
+ export const ListFilesResponseSchema = z.discriminatedUnion('success', [
333
333
  z.object({
334
334
  success: z.literal<false>(false),
335
335
  message: z.string().describe('the error message'),
@@ -467,7 +467,7 @@ export interface UploadArchiveParams {
467
467
  signal?: AbortSignal;
468
468
  }
469
469
 
470
- const UploadArchiveResponseSchema = z.discriminatedUnion('success', [
470
+ export const UploadArchiveResponseSchema = z.discriminatedUnion('success', [
471
471
  z.object({
472
472
  success: z.literal<false>(false),
473
473
  message: z.string().describe('the error message'),
@@ -523,17 +523,17 @@ export async function sandboxUploadArchive(
523
523
  }
524
524
  }
525
525
 
526
- const SetEnvRequestSchema = z.object({
526
+ export const SetEnvRequestSchema = z.object({
527
527
  env: z
528
528
  .record(z.string(), z.string().nullable())
529
529
  .describe('Environment variables to set (null to delete)'),
530
530
  });
531
531
 
532
- const SetEnvDataSchema = z.object({
532
+ export const SetEnvDataSchema = z.object({
533
533
  env: z.record(z.string(), z.string()).describe('Current environment variables after update'),
534
534
  });
535
535
 
536
- const SetEnvResponseSchema = z.discriminatedUnion('success', [
536
+ export const SetEnvResponseSchema = z.discriminatedUnion('success', [
537
537
  z.object({
538
538
  success: z.literal<false>(false),
539
539
  message: z.string().describe('the error message'),
@@ -1,14 +1,14 @@
1
- import { z } from 'zod';
2
- import { APIClient, APIResponseSchema } from '../api';
3
- import { throwSandboxError, API_VERSION } from './util';
4
1
  import type {
5
2
  SandboxInfo,
6
- SandboxStatus,
7
3
  SandboxRuntimeInfo,
8
4
  SandboxSnapshotInfo,
5
+ SandboxStatus,
9
6
  } from '@agentuity/core';
7
+ import { z } from 'zod';
8
+ import { type APIClient, APIResponseSchema } from '../api';
9
+ import { API_VERSION, throwSandboxError } from './util';
10
10
 
11
- const SandboxResourcesSchema = z
11
+ export const SandboxResourcesSchema = z
12
12
  .object({
13
13
  memory: z.string().optional().describe('Memory limit (e.g., "512Mi", "1Gi")'),
14
14
  cpu: z.string().optional().describe('CPU limit in millicores (e.g., "500m", "1000m")'),
@@ -16,7 +16,7 @@ const SandboxResourcesSchema = z
16
16
  })
17
17
  .describe('Resource limits for the sandbox');
18
18
 
19
- const SandboxUserInfoSchema = z
19
+ export const SandboxUserInfoSchema = z
20
20
  .object({
21
21
  id: z.string().describe('User ID'),
22
22
  firstName: z.string().optional().describe("User's first name"),
@@ -24,28 +24,28 @@ const SandboxUserInfoSchema = z
24
24
  })
25
25
  .describe('User who created the sandbox');
26
26
 
27
- const SandboxAgentInfoSchema = z
27
+ export const SandboxAgentInfoSchema = z
28
28
  .object({
29
29
  id: z.string().describe('Agent ID'),
30
30
  name: z.string().describe('Agent name'),
31
31
  })
32
32
  .describe('Agent associated with the sandbox');
33
33
 
34
- const SandboxProjectInfoSchema = z
34
+ export const SandboxProjectInfoSchema = z
35
35
  .object({
36
36
  id: z.string().describe('Project ID'),
37
37
  name: z.string().describe('Project name'),
38
38
  })
39
39
  .describe('Project associated with the sandbox');
40
40
 
41
- const SandboxOrgInfoSchema = z
41
+ export const SandboxOrgInfoSchema = z
42
42
  .object({
43
43
  id: z.string().describe('Organization ID'),
44
44
  name: z.string().describe('Organization name'),
45
45
  })
46
46
  .describe('Organization associated with the sandbox');
47
47
 
48
- const SandboxRuntimeInfoSchema = z
48
+ export const SandboxRuntimeInfoSchema = z
49
49
  .object({
50
50
  id: z.string().describe('Runtime ID'),
51
51
  name: z.string().describe('Runtime name (e.g., "bun:1")'),
@@ -55,7 +55,7 @@ const SandboxRuntimeInfoSchema = z
55
55
  })
56
56
  .describe('Runtime information');
57
57
 
58
- const SandboxSnapshotUserInfoSchema = z
58
+ export const SandboxSnapshotUserInfoSchema = z
59
59
  .object({
60
60
  id: z.string().describe('User ID'),
61
61
  firstName: z.string().optional().describe("User's first name"),
@@ -63,7 +63,7 @@ const SandboxSnapshotUserInfoSchema = z
63
63
  })
64
64
  .describe('Snapshot user information');
65
65
 
66
- const SandboxSnapshotOrgInfoSchema = z
66
+ export const SandboxSnapshotOrgInfoSchema = z
67
67
  .object({
68
68
  id: z.string().describe('Organization ID'),
69
69
  name: z.string().describe('Organization name'),
@@ -71,7 +71,7 @@ const SandboxSnapshotOrgInfoSchema = z
71
71
  })
72
72
  .describe('Snapshot organization information');
73
73
 
74
- const SandboxSnapshotInfoSchema = z
74
+ export const SandboxSnapshotInfoSchema = z
75
75
  .union([
76
76
  z
77
77
  .object({
@@ -98,7 +98,7 @@ const SandboxSnapshotInfoSchema = z
98
98
  ])
99
99
  .describe('Snapshot information (discriminated union)');
100
100
 
101
- const SandboxInfoDataSchema = z
101
+ export const SandboxInfoDataSchema = z
102
102
  .object({
103
103
  sandboxId: z.string().describe('Unique identifier for the sandbox'),
104
104
  identifier: z.string().optional().describe('Short identifier for DNS hostname'),
@@ -144,7 +144,7 @@ const SandboxInfoDataSchema = z
144
144
  })
145
145
  .describe('Detailed information about a sandbox');
146
146
 
147
- const SandboxGetResponseSchema = APIResponseSchema(SandboxInfoDataSchema);
147
+ export const SandboxGetResponseSchema = APIResponseSchema(SandboxInfoDataSchema);
148
148
 
149
149
  export interface SandboxGetParams {
150
150
  sandboxId: string;