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
@@ -0,0 +1,333 @@
1
+ /**
2
+ * Webhook surface for the v0.3-M27 `monday webhook list/create/delete`
3
+ * verbs (`cli-design.md` §2.7 + §4.3 + §13 v0.3 entry;
4
+ * `v0.3-plan.md` §3 M27).
5
+ *
6
+ * **Wire surface (empirical probe 2026-05-12, API `2026-01`).** Three
7
+ * Monday GraphQL operations land here:
8
+ *
9
+ * - `Query.webhooks(board_id: ID!, app_webhooks_only: Boolean)` —
10
+ * returns `[Webhook!]`. CLI exposes board-scoped only (the
11
+ * `app_webhooks_only` filter is a future v0.3.x / v0.4 extension
12
+ * once apps land).
13
+ * - `Mutation.create_webhook(board_id: ID!, url: String!,
14
+ * event: WebhookEventType!, config: JSON)` — returns the created
15
+ * `Webhook`. The CLI surface keeps `--config <json>` as an opaque
16
+ * JSON string; per-event sub-shape validation happens server-side
17
+ * at Monday (Decision 9 closure note in §3 M27).
18
+ * - `Mutation.delete_webhook(id: ID!)` — returns the deleted
19
+ * `Webhook`. The CLI surfaces the full deleted record so an agent
20
+ * re-checking the namespace can verify what went away.
21
+ *
22
+ * **Webhook object shape (4 fields).** `id` (ID, non-null), `board_id`
23
+ * (ID, non-null), `event` (WebhookEventType, non-null), `config`
24
+ * (String, nullable). Note the **asymmetric `config` typing**: the
25
+ * `create_webhook` arg is typed `JSON` (any valid JSON value); the
26
+ * read-side `Webhook.config` field is typed `String` (Monday echoes
27
+ * back the stored JSON-encoded string). The CLI's read schema treats
28
+ * `config` as `string | null`; the create-input parses `--config`
29
+ * once at the parse boundary (in the command's action body) and
30
+ * threads the resulting JS value to Monday's `JSON` scalar (sending
31
+ * the raw string would double-encode).
32
+ *
33
+ * **Decision 9 (webhook event-type validation) — CLOSED at M27
34
+ * pre-flight via the `WEBHOOK_EVENT_TYPES` 21-value closed enum.**
35
+ * Per cli-design §8 default recommendation: zod enum at parse
36
+ * boundary; unknown events surface `usage_error` before hitting
37
+ * the wire. Empirical probe (`scripts/probe/m27-create-webhook
38
+ * -input.ts`, 2026-05-12, API `2026-01`) pinned the vocabulary
39
+ * directly from Monday's introspection — `WebhookEventType` is an
40
+ * `ENUM` with exactly 21 values; additions land as additive minor
41
+ * bumps. Renames or removals are a major version bump.
42
+ *
43
+ * **No new ERROR_CODES (29 stays).** Webhook failures route through
44
+ * the existing codes: `not_found` (missing board / missing webhook),
45
+ * `usage_error` (unknown event-type / malformed URL), `unauthorized`
46
+ * (token lacks webhook-management scope), `forbidden` (account
47
+ * permissions), `validation_failed` (Monday-side rejection of the
48
+ * create payload). No webhook-specific failure mode requires new
49
+ * code-registry surface.
50
+ *
51
+ * **Webhooks are live-only for v0.3.** Per cli-design §8 cache scope,
52
+ * webhooks aren't cached — the live `webhook list` read and the live
53
+ * `webhook create` / `webhook delete` mutation paths emit
54
+ * `meta.source: "live"` with `cache_age_seconds: null`. `--dry-run`
55
+ * paths emit `meta.source: "none"` per the canonical `DryRunEnvelope`
56
+ * contract; all 3 write-verb dry-runs are strictly argv-derived (no
57
+ * pre-mutation read fires — Monday's `webhooks(board_id:)` query is
58
+ * board-scoped but `webhook delete <wid>` carries no board ID, so a
59
+ * pre-read enrichment would require a §4.3 amendment).
60
+ * Adding webhooks to the §8 cache scope would be a contract
61
+ * extension (v0.3.x / v0.4).
62
+ *
63
+ * **Runtime bodies (M27 IMPL).** Three fetchers — `listWebhooks` /
64
+ * `createWebhook` / `deleteWebhook` — each issue a single
65
+ * `client.raw` round-trip with a named operation (`Webhooks` /
66
+ * `CreateWebhook` / `DeleteWebhook`) matching the document's named
67
+ * operation per the R-NEW-37 W2 audit-point. Results parse through
68
+ * {@link webhookSchema} via `unwrapOrThrow` so payload drift surfaces
69
+ * `internal_error` with `details.issues`; null payloads surface
70
+ * `not_found` with `details.webhook_id` (or `details.board_id` for
71
+ * the list verb).
72
+ */
73
+ import { z } from 'zod';
74
+ import { unwrapOrThrow } from '../utils/parse-boundary.js';
75
+ import { assertResponseFieldPresent } from './response-root.js';
76
+ import { ApiError } from '../utils/errors.js';
77
+ /**
78
+ * Monday's `WebhookEventType` enum vocabulary (empirical probe
79
+ * 2026-05-12, API `2026-01`; 21 values). Pinned at M27 pre-flight
80
+ * to close Decision 9 (webhook event-type validation). The CLI
81
+ * validates `webhook create --event <type>` against this closed
82
+ * list at parse boundary; unknown events surface `usage_error`
83
+ * before hitting the wire.
84
+ *
85
+ * Adding an event to Monday's wire surface is a minor (additive)
86
+ * bump for the CLI — extend this list and the per-command flag
87
+ * help. Renames or removals are a major version bump.
88
+ *
89
+ * The 21 values cover three event families (6 + 10 + 5 = 21):
90
+ * - **Column-value + name-change events (6):** `change_column_value`,
91
+ * `change_specific_column_value`, `change_status_column_value`,
92
+ * `change_subitem_column_value`, `change_name`,
93
+ * `change_subitem_name`.
94
+ * - **Item / subitem lifecycle events (10):** `create_item`,
95
+ * `create_subitem`, `item_archived`, `item_deleted`,
96
+ * `item_moved_to_any_group`, `item_moved_to_specific_group`,
97
+ * `item_restored`, `move_subitem`, `subitem_archived`,
98
+ * `subitem_deleted`.
99
+ * - **Update / column-management events (5):** `create_update`,
100
+ * `create_subitem_update`, `edit_update`, `delete_update`,
101
+ * `create_column`.
102
+ */
103
+ export const WEBHOOK_EVENT_TYPES = [
104
+ 'change_column_value',
105
+ 'change_name',
106
+ 'change_specific_column_value',
107
+ 'change_status_column_value',
108
+ 'change_subitem_column_value',
109
+ 'change_subitem_name',
110
+ 'create_column',
111
+ 'create_item',
112
+ 'create_subitem',
113
+ 'create_subitem_update',
114
+ 'create_update',
115
+ 'delete_update',
116
+ 'edit_update',
117
+ 'item_archived',
118
+ 'item_deleted',
119
+ 'item_moved_to_any_group',
120
+ 'item_moved_to_specific_group',
121
+ 'item_restored',
122
+ 'move_subitem',
123
+ 'subitem_archived',
124
+ 'subitem_deleted',
125
+ ];
126
+ export const webhookEventTypeSchema = z.enum(WEBHOOK_EVENT_TYPES);
127
+ /**
128
+ * The read-side `Webhook` shape returned by `Query.webhooks` and as
129
+ * the result of `create_webhook` / `delete_webhook` mutations.
130
+ *
131
+ * `config` is **nullable string** on read (Monday echoes the stored
132
+ * JSON-encoded config as a string; for events that don't carry
133
+ * server-side config, the field comes back `null`). The
134
+ * `create_webhook` arg is typed `JSON` (any valid JSON value); CLI
135
+ * input takes a JSON-encoded string and threads it to the wire
136
+ * via the `JSON` scalar.
137
+ */
138
+ export const webhookSchema = z
139
+ .object({
140
+ id: z.string().min(1),
141
+ board_id: z.string().min(1),
142
+ event: webhookEventTypeSchema,
143
+ config: z.string().nullable(),
144
+ })
145
+ .strict();
146
+ /**
147
+ * Output shape for `monday webhook list <bid>` — an array of
148
+ * {@link Webhook} entries scoped to the supplied board. Pure read
149
+ * surface, no mutation envelope.
150
+ */
151
+ export const webhookListOutputSchema = z.array(webhookSchema);
152
+ /**
153
+ * Output shape for `monday webhook create <bid> --url <u>
154
+ * --event <e> [--config <json>]`. The mutation echoes the created
155
+ * `Webhook` (with the freshly-minted ID); we surface that record
156
+ * directly so an agent can pin the new `id` for a later
157
+ * `webhook delete <wid>`.
158
+ */
159
+ export const webhookCreateOutputSchema = webhookSchema;
160
+ /**
161
+ * Output shape for `monday webhook delete <wid> --yes`. Monday's
162
+ * `delete_webhook` returns the deleted `Webhook` record; the CLI
163
+ * surfaces that directly so an agent confirms what was removed
164
+ * (event / board / config). Re-deleting an already-deleted webhook
165
+ * surfaces `not_found` (matches the M10 `item delete` / M15
166
+ * `board delete` shape so agents key off one error code regardless
167
+ * of which delete verb they ran).
168
+ */
169
+ export const webhookDeleteOutputSchema = webhookSchema;
170
+ const LIST_WEBHOOKS_QUERY = `
171
+ query Webhooks($boardId: ID!) {
172
+ webhooks(board_id: $boardId) {
173
+ id
174
+ board_id
175
+ event
176
+ config
177
+ }
178
+ }
179
+ `;
180
+ const listWebhooksResponseSchema = z
181
+ .object({
182
+ webhooks: z.array(webhookSchema).nullable(),
183
+ })
184
+ .loose();
185
+ /**
186
+ * Fetches the webhooks configured on `inputs.boardId` via a single
187
+ * `Query.webhooks(board_id:)` round-trip. `operationName: 'Webhooks'`
188
+ * stays in sync with the named operation in {@link LIST_WEBHOOKS_QUERY}
189
+ * (R-NEW-37 W2 audit-point). Source is always `'live'` per cli-design
190
+ * §8 cache scope; webhooks aren't cached at v0.3.
191
+ *
192
+ * A null `webhooks` root surfaces `not_found` with `details.board_id`
193
+ * — matches the M10/M15 lifecycle verbs so agents key off one error
194
+ * code regardless of which read they ran.
195
+ */
196
+ export const listWebhooks = async (inputs) => {
197
+ const response = await inputs.client.raw(LIST_WEBHOOKS_QUERY, { boardId: inputs.boardId }, { operationName: 'Webhooks' });
198
+ const parsed = unwrapOrThrow(listWebhooksResponseSchema.safeParse(response.data), {
199
+ context: 'Monday `Query.webhooks` response',
200
+ details: { board_id: inputs.boardId },
201
+ hint: 'Monday may have amended the `webhooks(board_id:)` selection — re-probe and amend `src/api/webhooks.ts` if so',
202
+ });
203
+ if (parsed.webhooks === null) {
204
+ throw new ApiError('not_found', `Monday returned no webhooks payload for board ${inputs.boardId}`, { details: { board_id: inputs.boardId } });
205
+ }
206
+ return {
207
+ webhooks: parsed.webhooks,
208
+ source: 'live',
209
+ cacheAgeSeconds: null,
210
+ complexity: response.complexity,
211
+ };
212
+ };
213
+ const CREATE_WEBHOOK_MUTATION = `
214
+ mutation CreateWebhook(
215
+ $boardId: ID!,
216
+ $url: String!,
217
+ $event: WebhookEventType!,
218
+ $config: JSON
219
+ ) {
220
+ create_webhook(
221
+ board_id: $boardId,
222
+ url: $url,
223
+ event: $event,
224
+ config: $config
225
+ ) {
226
+ id
227
+ board_id
228
+ event
229
+ config
230
+ }
231
+ }
232
+ `;
233
+ /**
234
+ * Registers a new webhook against Monday's `create_webhook` mutation.
235
+ * `operationName: 'CreateWebhook'` stays in sync with the named
236
+ * operation in {@link CREATE_WEBHOOK_MUTATION} (R-NEW-37 W2 audit-
237
+ * point). The `config` input crosses the wire as the `JSON` scalar
238
+ * when supplied — the caller threads any pre-parsed JSON value;
239
+ * when `inputs.config` is `undefined` the `$config` variable is
240
+ * omitted entirely so Monday's per-event server-side default
241
+ * applies (rather than overwriting with `null`). Per-event
242
+ * structural validation lives server-side at Monday.
243
+ *
244
+ * Re-running creates a fresh webhook with a new ID — `idempotent:
245
+ * false`. Agents needing register-once semantics should `webhook
246
+ * list` first and skip the create if a matching entry exists.
247
+ */
248
+ export const createWebhook = async (inputs) => {
249
+ const variables = {
250
+ boardId: inputs.boardId,
251
+ url: inputs.url,
252
+ event: inputs.event,
253
+ };
254
+ if (inputs.config !== undefined) {
255
+ variables.config = inputs.config;
256
+ }
257
+ const response = await inputs.client.raw(CREATE_WEBHOOK_MUTATION, variables, { operationName: 'CreateWebhook' });
258
+ assertResponseFieldPresent({
259
+ data: response.data,
260
+ key: 'create_webhook',
261
+ operationLabel: 'CreateWebhook',
262
+ details: { board_id: inputs.boardId, event: inputs.event },
263
+ nullHandling: 'caller_handles',
264
+ });
265
+ const raw = response.data.create_webhook;
266
+ if (raw === null || raw === undefined) {
267
+ throw new ApiError('internal_error', `Monday returned no webhook payload from create_webhook for board ${inputs.boardId}`, {
268
+ details: {
269
+ board_id: inputs.boardId,
270
+ event: inputs.event,
271
+ },
272
+ });
273
+ }
274
+ const webhook = unwrapOrThrow(webhookSchema.safeParse(raw), {
275
+ context: 'Monday `create_webhook` response',
276
+ details: { board_id: inputs.boardId, event: inputs.event },
277
+ hint: 'Monday may have amended the `Webhook` selection — re-probe and amend `src/api/webhooks.ts` if so',
278
+ });
279
+ return {
280
+ webhook,
281
+ source: 'live',
282
+ cacheAgeSeconds: null,
283
+ complexity: response.complexity,
284
+ };
285
+ };
286
+ const DELETE_WEBHOOK_MUTATION = `
287
+ mutation DeleteWebhook($id: ID!) {
288
+ delete_webhook(id: $id) {
289
+ id
290
+ board_id
291
+ event
292
+ config
293
+ }
294
+ }
295
+ `;
296
+ /**
297
+ * Deletes a webhook via Monday's `delete_webhook` mutation.
298
+ * `operationName: 'DeleteWebhook'` stays in sync with the named
299
+ * operation in {@link DELETE_WEBHOOK_MUTATION} (R-NEW-37 W2 audit-
300
+ * point). Returns the deleted record so an agent confirms what was
301
+ * removed (event / board / config) in a single envelope.
302
+ *
303
+ * A null `delete_webhook` surfaces `not_found` with
304
+ * `details.webhook_id` (matches the M10/M15 lifecycle verbs so
305
+ * agents key off one error code regardless of which delete verb
306
+ * they ran).
307
+ */
308
+ export const deleteWebhook = async (inputs) => {
309
+ const response = await inputs.client.raw(DELETE_WEBHOOK_MUTATION, { id: inputs.webhookId }, { operationName: 'DeleteWebhook' });
310
+ assertResponseFieldPresent({
311
+ data: response.data,
312
+ key: 'delete_webhook',
313
+ operationLabel: 'DeleteWebhook',
314
+ details: { webhook_id: inputs.webhookId },
315
+ nullHandling: 'caller_handles',
316
+ });
317
+ const raw = response.data.delete_webhook;
318
+ if (raw === null || raw === undefined) {
319
+ throw new ApiError('not_found', `Monday returned no webhook payload from delete_webhook for id ${inputs.webhookId}`, { details: { webhook_id: inputs.webhookId } });
320
+ }
321
+ const webhook = unwrapOrThrow(webhookSchema.safeParse(raw), {
322
+ context: 'Monday `delete_webhook` response',
323
+ details: { webhook_id: inputs.webhookId },
324
+ hint: 'Monday may have amended the `Webhook` selection — re-probe and amend `src/api/webhooks.ts` if so',
325
+ });
326
+ return {
327
+ webhook,
328
+ source: 'live',
329
+ cacheAgeSeconds: null,
330
+ complexity: response.complexity,
331
+ };
332
+ };
333
+ //# sourceMappingURL=webhooks.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"webhooks.js","sourceRoot":"","sources":["../../src/api/webhooks.ts"],"names":[],"mappings":"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"}
@@ -85,8 +85,17 @@ export declare const createMetaBuilder: () => MetaBuilder;
85
85
  * file (Codex review §1 follow-up). `env` is shared by reference
