@agentuity/core 1.0.32 → 1.0.34

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 (702) hide show
  1. package/dist/env-example.d.ts +11 -0
  2. package/dist/env-example.d.ts.map +1 -0
  3. package/dist/env-example.js +70 -0
  4. package/dist/env-example.js.map +1 -0
  5. package/dist/index.d.ts +6 -18
  6. package/dist/index.d.ts.map +1 -1
  7. package/dist/index.js +5 -15
  8. package/dist/index.js.map +1 -1
  9. package/dist/services/adapter.d.ts +57 -22
  10. package/dist/services/adapter.d.ts.map +1 -1
  11. package/dist/services/adapter.js +52 -1
  12. package/dist/services/adapter.js.map +1 -1
  13. package/dist/services/api.d.ts +222 -0
  14. package/dist/services/api.d.ts.map +1 -0
  15. package/dist/services/api.js +662 -0
  16. package/dist/services/api.js.map +1 -0
  17. package/dist/services/apikey/create.d.ts +34 -0
  18. package/dist/services/apikey/create.d.ts.map +1 -0
  19. package/dist/services/apikey/create.js +29 -0
  20. package/dist/services/apikey/create.js.map +1 -0
  21. package/dist/services/apikey/delete.d.ts +19 -0
  22. package/dist/services/apikey/delete.d.ts.map +1 -0
  23. package/dist/services/apikey/delete.js +19 -0
  24. package/dist/services/apikey/delete.js.map +1 -0
  25. package/dist/services/apikey/get.d.ts +45 -0
  26. package/dist/services/apikey/get.d.ts.map +1 -0
  27. package/dist/services/apikey/get.js +36 -0
  28. package/dist/services/apikey/get.js.map +1 -0
  29. package/dist/services/apikey/index.d.ts +6 -0
  30. package/dist/services/apikey/index.d.ts.map +1 -0
  31. package/dist/services/apikey/index.js +6 -0
  32. package/dist/services/apikey/index.js.map +1 -0
  33. package/dist/services/apikey/list.d.ts +65 -0
  34. package/dist/services/apikey/list.d.ts.map +1 -0
  35. package/dist/services/apikey/list.js +50 -0
  36. package/dist/services/apikey/list.js.map +1 -0
  37. package/dist/services/apikey/util.d.ts +23 -0
  38. package/dist/services/apikey/util.d.ts.map +1 -0
  39. package/dist/services/apikey/util.js +3 -0
  40. package/dist/services/apikey/util.js.map +1 -0
  41. package/dist/services/config.d.ts +22 -0
  42. package/dist/services/config.d.ts.map +1 -0
  43. package/dist/services/config.js +55 -0
  44. package/dist/services/config.js.map +1 -0
  45. package/dist/services/db/index.d.ts +5 -0
  46. package/dist/services/db/index.d.ts.map +1 -0
  47. package/dist/services/db/index.js +5 -0
  48. package/dist/services/db/index.js.map +1 -0
  49. package/dist/services/db/logs.d.ts +70 -0
  50. package/dist/services/db/logs.d.ts.map +1 -0
  51. package/dist/services/db/logs.js +59 -0
  52. package/dist/services/db/logs.js.map +1 -0
  53. package/dist/services/db/query.d.ts +40 -0
  54. package/dist/services/db/query.d.ts.map +1 -0
  55. package/dist/services/db/query.js +55 -0
  56. package/dist/services/db/query.js.map +1 -0
  57. package/dist/services/db/tables.d.ts +50 -0
  58. package/dist/services/db/tables.d.ts.map +1 -0
  59. package/dist/services/db/tables.js +64 -0
  60. package/dist/services/db/tables.js.map +1 -0
  61. package/dist/services/db/util.d.ts +31 -0
  62. package/dist/services/db/util.d.ts.map +1 -0
  63. package/dist/services/db/util.js +4 -0
  64. package/dist/services/db/util.js.map +1 -0
  65. package/dist/services/email/index.d.ts +2 -0
  66. package/dist/services/email/index.d.ts.map +1 -0
  67. package/dist/services/email/index.js +2 -0
  68. package/dist/services/email/index.js.map +1 -0
  69. package/dist/services/{email.d.ts → email/service.d.ts} +137 -296
  70. package/dist/services/email/service.d.ts.map +1 -0
  71. package/dist/services/{email.js → email/service.js} +403 -18
  72. package/dist/services/email/service.js.map +1 -0
  73. package/dist/services/env.d.ts +5 -0
  74. package/dist/services/env.d.ts.map +1 -0
  75. package/dist/services/env.js +10 -0
  76. package/dist/services/env.js.map +1 -0
  77. package/dist/services/{evalrun.d.ts → eval/events.d.ts} +1 -1
  78. package/dist/services/eval/events.d.ts.map +1 -0
  79. package/dist/services/{evalrun.js → eval/events.js} +1 -1
  80. package/dist/services/eval/events.js.map +1 -0
  81. package/dist/services/eval/get.d.ts +36 -0
  82. package/dist/services/eval/get.d.ts.map +1 -0
  83. package/dist/services/eval/get.js +23 -0
  84. package/dist/services/eval/get.js.map +1 -0
  85. package/dist/services/eval/index.d.ts +6 -0
  86. package/dist/services/eval/index.d.ts.map +1 -0
  87. package/dist/services/eval/index.js +6 -0
  88. package/dist/services/eval/index.js.map +1 -0
  89. package/dist/services/eval/list.d.ts +50 -0
  90. package/dist/services/eval/list.d.ts.map +1 -0
  91. package/dist/services/eval/list.js +32 -0
  92. package/dist/services/eval/list.js.map +1 -0
  93. package/dist/services/eval/run-get.d.ts +48 -0
  94. package/dist/services/eval/run-get.d.ts.map +1 -0
  95. package/dist/services/eval/run-get.js +29 -0
  96. package/dist/services/eval/run-get.js.map +1 -0
  97. package/dist/services/eval/run-list.d.ts +70 -0
  98. package/dist/services/eval/run-list.d.ts.map +1 -0
  99. package/dist/services/eval/run-list.js +42 -0
  100. package/dist/services/eval/run-list.js.map +1 -0
  101. package/dist/services/exception.d.ts +28 -9
  102. package/dist/services/exception.d.ts.map +1 -1
  103. package/dist/services/exception.js +14 -0
  104. package/dist/services/exception.js.map +1 -1
  105. package/dist/services/index.d.ts +26 -12
  106. package/dist/services/index.d.ts.map +1 -1
  107. package/dist/services/index.js +26 -11
  108. package/dist/services/index.js.map +1 -1
  109. package/dist/services/keyvalue/index.d.ts +2 -0
  110. package/dist/services/keyvalue/index.d.ts.map +1 -0
  111. package/dist/services/keyvalue/index.js +2 -0
  112. package/dist/services/keyvalue/index.js.map +1 -0
  113. package/dist/services/{keyvalue.d.ts → keyvalue/service.d.ts} +98 -120
  114. package/dist/services/keyvalue/service.d.ts.map +1 -0
  115. package/dist/services/{keyvalue.js → keyvalue/service.js} +182 -12
  116. package/dist/services/keyvalue/service.js.map +1 -0
  117. package/dist/services/logger.d.ts +7 -0
  118. package/dist/services/logger.d.ts.map +1 -0
  119. package/dist/services/logger.js +23 -0
  120. package/dist/services/logger.js.map +1 -0
  121. package/dist/services/machine/index.d.ts +3 -0
  122. package/dist/services/machine/index.d.ts.map +1 -0
  123. package/dist/services/machine/index.js +3 -0
  124. package/dist/services/machine/index.js.map +1 -0
  125. package/dist/services/machine/machine.d.ts +192 -0
  126. package/dist/services/machine/machine.d.ts.map +1 -0
  127. package/dist/services/machine/machine.js +177 -0
  128. package/dist/services/machine/machine.js.map +1 -0
  129. package/dist/services/machine/util.d.ts +14 -0
  130. package/dist/services/machine/util.d.ts.map +1 -0
  131. package/dist/services/machine/util.js +3 -0
  132. package/dist/services/machine/util.js.map +1 -0
  133. package/dist/services/org/env-delete.d.ts +23 -0
  134. package/dist/services/org/env-delete.d.ts.map +1 -0
  135. package/dist/services/org/env-delete.js +25 -0
  136. package/dist/services/org/env-delete.js.map +1 -0
  137. package/dist/services/org/env-get.d.ts +33 -0
  138. package/dist/services/org/env-get.d.ts.map +1 -0
  139. package/dist/services/org/env-get.js +33 -0
  140. package/dist/services/org/env-get.js.map +1 -0
  141. package/dist/services/org/env-update.d.ts +24 -0
  142. package/dist/services/org/env-update.d.ts.map +1 -0
  143. package/dist/services/org/env-update.js +26 -0
  144. package/dist/services/org/env-update.js.map +1 -0
  145. package/dist/services/org/index.d.ts +7 -0
  146. package/dist/services/org/index.d.ts.map +1 -0
  147. package/dist/services/org/index.js +7 -0
  148. package/dist/services/org/index.js.map +1 -0
  149. package/dist/services/org/list.d.ts +27 -0
  150. package/dist/services/org/list.d.ts.map +1 -0
  151. package/dist/services/org/list.js +22 -0
  152. package/dist/services/org/list.js.map +1 -0
  153. package/dist/services/org/resources.d.ts +150 -0
  154. package/dist/services/org/resources.d.ts.map +1 -0
  155. package/dist/services/org/resources.js +111 -0
  156. package/dist/services/org/resources.js.map +1 -0
  157. package/dist/services/org/util.d.ts +45 -0
  158. package/dist/services/org/util.d.ts.map +1 -0
  159. package/dist/services/org/util.js +4 -0
  160. package/dist/services/org/util.js.map +1 -0
  161. package/dist/services/pagination.d.ts +38 -11
  162. package/dist/services/pagination.d.ts.map +1 -1
  163. package/dist/services/pagination.js +30 -1
  164. package/dist/services/pagination.js.map +1 -1
  165. package/dist/services/project/agent.d.ts +89 -0
  166. package/dist/services/project/agent.d.ts.map +1 -0
  167. package/dist/services/project/agent.js +60 -0
  168. package/dist/services/project/agent.js.map +1 -0
  169. package/dist/services/project/create.d.ts +37 -0
  170. package/dist/services/project/create.d.ts.map +1 -0
  171. package/dist/services/project/create.js +31 -0
  172. package/dist/services/project/create.js.map +1 -0
  173. package/dist/services/project/delete.d.ts +15 -0
  174. package/dist/services/project/delete.d.ts.map +1 -0
  175. package/dist/services/project/delete.js +15 -0
  176. package/dist/services/project/delete.js.map +1 -0
  177. package/dist/services/project/deploy.d.ts +468 -0
  178. package/dist/services/project/deploy.d.ts.map +1 -0
  179. package/dist/services/project/deploy.js +313 -0
  180. package/dist/services/project/deploy.js.map +1 -0
  181. package/dist/services/project/deployment.d.ts +237 -0
  182. package/dist/services/project/deployment.d.ts.map +1 -0
  183. package/dist/services/project/deployment.js +180 -0
  184. package/dist/services/project/deployment.js.map +1 -0
  185. package/dist/services/project/env-delete.d.ts +22 -0
  186. package/dist/services/project/env-delete.d.ts.map +1 -0
  187. package/dist/services/project/env-delete.js +29 -0
  188. package/dist/services/project/env-delete.js.map +1 -0
  189. package/dist/services/project/env-update.d.ts +31 -0
  190. package/dist/services/project/env-update.d.ts.map +1 -0
  191. package/dist/services/project/env-update.js +36 -0
  192. package/dist/services/project/env-update.js.map +1 -0
  193. package/dist/services/project/exists.d.ts +25 -0
  194. package/dist/services/project/exists.d.ts.map +1 -0
  195. package/dist/services/project/exists.js +45 -0
  196. package/dist/services/project/exists.js.map +1 -0
  197. package/dist/services/project/get.d.ts +43 -0
  198. package/dist/services/project/get.d.ts.map +1 -0
  199. package/dist/services/project/get.js +36 -0
  200. package/dist/services/project/get.js.map +1 -0
  201. package/dist/services/project/hostname.d.ts +25 -0
  202. package/dist/services/project/hostname.d.ts.map +1 -0
  203. package/dist/services/project/hostname.js +43 -0
  204. package/dist/services/project/hostname.js.map +1 -0
  205. package/dist/services/project/index.d.ts +14 -0
  206. package/dist/services/project/index.d.ts.map +1 -0
  207. package/dist/services/project/index.js +14 -0
  208. package/dist/services/project/index.js.map +1 -0
  209. package/dist/services/project/list.d.ts +48 -0
  210. package/dist/services/project/list.d.ts.map +1 -0
  211. package/dist/services/project/list.js +38 -0
  212. package/dist/services/project/list.js.map +1 -0
  213. package/dist/services/project/malware.d.ts +71 -0
  214. package/dist/services/project/malware.d.ts.map +1 -0
  215. package/dist/services/project/malware.js +57 -0
  216. package/dist/services/project/malware.js.map +1 -0
  217. package/dist/services/project/update-region.d.ts +27 -0
  218. package/dist/services/project/update-region.d.ts.map +1 -0
  219. package/dist/services/project/update-region.js +25 -0
  220. package/dist/services/project/update-region.js.map +1 -0
  221. package/dist/services/project/util.d.ts +62 -0
  222. package/dist/services/project/util.d.ts.map +1 -0
  223. package/dist/services/project/util.js +6 -0
  224. package/dist/services/project/util.js.map +1 -0
  225. package/dist/services/queue/analytics.d.ts +261 -0
  226. package/dist/services/queue/analytics.d.ts.map +1 -0
  227. package/dist/services/queue/analytics.js +254 -0
  228. package/dist/services/queue/analytics.js.map +1 -0
  229. package/dist/services/queue/consumers.d.ts +48 -0
  230. package/dist/services/queue/consumers.d.ts.map +1 -0
  231. package/dist/services/queue/consumers.js +43 -0
  232. package/dist/services/queue/consumers.js.map +1 -0
  233. package/dist/services/queue/destinations.d.ts +269 -0
  234. package/dist/services/queue/destinations.d.ts.map +1 -0
  235. package/dist/services/queue/destinations.js +215 -0
  236. package/dist/services/queue/destinations.js.map +1 -0
  237. package/dist/services/queue/dlq.d.ts +170 -0
  238. package/dist/services/queue/dlq.d.ts.map +1 -0
  239. package/dist/services/queue/dlq.js +166 -0
  240. package/dist/services/queue/dlq.js.map +1 -0
  241. package/dist/services/queue/index.d.ts +58 -0
  242. package/dist/services/queue/index.d.ts.map +1 -0
  243. package/dist/services/queue/index.js +98 -0
  244. package/dist/services/queue/index.js.map +1 -0
  245. package/dist/services/queue/messages.d.ts +511 -0
  246. package/dist/services/queue/messages.d.ts.map +1 -0
  247. package/dist/services/queue/messages.js +549 -0
  248. package/dist/services/queue/messages.js.map +1 -0
  249. package/dist/services/queue/queues.d.ts +228 -0
  250. package/dist/services/queue/queues.d.ts.map +1 -0
  251. package/dist/services/queue/queues.js +321 -0
  252. package/dist/services/queue/queues.js.map +1 -0
  253. package/dist/services/{queue.d.ts → queue/service.d.ts} +44 -96
  254. package/dist/services/queue/service.d.ts.map +1 -0
  255. package/dist/services/{queue.js → queue/service.js} +154 -6
  256. package/dist/services/queue/service.js.map +1 -0
  257. package/dist/services/queue/sources.d.ts +252 -0
  258. package/dist/services/queue/sources.d.ts.map +1 -0
  259. package/dist/services/queue/sources.js +249 -0
  260. package/dist/services/queue/sources.js.map +1 -0
  261. package/dist/services/queue/types.d.ts +1335 -0
  262. package/dist/services/queue/types.d.ts.map +1 -0
  263. package/dist/services/queue/types.js +1376 -0
  264. package/dist/services/queue/types.js.map +1 -0
  265. package/dist/services/queue/util.d.ts +278 -0
  266. package/dist/services/queue/util.d.ts.map +1 -0
  267. package/dist/services/queue/util.js +233 -0
  268. package/dist/services/queue/util.js.map +1 -0
  269. package/dist/services/queue/validation.d.ts +218 -0
  270. package/dist/services/queue/validation.d.ts.map +1 -0
  271. package/dist/services/queue/validation.js +498 -0
  272. package/dist/services/queue/validation.js.map +1 -0
  273. package/dist/services/queue/websocket.d.ts +154 -0
  274. package/dist/services/queue/websocket.d.ts.map +1 -0
  275. package/dist/services/queue/websocket.js +472 -0
  276. package/dist/services/queue/websocket.js.map +1 -0
  277. package/dist/services/region/create.d.ts +81 -0
  278. package/dist/services/region/create.d.ts.map +1 -0
  279. package/dist/services/region/create.js +177 -0
  280. package/dist/services/region/create.js.map +1 -0
  281. package/dist/services/region/delete.d.ts +62 -0
  282. package/dist/services/region/delete.d.ts.map +1 -0
  283. package/dist/services/region/delete.js +37 -0
  284. package/dist/services/region/delete.js.map +1 -0
  285. package/dist/services/region/index.d.ts +5 -0
  286. package/dist/services/region/index.d.ts.map +1 -0
  287. package/dist/services/region/index.js +5 -0
  288. package/dist/services/region/index.js.map +1 -0
  289. package/dist/services/region/list.d.ts +27 -0
  290. package/dist/services/region/list.d.ts.map +1 -0
  291. package/dist/services/region/list.js +22 -0
  292. package/dist/services/region/list.js.map +1 -0
  293. package/dist/services/region/resources.d.ts +71 -0
  294. package/dist/services/region/resources.d.ts.map +1 -0
  295. package/dist/services/region/resources.js +53 -0
  296. package/dist/services/region/resources.js.map +1 -0
  297. package/dist/services/region/util.d.ts +23 -0
  298. package/dist/services/region/util.d.ts.map +1 -0
  299. package/dist/services/region/util.js +3 -0
  300. package/dist/services/region/util.js.map +1 -0
  301. package/dist/services/sandbox/cli-list.d.ts +103 -0
  302. package/dist/services/sandbox/cli-list.d.ts.map +1 -0
  303. package/dist/services/sandbox/cli-list.js +106 -0
  304. package/dist/services/sandbox/cli-list.js.map +1 -0
  305. package/dist/services/sandbox/client.d.ts +173 -0
  306. package/dist/services/sandbox/client.d.ts.map +1 -0
  307. package/dist/services/sandbox/client.js +302 -0
  308. package/dist/services/sandbox/client.js.map +1 -0
  309. package/dist/services/sandbox/create.d.ts +193 -0
  310. package/dist/services/sandbox/create.d.ts.map +1 -0
  311. package/dist/services/sandbox/create.js +215 -0
  312. package/dist/services/sandbox/create.js.map +1 -0
  313. package/dist/services/sandbox/destroy.d.ts +23 -0
  314. package/dist/services/sandbox/destroy.d.ts.map +1 -0
  315. package/dist/services/sandbox/destroy.js +30 -0
  316. package/dist/services/sandbox/destroy.js.map +1 -0
  317. package/dist/services/sandbox/disk-checkpoint.d.ts +108 -0
  318. package/dist/services/sandbox/disk-checkpoint.d.ts.map +1 -0
  319. package/dist/services/sandbox/disk-checkpoint.js +124 -0
  320. package/dist/services/sandbox/disk-checkpoint.js.map +1 -0
  321. package/dist/services/sandbox/execute.d.ts +96 -0
  322. package/dist/services/sandbox/execute.d.ts.map +1 -0
  323. package/dist/services/sandbox/execute.js +109 -0
  324. package/dist/services/sandbox/execute.js.map +1 -0
  325. package/dist/services/sandbox/execution.d.ts +145 -0
  326. package/dist/services/sandbox/execution.d.ts.map +1 -0
  327. package/dist/services/sandbox/execution.js +113 -0
  328. package/dist/services/sandbox/execution.js.map +1 -0
  329. package/dist/services/sandbox/files.d.ts +269 -0
  330. package/dist/services/sandbox/files.d.ts.map +1 -0
  331. package/dist/services/sandbox/files.js +454 -0
  332. package/dist/services/sandbox/files.js.map +1 -0
  333. package/dist/services/sandbox/get.d.ts +284 -0
  334. package/dist/services/sandbox/get.d.ts.map +1 -0
  335. package/dist/services/sandbox/get.js +231 -0
  336. package/dist/services/sandbox/get.js.map +1 -0
  337. package/dist/services/sandbox/getStatus.d.ts +20 -0
  338. package/dist/services/sandbox/getStatus.d.ts.map +1 -0
  339. package/dist/services/sandbox/getStatus.js +36 -0
  340. package/dist/services/sandbox/getStatus.js.map +1 -0
  341. package/dist/services/sandbox/index.d.ts +40 -0
  342. package/dist/services/sandbox/index.d.ts.map +1 -0
  343. package/dist/services/sandbox/index.js +21 -0
  344. package/dist/services/sandbox/index.js.map +1 -0
  345. package/dist/services/sandbox/list.d.ts +327 -0
  346. package/dist/services/sandbox/list.d.ts.map +1 -0
  347. package/dist/services/sandbox/list.js +204 -0
  348. package/dist/services/sandbox/list.js.map +1 -0
  349. package/dist/services/sandbox/pause.d.ts +23 -0
  350. package/dist/services/sandbox/pause.d.ts.map +1 -0
  351. package/dist/services/sandbox/pause.js +30 -0
  352. package/dist/services/sandbox/pause.js.map +1 -0
  353. package/dist/services/sandbox/resolve.d.ts +75 -0
  354. package/dist/services/sandbox/resolve.d.ts.map +1 -0
  355. package/dist/services/sandbox/resolve.js +76 -0
  356. package/dist/services/sandbox/resolve.js.map +1 -0
  357. package/dist/services/sandbox/resume.d.ts +23 -0
  358. package/dist/services/sandbox/resume.d.ts.map +1 -0
  359. package/dist/services/sandbox/resume.js +30 -0
  360. package/dist/services/sandbox/resume.js.map +1 -0
  361. package/dist/services/sandbox/run.d.ts +71 -0
  362. package/dist/services/sandbox/run.d.ts.map +1 -0
  363. package/dist/services/sandbox/run.js +355 -0
  364. package/dist/services/sandbox/run.js.map +1 -0
  365. package/dist/services/sandbox/runtime.d.ts +94 -0
  366. package/dist/services/sandbox/runtime.d.ts.map +1 -0
  367. package/dist/services/sandbox/runtime.js +82 -0
  368. package/dist/services/sandbox/runtime.js.map +1 -0
  369. package/dist/services/sandbox/snapshot-build.d.ts +48 -0
  370. package/dist/services/sandbox/snapshot-build.d.ts.map +1 -0
  371. package/dist/services/sandbox/snapshot-build.js +72 -0
  372. package/dist/services/sandbox/snapshot-build.js.map +1 -0
  373. package/dist/services/sandbox/snapshot.d.ts +596 -0
  374. package/dist/services/sandbox/snapshot.d.ts.map +1 -0
  375. package/dist/services/sandbox/snapshot.js +612 -0
  376. package/dist/services/sandbox/snapshot.js.map +1 -0
  377. package/dist/services/sandbox/types.d.ts +851 -0
  378. package/dist/services/sandbox/types.d.ts.map +1 -0
  379. package/dist/services/sandbox/types.js +674 -0
  380. package/dist/services/sandbox/types.js.map +1 -0
  381. package/dist/services/sandbox/util.d.ts +295 -0
  382. package/dist/services/sandbox/util.d.ts.map +1 -0
  383. package/dist/services/sandbox/util.js +233 -0
  384. package/dist/services/sandbox/util.js.map +1 -0
  385. package/dist/services/schedule/index.d.ts +2 -0
  386. package/dist/services/schedule/index.d.ts.map +1 -0
  387. package/dist/services/schedule/index.js +2 -0
  388. package/dist/services/schedule/index.js.map +1 -0
  389. package/dist/services/{schedule.d.ts → schedule/service.d.ts} +150 -212
  390. package/dist/services/schedule/service.d.ts.map +1 -0
  391. package/dist/services/{schedule.js → schedule/service.js} +286 -12
  392. package/dist/services/schedule/service.js.map +1 -0
  393. package/dist/services/{session.d.ts → session/events.d.ts} +5 -5
  394. package/dist/services/session/events.d.ts.map +1 -0
  395. package/dist/services/{session.js → session/events.js} +1 -1
  396. package/dist/services/session/events.js.map +1 -0
  397. package/dist/services/session/get.d.ts +170 -0
  398. package/dist/services/session/get.d.ts.map +1 -0
  399. package/dist/services/session/get.js +56 -0
  400. package/dist/services/session/get.js.map +1 -0
  401. package/dist/services/session/index.d.ts +5 -0
  402. package/dist/services/session/index.d.ts.map +1 -0
  403. package/dist/services/session/index.js +5 -0
  404. package/dist/services/session/index.js.map +1 -0
  405. package/dist/services/session/list.d.ts +150 -0
  406. package/dist/services/session/list.d.ts.map +1 -0
  407. package/dist/services/session/list.js +117 -0
  408. package/dist/services/session/list.js.map +1 -0
  409. package/dist/services/session/logs.d.ts +40 -0
  410. package/dist/services/session/logs.d.ts.map +1 -0
  411. package/dist/services/session/logs.js +28 -0
  412. package/dist/services/session/logs.js.map +1 -0
  413. package/dist/services/session/util.d.ts +23 -0
  414. package/dist/services/session/util.d.ts.map +1 -0
  415. package/dist/services/session/util.js +3 -0
  416. package/dist/services/session/util.js.map +1 -0
  417. package/dist/services/stats.d.ts +261 -0
  418. package/dist/services/stats.d.ts.map +1 -0
  419. package/dist/services/stats.js +181 -0
  420. package/dist/services/stats.js.map +1 -0
  421. package/dist/services/storage/config.d.ts +99 -0
  422. package/dist/services/storage/config.d.ts.map +1 -0
  423. package/dist/services/storage/config.js +61 -0
  424. package/dist/services/storage/config.js.map +1 -0
  425. package/dist/services/storage/index.d.ts +5 -0
  426. package/dist/services/storage/index.d.ts.map +1 -0
  427. package/dist/services/storage/index.js +5 -0
  428. package/dist/services/storage/index.js.map +1 -0
  429. package/dist/services/storage/objects.d.ts +158 -0
  430. package/dist/services/storage/objects.d.ts.map +1 -0
  431. package/dist/services/storage/objects.js +161 -0
  432. package/dist/services/storage/objects.js.map +1 -0
  433. package/dist/services/storage/types.d.ts +161 -0
  434. package/dist/services/storage/types.d.ts.map +1 -0
  435. package/dist/services/storage/types.js +141 -0
  436. package/dist/services/storage/types.js.map +1 -0
  437. package/dist/services/storage/util.d.ts +45 -0
  438. package/dist/services/storage/util.d.ts.map +1 -0
  439. package/dist/services/storage/util.js +4 -0
  440. package/dist/services/storage/util.js.map +1 -0
  441. package/dist/services/stream/get.d.ts +58 -0
  442. package/dist/services/stream/get.d.ts.map +1 -0
  443. package/dist/services/stream/get.js +40 -0
  444. package/dist/services/stream/get.js.map +1 -0
  445. package/dist/services/stream/index.d.ts +5 -0
  446. package/dist/services/stream/index.d.ts.map +1 -0
  447. package/dist/services/stream/index.js +5 -0
  448. package/dist/services/stream/index.js.map +1 -0
  449. package/dist/services/stream/list.d.ts +96 -0
  450. package/dist/services/stream/list.d.ts.map +1 -0
  451. package/dist/services/stream/list.js +92 -0
  452. package/dist/services/stream/list.js.map +1 -0
  453. package/dist/services/{stream.d.ts → stream/service.d.ts} +62 -91
  454. package/dist/services/stream/service.d.ts.map +1 -0
  455. package/dist/services/{stream.js → stream/service.js} +137 -6
  456. package/dist/services/stream/service.js.map +1 -0
  457. package/dist/services/stream/util.d.ts +23 -0
  458. package/dist/services/stream/util.d.ts.map +1 -0
  459. package/dist/services/stream/util.js +3 -0
  460. package/dist/services/stream/util.js.map +1 -0
  461. package/dist/services/task/index.d.ts +2 -0
  462. package/dist/services/task/index.d.ts.map +1 -0
  463. package/dist/services/task/index.js +2 -0
  464. package/dist/services/task/index.js.map +1 -0
  465. package/dist/services/{task.d.ts → task/service.d.ts} +591 -437
  466. package/dist/services/task/service.d.ts.map +1 -0
  467. package/dist/services/{task.js → task/service.js} +494 -4
  468. package/dist/services/task/service.js.map +1 -0
  469. package/dist/services/thread/delete.d.ts +23 -0
  470. package/dist/services/thread/delete.d.ts.map +1 -0
  471. package/dist/services/thread/delete.js +21 -0
  472. package/dist/services/thread/delete.js.map +1 -0
  473. package/dist/services/thread/get.d.ts +36 -0
  474. package/dist/services/thread/get.d.ts.map +1 -0
  475. package/dist/services/thread/get.js +23 -0
  476. package/dist/services/thread/get.js.map +1 -0
  477. package/dist/services/thread/index.d.ts +5 -0
  478. package/dist/services/thread/index.d.ts.map +1 -0
  479. package/dist/services/thread/index.js +5 -0
  480. package/dist/services/thread/index.js.map +1 -0
  481. package/dist/services/thread/list.d.ts +75 -0
  482. package/dist/services/thread/list.d.ts.map +1 -0
  483. package/dist/services/thread/list.js +65 -0
  484. package/dist/services/thread/list.js.map +1 -0
  485. package/dist/services/thread/util.d.ts +23 -0
  486. package/dist/services/thread/util.d.ts.map +1 -0
  487. package/dist/services/thread/util.js +3 -0
  488. package/dist/services/thread/util.js.map +1 -0
  489. package/dist/services/user/index.d.ts +2 -0
  490. package/dist/services/user/index.d.ts.map +1 -0
  491. package/dist/services/user/index.js +2 -0
  492. package/dist/services/user/index.js.map +1 -0
  493. package/dist/services/user/util.d.ts +23 -0
  494. package/dist/services/user/util.d.ts.map +1 -0
  495. package/dist/services/user/util.js +3 -0
  496. package/dist/services/user/util.js.map +1 -0
  497. package/dist/services/user/whoami.d.ts +39 -0
  498. package/dist/services/user/whoami.d.ts.map +1 -0
  499. package/dist/services/user/whoami.js +27 -0
  500. package/dist/services/user/whoami.js.map +1 -0
  501. package/dist/services/vector/index.d.ts +2 -0
  502. package/dist/services/vector/index.d.ts.map +1 -0
  503. package/dist/services/vector/index.js +2 -0
  504. package/dist/services/vector/index.js.map +1 -0
  505. package/dist/services/{vector.d.ts → vector/service.d.ts} +178 -217
  506. package/dist/services/vector/service.d.ts.map +1 -0
  507. package/dist/services/{vector.js → vector/service.js} +339 -13
  508. package/dist/services/vector/service.js.map +1 -0
  509. package/dist/services/webhook/deliveries.d.ts +94 -0
  510. package/dist/services/webhook/deliveries.d.ts.map +1 -0
  511. package/dist/services/webhook/deliveries.js +79 -0
  512. package/dist/services/webhook/deliveries.js.map +1 -0
  513. package/dist/services/webhook/destinations.d.ts +136 -0
  514. package/dist/services/webhook/destinations.d.ts.map +1 -0
  515. package/dist/services/webhook/destinations.js +137 -0
  516. package/dist/services/webhook/destinations.js.map +1 -0
  517. package/dist/services/webhook/index.d.ts +42 -0
  518. package/dist/services/webhook/index.d.ts.map +1 -0
  519. package/dist/services/webhook/index.js +60 -0
  520. package/dist/services/webhook/index.js.map +1 -0
  521. package/dist/services/webhook/receipts.d.ts +77 -0
  522. package/dist/services/webhook/receipts.d.ts.map +1 -0
  523. package/dist/services/webhook/receipts.js +78 -0
  524. package/dist/services/webhook/receipts.js.map +1 -0
  525. package/dist/services/{webhook.d.ts → webhook/service.d.ts} +23 -144
  526. package/dist/services/webhook/service.d.ts.map +1 -0
  527. package/dist/services/{webhook.js → webhook/service.js} +15 -17
  528. package/dist/services/webhook/service.js.map +1 -0
  529. package/dist/services/webhook/types.d.ts +103 -0
  530. package/dist/services/webhook/types.d.ts.map +1 -0
  531. package/dist/services/webhook/types.js +126 -0
  532. package/dist/services/webhook/types.js.map +1 -0
  533. package/dist/services/webhook/util.d.ts +202 -0
  534. package/dist/services/webhook/util.d.ts.map +1 -0
  535. package/dist/services/webhook/util.js +199 -0
  536. package/dist/services/webhook/util.js.map +1 -0
  537. package/dist/services/webhook/webhooks.d.ts +146 -0
  538. package/dist/services/webhook/webhooks.d.ts.map +1 -0
  539. package/dist/services/webhook/webhooks.js +165 -0
  540. package/dist/services/webhook/webhooks.js.map +1 -0
  541. package/package.json +59 -7
  542. package/src/env-example.ts +90 -0
  543. package/src/index.ts +12 -250
  544. package/src/services/adapter.ts +69 -24
  545. package/src/services/api-example.md +164 -0
  546. package/src/services/api.ts +951 -0
  547. package/src/services/apikey/create.ts +48 -0
  548. package/src/services/apikey/delete.ts +30 -0
  549. package/src/services/apikey/get.ts +48 -0
  550. package/src/services/apikey/index.ts +5 -0
  551. package/src/services/apikey/list.ts +66 -0
  552. package/src/services/apikey/util.ts +3 -0
  553. package/src/services/config.ts +65 -0
  554. package/src/services/db/index.ts +27 -0
  555. package/src/services/db/logs.ts +75 -0
  556. package/src/services/db/query.ts +69 -0
  557. package/src/services/db/tables.ts +94 -0
  558. package/src/services/db/util.ts +9 -0
  559. package/src/services/email/index.ts +1 -0
  560. package/src/services/{email.ts → email/service.ts} +172 -115
  561. package/src/services/env.ts +9 -0
  562. package/src/services/eval/get.ts +33 -0
  563. package/src/services/eval/index.ts +29 -0
  564. package/src/services/eval/list.ts +49 -0
  565. package/src/services/eval/run-get.ts +39 -0
  566. package/src/services/eval/run-list.ts +59 -0
  567. package/src/services/exception.ts +16 -7
  568. package/src/services/index.ts +29 -28
  569. package/src/services/keyvalue/index.ts +1 -0
  570. package/src/services/{keyvalue.ts → keyvalue/service.ts} +149 -95
  571. package/src/services/logger.ts +24 -0
  572. package/src/services/machine/index.ts +2 -0
  573. package/src/services/machine/machine.ts +228 -0
  574. package/src/services/machine/util.ts +5 -0
  575. package/src/services/org/env-delete.ts +37 -0
  576. package/src/services/org/env-get.ts +48 -0
  577. package/src/services/org/env-update.ts +38 -0
  578. package/src/services/org/index.ts +6 -0
  579. package/src/services/org/list.ts +28 -0
  580. package/src/services/org/resources.ts +140 -0
  581. package/src/services/org/util.ts +4 -0
  582. package/src/services/pagination.ts +40 -11
  583. package/src/services/project/agent.ts +86 -0
  584. package/src/services/project/create.ts +47 -0
  585. package/src/services/project/delete.ts +27 -0
  586. package/src/services/project/deploy.ts +433 -0
  587. package/src/services/project/deployment.ts +250 -0
  588. package/src/services/project/env-delete.ts +45 -0
  589. package/src/services/project/env-update.ts +55 -0
  590. package/src/services/project/exists.ts +58 -0
  591. package/src/services/project/get.ts +49 -0
  592. package/src/services/project/hostname.ts +79 -0
  593. package/src/services/project/index.ts +13 -0
  594. package/src/services/project/list.ts +54 -0
  595. package/src/services/project/malware.ts +85 -0
  596. package/src/services/project/update-region.ts +44 -0
  597. package/src/services/project/util.ts +8 -0
  598. package/src/services/queue/analytics.ts +343 -0
  599. package/src/services/queue/consumers.ts +56 -0
  600. package/src/services/queue/destinations.ts +329 -0
  601. package/src/services/queue/dlq.ts +243 -0
  602. package/src/services/queue/index.ts +339 -0
  603. package/src/services/queue/messages.ts +784 -0
  604. package/src/services/queue/queues.ts +460 -0
  605. package/src/services/{queue.ts → queue/service.ts} +71 -43
  606. package/src/services/queue/sources.ts +364 -0
  607. package/src/services/queue/types.ts +1656 -0
  608. package/src/services/queue/util.ts +275 -0
  609. package/src/services/queue/validation.ts +541 -0
  610. package/src/services/queue/websocket.ts +554 -0
  611. package/src/services/region/create.ts +207 -0
  612. package/src/services/region/delete.ts +57 -0
  613. package/src/services/region/index.ts +4 -0
  614. package/src/services/region/list.ts +32 -0
  615. package/src/services/region/resources.ts +69 -0
  616. package/src/services/region/util.ts +3 -0
  617. package/src/services/sandbox/cli-list.ts +117 -0
  618. package/src/services/sandbox/client.ts +435 -0
  619. package/src/services/sandbox/create.ts +249 -0
  620. package/src/services/sandbox/destroy.ts +43 -0
  621. package/src/services/sandbox/disk-checkpoint.ts +184 -0
  622. package/src/services/sandbox/execute.ts +134 -0
  623. package/src/services/sandbox/execution.ts +144 -0
  624. package/src/services/sandbox/files.ts +608 -0
  625. package/src/services/sandbox/get.ts +262 -0
  626. package/src/services/sandbox/getStatus.ts +51 -0
  627. package/src/services/sandbox/index.ts +230 -0
  628. package/src/services/sandbox/list.ts +234 -0
  629. package/src/services/sandbox/pause.ts +41 -0
  630. package/src/services/sandbox/resolve.ts +96 -0
  631. package/src/services/sandbox/resume.ts +41 -0
  632. package/src/services/sandbox/run.ts +441 -0
  633. package/src/services/sandbox/runtime.ts +106 -0
  634. package/src/services/sandbox/snapshot-build.ts +94 -0
  635. package/src/services/sandbox/snapshot.ts +791 -0
  636. package/src/services/sandbox/types.ts +799 -0
  637. package/src/services/sandbox/util.ts +279 -0
  638. package/src/services/schedule/index.ts +1 -0
  639. package/src/services/{schedule.ts → schedule/service.ts} +120 -80
  640. package/src/services/session/get.ts +108 -0
  641. package/src/services/session/index.ts +4 -0
  642. package/src/services/session/list.ts +143 -0
  643. package/src/services/session/logs.ts +47 -0
  644. package/src/services/session/util.ts +3 -0
  645. package/src/services/stats.ts +232 -0
  646. package/src/services/storage/config.ts +111 -0
  647. package/src/services/storage/index.ts +4 -0
  648. package/src/services/storage/objects.ts +256 -0
  649. package/src/services/storage/types.ts +174 -0
  650. package/src/services/storage/util.ts +4 -0
  651. package/src/services/stream/get.ts +51 -0
  652. package/src/services/stream/index.ts +14 -0
  653. package/src/services/stream/list.ts +105 -0
  654. package/src/services/{stream.ts → stream/service.ts} +78 -35
  655. package/src/services/stream/util.ts +3 -0
  656. package/src/services/task/index.ts +1 -0
  657. package/src/services/{task.ts → task/service.ts} +314 -352
  658. package/src/services/thread/delete.ts +31 -0
  659. package/src/services/thread/get.ts +34 -0
  660. package/src/services/thread/index.ts +4 -0
  661. package/src/services/thread/list.ts +81 -0
  662. package/src/services/thread/util.ts +3 -0
  663. package/src/services/user/index.ts +1 -0
  664. package/src/services/user/util.ts +3 -0
  665. package/src/services/user/whoami.ts +32 -0
  666. package/src/services/vector/index.ts +1 -0
  667. package/src/services/{vector.ts → vector/service.ts} +266 -146
  668. package/src/services/webhook/deliveries.ts +129 -0
  669. package/src/services/webhook/destinations.ts +224 -0
  670. package/src/services/webhook/index.ts +135 -0
  671. package/src/services/webhook/receipts.ts +124 -0
  672. package/src/services/{webhook.ts → webhook/service.ts} +48 -203
  673. package/src/services/webhook/types.ts +185 -0
  674. package/src/services/webhook/util.ts +234 -0
  675. package/src/services/webhook/webhooks.ts +260 -0
  676. package/dist/services/email.d.ts.map +0 -1
  677. package/dist/services/email.js.map +0 -1
  678. package/dist/services/evalrun.d.ts.map +0 -1
  679. package/dist/services/evalrun.js.map +0 -1
  680. package/dist/services/keyvalue.d.ts.map +0 -1
  681. package/dist/services/keyvalue.js.map +0 -1
  682. package/dist/services/queue.d.ts.map +0 -1
  683. package/dist/services/queue.js.map +0 -1
  684. package/dist/services/sandbox.d.ts +0 -1241
  685. package/dist/services/sandbox.d.ts.map +0 -1
  686. package/dist/services/sandbox.js +0 -6
  687. package/dist/services/sandbox.js.map +0 -1
  688. package/dist/services/schedule.d.ts.map +0 -1
  689. package/dist/services/schedule.js.map +0 -1
  690. package/dist/services/session.d.ts.map +0 -1
  691. package/dist/services/session.js.map +0 -1
  692. package/dist/services/stream.d.ts.map +0 -1
  693. package/dist/services/stream.js.map +0 -1
  694. package/dist/services/task.d.ts.map +0 -1
  695. package/dist/services/task.js.map +0 -1
  696. package/dist/services/vector.d.ts.map +0 -1
  697. package/dist/services/vector.js.map +0 -1
  698. package/dist/services/webhook.d.ts.map +0 -1
  699. package/dist/services/webhook.js.map +0 -1
  700. package/src/services/sandbox.ts +0 -1466
  701. /package/src/services/{evalrun.ts → eval/events.ts} +0 -0
  702. /package/src/services/{session.ts → session/events.ts} +0 -0
