monday-cli 0.2.0

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 (596) hide show
  1. package/CHANGELOG.md +439 -0
  2. package/LICENSE +21 -0
  3. package/README.md +431 -0
  4. package/dist/api/board-child-finder.d.ts +95 -0
  5. package/dist/api/board-child-finder.d.ts.map +1 -0
  6. package/dist/api/board-child-finder.js +89 -0
  7. package/dist/api/board-child-finder.js.map +1 -0
  8. package/dist/api/board-metadata.d.ts +162 -0
  9. package/dist/api/board-metadata.d.ts.map +1 -0
  10. package/dist/api/board-metadata.js +238 -0
  11. package/dist/api/board-metadata.js.map +1 -0
  12. package/dist/api/board-mutation-invalidation.d.ts +153 -0
  13. package/dist/api/board-mutation-invalidation.d.ts.map +1 -0
  14. package/dist/api/board-mutation-invalidation.js +136 -0
  15. package/dist/api/board-mutation-invalidation.js.map +1 -0
  16. package/dist/api/board-mutation-result.d.ts +97 -0
  17. package/dist/api/board-mutation-result.d.ts.map +1 -0
  18. package/dist/api/board-mutation-result.js +99 -0
  19. package/dist/api/board-mutation-result.js.map +1 -0
  20. package/dist/api/board-projection.d.ts +68 -0
  21. package/dist/api/board-projection.d.ts.map +1 -0
  22. package/dist/api/board-projection.js +79 -0
  23. package/dist/api/board-projection.js.map +1 -0
  24. package/dist/api/cache.d.ts +150 -0
  25. package/dist/api/cache.d.ts.map +1 -0
  26. package/dist/api/cache.js +418 -0
  27. package/dist/api/cache.js.map +1 -0
  28. package/dist/api/client.d.ts +162 -0
  29. package/dist/api/client.d.ts.map +1 -0
  30. package/dist/api/client.js +205 -0
  31. package/dist/api/client.js.map +1 -0
  32. package/dist/api/column-mapping.d.ts +68 -0
  33. package/dist/api/column-mapping.d.ts.map +1 -0
  34. package/dist/api/column-mapping.js +117 -0
  35. package/dist/api/column-mapping.js.map +1 -0
  36. package/dist/api/column-mutation-result.d.ts +136 -0
  37. package/dist/api/column-mutation-result.d.ts.map +1 -0
  38. package/dist/api/column-mutation-result.js +130 -0
  39. package/dist/api/column-mutation-result.js.map +1 -0
  40. package/dist/api/column-types.d.ts +215 -0
  41. package/dist/api/column-types.d.ts.map +1 -0
  42. package/dist/api/column-types.js +195 -0
  43. package/dist/api/column-types.js.map +1 -0
  44. package/dist/api/column-values.d.ts +446 -0
  45. package/dist/api/column-values.d.ts.map +1 -0
  46. package/dist/api/column-values.js +795 -0
  47. package/dist/api/column-values.js.map +1 -0
  48. package/dist/api/columns.d.ts +205 -0
  49. package/dist/api/columns.d.ts.map +1 -0
  50. package/dist/api/columns.js +343 -0
  51. package/dist/api/columns.js.map +1 -0
  52. package/dist/api/complexity.d.ts +90 -0
  53. package/dist/api/complexity.d.ts.map +1 -0
  54. package/dist/api/complexity.js +194 -0
  55. package/dist/api/complexity.js.map +1 -0
  56. package/dist/api/dates.d.ts +150 -0
  57. package/dist/api/dates.d.ts.map +1 -0
  58. package/dist/api/dates.js +490 -0
  59. package/dist/api/dates.js.map +1 -0
  60. package/dist/api/destructive-gate.d.ts +107 -0
  61. package/dist/api/destructive-gate.d.ts.map +1 -0
  62. package/dist/api/destructive-gate.js +19 -0
  63. package/dist/api/destructive-gate.js.map +1 -0
  64. package/dist/api/dry-run.d.ts +338 -0
  65. package/dist/api/dry-run.d.ts.map +1 -0
  66. package/dist/api/dry-run.js +607 -0
  67. package/dist/api/dry-run.js.map +1 -0
  68. package/dist/api/emails.d.ts +60 -0
  69. package/dist/api/emails.d.ts.map +1 -0
  70. package/dist/api/emails.js +113 -0
  71. package/dist/api/emails.js.map +1 -0
  72. package/dist/api/errors.d.ts +82 -0
  73. package/dist/api/errors.d.ts.map +1 -0
  74. package/dist/api/errors.js +434 -0
  75. package/dist/api/errors.js.map +1 -0
  76. package/dist/api/filters.d.ts +198 -0
  77. package/dist/api/filters.d.ts.map +1 -0
  78. package/dist/api/filters.js +328 -0
  79. package/dist/api/filters.js.map +1 -0
  80. package/dist/api/group-color.d.ts +33 -0
  81. package/dist/api/group-color.d.ts.map +1 -0
  82. package/dist/api/group-color.js +80 -0
  83. package/dist/api/group-color.js.map +1 -0
  84. package/dist/api/group-mutation-result.d.ts +150 -0
  85. package/dist/api/group-mutation-result.d.ts.map +1 -0
  86. package/dist/api/group-mutation-result.js +141 -0
  87. package/dist/api/group-mutation-result.js.map +1 -0
  88. package/dist/api/iso-country-codes.d.ts +45 -0
  89. package/dist/api/iso-country-codes.d.ts.map +1 -0
  90. package/dist/api/iso-country-codes.js +71 -0
  91. package/dist/api/iso-country-codes.js.map +1 -0
  92. package/dist/api/item-board-lookup.d.ts +86 -0
  93. package/dist/api/item-board-lookup.d.ts.map +1 -0
  94. package/dist/api/item-board-lookup.js +140 -0
  95. package/dist/api/item-board-lookup.js.map +1 -0
  96. package/dist/api/item-helpers.d.ts +133 -0
  97. package/dist/api/item-helpers.d.ts.map +1 -0
  98. package/dist/api/item-helpers.js +139 -0
  99. package/dist/api/item-helpers.js.map +1 -0
  100. package/dist/api/item-mutation-result.d.ts +60 -0
  101. package/dist/api/item-mutation-result.d.ts.map +1 -0
  102. package/dist/api/item-mutation-result.js +63 -0
  103. package/dist/api/item-mutation-result.js.map +1 -0
  104. package/dist/api/item-projection.d.ts +165 -0
  105. package/dist/api/item-projection.d.ts.map +1 -0
  106. package/dist/api/item-projection.js +235 -0
  107. package/dist/api/item-projection.js.map +1 -0
  108. package/dist/api/item-source-read.d.ts +45 -0
  109. package/dist/api/item-source-read.d.ts.map +1 -0
  110. package/dist/api/item-source-read.js +57 -0
  111. package/dist/api/item-source-read.js.map +1 -0
  112. package/dist/api/items-page-walker.d.ts +126 -0
  113. package/dist/api/items-page-walker.d.ts.map +1 -0
  114. package/dist/api/items-page-walker.js +256 -0
  115. package/dist/api/items-page-walker.js.map +1 -0
  116. package/dist/api/links.d.ts +70 -0
  117. package/dist/api/links.d.ts.map +1 -0
  118. package/dist/api/links.js +128 -0
  119. package/dist/api/links.js.map +1 -0
  120. package/dist/api/me-token.d.ts +52 -0
  121. package/dist/api/me-token.d.ts.map +1 -0
  122. package/dist/api/me-token.js +55 -0
  123. package/dist/api/me-token.js.map +1 -0
  124. package/dist/api/pagination.d.ts +201 -0
  125. package/dist/api/pagination.d.ts.map +1 -0
  126. package/dist/api/pagination.js +223 -0
  127. package/dist/api/pagination.js.map +1 -0
  128. package/dist/api/partial-success-mutation.d.ts +28 -0
  129. package/dist/api/partial-success-mutation.d.ts.map +1 -0
  130. package/dist/api/partial-success-mutation.js +68 -0
  131. package/dist/api/partial-success-mutation.js.map +1 -0
  132. package/dist/api/people.d.ts +182 -0
  133. package/dist/api/people.d.ts.map +1 -0
  134. package/dist/api/people.js +260 -0
  135. package/dist/api/people.js.map +1 -0
  136. package/dist/api/phones.d.ts +74 -0
  137. package/dist/api/phones.d.ts.map +1 -0
  138. package/dist/api/phones.js +167 -0
  139. package/dist/api/phones.js.map +1 -0
  140. package/dist/api/raw-document.d.ts +53 -0
  141. package/dist/api/raw-document.d.ts.map +1 -0
  142. package/dist/api/raw-document.js +177 -0
  143. package/dist/api/raw-document.js.map +1 -0
  144. package/dist/api/raw-write.d.ts +127 -0
  145. package/dist/api/raw-write.d.ts.map +1 -0
  146. package/dist/api/raw-write.js +233 -0
  147. package/dist/api/raw-write.js.map +1 -0
  148. package/dist/api/resolution-context.d.ts +32 -0
  149. package/dist/api/resolution-context.d.ts.map +1 -0
  150. package/dist/api/resolution-context.js +42 -0
  151. package/dist/api/resolution-context.js.map +1 -0
  152. package/dist/api/resolution-pass.d.ts +163 -0
  153. package/dist/api/resolution-pass.d.ts.map +1 -0
  154. package/dist/api/resolution-pass.js +254 -0
  155. package/dist/api/resolution-pass.js.map +1 -0
  156. package/dist/api/resolve-client.d.ts +69 -0
  157. package/dist/api/resolve-client.d.ts.map +1 -0
  158. package/dist/api/resolve-client.js +70 -0
  159. package/dist/api/resolve-client.js.map +1 -0
  160. package/dist/api/resolver-error-fold.d.ts +176 -0
  161. package/dist/api/resolver-error-fold.d.ts.map +1 -0
  162. package/dist/api/resolver-error-fold.js +230 -0
  163. package/dist/api/resolver-error-fold.js.map +1 -0
  164. package/dist/api/resolvers.d.ts +131 -0
  165. package/dist/api/resolvers.d.ts.map +1 -0
  166. package/dist/api/resolvers.js +262 -0
  167. package/dist/api/resolvers.js.map +1 -0
  168. package/dist/api/response-root.d.ts +65 -0
  169. package/dist/api/response-root.d.ts.map +1 -0
  170. package/dist/api/response-root.js +61 -0
  171. package/dist/api/response-root.js.map +1 -0
  172. package/dist/api/retry.d.ts +112 -0
  173. package/dist/api/retry.d.ts.map +1 -0
  174. package/dist/api/retry.js +181 -0
  175. package/dist/api/retry.js.map +1 -0
  176. package/dist/api/set-expression.d.ts +23 -0
  177. package/dist/api/set-expression.d.ts.map +1 -0
  178. package/dist/api/set-expression.js +31 -0
  179. package/dist/api/set-expression.js.map +1 -0
  180. package/dist/api/sort.d.ts +59 -0
  181. package/dist/api/sort.d.ts.map +1 -0
  182. package/dist/api/sort.js +73 -0
  183. package/dist/api/sort.js.map +1 -0
  184. package/dist/api/source-aggregator.d.ts +94 -0
  185. package/dist/api/source-aggregator.d.ts.map +1 -0
  186. package/dist/api/source-aggregator.js +111 -0
  187. package/dist/api/source-aggregator.js.map +1 -0
  188. package/dist/api/transport.d.ts +58 -0
  189. package/dist/api/transport.d.ts.map +1 -0
  190. package/dist/api/transport.js +190 -0
  191. package/dist/api/transport.js.map +1 -0
  192. package/dist/api/update-mutation-result.d.ts +133 -0
  193. package/dist/api/update-mutation-result.d.ts.map +1 -0
  194. package/dist/api/update-mutation-result.js +145 -0
  195. package/dist/api/update-mutation-result.js.map +1 -0
  196. package/dist/api/users-fan-out-mutation.d.ts +124 -0
  197. package/dist/api/users-fan-out-mutation.d.ts.map +1 -0
  198. package/dist/api/users-fan-out-mutation.js +331 -0
  199. package/dist/api/users-fan-out-mutation.js.map +1 -0
  200. package/dist/api/walk-pages.d.ts +91 -0
  201. package/dist/api/walk-pages.d.ts.map +1 -0
  202. package/dist/api/walk-pages.js +84 -0
  203. package/dist/api/walk-pages.js.map +1 -0
  204. package/dist/api/workspace-projection.d.ts +64 -0
  205. package/dist/api/workspace-projection.d.ts.map +1 -0
  206. package/dist/api/workspace-projection.js +83 -0
  207. package/dist/api/workspace-projection.js.map +1 -0
  208. package/dist/cli/envelope-out.d.ts +128 -0
  209. package/dist/cli/envelope-out.d.ts.map +1 -0
  210. package/dist/cli/envelope-out.js +146 -0
  211. package/dist/cli/envelope-out.js.map +1 -0
  212. package/dist/cli/index.d.ts +3 -0
  213. package/dist/cli/index.d.ts.map +1 -0
  214. package/dist/cli/index.js +27 -0
  215. package/dist/cli/index.js.map +1 -0
  216. package/dist/cli/program.d.ts +29 -0
  217. package/dist/cli/program.d.ts.map +1 -0
  218. package/dist/cli/program.js +109 -0
  219. package/dist/cli/program.js.map +1 -0
  220. package/dist/cli/run.d.ts +108 -0
  221. package/dist/cli/run.d.ts.map +1 -0
  222. package/dist/cli/run.js +105 -0
  223. package/dist/cli/run.js.map +1 -0
  224. package/dist/commands/account/client-helper.d.ts +37 -0
  225. package/dist/commands/account/client-helper.d.ts.map +1 -0
  226. package/dist/commands/account/client-helper.js +55 -0
  227. package/dist/commands/account/client-helper.js.map +1 -0
  228. package/dist/commands/account/complexity.d.ts +29 -0
  229. package/dist/commands/account/complexity.d.ts.map +1 -0
  230. package/dist/commands/account/complexity.js +70 -0
  231. package/dist/commands/account/complexity.js.map +1 -0
  232. package/dist/commands/account/info.d.ts +36 -0
  233. package/dist/commands/account/info.d.ts.map +1 -0
  234. package/dist/commands/account/info.js +74 -0
  235. package/dist/commands/account/info.js.map +1 -0
  236. package/dist/commands/account/version.d.ts +44 -0
  237. package/dist/commands/account/version.d.ts.map +1 -0
  238. package/dist/commands/account/version.js +98 -0
  239. package/dist/commands/account/version.js.map +1 -0
  240. package/dist/commands/account/whoami.d.ts +34 -0
  241. package/dist/commands/account/whoami.d.ts.map +1 -0
  242. package/dist/commands/account/whoami.js +77 -0
  243. package/dist/commands/account/whoami.js.map +1 -0
  244. package/dist/commands/board/add-users.d.ts +60 -0
  245. package/dist/commands/board/add-users.d.ts.map +1 -0
  246. package/dist/commands/board/add-users.js +133 -0
  247. package/dist/commands/board/add-users.js.map +1 -0
  248. package/dist/commands/board/archive.d.ts +64 -0
  249. package/dist/commands/board/archive.d.ts.map +1 -0
  250. package/dist/commands/board/archive.js +226 -0
  251. package/dist/commands/board/archive.js.map +1 -0
  252. package/dist/commands/board/column-create.d.ts +146 -0
  253. package/dist/commands/board/column-create.d.ts.map +1 -0
  254. package/dist/commands/board/column-create.js +564 -0
  255. package/dist/commands/board/column-create.js.map +1 -0
  256. package/dist/commands/board/column-delete.d.ts +76 -0
  257. package/dist/commands/board/column-delete.d.ts.map +1 -0
  258. package/dist/commands/board/column-delete.js +224 -0
  259. package/dist/commands/board/column-delete.js.map +1 -0
  260. package/dist/commands/board/column-update.d.ts +92 -0
  261. package/dist/commands/board/column-update.d.ts.map +1 -0
  262. package/dist/commands/board/column-update.js +364 -0
  263. package/dist/commands/board/column-update.js.map +1 -0
  264. package/dist/commands/board/columns.d.ts +30 -0
  265. package/dist/commands/board/columns.d.ts.map +1 -0
  266. package/dist/commands/board/columns.js +102 -0
  267. package/dist/commands/board/columns.js.map +1 -0
  268. package/dist/commands/board/create.d.ts +67 -0
  269. package/dist/commands/board/create.d.ts.map +1 -0
  270. package/dist/commands/board/create.js +226 -0
  271. package/dist/commands/board/create.js.map +1 -0
  272. package/dist/commands/board/delete.d.ts +60 -0
  273. package/dist/commands/board/delete.d.ts.map +1 -0
  274. package/dist/commands/board/delete.js +192 -0
  275. package/dist/commands/board/delete.js.map +1 -0
  276. package/dist/commands/board/describe.d.ts +68 -0
  277. package/dist/commands/board/describe.d.ts.map +1 -0
  278. package/dist/commands/board/describe.js +241 -0
  279. package/dist/commands/board/describe.js.map +1 -0
  280. package/dist/commands/board/doctor.d.ts +108 -0
  281. package/dist/commands/board/doctor.d.ts.map +1 -0
  282. package/dist/commands/board/doctor.js +417 -0
  283. package/dist/commands/board/doctor.js.map +1 -0
  284. package/dist/commands/board/duplicate.d.ts +85 -0
  285. package/dist/commands/board/duplicate.d.ts.map +1 -0
  286. package/dist/commands/board/duplicate.js +281 -0
  287. package/dist/commands/board/duplicate.js.map +1 -0
  288. package/dist/commands/board/find.d.ts +47 -0
  289. package/dist/commands/board/find.d.ts.map +1 -0
  290. package/dist/commands/board/find.js +153 -0
  291. package/dist/commands/board/find.js.map +1 -0
  292. package/dist/commands/board/get.d.ts +41 -0
  293. package/dist/commands/board/get.d.ts.map +1 -0
  294. package/dist/commands/board/get.js +66 -0
  295. package/dist/commands/board/get.js.map +1 -0
  296. package/dist/commands/board/group-archive.d.ts +83 -0
  297. package/dist/commands/board/group-archive.d.ts.map +1 -0
  298. package/dist/commands/board/group-archive.js +264 -0
  299. package/dist/commands/board/group-archive.js.map +1 -0
  300. package/dist/commands/board/group-create.d.ts +118 -0
  301. package/dist/commands/board/group-create.d.ts.map +1 -0
  302. package/dist/commands/board/group-create.js +239 -0
  303. package/dist/commands/board/group-create.js.map +1 -0
  304. package/dist/commands/board/group-delete.d.ts +79 -0
  305. package/dist/commands/board/group-delete.d.ts.map +1 -0
  306. package/dist/commands/board/group-delete.js +222 -0
  307. package/dist/commands/board/group-delete.js.map +1 -0
  308. package/dist/commands/board/group-duplicate.d.ts +70 -0
  309. package/dist/commands/board/group-duplicate.d.ts.map +1 -0
  310. package/dist/commands/board/group-duplicate.js +219 -0
  311. package/dist/commands/board/group-duplicate.js.map +1 -0
  312. package/dist/commands/board/group-update.d.ts +145 -0
  313. package/dist/commands/board/group-update.d.ts.map +1 -0
  314. package/dist/commands/board/group-update.js +341 -0
  315. package/dist/commands/board/group-update.js.map +1 -0
  316. package/dist/commands/board/groups.d.ts +28 -0
  317. package/dist/commands/board/groups.d.ts.map +1 -0
  318. package/dist/commands/board/groups.js +85 -0
  319. package/dist/commands/board/groups.js.map +1 -0
  320. package/dist/commands/board/list.d.ts +39 -0
  321. package/dist/commands/board/list.d.ts.map +1 -0
  322. package/dist/commands/board/list.js +135 -0
  323. package/dist/commands/board/list.js.map +1 -0
  324. package/dist/commands/board/subscribers.d.ts +24 -0
  325. package/dist/commands/board/subscribers.d.ts.map +1 -0
  326. package/dist/commands/board/subscribers.js +89 -0
  327. package/dist/commands/board/subscribers.js.map +1 -0
  328. package/dist/commands/board/update.d.ts +82 -0
  329. package/dist/commands/board/update.d.ts.map +1 -0
  330. package/dist/commands/board/update.js +328 -0
  331. package/dist/commands/board/update.js.map +1 -0
  332. package/dist/commands/cache/clear.d.ts +34 -0
  333. package/dist/commands/cache/clear.d.ts.map +1 -0
  334. package/dist/commands/cache/clear.js +113 -0
  335. package/dist/commands/cache/clear.js.map +1 -0
  336. package/dist/commands/cache/list.d.ts +50 -0
  337. package/dist/commands/cache/list.d.ts.map +1 -0
  338. package/dist/commands/cache/list.js +77 -0
  339. package/dist/commands/cache/list.js.map +1 -0
  340. package/dist/commands/cache/stats.d.ts +22 -0
  341. package/dist/commands/cache/stats.d.ts.map +1 -0
  342. package/dist/commands/cache/stats.js +56 -0
  343. package/dist/commands/cache/stats.js.map +1 -0
  344. package/dist/commands/config/path.d.ts +22 -0
  345. package/dist/commands/config/path.d.ts.map +1 -0
  346. package/dist/commands/config/path.js +74 -0
  347. package/dist/commands/config/path.js.map +1 -0
  348. package/dist/commands/config/show.d.ts +61 -0
  349. package/dist/commands/config/show.d.ts.map +1 -0
  350. package/dist/commands/config/show.js +137 -0
  351. package/dist/commands/config/show.js.map +1 -0
  352. package/dist/commands/emit.d.ts +156 -0
  353. package/dist/commands/emit.d.ts.map +1 -0
  354. package/dist/commands/emit.js +212 -0
  355. package/dist/commands/emit.js.map +1 -0
  356. package/dist/commands/index.d.ts +5 -0
  357. package/dist/commands/index.d.ts.map +1 -0
  358. package/dist/commands/index.js +195 -0
  359. package/dist/commands/index.js.map +1 -0
  360. package/dist/commands/item/archive.d.ts +81 -0
  361. package/dist/commands/item/archive.d.ts.map +1 -0
  362. package/dist/commands/item/archive.js +187 -0
  363. package/dist/commands/item/archive.js.map +1 -0
  364. package/dist/commands/item/clear.d.ts +140 -0
  365. package/dist/commands/item/clear.d.ts.map +1 -0
  366. package/dist/commands/item/clear.js +748 -0
  367. package/dist/commands/item/clear.js.map +1 -0
  368. package/dist/commands/item/create.d.ts +77 -0
  369. package/dist/commands/item/create.d.ts.map +1 -0
  370. package/dist/commands/item/create.js +802 -0
  371. package/dist/commands/item/create.js.map +1 -0
  372. package/dist/commands/item/delete.d.ts +82 -0
  373. package/dist/commands/item/delete.d.ts.map +1 -0
  374. package/dist/commands/item/delete.js +179 -0
  375. package/dist/commands/item/delete.js.map +1 -0
  376. package/dist/commands/item/duplicate.d.ts +117 -0
  377. package/dist/commands/item/duplicate.d.ts.map +1 -0
  378. package/dist/commands/item/duplicate.js +238 -0
  379. package/dist/commands/item/duplicate.js.map +1 -0
  380. package/dist/commands/item/find.d.ts +55 -0
  381. package/dist/commands/item/find.d.ts.map +1 -0
  382. package/dist/commands/item/find.js +231 -0
  383. package/dist/commands/item/find.js.map +1 -0
  384. package/dist/commands/item/get.d.ts +47 -0
  385. package/dist/commands/item/get.d.ts.map +1 -0
  386. package/dist/commands/item/get.js +66 -0
  387. package/dist/commands/item/get.js.map +1 -0
  388. package/dist/commands/item/list.d.ts +73 -0
  389. package/dist/commands/item/list.d.ts.map +1 -0
  390. package/dist/commands/item/list.js +284 -0
  391. package/dist/commands/item/list.js.map +1 -0
  392. package/dist/commands/item/move.d.ts +181 -0
  393. package/dist/commands/item/move.d.ts.map +1 -0
  394. package/dist/commands/item/move.js +560 -0
  395. package/dist/commands/item/move.js.map +1 -0
  396. package/dist/commands/item/search.d.ts +67 -0
  397. package/dist/commands/item/search.d.ts.map +1 -0
  398. package/dist/commands/item/search.js +322 -0
  399. package/dist/commands/item/search.js.map +1 -0
  400. package/dist/commands/item/set.d.ts +88 -0
  401. package/dist/commands/item/set.d.ts.map +1 -0
  402. package/dist/commands/item/set.js +387 -0
  403. package/dist/commands/item/set.js.map +1 -0
  404. package/dist/commands/item/subitems.d.ts +50 -0
  405. package/dist/commands/item/subitems.d.ts.map +1 -0
  406. package/dist/commands/item/subitems.js +86 -0
  407. package/dist/commands/item/subitems.js.map +1 -0
  408. package/dist/commands/item/update.d.ts +99 -0
  409. package/dist/commands/item/update.d.ts.map +1 -0
  410. package/dist/commands/item/update.js +884 -0
  411. package/dist/commands/item/update.js.map +1 -0
  412. package/dist/commands/item/upsert.d.ts +105 -0
  413. package/dist/commands/item/upsert.d.ts.map +1 -0
  414. package/dist/commands/item/upsert.js +998 -0
  415. package/dist/commands/item/upsert.js.map +1 -0
  416. package/dist/commands/parse-argv.d.ts +20 -0
  417. package/dist/commands/parse-argv.d.ts.map +1 -0
  418. package/dist/commands/parse-argv.js +40 -0
  419. package/dist/commands/parse-argv.js.map +1 -0
  420. package/dist/commands/raw/index.d.ts +23 -0
  421. package/dist/commands/raw/index.d.ts.map +1 -0
  422. package/dist/commands/raw/index.js +416 -0
  423. package/dist/commands/raw/index.js.map +1 -0
  424. package/dist/commands/run-by-id-lookup.d.ts +72 -0
  425. package/dist/commands/run-by-id-lookup.d.ts.map +1 -0
  426. package/dist/commands/run-by-id-lookup.js +58 -0
  427. package/dist/commands/run-by-id-lookup.js.map +1 -0
  428. package/dist/commands/schema/index.d.ts +104 -0
  429. package/dist/commands/schema/index.d.ts.map +1 -0
  430. package/dist/commands/schema/index.js +183 -0
  431. package/dist/commands/schema/index.js.map +1 -0
  432. package/dist/commands/types.d.ts +66 -0
  433. package/dist/commands/types.d.ts.map +1 -0
  434. package/dist/commands/types.js +15 -0
  435. package/dist/commands/types.js.map +1 -0
  436. package/dist/commands/update/body-source.d.ts +38 -0
  437. package/dist/commands/update/body-source.d.ts.map +1 -0
  438. package/dist/commands/update/body-source.js +80 -0
  439. package/dist/commands/update/body-source.js.map +1 -0
  440. package/dist/commands/update/clear-all.d.ts +67 -0
  441. package/dist/commands/update/clear-all.d.ts.map +1 -0
  442. package/dist/commands/update/clear-all.js +281 -0
  443. package/dist/commands/update/clear-all.js.map +1 -0
  444. package/dist/commands/update/create.d.ts +51 -0
  445. package/dist/commands/update/create.d.ts.map +1 -0
  446. package/dist/commands/update/create.js +167 -0
  447. package/dist/commands/update/create.js.map +1 -0
  448. package/dist/commands/update/delete.d.ts +53 -0
  449. package/dist/commands/update/delete.d.ts.map +1 -0
  450. package/dist/commands/update/delete.js +148 -0
  451. package/dist/commands/update/delete.js.map +1 -0
  452. package/dist/commands/update/edit.d.ts +37 -0
  453. package/dist/commands/update/edit.d.ts.map +1 -0
  454. package/dist/commands/update/edit.js +129 -0
  455. package/dist/commands/update/edit.js.map +1 -0
  456. package/dist/commands/update/get.d.ts +37 -0
  457. package/dist/commands/update/get.d.ts.map +1 -0
  458. package/dist/commands/update/get.js +92 -0
  459. package/dist/commands/update/get.js.map +1 -0
  460. package/dist/commands/update/like.d.ts +17 -0
  461. package/dist/commands/update/like.d.ts.map +1 -0
  462. package/dist/commands/update/like.js +23 -0
  463. package/dist/commands/update/like.js.map +1 -0
  464. package/dist/commands/update/list.d.ts +58 -0
  465. package/dist/commands/update/list.d.ts.map +1 -0
  466. package/dist/commands/update/list.js +322 -0
  467. package/dist/commands/update/list.js.map +1 -0
  468. package/dist/commands/update/pin.d.ts +17 -0
  469. package/dist/commands/update/pin.d.ts.map +1 -0
  470. package/dist/commands/update/pin.js +23 -0
  471. package/dist/commands/update/pin.js.map +1 -0
  472. package/dist/commands/update/reply.d.ts +47 -0
  473. package/dist/commands/update/reply.d.ts.map +1 -0
  474. package/dist/commands/update/reply.js +149 -0
  475. package/dist/commands/update/reply.js.map +1 -0
  476. package/dist/commands/update/toggle.d.ts +70 -0
  477. package/dist/commands/update/toggle.d.ts.map +1 -0
  478. package/dist/commands/update/toggle.js +118 -0
  479. package/dist/commands/update/toggle.js.map +1 -0
  480. package/dist/commands/update/unlike.d.ts +17 -0
  481. package/dist/commands/update/unlike.d.ts.map +1 -0
  482. package/dist/commands/update/unlike.js +22 -0
  483. package/dist/commands/update/unlike.js.map +1 -0
  484. package/dist/commands/update/unpin.d.ts +17 -0
  485. package/dist/commands/update/unpin.d.ts.map +1 -0
  486. package/dist/commands/update/unpin.js +21 -0
  487. package/dist/commands/update/unpin.js.map +1 -0
  488. package/dist/commands/user/get.d.ts +31 -0
  489. package/dist/commands/user/get.d.ts.map +1 -0
  490. package/dist/commands/user/get.js +81 -0
  491. package/dist/commands/user/get.js.map +1 -0
  492. package/dist/commands/user/list.d.ts +61 -0
  493. package/dist/commands/user/list.d.ts.map +1 -0
  494. package/dist/commands/user/list.js +148 -0
  495. package/dist/commands/user/list.js.map +1 -0
  496. package/dist/commands/user/me.d.ts +17 -0
  497. package/dist/commands/user/me.d.ts.map +1 -0
  498. package/dist/commands/user/me.js +49 -0
  499. package/dist/commands/user/me.js.map +1 -0
  500. package/dist/commands/workspace/add-users.d.ts +76 -0
  501. package/dist/commands/workspace/add-users.d.ts.map +1 -0
  502. package/dist/commands/workspace/add-users.js +154 -0
  503. package/dist/commands/workspace/add-users.js.map +1 -0
  504. package/dist/commands/workspace/create.d.ts +59 -0
  505. package/dist/commands/workspace/create.d.ts.map +1 -0
  506. package/dist/commands/workspace/create.js +163 -0
  507. package/dist/commands/workspace/create.js.map +1 -0
  508. package/dist/commands/workspace/delete.d.ts +67 -0
  509. package/dist/commands/workspace/delete.d.ts.map +1 -0
  510. package/dist/commands/workspace/delete.js +182 -0
  511. package/dist/commands/workspace/delete.js.map +1 -0
  512. package/dist/commands/workspace/folders.d.ts +40 -0
  513. package/dist/commands/workspace/folders.d.ts.map +1 -0
  514. package/dist/commands/workspace/folders.js +124 -0
  515. package/dist/commands/workspace/folders.js.map +1 -0
  516. package/dist/commands/workspace/get.d.ts +35 -0
  517. package/dist/commands/workspace/get.d.ts.map +1 -0
  518. package/dist/commands/workspace/get.js +62 -0
  519. package/dist/commands/workspace/get.js.map +1 -0
  520. package/dist/commands/workspace/list.d.ts +57 -0
  521. package/dist/commands/workspace/list.d.ts.map +1 -0
  522. package/dist/commands/workspace/list.js +125 -0
  523. package/dist/commands/workspace/list.js.map +1 -0
  524. package/dist/commands/workspace/remove-users.d.ts +47 -0
  525. package/dist/commands/workspace/remove-users.d.ts.map +1 -0
  526. package/dist/commands/workspace/remove-users.js +122 -0
  527. package/dist/commands/workspace/remove-users.js.map +1 -0
  528. package/dist/commands/workspace/update.d.ts +68 -0
  529. package/dist/commands/workspace/update.d.ts.map +1 -0
  530. package/dist/commands/workspace/update.js +237 -0
  531. package/dist/commands/workspace/update.js.map +1 -0
  532. package/dist/config/load.d.ts +33 -0
  533. package/dist/config/load.d.ts.map +1 -0
  534. package/dist/config/load.js +81 -0
  535. package/dist/config/load.js.map +1 -0
  536. package/dist/index.d.ts +3 -0
  537. package/dist/index.d.ts.map +1 -0
  538. package/dist/index.js +4 -0
  539. package/dist/index.js.map +1 -0
  540. package/dist/types/global-flags.d.ts +69 -0
  541. package/dist/types/global-flags.d.ts.map +1 -0
  542. package/dist/types/global-flags.js +170 -0
  543. package/dist/types/global-flags.js.map +1 -0
  544. package/dist/types/ids.d.ts +38 -0
  545. package/dist/types/ids.d.ts.map +1 -0
  546. package/dist/types/ids.js +51 -0
  547. package/dist/types/ids.js.map +1 -0
  548. package/dist/types/json.d.ts +60 -0
  549. package/dist/types/json.d.ts.map +1 -0
  550. package/dist/types/json.js +33 -0
  551. package/dist/types/json.js.map +1 -0
  552. package/dist/utils/errors.d.ts +121 -0
  553. package/dist/utils/errors.d.ts.map +1 -0
  554. package/dist/utils/errors.js +264 -0
  555. package/dist/utils/errors.js.map +1 -0
  556. package/dist/utils/logger.d.ts +39 -0
  557. package/dist/utils/logger.d.ts.map +1 -0
  558. package/dist/utils/logger.js +49 -0
  559. package/dist/utils/logger.js.map +1 -0
  560. package/dist/utils/output/envelope.d.ts +140 -0
  561. package/dist/utils/output/envelope.d.ts.map +1 -0
  562. package/dist/utils/output/envelope.js +120 -0
  563. package/dist/utils/output/envelope.js.map +1 -0
  564. package/dist/utils/output/json.d.ts +10 -0
  565. package/dist/utils/output/json.d.ts.map +1 -0
  566. package/dist/utils/output/json.js +12 -0
  567. package/dist/utils/output/json.js.map +1 -0
  568. package/dist/utils/output/ndjson.d.ts +92 -0
  569. package/dist/utils/output/ndjson.d.ts.map +1 -0
  570. package/dist/utils/output/ndjson.js +33 -0
  571. package/dist/utils/output/ndjson.js.map +1 -0
  572. package/dist/utils/output/select.d.ts +22 -0
  573. package/dist/utils/output/select.d.ts.map +1 -0
  574. package/dist/utils/output/select.js +47 -0
  575. package/dist/utils/output/select.js.map +1 -0
  576. package/dist/utils/output/table.d.ts +32 -0
  577. package/dist/utils/output/table.d.ts.map +1 -0
  578. package/dist/utils/output/table.js +133 -0
  579. package/dist/utils/output/table.js.map +1 -0
  580. package/dist/utils/output/text.d.ts +5 -0
  581. package/dist/utils/output/text.d.ts.map +1 -0
  582. package/dist/utils/output/text.js +32 -0
  583. package/dist/utils/output/text.js.map +1 -0
  584. package/dist/utils/parse-boundary.d.ts +53 -0
  585. package/dist/utils/parse-boundary.d.ts.map +1 -0
  586. package/dist/utils/parse-boundary.js +62 -0
  587. package/dist/utils/parse-boundary.js.map +1 -0
  588. package/dist/utils/redact.d.ts +54 -0
  589. package/dist/utils/redact.d.ts.map +1 -0
  590. package/dist/utils/redact.js +154 -0
  591. package/dist/utils/redact.js.map +1 -0
  592. package/dist/utils/request-id.d.ts +17 -0
  593. package/dist/utils/request-id.d.ts.map +1 -0
  594. package/dist/utils/request-id.js +26 -0
  595. package/dist/utils/request-id.js.map +1 -0
  596. package/package.json +87 -0
