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,341 @@
1
+ /**
2
+ * `monday board group-update <bid> <gid> [--name <n>] [--color <c>]
3
+ * [--dry-run]` — change one or more group fields (`cli-design.md`
4
+ * §4.3 line 1245, `v0.2-plan.md` §3 M17).
5
+ *
6
+ * **Wire shape — per-attribute fan-out across a single surface.**
7
+ * Monday's `update_group(board_id, group_id, group_attribute:
8
+ * GroupAttributes!, new_value: String!)` per SDK 14.0.0
9
+ * `MutationUpdate_GroupArgs`. Both `group_attribute` and `new_value`
10
+ * are required at the wire (unlike column-update's `change_column_
11
+ * metadata` whose arguments are both optional). Per-attribute fan-
12
+ * out routes every `--name` / `--color` flag through the same
13
+ * mutation with a different `group_attribute` enum value. The
14
+ * `GroupAttributes` enum carries five values total (`title` /
15
+ * `color` / `position` / `relative_position_after` / `relative_
16
+ * position_before`); v0.2 surfaces only `title` (via `--name`) and
17
+ * `color` (via `--color`). M17 deliberately OMITS the position-
18
+ * related flags — `position` is per-changelog deprecated and the
19
+ * literal `top|bottom` semantics through `update_group` are
20
+ * unreliable; repositioning is deferred to v0.3 with `--before
21
+ * <gid>` / `--after <gid>` flags mapping to the non-deprecated
22
+ * `relative_position_after` / `relative_position_before` enum
23
+ * values. Multi-flag invocations fan out N sequential wire calls
24
+ * (sequential per §8 decision 8 — parallel waits for v0.4
25
+ * `--concurrency`).
26
+ *
27
+ * **Whole-call envelope — no partial-success leak.** The envelope
28
+ * is `ok: true` only when EVERY per-field call succeeded; on any
29
+ * per-field failure the envelope is `ok: false` with the failed
30
+ * call's error code. Mirrors `column-update` / `board-update`
31
+ * contract.
32
+ *
33
+ * **Live-path partial-application caveat.** Server-side state is
34
+ * NOT transactional across per-attribute mutations: if call #1
35
+ * succeeds and call #2 fails, fields from #1 stay committed and
36
+ * are NOT rolled back. Agents re-issuing after failure should re-
37
+ * read the group to see what landed before retrying the unapplied
38
+ * tail.
39
+ *
40
+ * **Data projects from the trailing call (no force-live read leg).**
41
+ * Monday's `update_group` returns `Maybe<Group>` post-mutation with
42
+ * the FULL Group projection — the trailing call's response is
43
+ * authoritative for every group-metadata field. Mirrors `column-
44
+ * update`'s no-force-live shape and DIVERGES from `board update`'s
45
+ * force-live shape (board's per-attribute calls return the changed
46
+ * slice only, requiring a final whole-board read leg). This is the
47
+ * load-bearing M17-pre-flight finding (cli-design §6.4 group-update
48
+ * partial-application caveat).
49
+ *
50
+ * **Argv discipline.** At least one of `--name` / `--color` is
51
+ * required — zero-flag invocation surfaces as `usage_error` (exit
52
+ * 1) at argv-parse, before any network leg. Mirrors `column-
53
+ * update`'s rule.
54
+ *
55
+ * **Dry-run shape** per cli-design §6.4 group-update variant: a
56
+ * field-level `from → to` diff per provided field. The `from`
57
+ * state requires a preflight `board describe`-shaped read — routed
58
+ * through `loadBoardMetadata` so cache hits are observable;
59
+ * `meta.source: 'live' | 'cache'`. When the board doesn't exist
60
+ * the preflight surfaces `not_found` (exit 2). When the group ID
61
+ * isn't on the board, the dry-run surfaces `not_found` with
62
+ * `details.group_id`. Cache-staleness caveat: the `from` snapshot
63
+ * may lag live state up to the cache TTL; pass `--no-cache` for a
64
+ * force-live preflight when preview freshness is critical.
65
+ *
66
+ * **Eager invalidation** (cli-design §8 fan-out call-site contract).
67
+ * After the per-attribute loop settles, `invalidateBoard(boardId)`
68
+ * fires ONCE — conditional on at least one per-attribute call
69
+ * having succeeded (the wire-state high-water mark). On whole-call
70
+ * success this is the same trigger as the single-leg case; on
71
+ * whole-call partial-application failure (call N+1 fails after
72
+ * call N succeeded), invalidation still fires because the cache
73
+ * must reflect the partially-applied server state. Zero-legs-
74
+ * succeeded skips invalidation (server state unchanged). The
75
+ * contract generalises cleanly to N-leg fan-out by gating on the
76
+ * loop's high-water-mark counter rather than per-call timing.
77
+ *
78
+ * **Idempotent: yes.** Re-applying the same field values is a
79
+ * no-op on Monday's side (same input leaves same group metadata).
80
+ * NOT destructive (no `--yes` gate).
81
+ */
82
+ import { z } from 'zod';
83
+ import { ensureSubcommand } from '../types.js';
84
+ import { emitDryRun, emitMutation } from '../emit.js';
85
+ import { resolveClient } from '../../api/resolve-client.js';
86
+ import { BoardIdSchema, GroupIdSchema } from '../../types/ids.js';
87
+ import { parseArgv } from '../parse-argv.js';
88
+ import { ApiError } from '../../utils/errors.js';
89
+ import { unwrapOrThrow } from '../../utils/parse-boundary.js';
90
+ import { withBoardInvalidationFanOut } from '../../api/board-mutation-invalidation.js';
91
+ import { findBoardChildOrThrow } from '../../api/board-child-finder.js';
92
+ import { loadBoardMetadata } from '../../api/board-metadata.js';
93
+ import { GROUP_COLOR_VALUES } from '../../api/group-color.js';
94
+ import { GROUP_FIELDS_FRAGMENT, groupProjectionSchema, projectMutationGroup, } from '../../api/group-mutation-result.js';
95
+ const UPDATE_GROUP_MUTATION = `
96
+ mutation GroupUpdate(
97
+ $boardId: ID!,
98
+ $groupId: String!,
99
+ $groupAttribute: GroupAttributes!,
100
+ $newValue: String!
101
+ ) {
102
+ update_group(
103
+ board_id: $boardId,
104
+ group_id: $groupId,
105
+ group_attribute: $groupAttribute,
106
+ new_value: $newValue
107
+ ) {
108
+ ${GROUP_FIELDS_FRAGMENT}
109
+ }
110
+ }
111
+ `;
112
+ export const boardGroupUpdateOutputSchema = groupProjectionSchema;
113
+ const inputSchema = z
114
+ .object({
115
+ boardId: BoardIdSchema,
116
+ // Group ids are stable lower-snake-case slugs ("topics", etc.)
117
+ // — not numeric. Branded `GroupIdSchema` in `types/ids.ts`
118
+ // distinguishes them from ColumnId / BoardId at the type
119
+ // level.
120
+ groupId: GroupIdSchema,
121
+ name: z
122
+ .string()
123
+ .refine((s) => s.trim().length > 0, {
124
+ message: '--name must be non-empty (whitespace-only is rejected)',
125
+ })
126
+ .optional(),
127
+ // Per cli-design §4.3 group-update: --color is argv-parse
128
+ // validated against the same pinned palette group-create uses
129
+ // (see api/group-color.ts). Sharing the constant means a value
130
+ // accepted by group-create round-trips through group-update
131
+ // without surprise rejections.
132
+ color: z.enum(GROUP_COLOR_VALUES).optional(),
133
+ })
134
+ .strict()
135
+ .refine((v) => v.name !== undefined || v.color !== undefined, {
136
+ message: 'group update requires at least one of --name / --color',
137
+ });
138
+ const responseSchema = z
139
+ .object({
140
+ update_group: z.unknown(),
141
+ })
142
+ .loose();
143
+ // Deterministic dispatch order: name (→ title) first, then color.
144
+ // The iteration order isn't observable on whole-call success
145
+ // (single envelope) but IS observable on partial-application
146
+ // failure (server-side state shows fields applied in order before
147
+ // the failure). Mirrors `column-update`'s FIELD_DISPATCH_ORDER pin.
148
+ const FIELD_DISPATCH_ORDER = ['name', 'color'];
149
+ export const boardGroupUpdateCommand = {
150
+ name: 'board.group-update',
151
+ summary: 'Update one or more fields of a group',
152
+ examples: [
153
+ 'monday board group-update 12345 topics --name "Sprint 42"',
154
+ 'monday board group-update 12345 topics --color blue',
155
+ 'monday board group-update 12345 topics --name "Sprint 42" --color blue',
156
+ 'monday board group-update 12345 topics --name "Preview" --dry-run --json',
157
+ ],
158
+ // Re-applying the same field values is a server-side no-op —
159
+ // safe to retry on transient failure. Mirrors `column-update` /
160
+ // `board update` rationale.
161
+ idempotent: true,
162
+ inputSchema,
163
+ outputSchema: boardGroupUpdateOutputSchema,
164
+ attach: (program, ctx) => {
165
+ const noun = ensureSubcommand(program, 'board', 'Board commands');
166
+ noun
167
+ .command('group-update <boardId> <groupId>')
168
+ .description(boardGroupUpdateCommand.summary)
169
+ .option('--name <n>', 'new group name (maps to wire group_attribute: title)')
170
+ .option('--color <c>', 'new group color (maps to wire group_attribute: color)')
171
+ .addHelpText('after', ['', 'Examples:', ...boardGroupUpdateCommand.examples.map((e) => ` ${e}`), ''].join('\n'))
172
+ .action(async (boardId, groupId, opts) => {
173
+ const parsed = parseArgv(boardGroupUpdateCommand.inputSchema, {
174
+ boardId,
175
+ groupId,
176
+ ...opts,
177
+ });
178
+ const trimmedName = parsed.name?.trim();
179
+ // No trim on color — the enum check on inputSchema rejects
180
+ // anything outside GROUP_COLOR_VALUES; values that survive
181
+ // are exact palette-name matches.
182
+ const colorValue = parsed.color;
183
+ const { client, globalFlags, apiVersion, toEmit } = resolveClient(ctx, program.opts());
184
+ if (globalFlags.dryRun) {
185
+ // Preflight `boards(ids:)` read via loadBoardMetadata so
186
+ // the v0.1 board-metadata cache can serve fresh entries.
187
+ // `meta.source: 'live' | 'cache'`. Cache-staleness
188
+ // caveat: `from` values may lag up to TTL; agents pass
189
+ // `--no-cache` when preview freshness is critical.
190
+ const preflight = await loadBoardMetadata({
191
+ client,
192
+ boardId: parsed.boardId,
193
+ env: ctx.env,
194
+ noCache: globalFlags.noCache,
195
+ });
196
+ // R51 lift — `findBoardChildOrThrow` consolidates the
197
+ // board-level read succeeded but the group ID isn't on
198
+ // the board → not_found-with-details.group_id carve-out
199
+ // shared with `column-update` + `group-archive`.
200
+ const current = findBoardChildOrThrow({
201
+ metadata: preflight.metadata,
202
+ kind: 'groups',
203
+ id: parsed.groupId,
204
+ boardId: parsed.boardId,
205
+ });
206
+ const diff = {};
207
+ if (trimmedName !== undefined) {
208
+ // Surface the diff key as `name` (the CLI flag name)
209
+ // even though the wire's GroupAttributes value is
210
+ // `title` — agents reading the dry-run shouldn't need
211
+ // to know about the wire-level rename. The current
212
+ // value comes from the cached projection's `title`
213
+ // field.
214
+ diff.name = { from: current.title, to: trimmedName };
215
+ }
216
+ if (colorValue !== undefined) {
217
+ diff.color = { from: current.color, to: colorValue };
218
+ }
219
+ emitDryRun({
220
+ ctx,
221
+ programOpts: program.opts(),
222
+ plannedChanges: [
223
+ {
224
+ operation: 'update_group',
225
+ board_id: parsed.boardId,
226
+ group_id: parsed.groupId,
227
+ diff,
228
+ },
229
+ ],
230
+ source: preflight.source,
231
+ cacheAgeSeconds: preflight.cacheAgeSeconds,
232
+ warnings: [],
233
+ apiVersion,
234
+ });
235
+ return;
236
+ }
237
+ // Live path. Build the dispatch plan in deterministic order
238
+ // (name → color) so partial-application failure modes are
239
+ // testable.
240
+ const dispatchPlan = [];
241
+ for (const field of FIELD_DISPATCH_ORDER) {
242
+ if (field === 'name' && trimmedName !== undefined) {
243
+ dispatchPlan.push({
244
+ field: 'name',
245
+ value: trimmedName,
246
+ groupAttribute: 'title',
247
+ });
248
+ }
249
+ else if (field === 'color' && colorValue !== undefined) {
250
+ dispatchPlan.push({
251
+ field: 'color',
252
+ value: colorValue,
253
+ groupAttribute: 'color',
254
+ });
255
+ }
256
+ }
257
+ // Fan-out: per-attribute calls in order. The R46 helper
258
+ // (`withBoardInvalidationFanOut`) owns the §8 high-water-
259
+ // mark counter and the post-loop invalidation gate; the
260
+ // closure here just calls `recordLegSuccess()` after each
261
+ // successful leg and returns `{data, response}` for the
262
+ // emitMutation step below. The trailing per-attribute
263
+ // call's response is authoritative for the projection AND
264
+ // for `meta.request_id` / complexity — Monday's
265
+ // `update_group` returns the FULL Group post-mutation, so
266
+ // no force-live read leg fires (distinguishes group-update
267
+ // from board-update).
268
+ const { data: projected, response: lastResponse } = await withBoardInvalidationFanOut({
269
+ boardId: parsed.boardId,
270
+ env: ctx.env,
271
+ runFanOut: async ({ recordLegSuccess }) => {
272
+ let lastProjected;
273
+ let trailingResponse;
274
+ for (const entry of dispatchPlan) {
275
+ const response = await client.raw(UPDATE_GROUP_MUTATION, {
276
+ boardId: parsed.boardId,
277
+ groupId: parsed.groupId,
278
+ groupAttribute: entry.groupAttribute,
279
+ newValue: entry.value,
280
+ }, { operationName: 'GroupUpdate' });
281
+ const data = unwrapOrThrow(responseSchema.safeParse(response.data), {
282
+ context: 'Monday returned a malformed GroupUpdate response',
283
+ details: {
284
+ board_id: parsed.boardId,
285
+ group_id: parsed.groupId,
286
+ },
287
+ hint: "this is a data-integrity error in Monday's response; " +
288
+ 'verify the mutation response shape and update the schema ' +
289
+ "if Monday's contract has changed.",
290
+ });
291
+ if (!('update_group' in data)) {
292
+ throw new ApiError('internal_error', `Monday's GroupUpdate response is missing the update_group root field`, {
293
+ details: {
294
+ board_id: parsed.boardId,
295
+ group_id: parsed.groupId,
296
+ hint: "this is a schema-drift error in Monday's GraphQL " +
297
+ 'response; verify the mutation declaration and update ' +
298
+ "the response schema if Monday's contract has changed.",
299
+ },
300
+ });
301
+ }
302
+ // R48 lift: null-payload guard + projection. group-
303
+ // update's null path uses `not_found` (Monday's
304
+ // idiomatic missing-or-no-access response).
305
+ lastProjected = projectMutationGroup({
306
+ raw: data.update_group,
307
+ errorCode: 'not_found',
308
+ errorMessage: `Monday returned no group payload from update_group for board ${parsed.boardId} group ${parsed.groupId}`,
309
+ boardId: parsed.boardId,
310
+ idKey: 'group_id',
311
+ idValue: parsed.groupId,
312
+ });
313
+ trailingResponse = response;
314
+ recordLegSuccess();
315
+ }
316
+ // Defensive — TS can't narrow that the success path
317
+ // always sets these (the loop only runs when at
318
+ // least one flag is set, and the .refine() on
319
+ // inputSchema enforces ≥1 flag, but the type system
320
+ // doesn't see the cross-block invariant).
321
+ /* c8 ignore next 6 */
322
+ if (lastProjected === undefined || trailingResponse === undefined) {
323
+ throw new ApiError('internal_error', 'group update completed without a trailing wire response — this is a CLI bug', { details: { board_id: parsed.boardId, group_id: parsed.groupId } });
324
+ }
325
+ return { data: lastProjected, response: trailingResponse };
326
+ },
327
+ });
328
+ emitMutation({
329
+ ctx,
330
+ data: projected,
331
+ schema: boardGroupUpdateCommand.outputSchema,
332
+ programOpts: program.opts(),
333
+ warnings: [],
334
+ ...toEmit(lastResponse),
335
+ source: 'live',
336
+ cacheAgeSeconds: null,
337
+ });
338
+ });
339
+ },
340
+ };
341
+ //# sourceMappingURL=group-update.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"group-update.js","sourceRoot":"","sources":["../../../src/commands/board/group-update.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,28 @@
1
+ /**
2
+ * `monday board groups <bid>` — list a board's groups
3
+ * (`cli-design.md` §4.3).
4
+ *
5
+ * Reads through `loadBoardMetadata` so the shared cache covers
6
+ * `board describe` / `board columns` / `board groups` with one
7
+ * fetch.
8
+ *
9
+ * Idempotent: yes.
10
+ */
11
+ import { z } from 'zod';
12
+ import { type CommandModule } from '../types.js';
13
+ export declare const boardGroupsOutputSchema: z.ZodArray<z.ZodObject<{
14
+ id: z.ZodString;
15
+ title: z.ZodString;
16
+ color: z.ZodNullable<z.ZodString>;
17
+ position: z.ZodNullable<z.ZodString>;
18
+ archived: z.ZodNullable<z.ZodBoolean>;
19
+ deleted: z.ZodNullable<z.ZodBoolean>;
20
+ }, z.core.$strict>>;
21
+ export type BoardGroupsOutput = z.infer<typeof boardGroupsOutputSchema>;
22
+ declare const inputSchema: z.ZodObject<{
23
+ boardId: z.core.$ZodBranded<z.ZodString, "BoardId", "out">;
24
+ includeArchived: z.ZodOptional<z.ZodBoolean>;
25
+ }, z.core.$strict>;
26
+ export declare const boardGroupsCommand: CommandModule<z.infer<typeof inputSchema>, BoardGroupsOutput>;
27
+ export {};
28
+ //# sourceMappingURL=groups.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"groups.d.ts","sourceRoot":"","sources":["../../../src/commands/board/groups.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAoB,KAAK,aAAa,EAAE,MAAM,aAAa,CAAC;AAkBnE,eAAO,MAAM,uBAAuB;;;;;;;mBAA0B,CAAC;AAC/D,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAExE,QAAA,MAAM,WAAW;;;kBAKN,CAAC;AAEZ,eAAO,MAAM,kBAAkB,EAAE,aAAa,CAC5C,CAAC,CAAC,KAAK,CAAC,OAAO,WAAW,CAAC,EAC3B,iBAAiB,CA8DlB,CAAC"}
@@ -0,0 +1,85 @@
1
+ /**
2
+ * `monday board groups <bid>` — list a board's groups
3
+ * (`cli-design.md` §4.3).
4
+ *
5
+ * Reads through `loadBoardMetadata` so the shared cache covers
6
+ * `board describe` / `board columns` / `board groups` with one
7
+ * fetch.
8
+ *
9
+ * Idempotent: yes.
10
+ */
11
+ import { z } from 'zod';
12
+ import { ensureSubcommand } from '../types.js';
13
+ import { emitSuccess } from '../emit.js';
14
+ import { resolveClient } from '../../api/resolve-client.js';
15
+ import { BoardIdSchema } from '../../types/ids.js';
16
+ import { parseArgv } from '../parse-argv.js';
17
+ import { loadBoardMetadata } from '../../api/board-metadata.js';
18
+ const groupOutSchema = z
19
+ .object({
20
+ id: z.string().min(1),
21
+ title: z.string(),
22
+ color: z.string().nullable(),
23
+ position: z.string().nullable(),
24
+ archived: z.boolean().nullable(),
25
+ deleted: z.boolean().nullable(),
26
+ })
27
+ .strict();
28
+ export const boardGroupsOutputSchema = z.array(groupOutSchema);
29
+ const inputSchema = z
30
+ .object({
31
+ boardId: BoardIdSchema,
32
+ includeArchived: z.boolean().optional(),
33
+ })
34
+ .strict();
35
+ export const boardGroupsCommand = {
36
+ name: 'board.groups',
37
+ summary: "List a board's groups",
38
+ examples: [
39
+ 'monday board groups 12345',
40
+ 'monday board groups 12345 --include-archived --json',
41
+ ],
42
+ idempotent: true,
43
+ inputSchema,
44
+ outputSchema: boardGroupsOutputSchema,
45
+ attach: (program, ctx) => {
46
+ const noun = ensureSubcommand(program, 'board', 'Board commands');
47
+ noun
48
+ .command('groups <boardId>')
49
+ .description(boardGroupsCommand.summary)
50
+ .option('--include-archived', 'show archived/deleted groups too')
51
+ .addHelpText('after', ['', 'Examples:', ...boardGroupsCommand.examples.map((e) => ` ${e}`), ''].join('\n'))
52
+ .action(async (boardId, opts) => {
53
+ const parsed = parseArgv(boardGroupsCommand.inputSchema, {
54
+ boardId,
55
+ ...opts,
56
+ });
57
+ const { client, globalFlags, apiVersion } = resolveClient(ctx, program.opts());
58
+ const result = await loadBoardMetadata({
59
+ client,
60
+ boardId: parsed.boardId,
61
+ env: ctx.env,
62
+ noCache: globalFlags.noCache,
63
+ });
64
+ const groups = parsed.includeArchived === true
65
+ ? result.metadata.groups
66
+ : result.metadata.groups.filter((g) => g.archived !== true && g.deleted !== true);
67
+ ctx.meta.setSource(result.source);
68
+ emitSuccess({
69
+ ctx,
70
+ data: boardGroupsCommand.outputSchema.parse(groups),
71
+ schema: boardGroupsCommand.outputSchema,
72
+ programOpts: program.opts(),
73
+ kind: 'collection',
74
+ // Single-fetch payload (Monday returns the full group list
75
+ // in one request), so `has_more` is unconditionally false.
76
+ hasMore: false,
77
+ source: result.source,
78
+ apiVersion,
79
+ complexity: result.complexity,
80
+ cacheAgeSeconds: result.cacheAgeSeconds,
81
+ });
82
+ });
83
+ },
84
+ };
85
+ //# sourceMappingURL=groups.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"groups.js","sourceRoot":"","sources":["../../../src/commands/board/groups.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,39 @@
1
+ /**
2
+ * `monday board list` — list visible boards (`cli-design.md` §4.3, §6.3).
3
+ *
4
+ * GraphQL: `boards(limit:, page:, ids:, workspace_ids:, state:,
5
+ * order_by:)`. Page-based, same flag surface as `workspace list`.
6
+ *
7
+ * Idempotent: yes — pure read.
8
+ */
9
+ import { z } from 'zod';
10
+ import { type CommandModule } from '../types.js';
11
+ export declare const boardListOutputSchema: z.ZodArray<z.ZodObject<{
12
+ id: z.ZodString;
13
+ name: z.ZodString;
14
+ description: z.ZodNullable<z.ZodString>;
15
+ state: z.ZodNullable<z.ZodString>;
16
+ board_kind: z.ZodNullable<z.ZodString>;
17
+ board_folder_id: z.ZodNullable<z.ZodString>;
18
+ workspace_id: z.ZodNullable<z.ZodString>;
19
+ url: z.ZodNullable<z.ZodString>;
20
+ items_count: z.ZodNullable<z.ZodNumber>;
21
+ updated_at: z.ZodNullable<z.ZodString>;
22
+ }, z.core.$strict>>;
23
+ export type BoardListOutput = z.infer<typeof boardListOutputSchema>;
24
+ declare const inputSchema: z.ZodObject<{
25
+ workspace: z.ZodOptional<z.core.$ZodBranded<z.ZodString, "WorkspaceId", "out">>;
26
+ state: z.ZodOptional<z.ZodEnum<{
27
+ archived: "archived";
28
+ deleted: "deleted";
29
+ all: "all";
30
+ active: "active";
31
+ }>>;
32
+ limit: z.ZodOptional<z.ZodCoercedNumber<unknown>>;
33
+ page: z.ZodOptional<z.ZodCoercedNumber<unknown>>;
34
+ all: z.ZodOptional<z.ZodBoolean>;
35
+ limitPages: z.ZodOptional<z.ZodCoercedNumber<unknown>>;
36
+ }, z.core.$strict>;
37
+ export declare const boardListCommand: CommandModule<z.infer<typeof inputSchema>, BoardListOutput>;
38
+ export {};
39
+ //# sourceMappingURL=list.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../../../src/commands/board/list.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAoB,KAAK,aAAa,EAAE,MAAM,aAAa,CAAC;AAuDnE,eAAO,MAAM,qBAAqB;;;;;;;;;;;mBAAuB,CAAC;AAC1D,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAEpE,QAAA,MAAM,WAAW;;;;;;;;;;;;kBASN,CAAC;AAMZ,eAAO,MAAM,gBAAgB,EAAE,aAAa,CAC1C,CAAC,CAAC,KAAK,CAAC,OAAO,WAAW,CAAC,EAC3B,eAAe,CA0EhB,CAAC"}
@@ -0,0 +1,135 @@
1
+ /**
2
+ * `monday board list` — list visible boards (`cli-design.md` §4.3, §6.3).
3
+ *
4
+ * GraphQL: `boards(limit:, page:, ids:, workspace_ids:, state:,
5
+ * order_by:)`. Page-based, same flag surface as `workspace list`.
6
+ *
7
+ * Idempotent: yes — pure read.
8
+ */
9
+ import { z } from 'zod';
10
+ import { ensureSubcommand } from '../types.js';
11
+ import { emitSuccess } from '../emit.js';
12
+ import { resolveClient } from '../../api/resolve-client.js';
13
+ import { UsageError } from '../../utils/errors.js';
14
+ import { WorkspaceIdSchema } from '../../types/ids.js';
15
+ import { parseArgv } from '../parse-argv.js';
16
+ import { buildCapWarning, DEFAULT_MAX_PAGES, walkPages, } from '../../api/walk-pages.js';
17
+ const BOARD_LIST_QUERY = `
18
+ query BoardList(
19
+ $limit: Int
20
+ $page: Int
21
+ $workspaceIds: [ID]
22
+ $state: State
23
+ ) {
24
+ boards(
25
+ limit: $limit
26
+ page: $page
27
+ workspace_ids: $workspaceIds
28
+ state: $state
29
+ ) {
30
+ id
31
+ name
32
+ description
33
+ state
34
+ board_kind
35
+ board_folder_id
36
+ workspace_id
37
+ url
38
+ items_count
39
+ updated_at
40
+ }
41
+ }
42
+ `;
43
+ const boardSchema = z
44
+ .object({
45
+ id: z.string().min(1),
46
+ name: z.string(),
47
+ description: z.string().nullable(),
48
+ state: z.string().nullable(),
49
+ board_kind: z.string().nullable(),
50
+ board_folder_id: z.string().nullable(),
51
+ workspace_id: z.string().nullable(),
52
+ url: z.string().nullable(),
53
+ items_count: z.number().int().nullable(),
54
+ updated_at: z.string().nullable(),
55
+ })
56
+ .strict();
57
+ export const boardListOutputSchema = z.array(boardSchema);
58
+ const inputSchema = z
59
+ .object({
60
+ workspace: WorkspaceIdSchema.optional(),
61
+ state: z.enum(['active', 'archived', 'deleted', 'all']).optional(),
62
+ limit: z.coerce.number().int().positive().max(100).optional(),
63
+ page: z.coerce.number().int().positive().optional(),
64
+ all: z.boolean().optional(),
65
+ limitPages: z.coerce.number().int().positive().max(500).optional(),
66
+ })
67
+ .strict();
68
+ export const boardListCommand = {
69
+ name: 'board.list',
70
+ summary: 'List boards (optionally scoped to a workspace)',
71
+ examples: [
72
+ 'monday board list',
73
+ 'monday board list --workspace 12345 --state active',
74
+ 'monday board list --all --json',
75
+ ],
76
+ idempotent: true,
77
+ inputSchema,
78
+ outputSchema: boardListOutputSchema,
79
+ attach: (program, ctx) => {
80
+ const noun = ensureSubcommand(program, 'board', 'Board commands');
81
+ noun
82
+ .command('list')
83
+ .description(boardListCommand.summary)
84
+ .option('--workspace <wid>', 'restrict to one workspace')
85
+ .option('--state <s>', 'active|archived|deleted|all')
86
+ .option('--limit <n>', 'page size (1-100, default 25)')
87
+ .option('--page <n>', '1-indexed page')
88
+ .option('--all', 'walk every page')
89
+ .option('--limit-pages <n>', `max pages under --all (1-500, default ${String(DEFAULT_MAX_PAGES)})`)
90
+ .addHelpText('after', ['', 'Examples:', ...boardListCommand.examples.map((e) => ` ${e}`), ''].join('\n'))
91
+ .action(async (opts) => {
92
+ const parsed = parseArgv(boardListCommand.inputSchema, opts);
93
+ if (parsed.all === true && parsed.page !== undefined) {
94
+ throw new UsageError('--all and --page are mutually exclusive');
95
+ }
96
+ const { client, toEmit } = resolveClient(ctx, program.opts());
97
+ const limit = parsed.limit ?? 25;
98
+ const maxPages = parsed.limitPages ?? DEFAULT_MAX_PAGES;
99
+ const result = await walkPages({
100
+ fetchPage: (page) => {
101
+ const variables = { limit, page };
102
+ if (parsed.workspace !== undefined) {
103
+ variables.workspaceIds = [parsed.workspace];
104
+ }
105
+ if (parsed.state !== undefined)
106
+ variables.state = parsed.state;
107
+ return client.raw(BOARD_LIST_QUERY, variables, {
108
+ operationName: 'BoardList',
109
+ });
110
+ },
111
+ extractItems: (r) => r.data.boards ?? [],
112
+ pageSize: limit,
113
+ all: parsed.all === true,
114
+ startPage: parsed.page ?? 1,
115
+ maxPages,
116
+ });
117
+ const projected = boardListCommand.outputSchema.parse(result.items);
118
+ const warnings = [];
119
+ if (parsed.all === true && result.hasMore) {
120
+ warnings.push(buildCapWarning(result.pagesFetched));
121
+ }
122
+ emitSuccess({
123
+ ctx,
124
+ data: projected,
125
+ schema: boardListCommand.outputSchema,
126
+ programOpts: program.opts(),
127
+ kind: 'collection',
128
+ hasMore: result.hasMore,
129
+ warnings,
130
+ ...toEmit(result.lastResponse),
131
+ });
132
+ });
133
+ },
134
+ };
135
+ //# sourceMappingURL=list.js.map