@@ -1,12 +1,15 @@
1
- import { FetchAdapter } from './adapter.ts';
2
- import { buildUrl, toServiceException } from './_util.ts';
3
- import { StructuredError } from '../error.ts';
4
- import { safeStringify } from '../json.ts';
1
+ import { FetchAdapter } from '../adapter.ts';
2
+ import { buildUrl, toServiceException } from '../_util.ts';
3
+ import { StructuredError } from '../../error.ts';
4
+ import { safeStringify } from '../../json.ts';
5
+ import { z } from 'zod';
5
6
 
6
7
  /**
7
8
  * Priority level for a task, from highest (`'high'`) to no priority (`'none'`).
8
9
  */
9
- export type TaskPriority = 'high' | 'medium' | 'low' | 'none';
10
+ export const TaskPrioritySchema = z.enum(['high', 'medium', 'low', 'none']);
11
+
12
+ export type TaskPriority = z.infer<typeof TaskPrioritySchema>;
10
13
 
11
14
  /**
12
15
  * The classification of a task.
@@ -17,7 +20,9 @@ export type TaskPriority = 'high' | 'medium' | 'low' | 'none';
17
20
  * - `'bug'` — Defects to be fixed.
18
21
  * - `'task'` — General work items.
19
22
  */
20
- export type TaskType = 'epic' | 'feature' | 'enhancement' | 'bug' | 'task';
23
+ export const TaskTypeSchema = z.enum(['epic', 'feature', 'enhancement', 'bug', 'task']);
24
+
25
+ export type TaskType = z.infer<typeof TaskTypeSchema>;
21
26
 
