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/dist/cli/run.d.ts CHANGED
@@ -3,6 +3,7 @@ import { type ExitCode } from '../utils/errors.js';
3
3
  import { type RequestIdGenerator } from '../utils/request-id.js';
4
4
  import { type MetaBuilder } from './envelope-out.js';
5
5
  import type { Transport } from '../api/transport.js';
6
+ import type { MultipartTransport } from '../api/multipart-transport.js';
6
7
  import type { CommandModule } from '../commands/types.js';
7
8
  /**
8
9
  * Testable CLI runner (`v0.1-plan.md` §3 M0).
@@ -27,6 +28,17 @@ export interface RunOptions {
27
28
  readonly cliDescription?: string;
28
29
  readonly clock?: () => Date;
29
30
  readonly transport?: Transport;
31
+ /**
32
+ * Multipart-transport seam for the v0.4-M31 asset-upload verbs
33
+ * (`item upload` / `update upload`). Mirrors `transport` for the
34
+ * JSON path: integration tests inject a `MultipartFixtureTransport`
35
+ * here so the runner-level multipart wire is deterministic. When
36
+ * unset, `commands/item/upload.ts` + `commands/update/upload.ts`
37
+ * build a real `createMultipartFetchTransport(...)` instance from
38
+ * the resolved config (mirroring `resolveClient`'s
39
+ * `ctx.transport ?? createFetchTransport(...)` shape).
40
+ */
41
+ readonly multipartTransport?: MultipartTransport;
30
42
  readonly requestIdGenerator?: RequestIdGenerator;
31
43
  /**
32
44
  * External abort source. `runWithSignals` provides one tied to
@@ -71,6 +83,14 @@ export interface RunContext {
71
83
  readonly isTTY: boolean;
72
84
  readonly clock: () => Date;
73
85
  readonly transport: Transport | undefined;
86
+ /**
87
+ * Optional multipart-transport override threaded from
88
+ * {@link RunOptions.multipartTransport}. Asset-upload action bodies
89
+ * (`item upload` / `update upload`) read this slot and fall back to
90
+ * `createMultipartFetchTransport(...)` when unset — same shape as
91
+ * `transport`'s production-vs-test split.
92
+ */
93
+ readonly multipartTransport: MultipartTransport | undefined;
74
94
  readonly requestId: string;
75
95
  readonly cliVersion: string;
76
96
  /**
@@ -90,6 +110,18 @@ export interface RunContext {
90
110
  * `envelope-out.ts` (M2.5 R2).
91
111
  */
92
112
  readonly meta: MetaBuilder;
113
+ /**
114
+ * Per-run accumulator of literal secret values to scrub from every
115
+ * emitted byte (cli-design §7.4.3 redaction-runtime extension). The
116
+ * `program.ts` preAction hook pushes every loaded credentials-file
117
+ * `access_token` value here once, before any command action runs;
118
+ * `collectSecrets(ctx.env, ctx.runtimeSecrets)` then folds those
119
+ * values into the secret-bag passed to `redact()` on every emission
120
+ * path. The field is a mutable array via a `readonly` reference —
121
+ * commands never reassign it, but the preAction hook pushes into
122
+ * it during context setup.
123
+ */
124
+ readonly runtimeSecrets: string[];
93
125
  }
94
126
  export declare const run: (options: RunOptions) => Promise<RunResult>;
95
127
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../../src/cli/run.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,KAAK,OAAO,EAAE,MAAM,WAAW,CAAC;AACzD,OAAO,EAGL,KAAK,QAAQ,EACd,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAEL,KAAK,kBAAkB,EACxB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAKL,KAAK,WAAW,EACjB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAE1D;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,CAAC;IACjC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC,UAAU,CAAC;IAChC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,cAAc,CAAC;IACvC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,cAAc,CAAC;IACvC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,cAAc,CAAC;IACvC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,IAAI,CAAC;IAC5B,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,CAAC;IAC/B,QAAQ,CAAC,kBAAkB,CAAC,EAAE,kBAAkB,CAAC;IACjD;;;;;OAKG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,CAAC;IAC9B;;;;;;;OAOG;IACH,QAAQ,CAAC,aAAa,CAAC,EAAE,SAAS,aAAa,EAAE,CAAC;IAClD;;;;;;;OAOG;IACH,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,UAAU,KAAK,IAAI,CAAC;CACzE;AAED,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;CAC7B;AAED;;;;;GAKG;AACH,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC,UAAU,CAAC;IAChC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,cAAc,CAAC;IACvC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,cAAc,CAAC;IACvC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,cAAc,CAAC;IACvC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,KAAK,EAAE,MAAM,IAAI,CAAC;IAC3B,QAAQ,CAAC,SAAS,EAAE,SAAS,GAAG,SAAS,CAAC;IAC1C,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B;;;;;OAKG;IACH,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAC7B;;;;;;;;OAQG;IACH,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;CAC5B;AAaD,eAAO,MAAM,GAAG,GAAU,SAAS,UAAU,KAAG,OAAO,CAAC,SAAS,CAuEhE,CAAC;AAEF;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,cAAc,GACzB,SAAS,UAAU,KAClB,OAAO,CAAC,SAAS,CAYnB,CAAC"}
1
+ {"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../../src/cli/run.ts"],"names":[],"mappings":"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"}
package/dist/cli/run.js CHANGED
@@ -35,10 +35,12 @@ export const run = async (options) => {
35
35
  isTTY: options.isTTY,
36
36
  clock,
37
37
  transport: options.transport,
38
+ multipartTransport: options.multipartTransport,
38
39
  requestId,
39
40
  cliVersion: options.cliVersion,
40
41
  signal: combinedSignal,
41
42
  meta,
43
+ runtimeSecrets: [],
42
44
  };
43
45
  const program = buildProgram(options, ctx);
