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,387 @@
1
+ /**
2
+ * `monday item set <iid> (<col>=<val> | --set-raw <col>=<json>)` —
3
+ * single-column write (`cli-design.md` §4.3 + §5.3 + §5.3 escape-
4
+ * hatch, `v0.1-plan.md` §3 M5b, `v0.2-plan.md` §3 M8).
5
+ *
6
+ * Two argv shapes (mutually exclusive — exactly one fires per call):
7
+ * 1. **Friendly** — positional `<col>=<val>`. Resolves the column,
8
+ * translates the value through `column-values.ts
9
+ * translateColumnValueAsync`, dispatches via `selectMutation`.
10
+ * 2. **Raw** — `--set-raw <col>=<json>` (M8). Resolves the column,
11
+ * runs the read-only-forever / files-shaped reject lists from
12
+ * `raw-write.ts translateRawColumnValue`, dispatches via the
13
+ * same `selectMutation` (always `change_column_value` for
14
+ * single-column raw — never the simple variant per cli-design
15
+ * §5.3 line 898-901).
16
+ *
17
+ * **Two paths.** `--dry-run` orchestrates the M5a engine
18
+ * (`api/dry-run.ts planChanges`) which reads the item state, builds
19
+ * the §6.4 `planned_changes` shape, and emits a dry-run envelope
20
+ * (`data: null`, `meta.dry_run: true`, `planned_changes: [{...}]`).
21
+ * Live writes resolve the column + translate the value + select the
22
+ * mutation + fire it directly, returning the projected item per §6.2.
23
+ * Both shapes go through the same dry-run + live paths.
24
+ *
25
+ * **Board resolution** (cli-design §5.3 step 1). `--board <bid>` is
26
+ * authoritative; without it the CLI calls `items(ids:[<iid>])` to
27
+ * read `board.id` and continues. The implicit-lookup result feeds
28
+ * both the live write and the dry-run engine — same answer, same
29
+ * source-of-truth (the item's current board).
30
+ *
31
+ * **Resolver-warning preservation.** Both paths thread collision /
32
+ * stale-cache-refreshed warnings into the success envelope via
33
+ * `warnings: [...]`. On error paths that surface AFTER resolution
34
+ * succeeded (the `column_archived` case the dry-run engine pins),
35
+ * the warnings fold into `error.details.resolver_warnings` so a
36
+ * stale-cache-then-archived flow doesn't lose the refresh signal.
37
+ *
38
+ * **Mutation kind selection** (`api/column-values.ts selectMutation`).
39
+ * Item set is single-`<col>=<val>` only:
40
+ * - 1 simple type (text / long_text / numbers) →
41
+ * `change_simple_column_value` (bare-string `value`).
42
+ * - 1 rich type (status / dropdown / date / people) →
43
+ * `change_column_value` (JSON object `value`).
44
+ * `change_multiple_column_values` is never selected by item set —
45
+ * that path lights up under `monday item update` (next session).
46
+ *
47
+ * Idempotent: yes — Monday's `change_*` mutations are idempotent
48
+ * (re-running with the same args produces the same item state).
49
+ */
50
+ import { z } from 'zod';
51
+ import { ensureSubcommand } from '../types.js';
52
+ import { emitDryRun, emitMutation } from '../emit.js';
53
+ import { resolveClient } from '../../api/resolve-client.js';
54
+ import { BoardIdSchema, ItemIdSchema } from '../../types/ids.js';
55
+ import { parseArgv } from '../parse-argv.js';
56
+ import { ApiError, MondayCliError, UsageError } from '../../utils/errors.js';
57
+ import { resolveColumnWithRefresh, } from '../../api/columns.js';
58
+ import { selectMutation, translateColumnValueAsync, } from '../../api/column-values.js';
59
+ import { parseSetRawExpression, translateRawColumnValue, } from '../../api/raw-write.js';
60
+ import { splitSetExpression } from '../../api/set-expression.js';
61
+ import { buildResolutionContexts } from '../../api/resolution-context.js';
62
+ import { resolveBoardId } from '../../api/item-board-lookup.js';
63
+ import { buildColumnArchivedError } from '../../api/resolution-pass.js';
64
+ import { foldAndRemap, foldResolverWarningsIntoError, } from '../../api/resolver-error-fold.js';
65
+ import { planChanges } from '../../api/dry-run.js';
66
+ import { ITEM_FIELDS_FRAGMENT } from '../../api/item-helpers.js';
67
+ import { projectMutationItem as projectMutationItemShared } from '../../api/item-mutation-result.js';
68
+ import { projectedItemSchema, } from '../../api/item-projection.js';
69
+ const CHANGE_SIMPLE_COLUMN_VALUE_MUTATION = `
70
+ mutation ItemSetSimple(
71
+ $itemId: ID!
72
+ $boardId: ID!
73
+ $columnId: String!
74
+ $value: String!
75
+ ) {
76
+ change_simple_column_value(
77
+ item_id: $itemId
78
+ board_id: $boardId
79
+ column_id: $columnId
80
+ value: $value
81
+ ) {
82
+ ${ITEM_FIELDS_FRAGMENT}
83
+ }
84
+ }
85
+ `;
86
+ const CHANGE_COLUMN_VALUE_MUTATION = `
87
+ mutation ItemSetRich(
88
+ $itemId: ID!
89
+ $boardId: ID!
90
+ $columnId: String!
91
+ $value: JSON!
92
+ ) {
93
+ change_column_value(
94
+ item_id: $itemId
95
+ board_id: $boardId
96
+ column_id: $columnId
97
+ value: $value
98
+ ) {
99
+ ${ITEM_FIELDS_FRAGMENT}
100
+ }
101
+ }
102
+ `;
103
+ export const itemSetOutputSchema = projectedItemSchema;
104
+ const inputSchema = z
105
+ .object({
106
+ itemId: ItemIdSchema,
107
+ // Positional `<col>=<val>` is optional in M8 — `--set-raw` is the
108
+ // alternative shape per cli-design §4.3 line 492-494. Exactly one
109
+ // of `setExpr` / `setRaw` must be present (validated below).
110
+ setExpr: z.string().min(1).optional(),
111
+ setRaw: z.string().min(1).optional(),
112
+ board: BoardIdSchema.optional(),
113
+ })
114
+ .strict()
115
+ .refine((v) => (v.setExpr === undefined) !== (v.setRaw === undefined), {
116
+ message: 'item set requires exactly one of <col>=<val> (positional) or ' +
117
+ '--set-raw <col>=<json>',
118
+ path: ['setExpr'],
119
+ });
120
+ export const itemSetCommand = {
121
+ name: 'item.set',
122
+ summary: 'Write a single column value on an item',
123
+ examples: [
124
+ 'monday item set 12345 status=Done',
125
+ 'monday item set 12345 status=Done --board 67890',
126
+ "monday item set 12345 owner=alice@example.com --dry-run",
127
+ 'monday item set 12345 due=+1w --json',
128
+ "monday item set 12345 --set-raw status='{\"label\":\"Done\"}'",
129
+ "monday item set 12345 --set-raw tags='{\"tag_ids\":[1,2]}' --board 67890",
130
+ ],
131
+ idempotent: true,
132
+ inputSchema,
133
+ outputSchema: itemSetOutputSchema,
134
+ attach: (program, ctx) => {
135
+ const noun = ensureSubcommand(program, 'item', 'Item commands');
136
+ noun
137
+ // Positional `[setExpr]` optional so the parser accepts the
138
+ // `--set-raw`-only invocation per cli-design §4.3 line 492-494.
139
+ // The zod refinement enforces "exactly one of setExpr / setRaw".
140
+ .command('set <itemId> [setExpr]')
141
+ .description(itemSetCommand.summary)
142
+ .option('--board <bid>', 'board ID (skip implicit lookup)')
143
+ .option('--set-raw <expr>', '<col>=<json> raw write (escape hatch — bypasses friendly translator)')
144
+ // `--dry-run` is a global flag (`src/cli/program.ts`) — read
145
+ // it via `globalFlags.dryRun` rather than redeclaring on this
146
+ // subcommand so the flag stays single-source-of-truth across
147
+ // every M5b mutation surface.
148
+ .addHelpText('after', ['', 'Examples:', ...itemSetCommand.examples.map((e) => ` ${e}`), ''].join('\n'))
149
+ .action(async (itemId, setExpr, opts) => {
150
+ const parsed = parseArgv(itemSetCommand.inputSchema, {
151
+ itemId,
152
+ ...(setExpr === undefined ? {} : { setExpr }),
153
+ ...opts,
154
+ });
155
+ const { client, globalFlags, apiVersion, toEmit } = resolveClient(ctx, program.opts());
156
+ // Exactly one of setExpr / setRaw is present (zod refinement
157
+ // enforces XOR). Discriminate to keep the downstream code
158
+ // shape clear.
159
+ const isRaw = parsed.setRaw !== undefined;
160
+ const friendly = parsed.setExpr === undefined ? null : splitSetExpression(parsed.setExpr);
161
+ const rawParsed = parsed.setRaw === undefined ? null : parseSetRawExpression(parsed.setRaw);
162
+ // The token under either shape — used for resolved_ids echo +
163
+ // dry-run engine input.
164
+ const token = friendly?.token ?? rawParsed?.token;
165
+ /* c8 ignore next 5 — defensive: zod refinement guarantees one
166
+ of friendly / rawParsed is non-null, so token is non-undefined.
167
+ The guard exists for `noUncheckedIndexedAccess` narrowing. */
168
+ if (token === undefined) {
169
+ throw new UsageError('item set: token narrowing failed');
170
+ }
171
+ const boardId = await resolveBoardId({
172
+ client,
173
+ itemId: parsed.itemId,
174
+ explicit: parsed.board,
175
+ });
176
+ // Resolution contexts. `MONDAY_TIMEZONE` env override threads
177
+ // to date.parseDateInput per cli-design §5.3 line 765;
178
+ // `resolveMe` + `resolveEmail` cover the people branch's
179
+ // `me` token and email-lookup paths per §5.3 line 728-734.
180
+ const { dateResolution, peopleResolution } = buildResolutionContexts({ client, ctx, globalFlags });
181
+ if (globalFlags.dryRun) {
182
+ const result = await planChanges({
183
+ client,
184
+ boardId,
185
+ itemId: parsed.itemId,
186
+ setEntries: friendly === null ? [] : [friendly],
187
+ ...(rawParsed === null ? {} : { rawEntries: [rawParsed] }),
188
+ dateResolution,
189
+ peopleResolution,
190
+ env: ctx.env,
191
+ noCache: globalFlags.noCache,
192
+ });
193
+ emitDryRun({
194
+ ctx,
195
+ programOpts: program.opts(),
196
+ // PlannedChange is a closed-shape interface; the dry-run
197
+ // envelope's `planned_changes` field is `unknown[]` per
198
+ // §6.4 (extensions land additively). Widen here.
199
+ plannedChanges: result.plannedChanges,
200
+ source: result.source,
201
+ cacheAgeSeconds: result.cacheAgeSeconds,
202
+ warnings: result.warnings,
203
+ apiVersion,
204
+ });
205
+ return;
206
+ }
207
+ // Live write path. Resolution + translation + mutation,
208
+ // mirroring planChanges' resolver-warnings preservation but
209
+ // without the item-state read (which the live mutation
210
+ // doesn't need — the mutation response carries the updated
211
+ // item).
212
+ const resolution = await resolveColumnWithRefresh({
213
+ client,
214
+ boardId,
215
+ token,
216
+ includeArchived: true,
217
+ env: ctx.env,
218
+ noCache: globalFlags.noCache,
219
+ });
220
+ const resolverWarnings = resolution.warnings;
221
+ if (resolution.match.column.archived === true) {
222
+ throw foldResolverWarningsIntoError(buildColumnArchivedError({
223
+ columnId: resolution.match.column.id,
224
+ columnTitle: resolution.match.column.title,
225
+ columnType: resolution.match.column.type,
226
+ boardId,
227
+ }), resolverWarnings);
228
+ }
229
+ // Translator + mutation-selection + live mutation all share
230
+ // the same resolver-warnings preservation rule. Any typed
231
+ // failure (UsageError from date/dropdown/people invalid
232
+ // input, ApiError(validation_failed) from Monday on the
233
+ // mutation) gets the collected collision /
234
+ // stale_cache_refreshed warnings folded into
235
+ // details.resolver_warnings — pass-1 finding F2 widened the
236
+ // fold from ApiError-only to MondayCliError to cover the
237
+ // full error surface. M8: --set-raw branch uses the same
238
+ // shape — `translateRawColumnValue` runs the read-only-
239
+ // forever / files-shaped reject lists, then dispatch.
240
+ let translated;
241
+ let mutationResult;
242
+ try {
243
+ if (isRaw) {
244
+ /* c8 ignore next 4 — defensive: isRaw === true means
245
+ rawParsed is non-null per the discriminator above. */
246
+ if (rawParsed === null) {
247
+ throw new UsageError('item set: rawParsed narrowing failed');
248
+ }
249
+ translated = translateRawColumnValue({
250
+ id: resolution.match.column.id,
251
+ type: resolution.match.column.type,
252
+ }, rawParsed.value, rawParsed.rawJson);
253
+ }
254
+ else {
255
+ /* c8 ignore next 4 — defensive: isRaw === false means
256
+ friendly is non-null per the discriminator above. */
257
+ if (friendly === null) {
258
+ throw new UsageError('item set: friendly narrowing failed');
259
+ }
260
+ translated = await translateColumnValueAsync({
261
+ column: {
262
+ id: resolution.match.column.id,
263
+ type: resolution.match.column.type,
264
+ },
265
+ value: friendly.value,
266
+ dateResolution,
267
+ peopleResolution,
268
+ });
269
+ }
270
+ const mutation = selectMutation([translated]);
271
+ mutationResult = await executeMutation(client, {
272
+ mutation,
273
+ itemId: parsed.itemId,
274
+ boardId,
275
+ });
276
+ }
277
+ catch (err) {
278
+ if (err instanceof MondayCliError) {
279
+ throw await foldAndRemap({
280
+ err,
281
+ warnings: resolverWarnings,
282
+ client,
283
+ boardId,
284
+ columnIds: [resolution.match.column.id],
285
+ env: ctx.env,
286
+ noCache: globalFlags.noCache,
287
+ resolutionSource: resolution.source,
288
+ });
289
+ }
290
+ throw err;
291
+ }
292
+ // Resolver warnings ride into the success envelope's
293
+ // top-level warnings so an agent reading a successful write
294
+ // still sees that the cache was stale or that the token
295
+ // collided with another column's title. Same shape filter
296
+ // reads use post-R12.
297
+ // ResolverWarning widens to envelope.Warning structurally
298
+ // (narrower code literal, required details). Same shape
299
+ // filters.ts and search.ts use post-R12.
300
+ const warnings = resolverWarnings;
301
+ emitMutation({
302
+ ctx,
303
+ data: mutationResult.projected,
304
+ schema: itemSetCommand.outputSchema,
305
+ programOpts: program.opts(),
306
+ warnings,
307
+ ...toEmit(mutationResult.response),
308
+ // Resolution may have served from cache (and refreshed if
309
+ // the column wasn't there); thread the resolved source +
310
+ // age through. The mutation itself is always live, so a
311
+ // pure-cache leg never happens here — but the resolver's
312
+ // `mixed` outcome still surfaces as `mixed`.
313
+ source: resolution.source === 'cache' ? 'mixed' : resolution.source,
314
+ cacheAgeSeconds: resolution.cacheAgeSeconds,
315
+ // cli-design §5.3 step 2: echo the resolved column ID so
316
+ // an agent's "set then re-read" loop can use the resolved
317
+ // ID without consulting metadata twice. Keyed by the raw
318
+ // input token (the slot is `Record<string, string>` so
319
+ // multi-`--set` in M5b's item update extends naturally).
320
+ resolvedIds: { [token]: resolution.match.column.id },
321
+ });
322
+ });
323
+ },
324
+ };
325
+ /**
326
+ * Issues the live mutation Monday's `change_simple_column_value` /
327
+ * `change_column_value` accept. Returns the projected item per §6.2
328
+ * — Monday returns the full item shape on the mutation's payload, so
329
+ * one round-trip lands the write + the post-write item state. The
330
+ * raw response object is also returned so the caller can thread its
331
+ * `complexity` field through `toEmit`.
332
+ */
333
+ const executeMutation = async (client, inputs) => {
334
+ const { mutation, itemId, boardId } = inputs;
335
+ if (mutation.kind === 'change_simple_column_value') {
336
+ const response = await client.raw(CHANGE_SIMPLE_COLUMN_VALUE_MUTATION, {
337
+ itemId,
338
+ boardId,
339
+ columnId: mutation.columnId,
340
+ value: mutation.value,
341
+ }, { operationName: 'ItemSetSimple' });
342
+ return {
343
+ projected: projectMutationItem(response.data.change_simple_column_value, itemId),
344
+ response,
345
+ };
346
+ }
347
+ if (mutation.kind === 'change_column_value') {
348
+ const response = await client.raw(CHANGE_COLUMN_VALUE_MUTATION, {
349
+ itemId,
350
+ boardId,
351
+ columnId: mutation.columnId,
352
+ // Monday's `change_column_value(value: JSON!)` accepts a
353
+ // plain object — the SDK / fetch layer handles the wire
354
+ // stringification at the GraphQL `JSON` scalar boundary.
355
+ // Per cli-design §5.3 step 4: the translator emits a plain
356
+ // JS object; the wire layer handles the JSON.stringify.
357
+ value: mutation.value,
358
+ }, { operationName: 'ItemSetRich' });
359
+ return {
360
+ projected: projectMutationItem(response.data.change_column_value, itemId),
361
+ response,
362
+ };
363
+ }
364
+ // change_multiple_column_values — reachable only when item set's
365
+ // single-`<col>=<val>` becomes multi-`--set` in v0.1's `item update`.
366
+ // Defensive guard: M5b's item set never selects multi.
367
+ /* c8 ignore next 9 — defensive: selectMutation only emits this
368
+ kind for >1 translated values; item set is single-`<col>=<val>`
369
+ by argv shape, so this branch is unreachable. */
370
+ throw new ApiError('internal_error', `item set selected ${mutation.kind} but only the single-column ` +
371
+ `mutations are supported here; bundling >1 set targets is item ` +
372
+ `update's surface.`, { details: { mutation_kind: mutation.kind, item_id: itemId } });
373
+ };
374
+ // Thin wrapper around `api/item-mutation-result.ts projectMutationItem`
375
+ // (R28). M5b chose `internal_error` + "no item payload" to flag a
376
+ // mutation that succeeded server-side but returned an empty payload
377
+ // (rare server-side glitch); M10's destructive verbs use `not_found`
378
+ // for Monday's idiomatic null-for-missing behaviour. Both shapes flow
379
+ // through the shared helper; the wrapper preserves M5b's call-site
380
+ // signature so update-/clear-/set-style call sites stay untouched.
381
+ const projectMutationItem = (raw, itemId) => projectMutationItemShared({
382
+ raw,
383
+ itemId,
384
+ errorCode: 'internal_error',
385
+ errorMessage: `Monday returned no item payload from the mutation for id ${itemId}.`,
386
+ });
387
+ //# sourceMappingURL=set.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"set.js","sourceRoot":"","sources":["../../../src/commands/item/set.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,50 @@
1
+ /**
2
+ * `monday item subitems <iid>` — list direct children of an item
3
+ * (`cli-design.md` §2.8, `v0.1-plan.md` §3 M4).
4
+ *
5
+ * Monday's subitem hierarchy reaches up to 5 levels deep (§2.8); this
6
+ * command surfaces just the *direct* children of one parent. Walking
7
+ * deeper is the agent's concern (recursive `monday item subitems`
8
+ * calls). Single-fetch — Monday returns the full subitems array
9
+ * inline, so there's no cursor to track. The result still emits as
10
+ * a §6.3 collection envelope with `total_returned` so the shape
11
+ * matches `item list`.
12
+ *
13
+ * Idempotent: yes.
14
+ */
15
+ import { z } from 'zod';
16
+ import { type CommandModule } from '../types.js';
17
+ import { type ProjectedItem } from '../../api/item-projection.js';
18
+ export declare const itemSubitemsOutputSchema: z.ZodArray<z.ZodObject<{
19
+ id: z.ZodString;
20
+ name: z.ZodString;
21
+ board_id: z.ZodNullable<z.ZodString>;
22
+ group_id: z.ZodNullable<z.ZodString>;
23
+ parent_item_id: z.ZodNullable<z.ZodString>;
24
+ state: z.ZodNullable<z.ZodString>;
25
+ url: z.ZodNullable<z.ZodString>;
26
+ created_at: z.ZodNullable<z.ZodString>;
27
+ updated_at: z.ZodNullable<z.ZodString>;
28
+ columns: z.ZodRecord<z.ZodString, z.ZodObject<{
29
+ id: z.ZodString;
30
+ type: z.ZodString;
31
+ title: z.ZodOptional<z.ZodString>;
32
+ text: z.ZodNullable<z.ZodString>;
33
+ value: z.ZodUnknown;
34
+ label: z.ZodOptional<z.ZodNullable<z.ZodString>>;
35
+ index: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
36
+ date: z.ZodOptional<z.ZodNullable<z.ZodString>>;
37
+ time: z.ZodOptional<z.ZodNullable<z.ZodString>>;
38
+ people: z.ZodOptional<z.ZodArray<z.ZodObject<{
39
+ id: z.ZodString;
40
+ kind: z.ZodOptional<z.ZodNullable<z.ZodString>>;
41
+ }, z.core.$loose>>>;
42
+ }, z.core.$loose>>;
43
+ }, z.core.$strict>>;
44
+ export type ItemSubitemsOutput = readonly ProjectedItem[];
45
+ declare const inputSchema: z.ZodObject<{
46
+ itemId: z.core.$ZodBranded<z.ZodString, "ItemId", "out">;
47
+ }, z.core.$strict>;
48
+ export declare const itemSubitemsCommand: CommandModule<z.infer<typeof inputSchema>, ItemSubitemsOutput>;
49
+ export {};
50
+ //# sourceMappingURL=subitems.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"subitems.d.ts","sourceRoot":"","sources":["../../../src/commands/item/subitems.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAoB,KAAK,aAAa,EAAE,MAAM,aAAa,CAAC;AAMnE,OAAO,EAIL,KAAK,aAAa,EACnB,MAAM,8BAA8B,CAAC;AAkBtC,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;mBAA+B,CAAC;AACrE,MAAM,MAAM,kBAAkB,GAAG,SAAS,aAAa,EAAE,CAAC;AAE1D,QAAA,MAAM,WAAW;;kBAA8C,CAAC;AAShE,eAAO,MAAM,mBAAmB,EAAE,aAAa,CAC7C,CAAC,CAAC,KAAK,CAAC,OAAO,WAAW,CAAC,EAC3B,kBAAkB,CA8DnB,CAAC"}
@@ -0,0 +1,86 @@
1
+ /**
2
+ * `monday item subitems <iid>` — list direct children of an item
3
+ * (`cli-design.md` §2.8, `v0.1-plan.md` §3 M4).
4
+ *
5
+ * Monday's subitem hierarchy reaches up to 5 levels deep (§2.8); this
6
+ * command surfaces just the *direct* children of one parent. Walking
7
+ * deeper is the agent's concern (recursive `monday item subitems`
8
+ * calls). Single-fetch — Monday returns the full subitems array
9
+ * inline, so there's no cursor to track. The result still emits as
10
+ * a §6.3 collection envelope with `total_returned` so the shape
11
+ * matches `item list`.
12
+ *
13
+ * Idempotent: yes.
14
+ */
15
+ import { z } from 'zod';
16
+ import { ensureSubcommand } from '../types.js';
17
+ import { emitSuccess } from '../emit.js';
18
+ import { resolveClient } from '../../api/resolve-client.js';
19
+ import { ApiError } from '../../utils/errors.js';
20
+ import { ItemIdSchema } from '../../types/ids.js';
21
+ import { parseArgv } from '../parse-argv.js';
22
+ import { idFromRawItem, projectItem, projectedItemSchema, } from '../../api/item-projection.js';
23
+ import { ITEM_FIELDS_FRAGMENT, parseRawItem, } from '../../api/item-helpers.js';
24
+ import { sortByIdAsc } from '../../api/sort.js';
25
+ const ITEM_SUBITEMS_QUERY = `
26
+ query ItemSubitems($ids: [ID!]!) {
27
+ items(ids: $ids) {
28
+ id
29
+ subitems {
30
+ ${ITEM_FIELDS_FRAGMENT}
31
+ }
32
+ }
33
+ }
34
+ `;
35
+ export const itemSubitemsOutputSchema = z.array(projectedItemSchema);
36
+ const inputSchema = z.object({ itemId: ItemIdSchema }).strict();
37
+ export const itemSubitemsCommand = {
38
+ name: 'item.subitems',
39
+ summary: 'List direct subitems of one item (one level deep)',
40
+ examples: [
41
+ 'monday item subitems 12345',
42
+ 'monday item subitems 12345 --json',
43
+ ],
44
+ idempotent: true,
45
+ inputSchema,
46
+ outputSchema: itemSubitemsOutputSchema,
47
+ attach: (program, ctx) => {
48
+ const noun = ensureSubcommand(program, 'item', 'Item commands');
49
+ noun
50
+ .command('subitems <itemId>')
51
+ .description(itemSubitemsCommand.summary)
52
+ .addHelpText('after', ['', 'Examples:', ...itemSubitemsCommand.examples.map((e) => ` ${e}`), ''].join('\n'))
53
+ .action(async (itemId) => {
54
+ const parsed = parseArgv(itemSubitemsCommand.inputSchema, { itemId });
55
+ const { client, toEmit } = resolveClient(ctx, program.opts());
56
+ const response = await client.raw(ITEM_SUBITEMS_QUERY, { ids: [parsed.itemId] }, { operationName: 'ItemSubitems' });
57
+ const first = response.data.items?.[0];
58
+ if (first === undefined) {
59
+ throw new ApiError('not_found', `Monday returned no item for id ${parsed.itemId}`, { details: { item_id: parsed.itemId } });
60
+ }
61
+ const rawSubitems = first.subitems ?? [];
62
+ // Per-page sort by ID asc — §3.1 #8. Subitems is a single
63
+ // page so this is the only sort the result sees.
64
+ const sorted = sortByIdAsc(rawSubitems, idFromRawItem);
65
+ // R18 parse-boundary wrap: malformed subitem surfaces as
66
+ // typed `internal_error` with `details.issues` plus the
67
+ // parent-item id for triage.
68
+ const data = sorted.map((raw) => projectItem({
69
+ raw: parseRawItem(raw, { parent_item_id: parsed.itemId }),
70
+ }));
71
+ emitSuccess({
72
+ ctx,
73
+ data,
74
+ schema: itemSubitemsCommand.outputSchema,
75
+ programOpts: program.opts(),
76
+ kind: 'collection',
77
+ // Single-fetch — no cursor, no remaining pages.
78
+ nextCursor: null,
79
+ hasMore: false,
80
+ totalReturned: data.length,
81
+ ...toEmit(response),
82
+ });
83
+ });
84
+ },
85
+ };
86
+ //# sourceMappingURL=subitems.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"subitems.js","sourceRoot":"","sources":["../../../src/commands/item/subitems.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,99 @@
1
+ /**
2
+ * `monday item update <iid> [--name <n>] [--set <col>=<val>]...` —
3
+ * multi-column atomic update + optional rename.
4
+ * (`cli-design.md` §4.3 line 490, §5.3, `v0.1-plan.md` §3 M5b).
5
+ *
6
+ * Two argv shapes:
7
+ *
8
+ * 1. **Single-item** (this commit): positional `<itemId>` +
9
+ * repeatable `--set <col>=<val>` + optional `--name <n>`.
10
+ * Multi-`--set` (≥2) bundles into one
11
+ * `change_multiple_column_values` mutation (atomic on Monday's
12
+ * side per §5.3 step 5). `--name` rolls into the same multi
13
+ * mutation when columns are also present, otherwise fires a
14
+ * dedicated `change_simple_column_value(column_id: "name", ...)`.
15
+ *
16
+ * 2. **Bulk** (next commit): `--where <expr>` repeatable + no
17
+ * positional `<itemId>` — applies the same `--set` / `--name`
18
+ * bundle to every matching item via Monday's `items_page`
19
+ * walker. `confirmation_required` fires without `--yes` (and
20
+ * without `--dry-run`) per cli-design §10.2.
21
+ *
22
+ * **`--name` + `--set` atomicity.** Per cli-design §5.3 step 5, the
23
+ * design promises atomicity for multi-column updates. Bundling the
24
+ * name into the multi mutation keeps the same atomicity guarantee
25
+ * for `--name + --set`. Monday's
26
+ * `change_multiple_column_values(column_values: JSON!)` accepts
27
+ * `name` as a special key in the map. The dry-run engine produces
28
+ * a single `PlannedChange` whose `diff` includes both column keys
29
+ * and a `name` key when both are passed.
30
+ *
31
+ * **`--name` only.** Single field → `change_simple_column_value(
32
+ * column_id: "name", value: <n>)`. Atomic by default (single
33
+ * mutation).
34
+ *
35
+ * **`--create-labels-if-missing`** (cli-design §4.3) — passes
36
+ * through to Monday's `change_*_column_value(create_labels_if_missing:
37
+ * true)`. Tells Monday to auto-create unknown status / dropdown
38
+ * labels rather than rejecting with `validation_failed`. Off by
39
+ * default; agents who want labels-on-demand pass the flag
40
+ * explicitly.
41
+ *
42
+ * Idempotent: yes — `change_*` mutations are idempotent. Multi-set
43
+ * is also idempotent (re-running with the same args produces the
44
+ * same item state).
45
+ */
46
+ import { z } from 'zod';
47
+ import { type CommandModule } from '../types.js';
48
+ import { type ProjectedItem } from '../../api/item-projection.js';
49
+ export declare const itemUpdateOutputSchema: z.ZodObject<{
50
+ id: z.ZodString;
51
+ name: z.ZodString;
52
+ board_id: z.ZodNullable<z.ZodString>;
53
+ group_id: z.ZodNullable<z.ZodString>;
54
+ parent_item_id: z.ZodNullable<z.ZodString>;
55
+ state: z.ZodNullable<z.ZodString>;
56
+ url: z.ZodNullable<z.ZodString>;
57
+ created_at: z.ZodNullable<z.ZodString>;
58
+ updated_at: z.ZodNullable<z.ZodString>;
59
+ columns: z.ZodRecord<z.ZodString, z.ZodObject<{
60
+ id: z.ZodString;
61
+ type: z.ZodString;
62
+ title: z.ZodOptional<z.ZodString>;
63
+ text: z.ZodNullable<z.ZodString>;
64
+ value: z.ZodUnknown;
65
+ label: z.ZodOptional<z.ZodNullable<z.ZodString>>;
66
+ index: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
67
+ date: z.ZodOptional<z.ZodNullable<z.ZodString>>;
68
+ time: z.ZodOptional<z.ZodNullable<z.ZodString>>;
69
+ people: z.ZodOptional<z.ZodArray<z.ZodObject<{
70
+ id: z.ZodString;
71
+ kind: z.ZodOptional<z.ZodNullable<z.ZodString>>;
72
+ }, z.core.$loose>>>;
73
+ }, z.core.$loose>>;
74
+ }, z.core.$strict>;
75
+ export type ItemUpdateOutput = ProjectedItem;
76
+ /**
77
+ * Input shape — supports both single-item and bulk shapes.
78
+ *
79
+ * - Single-item: `itemId` positional required; `where` empty.
80
+ * - Bulk: `itemId` positional omitted; `where` non-empty
81
+ * AND `board` required.
82
+ *
83
+ * The split lives in `validateInputShape` (action body) so the zod
84
+ * schema captures the union without the per-shape conditional logic
85
+ * — the action layer reads the discriminator and dispatches.
86
+ */
87
+ declare const inputSchema: z.ZodObject<{
88
+ itemId: z.ZodOptional<z.core.$ZodBranded<z.ZodString, "ItemId", "out">>;
89
+ set: z.ZodDefault<z.ZodArray<z.ZodString>>;
90
+ setRaw: z.ZodDefault<z.ZodArray<z.ZodString>>;
91
+ name: z.ZodOptional<z.ZodString>;
92
+ board: z.ZodOptional<z.core.$ZodBranded<z.ZodString, "BoardId", "out">>;
93
+ where: z.ZodDefault<z.ZodArray<z.ZodString>>;
94
+ filterJson: z.ZodOptional<z.ZodString>;
95
+ createLabelsIfMissing: z.ZodOptional<z.ZodBoolean>;
96
+ }, z.core.$strict>;
97
+ export declare const itemUpdateCommand: CommandModule<z.infer<typeof inputSchema>, ItemUpdateOutput>;
98
+ export {};
99
+ //# sourceMappingURL=update.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../../src/commands/item/update.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4CG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAoB,KAAK,aAAa,EAAE,MAAM,aAAa,CAAC;AAkDnE,OAAO,EAEL,KAAK,aAAa,EACnB,MAAM,8BAA8B,CAAC;AAuEtC,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;kBAAsB,CAAC;AAC1D,MAAM,MAAM,gBAAgB,GAAG,aAAa,CAAC;AAE7C;;;;;;;;;;GAUG;AACH,QAAA,MAAM,WAAW;;;;;;;;;kBA+Cd,CAAC;AAmDJ,eAAO,MAAM,iBAAiB,EAAE,aAAa,CAC3C,CAAC,CAAC,KAAK,CAAC,OAAO,WAAW,CAAC,EAC3B,gBAAgB,CAqOjB,CAAC"}