22
27
  /**
23
28
  * The lifecycle status of a task.
@@ -28,19 +33,20 @@ export type TaskType = 'epic' | 'feature' | 'enhancement' | 'bug' | 'task';
28
33
  * - `'closed'` — Resolved and closed.
29
34
  * - `'cancelled'` — Abandoned.
30
35
  */
31
- export type TaskStatus = 'open' | 'in_progress' | 'closed' | 'done' | 'cancelled';
36
+ export const TaskStatusSchema = z.enum(['open', 'in_progress', 'closed', 'done', 'cancelled']);
37
+
38
+ export type TaskStatus = z.infer<typeof TaskStatusSchema>;
32
39
 
33
40
  /**
34
41
  * A lightweight reference to a user or project entity, containing just the ID
35
42
  * and display name. Used for creator, assignee, closer, and project associations.
36
43
  */
37
- export interface EntityRef {
38
- /** Unique identifier of the referenced entity. */
39
- id: string;
44
+ export const EntityRefSchema = z.object({
45
+ id: z.string().describe('Unique identifier of the referenced entity.'),
46
+ name: z.string().describe('Human-readable display name of the entity.'),
47
+ });
40
48
 
41
- /** Human-readable display name of the entity. */
42
- name: string;
43
- }
49
+ export type EntityRef = z.infer<typeof EntityRefSchema>;
44
50
 