44
46
  try {
@@ -65,6 +67,7 @@ export const run = async (options) => {
65
67
  writeErrorEnvelope(cliError, {
66
68
  stderr: options.stderr,
67
69
  env: options.env,
70
+ runtimeSecrets: ctx.runtimeSecrets,
68
71
  meta: buildBaseMeta({
69
72
  snapshot: meta.snapshot(),
70
73
  env: options.env,
@@ -1 +1 @@
1
- {"version":3,"file":"run.js","sourceRoot":"","sources":["../../src/cli/run.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"run.js","sourceRoot":"","sources":["../../src/cli/run.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,37 @@
1
+ /**
2
+ * `monday account tags` — emits the per-account tag directory
3
+ * (`cli-design.md` §4.3, M19 Commit 5).
4
+ *
5
+ * GraphQL operation(s) called (via the cache-aware loader):
6
+ * - `account { tags { id, name } }` (AccountTags) — fired on cache
7
+ * miss / expiry / `--no-cache`.
8
+ *
9
+ * Idempotent: yes — pure read.
10
+ *
11
+ * **Why this verb is M19-fold mandatory.** The `tag_not_found` error
12
+ * (cli-design §6.5, registered at `4c652d5`) emits a default hint
13
+ * pointing at `monday account tags` so an agent who hits an unknown
14
+ * tag has a self-fulfilling next step. Without this verb the hint
15
+ * would dangle. Codex round-1 P2-9 closed this question.
16
+ *
17
+ * The output schema mirrors the cache-on-disk shape — `tags: [{id,
18
+ * name}]` plus a `total` count that's redundant with `tags.length`
19
+ * but makes table rendering one-line and saves agents the count.
20
+ * `meta.source` / `meta.cache_age_seconds` / `meta.complexity`
21
+ * surface through the standard envelope so an agent can verify
22
+ * cache health on a per-call basis.
23
+ */
24
+ import { z } from 'zod';
25
+ import { type CommandModule } from '../types.js';
26
+ export declare const accountTagsOutputSchema: z.ZodObject<{
27
+ tags: z.ZodArray<z.ZodObject<{
28
+ id: z.ZodString;
29
+ name: z.ZodString;
30
+ }, z.core.$strict>>;
31
+ total: z.ZodNumber;
32
+ }, z.core.$strict>;
33
+ export type AccountTagsOutput = z.infer<typeof accountTagsOutputSchema>;
34
+ declare const inputSchema: z.ZodObject<{}, z.core.$strict>;
35
+ export declare const accountTagsCommand: CommandModule<z.infer<typeof inputSchema>, AccountTagsOutput>;
36
+ export {};
37
+ //# sourceMappingURL=tags.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tags.d.ts","sourceRoot":"","sources":["../../../src/commands/account/tags.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAoB,KAAK,aAAa,EAAE,MAAM,aAAa,CAAC;AAYnE,eAAO,MAAM,uBAAuB;;;;;;kBAKzB,CAAC;AAEZ,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAExE,QAAA,MAAM,WAAW,iCAAwB,CAAC;AAE1C,eAAO,MAAM,kBAAkB,EAAE,aAAa,CAC5C,CAAC,CAAC,KAAK,CAAC,OAAO,WAAW,CAAC,EAC3B,iBAAiB,CAgDlB,CAAC"}
@@ -0,0 +1,84 @@
1
+ /**
2
+ * `monday account tags` — emits the per-account tag directory
3
+ * (`cli-design.md` §4.3, M19 Commit 5).
4
+ *
5
+ * GraphQL operation(s) called (via the cache-aware loader):
6
+ * - `account { tags { id, name } }` (AccountTags) — fired on cache
7
+ * miss / expiry / `--no-cache`.
8
+ *
9
+ * Idempotent: yes — pure read.
10
+ *
11
+ * **Why this verb is M19-fold mandatory.** The `tag_not_found` error
12
+ * (cli-design §6.5, registered at `4c652d5`) emits a default hint
13
+ * pointing at `monday account tags` so an agent who hits an unknown
14
+ * tag has a self-fulfilling next step. Without this verb the hint
15
+ * would dangle. Codex round-1 P2-9 closed this question.
16
+ *
17
+ * The output schema mirrors the cache-on-disk shape — `tags: [{id,
18
+ * name}]` plus a `total` count that's redundant with `tags.length`
19
+ * but makes table rendering one-line and saves agents the count.
20
+ * `meta.source` / `meta.cache_age_seconds` / `meta.complexity`
21
+ * surface through the standard envelope so an agent can verify
22
+ * cache health on a per-call basis.
23
+ */
24
+ import { z } from 'zod';
25
+ import { ensureSubcommand } from '../types.js';
26
+ import { emitSuccess } from '../emit.js';
27
+ import { resolveClient } from '../../api/resolve-client.js';
28
+ import { loadAccountTags } from '../../api/tag-directory.js';
29
+ const tagSchema = z
30
+ .object({
31
+ id: z.string().min(1),
32
+ name: z.string(),
33
+ })
34
+ .strict();
35
+ export const accountTagsOutputSchema = z
36
+ .object({
37
+ tags: z.array(tagSchema),
38
+ total: z.number().int().nonnegative(),
39
+ })
40
+ .strict();
41
+ const inputSchema = z.object({}).strict();
42
+ export const accountTagsCommand = {
43
+ name: 'account.tags',
44
+ summary: 'List the per-account tag directory (cache-aware)',
45
+ examples: [
46
+ 'monday account tags',
47
+ 'monday account tags --json',
48
+ 'monday account tags --no-cache',
49
+ ],
50
+ idempotent: true,
51
+ inputSchema,
52
+ outputSchema: accountTagsOutputSchema,
53
+ attach: (program, ctx) => {
54
+ const noun = ensureSubcommand(program, 'account', 'Account commands');
55
+ noun
56
+ .command('tags')
57
+ .description(accountTagsCommand.summary)
58
+ .addHelpText('after', ['', 'Examples:', ...accountTagsCommand.examples.map((e) => ` ${e}`), ''].join('\n'))
59
+ .action(async (opts) => {
60
+ accountTagsCommand.inputSchema.parse(opts);
61
+ const { client, globalFlags, apiVersion } = resolveClient(ctx, program.opts());
62
+ const result = await loadAccountTags({
63
+ client,
64
+ env: ctx.env,
65
+ noCache: globalFlags.noCache,
66
+ });
67
+ ctx.meta.setSource(result.source);
68
+ emitSuccess({
69
+ ctx,
70
+ data: {
71
+ tags: [...result.tags],
72
+ total: result.tags.length,
73
+ },
74
+ schema: accountTagsCommand.outputSchema,
75
+ programOpts: program.opts(),
76
+ source: result.source,
77
+ apiVersion,
78
+ complexity: result.complexity,
79
+ cacheAgeSeconds: result.cacheAgeSeconds,
80
+ });
81
+ });
82
+ },
83
+ };
84
+ //# sourceMappingURL=tags.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tags.js","sourceRoot":"","sources":["../../../src/commands/account/tags.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,gBAAgB,EAAsB,MAAM,aAAa,CAAC;AACnE,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzC,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAE7D,MAAM,SAAS,GAAG,CAAC;KAChB,MAAM,CAAC;IACN,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACrB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;CACjB,CAAC;KACD,MAAM,EAAE,CAAC;AAEZ,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC;KACrC,MAAM,CAAC;IACN,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC;IACxB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE;CACtC,CAAC;KACD,MAAM,EAAE,CAAC;AAIZ,MAAM,WAAW,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;AAE1C,MAAM,CAAC,MAAM,kBAAkB,GAG3B;IACF,IAAI,EAAE,cAAc;IACpB,OAAO,EAAE,kDAAkD;IAC3D,QAAQ,EAAE;QACR,qBAAqB;QACrB,4BAA4B;QAC5B,gCAAgC;KACjC;IACD,UAAU,EAAE,IAAI;IAChB,WAAW;IACX,YAAY,EAAE,uBAAuB;IACrC,MAAM,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,EAAE;QACvB,MAAM,IAAI,GAAG,gBAAgB,CAAC,OAAO,EAAE,SAAS,EAAE,kBAAkB,CAAC,CAAC;QACtE,IAAI;aACD,OAAO,CAAC,MAAM,CAAC;aACf,WAAW,CAAC,kBAAkB,CAAC,OAAO,CAAC;aACvC,WAAW,CACV,OAAO,EACP,CAAC,EAAE,EAAE,WAAW,EAAE,GAAG,kBAAkB,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CACtF;aACA,MAAM,CAAC,KAAK,EAAE,IAAa,EAAE,EAAE;YAC9B,kBAAkB,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC3C,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,GAAG,aAAa,CACvD,GAAG,EACH,OAAO,CAAC,IAAI,EAAE,CACf,CAAC;YACF,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC;gBACnC,MAAM;gBACN,GAAG,EAAE,GAAG,CAAC,GAAG;gBACZ,OAAO,EAAE,WAAW,CAAC,OAAO;aAC7B,CAAC,CAAC;YACH,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YAClC,WAAW,CAAC;gBACV,GAAG;gBACH,IAAI,EAAE;oBACJ,IAAI,EAAE,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC;oBACtB,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM;iBAC1B;gBACD,MAAM,EAAE,kBAAkB,CAAC,YAAY;gBACvC,WAAW,EAAE,OAAO,CAAC,IAAI,EAAE;gBAC3B,MAAM,EAAE,MAAM,CAAC,MAAM;gBACrB,UAAU;gBACV,UAAU,EAAE,MAAM,CAAC,UAAU;gBAC7B,eAAe,EAAE,MAAM,CAAC,eAAe;aACxC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACP,CAAC;CACF,CAAC"}
@@ -0,0 +1,14 @@
1
+ import { z } from 'zod';
2
+ import { type CommandModule } from '../types.js';
3
+ declare const inputSchema: z.ZodObject<{
4
+ profile: z.ZodString;
5
+ }, z.core.$strict>;
6
+ declare const loginOutputSchema: z.ZodObject<{
7
+ profile: z.ZodString;
8
+ account_id: z.ZodString;
9
+ scopes: z.ZodArray<z.ZodString>;
10
+ }, z.core.$strict>;
11
+ export type AuthLoginOutput = z.infer<typeof loginOutputSchema>;
12
+ export declare const authLoginCommand: CommandModule<z.infer<typeof inputSchema>, AuthLoginOutput>;
13
+ export {};
14
+ //# sourceMappingURL=login.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"login.d.ts","sourceRoot":"","sources":["../../../src/commands/auth/login.ts"],"names":[],"mappings":"AAwBA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAoB,KAAK,aAAa,EAAE,MAAM,aAAa,CAAC;AAgCnE,QAAA,MAAM,WAAW;;kBAIN,CAAC;AAEZ,QAAA,MAAM,iBAAiB;;;;kBAMZ,CAAC;AAEZ,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAkHhE,eAAO,MAAM,gBAAgB,EAAE,aAAa,CAC1C,CAAC,CAAC,KAAK,CAAC,OAAO,WAAW,CAAC,EAC3B,eAAe,CAwNhB,CAAC"}
@@ -0,0 +1,314 @@
1
+ /**
2
+ * `monday auth login --profile <name>` — OAuth flow + credentials cache
3
+ * write per cli-design §7.3 / §7.4 (v0.3-plan §3 M21).
4
+ *
5
+ * **Flow shape (cli-design §7.3.1):**
6
+ *
7
+ * 1. Generate per-attempt CSRF state.
8
+ * 2. Bind a local listener on `127.0.0.1:9876` (or call the
9
+ * `__test_oauth_helper` seam when set).
10
+ * 3. Build the consent URL + open the browser; print the URL to
11
+ * stderr as a headless-friendly fallback.
12
+ * 4. Wait for the redirect.
13
+ * 5. Verify CSRF (constant-time compare; length mismatches route to
14
+ * `csrf_mismatch`, NOT `internal_error`).
15
+ * 6. Map redirect kind: `code` → exchange; `error: 'access_denied'`
16
+ * → `oauth_failed.user_denied`; any other error →
17
+ * `oauth_failed.authorization_failed`.
18
+ * 7. Exchange the code at `/oauth2/token`.
19
+ * 8. Query `account { id }` with the new token to populate the
20
+ * success envelope's `account_id`.
21
+ * 9. Persist via {@link setProfileCredentials}.
22
+ * 10. Emit success envelope (token NEVER in `data` per §7.4.3).
23
+ */
24
+ import { spawn } from 'node:child_process';
25
+ import { z } from 'zod';
26
+ import { ensureSubcommand } from '../types.js';
27
+ import { ApiError, UsageError } from '../../utils/errors.js';
28
+ import { unwrapOrThrow } from '../../utils/parse-boundary.js';
29
+ import { parseGlobalFlags } from '../../types/global-flags.js';
30
+ import { emitSuccess } from '../emit.js';
31
+ import { bindOAuthListener, exchangeCode, generateOAuthState, verifyCsrf, OAUTH_AUTHORIZE_URL, OAUTH_CALLBACK_PATH, OAUTH_CLIENT_ID, OAUTH_CLIENT_SECRET, OAUTH_UNREGISTERED_PLACEHOLDER, OAUTH_DEFAULT_REQUESTED_SCOPES, } from '../../api/oauth.js';
32
+ import { buildTestOAuthListener, readTestOAuthFixture, TEST_OAUTH_HELPER_ENV_VAR, } from '../../api/oauth-test-helper.js';
33
+ import { setProfileCredentials, } from '../../config/credentials.js';
34
+ import { createFetchTransport } from '../../api/transport.js';
35
+ import { MondayClient, PINNED_API_VERSION } from '../../api/client.js';
36
+ const inputSchema = z
37
+ .object({
38
+ profile: z.string().min(1),
39
+ })
40
+ .strict();
41
+ const loginOutputSchema = z
42
+ .object({
43
+ profile: z.string().min(1),
44
+ account_id: z.string().min(1),
45
+ scopes: z.array(z.string()),
46
+ })
47
+ .strict();
48
+ const accountIdQuery = 'query AuthLoginAccountId { account { id } }';
49
+ const accountIdResponseSchema = z
50
+ .object({
51
+ account: z
52
+ .object({
53
+ id: z.string().min(1),
54
+ })
55
+ .loose(),
56
+ })
57
+ .loose();
58
+ /**
59
+ * Best-effort browser-open via the platform's default opener. Spawned
60
+ * detached + unref'd so a missing opener doesn't keep the parent
61
+ * process alive. Returns `true` if the spawn appeared to start; the
62
+ * fallback URL print runs regardless so headless boxes still see the
63
+ * link.
64
+ */
65
+ /* c8 ignore start — production-only browser-open path; tests bypass
66
+ it via the __test_oauth_helper seam. */
67
+ const tryOpenBrowser = (url) => {
68
+ const opener = process.platform === 'darwin'
69
+ ? 'open'
70
+ : process.platform === 'win32'
71
+ ? 'start'
72
+ : 'xdg-open';
73
+ try {
74
+ const child = spawn(opener, [url], {
75
+ detached: true,
76
+ stdio: 'ignore',
77
+ });
78
+ child.unref();
79
+ child.on('error', () => {
80
+ // Swallow — the URL print covers headless boxes.
81
+ });
82
+ return true;
83
+ }
84
+ catch {
85
+ return false;
86
+ }
87
+ };
88
+ /* c8 ignore stop */
89
+ /**
90
+ * Fetches `account { id }` with the just-obtained token. Honours
91
+ * `ctx.transport` if present (test path) — production builds a fresh
92
+ * `FetchTransport` carrying the new token.
93
+ */
94
+ const fetchAccountId = async (accessToken, ctx) => {
95
+ // Tests inject `ctx.transport` (FixtureTransport); production hits
96
+ // the `createFetchTransport` fallback to issue a fresh client
97
+ // carrying the just-obtained OAuth token.
98
+ /* c8 ignore next 8 */
99
+ const transport = ctx.transport ??
100
+ createFetchTransport({
101
+ endpoint: 'https://api.monday.com/v2',
102
+ apiToken: accessToken,
103
+ apiVersion: PINNED_API_VERSION,
104
+ timeoutMs: 30_000,
105
+ });
106
+ const client = new MondayClient({
107
+ transport,
108
+ signal: ctx.signal,
109
+ retries: 0,
110
+ verbose: false,
111
+ });
112
+ const response = await client.raw(accountIdQuery, undefined, {
113
+ operationName: 'AuthLoginAccountId',
114
+ });
115
+ // R-NEW-19 lift — canonical parse-failure via `unwrapOrThrow`;
116
+ // Monday's `account { id }` surface is contract-stable so this
117
+ // path stays defensive (c8-ignore-wrapped — the helper itself is
118
+ // tested end-to-end, the per-site failure is not reachable from
119
+ // unit tests).
120
+ /* c8 ignore start */
121
+ const parsedData = unwrapOrThrow(accountIdResponseSchema.safeParse(response.data), {
122
+ context: 'post-OAuth `account { id }` response',
123
+ });
124
+ return parsedData.account.id;
125
+ /* c8 ignore stop */
126
+ };
127
+ const credentialsHomeOptions = (ctx) => {
128
+ const home = ctx.env.HOME;
129
+ // The HOME-undefined arm falls through to homedir() inside
130
+ // resolveCredentialsPath; testing it would write to the user's
131
+ // real ~/.monday-cli/credentials, so the branch is production-only.
132
+ /* c8 ignore next 3 */
133
+ return home !== undefined && home.length > 0
134
+ ? { home, env: ctx.env }
135
+ : { env: ctx.env };
136
+ };
137
+ const buildConsentUrl = (state, redirectUri) => {
138
+ const url = new URL(OAUTH_AUTHORIZE_URL);
139
+ url.searchParams.set('client_id', OAUTH_CLIENT_ID);
140
+ url.searchParams.set('redirect_uri', redirectUri);
141
+ url.searchParams.set('state', state);
142
+ url.searchParams.set('scope', OAUTH_DEFAULT_REQUESTED_SCOPES.join(' '));
143
+ return url.toString();
144
+ };
145
+ export const authLoginCommand = {
146
+ name: 'auth.login',
147
+ summary: 'OAuth flow that writes a per-profile credentials cache entry',
148
+ examples: [
149
+ 'monday auth login --profile work',
150
+ 'monday auth login --profile personal',
151
+ ],
152
+ // OAuth flow itself is non-idempotent (each `code` is single-use per
153
+ // OAuth's spec) but the credentials-write layer is idempotent
154
+ // (re-running overwrites the named profile entry per §7.3.2).
155
+ idempotent: true,
156
+ inputSchema,
157
+ outputSchema: loginOutputSchema,
158
+ attach: (program, ctx) => {
159
+ const noun = ensureSubcommand(program, 'auth', 'OAuth-issued credentials cache (cli-design §7.3 / §7.4)');
160
+ noun
161
+ .command('login')
162
+ .description(authLoginCommand.summary)
163
+ .addHelpText('after', [
164
+ '',
165
+ 'Examples:',
166
+ ...authLoginCommand.examples.map((e) => ` ${e}`),
167
+ '',
168
+ ].join('\n'))
169
+ .action(async () => {
170
+ // Production-only placeholder guard. When the shipped OAuth
171
+ // credentials are still the `<UNREGISTERED_PENDING_OAUTH_APP>`
172
+ // placeholders, the upstream `/oauth2/token` exchange would
173
+ // fail with a cryptic `oauth_failed.code_exchange_failed`.
174
+ // Surface a clear `usage_error` pointing at the API-token
175
+ // path instead. OAuth login is deferred to a future version
176
+ // per v0.3-plan §8 Decision 11 rejection. The test seam
177
+ // (`__test_oauth_helper`) bypasses this — integration tests
178
+ // stub `/oauth2/token` and don't depend on real credentials.
179
+ const helperPath = ctx.env[TEST_OAUTH_HELPER_ENV_VAR];
180
+ if (OAUTH_CLIENT_ID === OAUTH_UNREGISTERED_PLACEHOLDER &&
181
+ (helperPath === undefined || helperPath.length === 0)) {
182
+ throw new UsageError('`monday auth login` is not available in this release; authenticate via the MONDAY_API_TOKEN env var instead. OAuth login is deferred to a future version.', {
183
+ details: {
184
+ reason: 'oauth_unregistered',
185
+ hint: 'set MONDAY_API_TOKEN=<your-monday-api-token> (mint from Monday → Profile → Developers → My Access Tokens) and re-run any `monday` command without `monday auth login`',
186
+ },
187
+ });
188
+ }
189
+ const flags = parseGlobalFlags(program.opts(), ctx.env);
190
+ if (flags.profile === undefined || flags.profile.length === 0) {
191
+ throw new UsageError('`monday auth login` requires `--profile <name>` (or `MONDAY_PROFILE` env)', {
192
+ details: {
193
+ hint: 'each profile authenticates against a (possibly different) Monday account; the credentials cache is per-profile so the verb cannot infer a target.',
194
+ },
195
+ });
196
+ }
197
+ authLoginCommand.inputSchema.parse({ profile: flags.profile });
198
+ const state = generateOAuthState();
199
+ // Step 2: bind listener (or test seam).
200
+ let listener;
201
+ if (helperPath !== undefined && helperPath.length > 0) {
202
+ const fixture = await readTestOAuthFixture(helperPath);
203
+ listener = buildTestOAuthListener(fixture, state);
204
+ }
205
+ else {
206
+ // Production-only socket bind path; unit tests use the test
207
+ // seam, integration tests stub the env.
208
+ /* c8 ignore start */
209
+ listener = await bindOAuthListener();
210
+ /* c8 ignore stop */
211
+ }
212
+ try {
213
+ const redirectUri = `http://127.0.0.1:${String(
214
+ // Production listener.port > 0; only the test-helper path
215
+ // (port: 0) reaches the truthy arm.
216
+ /* c8 ignore next */
217
+ listener.port === 0 ? 9876 : listener.port)}${OAUTH_CALLBACK_PATH}`;
218
+ const consentUrl = buildConsentUrl(state, redirectUri);
219
+ // Step 3: open browser + print URL fallback. Skipped under
220
+ // the test seam (no browser to open in tests; the helper
221
+ // synthesises the redirect directly). Production-only path.
222
+ /* c8 ignore start */
223
+ if (helperPath === undefined) {
224
+ tryOpenBrowser(consentUrl);
225
+ ctx.stderr.write(`Open this URL in your browser to continue: ${consentUrl}\n`);
226
+ }
227
+ /* c8 ignore stop */
228
+ // Step 4: wait for redirect.
229
+ const payload = await listener.awaitRedirect();
230
+ // Step 5: verify CSRF.
231
+ if (!verifyCsrf(payload.state, state)) {
232
+ throw new ApiError('oauth_failed', 'CSRF state mismatch on OAuth redirect — refusing to exchange code', {
233
+ details: {
234
+ reason: 'csrf_mismatch',
235
+ hint: 're-run `monday auth login --profile <name>` to start a fresh OAuth flow',
236
+ },
237
+ });
238
+ }
239
+ // Step 6: map error redirects.
240
+ if (payload.kind === 'error') {
241
+ if (payload.error === 'access_denied') {
242
+ throw new ApiError('oauth_failed', 'OAuth authorization was denied at the consent screen', {
243
+ details: {
244
+ reason: 'user_denied',
245
+ hint: 're-run `monday auth login --profile <name>` and approve the consent screen',
246
+ },
247
+ });
248
+ }
249
+ throw new ApiError('oauth_failed', `OAuth authorization failed: ${payload.error}${payload.errorDescription !== undefined ? ` — ${payload.errorDescription}` : ''}`, {
250
+ mondayCode: payload.error,
251
+ details: {
252
+ reason: 'authorization_failed',
253
+ monday_code: payload.error,
254
+ ...(payload.errorDescription !== undefined
255
+ ? { monday_description: payload.errorDescription }
256
+ : {}),
257
+ hint: 'check the OAuth app configuration (scopes / client settings) and retry; for `temporary_unavailable`, retry shortly',
258
+ },
259
+ });
260
+ }
261
+ // Step 7: exchange code.
262
+ const tokenResponse = await exchangeCode({
263
+ code: payload.code,
264
+ redirectUri,
265
+ clientId: OAUTH_CLIENT_ID,
266
+ clientSecret: OAUTH_CLIENT_SECRET,
267
+ });
268
+ // Fold the just-obtained token into the value-scan secret
269
+ // bag BEFORE any subsequent emission can echo it. The
270
+ // preAction redaction-runtime preload (program.ts) runs
271
+ // BEFORE the OAuth exchange so the new token isn't in
272
+ // `ctx.runtimeSecrets` yet; if the post-exchange
273
+ // `account { id }` probe below fails with a GraphQL
274
+ // error.message echoing the presented Authorization
275
+ // header, the error envelope's value-scan layer needs
276
+ // this entry to scrub it (cli-design §7.4.3 — Codex
277
+ // M21 Part 2 P1 finding).
278
+ ctx.runtimeSecrets.push(tokenResponse.accessToken);
279
+ // Step 8: post-exchange `account { id }`.
280
+ const accountId = await fetchAccountId(tokenResponse.accessToken, ctx);
281
+ // Step 9: persist credentials.
282
+ const scopesArray = tokenResponse.scope
283
+ .split(' ')
284
+ .filter((s) => s.length > 0);
285
+ const entry = {
286
+ access_token: tokenResponse.accessToken,
287
+ obtained_at: ctx.clock().toISOString(),
288
+ expires_at: null,
289
+ scopes: scopesArray,
290
+ account_id: accountId,
291
+ };
292
+ await setProfileCredentials({ profileName: flags.profile, entry }, credentialsHomeOptions(ctx));
293
+ // Step 10: emit success envelope. Token NEVER in `data`.
294
+ emitSuccess({
295
+ ctx,
296
+ data: {
297
+ profile: flags.profile,
298
+ account_id: accountId,
299
+ scopes: scopesArray,
300
+ },
301
+ schema: authLoginCommand.outputSchema,
302
+ programOpts: program.opts(),
303
+ source: 'live',
304
+ apiVersion: PINNED_API_VERSION,
305
+ cacheAgeSeconds: null,
306
+ });
307
+ }
308
+ finally {
309
+ listener.close();
310
+ }
311
+ });
312
+ },
313
+ };
314
+ //# sourceMappingURL=login.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"login.js","sourceRoot":"","sources":["../../../src/commands/auth/login.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,gBAAgB,EAAsB,MAAM,aAAa,CAAC;AACnE,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzC,OAAO,EACL,iBAAiB,EACjB,YAAY,EACZ,kBAAkB,EAClB,UAAU,EACV,mBAAmB,EACnB,mBAAmB,EACnB,eAAe,EACf,mBAAmB,EACnB,8BAA8B,EAC9B,8BAA8B,GAE/B,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,sBAAsB,EACtB,oBAAoB,EACpB,yBAAyB,GAC1B,MAAM,gCAAgC,CAAC;AACxC,OAAO,EACL,qBAAqB,GAEtB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAIvE,MAAM,WAAW,GAAG,CAAC;KAClB,MAAM,CAAC;IACN,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;CAC3B,CAAC;KACD,MAAM,EAAE,CAAC;AAEZ,MAAM,iBAAiB,GAAG,CAAC;KACxB,MAAM,CAAC;IACN,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC1B,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC7B,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;CAC5B,CAAC;KACD,MAAM,EAAE,CAAC;AAIZ,MAAM,cAAc,GAAG,6CAA6C,CAAC;AAErE,MAAM,uBAAuB,GAAG,CAAC;KAC9B,MAAM,CAAC;IACN,OAAO,EAAE,CAAC;SACP,MAAM,CAAC;QACN,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;KACtB,CAAC;SACD,KAAK,EAAE;CACX,CAAC;KACD,KAAK,EAAE,CAAC;AAEX;;;;;;GAMG;AACH;0CAC0C;AAC1C,MAAM,cAAc,GAAG,CAAC,GAAW,EAAW,EAAE;IAC9C,MAAM,MAAM,GACV,OAAO,CAAC,QAAQ,KAAK,QAAQ;QAC3B,CAAC,CAAC,MAAM;QACR,CAAC,CAAC,OAAO,CAAC,QAAQ,KAAK,OAAO;YAC5B,CAAC,CAAC,OAAO;YACT,CAAC,CAAC,UAAU,CAAC;IACnB,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE;YACjC,QAAQ,EAAE,IAAI;YACd,KAAK,EAAE,QAAQ;SAChB,CAAC,CAAC;QACH,KAAK,CAAC,KAAK,EAAE,CAAC;QACd,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;YACrB,iDAAiD;QACnD,CAAC,CAAC,CAAC;QACH,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC,CAAC;AACF,oBAAoB;AAEpB;;;;GAIG;AACH,MAAM,cAAc,GAAG,KAAK,EAC1B,WAAmB,EACnB,GAAe,EACE,EAAE;IACnB,mEAAmE;IACnE,8DAA8D;IAC9D,0CAA0C;IAC1C,sBAAsB;IACtB,MAAM,SAAS,GACb,GAAG,CAAC,SAAS;QACb,oBAAoB,CAAC;YACnB,QAAQ,EAAE,2BAA2B;YACrC,QAAQ,EAAE,WAAW;YACrB,UAAU,EAAE,kBAAkB;YAC9B,SAAS,EAAE,MAAM;SAClB,CAAC,CAAC;IACL,MAAM,MAAM,GAAG,IAAI,YAAY,CAAC;QAC9B,SAAS;QACT,MAAM,EAAE,GAAG,CAAC,MAAM;QAClB,OAAO,EAAE,CAAC;QACV,OAAO,EAAE,KAAK;KACf,CAAC,CAAC;IACH,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,GAAG,CAAU,cAAc,EAAE,SAAS,EAAE;QACpE,aAAa,EAAE,oBAAoB;KACpC,CAAC,CAAC;IACH,+DAA+D;IAC/D,+DAA+D;IAC/D,iEAAiE;IACjE,gEAAgE;IAChE,eAAe;IACf,qBAAqB;IACrB,MAAM,UAAU,GAAG,aAAa,CAC9B,uBAAuB,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,EAChD;QACE,OAAO,EAAE,sCAAsC;KAChD,CACF,CAAC;IACF,OAAO,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;IAC7B,oBAAoB;AACtB,CAAC,CAAC;AAEF,MAAM,sBAAsB,GAAG,CAC7B,GAAe,EAC4B,EAAE;IAC7C,MAAM,IAAI,GAAG,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC;IAC1B,2DAA2D;IAC3D,+DAA+D;IAC/D,oEAAoE;IACpE,sBAAsB;IACtB,OAAO,IAAI,KAAK,SAAS,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC;QAC1C,CAAC,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE;QACxB,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,CAAC;AACvB,CAAC,CAAC;AAEF,MAAM,eAAe,GAAG,CAAC,KAAa,EAAE,WAAmB,EAAU,EAAE;IACrE,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,mBAAmB,CAAC,CAAC;IACzC,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,WAAW,EAAE,eAAe,CAAC,CAAC;IACnD,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,cAAc,EAAE,WAAW,CAAC,CAAC;IAClD,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IACrC,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,EAAE,8BAA8B,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IACxE,OAAO,GAAG,CAAC,QAAQ,EAAE,CAAC;AACxB,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,gBAAgB,GAGzB;IACF,IAAI,EAAE,YAAY;IAClB,OAAO,EAAE,8DAA8D;IACvE,QAAQ,EAAE;QACR,kCAAkC;QAClC,sCAAsC;KACvC;IACD,qEAAqE;IACrE,8DAA8D;IAC9D,8DAA8D;IAC9D,UAAU,EAAE,IAAI;IAChB,WAAW;IACX,YAAY,EAAE,iBAAiB;IAC/B,MAAM,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,EAAE;QACvB,MAAM,IAAI,GAAG,gBAAgB,CAC3B,OAAO,EACP,MAAM,EACN,yDAAyD,CAC1D,CAAC;QACF,IAAI;aACD,OAAO,CAAC,OAAO,CAAC;aAChB,WAAW,CAAC,gBAAgB,CAAC,OAAO,CAAC;aACrC,WAAW,CACV,OAAO,EACP;YACE,EAAE;YACF,WAAW;YACX,GAAG,gBAAgB,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;YACjD,EAAE;SACH,CAAC,IAAI,CAAC,IAAI,CAAC,CACb;aACA,MAAM,CAAC,KAAK,IAAI,EAAE;YACjB,4DAA4D;YAC5D,+DAA+D;YAC/D,4DAA4D;YAC5D,2DAA2D;YAC3D,0DAA0D;YAC1D,4DAA4D;YAC5D,wDAAwD;YACxD,4DAA4D;YAC5D,6DAA6D;YAC7D,MAAM,UAAU,GAAG,GAAG,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC;YACtD,IACE,eAAe,KAAK,8BAA8B;gBAClD,CAAC,UAAU,KAAK,SAAS,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,CAAC,EACrD,CAAC;gBACD,MAAM,IAAI,UAAU,CAClB,2JAA2J,EAC3J;oBACE,OAAO,EAAE;wBACP,MAAM,EAAE,oBAAoB;wBAC5B,IAAI,EAAE,uKAAuK;qBAC9K;iBACF,CACF,CAAC;YACJ,CAAC;YAED,MAAM,KAAK,GAAG,gBAAgB,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC;YACxD,IAAI,KAAK,CAAC,OAAO,KAAK,SAAS,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC9D,MAAM,IAAI,UAAU,CAClB,2EAA2E,EAC3E;oBACE,OAAO,EAAE;wBACP,IAAI,EAAE,mJAAmJ;qBAC1J;iBACF,CACF,CAAC;YACJ,CAAC;YACD,gBAAgB,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;YAE/D,MAAM,KAAK,GAAG,kBAAkB,EAAE,CAAC;YAEnC,wCAAwC;YACxC,IAAI,QAA6B,CAAC;YAClC,IAAI,UAAU,KAAK,SAAS,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACtD,MAAM,OAAO,GAAG,MAAM,oBAAoB,CAAC,UAAU,CAAC,CAAC;gBACvD,QAAQ,GAAG,sBAAsB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;YACpD,CAAC;iBAAM,CAAC;gBACN,4DAA4D;gBAC5D,wCAAwC;gBACxC,qBAAqB;gBACrB,QAAQ,GAAG,MAAM,iBAAiB,EAAE,CAAC;gBACrC,oBAAoB;YACtB,CAAC;YAED,IAAI,CAAC;gBACH,MAAM,WAAW,GAAG,oBAAoB,MAAM;gBAC5C,0DAA0D;gBAC1D,oCAAoC;gBACpC,oBAAoB;gBACpB,QAAQ,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAC3C,GAAG,mBAAmB,EAAE,CAAC;gBAC1B,MAAM,UAAU,GAAG,eAAe,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;gBAEvD,2DAA2D;gBAC3D,yDAAyD;gBACzD,4DAA4D;gBAC5D,qBAAqB;gBACrB,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;oBAC7B,cAAc,CAAC,UAAU,CAAC,CAAC;oBAC3B,GAAG,CAAC,MAAM,CAAC,KAAK,CACd,8CAA8C,UAAU,IAAI,CAC7D,CAAC;gBACJ,CAAC;gBACD,oBAAoB;gBAEpB,6BAA6B;gBAC7B,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,aAAa,EAAE,CAAC;gBAE/C,uBAAuB;gBACvB,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC;oBACtC,MAAM,IAAI,QAAQ,CAChB,cAAc,EACd,mEAAmE,EACnE;wBACE,OAAO,EAAE;4BACP,MAAM,EAAE,eAAe;4BACvB,IAAI,EAAE,yEAAyE;yBAChF;qBACF,CACF,CAAC;gBACJ,CAAC;gBAED,+BAA+B;gBAC/B,IAAI,OAAO,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;oBAC7B,IAAI,OAAO,CAAC,KAAK,KAAK,eAAe,EAAE,CAAC;wBACtC,MAAM,IAAI,QAAQ,CAChB,cAAc,EACd,sDAAsD,EACtD;4BACE,OAAO,EAAE;gCACP,MAAM,EAAE,aAAa;gCACrB,IAAI,EAAE,4EAA4E;6BACnF;yBACF,CACF,CAAC;oBACJ,CAAC;oBACD,MAAM,IAAI,QAAQ,CAChB,cAAc,EACd,+BAA+B,OAAO,CAAC,KAAK,GAAG,OAAO,CAAC,gBAAgB,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAC/H;wBACE,UAAU,EAAE,OAAO,CAAC,KAAK;wBACzB,OAAO,EAAE;4BACP,MAAM,EAAE,sBAAsB;4BAC9B,WAAW,EAAE,OAAO,CAAC,KAAK;4BAC1B,GAAG,CAAC,OAAO,CAAC,gBAAgB,KAAK,SAAS;gCACxC,CAAC,CAAC,EAAE,kBAAkB,EAAE,OAAO,CAAC,gBAAgB,EAAE;gCAClD,CAAC,CAAC,EAAE,CAAC;4BACP,IAAI,EAAE,oHAAoH;yBAC3H;qBACF,CACF,CAAC;gBACJ,CAAC;gBAED,yBAAyB;gBACzB,MAAM,aAAa,GAAG,MAAM,YAAY,CAAC;oBACvC,IAAI,EAAE,OAAO,CAAC,IAAI;oBAClB,WAAW;oBACX,QAAQ,EAAE,eAAe;oBACzB,YAAY,EAAE,mBAAmB;iBAClC,CAAC,CAAC;gBAEH,0DAA0D;gBAC1D,sDAAsD;gBACtD,wDAAwD;gBACxD,sDAAsD;gBACtD,iDAAiD;gBACjD,oDAAoD;gBACpD,oDAAoD;gBACpD,sDAAsD;gBACtD,oDAAoD;gBACpD,0BAA0B;gBAC1B,GAAG,CAAC,cAAc,CAAC,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;gBAEnD,0CAA0C;gBAC1C,MAAM,SAAS,GAAG,MAAM,cAAc,CACpC,aAAa,CAAC,WAAW,EACzB,GAAG,CACJ,CAAC;gBAEF,+BAA+B;gBAC/B,MAAM,WAAW,GAAG,aAAa,CAAC,KAAK;qBACpC,KAAK,CAAC,GAAG,CAAC;qBACV,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;gBAC/B,MAAM,KAAK,GAAiB;oBAC1B,YAAY,EAAE,aAAa,CAAC,WAAW;oBACvC,WAAW,EAAE,GAAG,CAAC,KAAK,EAAE,CAAC,WAAW,EAAE;oBACtC,UAAU,EAAE,IAAI;oBAChB,MAAM,EAAE,WAAW;oBACnB,UAAU,EAAE,SAAS;iBACtB,CAAC;gBACF,MAAM,qBAAqB,CACzB,EAAE,WAAW,EAAE,KAAK,CAAC,OAAO,EAAE,KAAK,EAAE,EACrC,sBAAsB,CAAC,GAAG,CAAC,CAC5B,CAAC;gBAEF,yDAAyD;gBACzD,WAAW,CAAC;oBACV,GAAG;oBACH,IAAI,EAAE;wBACJ,OAAO,EAAE,KAAK,CAAC,OAAO;wBACtB,UAAU,EAAE,SAAS;wBACrB,MAAM,EAAE,WAAW;qBACpB;oBACD,MAAM,EAAE,gBAAgB,CAAC,YAAY;oBACrC,WAAW,EAAE,OAAO,CAAC,IAAI,EAAE;oBAC3B,MAAM,EAAE,MAAM;oBACd,UAAU,EAAE,kBAAkB;oBAC9B,eAAe,EAAE,IAAI;iBACtB,CAAC,CAAC;YACL,CAAC;oBAAS,CAAC;gBACT,QAAQ,CAAC,KAAK,EAAE,CAAC;YACnB,CAAC;QACH,CAAC,CAAC,CAAC;IACP,CAAC;CACF,CAAC"}
@@ -0,0 +1,28 @@
1
+ /**
2
+ * `monday auth logout --profile <name>` — deletes the named profile's
3
+ * entry from the credentials cache per cli-design §7.3.2 (v0.3-plan
4
+ * §3 M21).
5
+ *
6
+ * Idempotent — deletes the named profile entry; no-op + `ok: true`
7
+ * with `was_present: false` on a missing entry. NOT under the
8
+ * destructive-confirmation gate (§3.1) — credential rotation is a
9
+ * routine agent operation, not data mutation requiring `--yes`.
10
+ *
11
+ * When the post-delete profiles map is empty, the credentials file
12
+ * is **still written** as `{schema_version: '1', profiles: {}}`
13
+ * rather than deleted outright (cli-design §7.3.2 — keeps the
14
+ * schema-version pin discoverable + avoids fresh-install ambiguity).
15
+ */
16
+ import { z } from 'zod';
17
+ import { type CommandModule } from '../types.js';
18
+ declare const inputSchema: z.ZodObject<{
19
+ profile: z.ZodString;
20
+ }, z.core.$strict>;
21
+ declare const logoutOutputSchema: z.ZodObject<{
22
+ profile: z.ZodString;
23
+ was_present: z.ZodBoolean;
24
+ }, z.core.$strict>;
25
+ export type AuthLogoutOutput = z.infer<typeof logoutOutputSchema>;
26
+ export declare const authLogoutCommand: CommandModule<z.infer<typeof inputSchema>, AuthLogoutOutput>;
27
+ export {};
28
+ //# sourceMappingURL=logout.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logout.d.ts","sourceRoot":"","sources":["../../../src/commands/auth/logout.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAoB,KAAK,aAAa,EAAE,MAAM,aAAa,CAAC;AAQnE,QAAA,MAAM,WAAW;;kBAIN,CAAC;AAEZ,QAAA,MAAM,kBAAkB;;;kBAKb,CAAC;AAEZ,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAelE,eAAO,MAAM,iBAAiB,EAAE,aAAa,CAC3C,CAAC,CAAC,KAAK,CAAC,OAAO,WAAW,CAAC,EAC3B,gBAAgB,CAiEjB,CAAC"}