monday-cli 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +439 -0
- package/LICENSE +21 -0
- package/README.md +431 -0
- package/dist/api/board-child-finder.d.ts +95 -0
- package/dist/api/board-child-finder.d.ts.map +1 -0
- package/dist/api/board-child-finder.js +89 -0
- package/dist/api/board-child-finder.js.map +1 -0
- package/dist/api/board-metadata.d.ts +162 -0
- package/dist/api/board-metadata.d.ts.map +1 -0
- package/dist/api/board-metadata.js +238 -0
- package/dist/api/board-metadata.js.map +1 -0
- package/dist/api/board-mutation-invalidation.d.ts +153 -0
- package/dist/api/board-mutation-invalidation.d.ts.map +1 -0
- package/dist/api/board-mutation-invalidation.js +136 -0
- package/dist/api/board-mutation-invalidation.js.map +1 -0
- package/dist/api/board-mutation-result.d.ts +97 -0
- package/dist/api/board-mutation-result.d.ts.map +1 -0
- package/dist/api/board-mutation-result.js +99 -0
- package/dist/api/board-mutation-result.js.map +1 -0
- package/dist/api/board-projection.d.ts +68 -0
- package/dist/api/board-projection.d.ts.map +1 -0
- package/dist/api/board-projection.js +79 -0
- package/dist/api/board-projection.js.map +1 -0
- package/dist/api/cache.d.ts +150 -0
- package/dist/api/cache.d.ts.map +1 -0
- package/dist/api/cache.js +418 -0
- package/dist/api/cache.js.map +1 -0
- package/dist/api/client.d.ts +162 -0
- package/dist/api/client.d.ts.map +1 -0
- package/dist/api/client.js +205 -0
- package/dist/api/client.js.map +1 -0
- package/dist/api/column-mapping.d.ts +68 -0
- package/dist/api/column-mapping.d.ts.map +1 -0
- package/dist/api/column-mapping.js +117 -0
- package/dist/api/column-mapping.js.map +1 -0
- package/dist/api/column-mutation-result.d.ts +136 -0
- package/dist/api/column-mutation-result.d.ts.map +1 -0
- package/dist/api/column-mutation-result.js +130 -0
- package/dist/api/column-mutation-result.js.map +1 -0
- package/dist/api/column-types.d.ts +215 -0
- package/dist/api/column-types.d.ts.map +1 -0
- package/dist/api/column-types.js +195 -0
- package/dist/api/column-types.js.map +1 -0
- package/dist/api/column-values.d.ts +446 -0
- package/dist/api/column-values.d.ts.map +1 -0
- package/dist/api/column-values.js +795 -0
- package/dist/api/column-values.js.map +1 -0
- package/dist/api/columns.d.ts +205 -0
- package/dist/api/columns.d.ts.map +1 -0
- package/dist/api/columns.js +343 -0
- package/dist/api/columns.js.map +1 -0
- package/dist/api/complexity.d.ts +90 -0
- package/dist/api/complexity.d.ts.map +1 -0
- package/dist/api/complexity.js +194 -0
- package/dist/api/complexity.js.map +1 -0
- package/dist/api/dates.d.ts +150 -0
- package/dist/api/dates.d.ts.map +1 -0
- package/dist/api/dates.js +490 -0
- package/dist/api/dates.js.map +1 -0
- package/dist/api/destructive-gate.d.ts +107 -0
- package/dist/api/destructive-gate.d.ts.map +1 -0
- package/dist/api/destructive-gate.js +19 -0
- package/dist/api/destructive-gate.js.map +1 -0
- package/dist/api/dry-run.d.ts +338 -0
- package/dist/api/dry-run.d.ts.map +1 -0
- package/dist/api/dry-run.js +607 -0
- package/dist/api/dry-run.js.map +1 -0
- package/dist/api/emails.d.ts +60 -0
- package/dist/api/emails.d.ts.map +1 -0
- package/dist/api/emails.js +113 -0
- package/dist/api/emails.js.map +1 -0
- package/dist/api/errors.d.ts +82 -0
- package/dist/api/errors.d.ts.map +1 -0
- package/dist/api/errors.js +434 -0
- package/dist/api/errors.js.map +1 -0
- package/dist/api/filters.d.ts +198 -0
- package/dist/api/filters.d.ts.map +1 -0
- package/dist/api/filters.js +328 -0
- package/dist/api/filters.js.map +1 -0
- package/dist/api/group-color.d.ts +33 -0
- package/dist/api/group-color.d.ts.map +1 -0
- package/dist/api/group-color.js +80 -0
- package/dist/api/group-color.js.map +1 -0
- package/dist/api/group-mutation-result.d.ts +150 -0
- package/dist/api/group-mutation-result.d.ts.map +1 -0
- package/dist/api/group-mutation-result.js +141 -0
- package/dist/api/group-mutation-result.js.map +1 -0
- package/dist/api/iso-country-codes.d.ts +45 -0
- package/dist/api/iso-country-codes.d.ts.map +1 -0
- package/dist/api/iso-country-codes.js +71 -0
- package/dist/api/iso-country-codes.js.map +1 -0
- package/dist/api/item-board-lookup.d.ts +86 -0
- package/dist/api/item-board-lookup.d.ts.map +1 -0
- package/dist/api/item-board-lookup.js +140 -0
- package/dist/api/item-board-lookup.js.map +1 -0
- package/dist/api/item-helpers.d.ts +133 -0
- package/dist/api/item-helpers.d.ts.map +1 -0
- package/dist/api/item-helpers.js +139 -0
- package/dist/api/item-helpers.js.map +1 -0
- package/dist/api/item-mutation-result.d.ts +60 -0
- package/dist/api/item-mutation-result.d.ts.map +1 -0
- package/dist/api/item-mutation-result.js +63 -0
- package/dist/api/item-mutation-result.js.map +1 -0
- package/dist/api/item-projection.d.ts +165 -0
- package/dist/api/item-projection.d.ts.map +1 -0
- package/dist/api/item-projection.js +235 -0
- package/dist/api/item-projection.js.map +1 -0
- package/dist/api/item-source-read.d.ts +45 -0
- package/dist/api/item-source-read.d.ts.map +1 -0
- package/dist/api/item-source-read.js +57 -0
- package/dist/api/item-source-read.js.map +1 -0
- package/dist/api/items-page-walker.d.ts +126 -0
- package/dist/api/items-page-walker.d.ts.map +1 -0
- package/dist/api/items-page-walker.js +256 -0
- package/dist/api/items-page-walker.js.map +1 -0
- package/dist/api/links.d.ts +70 -0
- package/dist/api/links.d.ts.map +1 -0
- package/dist/api/links.js +128 -0
- package/dist/api/links.js.map +1 -0
- package/dist/api/me-token.d.ts +52 -0
- package/dist/api/me-token.d.ts.map +1 -0
- package/dist/api/me-token.js +55 -0
- package/dist/api/me-token.js.map +1 -0
- package/dist/api/pagination.d.ts +201 -0
- package/dist/api/pagination.d.ts.map +1 -0
- package/dist/api/pagination.js +223 -0
- package/dist/api/pagination.js.map +1 -0
- package/dist/api/partial-success-mutation.d.ts +28 -0
- package/dist/api/partial-success-mutation.d.ts.map +1 -0
- package/dist/api/partial-success-mutation.js +68 -0
- package/dist/api/partial-success-mutation.js.map +1 -0
- package/dist/api/people.d.ts +182 -0
- package/dist/api/people.d.ts.map +1 -0
- package/dist/api/people.js +260 -0
- package/dist/api/people.js.map +1 -0
- package/dist/api/phones.d.ts +74 -0
- package/dist/api/phones.d.ts.map +1 -0
- package/dist/api/phones.js +167 -0
- package/dist/api/phones.js.map +1 -0
- package/dist/api/raw-document.d.ts +53 -0
- package/dist/api/raw-document.d.ts.map +1 -0
- package/dist/api/raw-document.js +177 -0
- package/dist/api/raw-document.js.map +1 -0
- package/dist/api/raw-write.d.ts +127 -0
- package/dist/api/raw-write.d.ts.map +1 -0
- package/dist/api/raw-write.js +233 -0
- package/dist/api/raw-write.js.map +1 -0
- package/dist/api/resolution-context.d.ts +32 -0
- package/dist/api/resolution-context.d.ts.map +1 -0
- package/dist/api/resolution-context.js +42 -0
- package/dist/api/resolution-context.js.map +1 -0
- package/dist/api/resolution-pass.d.ts +163 -0
- package/dist/api/resolution-pass.d.ts.map +1 -0
- package/dist/api/resolution-pass.js +254 -0
- package/dist/api/resolution-pass.js.map +1 -0
- package/dist/api/resolve-client.d.ts +69 -0
- package/dist/api/resolve-client.d.ts.map +1 -0
- package/dist/api/resolve-client.js +70 -0
- package/dist/api/resolve-client.js.map +1 -0
- package/dist/api/resolver-error-fold.d.ts +176 -0
- package/dist/api/resolver-error-fold.d.ts.map +1 -0
- package/dist/api/resolver-error-fold.js +230 -0
- package/dist/api/resolver-error-fold.js.map +1 -0
- package/dist/api/resolvers.d.ts +131 -0
- package/dist/api/resolvers.d.ts.map +1 -0
- package/dist/api/resolvers.js +262 -0
- package/dist/api/resolvers.js.map +1 -0
- package/dist/api/response-root.d.ts +65 -0
- package/dist/api/response-root.d.ts.map +1 -0
- package/dist/api/response-root.js +61 -0
- package/dist/api/response-root.js.map +1 -0
- package/dist/api/retry.d.ts +112 -0
- package/dist/api/retry.d.ts.map +1 -0
- package/dist/api/retry.js +181 -0
- package/dist/api/retry.js.map +1 -0
- package/dist/api/set-expression.d.ts +23 -0
- package/dist/api/set-expression.d.ts.map +1 -0
- package/dist/api/set-expression.js +31 -0
- package/dist/api/set-expression.js.map +1 -0
- package/dist/api/sort.d.ts +59 -0
- package/dist/api/sort.d.ts.map +1 -0
- package/dist/api/sort.js +73 -0
- package/dist/api/sort.js.map +1 -0
- package/dist/api/source-aggregator.d.ts +94 -0
- package/dist/api/source-aggregator.d.ts.map +1 -0
- package/dist/api/source-aggregator.js +111 -0
- package/dist/api/source-aggregator.js.map +1 -0
- package/dist/api/transport.d.ts +58 -0
- package/dist/api/transport.d.ts.map +1 -0
- package/dist/api/transport.js +190 -0
- package/dist/api/transport.js.map +1 -0
- package/dist/api/update-mutation-result.d.ts +133 -0
- package/dist/api/update-mutation-result.d.ts.map +1 -0
- package/dist/api/update-mutation-result.js +145 -0
- package/dist/api/update-mutation-result.js.map +1 -0
- package/dist/api/users-fan-out-mutation.d.ts +124 -0
- package/dist/api/users-fan-out-mutation.d.ts.map +1 -0
- package/dist/api/users-fan-out-mutation.js +331 -0
- package/dist/api/users-fan-out-mutation.js.map +1 -0
- package/dist/api/walk-pages.d.ts +91 -0
- package/dist/api/walk-pages.d.ts.map +1 -0
- package/dist/api/walk-pages.js +84 -0
- package/dist/api/walk-pages.js.map +1 -0
- package/dist/api/workspace-projection.d.ts +64 -0
- package/dist/api/workspace-projection.d.ts.map +1 -0
- package/dist/api/workspace-projection.js +83 -0
- package/dist/api/workspace-projection.js.map +1 -0
- package/dist/cli/envelope-out.d.ts +128 -0
- package/dist/cli/envelope-out.d.ts.map +1 -0
- package/dist/cli/envelope-out.js +146 -0
- package/dist/cli/envelope-out.js.map +1 -0
- package/dist/cli/index.d.ts +3 -0
- package/dist/cli/index.d.ts.map +1 -0
- package/dist/cli/index.js +27 -0
- package/dist/cli/index.js.map +1 -0
- package/dist/cli/program.d.ts +29 -0
- package/dist/cli/program.d.ts.map +1 -0
- package/dist/cli/program.js +109 -0
- package/dist/cli/program.js.map +1 -0
- package/dist/cli/run.d.ts +108 -0
- package/dist/cli/run.d.ts.map +1 -0
- package/dist/cli/run.js +105 -0
- package/dist/cli/run.js.map +1 -0
- package/dist/commands/account/client-helper.d.ts +37 -0
- package/dist/commands/account/client-helper.d.ts.map +1 -0
- package/dist/commands/account/client-helper.js +55 -0
- package/dist/commands/account/client-helper.js.map +1 -0
- package/dist/commands/account/complexity.d.ts +29 -0
- package/dist/commands/account/complexity.d.ts.map +1 -0
- package/dist/commands/account/complexity.js +70 -0
- package/dist/commands/account/complexity.js.map +1 -0
- package/dist/commands/account/info.d.ts +36 -0
- package/dist/commands/account/info.d.ts.map +1 -0
- package/dist/commands/account/info.js +74 -0
- package/dist/commands/account/info.js.map +1 -0
- package/dist/commands/account/version.d.ts +44 -0
- package/dist/commands/account/version.d.ts.map +1 -0
- package/dist/commands/account/version.js +98 -0
- package/dist/commands/account/version.js.map +1 -0
- package/dist/commands/account/whoami.d.ts +34 -0
- package/dist/commands/account/whoami.d.ts.map +1 -0
- package/dist/commands/account/whoami.js +77 -0
- package/dist/commands/account/whoami.js.map +1 -0
- package/dist/commands/board/add-users.d.ts +60 -0
- package/dist/commands/board/add-users.d.ts.map +1 -0
- package/dist/commands/board/add-users.js +133 -0
- package/dist/commands/board/add-users.js.map +1 -0
- package/dist/commands/board/archive.d.ts +64 -0
- package/dist/commands/board/archive.d.ts.map +1 -0
- package/dist/commands/board/archive.js +226 -0
- package/dist/commands/board/archive.js.map +1 -0
- package/dist/commands/board/column-create.d.ts +146 -0
- package/dist/commands/board/column-create.d.ts.map +1 -0
- package/dist/commands/board/column-create.js +564 -0
- package/dist/commands/board/column-create.js.map +1 -0
- package/dist/commands/board/column-delete.d.ts +76 -0
- package/dist/commands/board/column-delete.d.ts.map +1 -0
- package/dist/commands/board/column-delete.js +224 -0
- package/dist/commands/board/column-delete.js.map +1 -0
- package/dist/commands/board/column-update.d.ts +92 -0
- package/dist/commands/board/column-update.d.ts.map +1 -0
- package/dist/commands/board/column-update.js +364 -0
- package/dist/commands/board/column-update.js.map +1 -0
- package/dist/commands/board/columns.d.ts +30 -0
- package/dist/commands/board/columns.d.ts.map +1 -0
- package/dist/commands/board/columns.js +102 -0
- package/dist/commands/board/columns.js.map +1 -0
- package/dist/commands/board/create.d.ts +67 -0
- package/dist/commands/board/create.d.ts.map +1 -0
- package/dist/commands/board/create.js +226 -0
- package/dist/commands/board/create.js.map +1 -0
- package/dist/commands/board/delete.d.ts +60 -0
- package/dist/commands/board/delete.d.ts.map +1 -0
- package/dist/commands/board/delete.js +192 -0
- package/dist/commands/board/delete.js.map +1 -0
- package/dist/commands/board/describe.d.ts +68 -0
- package/dist/commands/board/describe.d.ts.map +1 -0
- package/dist/commands/board/describe.js +241 -0
- package/dist/commands/board/describe.js.map +1 -0
- package/dist/commands/board/doctor.d.ts +108 -0
- package/dist/commands/board/doctor.d.ts.map +1 -0
- package/dist/commands/board/doctor.js +417 -0
- package/dist/commands/board/doctor.js.map +1 -0
- package/dist/commands/board/duplicate.d.ts +85 -0
- package/dist/commands/board/duplicate.d.ts.map +1 -0
- package/dist/commands/board/duplicate.js +281 -0
- package/dist/commands/board/duplicate.js.map +1 -0
- package/dist/commands/board/find.d.ts +47 -0
- package/dist/commands/board/find.d.ts.map +1 -0
- package/dist/commands/board/find.js +153 -0
- package/dist/commands/board/find.js.map +1 -0
- package/dist/commands/board/get.d.ts +41 -0
- package/dist/commands/board/get.d.ts.map +1 -0
- package/dist/commands/board/get.js +66 -0
- package/dist/commands/board/get.js.map +1 -0
- package/dist/commands/board/group-archive.d.ts +83 -0
- package/dist/commands/board/group-archive.d.ts.map +1 -0
- package/dist/commands/board/group-archive.js +264 -0
- package/dist/commands/board/group-archive.js.map +1 -0
- package/dist/commands/board/group-create.d.ts +118 -0
- package/dist/commands/board/group-create.d.ts.map +1 -0
- package/dist/commands/board/group-create.js +239 -0
- package/dist/commands/board/group-create.js.map +1 -0
- package/dist/commands/board/group-delete.d.ts +79 -0
- package/dist/commands/board/group-delete.d.ts.map +1 -0
- package/dist/commands/board/group-delete.js +222 -0
- package/dist/commands/board/group-delete.js.map +1 -0
- package/dist/commands/board/group-duplicate.d.ts +70 -0
- package/dist/commands/board/group-duplicate.d.ts.map +1 -0
- package/dist/commands/board/group-duplicate.js +219 -0
- package/dist/commands/board/group-duplicate.js.map +1 -0
- package/dist/commands/board/group-update.d.ts +145 -0
- package/dist/commands/board/group-update.d.ts.map +1 -0
- package/dist/commands/board/group-update.js +341 -0
- package/dist/commands/board/group-update.js.map +1 -0
- package/dist/commands/board/groups.d.ts +28 -0
- package/dist/commands/board/groups.d.ts.map +1 -0
- package/dist/commands/board/groups.js +85 -0
- package/dist/commands/board/groups.js.map +1 -0
- package/dist/commands/board/list.d.ts +39 -0
- package/dist/commands/board/list.d.ts.map +1 -0
- package/dist/commands/board/list.js +135 -0
- package/dist/commands/board/list.js.map +1 -0
- package/dist/commands/board/subscribers.d.ts +24 -0
- package/dist/commands/board/subscribers.d.ts.map +1 -0
- package/dist/commands/board/subscribers.js +89 -0
- package/dist/commands/board/subscribers.js.map +1 -0
- package/dist/commands/board/update.d.ts +82 -0
- package/dist/commands/board/update.d.ts.map +1 -0
- package/dist/commands/board/update.js +328 -0
- package/dist/commands/board/update.js.map +1 -0
- package/dist/commands/cache/clear.d.ts +34 -0
- package/dist/commands/cache/clear.d.ts.map +1 -0
- package/dist/commands/cache/clear.js +113 -0
- package/dist/commands/cache/clear.js.map +1 -0
- package/dist/commands/cache/list.d.ts +50 -0
- package/dist/commands/cache/list.d.ts.map +1 -0
- package/dist/commands/cache/list.js +77 -0
- package/dist/commands/cache/list.js.map +1 -0
- package/dist/commands/cache/stats.d.ts +22 -0
- package/dist/commands/cache/stats.d.ts.map +1 -0
- package/dist/commands/cache/stats.js +56 -0
- package/dist/commands/cache/stats.js.map +1 -0
- package/dist/commands/config/path.d.ts +22 -0
- package/dist/commands/config/path.d.ts.map +1 -0
- package/dist/commands/config/path.js +74 -0
- package/dist/commands/config/path.js.map +1 -0
- package/dist/commands/config/show.d.ts +61 -0
- package/dist/commands/config/show.d.ts.map +1 -0
- package/dist/commands/config/show.js +137 -0
- package/dist/commands/config/show.js.map +1 -0
- package/dist/commands/emit.d.ts +156 -0
- package/dist/commands/emit.d.ts.map +1 -0
- package/dist/commands/emit.js +212 -0
- package/dist/commands/emit.js.map +1 -0
- package/dist/commands/index.d.ts +5 -0
- package/dist/commands/index.d.ts.map +1 -0
- package/dist/commands/index.js +195 -0
- package/dist/commands/index.js.map +1 -0
- package/dist/commands/item/archive.d.ts +81 -0
- package/dist/commands/item/archive.d.ts.map +1 -0
- package/dist/commands/item/archive.js +187 -0
- package/dist/commands/item/archive.js.map +1 -0
- package/dist/commands/item/clear.d.ts +140 -0
- package/dist/commands/item/clear.d.ts.map +1 -0
- package/dist/commands/item/clear.js +748 -0
- package/dist/commands/item/clear.js.map +1 -0
- package/dist/commands/item/create.d.ts +77 -0
- package/dist/commands/item/create.d.ts.map +1 -0
- package/dist/commands/item/create.js +802 -0
- package/dist/commands/item/create.js.map +1 -0
- package/dist/commands/item/delete.d.ts +82 -0
- package/dist/commands/item/delete.d.ts.map +1 -0
- package/dist/commands/item/delete.js +179 -0
- package/dist/commands/item/delete.js.map +1 -0
- package/dist/commands/item/duplicate.d.ts +117 -0
- package/dist/commands/item/duplicate.d.ts.map +1 -0
- package/dist/commands/item/duplicate.js +238 -0
- package/dist/commands/item/duplicate.js.map +1 -0
- package/dist/commands/item/find.d.ts +55 -0
- package/dist/commands/item/find.d.ts.map +1 -0
- package/dist/commands/item/find.js +231 -0
- package/dist/commands/item/find.js.map +1 -0
- package/dist/commands/item/get.d.ts +47 -0
- package/dist/commands/item/get.d.ts.map +1 -0
- package/dist/commands/item/get.js +66 -0
- package/dist/commands/item/get.js.map +1 -0
- package/dist/commands/item/list.d.ts +73 -0
- package/dist/commands/item/list.d.ts.map +1 -0
- package/dist/commands/item/list.js +284 -0
- package/dist/commands/item/list.js.map +1 -0
- package/dist/commands/item/move.d.ts +181 -0
- package/dist/commands/item/move.d.ts.map +1 -0
- package/dist/commands/item/move.js +560 -0
- package/dist/commands/item/move.js.map +1 -0
- package/dist/commands/item/search.d.ts +67 -0
- package/dist/commands/item/search.d.ts.map +1 -0
- package/dist/commands/item/search.js +322 -0
- package/dist/commands/item/search.js.map +1 -0
- package/dist/commands/item/set.d.ts +88 -0
- package/dist/commands/item/set.d.ts.map +1 -0
- package/dist/commands/item/set.js +387 -0
- package/dist/commands/item/set.js.map +1 -0
- package/dist/commands/item/subitems.d.ts +50 -0
- package/dist/commands/item/subitems.d.ts.map +1 -0
- package/dist/commands/item/subitems.js +86 -0
- package/dist/commands/item/subitems.js.map +1 -0
- package/dist/commands/item/update.d.ts +99 -0
- package/dist/commands/item/update.d.ts.map +1 -0
- package/dist/commands/item/update.js +884 -0
- package/dist/commands/item/update.js.map +1 -0
- package/dist/commands/item/upsert.d.ts +105 -0
- package/dist/commands/item/upsert.d.ts.map +1 -0
- package/dist/commands/item/upsert.js +998 -0
- package/dist/commands/item/upsert.js.map +1 -0
- package/dist/commands/parse-argv.d.ts +20 -0
- package/dist/commands/parse-argv.d.ts.map +1 -0
- package/dist/commands/parse-argv.js +40 -0
- package/dist/commands/parse-argv.js.map +1 -0
- package/dist/commands/raw/index.d.ts +23 -0
- package/dist/commands/raw/index.d.ts.map +1 -0
- package/dist/commands/raw/index.js +416 -0
- package/dist/commands/raw/index.js.map +1 -0
- package/dist/commands/run-by-id-lookup.d.ts +72 -0
- package/dist/commands/run-by-id-lookup.d.ts.map +1 -0
- package/dist/commands/run-by-id-lookup.js +58 -0
- package/dist/commands/run-by-id-lookup.js.map +1 -0
- package/dist/commands/schema/index.d.ts +104 -0
- package/dist/commands/schema/index.d.ts.map +1 -0
- package/dist/commands/schema/index.js +183 -0
- package/dist/commands/schema/index.js.map +1 -0
- package/dist/commands/types.d.ts +66 -0
- package/dist/commands/types.d.ts.map +1 -0
- package/dist/commands/types.js +15 -0
- package/dist/commands/types.js.map +1 -0
- package/dist/commands/update/body-source.d.ts +38 -0
- package/dist/commands/update/body-source.d.ts.map +1 -0
- package/dist/commands/update/body-source.js +80 -0
- package/dist/commands/update/body-source.js.map +1 -0
- package/dist/commands/update/clear-all.d.ts +67 -0
- package/dist/commands/update/clear-all.d.ts.map +1 -0
- package/dist/commands/update/clear-all.js +281 -0
- package/dist/commands/update/clear-all.js.map +1 -0
- package/dist/commands/update/create.d.ts +51 -0
- package/dist/commands/update/create.d.ts.map +1 -0
- package/dist/commands/update/create.js +167 -0
- package/dist/commands/update/create.js.map +1 -0
- package/dist/commands/update/delete.d.ts +53 -0
- package/dist/commands/update/delete.d.ts.map +1 -0
- package/dist/commands/update/delete.js +148 -0
- package/dist/commands/update/delete.js.map +1 -0
- package/dist/commands/update/edit.d.ts +37 -0
- package/dist/commands/update/edit.d.ts.map +1 -0
- package/dist/commands/update/edit.js +129 -0
- package/dist/commands/update/edit.js.map +1 -0
- package/dist/commands/update/get.d.ts +37 -0
- package/dist/commands/update/get.d.ts.map +1 -0
- package/dist/commands/update/get.js +92 -0
- package/dist/commands/update/get.js.map +1 -0
- package/dist/commands/update/like.d.ts +17 -0
- package/dist/commands/update/like.d.ts.map +1 -0
- package/dist/commands/update/like.js +23 -0
- package/dist/commands/update/like.js.map +1 -0
- package/dist/commands/update/list.d.ts +58 -0
- package/dist/commands/update/list.d.ts.map +1 -0
- package/dist/commands/update/list.js +322 -0
- package/dist/commands/update/list.js.map +1 -0
- package/dist/commands/update/pin.d.ts +17 -0
- package/dist/commands/update/pin.d.ts.map +1 -0
- package/dist/commands/update/pin.js +23 -0
- package/dist/commands/update/pin.js.map +1 -0
- package/dist/commands/update/reply.d.ts +47 -0
- package/dist/commands/update/reply.d.ts.map +1 -0
- package/dist/commands/update/reply.js +149 -0
- package/dist/commands/update/reply.js.map +1 -0
- package/dist/commands/update/toggle.d.ts +70 -0
- package/dist/commands/update/toggle.d.ts.map +1 -0
- package/dist/commands/update/toggle.js +118 -0
- package/dist/commands/update/toggle.js.map +1 -0
- package/dist/commands/update/unlike.d.ts +17 -0
- package/dist/commands/update/unlike.d.ts.map +1 -0
- package/dist/commands/update/unlike.js +22 -0
- package/dist/commands/update/unlike.js.map +1 -0
- package/dist/commands/update/unpin.d.ts +17 -0
- package/dist/commands/update/unpin.d.ts.map +1 -0
- package/dist/commands/update/unpin.js +21 -0
- package/dist/commands/update/unpin.js.map +1 -0
- package/dist/commands/user/get.d.ts +31 -0
- package/dist/commands/user/get.d.ts.map +1 -0
- package/dist/commands/user/get.js +81 -0
- package/dist/commands/user/get.js.map +1 -0
- package/dist/commands/user/list.d.ts +61 -0
- package/dist/commands/user/list.d.ts.map +1 -0
- package/dist/commands/user/list.js +148 -0
- package/dist/commands/user/list.js.map +1 -0
- package/dist/commands/user/me.d.ts +17 -0
- package/dist/commands/user/me.d.ts.map +1 -0
- package/dist/commands/user/me.js +49 -0
- package/dist/commands/user/me.js.map +1 -0
- package/dist/commands/workspace/add-users.d.ts +76 -0
- package/dist/commands/workspace/add-users.d.ts.map +1 -0
- package/dist/commands/workspace/add-users.js +154 -0
- package/dist/commands/workspace/add-users.js.map +1 -0
- package/dist/commands/workspace/create.d.ts +59 -0
- package/dist/commands/workspace/create.d.ts.map +1 -0
- package/dist/commands/workspace/create.js +163 -0
- package/dist/commands/workspace/create.js.map +1 -0
- package/dist/commands/workspace/delete.d.ts +67 -0
- package/dist/commands/workspace/delete.d.ts.map +1 -0
- package/dist/commands/workspace/delete.js +182 -0
- package/dist/commands/workspace/delete.js.map +1 -0
- package/dist/commands/workspace/folders.d.ts +40 -0
- package/dist/commands/workspace/folders.d.ts.map +1 -0
- package/dist/commands/workspace/folders.js +124 -0
- package/dist/commands/workspace/folders.js.map +1 -0
- package/dist/commands/workspace/get.d.ts +35 -0
- package/dist/commands/workspace/get.d.ts.map +1 -0
- package/dist/commands/workspace/get.js +62 -0
- package/dist/commands/workspace/get.js.map +1 -0
- package/dist/commands/workspace/list.d.ts +57 -0
- package/dist/commands/workspace/list.d.ts.map +1 -0
- package/dist/commands/workspace/list.js +125 -0
- package/dist/commands/workspace/list.js.map +1 -0
- package/dist/commands/workspace/remove-users.d.ts +47 -0
- package/dist/commands/workspace/remove-users.d.ts.map +1 -0
- package/dist/commands/workspace/remove-users.js +122 -0
- package/dist/commands/workspace/remove-users.js.map +1 -0
- package/dist/commands/workspace/update.d.ts +68 -0
- package/dist/commands/workspace/update.d.ts.map +1 -0
- package/dist/commands/workspace/update.js +237 -0
- package/dist/commands/workspace/update.js.map +1 -0
- package/dist/config/load.d.ts +33 -0
- package/dist/config/load.d.ts.map +1 -0
- package/dist/config/load.js +81 -0
- package/dist/config/load.js.map +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +4 -0
- package/dist/index.js.map +1 -0
- package/dist/types/global-flags.d.ts +69 -0
- package/dist/types/global-flags.d.ts.map +1 -0
- package/dist/types/global-flags.js +170 -0
- package/dist/types/global-flags.js.map +1 -0
- package/dist/types/ids.d.ts +38 -0
- package/dist/types/ids.d.ts.map +1 -0
- package/dist/types/ids.js +51 -0
- package/dist/types/ids.js.map +1 -0
- package/dist/types/json.d.ts +60 -0
- package/dist/types/json.d.ts.map +1 -0
- package/dist/types/json.js +33 -0
- package/dist/types/json.js.map +1 -0
- package/dist/utils/errors.d.ts +121 -0
- package/dist/utils/errors.d.ts.map +1 -0
- package/dist/utils/errors.js +264 -0
- package/dist/utils/errors.js.map +1 -0
- package/dist/utils/logger.d.ts +39 -0
- package/dist/utils/logger.d.ts.map +1 -0
- package/dist/utils/logger.js +49 -0
- package/dist/utils/logger.js.map +1 -0
- package/dist/utils/output/envelope.d.ts +140 -0
- package/dist/utils/output/envelope.d.ts.map +1 -0
- package/dist/utils/output/envelope.js +120 -0
- package/dist/utils/output/envelope.js.map +1 -0
- package/dist/utils/output/json.d.ts +10 -0
- package/dist/utils/output/json.d.ts.map +1 -0
- package/dist/utils/output/json.js +12 -0
- package/dist/utils/output/json.js.map +1 -0
- package/dist/utils/output/ndjson.d.ts +92 -0
- package/dist/utils/output/ndjson.d.ts.map +1 -0
- package/dist/utils/output/ndjson.js +33 -0
- package/dist/utils/output/ndjson.js.map +1 -0
- package/dist/utils/output/select.d.ts +22 -0
- package/dist/utils/output/select.d.ts.map +1 -0
- package/dist/utils/output/select.js +47 -0
- package/dist/utils/output/select.js.map +1 -0
- package/dist/utils/output/table.d.ts +32 -0
- package/dist/utils/output/table.d.ts.map +1 -0
- package/dist/utils/output/table.js +133 -0
- package/dist/utils/output/table.js.map +1 -0
- package/dist/utils/output/text.d.ts +5 -0
- package/dist/utils/output/text.d.ts.map +1 -0
- package/dist/utils/output/text.js +32 -0
- package/dist/utils/output/text.js.map +1 -0
- package/dist/utils/parse-boundary.d.ts +53 -0
- package/dist/utils/parse-boundary.d.ts.map +1 -0
- package/dist/utils/parse-boundary.js +62 -0
- package/dist/utils/parse-boundary.js.map +1 -0
- package/dist/utils/redact.d.ts +54 -0
- package/dist/utils/redact.d.ts.map +1 -0
- package/dist/utils/redact.js +154 -0
- package/dist/utils/redact.js.map +1 -0
- package/dist/utils/request-id.d.ts +17 -0
- package/dist/utils/request-id.d.ts.map +1 -0
- package/dist/utils/request-id.js +26 -0
- package/dist/utils/request-id.js.map +1 -0
- package/package.json +87 -0
|
@@ -0,0 +1,364 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `monday board column-update <bid> <cid> [--title <t>]
|
|
3
|
+
* [--description <d>] [--dry-run]` — change one or more column fields
|
|
4
|
+
* (`cli-design.md` §4.3 line 1004, `v0.2-plan.md` §3 M16).
|
|
5
|
+
*
|
|
6
|
+
* **Wire shape — per-attribute fan-out across two surfaces.** Monday's
|
|
7
|
+
* column-update API splits across `change_column_title(board_id,
|
|
8
|
+
* column_id, title)` for `--title` and `change_column_metadata(
|
|
9
|
+
* board_id, column_id, column_property?: ColumnProperty, value?:
|
|
10
|
+
* String)` for `--description`. Both arguments on `change_column_
|
|
11
|
+
* metadata` are optional at the wire (SDK 14.0.0 `MutationChange_
|
|
12
|
+
* Column_MetadataArgs`); the CLI always supplies both whenever
|
|
13
|
+
* `--description` is provided (`column_property: description`,
|
|
14
|
+
* `value: <description>`). The `ColumnProperty` enum (SDK 14.0.0)
|
|
15
|
+
* carries only `title` / `description` values; the CLI routes
|
|
16
|
+
* `--title` to `change_column_title` (the more specific Monday
|
|
17
|
+
* surface) rather than to `change_column_metadata({column_property:
|
|
18
|
+
* title})`. Multi-flag invocations fan out N sequential wire calls
|
|
19
|
+
* (sequential per §8 decision 8 — parallel waits for v0.4
|
|
20
|
+
* `--concurrency`).
|
|
21
|
+
*
|
|
22
|
+
* **Whole-call envelope — no partial-success leak.** The envelope is
|
|
23
|
+
* `ok: true` only when EVERY per-field call succeeded; on any per-
|
|
24
|
+
* field failure the envelope is `ok: false` with the failed call's
|
|
25
|
+
* error code. Mirrors `board update`'s contract from M15.
|
|
26
|
+
*
|
|
27
|
+
* **Live-path partial-application caveat.** Server-side state is NOT
|
|
28
|
+
* transactional across per-attribute mutations: if call #1 succeeds
|
|
29
|
+
* and call #2 fails, fields from #1 stay committed and are NOT
|
|
30
|
+
* rolled back. Agents re-issuing after failure should re-read the
|
|
31
|
+
* column to see what landed before retrying the unapplied tail.
|
|
32
|
+
*
|
|
33
|
+
* **Data projects from the trailing call (no force-live read leg).**
|
|
34
|
+
* Monday's column-mutation responses return `Maybe<Column>` post-
|
|
35
|
+
* mutation, so the trailing call's response is authoritative for
|
|
36
|
+
* both fields — distinguishing column-update from `board update`
|
|
37
|
+
* (which forces-live because its wire response is per-attribute
|
|
38
|
+
* and a final whole-board read is needed for the projection).
|
|
39
|
+
*
|
|
40
|
+
* **Argv discipline.** At least one of `--title` / `--description` is
|
|
41
|
+
* required — zero-flag invocation surfaces as `usage_error` (exit 1)
|
|
42
|
+
* at argv-parse, before any network leg. Mirrors `board update`'s
|
|
43
|
+
* "at least one of --name / --description required" rule.
|
|
44
|
+
*
|
|
45
|
+
* **Dry-run shape** per cli-design §6.4 column-update variant: a
|
|
46
|
+
* field-level `from → to` diff per provided field. The `from` state
|
|
47
|
+
* requires a preflight `board describe`-shaped read — routed
|
|
48
|
+
* through `loadBoardMetadata` so cache hits are observable;
|
|
49
|
+
* `meta.source: 'live' | 'cache'`. When the board doesn't exist
|
|
50
|
+
* the preflight surfaces `not_found` (exit 2). When the column ID
|
|
51
|
+
* isn't on the board, the dry-run surfaces `not_found` with
|
|
52
|
+
* `details.column_id`. Cache-staleness caveat: the `from` snapshot
|
|
53
|
+
* may lag live state up to the cache TTL; pass `--no-cache` for a
|
|
54
|
+
* force-live preflight when preview freshness is critical.
|
|
55
|
+
*
|
|
56
|
+
* **Eager invalidation** (cli-design §8 fan-out call-site contract).
|
|
57
|
+
* After the per-attribute loop settles, `invalidateBoard(boardId)`
|
|
58
|
+
* fires ONCE — conditional on at least one per-attribute call having
|
|
59
|
+
* succeeded (the wire-state high-water mark). On whole-call success
|
|
60
|
+
* this is the same trigger as the single-leg case; on whole-call
|
|
61
|
+
* partial-application failure (call N+1 fails after call N
|
|
62
|
+
* succeeded), invalidation still fires because the cache must
|
|
63
|
+
* reflect the partially-applied server state. Zero-legs-succeeded
|
|
64
|
+
* skips invalidation (server state unchanged). The contract
|
|
65
|
+
* generalises cleanly to N-leg fan-out by gating on the loop's
|
|
66
|
+
* high-water-mark counter rather than per-call timing.
|
|
67
|
+
*
|
|
68
|
+
* **Idempotent: yes.** Re-applying the same field values is a no-op
|
|
69
|
+
* on Monday's side. NOT destructive (no `--yes` gate).
|
|
70
|
+
*/
|
|
71
|
+
import { z } from 'zod';
|
|
72
|
+
import { ensureSubcommand } from '../types.js';
|
|
73
|
+
import { emitDryRun, emitMutation } from '../emit.js';
|
|
74
|
+
import { resolveClient } from '../../api/resolve-client.js';
|
|
75
|
+
import { BoardIdSchema, ColumnIdSchema } from '../../types/ids.js';
|
|
76
|
+
import { parseArgv } from '../parse-argv.js';
|
|
77
|
+
import { ApiError, UsageError } from '../../utils/errors.js';
|
|
78
|
+
import { unwrapOrThrow } from '../../utils/parse-boundary.js';
|
|
79
|
+
import { withBoardInvalidationFanOut } from '../../api/board-mutation-invalidation.js';
|
|
80
|
+
import { findBoardChildOrThrow } from '../../api/board-child-finder.js';
|
|
81
|
+
import { loadBoardMetadata } from '../../api/board-metadata.js';
|
|
82
|
+
import { COLUMN_FIELDS_FRAGMENT, columnProjectionSchema, projectMutationColumn, } from '../../api/column-mutation-result.js';
|
|
83
|
+
const CHANGE_COLUMN_TITLE_MUTATION = `
|
|
84
|
+
mutation ColumnChangeTitle($boardId: ID!, $columnId: String!, $title: String!) {
|
|
85
|
+
change_column_title(board_id: $boardId, column_id: $columnId, title: $title) {
|
|
86
|
+
${COLUMN_FIELDS_FRAGMENT}
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
`;
|
|
90
|
+
const CHANGE_COLUMN_METADATA_MUTATION = `
|
|
91
|
+
mutation ColumnChangeMetadata(
|
|
92
|
+
$boardId: ID!,
|
|
93
|
+
$columnId: String!,
|
|
94
|
+
$columnProperty: ColumnProperty!,
|
|
95
|
+
$value: String!
|
|
96
|
+
) {
|
|
97
|
+
change_column_metadata(
|
|
98
|
+
board_id: $boardId,
|
|
99
|
+
column_id: $columnId,
|
|
100
|
+
column_property: $columnProperty,
|
|
101
|
+
value: $value
|
|
102
|
+
) {
|
|
103
|
+
${COLUMN_FIELDS_FRAGMENT}
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
`;
|
|
107
|
+
export const boardColumnUpdateOutputSchema = columnProjectionSchema;
|
|
108
|
+
const inputSchema = z
|
|
109
|
+
.object({
|
|
110
|
+
boardId: BoardIdSchema,
|
|
111
|
+
// Column ids are non-numeric slug strings (e.g. `status_4`,
|
|
112
|
+
// `text__1`); the branded `ColumnIdSchema` in `types/ids.ts`
|
|
113
|
+
// owns the slug-shape `min(1)` regex + the nominal brand so
|
|
114
|
+
// a future caller can't confuse a ColumnId with a GroupId at
|
|
115
|
+
// the type level.
|
|
116
|
+
columnId: ColumnIdSchema,
|
|
117
|
+
title: z
|
|
118
|
+
.string()
|
|
119
|
+
.refine((s) => s.trim().length > 0, {
|
|
120
|
+
message: '--title must be non-empty (whitespace-only is rejected)',
|
|
121
|
+
})
|
|
122
|
+
.optional(),
|
|
123
|
+
description: z.string().optional(),
|
|
124
|
+
})
|
|
125
|
+
.strict()
|
|
126
|
+
.refine((v) => v.title !== undefined || v.description !== undefined, {
|
|
127
|
+
message: 'column update requires at least one of --title / --description',
|
|
128
|
+
});
|
|
129
|
+
const titleResponseSchema = z
|
|
130
|
+
.object({
|
|
131
|
+
change_column_title: z.unknown(),
|
|
132
|
+
})
|
|
133
|
+
.loose();
|
|
134
|
+
const metadataResponseSchema = z
|
|
135
|
+
.object({
|
|
136
|
+
change_column_metadata: z.unknown(),
|
|
137
|
+
})
|
|
138
|
+
.loose();
|
|
139
|
+
// Deterministic dispatch order: title first, then description. The
|
|
140
|
+
// iteration order isn't observable on whole-call success (single
|
|
141
|
+
// envelope) but IS observable on partial-application failure
|
|
142
|
+
// (server-side state shows fields applied in order before the
|
|
143
|
+
// failure). Mirrors `board update`'s FIELD_DISPATCH_ORDER pin.
|
|
144
|
+
const FIELD_DISPATCH_ORDER = ['title', 'description'];
|
|
145
|
+
export const boardColumnUpdateCommand = {
|
|
146
|
+
name: 'board.column-update',
|
|
147
|
+
summary: 'Update one or more fields of a column',
|
|
148
|
+
examples: [
|
|
149
|
+
'monday board column-update 12345 status_4 --title "Priority"',
|
|
150
|
+
'monday board column-update 12345 status_4 --description "Owner-set urgency"',
|
|
151
|
+
'monday board column-update 12345 status_4 --title "Priority" --description "Owner-set urgency"',
|
|
152
|
+
'monday board column-update 12345 status_4 --title "Preview" --dry-run --json',
|
|
153
|
+
],
|
|
154
|
+
// Re-applying the same field values is a server-side no-op — safe
|
|
155
|
+
// to retry on transient failure. Mirrors `board update`'s rationale.
|
|
156
|
+
idempotent: true,
|
|
157
|
+
inputSchema,
|
|
158
|
+
outputSchema: boardColumnUpdateOutputSchema,
|
|
159
|
+
attach: (program, ctx) => {
|
|
160
|
+
const noun = ensureSubcommand(program, 'board', 'Board commands');
|
|
161
|
+
noun
|
|
162
|
+
.command('column-update <boardId> <columnId>')
|
|
163
|
+
.description(boardColumnUpdateCommand.summary)
|
|
164
|
+
.option('--title <t>', 'new column title')
|
|
165
|
+
.option('--description <d>', 'new column description')
|
|
166
|
+
.addHelpText('after', ['', 'Examples:', ...boardColumnUpdateCommand.examples.map((e) => ` ${e}`), ''].join('\n'))
|
|
167
|
+
.action(async (boardId, columnId, opts) => {
|
|
168
|
+
const parsed = parseArgv(boardColumnUpdateCommand.inputSchema, {
|
|
169
|
+
boardId,
|
|
170
|
+
columnId,
|
|
171
|
+
...opts,
|
|
172
|
+
});
|
|
173
|
+
const trimmedTitle = parsed.title?.trim();
|
|
174
|
+
const { client, globalFlags, apiVersion, toEmit } = resolveClient(ctx, program.opts());
|
|
175
|
+
if (globalFlags.dryRun) {
|
|
176
|
+
// Preflight `boards(ids:)` read via loadBoardMetadata so
|
|
177
|
+
// the v0.1 board-metadata cache can serve fresh entries.
|
|
178
|
+
// `meta.source: 'live' | 'cache'`. Cache-staleness caveat:
|
|
179
|
+
// `from` values may lag up to TTL; agents pass `--no-cache`
|
|
180
|
+
// when preview freshness is critical.
|
|
181
|
+
const preflight = await loadBoardMetadata({
|
|
182
|
+
client,
|
|
183
|
+
boardId: parsed.boardId,
|
|
184
|
+
env: ctx.env,
|
|
185
|
+
noCache: globalFlags.noCache,
|
|
186
|
+
});
|
|
187
|
+
// R51 lift — `findBoardChildOrThrow` consolidates the
|
|
188
|
+
// board-level read succeeded but the column ID isn't on
|
|
189
|
+
// the board → not_found-with-details.column_id carve-out
|
|
190
|
+
// shared with `group-update` + `group-archive`.
|
|
191
|
+
const current = findBoardChildOrThrow({
|
|
192
|
+
metadata: preflight.metadata,
|
|
193
|
+
kind: 'columns',
|
|
194
|
+
id: parsed.columnId,
|
|
195
|
+
boardId: parsed.boardId,
|
|
196
|
+
});
|
|
197
|
+
const diff = {};
|
|
198
|
+
if (trimmedTitle !== undefined) {
|
|
199
|
+
diff.title = { from: current.title, to: trimmedTitle };
|
|
200
|
+
}
|
|
201
|
+
if (parsed.description !== undefined) {
|
|
202
|
+
diff.description = {
|
|
203
|
+
from: current.description,
|
|
204
|
+
to: parsed.description,
|
|
205
|
+
};
|
|
206
|
+
}
|
|
207
|
+
emitDryRun({
|
|
208
|
+
ctx,
|
|
209
|
+
programOpts: program.opts(),
|
|
210
|
+
plannedChanges: [
|
|
211
|
+
{
|
|
212
|
+
operation: 'update_column',
|
|
213
|
+
board_id: parsed.boardId,
|
|
214
|
+
column_id: parsed.columnId,
|
|
215
|
+
diff,
|
|
216
|
+
},
|
|
217
|
+
],
|
|
218
|
+
source: preflight.source,
|
|
219
|
+
cacheAgeSeconds: preflight.cacheAgeSeconds,
|
|
220
|
+
warnings: [],
|
|
221
|
+
apiVersion,
|
|
222
|
+
});
|
|
223
|
+
return;
|
|
224
|
+
}
|
|
225
|
+
// Live path. Build the dispatch plan in deterministic order
|
|
226
|
+
// (title → description) so partial-application failure modes
|
|
227
|
+
// are testable.
|
|
228
|
+
const dispatchPlan = [];
|
|
229
|
+
for (const field of FIELD_DISPATCH_ORDER) {
|
|
230
|
+
if (field === 'title' && trimmedTitle !== undefined) {
|
|
231
|
+
dispatchPlan.push({ field: 'title', value: trimmedTitle });
|
|
232
|
+
}
|
|
233
|
+
else if (field === 'description' &&
|
|
234
|
+
parsed.description !== undefined) {
|
|
235
|
+
dispatchPlan.push({ field: 'description', value: parsed.description });
|
|
236
|
+
}
|
|
237
|
+
}
|
|
238
|
+
/* c8 ignore next 6 */
|
|
239
|
+
if (dispatchPlan.length === 0) {
|
|
240
|
+
throw new UsageError('column update requires at least one of --title / --description', { details: { board_id: parsed.boardId, column_id: parsed.columnId } });
|
|
241
|
+
}
|
|
242
|
+
// Fan-out: per-attribute calls in order. The R46 helper
|
|
243
|
+
// (`withBoardInvalidationFanOut`) owns the §8 high-water-
|
|
244
|
+
// mark counter and the post-loop invalidation gate; the
|
|
245
|
+
// closure here just calls `recordLegSuccess()` after each
|
|
246
|
+
// successful leg and returns `{data, response}` for the
|
|
247
|
+
// emitMutation step below. The trailing per-attribute
|
|
248
|
+
// call's response is authoritative for the projection AND
|
|
249
|
+
// for `meta.request_id` / complexity.
|
|
250
|
+
const { data: projected, response: lastResponse } = await withBoardInvalidationFanOut({
|
|
251
|
+
boardId: parsed.boardId,
|
|
252
|
+
env: ctx.env,
|
|
253
|
+
runFanOut: async ({ recordLegSuccess }) => {
|
|
254
|
+
let lastProjected;
|
|
255
|
+
let trailingResponse;
|
|
256
|
+
for (const entry of dispatchPlan) {
|
|
257
|
+
if (entry.field === 'title') {
|
|
258
|
+
const response = await client.raw(CHANGE_COLUMN_TITLE_MUTATION, {
|
|
259
|
+
boardId: parsed.boardId,
|
|
260
|
+
columnId: parsed.columnId,
|
|
261
|
+
title: entry.value,
|
|
262
|
+
}, { operationName: 'ColumnChangeTitle' });
|
|
263
|
+
const data = unwrapOrThrow(titleResponseSchema.safeParse(response.data), {
|
|
264
|
+
context: 'Monday returned a malformed ColumnChangeTitle response',
|
|
265
|
+
details: {
|
|
266
|
+
board_id: parsed.boardId,
|
|
267
|
+
column_id: parsed.columnId,
|
|
268
|
+
},
|
|
269
|
+
hint: "this is a data-integrity error in Monday's response; " +
|
|
270
|
+
'verify the mutation response shape and update the schema ' +
|
|
271
|
+
"if Monday's contract has changed.",
|
|
272
|
+
});
|
|
273
|
+
if (!('change_column_title' in data)) {
|
|
274
|
+
throw new ApiError('internal_error', `Monday's ColumnChangeTitle response is missing the change_column_title root field`, {
|
|
275
|
+
details: {
|
|
276
|
+
board_id: parsed.boardId,
|
|
277
|
+
column_id: parsed.columnId,
|
|
278
|
+
hint: "this is a schema-drift error in Monday's GraphQL " +
|
|
279
|
+
'response; verify the mutation declaration and update ' +
|
|
280
|
+
"the response schema if Monday's contract has changed.",
|
|
281
|
+
},
|
|
282
|
+
});
|
|
283
|
+
}
|
|
284
|
+
// R45 lift: null-payload guard + projection.
|
|
285
|
+
// column-update's null path uses `not_found`
|
|
286
|
+
// (Monday's idiomatic missing-or-no-access
|
|
287
|
+
// response).
|
|
288
|
+
lastProjected = projectMutationColumn({
|
|
289
|
+
raw: data.change_column_title,
|
|
290
|
+
errorCode: 'not_found',
|
|
291
|
+
errorMessage: `Monday returned no column payload from change_column_title for board ${parsed.boardId} column ${parsed.columnId}`,
|
|
292
|
+
boardId: parsed.boardId,
|
|
293
|
+
columnIdKey: 'column_id',
|
|
294
|
+
columnIdValue: parsed.columnId,
|
|
295
|
+
});
|
|
296
|
+
trailingResponse = response;
|
|
297
|
+
recordLegSuccess();
|
|
298
|
+
}
|
|
299
|
+
else {
|
|
300
|
+
const response = await client.raw(CHANGE_COLUMN_METADATA_MUTATION, {
|
|
301
|
+
boardId: parsed.boardId,
|
|
302
|
+
columnId: parsed.columnId,
|
|
303
|
+
columnProperty: 'description',
|
|
304
|
+
value: entry.value,
|
|
305
|
+
}, { operationName: 'ColumnChangeMetadata' });
|
|
306
|
+
const data = unwrapOrThrow(metadataResponseSchema.safeParse(response.data), {
|
|
307
|
+
context: 'Monday returned a malformed ColumnChangeMetadata response',
|
|
308
|
+
details: {
|
|
309
|
+
board_id: parsed.boardId,
|
|
310
|
+
column_id: parsed.columnId,
|
|
311
|
+
},
|
|
312
|
+
hint: "this is a data-integrity error in Monday's response; " +
|
|
313
|
+
'verify the mutation response shape and update the schema ' +
|
|
314
|
+
"if Monday's contract has changed.",
|
|
315
|
+
});
|
|
316
|
+
if (!('change_column_metadata' in data)) {
|
|
317
|
+
throw new ApiError('internal_error', `Monday's ColumnChangeMetadata response is missing the change_column_metadata root field`, {
|
|
318
|
+
details: {
|
|
319
|
+
board_id: parsed.boardId,
|
|
320
|
+
column_id: parsed.columnId,
|
|
321
|
+
hint: "this is a schema-drift error in Monday's GraphQL " +
|
|
322
|
+
'response; verify the mutation declaration and update ' +
|
|
323
|
+
"the response schema if Monday's contract has changed.",
|
|
324
|
+
},
|
|
325
|
+
});
|
|
326
|
+
}
|
|
327
|
+
lastProjected = projectMutationColumn({
|
|
328
|
+
raw: data.change_column_metadata,
|
|
329
|
+
errorCode: 'not_found',
|
|
330
|
+
errorMessage: `Monday returned no column payload from change_column_metadata for board ${parsed.boardId} column ${parsed.columnId}`,
|
|
331
|
+
boardId: parsed.boardId,
|
|
332
|
+
columnIdKey: 'column_id',
|
|
333
|
+
columnIdValue: parsed.columnId,
|
|
334
|
+
});
|
|
335
|
+
trailingResponse = response;
|
|
336
|
+
recordLegSuccess();
|
|
337
|
+
}
|
|
338
|
+
}
|
|
339
|
+
// Defensive — TS can't narrow that the success path
|
|
340
|
+
// always sets these (the loop only adds to dispatchPlan
|
|
341
|
+
// when at least one flag is set, and the .refine() on
|
|
342
|
+
// inputSchema enforces ≥1 flag, but the type system
|
|
343
|
+
// doesn't see the cross-block invariant).
|
|
344
|
+
/* c8 ignore next 6 */
|
|
345
|
+
if (lastProjected === undefined || trailingResponse === undefined) {
|
|
346
|
+
throw new ApiError('internal_error', 'column update completed without a trailing wire response — this is a CLI bug', { details: { board_id: parsed.boardId, column_id: parsed.columnId } });
|
|
347
|
+
}
|
|
348
|
+
return { data: lastProjected, response: trailingResponse };
|
|
349
|
+
},
|
|
350
|
+
});
|
|
351
|
+
emitMutation({
|
|
352
|
+
ctx,
|
|
353
|
+
data: projected,
|
|
354
|
+
schema: boardColumnUpdateCommand.outputSchema,
|
|
355
|
+
programOpts: program.opts(),
|
|
356
|
+
warnings: [],
|
|
357
|
+
...toEmit(lastResponse),
|
|
358
|
+
source: 'live',
|
|
359
|
+
cacheAgeSeconds: null,
|
|
360
|
+
});
|
|
361
|
+
});
|
|
362
|
+
},
|
|
363
|
+
};
|
|
364
|
+
//# sourceMappingURL=column-update.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"column-update.js","sourceRoot":"","sources":["../../../src/commands/board/column-update.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `monday board columns <bid>` — list a board's columns
|
|
3
|
+
* (`cli-design.md` §4.3, §6.3).
|
|
4
|
+
*
|
|
5
|
+
* Reads through the cached `loadBoardMetadata` so a follow-up `item set`
|
|
6
|
+
* call (M5b) doesn't pay the same fetch twice. `--no-cache` bypasses
|
|
7
|
+
* (global flag); `--include-archived` opts archived columns back into
|
|
8
|
+
* the view per §5.3 step 6.
|
|
9
|
+
*
|
|
10
|
+
* Idempotent: yes.
|
|
11
|
+
*/
|
|
12
|
+
import { z } from 'zod';
|
|
13
|
+
import { type CommandModule } from '../types.js';
|
|
14
|
+
export declare const boardColumnsOutputSchema: z.ZodArray<z.ZodObject<{
|
|
15
|
+
id: z.ZodString;
|
|
16
|
+
title: z.ZodString;
|
|
17
|
+
type: z.ZodString;
|
|
18
|
+
description: z.ZodNullable<z.ZodString>;
|
|
19
|
+
archived: z.ZodNullable<z.ZodBoolean>;
|
|
20
|
+
settings_str: z.ZodNullable<z.ZodString>;
|
|
21
|
+
width: z.ZodNullable<z.ZodNumber>;
|
|
22
|
+
}, z.core.$strict>>;
|
|
23
|
+
export type BoardColumnsOutput = z.infer<typeof boardColumnsOutputSchema>;
|
|
24
|
+
declare const inputSchema: z.ZodObject<{
|
|
25
|
+
boardId: z.core.$ZodBranded<z.ZodString, "BoardId", "out">;
|
|
26
|
+
includeArchived: z.ZodOptional<z.ZodBoolean>;
|
|
27
|
+
}, z.core.$strict>;
|
|
28
|
+
export declare const boardColumnsCommand: CommandModule<z.infer<typeof inputSchema>, BoardColumnsOutput>;
|
|
29
|
+
export {};
|
|
30
|
+
//# sourceMappingURL=columns.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"columns.d.ts","sourceRoot":"","sources":["../../../src/commands/board/columns.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAoB,KAAK,aAAa,EAAE,MAAM,aAAa,CAAC;AAmBnE,eAAO,MAAM,wBAAwB;;;;;;;;mBAA2B,CAAC;AACjE,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAE1E,QAAA,MAAM,WAAW;;;kBAKN,CAAC;AAaZ,eAAO,MAAM,mBAAmB,EAAE,aAAa,CAC7C,CAAC,CAAC,KAAK,CAAC,OAAO,WAAW,CAAC,EAC3B,kBAAkB,CAmEnB,CAAC"}
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `monday board columns <bid>` — list a board's columns
|
|
3
|
+
* (`cli-design.md` §4.3, §6.3).
|
|
4
|
+
*
|
|
5
|
+
* Reads through the cached `loadBoardMetadata` so a follow-up `item set`
|
|
6
|
+
* call (M5b) doesn't pay the same fetch twice. `--no-cache` bypasses
|
|
7
|
+
* (global flag); `--include-archived` opts archived columns back into
|
|
8
|
+
* the view per §5.3 step 6.
|
|
9
|
+
*
|
|
10
|
+
* Idempotent: yes.
|
|
11
|
+
*/
|
|
12
|
+
import { z } from 'zod';
|
|
13
|
+
import { ensureSubcommand } from '../types.js';
|
|
14
|
+
import { emitSuccess } from '../emit.js';
|
|
15
|
+
import { resolveClient } from '../../api/resolve-client.js';
|
|
16
|
+
import { BoardIdSchema } from '../../types/ids.js';
|
|
17
|
+
import { parseArgv } from '../parse-argv.js';
|
|
18
|
+
import { loadBoardMetadata } from '../../api/board-metadata.js';
|
|
19
|
+
const columnOutSchema = z
|
|
20
|
+
.object({
|
|
21
|
+
id: z.string().min(1),
|
|
22
|
+
title: z.string(),
|
|
23
|
+
type: z.string(),
|
|
24
|
+
description: z.string().nullable(),
|
|
25
|
+
archived: z.boolean().nullable(),
|
|
26
|
+
settings_str: z.string().nullable(),
|
|
27
|
+
width: z.number().nullable(),
|
|
28
|
+
})
|
|
29
|
+
.strict();
|
|
30
|
+
export const boardColumnsOutputSchema = z.array(columnOutSchema);
|
|
31
|
+
const inputSchema = z
|
|
32
|
+
.object({
|
|
33
|
+
boardId: BoardIdSchema,
|
|
34
|
+
includeArchived: z.boolean().optional(),
|
|
35
|
+
})
|
|
36
|
+
.strict();
|
|
37
|
+
const project = (cols) => cols.map((c) => ({
|
|
38
|
+
id: c.id,
|
|
39
|
+
title: c.title,
|
|
40
|
+
type: c.type,
|
|
41
|
+
description: c.description,
|
|
42
|
+
archived: c.archived,
|
|
43
|
+
settings_str: c.settings_str,
|
|
44
|
+
width: c.width,
|
|
45
|
+
}));
|
|
46
|
+
export const boardColumnsCommand = {
|
|
47
|
+
name: 'board.columns',
|
|
48
|
+
summary: "List a board's columns (cached for the M5b write path)",
|
|
49
|
+
examples: [
|
|
50
|
+
'monday board columns 12345',
|
|
51
|
+
'monday board columns 12345 --include-archived --json',
|
|
52
|
+
],
|
|
53
|
+
idempotent: true,
|
|
54
|
+
inputSchema,
|
|
55
|
+
outputSchema: boardColumnsOutputSchema,
|
|
56
|
+
attach: (program, ctx) => {
|
|
57
|
+
const noun = ensureSubcommand(program, 'board', 'Board commands');
|
|
58
|
+
noun
|
|
59
|
+
.command('columns <boardId>')
|
|
60
|
+
.description(boardColumnsCommand.summary)
|
|
61
|
+
.option('--include-archived', 'show archived columns too')
|
|
62
|
+
.addHelpText('after', ['', 'Examples:', ...boardColumnsCommand.examples.map((e) => ` ${e}`), ''].join('\n'))
|
|
63
|
+
.action(async (boardId, opts) => {
|
|
64
|
+
const parsed = parseArgv(boardColumnsCommand.inputSchema, {
|
|
65
|
+
boardId,
|
|
66
|
+
...opts,
|
|
67
|
+
});
|
|
68
|
+
const { client, globalFlags, apiVersion } = resolveClient(ctx, program.opts());
|
|
69
|
+
const result = await loadBoardMetadata({
|
|
70
|
+
client,
|
|
71
|
+
boardId: parsed.boardId,
|
|
72
|
+
env: ctx.env,
|
|
73
|
+
noCache: globalFlags.noCache,
|
|
74
|
+
});
|
|
75
|
+
const cols = parsed.includeArchived === true
|
|
76
|
+
? result.metadata.columns
|
|
77
|
+
: result.metadata.columns.filter((c) => c.archived !== true);
|
|
78
|
+
const projected = project(cols);
|
|
79
|
+
// resolveClient seeded `meta.source = 'live'`; override with
|
|
80
|
+
// the actual data origin so the (unused) error path and the
|
|
81
|
+
// success path agree.
|
|
82
|
+
ctx.meta.setSource(result.source);
|
|
83
|
+
emitSuccess({
|
|
84
|
+
ctx,
|
|
85
|
+
data: projected,
|
|
86
|
+
schema: boardColumnsCommand.outputSchema,
|
|
87
|
+
programOpts: program.opts(),
|
|
88
|
+
kind: 'collection',
|
|
89
|
+
// The board metadata payload is fetched in a single
|
|
90
|
+
// request — Monday returns every column at once — so
|
|
91
|
+
// `has_more` is unconditionally false (§6.3).
|
|
92
|
+
hasMore: false,
|
|
93
|
+
source: result.source,
|
|
94
|
+
apiVersion,
|
|
95
|
+
// Cache hits never have complexity (no GraphQL call ran).
|
|
96
|
+
complexity: result.complexity,
|
|
97
|
+
cacheAgeSeconds: result.cacheAgeSeconds,
|
|
98
|
+
});
|
|
99
|
+
});
|
|
100
|
+
},
|
|
101
|
+
};
|
|
102
|
+
//# sourceMappingURL=columns.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"columns.js","sourceRoot":"","sources":["../../../src/commands/board/columns.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `monday board create --name <n> [--workspace <wid>]
|
|
3
|
+
* [--kind public|private|share] [--template <bid>]
|
|
4
|
+
* [--description <d>] [--dry-run]` — create a new board
|
|
5
|
+
* (`cli-design.md` §4.3 line 600, `v0.2-plan.md` §3 M15).
|
|
6
|
+
*
|
|
7
|
+
* **Wire shape.** Single round-trip via `create_board(board_name,
|
|
8
|
+
* board_kind, workspace_id?, template_id?, description?)`. Monday's
|
|
9
|
+
* GraphQL signature pins `board_kind: BoardKind!` (required at the
|
|
10
|
+
* wire); the CLI defaults `--kind` to `public` when omitted so
|
|
11
|
+
* agents don't have to remember the wire constraint. `--workspace`
|
|
12
|
+
* is optional — Monday creates the board in the user's main
|
|
13
|
+
* workspace when omitted. `--template <bid>` clones from a Monday
|
|
14
|
+
* template (templates are managed via Monday's UI; the
|
|
15
|
+
* `BoardKind` enum has no `template` value, so the CLI doesn't
|
|
16
|
+
* pre-validate template-ness ahead of the wire call — non-template
|
|
17
|
+
* IDs surface a wire error re-mapped per §6.5). `--description`
|
|
18
|
+
* is optional; omitting it sends no argument and Monday's server-
|
|
19
|
+
* side default applies.
|
|
20
|
+
*
|
|
21
|
+
* **Live-envelope projection.** Returned `Board` is projected
|
|
22
|
+
* through `boardProjectionSchema` (the shape `board get` already
|
|
23
|
+
* pins post-M15). Sharing the schema keeps create / get / update /
|
|
24
|
+
* duplicate envelopes byte-identical for the same record — a
|
|
25
|
+
* downstream `monday board get <bid>` after a successful create
|
|
26
|
+
* returns the same JSON shape.
|
|
27
|
+
*
|
|
28
|
+
* **Dry-run shape** per cli-design §6.4 board-create variant:
|
|
29
|
+
* minimal `{operation: "create_board", name, workspace_id?, kind,
|
|
30
|
+
* description?, template_id?}`. No preflight read fires; the dry-
|
|
31
|
+
* run is purely argv-derived. `meta.source: 'none'`.
|
|
32
|
+
*
|
|
33
|
+
* **Idempotent: false.** Re-running creates a duplicate board with
|
|
34
|
+
* the same name. Agents needing dedupe should call
|
|
35
|
+
* `monday board list` first. NOT destructive (no `--yes` gate).
|
|
36
|
+
*/
|
|
37
|
+
import { z } from 'zod';
|
|
38
|
+
import { type CommandModule } from '../types.js';
|
|
39
|
+
import { type BoardProjection } from '../../api/board-projection.js';
|
|
40
|
+
export declare const boardCreateOutputSchema: z.ZodObject<{
|
|
41
|
+
id: z.ZodString;
|
|
42
|
+
name: z.ZodString;
|
|
43
|
+
description: z.ZodNullable<z.ZodString>;
|
|
44
|
+
state: z.ZodNullable<z.ZodString>;
|
|
45
|
+
board_kind: z.ZodNullable<z.ZodString>;
|
|
46
|
+
board_folder_id: z.ZodNullable<z.ZodString>;
|
|
47
|
+
workspace_id: z.ZodNullable<z.ZodString>;
|
|
48
|
+
url: z.ZodNullable<z.ZodString>;
|
|
49
|
+
items_count: z.ZodNullable<z.ZodNumber>;
|
|
50
|
+
updated_at: z.ZodNullable<z.ZodString>;
|
|
51
|
+
permissions: z.ZodNullable<z.ZodString>;
|
|
52
|
+
}, z.core.$strict>;
|
|
53
|
+
export type BoardCreateOutput = BoardProjection;
|
|
54
|
+
declare const inputSchema: z.ZodObject<{
|
|
55
|
+
name: z.ZodString;
|
|
56
|
+
workspace: z.ZodOptional<z.core.$ZodBranded<z.ZodString, "WorkspaceId", "out">>;
|
|
57
|
+
kind: z.ZodDefault<z.ZodEnum<{
|
|
58
|
+
public: "public";
|
|
59
|
+
private: "private";
|
|
60
|
+
share: "share";
|
|
61
|
+
}>>;
|
|
62
|
+
template: z.ZodOptional<z.core.$ZodBranded<z.ZodString, "BoardId", "out">>;
|
|
63
|
+
description: z.ZodOptional<z.ZodString>;
|
|
64
|
+
}, z.core.$strict>;
|
|
65
|
+
export declare const boardCreateCommand: CommandModule<z.infer<typeof inputSchema>, BoardCreateOutput>;
|
|
66
|
+
export {};
|
|
67
|
+
//# sourceMappingURL=create.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../../../src/commands/board/create.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAoB,KAAK,aAAa,EAAE,MAAM,aAAa,CAAC;AAOnE,OAAO,EAGL,KAAK,eAAe,EACrB,MAAM,+BAA+B,CAAC;AAuBvC,eAAO,MAAM,uBAAuB;;;;;;;;;;;;kBAAwB,CAAC;AAE7D,MAAM,MAAM,iBAAiB,GAAG,eAAe,CAAC;AAgBhD,QAAA,MAAM,WAAW;;;;;;;;;;kBAUN,CAAC;AAQZ,eAAO,MAAM,kBAAkB,EAAE,aAAa,CAC5C,CAAC,CAAC,KAAK,CAAC,OAAO,WAAW,CAAC,EAC3B,iBAAiB,CAuJlB,CAAC"}
|