45
51
  /**
46
52
  * The type of user entity.
@@ -48,21 +54,22 @@ export interface EntityRef {
48
54
  * - `'human'` — A human user.
49
55
  * - `'agent'` — An AI agent.
50
56
  */
51
- export type UserType = 'human' | 'agent';
57
+ export const UserTypeSchema = z.enum(['human', 'agent']);
58
+
59
+ export type UserType = z.infer<typeof UserTypeSchema>;
52
60
 
53
61
  /**
54
62
  * A reference to a user entity with type discrimination.
55
63
  * Extends {@link EntityRef} with a {@link UserEntityRef.type | type} field
56
64
  * to distinguish between human users and AI agents.
57
65
  */
58
- export interface UserEntityRef extends EntityRef {
59
- /**
60
- * The type of user. Defaults to `'human'` if not specified.
61
- *
62
- * @default 'human'
63
- */
64
- type?: UserType;
65
- }
66
+ export const UserEntityRefSchema = EntityRefSchema.extend({
67
+ type: UserTypeSchema.optional().describe(
68
+ "The type of user. Defaults to `'human'` if not specified."
69
+ ),
70
+ });
71
+
72
+ export type UserEntityRef = z.infer<typeof UserEntityRefSchema>;
66
73
 
67
74
  /**
68
75
  * A work item in the task management system.
@@ -76,341 +83,295 @@ export interface UserEntityRef extends EntityRef {
76
83
  * the corresponding date field (e.g., {@link Task.open_date | open_date},
77
84
  * {@link Task.in_progress_date | in_progress_date}) is set by the server.
78
85
  */