86
86
  * with the runner; re-reading at emit time observes any side-
87
87
  * effecting load.
88
+ *
89
+ * `extraSecrets` carries the v0.3-M21 cli-design §7.4.3 redaction-
90
+ * runtime extension — `program.ts`'s preAction hook reads the
91
+ * credentials file once and pushes every per-profile `access_token`
92
+ * onto `ctx.runtimeSecrets`; callers thread that array through so a
93
+ * cached token landing in `Error.message` / `Error.stack` is scrubbed
94
+ * even when no env token is set (e.g., the credentials-cache-only
95
+ * flow where `monday auth login --profile work` is the user's only
96
+ * token source).
88
97
  */
89
- export declare const collectSecrets: (env: NodeJS.ProcessEnv) => readonly string[];
98
+ export declare const collectSecrets: (env: NodeJS.ProcessEnv, extraSecrets?: readonly string[]) => readonly string[];
90
99
  export interface BuildBaseMetaInputs {
91
100
  readonly snapshot: MetaSnapshot;
92
101
  readonly env: NodeJS.ProcessEnv;
@@ -106,6 +115,14 @@ export interface WriteErrorEnvelopeOptions {
106
115
  readonly stderr: NodeJS.WritableStream;
107
116
  readonly env: NodeJS.ProcessEnv;
108
117
  readonly meta: Meta;
118
+ /**
119
+ * Extra literal secrets to scrub via the value-scan layer (cli-
120
+ * design §7.4.3). The runner threads `ctx.runtimeSecrets` here so
121
+ * a credentials-cache `access_token` that landed in an error's
122
+ * `cause`/`message` chain is scrubbed even when no env token is
123
+ * set.
124
+ */
125
+ readonly runtimeSecrets?: readonly string[];
109
126
  }
110
127
  /**
111
128
  * Renders the error envelope to `stderr` with two-layer redaction
@@ -1 +1 @@
1
- {"version":3,"file":"envelope-out.d.ts","sourceRoot":"","sources":["../../src/cli/envelope-out.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkDG;AAGH,OAAO,EAGL,KAAK,UAAU,EACf,KAAK,IAAI,EACV,MAAM,6BAA6B,CAAC;AAErC,OAAO,EAEL,cAAc,EAEf,MAAM,oBAAoB,CAAC;AAE5B,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;IACxC,QAAQ,CAAC,MAAM,EAAE,UAAU,GAAG,SAAS,CAAC;CACzC;AAED,MAAM,WAAW,WAAW;IAC1B;;;;;;;OAOG;IACH,aAAa,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACzC;;;;;;OAMG;IACH,SAAS,EAAE,CAAC,MAAM,EAAE,UAAU,KAAK,IAAI,CAAC;IACxC,mDAAmD;IACnD,QAAQ,EAAE,MAAM,YAAY,CAAC;CAC9B;AAED,eAAO,MAAM,iBAAiB,QAAO,WAYpC,CAAC;AAEF;;;;;;;;GAQG;AACH,eAAO,MAAM,cAAc,GACzB,KAAK,MAAM,CAAC,UAAU,KACrB,SAAS,MAAM,EAOjB,CAAC;AAEF,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,QAAQ,EAAE,YAAY,CAAC;IAChC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC,UAAU,CAAC;IAChC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;CAC9B;AAED;;;;;;GAMG;AACH,eAAO,MAAM,aAAa,GAAI,QAAQ,mBAAmB,KAAG,IAWxD,CAAC;AAEL,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,cAAc,CAAC;IACvC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC,UAAU,CAAC;IAChC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC;CACrB;AAED;;;;;GAKG;AACH,eAAO,MAAM,kBAAkB,GAC7B,KAAK,cAAc,EACnB,SAAS,yBAAyB,KACjC,IAMF,CAAC;AAKF;;;;;;;;;GASG;AACH,eAAO,MAAM,aAAa,GAAI,KAAK,OAAO,KAAG,cAoB5C,CAAC"}
1
+ {"version":3,"file":"envelope-out.d.ts","sourceRoot":"","sources":["../../src/cli/envelope-out.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkDG;AAGH,OAAO,EAGL,KAAK,UAAU,EACf,KAAK,IAAI,EACV,MAAM,6BAA6B,CAAC;AAErC,OAAO,EAEL,cAAc,EAEf,MAAM,oBAAoB,CAAC;AAE5B,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;IACxC,QAAQ,CAAC,MAAM,EAAE,UAAU,GAAG,SAAS,CAAC;CACzC;AAED,MAAM,WAAW,WAAW;IAC1B;;;;;;;OAOG;IACH,aAAa,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACzC;;;;;;OAMG;IACH,SAAS,EAAE,CAAC,MAAM,EAAE,UAAU,KAAK,IAAI,CAAC;IACxC,mDAAmD;IACnD,QAAQ,EAAE,MAAM,YAAY,CAAC;CAC9B;AAED,eAAO,MAAM,iBAAiB,QAAO,WAYpC,CAAC;AAEF;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,cAAc,GACzB,KAAK,MAAM,CAAC,UAAU,EACtB,eAAc,SAAS,MAAM,EAAO,KACnC,SAAS,MAAM,EAYjB,CAAC;AAEF,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,QAAQ,EAAE,YAAY,CAAC;IAChC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC,UAAU,CAAC;IAChC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;CAC9B;AAED;;;;;;GAMG;AACH,eAAO,MAAM,aAAa,GAAI,QAAQ,mBAAmB,KAAG,IAWxD,CAAC;AAEL,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,cAAc,CAAC;IACvC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC,UAAU,CAAC;IAChC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC;IACpB;;;;;;OAMG;IACH,QAAQ,CAAC,cAAc,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CAC7C;AAED;;;;;GAKG;AACH,eAAO,MAAM,kBAAkB,GAC7B,KAAK,cAAc,EACnB,SAAS,yBAAyB,KACjC,IAMF,CAAC;AAKF;;;;;;;;;GASG;AACH,eAAO,MAAM,aAAa,GAAI,KAAK,OAAO,KAAG,cAoB5C,CAAC"}
@@ -74,13 +74,27 @@ export const createMetaBuilder = () => {
74
74
  * file (Codex review §1 follow-up). `env` is shared by reference
75
75
  * with the runner; re-reading at emit time observes any side-
76
76
  * effecting load.
77
+ *
78
+ * `extraSecrets` carries the v0.3-M21 cli-design §7.4.3 redaction-
79
+ * runtime extension — `program.ts`'s preAction hook reads the
80
+ * credentials file once and pushes every per-profile `access_token`
81
+ * onto `ctx.runtimeSecrets`; callers thread that array through so a
82
+ * cached token landing in `Error.message` / `Error.stack` is scrubbed
83
+ * even when no env token is set (e.g., the credentials-cache-only
84
+ * flow where `monday auth login --profile work` is the user's only
85
+ * token source).
77
86
  */
78
- export const collectSecrets = (env) => {
87
+ export const collectSecrets = (env, extraSecrets = []) => {
79
88
  const out = [];
80
89
  const token = env.MONDAY_API_TOKEN;
81
90
  if (token !== undefined && token.length > 0) {
82
91
  out.push(token);
83
92
  }
93
+ for (const extra of extraSecrets) {
94
+ if (extra.length > 0) {
95
+ out.push(extra);
96
+ }
97
+ }
84
98
  return out;
85
99
  };
86
100
  /**
@@ -109,7 +123,7 @@ export const buildBaseMeta = (inputs) => buildMeta({
109
123
  export const writeErrorEnvelope = (err, options) => {
110
124
  const envelope = buildError(err, options.meta);
111
125
  const redacted = redact(envelope, {
112
- secrets: collectSecrets(options.env),
126
+ secrets: collectSecrets(options.env, options.runtimeSecrets),
113
127
  });
114
128
  options.stderr.write(`${JSON.stringify(redacted, null, 2)}\n`);
115
129
  };
@@ -1 +1 @@
1
- {"version":3,"file":"envelope-out.js","sourceRoot":"","sources":["../../src/cli/envelope-out.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"envelope-out.js","sourceRoot":"","sources":["../../src/cli/envelope-out.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"program.d.ts","sourceRoot":"","sources":["../../src/cli/program.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIpC,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAEvD;;;;;GAKG;AACH,MAAM,MAAM,mBAAmB,GAAG,IAAI,CACpC,UAAU,EACR,YAAY,GACZ,gBAAgB,GAChB,QAAQ,GACR,QAAQ,GACR,eAAe,GACf,kBAAkB,CACrB,CAAC;AAEF,eAAO,MAAM,YAAY,GACvB,SAAS,mBAAmB,EAC5B,KAAK,UAAU,KACd,OAyFF,CAAC"}
1
+ {"version":3,"file":"program.d.ts","sourceRoot":"","sources":["../../src/cli/program.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAYpC,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAEvD;;;;;GAKG;AACH,MAAM,MAAM,mBAAmB,GAAG,IAAI,CACpC,UAAU,EACR,YAAY,GACZ,gBAAgB,GAChB,QAAQ,GACR,QAAQ,GACR,eAAe,GACf,kBAAkB,CACrB,CAAC;AAEF,eAAO,MAAM,YAAY,GACvB,SAAS,mBAAmB,EAC5B,KAAK,UAAU,KACd,OA+NF,CAAC"}
@@ -20,6 +20,8 @@ import { Command } from 'commander';
20
20
  import { getCommandRegistry } from '../commands/index.js';
21
21
  import { parseGlobalFlags } from '../types/global-flags.js';
22
22
  import { PINNED_API_VERSION } from '../api/client.js';
23
+ import { loadProfilesConfig, selectProfile, } from '../config/profiles.js';
24
+ import { readCredentials, resolveProfileToken, } from '../config/credentials.js';
23
25
  export const buildProgram = (options, ctx) => {
24
26
  const program = new Command();
25
27
  program
@@ -90,7 +92,7 @@ export const buildProgram = (options, ctx) => {
90
92
  // > SDK pin. We don't load config here (that surfaces a separate
91
93
  // `config_error` if the token is missing); the apiVersion override
92
94
  // is independent of token resolution.
93
- program.hook('preAction', () => {
95
+ program.hook('preAction', async (_thisCommand, actionCommand) => {
94
96
  try {
95
97
  const flags = parseGlobalFlags(program.opts(), ctx.env);
96
98
  const resolvedVersion = flags.apiVersion ??
@@ -103,6 +105,123 @@ export const buildProgram = (options, ctx) => {
103
105
  // runner's catch-all will surface; the preAction hook just
104
106
  // tries best-effort.
105
107
  }
108
+ // Redaction-runtime extension per cli-design §7.4.3 (v0.3-M21).
109
+ // Reads the credentials file once and folds every per-profile
110
+ // `access_token` into `ctx.runtimeSecrets` so any unkeyed string
111
+ // occurrence (e.g., a cached token landing in `Error.message` /
112
+ // `Error.stack`) is scrubbed by the value-scan layer in
113
+ // `redact()`. Runs for EVERY command including auth verbs — an
114
+ // auth-login failure may surface a token in cause/stack, and the
115
+ // M21 canary leak-test discipline requires the secret-bag to be
116
+ // populated for those paths too. Auth verbs ARE exempt from the
117
+ // profile-resolution step below, but the redaction read runs
118
+ // first because it's profile-independent.
119
+ //
120
+ // Scrubs every profile's token, not just the active one — an
121
+ // agent running with `--profile work` may have a stale
122
+ // `personal` entry that mustn't leak either.
123
+ //
124
+ // **Best-effort redaction preload** (fail-open posture): a
125
+ // credentials-read failure (insecure permissions, malformed
126
+ // file, schema mismatch) is swallowed here so the command can
127
+ // continue. The value-scan layer then falls back to env-only
128
+ // secrets — cached tokens are NOT scrubbed via runtimeSecrets
129
+ // on this path, but the key-based filter still strips
130
+ // `access_token` keys + `Authorization` etc., and the real
131
+ // read failure surfaces as `config_error` via the later
132
+ // credentials consumer (`resolveProfileToken` for non-auth
133
+ // verbs; `setProfileCredentials` / `deleteProfileCredentials`
134
+ // for auth verbs). The deliberate fail-open choice trades a
135
+ // narrow "cached token byte-string leaked via unkeyed
136
+ // Error.message before config_error surfaces" risk for a
137
+ // safer "command always proceeds to a typed-error envelope"
138
+ // contract. Codex M21 Part 2 review pinned the wording.
139
+ const home = ctx.env.HOME !== undefined && ctx.env.HOME.length > 0
140
+ ? ctx.env.HOME
141
+ : undefined;
142
+ const homeOptions = home !== undefined ? { home, env: ctx.env } : { env: ctx.env };
143
+ try {
144
+ const credentials = await readCredentials(homeOptions);
145
+ if (credentials !== undefined) {
146
+ for (const entry of Object.values(credentials.profiles)) {
147
+ ctx.runtimeSecrets.push(entry.access_token);
148
+ }
149
+ }
150
+ }
151
+ catch {
152
+ // intentionally swallowed — see above.
153
+ }
154
+ // Profile resolution per cli-design §7.2 / §7.4 (v0.3-M21).
155
+ // Skipped for `auth login` / `auth logout` — those verbs are the
156
+ // source of credentials, not consumers; running profile
157
+ // resolution against a fresh-install (no token anywhere yet)
158
+ // would surface `config_error` BEFORE the login command had a
159
+ // chance to populate the cache.
160
+ const parent = actionCommand.parent;
161
+ if (parent !== null && parent.name() === 'auth') {
162
+ return;
163
+ }
164
+ let profileFlag;
165
+ try {
166
+ profileFlag = parseGlobalFlags(program.opts(), ctx.env).profile;
167
+ }
168
+ catch {
169
+ // Defensive: a global-flag parse failure already surfaced via the
170
+ // earlier api-version commit's catch; duplicate guard keeps
171
+ // profile resolution skipped on that path.
172
+ /* c8 ignore next */
173
+ return;
174
+ }
175
+ const envProfile = ctx.env.MONDAY_PROFILE !== undefined &&
176
+ ctx.env.MONDAY_PROFILE.length > 0
177
+ ? ctx.env.MONDAY_PROFILE
178
+ : undefined;
179
+ // Reuses the `homeOptions` resolved above for the redaction-
180
+ // runtime extension — same HOME-discovery shape, same env
181
+ // threading. Reading a non-existent config file is cheap (single
182
+ // ENOENT) so the implicit-v1 path doesn't pay for the I/O.
183
+ const config = await loadProfilesConfig(homeOptions);
184
+ if (profileFlag === undefined &&
185
+ envProfile === undefined &&
186
+ config?.default_profile === undefined) {
187
+ // Implicit-v1 path — no profile resolution needed; commands
188
+ // read MONDAY_API_TOKEN directly via loadConfig.
189
+ return;
190
+ }
191
+ const selection = selectProfile({
192
+ flag: profileFlag,
193
+ env: ctx.env,
194
+ config,
195
+ });
196
+ // Unreachable type-narrowing guard: by the time we pass the early-
197
+ // return above, at least one of flag/env/default_profile is set,
198
+ // so selectProfile returns 'named'. The guard exists to keep the
199
+ // union type safe.
200
+ /* c8 ignore start */
201
+ if (selection.mode === 'implicit_v1') {
202
+ return;
203
+ }
204
+ /* c8 ignore stop */
205
+ const resolved = await resolveProfileToken({
206
+ profileName: selection.name,
207
+ apiTokenEnvName: selection.entry.api_token_env,
208
+ }, homeOptions);
209
+ // Inject the resolved token into ctx.env so downstream
210
+ // `loadConfig`/`resolveClient` calls pick it up via the standard
211
+ // MONDAY_API_TOKEN env path. This is the M21 wiring contract;
212
+ // profile resolution is a one-shot transformation that replaces
213
+ // the env's token slot with the per-profile resolved value.
214
+ ctx.env.MONDAY_API_TOKEN = resolved.token;
215
+ // Profile-level api_version override (cli-design §7.2). The
216
+ // global `--api-version` flag still wins (already committed
217
+ // above); this fills the env slot so loadConfig sees it.
218
+ if (selection.entry.api_version !== undefined) {
219
+ const flags = parseGlobalFlags(program.opts(), ctx.env);
220
+ if (flags.apiVersion === undefined) {
221
+ ctx.env.MONDAY_API_VERSION = selection.entry.api_version;
222
+ ctx.meta.setApiVersion(selection.entry.api_version);
223
+ }
224
+ }
106
225
  });
107
226
  return program;
108
227
  };
@@ -1 +1 @@
1
- {"version":3,"file":"program.js","sourceRoot":"","sources":["../../src/cli/program.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"program.js","sourceRoot":"","sources":["../../src/cli/program.ts"],"names":[],"mappings":"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"}