@@ -0,0 +1,27 @@
1
+ #!/usr/bin/env node
2
+ import { readFileSync } from 'node:fs';
3
+ import { dirname, join } from 'node:path';
4
+ import { fileURLToPath } from 'node:url';
5
+ import { runWithSignals } from './run.js';
6
+ const here = dirname(fileURLToPath(import.meta.url));
7
+ const pkg = JSON.parse(readFileSync(join(here, '..', '..', 'package.json'), 'utf8'));
8
+ const result = await runWithSignals({
9
+ argv: process.argv,
10
+ env: process.env,
11
+ stdout: process.stdout,
12
+ stderr: process.stderr,
13
+ stdin: process.stdin,
14
+ isTTY: process.stdout.isTTY,
15
+ cliVersion: pkg.version,
16
+ cliDescription: pkg.description,
17
+ });
18
+ // Set the exit code rather than calling `process.exit(...)` directly.
19
+ // `process.exit` terminates the process before stdout / stderr have
20
+ // finished flushing to a pipe, which truncates large outputs (e.g.
21
+ // `monday schema --json` once it crosses the kernel pipe buffer at
22
+ // ~64KB). Using `process.exitCode` lets Node exit naturally once the
23
+ // event loop drains the pending writes — the published exit code
24
+ // stays the same, but every byte the CLI wrote actually reaches the
25
+ // reader. cli.md "exit codes are part of the contract" is preserved.
26
+ process.exitCode = result.exitCode;
27
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAO1C,MAAM,IAAI,GAAG,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AACrD,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CACpB,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,cAAc,CAAC,EAAE,MAAM,CAAC,CAC9C,CAAC;AAEjB,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC;IAClC,IAAI,EAAE,OAAO,CAAC,IAAI;IAClB,GAAG,EAAE,OAAO,CAAC,GAAG;IAChB,MAAM,EAAE,OAAO,CAAC,MAAM;IACtB,MAAM,EAAE,OAAO,CAAC,MAAM;IACtB,KAAK,EAAE,OAAO,CAAC,KAAK;IACpB,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,KAAK;IAC3B,UAAU,EAAE,GAAG,CAAC,OAAO;IACvB,cAAc,EAAE,GAAG,CAAC,WAAW;CAChC,CAAC,CAAC;AAEH,sEAAsE;AACtE,oEAAoE;AACpE,mEAAmE;AACnE,mEAAmE;AACnE,qEAAqE;AACrE,iEAAiE;AACjE,oEAAoE;AACpE,qEAAqE;AACrE,OAAO,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC"}
@@ -0,0 +1,29 @@
1
+ /**
2
+ * Commander program construction (M2.5 R2).
3
+ *
4
+ * Pulled out of `cli/run.ts` so the runner stays focused on argv
5
+ * parsing, signal combining, and error-envelope plumbing. This
6
+ * module owns:
7
+ *
8
+ * - the program-level metadata (`name`, `description`, `version`);
9
+ * - the `configureOutput` adapters that route commander writes to
10
+ * the runner's `stdout`/`stderr` streams;
11
+ * - the global-flag option declarations (one source of truth — the
12
+ * zod-validated shape lives in `src/types/global-flags.ts`);
13
+ * - command attachment (registry → extras → raw `registerCommands`).
14
+ *
15
+ * `buildProgram` doesn't run argv through commander — that's still
16
+ * `run()`'s job. It only constructs the configured `Command`
17
+ * instance.
18
+ */
19
+ import { Command } from 'commander';
20
+ import type { RunContext, RunOptions } from './run.js';
21
+ /**
22
+ * Subset of `RunOptions` `buildProgram` actually consumes. Keeping the
23
+ * input type narrow makes the dependency obvious — adding a field to
24
+ * `RunOptions` doesn't silently feed into program construction unless
25
+ * it's listed here.
26
+ */
27
+ export type BuildProgramOptions = Pick<RunOptions, 'cliVersion' | 'cliDescription' | 'stdout' | 'stderr' | 'extraCommands' | 'registerCommands'>;
28
+ export declare const buildProgram: (options: BuildProgramOptions, ctx: RunContext) => Command;
29
+ //# sourceMappingURL=program.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"program.d.ts","sourceRoot":"","sources":["../../src/cli/program.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIpC,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAEvD;;;;;GAKG;AACH,MAAM,MAAM,mBAAmB,GAAG,IAAI,CACpC,UAAU,EACR,YAAY,GACZ,gBAAgB,GAChB,QAAQ,GACR,QAAQ,GACR,eAAe,GACf,kBAAkB,CACrB,CAAC;AAEF,eAAO,MAAM,YAAY,GACvB,SAAS,mBAAmB,EAC5B,KAAK,UAAU,KACd,OAyFF,CAAC"}
@@ -0,0 +1,109 @@
1
+ /**
2
+ * Commander program construction (M2.5 R2).
3
+ *
4
+ * Pulled out of `cli/run.ts` so the runner stays focused on argv
5
+ * parsing, signal combining, and error-envelope plumbing. This
6
+ * module owns:
7
+ *
8
+ * - the program-level metadata (`name`, `description`, `version`);
9
+ * - the `configureOutput` adapters that route commander writes to
10
+ * the runner's `stdout`/`stderr` streams;
11
+ * - the global-flag option declarations (one source of truth — the
12
+ * zod-validated shape lives in `src/types/global-flags.ts`);
13
+ * - command attachment (registry → extras → raw `registerCommands`).
14
+ *
15
+ * `buildProgram` doesn't run argv through commander — that's still
16
+ * `run()`'s job. It only constructs the configured `Command`
17
+ * instance.
18
+ */
19
+ import { Command } from 'commander';
20
+ import { getCommandRegistry } from '../commands/index.js';
21
+ import { parseGlobalFlags } from '../types/global-flags.js';
22
+ import { PINNED_API_VERSION } from '../api/client.js';
23
+ export const buildProgram = (options, ctx) => {
24
+ const program = new Command();
25
+ program
26
+ .name('monday')
27
+ .description(options.cliDescription ?? 'CLI for Monday.com')
28
+ .version(options.cliVersion, '-V, --version')
29
+ .exitOverride()
30
+ .configureOutput({
31
+ writeOut: (str) => {
32
+ options.stdout.write(str);
33
+ },
34
+ writeErr: (str) => {
35
+ options.stderr.write(str);
36
+ },
37
+ // Swallow commander's plain-text error preamble — the runner's
38
+ // catch-all emits a §6 error envelope with the same content
39
+ // in a stable shape. Without this, stderr would carry both
40
+ // "error: unknown option" *and* the envelope, breaking the
41
+ // "stderr is the envelope, period" contract.
42
+ outputError: () => {
43
+ // intentionally empty
44
+ },
45
+ });
46
+ // Global flags — see `src/types/global-flags.ts` for the validated
47
+ // shape. We declare the option surface here so commander knows
48
+ // how to parse argv; refinement happens per-command via the zod
49
+ // schema at the action boundary.
50
+ program
51
+ .option('--output <fmt>', 'json | table | text | ndjson')
52
+ .option('--json', 'shorthand for --output json')
53
+ .option('--table', 'shorthand for --output table')
54
+ .option('--full', 'disable table value truncation')
55
+ .option('--width <n>', 'force table target width (TTY only)')
56
+ .option('--columns <list>', 'comma-separated visible columns')
57
+ .option('--minimal', 'omit non-essential fields from JSON')
58
+ .option('-q, --quiet', 'suppress stderr progress and hints')
59
+ .option('-v, --verbose', 'debug logs to stderr (tokens redacted)')
60
+ .option('--no-color', 'disable colour output')
61
+ .option('--no-cache', 'skip the local board-metadata cache')
62
+ .option('--profile <name>', 'config profile (v0.3+; "default" only in v0.1)')
63
+ .option('--api-version <v>', 'override the API-Version header')
64
+ .option('--timeout <ms>', 'per-request timeout in milliseconds')
65
+ .option('--retry <n>', 'max retries on transient errors')
66
+ .option('--dry-run', 'mutations: print planned change, do not execute')
67
+ .option('-y, --yes', 'skip confirmation gate on destructive ops')
68
+ .option('--body-file <path>', 'read --body content from a file (or - for stdin)');
69
+ // Wire the static registry first, then any test-supplied extras /
70
+ // raw hooks. Tests can swap out the registry entirely by passing
71
+ // an empty `extraCommands` and using `registerCommands` for ad-hoc
72
+ // commands; production callers leave both unset and pick up the
73
+ // shipped surface.
74
+ const modules = options.extraCommands ?? getCommandRegistry();
75
+ for (const mod of modules) {
76
+ mod.attach(program, ctx);
77
+ }
78
+ options.registerCommands?.(program, ctx);
79
+ // Commit the resolved `--api-version` to the per-invocation meta
80
+ // builder BEFORE any subcommand action runs. The success path
81
+ // re-commits via `resolveClient`; this preAction hook covers the
82
+ // pre-`resolveClient` failure surface — `parseArgv` throwing a
83
+ // `UsageError` on a bad positional, or any other zod-rejection at
84
+ // the action boundary. Without this, `monday --api-version 2026-04
85
+ // item get bad-id --json` produced a usage_error envelope claiming
86
+ // `meta.api_version: "2026-01"` (the SDK pin), losing the
87
+ // `--api-version` agents passed (Codex M4 pass-2 §3).
88
+ //
89
+ // Resolution priority matches `resolveClient`: explicit flag > env
90
+ // > SDK pin. We don't load config here (that surfaces a separate
91
+ // `config_error` if the token is missing); the apiVersion override
92
+ // is independent of token resolution.
93
+ program.hook('preAction', () => {
94
+ try {
95
+ const flags = parseGlobalFlags(program.opts(), ctx.env);
96
+ const resolvedVersion = flags.apiVersion ??
97
+ ctx.env.MONDAY_API_VERSION ??
98
+ PINNED_API_VERSION;
99
+ ctx.meta.setApiVersion(resolvedVersion);
100
+ }
101
+ catch {
102
+ // Bad global-flag shape is already a usage_error path the
103
+ // runner's catch-all will surface; the preAction hook just
104
+ // tries best-effort.
105
+ }
106
+ });
107
+ return program;
108
+ };
109
+ //# sourceMappingURL=program.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"program.js","sourceRoot":"","sources":["../../src/cli/program.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,108 @@
1
+ import { type Command } from 'commander';
2
+ import { type ExitCode } from '../utils/errors.js';
3
+ import { type RequestIdGenerator } from '../utils/request-id.js';
4
+ import { type MetaBuilder } from './envelope-out.js';
5
+ import type { Transport } from '../api/transport.js';
6
+ import type { CommandModule } from '../commands/types.js';
7
+ /**
8
+ * Testable CLI runner (`v0.1-plan.md` §3 M0).
9
+ *
10
+ * Replaces `process.argv` / `process.env` / `process.stdout` direct
11
+ * reads in `cli/index.ts` with an injectable shape so tests exercise
12
+ * the same envelope-conversion / exit-code / SIGINT plumbing the
13
+ * published binary uses. The thin shebang in `cli/index.ts` forwards
14
+ * the live process state into here. Owns the runtime core — argv →
15
+ * commander parse, signal combining, request-id generation, error →
16
+ * envelope conversion. Commander wiring lives in `program.ts`;
17
+ * envelope construction in `envelope-out.ts` (M2.5 R2).
18
+ */
19
+ export interface RunOptions {
20
+ readonly argv: readonly string[];
21
+ readonly env: NodeJS.ProcessEnv;
22
+ readonly stdout: NodeJS.WritableStream;
23
+ readonly stderr: NodeJS.WritableStream;
24
+ readonly stdin?: NodeJS.ReadableStream;
25
+ readonly isTTY: boolean;
26
+ readonly cliVersion: string;
27
+ readonly cliDescription?: string;
28
+ readonly clock?: () => Date;
29
+ readonly transport?: Transport;
30
+ readonly requestIdGenerator?: RequestIdGenerator;
31
+ /**
32
+ * External abort source. `runWithSignals` provides one tied to
33
+ * `SIGINT`; tests pass their own to drive the cancel path
34
+ * deterministically. The runner combines this with its own
35
+ * controller so either side can trigger a clean shutdown.
36
+ */
37
+ readonly signal?: AbortSignal;
38
+ /**
39
+ * Test-only override of the static command registry. Production
40
+ * callers leave it unset and the runner walks `commandRegistry`
41
+ * (`src/commands/index.ts`). Tests pass a tailored list to
42
+ * register dummy `self-test`-style commands without touching the
43
+ * production registry — same `attach(program, ctx)` shape, same
44
+ * envelope path, no fork in the action plumbing.
45
+ */
46
+ readonly extraCommands?: readonly CommandModule[];
47
+ /**
48
+ * Lower-level hook for tests that want to drive commander
49
+ * directly (raw `program.command(...)` calls) without going
50
+ * through the `CommandModule` shape. Receives the program *and*
51
+ * the live `RunContext` so registered actions can read
52
+ * `ctx.signal`, `ctx.transport`, `ctx.env`, etc. Production
53
+ * callers leave it unset.
54
+ */
55
+ readonly registerCommands?: (program: Command, ctx: RunContext) => void;
56
+ }
57
+ export interface RunResult {
58
+ readonly exitCode: ExitCode;
59
+ }
60
+ /**
61
+ * Public per-invocation context every command receives. Built by
62
+ * `run()` once per call; threaded into `registerCommands(program,
63
+ * ctx)` so actions can pull the signal, transport, env, and logging
64
+ * surfaces without re-deriving them.
65
+ */
66
+ export interface RunContext {
67
+ readonly env: NodeJS.ProcessEnv;
68
+ readonly stdout: NodeJS.WritableStream;
69
+ readonly stderr: NodeJS.WritableStream;
70
+ readonly stdin?: NodeJS.ReadableStream;
71
+ readonly isTTY: boolean;
72
+ readonly clock: () => Date;
73
+ readonly transport: Transport | undefined;
74
+ readonly requestId: string;
75
+ readonly cliVersion: string;
76
+ /**
77
+ * Aborts when the runner is shutting down — caller cancel,
78
+ * SIGINT, or future timeout. Commands awaiting long work should
79
+ * thread this into `transport.request({signal})` and bail
80
+ * cooperatively when the signal fires.
81
+ */
82
+ readonly signal: AbortSignal;
83
+ /**
84
+ * Action-resolved meta for the **error** path only. Commands that
85
+ * commit values via `ctx.meta.setApiVersion(v)` / `setSource('live')`
86
+ * get them reported on the error envelope if the action throws.
87
+ * Success envelopes get the same values via `emitSuccess`'s options
88
+ * (the `...toEmit(result)` splat from `resolveClient`); both channels
89
+ * agree because `resolveClient` writes to both. Full rationale:
90
+ * `envelope-out.ts` (M2.5 R2).
91
+ */
92
+ readonly meta: MetaBuilder;
93
+ }
94
+ export declare const run: (options: RunOptions) => Promise<RunResult>;
95
+ /**
96
+ * Wraps `run()` with `process.on('SIGINT', ...)` so a Ctrl-C
97
+ * triggers a real abort: an `AbortController` fires with reason
98
+ * `{kind:'sigint'}` and the signal is threaded into `ctx.signal`
99
+ * via `RunOptions.signal`. Commands awaiting transport requests
100
+ * see the abort and can bail; the runner then returns 130 without
101
+ * an envelope per `cli-design.md` §3.1 #5.
102
+ *
103
+ * This is the production surface; unit tests typically call `run()`
104
+ * directly with their own `signal` to deterministically drive the
105
+ * cancel path.
106
+ */
107
+ export declare const runWithSignals: (options: RunOptions) => Promise<RunResult>;
108
+ //# sourceMappingURL=run.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../../src/cli/run.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,KAAK,OAAO,EAAE,MAAM,WAAW,CAAC;AACzD,OAAO,EAGL,KAAK,QAAQ,EACd,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAEL,KAAK,kBAAkB,EACxB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAKL,KAAK,WAAW,EACjB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAE1D;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,CAAC;IACjC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC,UAAU,CAAC;IAChC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,cAAc,CAAC;IACvC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,cAAc,CAAC;IACvC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,cAAc,CAAC;IACvC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,IAAI,CAAC;IAC5B,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,CAAC;IAC/B,QAAQ,CAAC,kBAAkB,CAAC,EAAE,kBAAkB,CAAC;IACjD;;;;;OAKG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,CAAC;IAC9B;;;;;;;OAOG;IACH,QAAQ,CAAC,aAAa,CAAC,EAAE,SAAS,aAAa,EAAE,CAAC;IAClD;;;;;;;OAOG;IACH,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,UAAU,KAAK,IAAI,CAAC;CACzE;AAED,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;CAC7B;AAED;;;;;GAKG;AACH,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC,UAAU,CAAC;IAChC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,cAAc,CAAC;IACvC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,cAAc,CAAC;IACvC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,cAAc,CAAC;IACvC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,KAAK,EAAE,MAAM,IAAI,CAAC;IAC3B,QAAQ,CAAC,SAAS,EAAE,SAAS,GAAG,SAAS,CAAC;IAC1C,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B;;;;;OAKG;IACH,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAC7B;;;;;;;;OAQG;IACH,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;CAC5B;AAaD,eAAO,MAAM,GAAG,GAAU,SAAS,UAAU,KAAG,OAAO,CAAC,SAAS,CAuEhE,CAAC;AAEF;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,cAAc,GACzB,SAAS,UAAU,KAClB,OAAO,CAAC,SAAS,CAYnB,CAAC"}
@@ -0,0 +1,105 @@
1
+ import { CommanderError } from 'commander';
2
+ import { exitCodeForError, } from '../utils/errors.js';
3
+ import { defaultRequestIdGenerator, } from '../utils/request-id.js';
4
+ import { buildBaseMeta, createMetaBuilder, toMondayError, writeErrorEnvelope, } from './envelope-out.js';
5
+ import { buildProgram } from './program.js';
6
+ const isSigintReason = (reason) => {
7
+ /* c8 ignore next 3 — defensive non-object guard. Production
8
+ callers always pass `{kind: 'sigint'}` via `runWithSignals`;
9
+ a primitive reason is only possible via direct `run()` misuse. */
10
+ if (typeof reason !== 'object' || reason === null) {
11
+ return false;
12
+ }
13
+ const tagged = reason;
14
+ return tagged.kind === 'sigint';
15
+ };
16
+ export const run = async (options) => {
17
+ const requestId = (options.requestIdGenerator ?? defaultRequestIdGenerator)();
18
+ const clock = options.clock ?? (() => new Date());
19
+ const retrievedAt = clock().toISOString();
20
+ // Internal abort controller, optionally combined with a caller-
21
+ // supplied signal so either side can trigger shutdown. Commands
22
+ // read `ctx.signal`; the runner inspects `signal.reason` after
23
+ // the action returns to distinguish SIGINT (exit 130) from other
24
+ // aborts (caller-defined).
25
+ const internalAbort = new AbortController();
26
+ const combinedSignal = options.signal === undefined
27
+ ? internalAbort.signal
28
+ : AbortSignal.any([options.signal, internalAbort.signal]);
29
+ const meta = createMetaBuilder();
30
+ const ctx = {
31
+ env: options.env,
32
+ stdout: options.stdout,
33
+ stderr: options.stderr,
34
+ ...(options.stdin !== undefined ? { stdin: options.stdin } : {}),
35
+ isTTY: options.isTTY,
36
+ clock,
37
+ transport: options.transport,
38
+ requestId,
39
+ cliVersion: options.cliVersion,
40
+ signal: combinedSignal,
41
+ meta,
42
+ };
43
+ const program = buildProgram(options, ctx);
44
+ try {
45
+ await program.parseAsync(options.argv);
46
+ if (combinedSignal.aborted && isSigintReason(combinedSignal.reason)) {
47
+ return { exitCode: 130 };
48
+ }
49
+ return { exitCode: 0 };
50
+ }
51
+ catch (err) {
52
+ // SIGINT-during-action takes precedence: the design says exit
53
+ // 130 with no envelope on stderr. The action's thrown error is
54
+ // a downstream consequence of the abort; surfacing it would
55
+ // muddle the contract.
56
+ if (combinedSignal.aborted && isSigintReason(combinedSignal.reason)) {
57
+ return { exitCode: 130 };
58
+ }
59
+ // commander.helpDisplayed / commander.version are success-style;
60
+ // treat them as exit 0 with no envelope.
61
+ if (err instanceof CommanderError && err.exitCode === 0) {
62
+ return { exitCode: 0 };
63
+ }
64
+ const cliError = toMondayError(err);
65
+ writeErrorEnvelope(cliError, {
66
+ stderr: options.stderr,
67
+ env: options.env,
68
+ meta: buildBaseMeta({
69
+ snapshot: meta.snapshot(),
70
+ env: options.env,
71
+ cliVersion: options.cliVersion,
72
+ requestId,
73
+ retrievedAt,
74
+ }),
75
+ });
76
+ return { exitCode: exitCodeForError(cliError.code) };
77
+ }
78
+ };
79
+ /**
80
+ * Wraps `run()` with `process.on('SIGINT', ...)` so a Ctrl-C
81
+ * triggers a real abort: an `AbortController` fires with reason
82
+ * `{kind:'sigint'}` and the signal is threaded into `ctx.signal`
83
+ * via `RunOptions.signal`. Commands awaiting transport requests
84
+ * see the abort and can bail; the runner then returns 130 without
85
+ * an envelope per `cli-design.md` §3.1 #5.
86
+ *
87
+ * This is the production surface; unit tests typically call `run()`
88
+ * directly with their own `signal` to deterministically drive the
89
+ * cancel path.
90
+ */
91
+ export const runWithSignals = async (options) => {
92
+ const ctrl = new AbortController();
93
+ const onInt = () => {
94
+ const reason = { kind: 'sigint' };
95
+ ctrl.abort(reason);
96
+ };
97
+ process.on('SIGINT', onInt);
98
+ try {
99
+ return await run({ ...options, signal: ctrl.signal });
100
+ }
101
+ finally {
102
+ process.off('SIGINT', onInt);
103
+ }
104
+ };
105
+ //# sourceMappingURL=run.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"run.js","sourceRoot":"","sources":["../../src/cli/run.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,37 @@
1
+ /**
2
+ * Shared `MondayClient` construction for the `account/*` commands.
3
+ *
4
+ * Each network command needs the same plumbing — load config (for
5
+ * the API token + URL + version), pick up global flags (`--retry`,
6
+ * `--verbose`, `--api-version`, `--timeout`), and either wrap the
7
+ * injected `Transport` (test path) or build a `FetchTransport` from
8
+ * config (production path). Centralising here:
9
+ *
10
+ * - keeps the action body in each command focused on the GraphQL
11
+ * call + envelope mapping;
12
+ * - means the `--api-version` precedence rule (flag > env > SDK
13
+ * pin) lives in one place;
14
+ * - means a future profile switch / OAuth path swaps in here once,
15
+ * not per-command.
16
+ *
17
+ * The injected `ctx.transport` always wins — that's the fixture seam
18
+ * for integration tests. Production callers leave it undefined and
19
+ * a fresh `FetchTransport` is built per command invocation, so each
20
+ * call sees the live config (same as the SDK's per-call client).
21
+ */
22
+ import { MondayClient } from '../../api/client.js';
23
+ import { type GlobalFlags } from '../../types/global-flags.js';
24
+ import type { RunContext } from '../../cli/run.js';
25
+ export interface ResolvedClient {
26
+ readonly client: MondayClient;
27
+ readonly globalFlags: GlobalFlags;
28
+ /**
29
+ * The actual `API-Version` value sent on the wire — `--api-version`
30
+ * flag > `MONDAY_API_VERSION` env > SDK pin. Surfaced so the
31
+ * envelope's `meta.api_version` carries the same value the request
32
+ * carried.
33
+ */
34
+ readonly apiVersion: string;
35
+ }
36
+ export declare const resolveClient: (ctx: RunContext, programOpts: unknown) => ResolvedClient;
37
+ //# sourceMappingURL=client-helper.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client-helper.d.ts","sourceRoot":"","sources":["../../../src/commands/account/client-helper.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAGH,OAAO,EAAE,YAAY,EAAsB,MAAM,qBAAqB,CAAC;AAEvE,OAAO,EAEL,KAAK,WAAW,EACjB,MAAM,6BAA6B,CAAC;AACrC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAEnD,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC;IAC9B,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC;IAClC;;;;;OAKG;IACH,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC7B;AAED,eAAO,MAAM,aAAa,GACxB,KAAK,UAAU,EACf,aAAa,OAAO,KACnB,cAoCF,CAAC"}
@@ -0,0 +1,55 @@
1
+ /**
2
+ * Shared `MondayClient` construction for the `account/*` commands.
3
+ *
4
+ * Each network command needs the same plumbing — load config (for
5
+ * the API token + URL + version), pick up global flags (`--retry`,
6
+ * `--verbose`, `--api-version`, `--timeout`), and either wrap the
7
+ * injected `Transport` (test path) or build a `FetchTransport` from
8
+ * config (production path). Centralising here:
9
+ *
10
+ * - keeps the action body in each command focused on the GraphQL
11
+ * call + envelope mapping;
12
+ * - means the `--api-version` precedence rule (flag > env > SDK
13
+ * pin) lives in one place;
14
+ * - means a future profile switch / OAuth path swaps in here once,
15
+ * not per-command.
16
+ *
17
+ * The injected `ctx.transport` always wins — that's the fixture seam
18
+ * for integration tests. Production callers leave it undefined and
19
+ * a fresh `FetchTransport` is built per command invocation, so each
20
+ * call sees the live config (same as the SDK's per-call client).
21
+ */
22
+ import { createFetchTransport } from '../../api/transport.js';
23
+ import { MondayClient, PINNED_API_VERSION } from '../../api/client.js';
24
+ import { loadConfig } from '../../config/load.js';
25
+ import { parseGlobalFlags, } from '../../types/global-flags.js';
26
+ export const resolveClient = (ctx, programOpts) => {
27
+ const globalFlags = parseGlobalFlags(programOpts, ctx.env);
28
+ const config = loadConfig(ctx.env);
29
+ // Precedence: explicit flag > env-derived config > SDK pin.
30
+ const apiVersion = globalFlags.apiVersion ?? config.apiVersion ?? PINNED_API_VERSION;
31
+ // Honour `--timeout` over the env / config default. Same reading
32
+ // as the design intent: the flag is a *per-invocation* override.
33
+ const timeoutMs = globalFlags.timeout ?? config.requestTimeoutMs;
34
+ const transport = ctx.transport ??
35
+ createFetchTransport({
36
+ endpoint: config.apiUrl,
37
+ apiToken: config.apiToken,
38
+ apiVersion,
39
+ timeoutMs,
40
+ });
41
+ const client = new MondayClient({
42
+ transport,
43
+ signal: ctx.signal,
44
+ retries: globalFlags.retry,
45
+ verbose: globalFlags.verbose,
46
+ });
47
+ // Stash the resolved meta on the runner so an error envelope
48
+ // emitted by the catch-all carries the same api_version + source
49
+ // a success envelope would. Without this, `--api-version 2026-04
50
+ // account whoami` failing with HTTP 401 produced an error envelope
51
+ // claiming `api_version: "2026-01"` (Codex M2 review §2).
52
+ ctx.setMetaHint({ apiVersion, source: 'live' });
53
+ return { client, globalFlags, apiVersion };
54
+ };
55
+ //# sourceMappingURL=client-helper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client-helper.js","sourceRoot":"","sources":["../../../src/commands/account/client-helper.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACvE,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EACL,gBAAgB,GAEjB,MAAM,6BAA6B,CAAC;AAerC,MAAM,CAAC,MAAM,aAAa,GAAG,CAC3B,GAAe,EACf,WAAoB,EACJ,EAAE;IAClB,MAAM,WAAW,GAAG,gBAAgB,CAAC,WAAW,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC;IAC3D,MAAM,MAAM,GAAG,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAEnC,4DAA4D;IAC5D,MAAM,UAAU,GACd,WAAW,CAAC,UAAU,IAAI,MAAM,CAAC,UAAU,IAAI,kBAAkB,CAAC;IAEpE,iEAAiE;IACjE,iEAAiE;IACjE,MAAM,SAAS,GAAG,WAAW,CAAC,OAAO,IAAI,MAAM,CAAC,gBAAgB,CAAC;IAEjE,MAAM,SAAS,GACb,GAAG,CAAC,SAAS;QACb,oBAAoB,CAAC;YACnB,QAAQ,EAAE,MAAM,CAAC,MAAM;YACvB,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,UAAU;YACV,SAAS;SACV,CAAC,CAAC;IAEL,MAAM,MAAM,GAAG,IAAI,YAAY,CAAC;QAC9B,SAAS;QACT,MAAM,EAAE,GAAG,CAAC,MAAM;QAClB,OAAO,EAAE,WAAW,CAAC,KAAK;QAC1B,OAAO,EAAE,WAAW,CAAC,OAAO;KAC7B,CAAC,CAAC;IAEH,6DAA6D;IAC7D,iEAAiE;IACjE,iEAAiE;IACjE,mEAAmE;IACnE,0DAA0D;IAC1D,GAAG,CAAC,WAAW,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IAEhD,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,CAAC;AAC7C,CAAC,CAAC"}
@@ -0,0 +1,29 @@
1
+ /**
2
+ * `monday account complexity` — emits the current complexity budget
3
+ * (`cli-design.md` §4.3, §2.5).
4
+ *
5
+ * GraphQL operation(s) called:
6
+ * - `complexity { before, after, query, reset_in_x_seconds }`
7
+ * (ComplexityProbe — the cheapest possible read on the API)
8
+ *
9
+ * Idempotent: yes — pure read.
10
+ *
11
+ * The output projects Monday's `query`/`after`/`reset_in_x_seconds`
12
+ * onto the CLI's stable `used`/`remaining`/`reset_in_seconds` shape
13
+ * (same fields `meta.complexity` carries on `--verbose`). `before`
14
+ * is also surfaced so an agent that wants the raw budget snapshot
15
+ * can read it without doing the math.
16
+ */
17
+ import { z } from 'zod';
18
+ import { type CommandModule } from '../types.js';
19
+ export declare const accountComplexityOutputSchema: z.ZodObject<{
20
+ before: z.ZodNumber;
21
+ used: z.ZodNumber;
22
+ remaining: z.ZodNumber;
23
+ reset_in_seconds: z.ZodNumber;
24
+ }, z.core.$strict>;
25
+ export type AccountComplexityOutput = z.infer<typeof accountComplexityOutputSchema>;
26
+ declare const inputSchema: z.ZodObject<{}, z.core.$strict>;
27
+ export declare const accountComplexityCommand: CommandModule<z.infer<typeof inputSchema>, AccountComplexityOutput>;
28
+ export {};
29
+ //# sourceMappingURL=complexity.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"complexity.d.ts","sourceRoot":"","sources":["../../../src/commands/account/complexity.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAoB,KAAK,aAAa,EAAE,MAAM,aAAa,CAAC;AAKnE,eAAO,MAAM,6BAA6B;;;;;kBAO/B,CAAC;AAEZ,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,6BAA6B,CAAC,CAAC;AAEpF,QAAA,MAAM,WAAW,iCAAwB,CAAC;AAE1C,eAAO,MAAM,wBAAwB,EAAE,aAAa,CAClD,CAAC,CAAC,KAAK,CAAC,OAAO,WAAW,CAAC,EAC3B,uBAAuB,CA6CxB,CAAC"}
@@ -0,0 +1,70 @@
1
+ /**
2
+ * `monday account complexity` — emits the current complexity budget
3
+ * (`cli-design.md` §4.3, §2.5).
4
+ *
5
+ * GraphQL operation(s) called:
6
+ * - `complexity { before, after, query, reset_in_x_seconds }`
7
+ * (ComplexityProbe — the cheapest possible read on the API)
8
+ *
9
+ * Idempotent: yes — pure read.
10
+ *
11
+ * The output projects Monday's `query`/`after`/`reset_in_x_seconds`
12
+ * onto the CLI's stable `used`/`remaining`/`reset_in_seconds` shape
13
+ * (same fields `meta.complexity` carries on `--verbose`). `before`
14
+ * is also surfaced so an agent that wants the raw budget snapshot
15
+ * can read it without doing the math.
16
+ */
17
+ import { z } from 'zod';
18
+ import { ensureSubcommand } from '../types.js';
19
+ import { emitSuccess } from '../emit.js';
20
+ import { resolveClient } from '../../api/resolve-client.js';
21
+ import { ApiError } from '../../utils/errors.js';
22
+ export const accountComplexityOutputSchema = z
23
+ .object({
24
+ before: z.number().int().nonnegative(),
25
+ used: z.number().int().nonnegative(),
26
+ remaining: z.number().int().nonnegative(),
27
+ reset_in_seconds: z.number().int().nonnegative(),
28
+ })
29
+ .strict();
30
+ const inputSchema = z.object({}).strict();
31
+ export const accountComplexityCommand = {
32
+ name: 'account.complexity',
33
+ summary: 'Show the current Monday complexity budget',
34
+ examples: [
35
+ 'monday account complexity',
36
+ 'monday account complexity --json',
37
+ ],
38
+ idempotent: true,
39
+ inputSchema,
40
+ outputSchema: accountComplexityOutputSchema,
41
+ attach: (program, ctx) => {
42
+ const noun = ensureSubcommand(program, 'account', 'Account commands');
43
+ noun
44
+ .command('complexity')
45
+ .description(accountComplexityCommand.summary)
46
+ .addHelpText('after', ['', 'Examples:', ...accountComplexityCommand.examples.map((e) => ` ${e}`), ''].join('\n'))
47
+ .action(async (opts) => {
48
+ accountComplexityCommand.inputSchema.parse(opts);
49
+ const { client, toEmit } = resolveClient(ctx, program.opts());
50
+ const result = await client.complexityProbe();
51
+ const c = result.data.complexity;
52
+ if (c === null) {
53
+ throw new ApiError('internal_error', 'Monday returned no complexity block on the probe query');
54
+ }
55
+ emitSuccess({
56
+ ctx,
57
+ data: {
58
+ before: c.before,
59
+ used: c.query,
60
+ remaining: c.after,
61
+ reset_in_seconds: c.reset_in_x_seconds,
62
+ },
63
+ schema: accountComplexityCommand.outputSchema,
64
+ programOpts: program.opts(),
65
+ ...toEmit(result),
66
+ });
67
+ });
68
+ },
69
+ };
70
+ //# sourceMappingURL=complexity.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"complexity.js","sourceRoot":"","sources":["../../../src/commands/account/complexity.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,gBAAgB,EAAsB,MAAM,aAAa,CAAC;AACnE,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzC,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAEjD,MAAM,CAAC,MAAM,6BAA6B,GAAG,CAAC;KAC3C,MAAM,CAAC;IACN,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE;IACtC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE;IACpC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE;IACzC,gBAAgB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE;CACjD,CAAC;KACD,MAAM,EAAE,CAAC;AAIZ,MAAM,WAAW,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;AAE1C,MAAM,CAAC,MAAM,wBAAwB,GAGjC;IACF,IAAI,EAAE,oBAAoB;IAC1B,OAAO,EAAE,2CAA2C;IACpD,QAAQ,EAAE;QACR,2BAA2B;QAC3B,kCAAkC;KACnC;IACD,UAAU,EAAE,IAAI;IAChB,WAAW;IACX,YAAY,EAAE,6BAA6B;IAC3C,MAAM,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,EAAE;QACvB,MAAM,IAAI,GAAG,gBAAgB,CAAC,OAAO,EAAE,SAAS,EAAE,kBAAkB,CAAC,CAAC;QACtE,IAAI;aACD,OAAO,CAAC,YAAY,CAAC;aACrB,WAAW,CAAC,wBAAwB,CAAC,OAAO,CAAC;aAC7C,WAAW,CACV,OAAO,EACP,CAAC,EAAE,EAAE,WAAW,EAAE,GAAG,wBAAwB,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAC5F;aACA,MAAM,CAAC,KAAK,EAAE,IAAa,EAAE,EAAE;YAC9B,wBAAwB,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YACjD,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,aAAa,CAAC,GAAG,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;YAC9D,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,eAAe,EAAE,CAAC;YAC9C,MAAM,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC;YACjC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;gBACf,MAAM,IAAI,QAAQ,CAChB,gBAAgB,EAChB,wDAAwD,CACzD,CAAC;YACJ,CAAC;YACD,WAAW,CAAC;gBACV,GAAG;gBACH,IAAI,EAAE;oBACJ,MAAM,EAAE,CAAC,CAAC,MAAM;oBAChB,IAAI,EAAE,CAAC,CAAC,KAAK;oBACb,SAAS,EAAE,CAAC,CAAC,KAAK;oBAClB,gBAAgB,EAAE,CAAC,CAAC,kBAAkB;iBACvC;gBACD,MAAM,EAAE,wBAAwB,CAAC,YAAY;gBAC7C,WAAW,EAAE,OAAO,CAAC,IAAI,EAAE;gBAC3B,GAAG,MAAM,CAAC,MAAM,CAAC;aAClB,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACP,CAAC;CACF,CAAC"}