79
- export interface Task {
80
- /** Unique identifier for the task. */
81
- id: string;
82
-
83
- /** ISO 8601 timestamp when the task was created. */
84
- created_at: string;
85
-
86
- /** ISO 8601 timestamp when the task was last modified. */
87
- updated_at: string;
88
-
89
- /**
90
- * The task title.
91
- *
92
- * @remarks Must be non-empty and at most 1024 characters.
93
- */
94
- title: string;
95
-
96
- /**
97
- * Detailed description of the task.
98
- *
99
- * @remarks Maximum 65,536 characters.
100
- */
101
- description?: string;
102
-
103
- /**
104
- * Arbitrary key-value metadata attached to the task.
105
- * Can be used for custom fields, integrations, or filtering.
106
- */
107
- metadata?: Record<string, unknown>;
108
-
109
- /** The priority level of the task. */
110
- priority: TaskPriority;
111
-
112
- /**
113
- * ID of the parent task, enabling hierarchical task organization
114
- * (e.g., an epic containing features).
115
- */
116
- parent_id?: string;
117
-
118
- /** The classification of this task. */
119
- type: TaskType;
120
-
121
- /** The current lifecycle status of the task. */
122
- status: TaskStatus;
123
-
124
- /** ISO 8601 timestamp when the task was moved to `'open'` status. */
125
- open_date?: string;
126
-
127
- /** ISO 8601 timestamp when the task was moved to `'in_progress'` status. */
128
- in_progress_date?: string;
129
-
130
- /** ISO 8601 timestamp when the task was closed. */
131
- closed_date?: string;
132
-
133
- /**
134
- * ID of the user who created the task.
135
- *
136
- * @remarks Legacy field; prefer {@link Task.creator | creator}.
137
- */
138
- created_id: string;
139
-
140
- /**
141
- * ID of the user the task is assigned to.
142
- *
143
- * @remarks Legacy field; prefer {@link Task.assignee | assignee}.
144
- */
145
- assigned_id?: string;
146
-
147
- /**
148
- * ID of the user who closed the task.
149
- *
150
- * @remarks Legacy field; prefer {@link Task.closer | closer}.
151
- */
152
- closed_id?: string;
153
-
154
- /** Reference to the user who created the task. */
155
- creator?: UserEntityRef;
156
-
157
- /** Reference to the user the task is assigned to. */
158
- assignee?: UserEntityRef;
159
-
160
- /** Reference to the user who closed the task. */
161
- closer?: UserEntityRef;
162
-
163
- /** Reference to the project this task belongs to. */
164
- project?: EntityRef;
165
-
166
- /** ISO 8601 timestamp when the task was cancelled. */
167
- cancelled_date?: string;
168
-
169
- /** Array of tags associated with this task. */
170
- tags?: Tag[];
171
-
172
- /** Array of comments on this task. */
173
- comments?: Comment[];
174
- }
86
+ export const TaskSchema = z.object({
87
+ id: z.string().describe('Unique identifier for the task.'),
88
+ created_at: z.string().describe('ISO 8601 timestamp when the task was created.'),
89
+ updated_at: z.string().describe('ISO 8601 timestamp when the task was last modified.'),
90
+ title: z.string().describe('The task title.'),
91
+ description: z.string().optional().describe('Detailed description of the task.'),
92
+ metadata: z
93
+ .record(z.string(), z.unknown())
94
+ .optional()
95
+ .describe('Arbitrary key-value metadata attached to the task.'),
96
+ priority: TaskPrioritySchema.describe('The priority level of the task.'),
97
+ parent_id: z
98
+ .string()
99
+ .optional()
100
+ .describe('ID of the parent task, enabling hierarchical task organization'),
101
+ type: TaskTypeSchema.describe('The classification of this task.'),
102
+ status: TaskStatusSchema.describe('The current lifecycle status of the task.'),
103
+ open_date: z
104
+ .string()
105
+ .optional()
106
+ .describe("ISO 8601 timestamp when the task was moved to `'open'` status."),
107
+ in_progress_date: z
108
+ .string()
109
+ .optional()
110
+ .describe("ISO 8601 timestamp when the task was moved to `'in_progress'` status."),
111
+ closed_date: z.string().optional().describe('ISO 8601 timestamp when the task was closed.'),
112
+ created_id: z.string().describe('ID of the user who created the task.'),
113
+ assigned_id: z.string().optional().describe('ID of the user the task is assigned to.'),
114
+ closed_id: z.string().optional().describe('ID of the user who closed the task.'),
115
+ creator: z
116
+ .lazy(() => UserEntityRefSchema)
117
+ .optional()
118
+ .describe('Reference to the user who created the task.'),
119
+ assignee: z
120
+ .lazy(() => UserEntityRefSchema)
121
+ .optional()
122
+ .describe('Reference to the user the task is assigned to.'),
123
+ closer: z
124
+ .lazy(() => UserEntityRefSchema)
125
+ .optional()
126
+ .describe('Reference to the user who closed the task.'),
127
+ project: EntityRefSchema.optional().describe('Reference to the project this task belongs to.'),
128
+ cancelled_date: z
129
+ .string()
130
+ .optional()
131
+ .describe('ISO 8601 timestamp when the task was cancelled.'),
132
+ tags: z
133
+ .lazy(() => z.array(TagSchema))
134
+ .optional()
135
+ .describe('Array of tags associated with this task.'),
136
+ comments: z
137
+ .lazy(() => z.array(CommentSchema))
138
+ .optional()
139
+ .describe('Array of comments on this task.'),
140
+ });
141
+
142
+ export type Task = z.infer<typeof TaskSchema>;
175
143
 
