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,239 @@
1
+ /**
2
+ * `monday board group-create <bid> --name <n> [--color <c>]
3
+ * [--dry-run]` — create a new group on a board (`cli-design.md`
4
+ * §4.3 line 1174, `v0.2-plan.md` §3 M17).
5
+ *
6
+ * **Wire shape.** Single round-trip via `create_group(board_id,
7
+ * group_name, position?, position_relative_method?, relative_to?,
8
+ * group_color?)` per SDK 14.0.0 `MutationCreate_GroupArgs`. The CLI
9
+ * flag `--name` maps to wire `group_name: String!`; `--color` maps
10
+ * to wire `group_color: String?`. M17 deliberately OMITS all three
11
+ * placement surfaces (`position` is per-changelog deprecated and
12
+ * `top|bottom` literal semantics are wire-ambiguous; the relative-
13
+ * position pair `position_relative_method` + `relative_to` is
14
+ * deferred to v0.3 with `--before <gid>` / `--after <gid>` flags).
15
+ * Agents needing placement today call the wire mutation via M9's
16
+ * `dev mutate` escape hatch.
17
+ *
18
+ * **`--color` validation.** Monday's accepted colour names are
19
+ * documented outside the SDK's typed surface (the SDK types
20
+ * `group_color` as plain `String?`); the v0.2 implementation owns
21
+ * the field set per cli-design §4.3 group-create. Argv-parses
22
+ * against the pinned `GROUP_COLOR_VALUES` palette in
23
+ * `src/api/group-color.ts` (shared with `group-update` so a colour
24
+ * accepted by create round-trips through update without surprise
25
+ * rejections). Bogus palette names surface as `usage_error` (exit
26
+ * 1) BEFORE any network call. Mirrors M16 column-create's per-type
27
+ * `--settings` field-set ownership rationale — pinning specific
28
+ * values inline in the contract would force docs revisions every
29
+ * time Monday tweaks the palette; the implementation owns the
30
+ * field set so the contract pins only the SHAPE.
31
+ *
32
+ * **Live-envelope projection.** Returned `Maybe<Group>` is projected
33
+ * through `groupProjectionSchema` (the M17 R48-lifted shared shape)
34
+ * via `projectMutationGroup`. Sharing the schema keeps create /
35
+ * update / archive / duplicate / delete envelopes byte-identical
36
+ * for the same record.
37
+ *
38
+ * **Dry-run shape** per cli-design §6.4 group-create variant:
39
+ * minimal `{operation: "create_group", board_id, name, color?}`. No
40
+ * preflight read fires; the dry-run is purely argv-derived.
41
+ * `meta.source: 'none'`.
42
+ *
43
+ * **Eager invalidation** (cli-design §8 single-leg call-site
44
+ * contract). On success, calls `invalidateBoard(boardId)` AFTER
45
+ * the success envelope's `data` projection completes — never
46
+ * before the wire mutation, never between mutation and projection.
47
+ * Skipped on the error path (a failed single-leg call didn't
48
+ * change board state). The cache entry's stale `groups: [...]`
49
+ * list is dropped so subsequent reads in the same process see
50
+ * fresh state without TTL eviction.
51
+ *
52
+ * **Idempotent: false.** Re-running creates a second group with
53
+ * the same name (Monday auto-generates a fresh group id per call).
54
+ * NOT destructive (no --yes gate).
55
+ */
56
+ import { z } from 'zod';
57
+ import { ensureSubcommand } from '../types.js';
58
+ import { emitDryRun, emitMutation } from '../emit.js';
59
+ import { resolveClient } from '../../api/resolve-client.js';
60
+ import { parseArgv } from '../parse-argv.js';
61
+ import { ApiError } from '../../utils/errors.js';
62
+ import { unwrapOrThrow } from '../../utils/parse-boundary.js';
63
+ import { BoardIdSchema } from '../../types/ids.js';
64
+ import { withBoardInvalidationSingleLeg } from '../../api/board-mutation-invalidation.js';
65
+ import { GROUP_COLOR_VALUES } from '../../api/group-color.js';
66
+ import { GROUP_FIELDS_FRAGMENT, groupProjectionSchema, projectMutationGroup, } from '../../api/group-mutation-result.js';
67
+ const CREATE_GROUP_MUTATION = `
68
+ mutation GroupCreate(
69
+ $boardId: ID!,
70
+ $groupName: String!,
71
+ $groupColor: String
72
+ ) {
73
+ create_group(
74
+ board_id: $boardId,
75
+ group_name: $groupName,
76
+ group_color: $groupColor
77
+ ) {
78
+ ${GROUP_FIELDS_FRAGMENT}
79
+ }
80
+ }
81
+ `;
82
+ export const boardGroupCreateOutputSchema = groupProjectionSchema;
83
+ const inputSchema = z
84
+ .object({
85
+ boardId: BoardIdSchema,
86
+ name: z.string().refine((s) => s.trim().length > 0, {
87
+ message: '--name must be non-empty (whitespace-only is rejected)',
88
+ }),
89
+ // Per cli-design §4.3 group-create: --color is argv-parse
90
+ // validated against the pinned Monday-supported palette.
91
+ // M17 implementation owns the field set (see api/group-color.ts);
92
+ // values outside the set surface as usage_error (exit 1) before
93
+ // any network call. Mirrors M16 column-create's per-type
94
+ // `--settings` field-set ownership rationale.
95
+ color: z.enum(GROUP_COLOR_VALUES).optional(),
96
+ })
97
+ .strict();
98
+ const responseSchema = z
99
+ .object({
100
+ create_group: z.unknown(),
101
+ })
102
+ .loose();
103
+ export const boardGroupCreateCommand = {
104
+ name: 'board.group-create',
105
+ summary: 'Create a new group on a board',
106
+ examples: [
107
+ 'monday board group-create 12345 --name "Sprint 42"',
108
+ 'monday board group-create 12345 --name "Sprint 42" --color blue',
109
+ 'monday board group-create 12345 --name "Preview" --dry-run --json',
110
+ ],
111
+ // create_group is non-idempotent — re-running creates a second
112
+ // group with the same name (Monday auto-generates a fresh group
113
+ // id per call). Mirrors `board create` / `workspace create` /
114
+ // `item create` / `column-create` rationale.
115
+ idempotent: false,
116
+ inputSchema,
117
+ outputSchema: boardGroupCreateOutputSchema,
118
+ attach: (program, ctx) => {
119
+ const noun = ensureSubcommand(program, 'board', 'Board commands');
120
+ noun
121
+ .command('group-create <boardId>')
122
+ .description(boardGroupCreateCommand.summary)
123
+ .requiredOption('--name <n>', 'group name')
124
+ .option('--color <c>', 'group color (Monday-supported palette name)')
125
+ .addHelpText('after', ['', 'Examples:', ...boardGroupCreateCommand.examples.map((e) => ` ${e}`), ''].join('\n'))
126
+ .action(async (boardId, opts) => {
127
+ const parsed = parseArgv(boardGroupCreateCommand.inputSchema, {
128
+ boardId,
129
+ ...opts,
130
+ });
131
+ const name = parsed.name.trim();
132
+ // No trim on color — the enum check on inputSchema rejects
133
+ // anything outside GROUP_COLOR_VALUES, which already covers
134
+ // exact-match shapes.
135
+ const color = parsed.color;
136
+ const { client, globalFlags, apiVersion, toEmit } = resolveClient(ctx, program.opts());
137
+ if (globalFlags.dryRun) {
138
+ // Per cli-design §6.4 group-create variant: minimal
139
+ // `{operation, board_id, name, color?}`. No preflight
140
+ // read fires — purely argv-derived; meta.source: 'none'.
141
+ const planned = {
142
+ operation: 'create_group',
143
+ board_id: parsed.boardId,
144
+ name,
145
+ };
146
+ if (color !== undefined) {
147
+ planned.color = color;
148
+ }
149
+ emitDryRun({
150
+ ctx,
151
+ programOpts: program.opts(),
152
+ plannedChanges: [planned],
153
+ source: 'none',
154
+ cacheAgeSeconds: null,
155
+ warnings: [],
156
+ apiVersion,
157
+ });
158
+ return;
159
+ }
160
+ // Live path. Send each optional arg only when the agent
161
+ // provided one — passing `null` would explicitly clear /
162
+ // reject Monday's server-side default.
163
+ const variables = {
164
+ boardId: parsed.boardId,
165
+ groupName: name,
166
+ };
167
+ if (color !== undefined) {
168
+ variables.groupColor = color;
169
+ }
170
+ // §8 single-leg call-site contract via `withBoardInvalidation
171
+ // SingleLeg` (R46): the helper invalidates AFTER the closure
172
+ // returns (i.e. after `data` projection completes). On the
173
+ // error path the closure's throw bypasses invalidation —
174
+ // matching the §8 "skip on error" rule. Ordered BEFORE
175
+ // emitMutation so a cache-unlink failure surfaces through
176
+ // the runner's catch-all rather than double-emitting after
177
+ // a success envelope hit stdout.
178
+ const { data: projected, response } = await withBoardInvalidationSingleLeg({
179
+ boardId: parsed.boardId,
180
+ env: ctx.env,
181
+ perform: async () => {
182
+ const wireResponse = await client.raw(CREATE_GROUP_MUTATION, variables, { operationName: 'GroupCreate' });
183
+ const data = unwrapOrThrow(responseSchema.safeParse(wireResponse.data), {
184
+ context: 'Monday returned a malformed GroupCreate response',
185
+ details: { board_id: parsed.boardId, name },
186
+ hint: "this is a data-integrity error in Monday's response; " +
187
+ 'verify the response shape and update responseSchema if ' +
188
+ "Monday's contract has changed.",
189
+ });
190
+ // Distinguish missing-root-key (schema-drift →
191
+ // internal_error with schema-drift hint) from null
192
+ // payload (Monday returned no group → also internal_
193
+ // error here since create's contract is "every
194
+ // successful call returns a Group"). Mirrors the M16
195
+ // column-create / M15 board-create missing-root-key vs
196
+ // null-payload split.
197
+ if (!('create_group' in data)) {
198
+ throw new ApiError('internal_error', `Monday's GroupCreate response is missing the create_group root field`, {
199
+ details: {
200
+ board_id: parsed.boardId,
201
+ name,
202
+ hint: "this is a schema-drift error in Monday's GraphQL " +
203
+ 'response; verify the mutation declaration and update ' +
204
+ "the response schema if Monday's contract has changed.",
205
+ },
206
+ });
207
+ }
208
+ // R48 lift (api/group-mutation-result.ts): null-payload
209
+ // guard + projection. Create's null path uses `internal_
210
+ // error` because the contract is "every successful call
211
+ // returns a Group"; the helper carries the agent-
212
+ // supplied `name` in `details` (paired with `board_id`)
213
+ // because the new group id doesn't exist yet on the
214
+ // null path.
215
+ const projection = projectMutationGroup({
216
+ raw: data.create_group,
217
+ errorCode: 'internal_error',
218
+ errorMessage: `Monday returned no group payload from create_group for board ${parsed.boardId} name ${JSON.stringify(name)}.`,
219
+ boardId: parsed.boardId,
220
+ idKey: 'name',
221
+ idValue: name,
222
+ });
223
+ return { data: projection, response: wireResponse };
224
+ },
225
+ });
226
+ emitMutation({
227
+ ctx,
228
+ data: projected,
229
+ schema: boardGroupCreateCommand.outputSchema,
230
+ programOpts: program.opts(),
231
+ warnings: [],
232
+ ...toEmit(response),
233
+ source: 'live',
234
+ cacheAgeSeconds: null,
235
+ });
236
+ });
237
+ },
238
+ };
239
+ //# sourceMappingURL=group-create.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"group-create.js","sourceRoot":"","sources":["../../../src/commands/board/group-create.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,79 @@
1
+ /**
2
+ * `monday board group-delete <bid> <gid> --yes [--dry-run]` —
3
+ * delete a group from a board (`cli-design.md` §4.3 line 1506,
4
+ * `v0.2-plan.md` §3 M17).
5
+ *
6
+ * **Confirmation gate** (cli-design §3.1 #7 + §10.2). `--yes` is
7
+ * mandatory for the live path; without `--yes` AND without
8
+ * `--dry-run` the command fails fast with `confirmation_required`
9
+ * (exit 1) carrying `details.{board_id, group_id, hint}` per
10
+ * cli-design §6.5 single-target shape — the wire signature
11
+ * (`delete_group(board_id, group_id)`) is two-tuple, so both ids
12
+ * echo. Same gate-before-`resolveClient()` ordering as `item
13
+ * delete` / `workspace delete` / `board delete` / `column-delete`
14
+ * / `group-archive`. R29 helper count: 9 → 10 (group-delete is the
15
+ * 10th consumer of `enforceDestructiveGate`); 3rd two-tuple
16
+ * `extraDetails` consumer after column-delete + group-archive.
17
+ *
18
+ * **`--dry-run` bypasses the confirmation gate** per cli-design
19
+ * §3.1 #7 — dry-run is non-executing and the gate is for live
20
+ * destructive writes only. `group-delete <bid> <gid> --dry-run`
21
+ * without `--yes` emits the dry-run envelope with `meta.source:
22
+ * 'none'`, matching `item delete` / `update delete` / `workspace
23
+ * delete` / `board delete` / `column-delete` precedent.
24
+ *
25
+ * **Wire shape.** Single round-trip via `delete_group(board_id,
26
+ * group_id)` per SDK 14.0.0 `MutationDelete_GroupArgs`. Monday
27
+ * returns `Maybe<Group>` (the group's last-look projection before
28
+ * deletion). A null result surfaces as `not_found` — the standard
29
+ * "id was bogus / already deleted" mapping.
30
+ *
31
+ * **Dry-run shape** per cli-design §6.4 group-delete variant:
32
+ * minimal `{operation: "delete_group", board_id, group_id}`. No
33
+ * preflight read fires; the dry-run is purely argv-derived.
34
+ * `meta.source: 'none'`. Mirrors the destructive-no-read pattern
35
+ * uniform across `item delete` / `update delete` / `workspace
36
+ * delete` / `board delete` / M16 `column-delete`. Note the
37
+ * deliberate divergence from `group-archive`'s snapshot-bearing
38
+ * dry-run shape: archive carries the source snapshot
39
+ * (item-archive / board-archive precedent — recoverable
40
+ * destructive; preview shows what will be hidden), delete is
41
+ * minimal (workspace-delete / board-delete / column-delete
42
+ * precedent — irrecoverable destructive past Monday's retention
43
+ * window; the agent already knows what they're deleting).
44
+ *
45
+ * **Eager invalidation** (cli-design §8 single-leg call-site
46
+ * contract). On success, calls `invalidateBoard(boardId)` AFTER
47
+ * the success envelope's `data` projection completes; ordered
48
+ * BEFORE `emitMutation` so a cache-unlink failure surfaces
49
+ * through the runner's catch-all. Skipped on the error path.
50
+ * Required because the deleted group must drop from the cached
51
+ * `groups: [...]` list; without invalidation a same-process
52
+ * `board describe` / `monday board groups <bid>` would surface a
53
+ * phantom group until TTL eviction.
54
+ *
55
+ * **Idempotent: false.** Re-deleting an already-deleted group
56
+ * surfaces `not_found` past the first call — the wire-level
57
+ * converges, but the CLI-level surfaces a different envelope.
58
+ * Mirrors `item delete` / `update delete` / `workspace delete` /
59
+ * `board delete` / `column-delete` rationale.
60
+ */
61
+ import { z } from 'zod';
62
+ import { type CommandModule } from '../types.js';
63
+ import { type GroupProjection } from '../../api/group-mutation-result.js';
64
+ export declare const boardGroupDeleteOutputSchema: z.ZodObject<{
65
+ id: z.ZodString;
66
+ title: z.ZodString;
67
+ color: z.ZodNullable<z.ZodString>;
68
+ position: z.ZodNullable<z.ZodString>;
69
+ archived: z.ZodNullable<z.ZodBoolean>;
70
+ deleted: z.ZodNullable<z.ZodBoolean>;
71
+ }, z.core.$strict>;
72
+ export type BoardGroupDeleteOutput = GroupProjection;
73
+ declare const inputSchema: z.ZodObject<{
74
+ boardId: z.core.$ZodBranded<z.ZodString, "BoardId", "out">;
75
+ groupId: z.core.$ZodBranded<z.ZodString, "GroupId", "out">;
76
+ }, z.core.$strict>;
77
+ export declare const boardGroupDeleteCommand: CommandModule<z.infer<typeof inputSchema>, BoardGroupDeleteOutput>;
78
+ export {};
79
+ //# sourceMappingURL=group-delete.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"group-delete.d.ts","sourceRoot":"","sources":["../../../src/commands/board/group-delete.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2DG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAoB,KAAK,aAAa,EAAE,MAAM,aAAa,CAAC;AAUnE,OAAO,EAIL,KAAK,eAAe,EACrB,MAAM,oCAAoC,CAAC;AAU5C,eAAO,MAAM,4BAA4B;;;;;;;kBAAwB,CAAC;AAClE,MAAM,MAAM,sBAAsB,GAAG,eAAe,CAAC;AAErD,QAAA,MAAM,WAAW;;;kBAKN,CAAC;AAQZ,eAAO,MAAM,uBAAuB,EAAE,aAAa,CACjD,CAAC,CAAC,KAAK,CAAC,OAAO,WAAW,CAAC,EAC3B,sBAAsB,CAwJvB,CAAC"}
@@ -0,0 +1,222 @@
1
+ /**
2
+ * `monday board group-delete <bid> <gid> --yes [--dry-run]` —
3
+ * delete a group from a board (`cli-design.md` §4.3 line 1506,
4
+ * `v0.2-plan.md` §3 M17).
5
+ *
6
+ * **Confirmation gate** (cli-design §3.1 #7 + §10.2). `--yes` is
7
+ * mandatory for the live path; without `--yes` AND without
8
+ * `--dry-run` the command fails fast with `confirmation_required`
9
+ * (exit 1) carrying `details.{board_id, group_id, hint}` per
10
+ * cli-design §6.5 single-target shape — the wire signature
11
+ * (`delete_group(board_id, group_id)`) is two-tuple, so both ids
12
+ * echo. Same gate-before-`resolveClient()` ordering as `item
13
+ * delete` / `workspace delete` / `board delete` / `column-delete`
14
+ * / `group-archive`. R29 helper count: 9 → 10 (group-delete is the
15
+ * 10th consumer of `enforceDestructiveGate`); 3rd two-tuple
16
+ * `extraDetails` consumer after column-delete + group-archive.
17
+ *
18
+ * **`--dry-run` bypasses the confirmation gate** per cli-design
19
+ * §3.1 #7 — dry-run is non-executing and the gate is for live
20
+ * destructive writes only. `group-delete <bid> <gid> --dry-run`
21
+ * without `--yes` emits the dry-run envelope with `meta.source:
22
+ * 'none'`, matching `item delete` / `update delete` / `workspace
23
+ * delete` / `board delete` / `column-delete` precedent.
24
+ *
25
+ * **Wire shape.** Single round-trip via `delete_group(board_id,
26
+ * group_id)` per SDK 14.0.0 `MutationDelete_GroupArgs`. Monday
27
+ * returns `Maybe<Group>` (the group's last-look projection before
28
+ * deletion). A null result surfaces as `not_found` — the standard
29
+ * "id was bogus / already deleted" mapping.
30
+ *
31
+ * **Dry-run shape** per cli-design §6.4 group-delete variant:
32
+ * minimal `{operation: "delete_group", board_id, group_id}`. No
33
+ * preflight read fires; the dry-run is purely argv-derived.
34
+ * `meta.source: 'none'`. Mirrors the destructive-no-read pattern
35
+ * uniform across `item delete` / `update delete` / `workspace
36
+ * delete` / `board delete` / M16 `column-delete`. Note the
37
+ * deliberate divergence from `group-archive`'s snapshot-bearing
38
+ * dry-run shape: archive carries the source snapshot
39
+ * (item-archive / board-archive precedent — recoverable
40
+ * destructive; preview shows what will be hidden), delete is
41
+ * minimal (workspace-delete / board-delete / column-delete
42
+ * precedent — irrecoverable destructive past Monday's retention
43
+ * window; the agent already knows what they're deleting).
44
+ *
45
+ * **Eager invalidation** (cli-design §8 single-leg call-site
46
+ * contract). On success, calls `invalidateBoard(boardId)` AFTER
47
+ * the success envelope's `data` projection completes; ordered
48
+ * BEFORE `emitMutation` so a cache-unlink failure surfaces
49
+ * through the runner's catch-all. Skipped on the error path.
50
+ * Required because the deleted group must drop from the cached
51
+ * `groups: [...]` list; without invalidation a same-process
52
+ * `board describe` / `monday board groups <bid>` would surface a
53
+ * phantom group until TTL eviction.
54
+ *
55
+ * **Idempotent: false.** Re-deleting an already-deleted group
56
+ * surfaces `not_found` past the first call — the wire-level
57
+ * converges, but the CLI-level surfaces a different envelope.
58
+ * Mirrors `item delete` / `update delete` / `workspace delete` /
59
+ * `board delete` / `column-delete` rationale.
60
+ */
61
+ import { z } from 'zod';
62
+ import { ensureSubcommand } from '../types.js';
63
+ import { emitDryRun, emitMutation } from '../emit.js';
64
+ import { resolveClient } from '../../api/resolve-client.js';
65
+ import { BoardIdSchema, GroupIdSchema } from '../../types/ids.js';
66
+ import { parseArgv } from '../parse-argv.js';
67
+ import { parseGlobalFlags } from '../../types/global-flags.js';
68
+ import { ApiError } from '../../utils/errors.js';
69
+ import { enforceDestructiveGate } from '../../api/destructive-gate.js';
70
+ import { unwrapOrThrow } from '../../utils/parse-boundary.js';
71
+ import { withBoardInvalidationSingleLeg } from '../../api/board-mutation-invalidation.js';
72
+ import { GROUP_FIELDS_FRAGMENT, groupProjectionSchema, projectMutationGroup, } from '../../api/group-mutation-result.js';
73
+ const DELETE_GROUP_MUTATION = `
74
+ mutation GroupDelete($boardId: ID!, $groupId: String!) {
75
+ delete_group(board_id: $boardId, group_id: $groupId) {
76
+ ${GROUP_FIELDS_FRAGMENT}
77
+ }
78
+ }
79
+ `;
80
+ export const boardGroupDeleteOutputSchema = groupProjectionSchema;
81
+ const inputSchema = z
82
+ .object({
83
+ boardId: BoardIdSchema,
84
+ groupId: GroupIdSchema,
85
+ })
86
+ .strict();
87
+ const responseSchema = z
88
+ .object({
89
+ delete_group: z.unknown(),
90
+ })
91
+ .loose();
92
+ export const boardGroupDeleteCommand = {
93
+ name: 'board.group-delete',
94
+ summary: 'Delete a group from a board — --yes required',
95
+ examples: [
96
+ 'monday board group-delete 12345 topics --yes',
97
+ 'monday board group-delete 12345 topics --dry-run',
98
+ 'monday board group-delete 12345 topics --yes --json',
99
+ ],
100
+ // Re-deleting an already-deleted group surfaces not_found —
101
+ // same rationale as workspace / board / update / item / column
102
+ // delete.
103
+ idempotent: false,
104
+ inputSchema,
105
+ outputSchema: boardGroupDeleteOutputSchema,
106
+ attach: (program, ctx) => {
107
+ const noun = ensureSubcommand(program, 'board', 'Board commands');
108
+ noun
109
+ .command('group-delete <boardId> <groupId>')
110
+ .description(boardGroupDeleteCommand.summary)
111
+ .addHelpText('after', ['', 'Examples:', ...boardGroupDeleteCommand.examples.map((e) => ` ${e}`), ''].join('\n'))
112
+ .action(async (boardId, groupId) => {
113
+ const parsed = parseArgv(boardGroupDeleteCommand.inputSchema, {
114
+ boardId,
115
+ groupId,
116
+ });
117
+ // Gate fires BEFORE resolveClient() so a missing --yes
118
+ // surfaces as confirmation_required, not config_error
119
+ // (M10 round-1 P2 ordering invariant; R29 helper preserves
120
+ // it via already-parsed globalFlags). The two-tuple wire
121
+ // signature carries both ids in the confirmation envelope
122
+ // per cli-design §6.5: `extraDetails: {board_id}` rides
123
+ // alongside the canonical `group_id` detailKey.
124
+ const globalFlags = parseGlobalFlags(program.opts(), ctx.env);
125
+ enforceDestructiveGate({
126
+ globalFlags,
127
+ verb: 'board group-delete',
128
+ target: parsed.groupId,
129
+ detailKey: 'group_id',
130
+ extraDetails: { board_id: parsed.boardId },
131
+ action: `delete group ${parsed.groupId} from board ${parsed.boardId}`,
132
+ hint: 'delete is destructive — Monday retains deleted groups ' +
133
+ 'past their retention window; pass `--dry-run` first to ' +
134
+ 'preview, or use `monday board group-archive` for a ' +
135
+ 'recoverable hide (cli-design §4.3 group-delete + §8 ' +
136
+ 'decision 9).',
137
+ });
138
+ if (globalFlags.dryRun) {
139
+ // Minimal dry-run shape per §6.4 group-delete variant —
140
+ // no preflight read; meta.source: 'none'. Live surfaces
141
+ // not_found for bogus ids on its own.
142
+ const { apiVersion } = resolveClient(ctx, program.opts());
143
+ emitDryRun({
144
+ ctx,
145
+ programOpts: program.opts(),
146
+ plannedChanges: [
147
+ {
148
+ operation: 'delete_group',
149
+ board_id: parsed.boardId,
150
+ group_id: parsed.groupId,
151
+ },
152
+ ],
153
+ source: 'none',
154
+ cacheAgeSeconds: null,
155
+ warnings: [],
156
+ apiVersion,
157
+ });
158
+ return;
159
+ }
160
+ const { client, toEmit } = resolveClient(ctx, program.opts());
161
+ // §8 single-leg call-site contract via `withBoardInvalidation
162
+ // SingleLeg` (R46): invalidate AFTER the closure returns
163
+ // (i.e. after `data` projection completes), BEFORE
164
+ // emitMutation so a cache-unlink failure surfaces through
165
+ // the runner's catch-all. The closure's throws on schema
166
+ // drift / null payload bypass invalidation — a failed call
167
+ // didn't change board state.
168
+ const { data: projected, response } = await withBoardInvalidationSingleLeg({
169
+ boardId: parsed.boardId,
170
+ env: ctx.env,
171
+ perform: async () => {
172
+ const wireResponse = await client.raw(DELETE_GROUP_MUTATION, { boardId: parsed.boardId, groupId: parsed.groupId }, { operationName: 'GroupDelete' });
173
+ const data = unwrapOrThrow(responseSchema.safeParse(wireResponse.data), {
174
+ context: 'Monday returned a malformed GroupDelete response',
175
+ details: { board_id: parsed.boardId, group_id: parsed.groupId },
176
+ hint: "this is a data-integrity error in Monday's response; " +
177
+ 'verify the response shape and update responseSchema if ' +
178
+ "Monday's contract has changed.",
179
+ });
180
+ // Distinguish missing-root-key (schema-drift →
181
+ // internal_error) from null payload (group missing →
182
+ // not_found). Mirrors the M15 board-delete + M16
183
+ // column-delete distinction.
184
+ if (!('delete_group' in data)) {
185
+ throw new ApiError('internal_error', `Monday's GroupDelete response is missing the delete_group root field`, {
186
+ details: {
187
+ board_id: parsed.boardId,
188
+ group_id: parsed.groupId,
189
+ hint: "this is a schema-drift error in Monday's GraphQL " +
190
+ 'response; verify the mutation declaration and update ' +
191
+ "the response schema if Monday's contract has changed.",
192
+ },
193
+ });
194
+ }
195
+ // R48 lift: null-payload guard + projection. Delete's
196
+ // null path uses `not_found` (Monday's "id was bogus /
197
+ // already deleted" mapping).
198
+ const projection = projectMutationGroup({
199
+ raw: data.delete_group,
200
+ errorCode: 'not_found',
201
+ errorMessage: `Monday returned no group payload from delete_group for board ${parsed.boardId} group ${parsed.groupId}`,
202
+ boardId: parsed.boardId,
203
+ idKey: 'group_id',
204
+ idValue: parsed.groupId,
205
+ });
206
+ return { data: projection, response: wireResponse };
207
+ },
208
+ });
209
+ emitMutation({
210
+ ctx,
211
+ data: projected,
212
+ schema: boardGroupDeleteCommand.outputSchema,
213
+ programOpts: program.opts(),
214
+ warnings: [],
215
+ ...toEmit(response),
216
+ source: 'live',
217
+ cacheAgeSeconds: null,
218
+ });
219
+ });
220
+ },
221
+ };
222
+ //# sourceMappingURL=group-delete.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"group-delete.js","sourceRoot":"","sources":["../../../src/commands/board/group-delete.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,70 @@
1
+ /**
2
+ * `monday board group-duplicate <bid> <gid> [--name <n>]
3
+ * [--dry-run]` — duplicate a group on a board (`cli-design.md`
4
+ * §4.3 line 1441, `v0.2-plan.md` §3 M17).
5
+ *
6
+ * **Wire shape.** Single round-trip via `duplicate_group(board_id,
7
+ * group_id, add_to_top?, group_title?)` per SDK 14.0.0
8
+ * `MutationDuplicate_GroupArgs`. Returns `Maybe<Group>` (the
9
+ * newly-duplicated group, with a fresh ID auto-generated by
10
+ * Monday). `--name <n>` maps to wire `group_title?` (when omitted,
11
+ * Monday's wire-side default naming applies — typically
12
+ * `"<source name> (copy)"`, but the exact convention is server-
13
+ * side, not pinned by the CLI). M17 deliberately OMITS
14
+ * `add_to_top: Boolean` — agents needing placement control call
15
+ * the wire mutation via M9's `dev mutate` escape hatch (mirrors
16
+ * M16 column-create's omission of `after_column_id`).
17
+ *
18
+ * **Load-bearing divergence from sibling duplicate verbs.** `monday
19
+ * item duplicate` and `monday board duplicate` both surface
20
+ * `--with-updates` (mapping to wire `with_updates: Boolean` on
21
+ * `duplicate_item` / `duplicate_board`); `monday board group-
22
+ * duplicate` does NOT, because Monday's `duplicate_group` wire
23
+ * signature has no equivalent argument. The pre-pre-flight
24
+ * v0.2-plan §3 M17 draft listed `[--with-updates]` for group-
25
+ * duplicate; the M17 pre-flight pinned the wire truth and dropped
26
+ * the flag.
27
+ *
28
+ * **Live-envelope projection.** Returned `Maybe<Group>` is
29
+ * projected through `groupProjectionSchema` via
30
+ * `projectMutationGroup`. The CLI's success envelope's `data` is
31
+ * the new group's projection (not the source's).
32
+ *
33
+ * **Dry-run shape** per cli-design §6.4 group-duplicate variant:
34
+ * minimal `{operation: "duplicate_group", board_id, group_id,
35
+ * name?}`. No preflight read leg fires (Monday's `duplicate_group`
36
+ * reports `not_found` if the IDs are bogus and the dry-run is
37
+ * purely argv-derived — mirrors `column-delete`'s no-read pattern,
38
+ * even though group-duplicate is non-destructive). `meta.source:
39
+ * 'none'`.
40
+ *
41
+ * **Eager invalidation** (cli-design §8 single-leg call-site
42
+ * contract). On success, calls `invalidateBoard(boardId)` AFTER
43
+ * the success envelope's `data` projection completes. The cached
44
+ * `groups: [...]` list grew by one entry, so subsequent reads in
45
+ * the same process see the new group without TTL eviction.
46
+ *
47
+ * **Idempotent: false.** Every call creates a new group with a
48
+ * fresh ID (mirrors `item duplicate` / `board duplicate`). NOT
49
+ * destructive (no `--yes` gate).
50
+ */
51
+ import { z } from 'zod';
52
+ import { type CommandModule } from '../types.js';
53
+ import { type GroupProjection } from '../../api/group-mutation-result.js';
54
+ export declare const boardGroupDuplicateOutputSchema: z.ZodObject<{
55
+ id: z.ZodString;
56
+ title: z.ZodString;
57
+ color: z.ZodNullable<z.ZodString>;
58
+ position: z.ZodNullable<z.ZodString>;
59
+ archived: z.ZodNullable<z.ZodBoolean>;
60
+ deleted: z.ZodNullable<z.ZodBoolean>;
61
+ }, z.core.$strict>;
62
+ export type BoardGroupDuplicateOutput = GroupProjection;
63
+ declare const inputSchema: z.ZodObject<{
64
+ boardId: z.core.$ZodBranded<z.ZodString, "BoardId", "out">;
65
+ groupId: z.core.$ZodBranded<z.ZodString, "GroupId", "out">;
66
+ name: z.ZodOptional<z.ZodString>;
67
+ }, z.core.$strict>;
68
+ export declare const boardGroupDuplicateCommand: CommandModule<z.infer<typeof inputSchema>, BoardGroupDuplicateOutput>;
69
+ export {};
70
+ //# sourceMappingURL=group-duplicate.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"group-duplicate.d.ts","sourceRoot":"","sources":["../../../src/commands/board/group-duplicate.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiDG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAoB,KAAK,aAAa,EAAE,MAAM,aAAa,CAAC;AAQnE,OAAO,EAIL,KAAK,eAAe,EACrB,MAAM,oCAAoC,CAAC;AAkB5C,eAAO,MAAM,+BAA+B;;;;;;;kBAAwB,CAAC;AACrE,MAAM,MAAM,yBAAyB,GAAG,eAAe,CAAC;AAExD,QAAA,MAAM,WAAW;;;;kBAWN,CAAC;AAQZ,eAAO,MAAM,0BAA0B,EAAE,aAAa,CACpD,CAAC,CAAC,KAAK,CAAC,OAAO,WAAW,CAAC,EAC3B,yBAAyB,CAqJ1B,CAAC"}