monday-cli 0.2.0 → 0.4.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 (479) hide show
  1. package/CHANGELOG.md +675 -2
  2. package/README.md +223 -31
  3. package/dist/api/assets.d.ts +326 -0
  4. package/dist/api/assets.d.ts.map +1 -0
  5. package/dist/api/assets.js +519 -0
  6. package/dist/api/assets.js.map +1 -0
  7. package/dist/api/board-favorites.d.ts +329 -0
  8. package/dist/api/board-favorites.d.ts.map +1 -0
  9. package/dist/api/board-favorites.js +353 -0
  10. package/dist/api/board-favorites.js.map +1 -0
  11. package/dist/api/board-mutation-result.d.ts +9 -5
  12. package/dist/api/board-mutation-result.d.ts.map +1 -1
  13. package/dist/api/board-mutation-result.js +9 -5
  14. package/dist/api/board-mutation-result.js.map +1 -1
  15. package/dist/api/board-relation-validation.d.ts +161 -0
  16. package/dist/api/board-relation-validation.d.ts.map +1 -0
  17. package/dist/api/board-relation-validation.js +317 -0
  18. package/dist/api/board-relation-validation.js.map +1 -0
  19. package/dist/api/cache.d.ts +14 -5
  20. package/dist/api/cache.d.ts.map +1 -1
  21. package/dist/api/cache.js +8 -10
  22. package/dist/api/cache.js.map +1 -1
  23. package/dist/api/column-mapping.js +2 -2
  24. package/dist/api/column-mapping.js.map +1 -1
  25. package/dist/api/column-mutation-result.d.ts +9 -5
  26. package/dist/api/column-mutation-result.d.ts.map +1 -1
  27. package/dist/api/column-mutation-result.js +9 -5
  28. package/dist/api/column-mutation-result.js.map +1 -1
  29. package/dist/api/column-types.d.ts +37 -14
  30. package/dist/api/column-types.d.ts.map +1 -1
  31. package/dist/api/column-types.js +47 -6
  32. package/dist/api/column-types.js.map +1 -1
  33. package/dist/api/column-values.d.ts +234 -31
  34. package/dist/api/column-values.d.ts.map +1 -1
  35. package/dist/api/column-values.js +560 -124
  36. package/dist/api/column-values.js.map +1 -1
  37. package/dist/api/cross-board-search.d.ts +501 -0
  38. package/dist/api/cross-board-search.d.ts.map +1 -0
  39. package/dist/api/cross-board-search.js +547 -0
  40. package/dist/api/cross-board-search.js.map +1 -0
  41. package/dist/api/dev-conventions.d.ts +1038 -0
  42. package/dist/api/dev-conventions.d.ts.map +1 -0
  43. package/dist/api/dev-conventions.js +1556 -0
  44. package/dist/api/dev-conventions.js.map +1 -0
  45. package/dist/api/documents.d.ts +519 -0
  46. package/dist/api/documents.d.ts.map +1 -0
  47. package/dist/api/documents.js +586 -0
  48. package/dist/api/documents.js.map +1 -0
  49. package/dist/api/dry-run.d.ts +32 -5
  50. package/dist/api/dry-run.d.ts.map +1 -1
  51. package/dist/api/dry-run.js +149 -32
  52. package/dist/api/dry-run.js.map +1 -1
  53. package/dist/api/errors.d.ts.map +1 -1
  54. package/dist/api/errors.js +28 -7
  55. package/dist/api/errors.js.map +1 -1
  56. package/dist/api/group-mutation-result.d.ts +9 -5
  57. package/dist/api/group-mutation-result.d.ts.map +1 -1
  58. package/dist/api/group-mutation-result.js +9 -5
  59. package/dist/api/group-mutation-result.js.map +1 -1
  60. package/dist/api/item-history-projection.d.ts +919 -0
  61. package/dist/api/item-history-projection.d.ts.map +1 -0
  62. package/dist/api/item-history-projection.js +1104 -0
  63. package/dist/api/item-history-projection.js.map +1 -0
  64. package/dist/api/item-mutation-execute.d.ts +82 -0
  65. package/dist/api/item-mutation-execute.d.ts.map +1 -0
  66. package/dist/api/item-mutation-execute.js +199 -0
  67. package/dist/api/item-mutation-execute.js.map +1 -0
  68. package/dist/api/item-watch.d.ts +263 -0
  69. package/dist/api/item-watch.d.ts.map +1 -0
  70. package/dist/api/item-watch.js +709 -0
  71. package/dist/api/item-watch.js.map +1 -0
  72. package/dist/api/multipart-transport.d.ts +223 -0
  73. package/dist/api/multipart-transport.d.ts.map +1 -0
  74. package/dist/api/multipart-transport.js +274 -0
  75. package/dist/api/multipart-transport.js.map +1 -0
  76. package/dist/api/notifications.d.ts +156 -0
  77. package/dist/api/notifications.d.ts.map +1 -0
  78. package/dist/api/notifications.js +215 -0
  79. package/dist/api/notifications.js.map +1 -0
  80. package/dist/api/oauth-test-helper.d.ts +64 -0
  81. package/dist/api/oauth-test-helper.d.ts.map +1 -0
  82. package/dist/api/oauth-test-helper.js +179 -0
  83. package/dist/api/oauth-test-helper.js.map +1 -0
  84. package/dist/api/oauth.d.ts +198 -0
  85. package/dist/api/oauth.d.ts.map +1 -0
  86. package/dist/api/oauth.js +471 -0
  87. package/dist/api/oauth.js.map +1 -0
  88. package/dist/api/parallel-dispatch.d.ts +155 -0
  89. package/dist/api/parallel-dispatch.d.ts.map +1 -0
  90. package/dist/api/parallel-dispatch.js +243 -0
  91. package/dist/api/parallel-dispatch.js.map +1 -0
  92. package/dist/api/partial-success-bulk.d.ts +480 -0
  93. package/dist/api/partial-success-bulk.d.ts.map +1 -0
  94. package/dist/api/partial-success-bulk.js +436 -0
  95. package/dist/api/partial-success-bulk.js.map +1 -0
  96. package/dist/api/partial-success-mutation.d.ts +13 -1
  97. package/dist/api/partial-success-mutation.d.ts.map +1 -1
  98. package/dist/api/partial-success-mutation.js +5 -1
  99. package/dist/api/partial-success-mutation.js.map +1 -1
  100. package/dist/api/people.d.ts +54 -1
  101. package/dist/api/people.d.ts.map +1 -1
  102. package/dist/api/people.js +27 -3
  103. package/dist/api/people.js.map +1 -1
  104. package/dist/api/probes.d.ts +487 -0
  105. package/dist/api/probes.d.ts.map +1 -0
  106. package/dist/api/probes.js +881 -0
  107. package/dist/api/probes.js.map +1 -0
  108. package/dist/api/raw-document.d.ts.map +1 -1
  109. package/dist/api/raw-document.js +2 -2
  110. package/dist/api/raw-document.js.map +1 -1
  111. package/dist/api/raw-write.d.ts +12 -4
  112. package/dist/api/raw-write.d.ts.map +1 -1
  113. package/dist/api/raw-write.js +32 -14
  114. package/dist/api/raw-write.js.map +1 -1
  115. package/dist/api/resolution-context.d.ts +23 -11
  116. package/dist/api/resolution-context.d.ts.map +1 -1
  117. package/dist/api/resolution-context.js +53 -12
  118. package/dist/api/resolution-context.js.map +1 -1
  119. package/dist/api/resolution-pass.d.ts +30 -1
  120. package/dist/api/resolution-pass.d.ts.map +1 -1
  121. package/dist/api/resolution-pass.js +36 -1
  122. package/dist/api/resolution-pass.js.map +1 -1
  123. package/dist/api/resolve-client.d.ts +22 -0
  124. package/dist/api/resolve-client.d.ts.map +1 -1
  125. package/dist/api/resolve-client.js +9 -1
  126. package/dist/api/resolve-client.js.map +1 -1
  127. package/dist/api/response-root.d.ts +92 -46
  128. package/dist/api/response-root.d.ts.map +1 -1
  129. package/dist/api/response-root.js +93 -41
  130. package/dist/api/response-root.js.map +1 -1
  131. package/dist/api/tag-directory.d.ts +154 -0
  132. package/dist/api/tag-directory.d.ts.map +1 -0
  133. package/dist/api/tag-directory.js +325 -0
  134. package/dist/api/tag-directory.js.map +1 -0
  135. package/dist/api/time-tracking.d.ts +165 -0
  136. package/dist/api/time-tracking.d.ts.map +1 -0
  137. package/dist/api/time-tracking.js +135 -0
  138. package/dist/api/time-tracking.js.map +1 -0
  139. package/dist/api/transport.js +3 -3
  140. package/dist/api/transport.js.map +1 -1
  141. package/dist/api/usage.d.ts +190 -0
  142. package/dist/api/usage.d.ts.map +1 -0
  143. package/dist/api/usage.js +194 -0
  144. package/dist/api/usage.js.map +1 -0
  145. package/dist/api/users-fan-out-mutation.d.ts.map +1 -1
  146. package/dist/api/users-fan-out-mutation.js +10 -5
  147. package/dist/api/users-fan-out-mutation.js.map +1 -1
  148. package/dist/api/webhooks.d.ts +357 -0
  149. package/dist/api/webhooks.d.ts.map +1 -0
  150. package/dist/api/webhooks.js +333 -0
  151. package/dist/api/webhooks.js.map +1 -0
  152. package/dist/cli/envelope-out.d.ts +18 -1
  153. package/dist/cli/envelope-out.d.ts.map +1 -1
  154. package/dist/cli/envelope-out.js +16 -2
  155. package/dist/cli/envelope-out.js.map +1 -1
  156. package/dist/cli/program.d.ts.map +1 -1
  157. package/dist/cli/program.js +120 -1
  158. package/dist/cli/program.js.map +1 -1
  159. package/dist/cli/run.d.ts +32 -0
  160. package/dist/cli/run.d.ts.map +1 -1
  161. package/dist/cli/run.js +3 -0
  162. package/dist/cli/run.js.map +1 -1
  163. package/dist/commands/account/tags.d.ts +37 -0
  164. package/dist/commands/account/tags.d.ts.map +1 -0
  165. package/dist/commands/account/tags.js +84 -0
  166. package/dist/commands/account/tags.js.map +1 -0
  167. package/dist/commands/auth/login.d.ts +14 -0
  168. package/dist/commands/auth/login.d.ts.map +1 -0
  169. package/dist/commands/auth/login.js +314 -0
  170. package/dist/commands/auth/login.js.map +1 -0
  171. package/dist/commands/auth/logout.d.ts +28 -0
  172. package/dist/commands/auth/logout.d.ts.map +1 -0
  173. package/dist/commands/auth/logout.js +94 -0
  174. package/dist/commands/auth/logout.js.map +1 -0
  175. package/dist/commands/board/archive.d.ts.map +1 -1
  176. package/dist/commands/board/archive.js +14 -14
  177. package/dist/commands/board/archive.js.map +1 -1
  178. package/dist/commands/board/column-create.d.ts +9 -8
  179. package/dist/commands/board/column-create.d.ts.map +1 -1
  180. package/dist/commands/board/column-create.js +61 -51
  181. package/dist/commands/board/column-create.js.map +1 -1
  182. package/dist/commands/board/column-delete.d.ts.map +1 -1
  183. package/dist/commands/board/column-delete.js +15 -16
  184. package/dist/commands/board/column-delete.js.map +1 -1
  185. package/dist/commands/board/column-update.d.ts.map +1 -1
  186. package/dist/commands/board/column-update.js +23 -22
  187. package/dist/commands/board/column-update.js.map +1 -1
  188. package/dist/commands/board/create.d.ts.map +1 -1
  189. package/dist/commands/board/create.js +14 -17
  190. package/dist/commands/board/create.js.map +1 -1
  191. package/dist/commands/board/delete.d.ts.map +1 -1
  192. package/dist/commands/board/delete.js +12 -15
  193. package/dist/commands/board/delete.js.map +1 -1
  194. package/dist/commands/board/describe.d.ts.map +1 -1
  195. package/dist/commands/board/describe.js +30 -0
  196. package/dist/commands/board/describe.js.map +1 -1
  197. package/dist/commands/board/duplicate.d.ts.map +1 -1
  198. package/dist/commands/board/duplicate.js +12 -13
  199. package/dist/commands/board/duplicate.js.map +1 -1
  200. package/dist/commands/board/favorites.d.ts +33 -0
  201. package/dist/commands/board/favorites.d.ts.map +1 -0
  202. package/dist/commands/board/favorites.js +74 -0
  203. package/dist/commands/board/favorites.js.map +1 -0
  204. package/dist/commands/board/find.d.ts +1 -1
  205. package/dist/commands/board/group-archive.d.ts.map +1 -1
  206. package/dist/commands/board/group-archive.js +12 -16
  207. package/dist/commands/board/group-archive.js.map +1 -1
  208. package/dist/commands/board/group-create.d.ts.map +1 -1
  209. package/dist/commands/board/group-create.js +9 -19
  210. package/dist/commands/board/group-create.js.map +1 -1
  211. package/dist/commands/board/group-delete.d.ts.map +1 -1
  212. package/dist/commands/board/group-delete.js +12 -16
  213. package/dist/commands/board/group-delete.js.map +1 -1
  214. package/dist/commands/board/group-duplicate.d.ts.map +1 -1
  215. package/dist/commands/board/group-duplicate.js +12 -16
  216. package/dist/commands/board/group-duplicate.js.map +1 -1
  217. package/dist/commands/board/group-update.d.ts.map +1 -1
  218. package/dist/commands/board/group-update.js +12 -11
  219. package/dist/commands/board/group-update.js.map +1 -1
  220. package/dist/commands/board/list.d.ts +1 -1
  221. package/dist/commands/board/update.d.ts.map +1 -1
  222. package/dist/commands/board/update.js +16 -11
  223. package/dist/commands/board/update.js.map +1 -1
  224. package/dist/commands/cache/list.d.ts +2 -0
  225. package/dist/commands/cache/list.d.ts.map +1 -1
  226. package/dist/commands/cache/list.js +2 -2
  227. package/dist/commands/cache/list.js.map +1 -1
  228. package/dist/commands/completion.d.ts +188 -0
  229. package/dist/commands/completion.d.ts.map +1 -0
  230. package/dist/commands/completion.js +418 -0
  231. package/dist/commands/completion.js.map +1 -0
  232. package/dist/commands/dev/_shared.d.ts +40 -0
  233. package/dist/commands/dev/_shared.d.ts.map +1 -0
  234. package/dist/commands/dev/_shared.js +104 -0
  235. package/dist/commands/dev/_shared.js.map +1 -0
  236. package/dist/commands/dev/configure.d.ts +36 -0
  237. package/dist/commands/dev/configure.d.ts.map +1 -0
  238. package/dist/commands/dev/configure.js +145 -0
  239. package/dist/commands/dev/configure.js.map +1 -0
  240. package/dist/commands/dev/discover.d.ts +34 -0
  241. package/dist/commands/dev/discover.d.ts.map +1 -0
  242. package/dist/commands/dev/discover.js +117 -0
  243. package/dist/commands/dev/discover.js.map +1 -0
  244. package/dist/commands/dev/doctor.d.ts +39 -0
  245. package/dist/commands/dev/doctor.d.ts.map +1 -0
  246. package/dist/commands/dev/doctor.js +91 -0
  247. package/dist/commands/dev/doctor.js.map +1 -0
  248. package/dist/commands/dev/epic/items.d.ts +24 -0
  249. package/dist/commands/dev/epic/items.d.ts.map +1 -0
  250. package/dist/commands/dev/epic/items.js +103 -0
  251. package/dist/commands/dev/epic/items.js.map +1 -0
  252. package/dist/commands/dev/epic/list.d.ts +36 -0
  253. package/dist/commands/dev/epic/list.d.ts.map +1 -0
  254. package/dist/commands/dev/epic/list.js +120 -0
  255. package/dist/commands/dev/epic/list.js.map +1 -0
  256. package/dist/commands/dev/release/list.d.ts +21 -0
  257. package/dist/commands/dev/release/list.d.ts.map +1 -0
  258. package/dist/commands/dev/release/list.js +73 -0
  259. package/dist/commands/dev/release/list.js.map +1 -0
  260. package/dist/commands/dev/sprint/current.d.ts +24 -0
  261. package/dist/commands/dev/sprint/current.d.ts.map +1 -0
  262. package/dist/commands/dev/sprint/current.js +90 -0
  263. package/dist/commands/dev/sprint/current.js.map +1 -0
  264. package/dist/commands/dev/sprint/items.d.ts +34 -0
  265. package/dist/commands/dev/sprint/items.d.ts.map +1 -0
  266. package/dist/commands/dev/sprint/items.js +118 -0
  267. package/dist/commands/dev/sprint/items.js.map +1 -0
  268. package/dist/commands/dev/sprint/list.d.ts +41 -0
  269. package/dist/commands/dev/sprint/list.d.ts.map +1 -0
  270. package/dist/commands/dev/sprint/list.js +104 -0
  271. package/dist/commands/dev/sprint/list.js.map +1 -0
  272. package/dist/commands/dev/task/block.d.ts +29 -0
  273. package/dist/commands/dev/task/block.d.ts.map +1 -0
  274. package/dist/commands/dev/task/block.js +106 -0
  275. package/dist/commands/dev/task/block.js.map +1 -0
  276. package/dist/commands/dev/task/done.d.ts +30 -0
  277. package/dist/commands/dev/task/done.d.ts.map +1 -0
  278. package/dist/commands/dev/task/done.js +113 -0
  279. package/dist/commands/dev/task/done.js.map +1 -0
  280. package/dist/commands/dev/task/list.d.ts +42 -0
  281. package/dist/commands/dev/task/list.d.ts.map +1 -0
  282. package/dist/commands/dev/task/list.js +227 -0
  283. package/dist/commands/dev/task/list.js.map +1 -0
  284. package/dist/commands/dev/task/start.d.ts +29 -0
  285. package/dist/commands/dev/task/start.d.ts.map +1 -0
  286. package/dist/commands/dev/task/start.js +90 -0
  287. package/dist/commands/dev/task/start.js.map +1 -0
  288. package/dist/commands/doc/get.d.ts +46 -0
  289. package/dist/commands/doc/get.d.ts.map +1 -0
  290. package/dist/commands/doc/get.js +95 -0
  291. package/dist/commands/doc/get.js.map +1 -0
  292. package/dist/commands/doc/list.d.ts +83 -0
  293. package/dist/commands/doc/list.d.ts.map +1 -0
  294. package/dist/commands/doc/list.js +248 -0
  295. package/dist/commands/doc/list.js.map +1 -0
  296. package/dist/commands/emit.d.ts.map +1 -1
  297. package/dist/commands/emit.js +5 -3
  298. package/dist/commands/emit.js.map +1 -1
  299. package/dist/commands/index.d.ts.map +1 -1
  300. package/dist/commands/index.js +141 -0
  301. package/dist/commands/index.js.map +1 -1
  302. package/dist/commands/item/archive.d.ts.map +1 -1
  303. package/dist/commands/item/archive.js +11 -0
  304. package/dist/commands/item/archive.js.map +1 -1
  305. package/dist/commands/item/clear.d.ts.map +1 -1
  306. package/dist/commands/item/clear.js +15 -0
  307. package/dist/commands/item/clear.js.map +1 -1
  308. package/dist/commands/item/create.d.ts.map +1 -1
  309. package/dist/commands/item/create.js +41 -8
  310. package/dist/commands/item/create.js.map +1 -1
  311. package/dist/commands/item/delete.d.ts.map +1 -1
  312. package/dist/commands/item/delete.js +11 -0
  313. package/dist/commands/item/delete.js.map +1 -1
  314. package/dist/commands/item/duplicate.d.ts.map +1 -1
  315. package/dist/commands/item/duplicate.js +12 -0
  316. package/dist/commands/item/duplicate.js.map +1 -1
  317. package/dist/commands/item/history.d.ts +60 -0
  318. package/dist/commands/item/history.d.ts.map +1 -0
  319. package/dist/commands/item/history.js +309 -0
  320. package/dist/commands/item/history.js.map +1 -0
  321. package/dist/commands/item/list.d.ts.map +1 -1
  322. package/dist/commands/item/list.js +16 -13
  323. package/dist/commands/item/list.js.map +1 -1
  324. package/dist/commands/item/move.d.ts.map +1 -1
  325. package/dist/commands/item/move.js +41 -7
  326. package/dist/commands/item/move.js.map +1 -1
  327. package/dist/commands/item/search.d.ts +99 -15
  328. package/dist/commands/item/search.d.ts.map +1 -1
  329. package/dist/commands/item/search.js +480 -36
  330. package/dist/commands/item/search.js.map +1 -1
  331. package/dist/commands/item/set.d.ts.map +1 -1
  332. package/dist/commands/item/set.js +52 -8
  333. package/dist/commands/item/set.js.map +1 -1
  334. package/dist/commands/item/time-track/start.d.ts +61 -0
  335. package/dist/commands/item/time-track/start.d.ts.map +1 -0
  336. package/dist/commands/item/time-track/start.js +138 -0
  337. package/dist/commands/item/time-track/start.js.map +1 -0
  338. package/dist/commands/item/time-track/stop.d.ts +32 -0
  339. package/dist/commands/item/time-track/stop.d.ts.map +1 -0
  340. package/dist/commands/item/time-track/stop.js +97 -0
  341. package/dist/commands/item/time-track/stop.js.map +1 -0
  342. package/dist/commands/item/update.d.ts +2 -0
  343. package/dist/commands/item/update.d.ts.map +1 -1
  344. package/dist/commands/item/update.js +164 -113
  345. package/dist/commands/item/update.js.map +1 -1
  346. package/dist/commands/item/upload.d.ts +108 -0
  347. package/dist/commands/item/upload.d.ts.map +1 -0
  348. package/dist/commands/item/upload.js +370 -0
  349. package/dist/commands/item/upload.js.map +1 -0
  350. package/dist/commands/item/upsert.d.ts.map +1 -1
  351. package/dist/commands/item/upsert.js +48 -1
  352. package/dist/commands/item/upsert.js.map +1 -1
  353. package/dist/commands/item/watch.d.ts +90 -0
  354. package/dist/commands/item/watch.d.ts.map +1 -0
  355. package/dist/commands/item/watch.js +342 -0
  356. package/dist/commands/item/watch.js.map +1 -0
  357. package/dist/commands/notification/send.d.ts +60 -0
  358. package/dist/commands/notification/send.d.ts.map +1 -0
  359. package/dist/commands/notification/send.js +147 -0
  360. package/dist/commands/notification/send.js.map +1 -0
  361. package/dist/commands/parse-argv.d.ts.map +1 -1
  362. package/dist/commands/parse-argv.js +14 -4
  363. package/dist/commands/parse-argv.js.map +1 -1
  364. package/dist/commands/raw/index.d.ts.map +1 -1
  365. package/dist/commands/raw/index.js +13 -15
  366. package/dist/commands/raw/index.js.map +1 -1
  367. package/dist/commands/run-by-id-lookup.d.ts.map +1 -1
  368. package/dist/commands/run-by-id-lookup.js +2 -2
  369. package/dist/commands/run-by-id-lookup.js.map +1 -1
  370. package/dist/commands/schema/index.d.ts +2 -0
  371. package/dist/commands/schema/index.d.ts.map +1 -1
  372. package/dist/commands/status.d.ts +120 -0
  373. package/dist/commands/status.d.ts.map +1 -0
  374. package/dist/commands/status.js +365 -0
  375. package/dist/commands/status.js.map +1 -0
  376. package/dist/commands/update/body-source.d.ts.map +1 -1
  377. package/dist/commands/update/body-source.js +2 -2
  378. package/dist/commands/update/body-source.js.map +1 -1
  379. package/dist/commands/update/create.d.ts +2 -3
  380. package/dist/commands/update/create.d.ts.map +1 -1
  381. package/dist/commands/update/create.js +15 -3
  382. package/dist/commands/update/create.js.map +1 -1
  383. package/dist/commands/update/delete.d.ts.map +1 -1
  384. package/dist/commands/update/delete.js +11 -0
  385. package/dist/commands/update/delete.js.map +1 -1
  386. package/dist/commands/update/edit.d.ts.map +1 -1
  387. package/dist/commands/update/edit.js +11 -0
  388. package/dist/commands/update/edit.js.map +1 -1
  389. package/dist/commands/update/list.d.ts.map +1 -1
  390. package/dist/commands/update/list.js +15 -12
  391. package/dist/commands/update/list.js.map +1 -1
  392. package/dist/commands/update/reply.d.ts.map +1 -1
  393. package/dist/commands/update/reply.js +11 -0
  394. package/dist/commands/update/reply.js.map +1 -1
  395. package/dist/commands/update/toggle.d.ts.map +1 -1
  396. package/dist/commands/update/toggle.js +13 -0
  397. package/dist/commands/update/toggle.js.map +1 -1
  398. package/dist/commands/update/upload.d.ts +69 -0
  399. package/dist/commands/update/upload.d.ts.map +1 -0
  400. package/dist/commands/update/upload.js +235 -0
  401. package/dist/commands/update/upload.js.map +1 -0
  402. package/dist/commands/usage.d.ts +58 -0
  403. package/dist/commands/usage.d.ts.map +1 -0
  404. package/dist/commands/usage.js +94 -0
  405. package/dist/commands/usage.js.map +1 -0
  406. package/dist/commands/webhook/create.d.ts +74 -0
  407. package/dist/commands/webhook/create.d.ts.map +1 -0
  408. package/dist/commands/webhook/create.js +150 -0
  409. package/dist/commands/webhook/create.js.map +1 -0
  410. package/dist/commands/webhook/delete.d.ts +46 -0
  411. package/dist/commands/webhook/delete.d.ts.map +1 -0
  412. package/dist/commands/webhook/delete.js +141 -0
  413. package/dist/commands/webhook/delete.js.map +1 -0
  414. package/dist/commands/webhook/list.d.ts +23 -0
  415. package/dist/commands/webhook/list.d.ts.map +1 -0
  416. package/dist/commands/webhook/list.js +68 -0
  417. package/dist/commands/webhook/list.js.map +1 -0
  418. package/dist/commands/workspace/create.d.ts.map +1 -1
  419. package/dist/commands/workspace/create.js +16 -0
  420. package/dist/commands/workspace/create.js.map +1 -1
  421. package/dist/commands/workspace/delete.d.ts.map +1 -1
  422. package/dist/commands/workspace/delete.js +13 -13
  423. package/dist/commands/workspace/delete.js.map +1 -1
  424. package/dist/commands/workspace/list.d.ts +1 -1
  425. package/dist/commands/workspace/update.d.ts.map +1 -1
  426. package/dist/commands/workspace/update.js +15 -15
  427. package/dist/commands/workspace/update.js.map +1 -1
  428. package/dist/config/credentials.d.ts +189 -0
  429. package/dist/config/credentials.d.ts.map +1 -0
  430. package/dist/config/credentials.js +300 -0
  431. package/dist/config/credentials.js.map +1 -0
  432. package/dist/config/profiles.d.ts +125 -0
  433. package/dist/config/profiles.d.ts.map +1 -0
  434. package/dist/config/profiles.js +227 -0
  435. package/dist/config/profiles.js.map +1 -0
  436. package/dist/types/global-flags.d.ts +1 -1
  437. package/dist/types/global-flags.d.ts.map +1 -1
  438. package/dist/types/global-flags.js +28 -16
  439. package/dist/types/global-flags.js.map +1 -1
  440. package/dist/types/ids.d.ts +4 -0
  441. package/dist/types/ids.d.ts.map +1 -1
  442. package/dist/types/ids.js +12 -3
  443. package/dist/types/ids.js.map +1 -1
  444. package/dist/utils/errors.d.ts +57 -3
  445. package/dist/utils/errors.d.ts.map +1 -1
  446. package/dist/utils/errors.js +69 -2
  447. package/dist/utils/errors.js.map +1 -1
  448. package/dist/utils/fs.d.ts +35 -0
  449. package/dist/utils/fs.d.ts.map +1 -0
  450. package/dist/utils/fs.js +36 -0
  451. package/dist/utils/fs.js.map +1 -0
  452. package/dist/utils/json.d.ts +60 -0
  453. package/dist/utils/json.d.ts.map +1 -0
  454. package/dist/utils/json.js +86 -0
  455. package/dist/utils/json.js.map +1 -0
  456. package/dist/utils/mime.d.ts +24 -0
  457. package/dist/utils/mime.d.ts.map +1 -0
  458. package/dist/utils/mime.js +64 -0
  459. package/dist/utils/mime.js.map +1 -0
  460. package/dist/utils/output/envelope.d.ts +30 -0
  461. package/dist/utils/output/envelope.d.ts.map +1 -1
  462. package/dist/utils/output/envelope.js +26 -0
  463. package/dist/utils/output/envelope.js.map +1 -1
  464. package/dist/utils/output/ndjson.d.ts +90 -3
  465. package/dist/utils/output/ndjson.d.ts.map +1 -1
  466. package/dist/utils/output/ndjson.js +33 -0
  467. package/dist/utils/output/ndjson.js.map +1 -1
  468. package/dist/utils/redact.d.ts.map +1 -1
  469. package/dist/utils/redact.js +31 -0
  470. package/dist/utils/redact.js.map +1 -1
  471. package/dist/utils/signal.d.ts +42 -0
  472. package/dist/utils/signal.d.ts.map +1 -0
  473. package/dist/utils/signal.js +45 -0
  474. package/dist/utils/signal.js.map +1 -0
  475. package/package.json +2 -1
  476. package/dist/commands/account/client-helper.d.ts +0 -37
  477. package/dist/commands/account/client-helper.d.ts.map +0 -1
  478. package/dist/commands/account/client-helper.js +0 -55
  479. package/dist/commands/account/client-helper.js.map +0 -1