176
144
  /**
177
145
  * A comment on a task, supporting threaded discussion.
178
146
  */
179
- export interface Comment {
180
- /** Unique identifier for the comment. */
181
- id: string;
182
-
183
- /** ISO 8601 timestamp when the comment was created. */
184
- created_at: string;
185
-
186
- /** ISO 8601 timestamp when the comment was last edited. */
187
- updated_at: string;
188
-
189
- /** ID of the task this comment belongs to. */
190
- task_id: string;
191
-
192
- /** ID of the user who authored the comment. */
193
- user_id: string;
194
-
195
- /** Reference to the comment author with display name. */
196
- author?: UserEntityRef;
197
-
198
- /**
199
- * The comment text content.
200
- *
201
- * @remarks Must be non-empty.
202
- */
203
- body: string;
204
- }
147
+ export const CommentSchema = z.object({
148
+ id: z.string().describe('Unique identifier for the comment.'),
149
+ created_at: z.string().describe('ISO 8601 timestamp when the comment was created.'),
150
+ updated_at: z.string().describe('ISO 8601 timestamp when the comment was last edited.'),
151
+ task_id: z.string().describe('ID of the task this comment belongs to.'),
152
+ user_id: z.string().describe('ID of the user who authored the comment.'),
153
+ author: UserEntityRefSchema.optional().describe(
154
+ 'Reference to the comment author with display name.'
155
+ ),
156
+ body: z.string().describe('The comment text content.'),
157
+ });
158
+
159
+ export type Comment = z.infer<typeof CommentSchema>;
205
160
 
206
161
  /**
207
162
  * A label that can be applied to tasks for categorization and filtering.
208
163
  */
209
- export interface Tag {
210
- /** Unique identifier for the tag. */
211
- id: string;
212
-
213
- /** ISO 8601 timestamp when the tag was created. */
214
- created_at: string;
215
-
216
- /** Display name of the tag. */
217
- name: string;
164
+ export const TagSchema = z.object({
165
+ id: z.string().describe('Unique identifier for the tag.'),
166
+ created_at: z.string().describe('ISO 8601 timestamp when the tag was created.'),
167
+ name: z.string().describe('Display name of the tag.'),
168
+ color: z.string().optional().describe('Optional hex color code for the tag.'),
169
+ });
218
170
 
219
- /**
220
- * Optional hex color code for the tag.
221
- *
222
- * @example '#ff0000'
223
- */
224
- color?: string;
225
- }
171
+ export type Tag = z.infer<typeof TagSchema>;
226
172
 
227
173
  /**
228
174
  * A record of a single field change on a task, providing an audit trail.
229
175
  */
230
- export interface TaskChangelogEntry {
231
- /** Unique identifier for the changelog entry. */
232
- id: string;
233
-
234
- /** ISO 8601 timestamp when the change occurred. */
235
- created_at: string;
236
-
237
- /** ID of the task that was changed. */
238
- task_id: string;
239
-
240
- /**
241
- * Name of the field that was changed.
242
- *
243
- * @example 'status'
244
- * @example 'priority'
245
- * @example 'assigned_id'
246
- */
247
- field: string;
248
-
249
- /** The previous value of the field (as a string), or `undefined` if the field was newly set. */
250
- old_value?: string;
251
-
252
- /** The new value of the field (as a string), or `undefined` if the field was cleared. */
253
- new_value?: string;
254
- }
176
+ export const TaskChangelogEntrySchema = z.object({
177
+ id: z.string().describe('Unique identifier for the changelog entry.'),
178
+ created_at: z.string().describe('ISO 8601 timestamp when the change occurred.'),
179
+ task_id: z.string().describe('ID of the task that was changed.'),
180
+ field: z.string().describe('Name of the field that was changed.'),
181
+ old_value: z
182
+ .string()
183
+ .optional()
184
+ .describe(
185
+ 'The previous value of the field (as a string), or `undefined` if the field was newly set.'
186
+ ),
187
+ new_value: z
188
+ .string()
189
+ .optional()
190
+ .describe(
191
+ 'The new value of the field (as a string), or `undefined` if the field was cleared.'
192
+ ),
193
+ });
194
+
195
+ export type TaskChangelogEntry = z.infer<typeof TaskChangelogEntrySchema>;
255
196
 
256
197
  /**
257
198
  * Parameters for creating a new task.
258
199
  */
259
- export interface CreateTaskParams {
200
+ export const CreateTaskParamsSchema = z.object({
260
201
  /**
261
202
  * The task title (required).
262
203
  *
263
204
  * @remarks Must be non-empty and at most 1024 characters.
264
205
  */
265
- title: string;
206
+ title: z.string().describe('The task title (required).'),
266
207
 
267
208
  /**
268
209
  * Detailed description of the task.
269
210
  *
270
211
  * @remarks Maximum 65,536 characters.
271
212
  */
272
- description?: string;
213
+ description: z.string().optional().describe('Detailed description of the task.'),
273
214
 
274
215
  /** Arbitrary key-value metadata. */
275
- metadata?: Record<string, unknown>;
216
+ metadata: z.record(z.string(), z.unknown()).optional().describe('Arbitrary key-value metadata.'),
276
217
 
277
218
  /**
278
219
  * Priority level. Defaults to `'none'` if not provided.
279
220
  *
280
221
  * @default 'none'
281
222
  */
282
- priority?: TaskPriority;
223
+ priority: TaskPrioritySchema.optional().describe(
224
+ "Priority level. Defaults to `'none'` if not provided."
225
+ ),
283
226
 
284
227
  /** ID of the parent task for hierarchical organization. */
285
- parent_id?: string;
228
+ parent_id: z
229
+ .string()
230
+ .optional()
231
+ .describe('ID of the parent task for hierarchical organization.'),
286
232
 
287
233
  /** The task classification (required). */
288
- type: TaskType;
234
+ type: TaskTypeSchema.describe('The task classification (required).'),
289
235
 
290
236
  /**
291
237
  * Initial status. Defaults to `'open'` if not provided.
292
238
  *
293
239
  * @default 'open'
294
240
  */
295
- status?: TaskStatus;
241
+ status: TaskStatusSchema.optional().describe(
242
+ "Initial status. Defaults to `'open'` if not provided."
243
+ ),
296
244
 
297
245
  /**
298
246
  * ID of the creator.
299
247
  *
300
248
  * @remarks Legacy field; prefer {@link CreateTaskParams.creator | creator}.
301
249
  */
302
- created_id: string;
250
+ created_id: z.string().describe('ID of the creator.'),
303
251
 
304
252
  /**
305
253
  * ID of the assigned user.
306
254
  *
307
255
  * @remarks Legacy field; prefer {@link CreateTaskParams.assignee | assignee}.
308
256
  */
309
- assigned_id?: string;
257
+ assigned_id: z.string().optional().describe('ID of the assigned user.'),
310
258
 
311
259
  /** Reference to the user creating the task (id, name, and optional type). */
312
- creator?: UserEntityRef;
260
+ creator: UserEntityRefSchema.optional().describe(
261
+ 'Reference to the user creating the task (id, name, and optional type).'
262
+ ),
313
263
 
314
264
  /** Reference to the user being assigned the task. */
315
- assignee?: UserEntityRef;
265
+ assignee: UserEntityRefSchema.optional().describe(
266
+ 'Reference to the user being assigned the task.'
267
+ ),
316
268
 
317
269
  /** Reference to the project this task belongs to. */
318
- project?: EntityRef;
270
+ project: EntityRefSchema.optional().describe('Reference to the project this task belongs to.'),
319
271
 
320
272
  /** Array of tag IDs to associate with the task at creation. */
321
- tag_ids?: string[];
322
- }
273
+ tag_ids: z
274
+ .array(z.string())
275
+ .optional()
276
+ .describe('Array of tag IDs to associate with the task at creation.'),
277
+ });
278
+
279
+ export type CreateTaskParams = z.infer<typeof CreateTaskParamsSchema>;
323
280
 
324
281
  /**
325
282
  * Parameters for partially updating an existing task.
326
283
  *
327
284
  * @remarks Only provided fields are modified; omitted fields remain unchanged.
328
285
  */
