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,66 @@
1
+ /**
2
+ * `monday item get <iid>` — single item by ID (`cli-design.md` §6.2).
3
+ *
4
+ * GraphQL: `items(ids: [<iid>])` with full column_values inline. The
5
+ * Monday `items` query is the only way to fetch a single item;
6
+ * passing exactly one ID returns at most one element. A null result
7
+ * (item archived to a board the token can't read, or genuinely
8
+ * non-existent) surfaces as `not_found`.
9
+ *
10
+ * Idempotent: yes — pure read.
11
+ */
12
+ import { z } from 'zod';
13
+ import { ensureSubcommand } from '../types.js';
14
+ import { runByIdLookup } from '../run-by-id-lookup.js';
15
+ import { ItemIdSchema } from '../../types/ids.js';
16
+ import { parseArgv } from '../parse-argv.js';
17
+ import { projectItem, projectedItemSchema, } from '../../api/item-projection.js';
18
+ import { ITEM_FIELDS_FRAGMENT, parseRawItem, } from '../../api/item-helpers.js';
19
+ const ITEM_GET_QUERY = `
20
+ query ItemGet($ids: [ID!]!) {
21
+ items(ids: $ids) {
22
+ ${ITEM_FIELDS_FRAGMENT}
23
+ }
24
+ }
25
+ `;
26
+ export const itemGetOutputSchema = projectedItemSchema;
27
+ const inputSchema = z.object({ itemId: ItemIdSchema }).strict();
28
+ export const itemGetCommand = {
29
+ name: 'item.get',
30
+ summary: 'Show one item by ID with full column values',
31
+ examples: [
32
+ 'monday item get 12345',
33
+ 'monday item get 12345 --json',
34
+ ],
35
+ idempotent: true,
36
+ inputSchema,
37
+ outputSchema: itemGetOutputSchema,
38
+ attach: (program, ctx) => {
39
+ const noun = ensureSubcommand(program, 'item', 'Item commands');
40
+ noun
41
+ .command('get <itemId>')
42
+ .description(itemGetCommand.summary)
43
+ .addHelpText('after', ['', 'Examples:', ...itemGetCommand.examples.map((e) => ` ${e}`), ''].join('\n'))
44
+ .action(async (itemId) => {
45
+ const parsed = parseArgv(itemGetCommand.inputSchema, { itemId });
46
+ await runByIdLookup({
47
+ ctx,
48
+ programOpts: program.opts(),
49
+ query: ITEM_GET_QUERY,
50
+ operationName: 'ItemGet',
51
+ collectionKey: 'items',
52
+ id: parsed.itemId,
53
+ errorDetailKey: 'item_id',
54
+ kind: 'item',
55
+ schema: itemGetCommand.outputSchema,
56
+ // Item-specific projection: parse the raw GraphQL element
57
+ // through `parseRawItem` (R18 wrap — malformed Monday
58
+ // payload surfaces as typed `internal_error` with
59
+ // `details.issues` and `item_id`), then derive the §6.2
60
+ // typed column shape via projectItem.
61
+ project: (raw) => projectItem({ raw: parseRawItem(raw, { item_id: parsed.itemId }) }),
62
+ });
63
+ });
64
+ },
65
+ };
66
+ //# sourceMappingURL=get.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get.js","sourceRoot":"","sources":["../../../src/commands/item/get.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,gBAAgB,EAAsB,MAAM,aAAa,CAAC;AACnE,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EACL,WAAW,EACX,mBAAmB,GAEpB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EACL,oBAAoB,EACpB,YAAY,GACb,MAAM,2BAA2B,CAAC;AAEnC,MAAM,cAAc,GAAG;;;QAGf,oBAAoB;;;CAG3B,CAAC;AAEF,MAAM,CAAC,MAAM,mBAAmB,GAAG,mBAAmB,CAAC;AAGvD,MAAM,WAAW,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;AAEhE,MAAM,CAAC,MAAM,cAAc,GAGvB;IACF,IAAI,EAAE,UAAU;IAChB,OAAO,EAAE,6CAA6C;IACtD,QAAQ,EAAE;QACR,uBAAuB;QACvB,8BAA8B;KAC/B;IACD,UAAU,EAAE,IAAI;IAChB,WAAW;IACX,YAAY,EAAE,mBAAmB;IACjC,MAAM,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,EAAE;QACvB,MAAM,IAAI,GAAG,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,eAAe,CAAC,CAAC;QAChE,IAAI;aACD,OAAO,CAAC,cAAc,CAAC;aACvB,WAAW,CAAC,cAAc,CAAC,OAAO,CAAC;aACnC,WAAW,CACV,OAAO,EACP,CAAC,EAAE,EAAE,WAAW,EAAE,GAAG,cAAc,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAClF;aACA,MAAM,CAAC,KAAK,EAAE,MAAe,EAAE,EAAE;YAChC,MAAM,MAAM,GAAG,SAAS,CAAC,cAAc,CAAC,WAAW,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;YACjE,MAAM,aAAa,CAAC;gBAClB,GAAG;gBACH,WAAW,EAAE,OAAO,CAAC,IAAI,EAAE;gBAC3B,KAAK,EAAE,cAAc;gBACrB,aAAa,EAAE,SAAS;gBACxB,aAAa,EAAE,OAAO;gBACtB,EAAE,EAAE,MAAM,CAAC,MAAM;gBACjB,cAAc,EAAE,SAAS;gBACzB,IAAI,EAAE,MAAM;gBACZ,MAAM,EAAE,cAAc,CAAC,YAAY;gBACnC,0DAA0D;gBAC1D,sDAAsD;gBACtD,kDAAkD;gBAClD,wDAAwD;gBACxD,sCAAsC;gBACtC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE,CACf,WAAW,CAAC,EAAE,GAAG,EAAE,YAAY,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC;aACtE,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACP,CAAC;CACF,CAAC"}
@@ -0,0 +1,73 @@
1
+ /**
2
+ * `monday item list --board <bid>` — paginated item listing
3
+ * (`cli-design.md` §2.4 / §5.5 / §5.6 / §6.3, `v0.1-plan.md` §3 M4).
4
+ *
5
+ * The heaviest M4 read. Pulls together every M3 / M4 foundation:
6
+ *
7
+ * - `loadBoardMetadata` (M3) — needed by the filter parser to
8
+ * resolve `<col>` tokens and by the §6.3 column-title
9
+ * de-duplication slot.
10
+ * - `buildQueryParams` (M4 filters.ts) — turns repeatable
11
+ * `--where` flags into Monday's `query_params.rules` payload,
12
+ * or passes `--filter-json` through. `me` sugar resolves via
13
+ * the `client.whoami()` callback — cached for the duration of
14
+ * the build call.
15
+ * - `paginate` (M4 pagination.ts) — `items_page` + `next_items_page`
16
+ * walker with the §5.6 stale-cursor fail-fast contract.
17
+ * - `projectItem` (M4 item-projection.ts) — produces the §6.2
18
+ * single-item shape; titles fold into the §6.3 collection-meta
19
+ * `columns` slot to avoid per-row repetition.
20
+ *
21
+ * NDJSON streaming mode bypasses the `emitSuccess` collect-then-emit
22
+ * path so items reach stdout as they arrive (per §6.3 / §3.1 #1 —
23
+ * agents can `monday item list --output ndjson | jq` without
24
+ * waiting for the whole walk). Mid-walk `stale_cursor` still emits a
25
+ * valid NDJSON stream up to the failure point and the standard
26
+ * §6.5 error envelope on stderr — the runner's catch-all picks up
27
+ * the thrown ApiError and writes the error envelope with the
28
+ * documented exit code.
29
+ *
30
+ * Idempotent: yes — pure read.
31
+ */
32
+ import { z } from 'zod';
33
+ import { type CommandModule } from '../types.js';
34
+ import { type ProjectedItem } from '../../api/item-projection.js';
35
+ export declare const itemListOutputSchema: z.ZodArray<z.ZodObject<{
36
+ id: z.ZodString;
37
+ name: z.ZodString;
38
+ board_id: z.ZodNullable<z.ZodString>;
39
+ group_id: z.ZodNullable<z.ZodString>;
40
+ parent_item_id: z.ZodNullable<z.ZodString>;
41
+ state: z.ZodNullable<z.ZodString>;
42
+ url: z.ZodNullable<z.ZodString>;
43
+ created_at: z.ZodNullable<z.ZodString>;
44
+ updated_at: z.ZodNullable<z.ZodString>;
45
+ columns: z.ZodRecord<z.ZodString, z.ZodObject<{
46
+ id: z.ZodString;
47
+ type: z.ZodString;
48
+ title: z.ZodOptional<z.ZodString>;
49
+ text: z.ZodNullable<z.ZodString>;
50
+ value: z.ZodUnknown;
51
+ label: z.ZodOptional<z.ZodNullable<z.ZodString>>;
52
+ index: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
53
+ date: z.ZodOptional<z.ZodNullable<z.ZodString>>;
54
+ time: z.ZodOptional<z.ZodNullable<z.ZodString>>;
55
+ people: z.ZodOptional<z.ZodArray<z.ZodObject<{
56
+ id: z.ZodString;
57
+ kind: z.ZodOptional<z.ZodNullable<z.ZodString>>;
58
+ }, z.core.$loose>>>;
59
+ }, z.core.$loose>>;
60
+ }, z.core.$strict>>;
61
+ export type ItemListOutput = readonly ProjectedItem[];
62
+ declare const inputSchema: z.ZodObject<{
63
+ board: z.core.$ZodBranded<z.ZodString, "BoardId", "out">;
64
+ group: z.ZodOptional<z.core.$ZodBranded<z.ZodString, "GroupId", "out">>;
65
+ where: z.ZodOptional<z.ZodArray<z.ZodString>>;
66
+ filterJson: z.ZodOptional<z.ZodString>;
67
+ all: z.ZodOptional<z.ZodBoolean>;
68
+ limit: z.ZodOptional<z.ZodCoercedNumber<unknown>>;
69
+ pageSize: z.ZodOptional<z.ZodCoercedNumber<unknown>>;
70
+ }, z.core.$strict>;
71
+ export declare const itemListCommand: CommandModule<z.infer<typeof inputSchema>, ItemListOutput>;
72
+ export {};
73
+ //# sourceMappingURL=list.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../../../src/commands/item/list.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAoB,KAAK,aAAa,EAAE,MAAM,aAAa,CAAC;AAoBnE,OAAO,EAGL,KAAK,aAAa,EACnB,MAAM,8BAA8B,CAAC;AAuCtC,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;mBAA+B,CAAC;AACjE,MAAM,MAAM,cAAc,GAAG,SAAS,aAAa,EAAE,CAAC;AAEtD,QAAA,MAAM,WAAW;;;;;;;;kBAuBN,CAAC;AA0CZ,eAAO,MAAM,eAAe,EAAE,aAAa,CACzC,CAAC,CAAC,KAAK,CAAC,OAAO,WAAW,CAAC,EAC3B,cAAc,CAyMf,CAAC"}
@@ -0,0 +1,284 @@
1
+ /**
2
+ * `monday item list --board <bid>` — paginated item listing
3
+ * (`cli-design.md` §2.4 / §5.5 / §5.6 / §6.3, `v0.1-plan.md` §3 M4).
4
+ *
5
+ * The heaviest M4 read. Pulls together every M3 / M4 foundation:
6
+ *
7
+ * - `loadBoardMetadata` (M3) — needed by the filter parser to
8
+ * resolve `<col>` tokens and by the §6.3 column-title
9
+ * de-duplication slot.
10
+ * - `buildQueryParams` (M4 filters.ts) — turns repeatable
11
+ * `--where` flags into Monday's `query_params.rules` payload,
12
+ * or passes `--filter-json` through. `me` sugar resolves via
13
+ * the `client.whoami()` callback — cached for the duration of
14
+ * the build call.
15
+ * - `paginate` (M4 pagination.ts) — `items_page` + `next_items_page`
16
+ * walker with the §5.6 stale-cursor fail-fast contract.
17
+ * - `projectItem` (M4 item-projection.ts) — produces the §6.2
18
+ * single-item shape; titles fold into the §6.3 collection-meta
19
+ * `columns` slot to avoid per-row repetition.
20
+ *
21
+ * NDJSON streaming mode bypasses the `emitSuccess` collect-then-emit
22
+ * path so items reach stdout as they arrive (per §6.3 / §3.1 #1 —
23
+ * agents can `monday item list --output ndjson | jq` without
24
+ * waiting for the whole walk). Mid-walk `stale_cursor` still emits a
25
+ * valid NDJSON stream up to the failure point and the standard
26
+ * §6.5 error envelope on stderr — the runner's catch-all picks up
27
+ * the thrown ApiError and writes the error envelope with the
28
+ * documented exit code.
29
+ *
30
+ * Idempotent: yes — pure read.
31
+ */
32
+ import { z } from 'zod';
33
+ import { ensureSubcommand } from '../types.js';
34
+ import { emitSuccess } from '../emit.js';
35
+ import { resolveClient } from '../../api/resolve-client.js';
36
+ import { BoardIdSchema, GroupIdSchema } from '../../types/ids.js';
37
+ import { parseArgv } from '../parse-argv.js';
38
+ import { loadBoardMetadata, refreshBoardMetadata, } from '../../api/board-metadata.js';
39
+ import { buildQueryParams } from '../../api/filters.js';
40
+ import { DEFAULT_PAGE_SIZE, paginate, } from '../../api/pagination.js';
41
+ import { fetchItemsPage, fetchNextItemsPage, } from '../../api/items-page-walker.js';
42
+ import { idFromRawItem, projectedItemSchema, } from '../../api/item-projection.js';
43
+ import { ITEM_FIELDS_FRAGMENT, collectColumnHeads, projectFromRaw, resolveMeFactory, titleMap, } from '../../api/item-helpers.js';
44
+ import { buildMeta, } from '../../utils/output/envelope.js';
45
+ import { selectOutput } from '../../utils/output/select.js';
46
+ import { startNdjsonStream } from '../../utils/output/ndjson.js';
47
+ import { parseGlobalFlags, } from '../../types/global-flags.js';
48
+ import { collectSecrets } from '../../cli/envelope-out.js';
49
+ // items_page GraphQL surface lifted into `api/items-page-walker.ts`
50
+ // per §18 R34 (post-M12). The helper builds the queries inline from
51
+ // `operationName` + `itemFields` + optional `groupId` — the
52
+ // top-level / by-group split (`boards.items_page` vs
53
+ // `boards.groups.items_page`) and the malformed-response parse
54
+ // boundary live there. `paginate.ts` stays the cursor walker for
55
+ // this command's --all / --limit / --page-size / NDJSON onItem /
56
+ // complexity tracking.
57
+ /**
58
+ * Per-row schema is `z.unknown()` — list.ts hands raw rows to
59
+ * `projectFromRaw` (which is the boundary that types each row).
60
+ * Keeping the helper untyped here preserves byte-identical behaviour
61
+ * (no per-row narrowing on the items_page page itself).
62
+ */
63
+ const listItemSchema = z.unknown();
64
+ export const itemListOutputSchema = z.array(projectedItemSchema);
65
+ const inputSchema = z
66
+ .object({
67
+ board: BoardIdSchema,
68
+ group: GroupIdSchema.optional(),
69
+ where: z.array(z.string()).optional(),
70
+ // Parity with `item update --filter-json` — see that file's note.
71
+ // Read-only here so not destructive, but `''` is never a valid
72
+ // `query_params` JSON object; reject at the schema boundary so
73
+ // the failure surfaces as `usage_error` rather than as a confusing
74
+ // "no filter applied" silent passthrough. `.refine(trim)` rather
75
+ // than `.min(1)` catches whitespace-only inputs too without
76
+ // burning a board-metadata network call first.
77
+ filterJson: z
78
+ .string()
79
+ .refine((s) => s.trim().length > 0, '--filter-json must be a non-empty JSON object')
80
+ .optional(),
81
+ all: z.boolean().optional(),
82
+ limit: z.coerce.number().int().positive().max(10_000).optional(),
83
+ pageSize: z.coerce.number().int().positive().max(500).optional(),
84
+ })
85
+ .strict();
86
+ const initialFetcher = (client, boardId, group, queryParams) => {
87
+ const operationName = group === undefined ? 'ItemsPage' : 'ItemsPageByGroup';
88
+ return (effectiveLimit) => fetchItemsPage({
89
+ client,
90
+ operationName,
91
+ boardId,
92
+ ...(group === undefined ? {} : { groupId: group }),
93
+ limit: effectiveLimit,
94
+ queryParams,
95
+ itemFields: ITEM_FIELDS_FRAGMENT,
96
+ itemSchema: listItemSchema,
97
+ });
98
+ };
99
+ const nextFetcher = (client) => {
100
+ return (cursor, effectiveLimit) => fetchNextItemsPage({
101
+ client,
102
+ operationName: 'NextItemsPage',
103
+ cursor,
104
+ limit: effectiveLimit,
105
+ itemFields: ITEM_FIELDS_FRAGMENT,
106
+ itemSchema: listItemSchema,
107
+ });
108
+ };
109
+ export const itemListCommand = {
110
+ name: 'item.list',
111
+ summary: 'List items on a board with cursor pagination + filters',
112
+ examples: [
113
+ 'monday item list --board 12345 --json',
114
+ "monday item list --board 12345 --where 'status=Done' --json",
115
+ "monday item list --board 12345 --where 'status=Done' --where 'owner=me'",
116
+ 'monday item list --board 12345 --all --output ndjson',
117
+ ],
118
+ idempotent: true,
119
+ inputSchema,
120
+ outputSchema: itemListOutputSchema,
121
+ attach: (program, ctx) => {
122
+ const noun = ensureSubcommand(program, 'item', 'Item commands');
123
+ noun
124
+ .command('list')
125
+ .description(itemListCommand.summary)
126
+ .requiredOption('--board <bid>', 'board ID (required)')
127
+ .option('--group <gid>', 'restrict to one group')
128
+ .option('--where <expr>', 'repeatable filter: <col><op><val> or <col>:is_empty', (value, prev) => [...prev, value], [])
129
+ .option('--filter-json <json>', 'literal Monday query_params (escape hatch)')
130
+ .option('--all', 'auto-paginate every page')
131
+ .option('--limit <n>', 'cap total items returned across pages')
132
+ .option('--page-size <n>', `page size (1-500, default ${String(DEFAULT_PAGE_SIZE)})`)
133
+ .addHelpText('after', ['', 'Examples:', ...itemListCommand.examples.map((e) => ` ${e}`), ''].join('\n'))
134
+ .action(async (opts) => {
135
+ const parsed = parseArgv(itemListCommand.inputSchema, opts);
136
+ const { client, globalFlags, apiVersion, toEmit } = resolveClient(ctx, program.opts());
137
+ const meta = await loadBoardMetadata({
138
+ client,
139
+ boardId: parsed.board,
140
+ env: ctx.env,
141
+ noCache: globalFlags.noCache,
142
+ });
143
+ // Build the cache-aware refresh callback only when metadata
144
+ // came from cache — refreshing live data wouldn't help and
145
+ // would burn an extra request. When refresh fires, the
146
+ // returned BoardMetadata becomes the new view for titles +
147
+ // columnHeads.
148
+ let activeMetadata = meta.metadata;
149
+ const onColumnNotFound = meta.source === 'cache'
150
+ ? async () => {
151
+ const refreshed = await refreshBoardMetadata({
152
+ client,
153
+ boardId: parsed.board,
154
+ env: ctx.env,
155
+ });
156
+ activeMetadata = refreshed.metadata;
157
+ return refreshed.metadata;
158
+ }
159
+ : undefined;
160
+ const filterResult = await buildQueryParams({
161
+ metadata: meta.metadata,
162
+ resolveMe: resolveMeFactory(client),
163
+ whereClauses: parsed.where ?? [],
164
+ filterJson: parsed.filterJson,
165
+ ...(onColumnNotFound === undefined ? {} : { onColumnNotFound }),
166
+ });
167
+ const queryParams = filterResult.queryParams;
168
+ const filterWarnings = filterResult.warnings;
169
+ // Effective meta source per §6.1:
170
+ // - metadata live + items live → live
171
+ // - metadata cache + items live → mixed (filterResult.refreshed
172
+ // doesn't matter here — the data is still partly cache-derived)
173
+ // - metadata cache + refresh fired during filter resolution
174
+ // → mixed (the original cache was stale, refresh was forced).
175
+ // The original cacheAgeSeconds is preserved so agents can read
176
+ // "how stale was the cache when this ran" — same pattern as
177
+ // resolveColumnWithRefresh per Codex M3 pass-2 §1.
178
+ const effectiveSource = meta.source === 'live' && !filterResult.refreshed ? 'live' : 'mixed';
179
+ const effectiveCacheAge = meta.cacheAgeSeconds;
180
+ const titles = titleMap(activeMetadata);
181
+ const columnHeads = collectColumnHeads(activeMetadata);
182
+ const pageSize = parsed.pageSize ?? DEFAULT_PAGE_SIZE;
183
+ const flags = {
184
+ all: parsed.all === true,
185
+ ...(parsed.limit === undefined ? { limit: undefined } : { limit: parsed.limit }),
186
+ };
187
+ const format = selectOutput({
188
+ json: globalFlags.json,
189
+ table: globalFlags.table,
190
+ ...(globalFlags.output === undefined ? {} : { output: globalFlags.output }),
191
+ env: ctx.env,
192
+ isTTY: ctx.isTTY,
193
+ });
194
+ // Streaming NDJSON path — emit per-arrival, then the §6.3
195
+ // trailer. Bypasses emitSuccess because the streaming
196
+ // contract requires items hitting stdout before the walk
197
+ // completes. R52 (M18) lifted the stream helper into
198
+ // `utils/output/ndjson.ts`; per-call `Meta` stays at the
199
+ // call site so per-noun trailer shape (item list/search
200
+ // carries `meta.columns`; update list does not) lives at
201
+ // the caller.
202
+ if (format === 'ndjson') {
203
+ const stream = startNdjsonStream({
204
+ stream: ctx.stdout,
205
+ secrets: collectSecrets(ctx.env),
206
+ project: (raw) => projectFromRaw(raw, titles, { omitColumnTitles: true }),
207
+ });
208
+ const result = await paginate({
209
+ fetchInitial: initialFetcher(client, parsed.board, parsed.group, queryParams),
210
+ fetchNext: nextFetcher(client),
211
+ now: ctx.clock,
212
+ extractPage: (r) => r.data,
213
+ getId: idFromRawItem,
214
+ all: flags.all,
215
+ ...(flags.limit === undefined ? {} : { limit: flags.limit }),
216
+ pageSize,
217
+ onItem: stream.onItem,
218
+ });
219
+ // §6.3 trailer-warnings pin: filterWarnings live on the
220
+ // success envelope when the caller picks JSON; in NDJSON
221
+ // they're dropped per the §6.3 "no warnings in trailer"
222
+ // rule. If a future milestone needs them in-stream, the
223
+ // contract path is `_meta.warnings` (extend `Meta`,
224
+ // don't add a sibling key). Suppress the unused-variable
225
+ // lint hint on the streaming branch with a void cast.
226
+ void filterWarnings;
227
+ stream.writeTrailer(buildMeta({
228
+ api_version: apiVersion,
229
+ cli_version: ctx.cliVersion,
230
+ request_id: ctx.requestId,
231
+ source: effectiveSource,
232
+ retrieved_at: ctx.clock().toISOString(),
233
+ cache_age_seconds: effectiveCacheAge,
234
+ complexity: result.complexity,
235
+ next_cursor: result.nextCursor,
236
+ has_more: result.hasMore,
237
+ total_returned: result.totalReturned,
238
+ columns: columnHeads,
239
+ }));
240
+ return;
241
+ }
242
+ // Non-streaming path — collect, project, emit through the
243
+ // standard envelope.
244
+ const result = await paginate({
245
+ fetchInitial: initialFetcher(client, parsed.board, parsed.group, queryParams),
246
+ fetchNext: nextFetcher(client),
247
+ now: ctx.clock,
248
+ extractPage: (r) => r.data,
249
+ getId: idFromRawItem,
250
+ all: flags.all,
251
+ ...(flags.limit === undefined ? {} : { limit: flags.limit }),
252
+ pageSize,
253
+ });
254
+ const data = result.items.map((raw) => projectFromRaw(raw, titles, { omitColumnTitles: true }));
255
+ const warnings = [...filterWarnings, ...result.warnings];
256
+ // Re-parse the global flags so commander's runtime shape gets
257
+ // normalised by parseGlobalFlags before emit reads it. (The
258
+ // flags variable above is already normalised; this just keeps
259
+ // emit's contract — programOpts is the raw shape — explicit.)
260
+ parseGlobalFlags(program.opts(), ctx.env);
261
+ const baseEmit = toEmit(result.lastResponse);
262
+ emitSuccess({
263
+ ctx,
264
+ data,
265
+ schema: itemListCommand.outputSchema,
266
+ programOpts: program.opts(),
267
+ kind: 'collection',
268
+ nextCursor: result.nextCursor,
269
+ hasMore: result.hasMore,
270
+ totalReturned: result.totalReturned,
271
+ columns: columnHeads,
272
+ warnings,
273
+ ...baseEmit,
274
+ // Override toEmit's `live` / `null` defaults when the
275
+ // metadata leg came from cache. Items still came from the
276
+ // live items_page query, so source: 'mixed' + the original
277
+ // cacheAgeSeconds is the §6.1-correct view (Codex M4 §2).
278
+ source: effectiveSource,
279
+ cacheAgeSeconds: effectiveCacheAge,
280
+ });
281
+ });
282
+ },
283
+ };
284
+ //# sourceMappingURL=list.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list.js","sourceRoot":"","sources":["../../../src/commands/item/list.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,181 @@
1
+ /**
2
+ * `monday item move <iid> --to-group <gid> [--to-board <bid>]
3
+ * [--columns-mapping <json>] [--dry-run]` — move an item between
4
+ * groups (same-board) or between boards (cross-board).
5
+ *
6
+ * The fourth and final lifecycle verb closing M11 — together with M10's
7
+ * `archive` / `delete` / `duplicate`, completes the four-verb set
8
+ * Monday's API exposes (`archive_item` / `delete_item` /
9
+ * `duplicate_item` / `move_item_to_group` / `move_item_to_board`).
10
+ *
11
+ * **Two transports under one verb.**
12
+ * - `--to-group <gid>` alone → calls `move_item_to_group`.
13
+ * Same-board move; no column re-resolution; single round-trip live.
14
+ * - `--to-group <gid> --to-board <bid>` → calls `move_item_to_board`.
15
+ * Cross-board move; Monday requires `group_id: ID!` on the target
16
+ * board (cli-design §4.3 line 530's mutual-exclusion was misleading
17
+ * pre-M11 — the cross-board path needs the destination group too,
18
+ * so `--to-group` is required for both forms; the §9 precondition
19
+ * diff updates the line during the M11 docs sweep).
20
+ * - `--to-board <bid>` alone (no `--to-group`) → `usage_error`. There
21
+ * is no Monday-side default for the destination group.
22
+ *
23
+ * **`--columns-mapping <json>` (cross-board only).** A JSON object
24
+ * mapping source column IDs to target column IDs, e.g.
25
+ * `'{"status": "status_42", "due": "deadline"}'`. Maps directly to
26
+ * Monday's `columns_mapping: [ColumnMappingInput!]` parameter where
27
+ * `ColumnMappingInput = { source: ID!, target?: ID }` — strictly
28
+ * ID-to-ID, no value translation (per the SDK 14.0.0 typing at
29
+ * `node_modules/@mondaydotcomorg/api/dist/esm/index.d.ts:551`).
30
+ *
31
+ * **Strict default per §8 decision 5.** Monday's permissive default
32
+ * silently drops column values whose source ID doesn't exist on the
33
+ * target board. The CLI rejects unmatched columns pre-mutation with
34
+ * `usage_error` carrying `details.unmatched: [{source_col_id,
35
+ * source_title, source_type}]` and a `--columns-mapping` example so
36
+ * the agent knows exactly which columns need a mapping. Empty
37
+ * `--columns-mapping {}` is the explicit "drop everything (Monday's
38
+ * permissive default)" opt-in.
39
+ *
40
+ * **Value-overrides deferred to v0.3.** v0.2-plan §3 M11 mentioned a
41
+ * richer `{<src>: { id: <target>, value: <translation override> }}`
42
+ * form whose `value` re-runs through M5a/M8's translator on target
43
+ * metadata. Monday's `ColumnMappingInput` doesn't carry a value slot
44
+ * — supporting it would require a non-atomic post-move
45
+ * `change_multiple_column_values` mutation with partial-failure
46
+ * envelope shapes that don't yet have a precedent. Deferred; agents
47
+ * fire `monday item set <iid> <target>=<value>` post-move when they
48
+ * need value overrides. Captured in v0.2-plan §15 post-mortem.
49
+ *
50
+ * **Leg ordering.**
51
+ * - **Same-board live:** single round-trip — `move_item_to_group`
52
+ * directly. `meta.source: "live"`.
53
+ * - **Same-board dry-run:** single round-trip — read source via
54
+ * `readSourceItemForDryRun({operationName: 'ItemMoveRead'})`.
55
+ * `meta.source: "live"`.
56
+ * - **Cross-board live:** four legs — `lookupItemBoard` (source
57
+ * board) + `loadBoardMetadata(source)` + `loadBoardMetadata(target)`
58
+ * (parallel) + the unmatched check + `move_item_to_board`.
59
+ * `meta.source` aggregates via `mergeSource` because the metadata
60
+ * loads can hit cache.
61
+ * - **Cross-board dry-run:** three legs — `readSourceItemForDryRun`
62
+ * (also surfaces the source-item snapshot for the envelope) +
63
+ * `lookupItemBoard` + `loadBoardMetadata(target)` + the unmatched
64
+ * check. No mutation fires.
65
+ *
66
+ * **Idempotent: false.** Same-board (`move_item_to_group`) is
67
+ * idempotent on Monday's side per cli-design §9.1 — re-running with
68
+ * the item already in the target group is a wire-level no-op. But
69
+ * cross-board (`move_item_to_board`) re-running where the item is
70
+ * already on the target board is undefined behaviour (the SDK doesn't
71
+ * commit either way), so the verb-level marker stays `false`
72
+ * conservatively. Mirrors `monday item create`'s "the verb's
73
+ * idempotency is the conservative bound across all paths" rationale.
74
+ */
75
+ import { z } from 'zod';
76
+ import { type CommandModule } from '../types.js';
77
+ import { type ColumnMapping } from '../../api/column-mapping.js';
78
+ import { type ProjectedItem } from '../../api/item-projection.js';
79
+ export declare const itemMoveOutputSchema: z.ZodObject<{
80
+ id: z.ZodString;
81
+ name: z.ZodString;
82
+ board_id: z.ZodNullable<z.ZodString>;
83
+ group_id: z.ZodNullable<z.ZodString>;
84
+ parent_item_id: z.ZodNullable<z.ZodString>;
85
+ state: z.ZodNullable<z.ZodString>;
86
+ url: z.ZodNullable<z.ZodString>;
87
+ created_at: z.ZodNullable<z.ZodString>;
88
+ updated_at: z.ZodNullable<z.ZodString>;
89
+ columns: z.ZodRecord<z.ZodString, z.ZodObject<{
90
+ id: z.ZodString;
91
+ type: z.ZodString;
92
+ title: z.ZodOptional<z.ZodString>;
93
+ text: z.ZodNullable<z.ZodString>;
94
+ value: z.ZodUnknown;
95
+ label: z.ZodOptional<z.ZodNullable<z.ZodString>>;
96
+ index: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
97
+ date: z.ZodOptional<z.ZodNullable<z.ZodString>>;
98
+ time: z.ZodOptional<z.ZodNullable<z.ZodString>>;
99
+ people: z.ZodOptional<z.ZodArray<z.ZodObject<{
100
+ id: z.ZodString;
101
+ kind: z.ZodOptional<z.ZodNullable<z.ZodString>>;
102
+ }, z.core.$loose>>>;
103
+ }, z.core.$loose>>;
104
+ }, z.core.$strict>;
105
+ export type ItemMoveOutput = ProjectedItem;
106
+ declare const inputSchema: z.ZodObject<{
107
+ itemId: z.core.$ZodBranded<z.ZodString, "ItemId", "out">;
108
+ toGroup: z.core.$ZodBranded<z.ZodString, "GroupId", "out">;
109
+ toBoard: z.ZodOptional<z.core.$ZodBranded<z.ZodString, "BoardId", "out">>;
110
+ columnsMapping: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
111
+ }, z.core.$strict>;
112
+ interface ColumnMappingPlan {
113
+ /** The columns_mapping array fed to the wire mutation. */
114
+ readonly columnsMapping: readonly {
115
+ readonly source: string;
116
+ readonly target: string;
117
+ }[];
118
+ /** Echoed to the dry-run envelope's `column_mappings` slot. */
119
+ readonly echo: readonly {
120
+ readonly source: string;
121
+ readonly target: string;
122
+ }[];
123
+ }
124
+ /**
125
+ * Computes the planned `columns_mapping` array for a cross-board move
126
+ * and rejects any unmatched source columns that aren't covered by the
127
+ * agent-supplied mapping (cli-design §8 decision 5 — strict default).
128
+ *
129
+ * "Unmatched" = source column whose ID doesn't exist on the target
130
+ * board AND isn't covered by `--columns-mapping`. Source columns whose
131
+ * IDs match a target column ID verbatim are auto-mapped (Monday would
132
+ * have done this anyway — we make it explicit in `columns_mapping` so
133
+ * the dry-run echo is comprehensive).
134
+ *
135
+ * Empty `--columns-mapping {}` is the explicit "drop everything"
136
+ * opt-in: it bypasses the unmatched check entirely and passes an
137
+ * empty mapping array to Monday, matching Monday's permissive default
138
+ * behaviour.
139
+ */
140
+ declare const planColumnMappings: ({ sourceColumnIds, sourceColumnsById, targetColumnIds, mapping, }: {
141
+ readonly sourceColumnIds: readonly string[];
142
+ readonly sourceColumnsById: ReadonlyMap<string, {
143
+ readonly id: string;
144
+ readonly title: string;
145
+ readonly type: string;
146
+ }>;
147
+ readonly targetColumnIds: ReadonlySet<string>;
148
+ readonly mapping: ColumnMapping | undefined;
149
+ }) => ColumnMappingPlan;
150
+ /**
151
+ * Returns true when the projected column carries actual data — i.e.,
152
+ * a semantically non-empty wire value (recursive check) or a non-
153
+ * empty human-readable `text`. Empty cells (cleared rich shapes like
154
+ * `{}`, empty arrays, all-null leaves, or empty `text`) aren't worth
155
+ * mapping because Monday wouldn't carry a value across the move
156
+ * anyway.
157
+ *
158
+ * Why both `value` and `text`. Monday returns `text` even for read-
159
+ * only-shaped cells whose structured `value` is null/empty (e.g.
160
+ * `creation_log` rendering "Alice 5 minutes ago"). Either signal
161
+ * counts as "has data" for the unmatched check — agents reading the
162
+ * strict-default error want a precise list of what would be
163
+ * dropped, not noise from empty cells they never touched.
164
+ */
165
+ declare const cellHasData: (col: {
166
+ readonly value?: unknown;
167
+ readonly text?: string | null;
168
+ }) => boolean;
169
+ /**
170
+ * Builds the de-duplicated set of source column IDs the item has a
171
+ * value in (i.e., the columns whose values would be lost without a
172
+ * mapping). The projection includes every wire `column_values` entry
173
+ * — even empty ones — so we filter here per `cellHasData`. Codex
174
+ * round-1 P1 (F1): pre-fix the function returned `Object.keys(source.
175
+ * columns)` and the strict-default check fired for empty unmatched
176
+ * source columns, blocking moves on otherwise-valid boards.
177
+ */
178
+ declare const collectSourceColumnIds: (source: ProjectedItem) => readonly string[];
179
+ export declare const itemMoveCommand: CommandModule<z.infer<typeof inputSchema>, ItemMoveOutput>;
180
+ export { cellHasData, collectSourceColumnIds, planColumnMappings };
181
+ //# sourceMappingURL=move.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"move.d.ts","sourceRoot":"","sources":["../../../src/commands/item/move.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyEG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAoB,KAAK,aAAa,EAAE,MAAM,aAAa,CAAC;AAYnE,OAAO,EAEL,KAAK,aAAa,EACnB,MAAM,6BAA6B,CAAC;AAErC,OAAO,EAEL,KAAK,aAAa,EACnB,MAAM,8BAA8B,CAAC;AA8CtC,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;kBAAsB,CAAC;AACxD,MAAM,MAAM,cAAc,GAAG,aAAa,CAAC;AAE3C,QAAA,MAAM,WAAW;;;;;kBAkBN,CAAC;AAQZ,UAAU,iBAAiB;IACzB,0DAA0D;IAC1D,QAAQ,CAAC,cAAc,EAAE,SAAS;QAAE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IACzF,+DAA+D;IAC/D,QAAQ,CAAC,IAAI,EAAE,SAAS;QAAE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;CAChF;AAED;;;;;;;;;;;;;;;GAeG;AACH,QAAA,MAAM,kBAAkB,GAAI,mEAKzB;IACD,QAAQ,CAAC,eAAe,EAAE,SAAS,MAAM,EAAE,CAAC;IAC5C,QAAQ,CAAC,iBAAiB,EAAE,WAAW,CACrC,MAAM,EACN;QAAE,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CACvE,CAAC;IACF,QAAQ,CAAC,eAAe,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC9C,QAAQ,CAAC,OAAO,EAAE,aAAa,GAAG,SAAS,CAAC;CAC7C,KAAG,iBAsFH,CAAC;AAuCF;;;;;;;;;;;;;;GAcG;AACH,QAAA,MAAM,WAAW,GAAI,KAAK;IAAE,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,KAAG,OAGvF,CAAC;AAEF;;;;;;;;GAQG;AACH,QAAA,MAAM,sBAAsB,GAC1B,QAAQ,aAAa,KACpB,SAAS,MAAM,EAMjB,CAAC;AAEF,eAAO,MAAM,eAAe,EAAE,aAAa,CACzC,CAAC,CAAC,KAAK,CAAC,OAAO,WAAW,CAAC,EAC3B,cAAc,CAmHf,CAAC;AA4NF,OAAO,EAAE,WAAW,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,CAAC"}