package/CHANGELOG.md CHANGED
@@ -3,10 +3,674 @@
3
3
  All notable changes to `monday-cli` are recorded here. Format follows
4
4
  [Keep a Changelog](https://keepachangelog.com/en/1.1.0/); versioning
5
5
  follows [SemVer](https://semver.org/spec/v2.0.0.html). The CLI's
6
- output envelope (`{ ok, data, meta, ... }`) and 27 stable error
6
+ output envelope (`{ ok, data, meta, ... }`) and 29 stable error
7
7
  codes are part of the public contract — the SemVer rules in
8
8
  [`docs/cli-design.md`](./docs/cli-design.md) §6 govern bumps.
9
9
 
10
+ ## [0.4.0] - 2026-05-14 — Operational features: long-poll watch, parallel bulk, asset upload, workdocs reads, shell completion
11
+
12
+ The "agents can drive long-running workflows + multipart wire +
13
+ shell completion" milestone — v0.3's "drive a real backlog"
14
+ foundation gains long-poll item activity streaming (NDJSON), bounded
15
+ parallel bulk dispatch, the first multipart wire surface (asset
16
+ uploads), Monday workdocs reads, and per-shell completion script
17
+ generation. **No breaking changes vs `0.3.0` — every v0.4 surface
18
+ is additive.** Built incrementally across M29–M33.
19
+
20
+ ### Breaking changes vs `0.3.0`
21
+
22
+ **None.** Every command, error code, envelope key, and warning
23
+ shape shipped in v0.3.0 is preserved byte-for-byte. v0.4 only adds.
24
+
25
+ ### Surface
26
+
27
+ **~101 commands shipped (was ~95 in v0.3).** Six new verbs +
28
+ one orthogonal flag extension on an existing verb. The new noun
29
+ namespaces are `doc` (workdocs reads) and `completion` (CLI-
30
+ internal, shell completion script generator).
31
+
32
+ **Long-poll item activity streaming (M29) — `monday item watch
33
+ <iid>`.** Long-polls Monday's `boards.activity_logs(item_ids:)`
34
+ with a polling cadence floor of `MIN_WATCH_INTERVAL_MS` (1000ms)
35
+ and emits one NDJSON event record per emitted activity-log row
36
+ plus a trailing `{"_meta": {...}}` record carrying the seven
37
+ M29-specific session counters flat under `_meta`:
38
+ `events_emitted`, `polls_made`, `failed_polls`,
39
+ `last_seen_event_id`, `circuit_broken_at`, `exit_reason`,
40
+ `watch_duration_seconds` (plus the standard meta keys + a
41
+ `warnings: [...]` slot accumulating `poll_failed` /
42
+ `circuit_breaker_armed` warnings). Modes: `--once` drains backlog
43
+ and exits without polling further; `--max-events <N>` /
44
+ `--max-duration <duration>` ceilings exit cleanly with the matching
45
+ `exit_reason`; `--since <event-id>` looks up the event's
46
+ `created_at` once and starts the loop from there; `--include
47
+ <kind>` filter narrows emitted events (v0.5+ may extend with
48
+ comment polling via `--include update_posted` once Monday's
49
+ `activity_logs` surfaces those). SIGINT drains gracefully + exits
50
+ 130. Circuit-breaker trips after 5 consecutive `complexity_exceeded`
51
+ polls (emits an `exit_reason: circuit_broken` trailer + a §6.5
52
+ failure envelope on stderr + exit code 2; a successful poll between
53
+ failures resets the consecutive counter). Walker-side
54
+ `entity === 'pulse'` filter drops board-scoped rows per Decision 2
55
+ closure.
56
+
57
+ **Parallel bulk dispatch (M30) — `monday item update --where ...
58
+ --concurrency <N>`.** Extends the M25 partial-success bulk path
59
+ with bounded parallel dispatch via a new `--concurrency <N>` flag
60
+ (range 1..32; default 1). `--concurrency 1` routes through
61
+ `dispatchSequential` (byte-equivalent to the M25 default);
62
+ `--concurrency > 1` routes through `dispatchParallel` (semaphore-
63
+ bounded worker pool). The envelope is byte-equivalent across both
64
+ paths — `--concurrency` is a dispatch-mode flag, not a contract
65
+ extension. **Input-order preservation**: `data.results[]` lists
66
+ per-target outcomes in the original matched-item order regardless
67
+ of completion order, so agents can correlate `results[i]` ↔
68
+ `matched_items[i]` deterministically. `--concurrency` is mutually
69
+ exclusive with the single-item shape (rejected with `usage_error`
70
+ at `validateInputShape` before any network call) and requires
71
+ `--continue-on-error` on the bulk shape (the fail-fast bulk path
72
+ keeps its v0.1 envelope).
73
+
74
+ **Asset uploads (M31) — `monday item upload` + `monday update
75
+ upload`.** First multipart wire surface (`add_file_to_column` /
76
+ `add_file_to_update`). Per-verb shapes:
77
+
78
+ - `monday item upload <iid> --column <col> <file>` uploads the
79
+ local file as a Monday asset attached to the named column on
80
+ the item. Column type is validated against the writable-files
81
+ allowlist (`file` only at v0.4 — Monday's `add_file_to_column`
82
+ doesn't generalise to other types).
83
+ - `monday update upload <update-id> <file>` uploads the local
84
+ file as an asset attached to a Monday "update" (comment).
85
+
86
+ Both verbs do a JSON-leg pre-read (item-board lookup + board
87
+ metadata for column resolution, or update lookup) followed by
88
+ the multipart `add_file_to_*` mutation. The success envelope
89
+ carries Monday's full `Asset` projection (`id`, `name`, `url`,
90
+ `public_url`, `file_extension`, `file_size`, `uploaded_by`, etc.).
91
+ Pre-checks: `file_not_readable` (ENOENT or directory), `file_empty`
92
+ (zero-byte). `file_too_large` rewrap on Monday's
93
+ `FILE_SIZE_LIMIT_EXCEEDED` (non-retryable; the underlying
94
+ multipart wire is retryable, but the file-size error isn't —
95
+ M31 IMPL round-1 P2-1 closure). MIME content-type sniffed via the
96
+ new lifted `src/utils/mime.ts` (R-NEW-NEW shipped at M31 IMPL —
97
+ 2-consumer trigger ahead of v0.4-plan §22's typical 3-consumer
98
+ threshold). `--dry-run` previews the planned change envelope
99
+ without firing the multipart wire (file path + filename +
100
+ file_size_bytes echoed; argv path preserved verbatim for relative
101
+ inputs per the R-class round-2/round-3 closure). Uploads are
102
+ **non-idempotent**: each successful call mints a fresh `Asset`
103
+ ID — re-running uploads the file a second time. Agents needing
104
+ register-once dedupe pre-read `Item.assets` / `Update.assets`
105
+ (read-side `item assets` / `update assets` verbs deferred to
106
+ v0.4.x per M31 Decision D6). Cache invalidation fires single-leg
107
+ on item-upload success (the parent item's board metadata cache
108
+ invalidates per §8); update-upload doesn't touch board metadata
109
+ so there's no invalidation step.
110
+
111
+ **Monday workdocs reads (M32) — `monday doc list [--workspace
112
+ <wid>,...] [--order-by <created_at|used_at>] [--limit <n>]
113
+ [--page <n>]` + `monday doc get <did>`.** First read-only access
114
+ to Monday's workdocs surface (`Query.docs(...)`). `doc list` is
115
+ paginated via page/limit (no cursor on Monday's workdocs surface);
116
+ defaults to `--limit 25 --page 1`; range 1..100. `--workspace
117
+ <wid>,...` accepts a comma-separated `WorkspaceId` list and maps
118
+ to wire `workspace_ids: [ID]` — Monday silently drops inaccessible
119
+ IDs (best-effort, no resolver warning). `--order-by <created_at|
120
+ used_at>` is a closed 2-value enum; both sort `desc` server-side.
121
+ `doc list` emits a wrapped record envelope: `data:
122
+ { documents: [...], page, limit, returned_count, has_more }`
123
+ where `has_more === (returned_count === limit)` (Monday's wire
124
+ has no `total_count` slot). `doc get <did>` emits the direct-
125
+ unwrap `data: <Document with blocks>` shape; empty `docs: []` →
126
+ `not_found` with `details.doc_id` per D8 closure (Monday returns
127
+ empty when the doc doesn't exist OR is inaccessible — single
128
+ error code per the closure). `DocId` joins the brand registry
129
+ (`src/types/ids.ts`) as the 9th brand. **The full workdocs CRUD
130
+ mutation surface (9 mutations: `create_doc` / `update_doc_name`
131
+ / `delete_doc` / `duplicate_doc` / `import_doc_from_html` /
132
+ `add_content_to_doc_from_markdown` / `create_doc_block` /
133
+ `update_doc_block` / `delete_doc_block`) is deferred to v0.5 per
134
+ D8 closure** — each mutation has enough surface area to warrant
135
+ its own milestone cluster.
136
+
137
+ **Shell completion (M33) — `monday completion <bash|zsh|fish>`.**
138
+ First raw-bytes-carve-out verb (cli-design §3.1 #2). The default
139
+ mode emits the install-time script bytes on stdout regardless of
140
+ TTY/pipe context — `monday completion bash >> ~/.bashrc` writes
141
+ the bash script to bashrc as a sourceable file. The `--json` /
142
+ `--output json` / `MONDAY_OUTPUT=json` paths opt INTO the §6
143
+ envelope with `data: { shell, script }` + `meta.source: "none"`
144
+ (CLI-internal verb — no Monday wire call, no cache, no auth
145
+ requirement). `--table` / `--output table` / `--output text` /
146
+ `--output ndjson` reject with `usage_error` at the parse boundary
147
+ (only `--json` and `--table` are global shorthand flags per
148
+ cli-design §4.4). Per-shell scripts are hand-rolled templates
149
+ (commander 14.0.3 ships **no** built-in completion machinery,
150
+ verified by empirical probe at M33 pre-flight) generated by
151
+ walking the registered command tree at runtime so agents adding a
152
+ new verb get completion for free. ERROR_CODES count stays at 29
153
+ per D4 closure. No new runtime dependency added per cli-design §1
154
+ "minimum deps".
155
+
156
+ ### Output contract additions
157
+
158
+ **No new stable error codes — registry stays at 29.** Every v0.4
159
+ milestone closed the new-error-code question NEGATIVE: M29 routes
160
+ poll failures through the existing `complexity_exceeded` /
161
+ `rate_limited` / `network_error` codes (the trailer's
162
+ `exit_reason: circuit_broken` is an envelope-level discriminator,
163
+ not a `error.code`); M30 routes per-item failures through the M25
164
+ codes (`column_archived` / `validation_failed` / etc.); M31 routes
165
+ file-IO pre-checks through `usage_error.details.reason` discriminator
166
+ (`file_not_readable` / `file_empty` / `file_too_large`); M32
167
+ routes empty-array `doc get` through the existing `not_found`; M33
168
+ routes invalid shells through `usage_error` from the `parseArgv`
169
+ boundary.
170
+
171
+ **New NDJSON trailer shape** (M29 — `monday item watch`). NDJSON-
172
+ streaming verbs emit a final `{"_meta": {...}}` record carrying the
173
+ seven M29-specific session counters flat alongside the standard
174
+ meta keys (per cli-design §6.3 trailer contract). Pinned by the
175
+ envelope-snapshot suite + dedicated per-command suite.
176
+
177
+ **New wrapped-paginated-record envelope** (M32 — `monday doc
178
+ list`). `data: { documents, page, limit, returned_count, has_more
179
+ }` carries the pagination wrapper alongside the projection list.
180
+ Mirrors the M22 `monday usage` wrapped-record shape but on a
181
+ read-paginated surface. R-NEW-74 watch-item tracks the
182
+ `kind: 'record'` candidate for a future `emitSuccess` shape
183
+ extension (`emit.ts` ships only `kind: 'single' | 'collection'`
184
+ today; `'single'` does double-duty for wrapped records). JSON
185
+ output works correctly today; the watch-item fires only on a
186
+ table-UX complaint + 3rd consumer.
187
+
188
+ **New raw-bytes-default verb** (M33 — `monday completion`). First
189
+ verb whose default stdout payload is NOT a §6 envelope. The
190
+ carve-out at cli-design §3.1 #2 enumerates the rule: raw-bytes
191
+ mode is opt-out (`--json` / `--output json` / `MONDAY_OUTPUT=json`
192
+ opts INTO the envelope). The §6 envelope shape on the opt-in path
193
+ is byte-identical to other CLI-internal verbs:
194
+ `data: { shell, script }` + `meta.source: "none"`.
195
+
196
+ **New multipart-mutation planned-change envelope** (M31 —
197
+ `item upload --dry-run` + `update upload --dry-run`). The
198
+ `planned_changes[]` entry shape extends the standard dry-run
199
+ envelope with multipart-specific slots: `operation:
200
+ "add_file_to_column"` / `"add_file_to_update"`, `file_path`,
201
+ `filename`, `file_size_bytes`, plus the standard `item_id` /
202
+ `column_id` (or `update_id`) keys.
203
+
204
+ ### Upgrade notes
205
+
206
+ - **`unsupported_column_type` `deferred_to: "v0.4"` slips to
207
+ `"v0.5"`** for the files-shaped category (`file` column type via
208
+ `--set` / `--set-raw`). v0.4-M31 shipped the verb-shaped path
209
+ (`monday item upload`) — that's the alternative path agents
210
+ should use today — but NOT the friendly `--set
211
+ <file-col>=<path>` / `--set-raw <file-col>=<json>` form (which
212
+ would need a separate dispatch from the translator boundary
213
+ into the multipart wire). Agents that previously caught the
214
+ v0.3.0 envelope's `deferred_to: "v0.4"` for the files-shaped
215
+ reject path should update their comparison to `"v0.5"`; the
216
+ `error.code: "unsupported_column_type"` + the hint pointing at
217
+ `monday item upload` are unchanged. **The hint is the load-
218
+ bearing routing surface — agents key off the hint, not the
219
+ `deferred_to` value.**
220
+ - **Multi-level subitem creation slips from `"v0.4"` → `"v0.5"`.**
221
+ Originally slipped from v0.3 → v0.4 at v0.3-M28 audit. v0.4
222
+ didn't pick it up — Monday's `sub_items_board` carries no
223
+ `subtasks` column at API `2026-01`, so depth-2 subitems still
224
+ have no data-model home. Single-level subitems (`item create
225
+ --parent <iid>` against classic boards) continue to work
226
+ byte-identically. The `error.code: "usage_error"` +
227
+ `details.hierarchy_type: "multi_level"` keys are unchanged.
228
+ - **Cross-board `item move` value-overrides slip from `"v0.4"` →
229
+ `"v0.5"`.** Originally v0.3-M11-targeted, slipped to v0.4 at
230
+ v0.3-M28 audit, slipped to v0.5 at v0.4 release-prep. Monday's
231
+ `ColumnMappingInput` still carries no value slot; supporting it
232
+ would need a non-atomic post-move `change_multiple_column_
233
+ values` with cross-leg partial-failure envelope shapes that
234
+ have no precedent at v0.4 close. Agents needing overrides
235
+ continue to fire `monday item set <iid> <target>=<value>`
236
+ post-move.
237
+ - **Cross-board resumable cursor slips from `"v0.4"` → `"v0.5"`.**
238
+ The `cross_board_truncated` warning's `details.hint` continues
239
+ to recommend narrowing via `--workspace` / `--favorites` /
240
+ `--max-boards`; v0.5 may pick the resumable surface up if
241
+ per-board cursor-lifetime under aggregation gets a clean design.
242
+ - **Stable error-code registry stays at 29.** Existing codes'
243
+ shapes are unchanged across v0.3 → v0.4.
244
+ - **`--concurrency <N>` is a new global-ish flag on bulk
245
+ `item update`.** Default `1` preserves the M25 sequential
246
+ envelope byte-for-byte; agents only opt INTO parallel dispatch
247
+ by passing the flag.
248
+ - **`monday auth login` placeholder-guard unchanged.** The verb
249
+ is still registered and still surfaces `usage_error.details.
250
+ reason: oauth_unregistered` pointing at `MONDAY_API_TOKEN`
251
+ (unchanged from v0.3.0). The OAuth deferral revisits in v0.4.x
252
+ / v0.5 contingent on user demand.
253
+
254
+ ### Internals worth highlighting
255
+
256
+ - **First multipart wire surface (M31)** introduces a new
257
+ transport seam (`MultipartTransport`) alongside the JSON
258
+ `transport` slot in `ResolvedClient`. Test seam mirrors the
259
+ JSON path's pattern (`ctx.multipart` injection wins;
260
+ production builds fresh via `createMultipartTransport(...)`).
261
+ The `add_file_to_column` / `add_file_to_update` fetchers share
262
+ an inline `dispatchMultipartOnce` helper + an inline retry-
263
+ thunk rewrap pattern for the non-retryable file_too_large case
264
+ (the wrap-vs-thunk placement is invariant — round-1 P2-1
265
+ closure). Codex pre-pre-flight checklist R-v0.4-W2 ratified
266
+ for "new transport seam" milestones.
267
+
268
+ - **R-class refactors shipped during v0.4.** R-NEW-41 (asymmetric
269
+ wire-vs-CLI semantics documentation pattern) shipped at M31
270
+ pre-flight as a new `docs/architecture.md` "Wire-vs-CLI
271
+ semantics documentation conventions" section enumerating the
272
+ three documented asymmetries (M27 webhook.config wire-typing
273
+ + M27 NotificationTargetType + M31 multipart-vs-JSON
274
+ transport). R-NEW-NEW `sniffContentType` lift to
275
+ `src/utils/mime.ts` (M31 IMPL — 2-consumer trigger ahead of
276
+ the typical 3-consumer threshold; coverage from integration
277
+ tests alone would have failed the branches floor). R-NEW-56
278
+ ratified for the 3rd consecutive IMPL milestone (cross-doc
279
+ grep at IMPL kickoff catches prose-drift surface ahead of
280
+ Codex review). R-NEW-58 ratified via positive case at M31
281
+ + negative case at M32. R-NEW-72 (cross-doc grep after every
282
+ contract-flipping Codex fix-up) graduated to a permanent
283
+ CLAUDE.md "Workflow rules" entry at M33 IMPL close. R-NEW-75
284
+ (5-dimension candidate-selection framework) graduated at the
285
+ post-M33 candidate-selection session that picked release-prep
286
+ over team writers. Full register with shipped commit SHAs +
287
+ consumer counts lives in [`docs/v0.4-plan.md`](./docs/v0.4-plan.md) §22.
288
+
289
+ - **Empirical probes** ratified across every novel v0.4 surface:
290
+ M29 `activity_logs` polling shape, M31 multipart `add_file_to_*`
291
+ wire, M32 `Query.docs(...)` filter + ordering enum + pagination
292
+ shape, M33 commander capability check (returned ZERO hits,
293
+ flipping the cli-design §13 entry from "via commander" to
294
+ "hand-rolled templates" before any pre-flight contract claim
295
+ could drift). R-NEW-77 (CLI-internal milestone empirical-probe-
296
+ slot equivalent) filed at M33 pre-flight as a 1-consumer
297
+ watch-item.
298
+
299
+ - **Two-AI review** (cli-design pre-flight + implementation
300
+ review) ran for every milestone M29–M33. M30 IMPL took 5
301
+ rounds to converge (the lesson driving R-NEW-56's pre-IMPL
302
+ cross-doc grep + R-NEW-72's post-fix-up grep). M31 took 7
303
+ pre-flight rounds (two distinct surface classes plus
304
+ substantive transport-seam gaps at rounds 6-7) + 3 IMPL rounds.
305
+ M32 / M33 each converged in 3 IMPL rounds. The cumulative
306
+ finding count + per-milestone Codex-round breakdown lives in
307
+ the per-milestone post-mortems in
308
+ [`docs/v0.4-plan.md`](./docs/v0.4-plan.md) §3 + §13–§15.
309
+
310
+ ### Tests + quality gates
311
+
312
+ - **3634 unit/integration + E2E tests** at v0.4.0 (+1 skipped;
313
+ was 3249+1 ≈ 3250 in v0.3.0; ~385 new tests across M29–M33 +
314
+ the v0.4 release-prep envelope-snapshot refresh). All green on
315
+ Node 22 + 24.
316
+ - **Coverage at 99.26 / 96.33 / 99.34 / 99.53** (statements /
317
+ branches / functions / lines) against the floor 95 / 95.45 / 95
318
+ / 95. Branches margin **0.88pp** at v0.4.0 (was 0.95pp at
319
+ v0.3.0; the v0.4 surface introduced novel branch-heavy areas
320
+ like M29's circuit-breaker progression + M30's parallel
321
+ dispatcher, both of which carry full integration-test coverage
322
+ but eat margin). Floor unchanged across v0.3.0 → v0.4.0.
323
+ - **Envelope-snapshot suite refreshed** for v0.4 surfaces — adds
324
+ 11 snapshots covering item watch (NDJSON trailer shape),
325
+ doc list (wrapped record), doc get (direct unwrap + D8
326
+ not_found), completion bash/zsh/fish --json (raw-bytes-carve-
327
+ out envelope opt-in), completion --table + invalid-shell
328
+ rejections. Item upload / update upload pinned by the per-
329
+ command suites (multipart transport scaffolding stays out
330
+ of the envelope-snapshot suite per the v0.3-M28 cross-board /
331
+ dev precedent). `--concurrency` envelope byte-equivalent to
332
+ the existing M25 sequential snapshot — pinned by the per-
333
+ command bulk suite.
334
+ - **Five test layers held**: unit, integration (in-process
335
+ `FixtureTransport` + `MultipartFixtureTransport`), E2E
336
+ (subprocess against fixture server), envelope-shape snapshot
337
+ suite, published-tarball E2E.
338
+
339
+ ### Documentation
340
+
341
+ - **[`docs/v0.4-plan.md`](./docs/v0.4-plan.md)** new — the v0.4
342
+ active plan with M29–M33 milestones, decisions log, R-class
343
+ register (R-NEW-44 through R-NEW-81), per-milestone post-
344
+ mortems (§3 + §13–§15 + §22).
345
+ - **[`docs/cli-design.md`](./docs/cli-design.md)** §4.3 grew six
346
+ new verb entries; §3.1 #2 raw-bytes carve-out documented; §13
347
+ v0.4 entry closed out + the v0.5 frame pinned (team writers +
348
+ doc CRUD mutation surface deferred to v0.5).
349
+ - **[`docs/architecture.md`](./docs/architecture.md)** gained
350
+ the "Wire-vs-CLI semantics documentation conventions" section
351
+ (R-NEW-41 shipped at M31 pre-flight).
352
+ - **[`docs/output-shapes.md`](./docs/output-shapes.md)** — every
353
+ shipped v0.4 command has a per-section data shape entry,
354
+ snapshot-backed.
355
+ - **README.md** quickstart expanded with v0.4 examples (`monday
356
+ completion`, `monday item watch`, `monday item upload`,
357
+ `--concurrency`, `monday doc list/get`).
358
+
359
+ [0.4.0]: https://github.com/Firer/monday-cli/releases/tag/v0.4.0
360
+
361
+ ## [0.3.0] - 2026-05-13 — Monday Dev + multi-profile + diagnostics + outbound writes
362
+
363
+ The "agent can drive a real backlog with a real workflow" milestone —
364
+ v0.2's mutating core gains the Monday Dev convention layer (sprints /
365
+ epics / releases / tasks), multi-profile auth, diagnostics
366
+ (`monday status` / `monday usage`), cross-board search + favorites,
367
+ per-item history, partial-success bulk updates, and outbound writes
368
+ (webhooks + notifications). **No breaking changes vs `0.2.0` — every
369
+ v0.3 surface is additive.** Built incrementally across M19–M28.
370
+
371
+ ### Breaking changes vs `0.2.0`
372
+
373
+ **None.** Every command, error code, envelope key, and warning shape
374
+ shipped in v0.2.0 is preserved byte-for-byte. v0.3 only adds.
375
+
376
+ ### Surface
377
+
378
+ **~95 commands shipped (was ~75 in v0.2).** Four new noun-namespaces
379
+ (`tag` reads under `account`, `auth`, `dev`, `webhook`,
380
+ `notification`) plus two new top-level diagnostics verbs
381
+ (`monday status` / `monday usage`).
382
+
383
+ **Friendly-translator close-out (M19) — three new writable column
384
+ types.** `tags`, `board_relation`, `dependency` graduate from the v0.2
385
+ tentative row to first-class `--set` writers. The friendly tokens
386
+ resolve through per-account / per-board directories with cache
387
+ fallbacks. `WRITABLE_COLUMN_TYPES` reaches 13. M19 also ships
388
+ `monday account tags` (the read verb that closes the
389
+ `tag_not_found.details.hint` forward-reference from v0.2) and adds
390
+ `tag_not_found` to the stable error-code registry.
391
+
392
+ **Time-tracking placeholders (M20) — documentation-only.** `monday item
393
+ time-track start <iid>` / `monday item time-track stop <iid>` are
394
+ registered so agent scripts targeting these verbs are stable across
395
+ the eventual swap when Monday ships API support. They reject every
396
+ invocation today with `usage_error` carrying the empirical-probe
397
+ context as the hint — an empirical probe (2026-05-10, API `2026-01`)
398
+ confirmed Monday's public API does not currently support writing to
399
+ `time_tracking` columns.
400
+
401
+ **Multi-profile auth (M21).** `monday auth login --profile <name>` /
402
+ `monday auth logout --profile <name>` implement the OAuth flow + the
403
+ `~/.monday-cli/credentials` mode-`0600` cache; `~/.monday-cli/config.toml`
404
+ ships per-profile metadata with the new `--profile <name>` global
405
+ flag resolving through `cli/program.ts`'s preAction hook. `oauth_failed`
406
+ joins the stable error-code registry. **OAuth login is deferred in
407
+ v0.3.0** (see "Internals worth highlighting" → OAuth deferral); the
408
+ `monday auth login` command surfaces a clear `usage_error` pointing
409
+ agents at `MONDAY_API_TOKEN` until the canonical OAuth app is
410
+ registered. The redaction runtime folds credentials-cache tokens into
411
+ the secret-bag so the two-layer scrub covers them on every emission
412
+ path.
413
+
414
+ **Diagnostics cluster (M22).** `monday status` runs a seven-probe
415
+ matrix (DNS / TCP / TLS / auth / cache writability / redaction
416
+ self-test / env-var pickup) for "is everything working?" without
417
+ touching account state; `--no-probe` skips the four network probes.
418
+ `monday usage` reports the daily Monday API operation budget remaining
419
+ from `platform_api.daily_limit` + `platform_api.daily_analytics`
420
+ (operations-per-day on free tier; an empirical probe pivoted this
421
+ away from `account.complexity`, which does not exist on the `Account`
422
+ type at API `2026-01`).
423
+
424
+ **Cross-board search + favorites (M23).** `monday item search` gains
425
+ cross-board mode when `--board` is omitted: `--workspace <wid>` /
426
+ `--favorites` / `--max-boards <n>` (default 25; hard cap 100) scope
427
+ the fan-out. `monday board favorites` reads the current user's
428
+ starred boards. Both fan-outs use single-call cross-board semantics
429
+ (no resumable cross-board cursor in v0.3 — per-board cursor lifetime
430
+ under cross-board aggregation is genuinely thorny; agents narrow with
431
+ `--workspace` / `--favorites` or use the v0.1 `--board <bid>` path
432
+ which carries its own resumable cursor). Four new load-bearing
433
+ warnings: `inaccessible_boards`, `column_not_found_on_board`,
434
+ `cross_board_truncated`, `board_favorites_stale`.
435
+
436
+ **Per-item activity history (M24).** `monday item history <iid>`
437
+ merges Monday's `boards.activity_logs(item_ids:)` with `items.updates`
438
+ chronologically by `created_at` ascending (lexicographic `id` tie-
439
+ break). Event taxonomy is a zod discriminated union over Monday's
440
+ observed `event` slot (`update_column_value`, board-scoped variants,
441
+ synthesized `update_posted` / `update_replied`); unrecognised events
442
+ surface under `kind: 'unknown'` carrying raw `event` + `entity` slots,
443
+ with one bounded `unknown_event_kind` warning per unique unrecognised
444
+ event. Per-source pagination (`--activity-logs-page` /
445
+ `--updates-page`; independent denominators) + `--since` / `--until`
446
+ ISO8601 wall-clock filters + `--stream` NDJSON output reusing R52's
447
+ `startNdjsonStream`. Eventual-consistency lag is empirically >30s on
448
+ freshly-edited boards — the verb's `--help` text documents the
449
+ caveat.
450
+
451
+ **Partial-success bulk updates (M25).** `monday item update --where
452
+ ... --continue-on-error` attempts every matched item regardless of
453
+ per-item failure and emits a partial-success envelope (cli-design
454
+ §6.4): `ok: true` whenever dispatch ran, per-target outcomes in
455
+ `data.results: [{ item_id, ok, error? }]`, with
456
+ `data.summary.failed_count` joining the existing
457
+ `matched_count`/`applied_count` invariant
458
+ (`matched_count === applied_count + failed_count`). The flag is
459
+ orthogonal to the `--yes` confirmation gate. ERROR_CODES registry
460
+ stays at 29 — per-item failures route through existing codes
461
+ (`column_archived`, `validation_failed`, `complexity_exceeded`, etc.).
462
+ The pre-existing fail-fast bulk path is unchanged.
463
+
464
+ **Monday Dev convention layer (M26).** Thirteen verbs land under the
465
+ `monday dev` namespace — the workflow-namespace three-level carve-out
466
+ (cli-design §5.2 carve-out 1; §5.9 mechanics). Three setup verbs at
467
+ two-level depth: `dev discover [--apply]` (auto-detect Tasks /
468
+ Sprints / Epics / Releases / Bugs boards by name), `dev configure
469
+ --tasks-board <bid> [...]` (pin board IDs per profile), `dev doctor`
470
+ (11-reason structured health-check enum surfaced via
471
+ `monday schema dev.doctor`). Ten workflow verbs at three-level depth:
472
+ `dev sprint current/list/items`, `dev epic list/items`, `dev release
473
+ list`, `dev task list/start/done/block`. Every workflow verb
474
+ translates to standard board / item CRUD against the per-profile
475
+ configured board IDs — no new Monday GraphQL mutations introduced. Two
476
+ new stable error codes activate (`dev_not_configured`,
477
+ `dev_board_misconfigured`; reserved on the v0.1 registry, now live).
478
+
479
+ **Outbound writes (M27).** Webhook lifecycle: `monday webhook list
480
+ [--board <bid>]` / `webhook create --board <bid> --url <url> --event
481
+ <type> [--config <json>]` (event-type validated against the 21-value
482
+ `WEBHOOK_EVENT_TYPES` closed enum, probed against API `2026-01`) /
483
+ `webhook delete <wid>` (destructive — `--yes` required;
484
+ `enforceDestructiveGate` fires BEFORE the resolver per the M10
485
+ invariant). Notifications: `monday notification send --user <uid>
486
+ --target <id> --target-type item|board --text <body>` (single-
487
+ recipient at v0.3). Webhooks are live-only — outside cli-design §8's
488
+ cache scope. The CLI never receives — webhooks land on the user's own
489
+ HTTPS endpoint (cli-design §1 permanent non-goal: hosting webhooks).
490
+ ERROR_CODES registry unchanged.
491
+
492
+ **Subitem multi-level creation — deferred out of v0.3 (M28).** Closed
493
+ at M28 pre-flight on empirical grounds: an empirical probe
494
+ (2026-05-13, API `2026-01`) confirmed Monday's `sub_items_board` does
495
+ NOT carry a `subtasks` column at the pinned API version, so a depth-2
496
+ subitem has structurally no place to live in the data model. Single-
497
+ level subitems remain first-class via the existing M9 carve-in (`item
498
+ create --parent <iid>`, `item subitems <iid>`, and every standard
499
+ item verb operating uniformly on subitems). v0.3.x / v0.4 picks the
500
+ feature up if Monday surfaces the capability.
501
+
502
+ ### Output contract additions
503
+
504
+ **Two new stable error codes — registry grows from 27 to 29.**
505
+
506
+ 1. **`tag_not_found`** (M19) — `monday item set <iid> tags=<token>`
507
+ when the token doesn't resolve through the per-account tag
508
+ directory. `details.hint` points the agent at `monday account
509
+ tags` for discovery.
510
+ 2. **`oauth_failed`** (M21) — umbrella for OAuth-flow failures
511
+ (`monday auth login`). `details.reason` discriminates per failure
512
+ mode (`port_in_use`, `code_exchange_failed`, `state_mismatch`,
513
+ `redirect_invalid`, `oauth_unregistered` for the v0.3.0
514
+ placeholder-guard path, etc.) so agents key off the structured
515
+ reason rather than the umbrella code alone.
516
+
517
+ The two `dev_*` codes reserved on the v0.1 registry
518
+ (`dev_not_configured`, `dev_board_misconfigured`) activate at M26 —
519
+ they were registry-stable but inactive in v0.1/v0.2.
520
+
521
+ **Per-item history envelope shape** (M24). New under
522
+ `docs/cli-design.md` §6 for the merged activity stream: event objects
523
+ carry `created_at` (ISO), `actor_id`, `kind` (discriminator —
524
+ `update_column_value` / `update_posted` / `update_replied` /
525
+ board-scoped variants / `unknown`), `before`, `after` (typed where
526
+ M24 ships the projector, raw JSON elsewhere — agents read `kind` and
527
+ case on it).
528
+
529
+ **Partial-success bulk envelope** (M25 — §6.4 sub-section).
530
+ `data.summary.failed_count` joins the bulk-summary fields; per-item
531
+ `data.results: [{ item_id, ok, error? }]`. The fail-fast bulk path
532
+ (`details.applied_to` decoration on the error envelope) is unchanged
533
+ — agents who haven't migrated to read `data.results[]` continue to
534
+ receive the v0.1 envelope shape.
535
+
536
+ **Cross-board search envelope** (M23 — additive on `item search`).
537
+ The data shape is unchanged; the cross-board path adds per-board
538
+ `state` breakdown inside `cross_board_truncated.details`
539
+ (`exhausted` / `has_more` / `not_started`).
540
+
541
+ **Four new warnings** (cross-board search + favorites):
542
+ `inaccessible_boards`, `column_not_found_on_board`,
543
+ `cross_board_truncated`, `board_favorites_stale`. Plus
544
+ `unknown_event_kind` (item history). All warnings carry structured
545
+ `details` agents can route on.
546
+
547
+ ### Upgrade notes
548
+
549
+ - **`unsupported_column_type` `deferred_to: "v0.3"` resolves** for
550
+ the v0.2 tentative row (`tags`, `board_relation`, `dependency`
551
+ shipped at M19). The `--set-raw` escape hatch on these types
552
+ continues to work byte-identically; agents using the friendly form
553
+ pick it up automatically.
554
+ - **Multi-level subitem creation slips to `deferred_to: "v0.4"`.**
555
+ M28 Decision 11 closure: Monday's `sub_items_board` carries no
556
+ `subtasks` column at API `2026-01`, so depth-2 subitems have no
557
+ data-model home. Agents that previously caught the v0.2.0
558
+ envelope's `deferred_to: "v0.3"` should update the comparison;
559
+ the `error.code: "usage_error"` + `details.hierarchy_type:
560
+ "multi_level"` keys are unchanged. Single-level subitems (`item
561
+ create --parent <iid>` against classic boards) continue to work
562
+ byte-identically.
563
+ - **Cross-board `item move` value-overrides slip to v0.4.**
564
+ `--columns-mapping`'s string-to-string form is unchanged. The
565
+ richer `{id, value?}` form was originally v0.3-targeted at M11
566
+ close; no v0.3 milestone picked up the extension because
567
+ Monday's `ColumnMappingInput` carries no value slot. Agents
568
+ needing overrides continue to fire `monday item set <iid>
569
+ <target>=<value>` post-move.
570
+ - **Stable error-code registry expanded from 27 to 29.** Existing
571
+ codes' shapes are unchanged.
572
+ - **`--profile <name>` is a new global flag.** Resolved through
573
+ `cli/program.ts`'s preAction hook; profile precedence is documented
574
+ at `docs/cli-design.md` §7.4. Single-profile installs (the v0.2
575
+ shape) need no change — the implicit default profile preserves the
576
+ v0.2 behaviour.
577
+ - **`monday auth login` placeholder-guard.** The verb is registered
578
+ but returns `usage_error.details.reason: oauth_unregistered`
579
+ pointing at `MONDAY_API_TOKEN` until the canonical Monday OAuth app
580
+ is registered. `monday auth logout` works against any locally
581
+ cached credentials. The deferral is documented at cli-design §7.3.
582
+
583
+ ### Internals worth highlighting
584
+
585
+ - **OAuth deferral.** `OAUTH_CLIENT_ID` / `OAUTH_CLIENT_SECRET` ship
586
+ as `<UNREGISTERED_PENDING_OAUTH_APP>` placeholders in `src/api/oauth.ts`
587
+ at v0.3.0. The full M21 OAuth source + test infrastructure stays as
588
+ dormant infrastructure (the `__test_oauth_helper` seam keeps the
589
+ M21 round-trip tests green). Whether a canonical `monday-cli`
590
+ OAuth app gets registered at v0.3.x / v0.4 is a separate product
591
+ decision — the CLI works fully with API tokens today, which is the
592
+ shape every agent harness already consumes. If registration lands,
593
+ the swap is one-sided in `src/api/oauth.ts` and the placeholder
594
+ guard drops in one edit.
595
+
596
+ - **R-class refactors shipped during v0.3.** R-NEW-1 (`isENOENT`
597
+ lift), R-NEW-4 (`statusOutputSchema` / `probeResultSchema`
598
+ import-from-api lift), R-NEW-5 (`introspectType()` probe helper),
599
+ R-NEW-6 (`.claude/templates/codex-pre-flight-review.md` template
600
+ lift after M21 + M22 + M23 converged on the same prompt shape),
601
+ R-NEW-7 (`formatMode` lift), R-NEW-14 / R-NEW-15 / R-NEW-16
602
+ (`errorMessage` / `asError` / `errorCode` consolidation across 17
603
+ inline duplicates), R-NEW-17 (W1 redactor-pattern audit folded
604
+ template-stable), R-NEW-19 (manual `safeParse → ApiError` sites
605
+ migrated to `unwrapOrThrow`), R-NEW-21 (`trialQuery()` /
606
+ `ProbeRawErrors` probe lift), R-NEW-25 (W1's "findings up front"
607
+ Codex-prompt directive), R-NEW-27 (`isPlainObject`
608
+ consolidation), R-NEW-29 (`executeItemMutation` lift —
609
+ three-consumer trigger across single-item + fail-fast bulk + M25
610
+ partial-success bulk), R-NEW-30 (`resolveActiveDevProfile` —
611
+ 13-consumer trigger across M26a + M26b), R-NEW-35
612
+ (`requireDevBoard` slot-check helper), R-NEW-36 (seven dev-conventions
613
+ workflow helpers), R-NEW-37 (Codex template W2 audit-point for
614
+ GraphQL operationName parity — caught the M27 IMPL caller-
615
+ overridable operationName slot), R-NEW-38 (sprint date-range
616
+ helpers consolidation), R-NEW-42 (`parseJsonArg` argv-JSON-parse-
617
+ boundary helper). Full register with shipped commit SHAs lives in
618
+ [`docs/v0.3-plan.md`](./docs/v0.3-plan.md) §22.
619
+
620
+ - **Empirical probes** ratified as always-run-for-novel-API-surface
621
+ pre-flight discipline. v0.3 fired the pattern across M21 OAuth /
622
+ M22 `platform_api.daily_*` reshape / M23 cross-board + favorites /
623
+ M24 history kinds / M26 dev-board discovery / M27 webhook
624
+ event-type enum / M28 multi-level subitems. Multiple milestones
625
+ pivoted contract surfaces at pre-flight on probe findings rather
626
+ than discovering API drift at IMPL.
627
+
628
+ - **Two-AI review** (cli-design pre-flight + implementation review)
629
+ ran for every milestone M19–M27. Catches contract drift before
630
+ it reaches `main`; the cumulative finding count + per-milestone
631
+ Codex-round breakdown is in the per-milestone post-mortems in
632
+ [`docs/v0.3-plan.md`](./docs/v0.3-plan.md) §11–§20.
633
+
634
+ ### Tests + quality gates
635
+
636
+ - **3249 unit/integration + E2E tests** at v0.3.0 (+1 skipped; was
637
+ 2280+38 ≈ 2318 in v0.2.0). All green on Node 22 + 24.
638
+ - **Coverage at 99.26 / 96.40 / 99.37 / 99.51** (statements /
639
+ branches / functions / lines) against the floor 95 / 95.45 / 95
640
+ / 95. The branches floor was raised at M22 (94% → 95.45%) and
641
+ held through M28; the M28 close-out shipped six branch-coverage
642
+ residual tests closing the three deferred file-level gaps
643
+ (`item/search.ts` 88.23% → 100% stmts; `errors.ts` 95.37% → 100%
644
+ lines; `dry-run.ts` 96.26% → 100% branches). Branches margin is
645
+ 0.95pp at v0.3.0.
646
+ - **Envelope-snapshot suite refreshed** for v0.3 surfaces — every
647
+ new v0.3 command + the partial-success / history / cross-board /
648
+ dev / webhook / notification envelopes are pinned for byte-shape
649
+ regressions.
650
+ - **Five test layers** held: unit, integration (in-process
651
+ `FixtureTransport`), E2E (subprocess against fixture server),
652
+ envelope-shape snapshot suite, published-tarball E2E.
653
+
654
+ ### Documentation
655
+
656
+ - **[`docs/v0.3-plan.md`](./docs/v0.3-plan.md)** new — the v0.3
657
+ active plan with M19–M28 milestones, decisions log, R-class
658
+ register (R-NEW-1 through R-NEW-43), per-milestone post-mortems
659
+ (§11–§21).
660
+ - **[`docs/cli-design.md`](./docs/cli-design.md)** §4.3 grew ~25 new
661
+ verb entries; §6.4 added the M25 bulk partial-success sub-section;
662
+ §6.5 added two new error codes; §7.3 added the OAuth deferral
663
+ block; §7.4 added the multi-profile resolution surface; §11.5
664
+ added the seven-probe `monday status` matrix; §13 v0.3 entry
665
+ closed out.
666
+ - **[`docs/output-shapes.md`](./docs/output-shapes.md)** — every
667
+ shipped v0.3 command has a per-section data shape entry, snapshot-
668
+ backed.
669
+ - **README.md** quickstart expanded with v0.3 examples (`monday
670
+ status`, `monday dev sprint current`, `monday webhook list`).
671
+
672
+ [0.3.0]: https://github.com/Firer/monday-cli/releases/tag/v0.3.0
673
+
10
674
  ## [0.2.0] - 2026-05-08 — Mutating core: agents can drive a backlog
11
675
 
12
676
  The "agents can drive a backlog" milestone — v0.1's read-only core
@@ -215,7 +879,7 @@ once and skip subsequent metadata lookups.
215
879
 
216
880
  [0.2.0]: https://github.com/Firer/monday-cli/releases/tag/v0.2.0
217
881
 
218
- ## [0.1.0] — Initial release
882
+ ## [0.1.0] — Foundation milestone (git tag — npm publish slipped to 0.2.0)
219
883
 
220
884
  The "read-only core + safe mutations" milestone — an agent can read
221
885
  everything the CLI surfaces, make small scoped idempotent changes,
@@ -223,6 +887,15 @@ and post comments narrating its work. Built incrementally across
223
887
  M0–M7 (M5 split into M5a + M5b; M2.5 inserted post-M2 as a
224
888
  structural-debt cleanup pass).
225
889
 
890
+ > **Publication note**: 0.1.0 shipped to `main` as a tagged git
891
+ > release but was not published to npm. The first public npm
892
+ > release of `monday-cli` is **0.2.0** (which contains the full
893
+ > v0.1 surface as its foundation — nothing in 0.1.0 was lost or
894
+ > rolled back). The `monday-cli` npm namespace had a brief
895
+ > pre-history (`monday-cli@0.0.1`, published and unpublished
896
+ > within hours on 2026-01-12) before being claimed for this
897
+ > project at the v0.2.0 release.
898
+
226
899
  ### Surface
227
900
 
228
901
  **Five reader nouns + 35 commands shipped.**