329
- export interface UpdateTaskParams {
286
+ export const UpdateTaskParamsSchema = z.object({
330
287
  /**
331
288
  * Updated task title.
332
289
  *
333
290
  * @remarks Must be non-empty and at most 1024 characters if provided.
334
291
  */
335
- title?: string;
292
+ title: z.string().optional().describe('Updated task title.'),
336
293
 
337
294
  /**
338
295
  * Updated description.
339
296
  *
340
297
  * @remarks Maximum 65,536 characters.
341
298
  */
342
- description?: string;
299
+ description: z.string().optional().describe('Updated description.'),
343
300
 
344
301
  /** Updated key-value metadata. */
345
- metadata?: Record<string, unknown>;
302
+ metadata: z.record(z.string(), z.unknown()).optional().describe('Updated key-value metadata.'),
346
303
 
347
304
  /** Updated priority level. */
348
- priority?: TaskPriority;
305
+ priority: TaskPrioritySchema.optional().describe('Updated priority level.'),
349
306
 
350
307
  /** Updated parent task ID. */
351
- parent_id?: string;
308
+ parent_id: z.string().optional().describe('Updated parent task ID.'),
352
309
 
353
310
  /** Updated task classification. */
354
- type?: TaskType;
311
+ type: TaskTypeSchema.optional().describe('Updated task classification.'),
355
312
 
356
313
  /** Updated lifecycle status. */
357
- status?: TaskStatus;
314
+ status: TaskStatusSchema.optional().describe('Updated lifecycle status.'),
358
315
 
359
316
  /**
360
317
  * Updated assigned user ID.
361
318
  *
362
319
  * @remarks Legacy field; prefer {@link UpdateTaskParams.assignee | assignee}.
363
320
  */
364
- assigned_id?: string;
321
+ assigned_id: z.string().optional().describe('Updated assigned user ID.'),
365
322
 
366
323
  /**
367
324
  * ID of the user closing the task.
368
325
  *
369
326
  * @remarks Legacy field; prefer {@link UpdateTaskParams.closer | closer}.
370
327
  */
371
- closed_id?: string;
328
+ closed_id: z.string().optional().describe('ID of the user closing the task.'),
372
329
 
373
330
  /** Reference to the user being assigned the task. */
374
- assignee?: UserEntityRef;
331
+ assignee: UserEntityRefSchema.optional().describe(
332
+ 'Reference to the user being assigned the task.'
333
+ ),
375
334
 
376
335
  /** Reference to the user closing the task. */
377
- closer?: UserEntityRef;
336
+ closer: UserEntityRefSchema.optional().describe('Reference to the user closing the task.'),
378
337
 
379
338
  /** Reference to the project this task belongs to. */
380
- project?: EntityRef;
381
- }
339
+ project: EntityRefSchema.optional().describe('Reference to the project this task belongs to.'),
340
+ });
341
+
342
+ export type UpdateTaskParams = z.infer<typeof UpdateTaskParamsSchema>;
382
343
 
383
344
  /**
384
345
  * Parameters for filtering and paginating the task list.
385
346
  */
386
- export interface ListTasksParams {
347
+ export const ListTasksParamsSchema = z.object({
387
348
  /** Filter by task status. */
388
- status?: TaskStatus;
349
+ status: TaskStatusSchema.optional().describe('Filter by task status.'),
389
350
 
390
351
  /** Filter by task type. */
391
- type?: TaskType;
352
+ type: TaskTypeSchema.optional().describe('Filter by task type.'),
392
353
 
393
354
  /** Filter by priority level. */
394
- priority?: TaskPriority;
355
+ priority: TaskPrioritySchema.optional().describe('Filter by priority level.'),
395
356
 
396
357
  /** Filter by assigned user ID. */
397
- assigned_id?: string;
358
+ assigned_id: z.string().optional().describe('Filter by assigned user ID.'),
398
359
 
399
360
  /** Filter by parent task ID (get subtasks). */
400
- parent_id?: string;
361
+ parent_id: z.string().optional().describe('Filter by parent task ID (get subtasks).'),
401
362
 
402
363
  /** Filter by project ID. */
403
- project_id?: string;
364
+ project_id: z.string().optional().describe('Filter by project ID.'),
404
365
 
405
366
  /** Filter by tag ID. */
406
- tag_id?: string;
367
+ tag_id: z.string().optional().describe('Filter by tag ID.'),
407
368
 
408
369
  /**
409
370
  * Filter for soft-deleted tasks.
410
371
  *
411
372
  * @default false
412
373
  */
413
- deleted?: boolean;
374
+ deleted: z.boolean().optional().describe('Filter for soft-deleted tasks.'),
414
375
 
415
376
  /**
416
377
  * Sort field. Prefix with `-` for descending order.
@@ -418,282 +379,283 @@ export interface ListTasksParams {
418
379
  * @remarks Supported values: `'created_at'`, `'updated_at'`, `'priority'`.
419
380
  * Prefix with `-` for descending (e.g., `'-created_at'`).
420
381
  */
421
- sort?: string;
382
+ sort: z.string().optional().describe('Sort field. Prefix with `-` for descending order.'),
422
383
 
423
384
  /** Sort direction: `'asc'` or `'desc'`. */
424
- order?: 'asc' | 'desc';
385
+ order: z.enum(['asc', 'desc']).optional().describe("Sort direction: `'asc'` or `'desc'`."),
425
386
 
426
387
  /** Maximum number of results to return. */
427
- limit?: number;
388
+ limit: z.number().optional().describe('Maximum number of results to return.'),
428
389
 
429
390
  /** Number of results to skip for pagination. */
430
- offset?: number;
431
- }
391
+ offset: z.number().optional().describe('Number of results to skip for pagination.'),
392
+ });
393
+
394
+ export type ListTasksParams = z.infer<typeof ListTasksParamsSchema>;
432
395
 
433
396
  /**
434
397
  * Paginated list of tasks with total count.
435
398
  */
436
- export interface ListTasksResult {
399
+ export const ListTasksResultSchema = z.object({
437
400
  /** Array of tasks matching the query. */
438
- tasks: Task[];
401
+ tasks: z.array(TaskSchema).describe('Array of tasks matching the query.'),
439
402
 
440
403
  /** Total number of tasks matching the filters (before pagination). */
441
- total: number;
404
+ total: z.number().describe('Total number of tasks matching the filters (before pagination).'),
442
405
 
443
406
  /** The limit that was applied. */
444
- limit: number;
407
+ limit: z.number().describe('The limit that was applied.'),
445
408
 
446
409
  /** The offset that was applied. */
447
- offset: number;
448
- }
410
+ offset: z.number().describe('The offset that was applied.'),
411
+ });
412
+
413
+ export type ListTasksResult = z.infer<typeof ListTasksResultSchema>;
449
414
 
450
415
  /**
451
416
  * Parameters for batch-deleting tasks by filter.
452
417
  * At least one filter must be provided.
453
418
  */
454
- export interface BatchDeleteTasksParams {
419
+ export const BatchDeleteTasksParamsSchema = z.object({
455
420
  /** Filter by task status. */
456
- status?: TaskStatus;
421
+ status: TaskStatusSchema.optional().describe('Filter by task status.'),
457
422
 
458
423
  /** Filter by task type. */
459
- type?: TaskType;
424
+ type: TaskTypeSchema.optional().describe('Filter by task type.'),
460
425
 
461
426
  /** Filter by priority level. */
462
- priority?: TaskPriority;
427
+ priority: TaskPrioritySchema.optional().describe('Filter by priority level.'),
463
428
 
464
429
  /** Filter by parent task ID (delete subtasks). */
465
- parent_id?: string;
430
+ parent_id: z.string().optional().describe('Filter by parent task ID (delete subtasks).'),
466
431
 
467
432
  /** Filter by creator ID. */
468
- created_id?: string;
433
+ created_id: z.string().optional().describe('Filter by creator ID.'),
469
434
 
470
435
  /**
471
436
  * Delete tasks older than this duration.
472
437
  * Accepts Go-style duration strings: `'30m'`, `'24h'`, `'7d'`, `'2w'`.
473
438
  */
474
- older_than?: string;
439
+ older_than: z.string().optional().describe('Delete tasks older than this duration.'),
475
440
 
476
441
  /**
477
442
  * Maximum number of tasks to delete.
478
443
  * @default 50
479
444
  * @maximum 200
480
445
  */
481
- limit?: number;
482
- }
446
+ limit: z.number().optional().describe('Maximum number of tasks to delete.'),
447
+ });
448
+
449
+ export type BatchDeleteTasksParams = z.infer<typeof BatchDeleteTasksParamsSchema>;
483
450
 
484
451
  /**
485
452
  * A single task that was deleted in a batch operation.
486
453
  */
487
- export interface BatchDeletedTask {
488
- /** The ID of the deleted task. */
489
- id: string;
454
+ export const BatchDeletedTaskSchema = z.object({
455
+ id: z.string().describe('The ID of the deleted task.'),
456
+ title: z.string().describe('The title of the deleted task.'),
457
+ });
490
458
 
491
- /** The title of the deleted task. */
492
- title: string;
493
- }
459
+ export type BatchDeletedTask = z.infer<typeof BatchDeletedTaskSchema>;
494
460
 
495
461
  /**
496
462
  * Result of a batch delete operation.
497
463
  */
498
- export interface BatchDeleteTasksResult {
464
+ export const BatchDeleteTasksResultSchema = z.object({
499
465
  /** Array of tasks that were deleted. */
500
- deleted: BatchDeletedTask[];
466
+ deleted: z.array(BatchDeletedTaskSchema).describe('Array of tasks that were deleted.'),
501
467
 
502
468
  /** Total number of tasks deleted. */
503
- count: number;
504
- }
469
+ count: z.number().describe('Total number of tasks deleted.'),
470
+ });
471
+
472
+ export type BatchDeleteTasksResult = z.infer<typeof BatchDeleteTasksResultSchema>;
505
473
 
506
474
  /**
507
475
  * Paginated list of changelog entries for a task.
508
476
  */
509
- export interface TaskChangelogResult {
477
+ export const TaskChangelogResultSchema = z.object({
510
478
  /** Array of change records. */
511
- changelog: TaskChangelogEntry[];
479
+ changelog: z.array(TaskChangelogEntrySchema).describe('Array of change records.'),
512
480
 
513
481
  /** Total number of changelog entries. */
514
- total: number;
482
+ total: z.number().describe('Total number of changelog entries.'),
515
483
 
516
484
  /** Applied limit. */
517
- limit: number;
485
+ limit: z.number().describe('Applied limit.'),
518
486
 
519
487
  /** Applied offset. */
520
- offset: number;
521
- }
488
+ offset: z.number().describe('Applied offset.'),
489
+ });
490
+
491
+ export type TaskChangelogResult = z.infer<typeof TaskChangelogResultSchema>;
522
492
 
523
493
  /**
524
494
  * Paginated list of comments on a task.
525
495
  */
526
- export interface ListCommentsResult {
496
+ export const ListCommentsResultSchema = z.object({
527
497
  /** Array of comments. */
528
- comments: Comment[];
498
+ comments: z.array(CommentSchema).describe('Array of comments.'),
529
499
 
530
500
  /** Total number of comments. */
531
- total: number;
501
+ total: z.number().describe('Total number of comments.'),
532
502
 
533
503
  /** Applied limit. */
534
- limit: number;
504
+ limit: z.number().describe('Applied limit.'),
535
505
 
536
506
  /** Applied offset. */
537
- offset: number;
538
- }
507
+ offset: z.number().describe('Applied offset.'),
508
+ });
509
+
510
+ export type ListCommentsResult = z.infer<typeof ListCommentsResultSchema>;
539
511
 
540
512
  /**
541
513
  * List of all tags in the organization.
542
514
  */
543
- export interface ListTagsResult {
544
- /** Array of tags. */
545
- tags: Tag[];
546
- }
515
+ export const ListTagsResultSchema = z.object({
516
+ tags: z.array(TagSchema).describe('Array of tags.'),
517
+ });
518
+
519
+ export type ListTagsResult = z.infer<typeof ListTagsResultSchema>;
547
520
 
548
521
  /**
549
522
  * A file attachment on a task. Attachments are stored in S3 and accessed via presigned URLs.
550
523
  */
551
- export interface Attachment {
552
- /** Unique identifier for the attachment. */
553
- id: string;
554
-
555
- /** ISO 8601 timestamp when the attachment was uploaded. */
556
- created_at: string;
557
-
558
- /** ID of the task this attachment belongs to. */
559
- task_id: string;
560
-
561
- /** ID of the user who uploaded the attachment. */
562
- user_id: string;
563
-
564
- /** Reference to the uploader with display name. */
565
- author?: UserEntityRef;
566
-
567
- /** Original filename of the uploaded file. */
568
- filename: string;
569
-
570
- /**
571
- * MIME type of the file.
572
- *
573
- * @example 'application/pdf'
574
- */
575
- content_type?: string;
576
-
577
- /** File size in bytes. */
578
- size?: number;
579
- }
524
+ export const AttachmentSchema = z.object({
525
+ id: z.string().describe('Unique identifier for the attachment.'),
526
+ created_at: z.string().describe('ISO 8601 timestamp when the attachment was uploaded.'),
527
+ task_id: z.string().describe('ID of the task this attachment belongs to.'),
528
+ user_id: z.string().describe('ID of the user who uploaded the attachment.'),
529
+ author: UserEntityRefSchema.optional().describe('Reference to the uploader with display name.'),
530
+ filename: z.string().describe('Original filename of the uploaded file.'),
531
+ content_type: z.string().optional().describe('MIME type of the file.'),
532
+ size: z.number().optional().describe('File size in bytes.'),
533
+ });
534
+
535
+ export type Attachment = z.infer<typeof AttachmentSchema>;
580
536
 
581
537
  /**
582
538
  * Parameters for initiating a file upload to a task.
583
539
  */
584
- export interface CreateAttachmentParams {
585
- /** The filename for the attachment (required). */
586
- filename: string;
587
-
588
- /** MIME type of the file. */
589
- content_type?: string;
540
+ export const CreateAttachmentParamsSchema = z.object({
541
+ filename: z.string().describe('The filename for the attachment (required).'),
542
+ content_type: z.string().optional().describe('MIME type of the file.'),
543
+ size: z.number().optional().describe('File size in bytes.'),
544
+ });
590
545
 
591
- /** File size in bytes. */
592
- size?: number;
593
- }
546
+ export type CreateAttachmentParams = z.infer<typeof CreateAttachmentParamsSchema>;
594
547
 
595
548
  /**
596
549
  * Response from initiating an attachment upload. Contains a presigned S3 URL for direct upload.
597
550
  */
598
- export interface PresignUploadResponse {
599
- /** The created attachment record. */
600
- attachment: Attachment;
601
-
602
- /** A presigned S3 URL to upload the file content via HTTP PUT. */
603
- presigned_url: string;
551
+ export const PresignUploadResponseSchema = z.object({
552
+ attachment: AttachmentSchema.describe('The created attachment record.'),
553
+ presigned_url: z
554
+ .string()
555
+ .describe('A presigned S3 URL to upload the file content via HTTP PUT.'),
556
+ expiry_seconds: z.number().describe('Number of seconds until the presigned URL expires.'),
557
+ });
604
558
 
605
- /** Number of seconds until the presigned URL expires. */
606
- expiry_seconds: number;
607
- }
559
+ export type PresignUploadResponse = z.infer<typeof PresignUploadResponseSchema>;
608
560
 
609
561
  /**
610
562
  * Response containing a presigned S3 URL for downloading an attachment.
611
563
  */
612
- export interface PresignDownloadResponse {
613
- /** A presigned S3 URL to download the file via HTTP GET. */
614
- presigned_url: string;
564
+ export const PresignDownloadResponseSchema = z.object({
565
+ presigned_url: z.string().describe('A presigned S3 URL to download the file via HTTP GET.'),
566
+ expiry_seconds: z.number().describe('Number of seconds until the presigned URL expires.'),
567
+ });
615
568
 
616
- /** Number of seconds until the presigned URL expires. */
617
- expiry_seconds: number;
618
- }
569
+ export type PresignDownloadResponse = z.infer<typeof PresignDownloadResponseSchema>;
619
570
 
620
571
  /**
621
572
  * List of attachments on a task.
622
573
  */
623
- export interface ListAttachmentsResult {
574
+ export const ListAttachmentsResultSchema = z.object({
624
575
  /** Array of attachment records. */
625
- attachments: Attachment[];
576
+ attachments: z.array(AttachmentSchema).describe('Array of attachment records.'),
626
577
 
627
578
  /** Total number of attachments. */
628
- total: number;
629
- }
579
+ total: z.number().describe('Total number of attachments.'),
580
+ });
581
+
582
+ export type ListAttachmentsResult = z.infer<typeof ListAttachmentsResultSchema>;
630
583
 
631
584
  /**
632
585
  * List of all users who have been referenced in tasks (as creators, assignees, or closers).
633
586
  */
634
- export interface ListUsersResult {
635
- /** Array of user entity references with type information. */
636
- users: UserEntityRef[];
637
- }
587
+ export const ListUsersResultSchema = z.object({
588
+ users: z
589
+ .array(UserEntityRefSchema)
590
+ .describe('Array of user entity references with type information.'),
591
+ });
592
+
593
+ export type ListUsersResult = z.infer<typeof ListUsersResultSchema>;
638
594
 
639
595
  /**
640
596
  * List of all projects that have been referenced in tasks.
641
597
  */
642
- export interface ListProjectsResult {
643
- /** Array of project entity references. */
644
- projects: EntityRef[];
645
- }
598
+ export const ListProjectsResultSchema = z.object({
599
+ projects: z.array(EntityRefSchema).describe('Array of project entity references.'),
600
+ });
601
+
602
+ export type ListProjectsResult = z.infer<typeof ListProjectsResultSchema>;
646
603
 
647
604
  /**
648
605
  * Parameters for querying task activity time-series data.
649
606
  */
650
- export interface TaskActivityParams {
607
+ export const TaskActivityParamsSchema = z.object({
651
608
  /**
652
609
  * Number of days of activity to retrieve.
653
610
  *
654
611
  * @remarks Minimum 7, maximum 365.
655
612
  * @default 90
656
613
  */
657
- days?: number;
658
- }
614
+ days: z.number().min(7).max(365).optional().describe('Number of days of activity to retrieve.'),
615
+ });
616
+
617
+ export type TaskActivityParams = z.infer<typeof TaskActivityParamsSchema>;
659
618
 
660
619
  /**
661
620
  * A single day's snapshot of task counts by status.
662
621
  */
663
- export interface TaskActivityDataPoint {
622
+ export const TaskActivityDataPointSchema = z.object({
664
623
  /**
665
624
  * The date in `YYYY-MM-DD` format.
666
625
  *
667
626
  * @example '2026-02-28'
668
627
  */
669
- date: string;
628
+ date: z.string().describe('The date in `YYYY-MM-DD` format.'),
670
629
 
671
630
  /** Number of tasks in `'open'` status on this date. */
672
- open: number;
631
+ open: z.number().describe("Number of tasks in `'open'` status on this date."),
673
632
 
674
633
  /** Number of tasks in `'in_progress'` status on this date. */
675
- inProgress: number;
634
+ inProgress: z.number().describe("Number of tasks in `'in_progress'` status on this date."),
676
635
 
677
636
  /** Number of tasks in `'done'` status on this date. */
678
- done: number;
637
+ done: z.number().describe("Number of tasks in `'done'` status on this date."),
679
638
 
680
639
  /** Number of tasks in `'closed'` status on this date. */
681
- closed: number;
640
+ closed: z.number().describe("Number of tasks in `'closed'` status on this date."),
682
641
 
683
642
  /** Number of tasks in `'cancelled'` status on this date. */
684
- cancelled: number;
685
- }
643
+ cancelled: z.number().describe("Number of tasks in `'cancelled'` status on this date."),
644
+ });
645
+
646
+ export type TaskActivityDataPoint = z.infer<typeof TaskActivityDataPointSchema>;
686
647
 
687
648
  /**
688
649
  * Task activity time-series data.
689
650
  */
690
- export interface TaskActivityResult {
691
- /** Array of daily activity snapshots, ordered chronologically. */
692
- activity: TaskActivityDataPoint[];
693
-
694
- /** The number of days of data returned. */
695
- days: number;
696
- }
651
+ export const TaskActivityResultSchema = z.object({
652
+ activity: z
653
+ .array(TaskActivityDataPointSchema)
654
+ .describe('Array of daily activity snapshots, ordered chronologically.'),
655
+ days: z.number().describe('The number of days of data returned.'),
656
+ });
657
+
658
+ export type TaskActivityResult = z.infer<typeof TaskActivityResultSchema>;
697
659
 
698
660
  /**
699
661
  * Interface defining the contract for task storage operations.