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,226 @@
|
|
|
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 { ensureSubcommand } from '../types.js';
|
|
39
|
+
import { emitDryRun, emitMutation } from '../emit.js';
|
|
40
|
+
import { resolveClient } from '../../api/resolve-client.js';
|
|
41
|
+
import { parseArgv } from '../parse-argv.js';
|
|
42
|
+
import { ApiError } from '../../utils/errors.js';
|
|
43
|
+
import { unwrapOrThrow } from '../../utils/parse-boundary.js';
|
|
44
|
+
import { BoardIdSchema, WorkspaceIdSchema } from '../../types/ids.js';
|
|
45
|
+
import { BOARD_FIELDS_FRAGMENT, boardProjectionSchema, } from '../../api/board-projection.js';
|
|
46
|
+
import { projectMutationBoard } from '../../api/board-mutation-result.js';
|
|
47
|
+
const CREATE_BOARD_MUTATION = `
|
|
48
|
+
mutation BoardCreate(
|
|
49
|
+
$boardName: String!,
|
|
50
|
+
$boardKind: BoardKind!,
|
|
51
|
+
$workspaceId: ID,
|
|
52
|
+
$templateId: ID,
|
|
53
|
+
$description: String
|
|
54
|
+
) {
|
|
55
|
+
create_board(
|
|
56
|
+
board_name: $boardName,
|
|
57
|
+
board_kind: $boardKind,
|
|
58
|
+
workspace_id: $workspaceId,
|
|
59
|
+
template_id: $templateId,
|
|
60
|
+
description: $description
|
|
61
|
+
) {
|
|
62
|
+
${BOARD_FIELDS_FRAGMENT}
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
`;
|
|
66
|
+
export const boardCreateOutputSchema = boardProjectionSchema;
|
|
67
|
+
// Argv schema. `name` carries the same min(1)-after-trim discipline
|
|
68
|
+
// as `workspace create` / `item create` — Monday accepts whitespace-
|
|
69
|
+
// only names but they produce un-findable boards; reject at the
|
|
70
|
+
// boundary. Use `.refine()` not `.transform()` so the schema stays
|
|
71
|
+
// JSON-Schema-representable (the schema-export pipeline rejects
|
|
72
|
+
// transforms); trim happens inside the action body before the wire
|
|
73
|
+
// call.
|
|
74
|
+
//
|
|
75
|
+
// `workspace` and `template` are branded ID-shape strings; the
|
|
76
|
+
// argv-parse-time validation matches `BoardId` / `WorkspaceId`'s
|
|
77
|
+
// `/^\d+$/` regex. Per the M15 pre-flight contract (cli-design §4.3
|
|
78
|
+
// + Codex round-1 F1), the CLI does NOT pre-validate template-ness
|
|
79
|
+
// — non-template IDs surface a wire `validation_failed` mapped per
|
|
80
|
+
// §6.5.
|
|
81
|
+
const inputSchema = z
|
|
82
|
+
.object({
|
|
83
|
+
name: z.string().refine((s) => s.trim().length > 0, {
|
|
84
|
+
message: '--name must be non-empty (whitespace-only is rejected)',
|
|
85
|
+
}),
|
|
86
|
+
workspace: WorkspaceIdSchema.optional(),
|
|
87
|
+
kind: z.enum(['public', 'private', 'share']).default('public'),
|
|
88
|
+
template: BoardIdSchema.optional(),
|
|
89
|
+
description: z.string().optional(),
|
|
90
|
+
})
|
|
91
|
+
.strict();
|
|
92
|
+
const responseSchema = z
|
|
93
|
+
.object({
|
|
94
|
+
create_board: z.unknown(),
|
|
95
|
+
})
|
|
96
|
+
.loose();
|
|
97
|
+
export const boardCreateCommand = {
|
|
98
|
+
name: 'board.create',
|
|
99
|
+
summary: 'Create a new board',
|
|
100
|
+
examples: [
|
|
101
|
+
'monday board create --name "Engineering"',
|
|
102
|
+
'monday board create --name "Engineering — EU" --kind private --workspace 5 --description "EU team"',
|
|
103
|
+
'monday board create --name "Roadmap" --template 99999',
|
|
104
|
+
'monday board create --name "Preview" --dry-run --json',
|
|
105
|
+
],
|
|
106
|
+
// create_board is non-idempotent — re-running creates a second
|
|
107
|
+
// board with the same name. Mirrors `workspace create` /
|
|
108
|
+
// `item create` rationale.
|
|
109
|
+
idempotent: false,
|
|
110
|
+
inputSchema,
|
|
111
|
+
outputSchema: boardCreateOutputSchema,
|
|
112
|
+
attach: (program, ctx) => {
|
|
113
|
+
const noun = ensureSubcommand(program, 'board', 'Board commands');
|
|
114
|
+
noun
|
|
115
|
+
.command('create')
|
|
116
|
+
.description(boardCreateCommand.summary)
|
|
117
|
+
.requiredOption('--name <n>', 'board name')
|
|
118
|
+
.option('--workspace <wid>', 'workspace ID (defaults to user main workspace)')
|
|
119
|
+
.option('--kind <k>', 'board kind: public|private|share (default: public)')
|
|
120
|
+
.option('--template <bid>', 'clone from this template board ID')
|
|
121
|
+
.option('--description <d>', 'board description')
|
|
122
|
+
.addHelpText('after', ['', 'Examples:', ...boardCreateCommand.examples.map((e) => ` ${e}`), ''].join('\n'))
|
|
123
|
+
.action(async (opts) => {
|
|
124
|
+
const parsed = parseArgv(boardCreateCommand.inputSchema, opts);
|
|
125
|
+
const name = parsed.name.trim();
|
|
126
|
+
const { client, globalFlags, apiVersion, toEmit } = resolveClient(ctx, program.opts());
|
|
127
|
+
if (globalFlags.dryRun) {
|
|
128
|
+
// Per cli-design §6.4 board-create variant: minimal
|
|
129
|
+
// `{operation, name, workspace_id?, kind, description?,
|
|
130
|
+
// template_id?}`. No preflight read fires — purely argv-
|
|
131
|
+
// derived; `meta.source: 'none'`. The defaulted
|
|
132
|
+
// `kind: 'public'` is surfaced explicitly so the agent
|
|
133
|
+
// sees what the live mutation would send.
|
|
134
|
+
const planned = {
|
|
135
|
+
operation: 'create_board',
|
|
136
|
+
name,
|
|
137
|
+
kind: parsed.kind,
|
|
138
|
+
};
|
|
139
|
+
if (parsed.workspace !== undefined) {
|
|
140
|
+
planned.workspace_id = parsed.workspace;
|
|
141
|
+
}
|
|
142
|
+
if (parsed.description !== undefined) {
|
|
143
|
+
planned.description = parsed.description;
|
|
144
|
+
}
|
|
145
|
+
if (parsed.template !== undefined) {
|
|
146
|
+
planned.template_id = parsed.template;
|
|
147
|
+
}
|
|
148
|
+
emitDryRun({
|
|
149
|
+
ctx,
|
|
150
|
+
programOpts: program.opts(),
|
|
151
|
+
plannedChanges: [planned],
|
|
152
|
+
source: 'none',
|
|
153
|
+
cacheAgeSeconds: null,
|
|
154
|
+
warnings: [],
|
|
155
|
+
apiVersion,
|
|
156
|
+
});
|
|
157
|
+
return;
|
|
158
|
+
}
|
|
159
|
+
// Live path. Send each optional arg only when the agent
|
|
160
|
+
// provided one — passing `null` would explicitly clear /
|
|
161
|
+
// reject Monday's server-side default rather than letting
|
|
162
|
+
// it apply.
|
|
163
|
+
const variables = {
|
|
164
|
+
boardName: name,
|
|
165
|
+
boardKind: parsed.kind,
|
|
166
|
+
};
|
|
167
|
+
if (parsed.workspace !== undefined) {
|
|
168
|
+
variables.workspaceId = parsed.workspace;
|
|
169
|
+
}
|
|
170
|
+
if (parsed.template !== undefined) {
|
|
171
|
+
variables.templateId = parsed.template;
|
|
172
|
+
}
|
|
173
|
+
if (parsed.description !== undefined) {
|
|
174
|
+
variables.description = parsed.description;
|
|
175
|
+
}
|
|
176
|
+
const response = await client.raw(CREATE_BOARD_MUTATION, variables, { operationName: 'BoardCreate' });
|
|
177
|
+
const data = unwrapOrThrow(responseSchema.safeParse(response.data), {
|
|
178
|
+
context: 'Monday returned a malformed BoardCreate response',
|
|
179
|
+
details: { board_name: name },
|
|
180
|
+
hint: 'this is a data-integrity error in Monday\'s response; ' +
|
|
181
|
+
'verify the response shape and update responseSchema if ' +
|
|
182
|
+
'Monday\'s contract has changed.',
|
|
183
|
+
});
|
|
184
|
+
// Distinguish missing-root-key (schema-drift → internal_error
|
|
185
|
+
// with schema-drift hint) from null payload (Monday returned
|
|
186
|
+
// no board → also internal_error here since create's contract
|
|
187
|
+
// is "every successful call returns a Board"). Codex M15
|
|
188
|
+
// implementation round-2 F3 lateral propagation: each M15
|
|
189
|
+
// mutation verb's response handler distinguishes the two.
|
|
190
|
+
if (!('create_board' in data)) {
|
|
191
|
+
throw new ApiError('internal_error', `Monday's BoardCreate response is missing the create_board root field`, {
|
|
192
|
+
details: {
|
|
193
|
+
board_name: name,
|
|
194
|
+
hint: 'this is a schema-drift error in Monday\'s GraphQL ' +
|
|
195
|
+
'response; verify the mutation declaration and update ' +
|
|
196
|
+
'the response schema if Monday\'s contract has changed.',
|
|
197
|
+
},
|
|
198
|
+
});
|
|
199
|
+
}
|
|
200
|
+
// R43 lift (api/board-mutation-result.ts): null-payload
|
|
201
|
+
// guard + projection. Create's null path uses
|
|
202
|
+
// `internal_error` because the contract is "every successful
|
|
203
|
+
// call returns a Board"; the helper carries the agent-
|
|
204
|
+
// supplied `board_name` in `details` because the new id
|
|
205
|
+
// doesn't exist yet on the null path.
|
|
206
|
+
const projected = projectMutationBoard({
|
|
207
|
+
raw: data.create_board,
|
|
208
|
+
errorCode: 'internal_error',
|
|
209
|
+
errorMessage: `Monday returned no board payload from create_board for name ${JSON.stringify(name)}.`,
|
|
210
|
+
detailKey: 'board_name',
|
|
211
|
+
detailValue: name,
|
|
212
|
+
});
|
|
213
|
+
emitMutation({
|
|
214
|
+
ctx,
|
|
215
|
+
data: projected,
|
|
216
|
+
schema: boardCreateCommand.outputSchema,
|
|
217
|
+
programOpts: program.opts(),
|
|
218
|
+
warnings: [],
|
|
219
|
+
...toEmit(response),
|
|
220
|
+
source: 'live',
|
|
221
|
+
cacheAgeSeconds: null,
|
|
222
|
+
});
|
|
223
|
+
});
|
|
224
|
+
},
|
|
225
|
+
};
|
|
226
|
+
//# sourceMappingURL=create.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"create.js","sourceRoot":"","sources":["../../../src/commands/board/create.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `monday board delete <bid> --yes [--dry-run]` — delete a board
|
|
3
|
+
* (`cli-design.md` §4.3 line 705, `v0.2-plan.md` §3 M15).
|
|
4
|
+
*
|
|
5
|
+
* **Confirmation gate** (cli-design §3.1 #7 + §10.2). `--yes` is
|
|
6
|
+
* mandatory for the live path; without `--yes` (and without
|
|
7
|
+
* `--dry-run`) the command fails fast with `confirmation_required`
|
|
8
|
+
* (exit 1) carrying `details.board_id`. Same shape — and same
|
|
9
|
+
* gate-before-`resolveClient()` ordering — as `item delete` /
|
|
10
|
+
* `workspace delete` / `update delete`. R29 helper count: 6 → 7
|
|
11
|
+
* (board delete is the 7th consumer of `enforceDestructiveGate`).
|
|
12
|
+
*
|
|
13
|
+
* **Wire shape.** Single round-trip via `delete_board(board_id:
|
|
14
|
+
* ID!)`. Monday returns the deleted `Board` so the envelope's
|
|
15
|
+
* `data` is the full projection. A null result surfaces as
|
|
16
|
+
* `not_found` — the standard "id was bogus / already deleted"
|
|
17
|
+
* mapping.
|
|
18
|
+
*
|
|
19
|
+
* **Dry-run shape** per cli-design §6.4 board-delete variant:
|
|
20
|
+
* minimal `{operation: "delete_board", board_id}`. No preflight
|
|
21
|
+
* read fires; the dry-run is purely argv-derived. `meta.source:
|
|
22
|
+
* 'none'`. Same shape (modulo `board_id`) as `workspace delete` —
|
|
23
|
+
* the destructive-no-read pattern is uniform across `item delete`
|
|
24
|
+
* / `update delete` / `workspace delete` / `board delete`.
|
|
25
|
+
*
|
|
26
|
+
* **Note on board archive vs board delete divergence.** Archive
|
|
27
|
+
* carries the source snapshot (mirroring item-archive's
|
|
28
|
+
* recoverability-aware shape — soft, reversible-via-30-day-window),
|
|
29
|
+
* delete is minimal (mirroring workspace-delete's destructive-no-
|
|
30
|
+
* read shape — hard, irrecoverable past Monday's 30-day window).
|
|
31
|
+
* Both patterns are preserved.
|
|
32
|
+
*
|
|
33
|
+
* **Idempotent: false.** Re-running surfaces `not_found` past the
|
|
34
|
+
* first call. Mirrors `item delete` / `update delete` / `workspace
|
|
35
|
+
* delete` rationale — agents can't safely retry without verifying
|
|
36
|
+
* the id still names the same record.
|
|
37
|
+
*/
|
|
38
|
+
import { z } from 'zod';
|
|
39
|
+
import { type CommandModule } from '../types.js';
|
|
40
|
+
import { type BoardProjection } from '../../api/board-projection.js';
|
|
41
|
+
export declare const boardDeleteOutputSchema: z.ZodObject<{
|
|
42
|
+
id: z.ZodString;
|
|
43
|
+
name: z.ZodString;
|
|
44
|
+
description: z.ZodNullable<z.ZodString>;
|
|
45
|
+
state: z.ZodNullable<z.ZodString>;
|
|
46
|
+
board_kind: z.ZodNullable<z.ZodString>;
|
|
47
|
+
board_folder_id: z.ZodNullable<z.ZodString>;
|
|
48
|
+
workspace_id: z.ZodNullable<z.ZodString>;
|
|
49
|
+
url: z.ZodNullable<z.ZodString>;
|
|
50
|
+
items_count: z.ZodNullable<z.ZodNumber>;
|
|
51
|
+
updated_at: z.ZodNullable<z.ZodString>;
|
|
52
|
+
permissions: z.ZodNullable<z.ZodString>;
|
|
53
|
+
}, z.core.$strict>;
|
|
54
|
+
export type BoardDeleteOutput = BoardProjection;
|
|
55
|
+
declare const inputSchema: z.ZodObject<{
|
|
56
|
+
boardId: z.core.$ZodBranded<z.ZodString, "BoardId", "out">;
|
|
57
|
+
}, z.core.$strict>;
|
|
58
|
+
export declare const boardDeleteCommand: CommandModule<z.infer<typeof inputSchema>, BoardDeleteOutput>;
|
|
59
|
+
export {};
|
|
60
|
+
//# sourceMappingURL=delete.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"delete.d.ts","sourceRoot":"","sources":["../../../src/commands/board/delete.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAoB,KAAK,aAAa,EAAE,MAAM,aAAa,CAAC;AAUnE,OAAO,EAGL,KAAK,eAAe,EACrB,MAAM,+BAA+B,CAAC;AAWvC,eAAO,MAAM,uBAAuB;;;;;;;;;;;;kBAAwB,CAAC;AAC7D,MAAM,MAAM,iBAAiB,GAAG,eAAe,CAAC;AAEhD,QAAA,MAAM,WAAW;;kBAAgD,CAAC;AAQlE,eAAO,MAAM,kBAAkB,EAAE,aAAa,CAC5C,CAAC,CAAC,KAAK,CAAC,OAAO,WAAW,CAAC,EAC3B,iBAAiB,CAqJlB,CAAC"}
|
|
@@ -0,0 +1,192 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `monday board delete <bid> --yes [--dry-run]` — delete a board
|
|
3
|
+
* (`cli-design.md` §4.3 line 705, `v0.2-plan.md` §3 M15).
|
|
4
|
+
*
|
|
5
|
+
* **Confirmation gate** (cli-design §3.1 #7 + §10.2). `--yes` is
|
|
6
|
+
* mandatory for the live path; without `--yes` (and without
|
|
7
|
+
* `--dry-run`) the command fails fast with `confirmation_required`
|
|
8
|
+
* (exit 1) carrying `details.board_id`. Same shape — and same
|
|
9
|
+
* gate-before-`resolveClient()` ordering — as `item delete` /
|
|
10
|
+
* `workspace delete` / `update delete`. R29 helper count: 6 → 7
|
|
11
|
+
* (board delete is the 7th consumer of `enforceDestructiveGate`).
|
|
12
|
+
*
|
|
13
|
+
* **Wire shape.** Single round-trip via `delete_board(board_id:
|
|
14
|
+
* ID!)`. Monday returns the deleted `Board` so the envelope's
|
|
15
|
+
* `data` is the full projection. A null result surfaces as
|
|
16
|
+
* `not_found` — the standard "id was bogus / already deleted"
|
|
17
|
+
* mapping.
|
|
18
|
+
*
|
|
19
|
+
* **Dry-run shape** per cli-design §6.4 board-delete variant:
|
|
20
|
+
* minimal `{operation: "delete_board", board_id}`. No preflight
|
|
21
|
+
* read fires; the dry-run is purely argv-derived. `meta.source:
|
|
22
|
+
* 'none'`. Same shape (modulo `board_id`) as `workspace delete` —
|
|
23
|
+
* the destructive-no-read pattern is uniform across `item delete`
|
|
24
|
+
* / `update delete` / `workspace delete` / `board delete`.
|
|
25
|
+
*
|
|
26
|
+
* **Note on board archive vs board delete divergence.** Archive
|
|
27
|
+
* carries the source snapshot (mirroring item-archive's
|
|
28
|
+
* recoverability-aware shape — soft, reversible-via-30-day-window),
|
|
29
|
+
* delete is minimal (mirroring workspace-delete's destructive-no-
|
|
30
|
+
* read shape — hard, irrecoverable past Monday's 30-day window).
|
|
31
|
+
* Both patterns are preserved.
|
|
32
|
+
*
|
|
33
|
+
* **Idempotent: false.** Re-running surfaces `not_found` past the
|
|
34
|
+
* first call. Mirrors `item delete` / `update delete` / `workspace
|
|
35
|
+
* delete` rationale — agents can't safely retry without verifying
|
|
36
|
+
* the id still names the same record.
|
|
37
|
+
*/
|
|
38
|
+
import { z } from 'zod';
|
|
39
|
+
import { ensureSubcommand } from '../types.js';
|
|
40
|
+
import { emitDryRun, emitMutation } from '../emit.js';
|
|
41
|
+
import { resolveClient } from '../../api/resolve-client.js';
|
|
42
|
+
import { BoardIdSchema } from '../../types/ids.js';
|
|
43
|
+
import { parseArgv } from '../parse-argv.js';
|
|
44
|
+
import { parseGlobalFlags } from '../../types/global-flags.js';
|
|
45
|
+
import { ApiError } from '../../utils/errors.js';
|
|
46
|
+
import { enforceDestructiveGate } from '../../api/destructive-gate.js';
|
|
47
|
+
import { unwrapOrThrow } from '../../utils/parse-boundary.js';
|
|
48
|
+
import { withBoardInvalidationSingleLeg } from '../../api/board-mutation-invalidation.js';
|
|
49
|
+
import { BOARD_FIELDS_FRAGMENT, boardProjectionSchema, } from '../../api/board-projection.js';
|
|
50
|
+
import { projectMutationBoard } from '../../api/board-mutation-result.js';
|
|
51
|
+
const DELETE_BOARD_MUTATION = `
|
|
52
|
+
mutation BoardDelete($boardId: ID!) {
|
|
53
|
+
delete_board(board_id: $boardId) {
|
|
54
|
+
${BOARD_FIELDS_FRAGMENT}
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
`;
|
|
58
|
+
export const boardDeleteOutputSchema = boardProjectionSchema;
|
|
59
|
+
const inputSchema = z.object({ boardId: BoardIdSchema }).strict();
|
|
60
|
+
const responseSchema = z
|
|
61
|
+
.object({
|
|
62
|
+
delete_board: z.unknown(),
|
|
63
|
+
})
|
|
64
|
+
.loose();
|
|
65
|
+
export const boardDeleteCommand = {
|
|
66
|
+
name: 'board.delete',
|
|
67
|
+
summary: 'Delete a board — --yes required',
|
|
68
|
+
examples: [
|
|
69
|
+
'monday board delete 12345 --yes',
|
|
70
|
+
'monday board delete 12345 --dry-run',
|
|
71
|
+
'monday board delete 12345 --yes --json',
|
|
72
|
+
],
|
|
73
|
+
// Re-deleting an already-deleted board surfaces `not_found`. Same
|
|
74
|
+
// rationale as workspace delete — agents can't safely retry
|
|
75
|
+
// without verifying the id still names the same record.
|
|
76
|
+
idempotent: false,
|
|
77
|
+
inputSchema,
|
|
78
|
+
outputSchema: boardDeleteOutputSchema,
|
|
79
|
+
attach: (program, ctx) => {
|
|
80
|
+
const noun = ensureSubcommand(program, 'board', 'Board commands');
|
|
81
|
+
noun
|
|
82
|
+
.command('delete <boardId>')
|
|
83
|
+
.description(boardDeleteCommand.summary)
|
|
84
|
+
.addHelpText('after', ['', 'Examples:', ...boardDeleteCommand.examples.map((e) => ` ${e}`), ''].join('\n'))
|
|
85
|
+
.action(async (boardId) => {
|
|
86
|
+
const parsed = parseArgv(boardDeleteCommand.inputSchema, { boardId });
|
|
87
|
+
// Gate fires BEFORE resolveClient() so a missing --yes
|
|
88
|
+
// surfaces as confirmation_required, not config_error
|
|
89
|
+
// (M10 round-1 P2 ordering invariant; R29 helper preserves
|
|
90
|
+
// it via already-parsed globalFlags).
|
|
91
|
+
const globalFlags = parseGlobalFlags(program.opts(), ctx.env);
|
|
92
|
+
enforceDestructiveGate({
|
|
93
|
+
globalFlags,
|
|
94
|
+
verb: 'board delete',
|
|
95
|
+
target: parsed.boardId,
|
|
96
|
+
detailKey: 'board_id',
|
|
97
|
+
action: 'delete the board',
|
|
98
|
+
hint: 'delete is destructive — Monday retains deleted boards ' +
|
|
99
|
+
'in the trash for ~30 days but exposes no restore ' +
|
|
100
|
+
'mutation; agents needing reversal must recreate via ' +
|
|
101
|
+
'`monday board create` (lossy: new id, no items / columns ' +
|
|
102
|
+
'/ groups / subscribers state).',
|
|
103
|
+
});
|
|
104
|
+
if (globalFlags.dryRun) {
|
|
105
|
+
// Minimal dry-run shape per §6.4 board-delete variant —
|
|
106
|
+
// no preflight read; meta.source: 'none'. Live surfaces
|
|
107
|
+
// not_found for bogus ids on its own.
|
|
108
|
+
const { apiVersion } = resolveClient(ctx, program.opts());
|
|
109
|
+
emitDryRun({
|
|
110
|
+
ctx,
|
|
111
|
+
programOpts: program.opts(),
|
|
112
|
+
plannedChanges: [
|
|
113
|
+
{
|
|
114
|
+
operation: 'delete_board',
|
|
115
|
+
board_id: parsed.boardId,
|
|
116
|
+
},
|
|
117
|
+
],
|
|
118
|
+
source: 'none',
|
|
119
|
+
cacheAgeSeconds: null,
|
|
120
|
+
warnings: [],
|
|
121
|
+
apiVersion,
|
|
122
|
+
});
|
|
123
|
+
return;
|
|
124
|
+
}
|
|
125
|
+
const { client, toEmit } = resolveClient(ctx, program.opts());
|
|
126
|
+
// M16 retrofit per cli-design §8 single-leg call-site
|
|
127
|
+
// contract via `withBoardInvalidationSingleLeg` (R46):
|
|
128
|
+
// invalidate AFTER the closure returns (i.e. after `data`
|
|
129
|
+
// projection completes), BEFORE emitMutation so a cache-
|
|
130
|
+
// unlink failure surfaces through the runner's catch-all.
|
|
131
|
+
// The closure's throws on schema drift / null payload
|
|
132
|
+
// bypass invalidation. Required because the wire mutation
|
|
133
|
+
// removes the board entirely; without invalidation a
|
|
134
|
+
// same-process describe after delete would return stale
|
|
135
|
+
// metadata until TTL eviction. The invalidation deletes
|
|
136
|
+
// the cache file so the next read cleanly cache-misses to
|
|
137
|
+
// the live `not_found`.
|
|
138
|
+
const { data: projected, response } = await withBoardInvalidationSingleLeg({
|
|
139
|
+
boardId: parsed.boardId,
|
|
140
|
+
env: ctx.env,
|
|
141
|
+
perform: async () => {
|
|
142
|
+
const wireResponse = await client.raw(DELETE_BOARD_MUTATION, { boardId: parsed.boardId }, { operationName: 'BoardDelete' });
|
|
143
|
+
const data = unwrapOrThrow(responseSchema.safeParse(wireResponse.data), {
|
|
144
|
+
context: 'Monday returned a malformed BoardDelete response',
|
|
145
|
+
details: { board_id: parsed.boardId },
|
|
146
|
+
hint: 'this is a data-integrity error in Monday\'s response; ' +
|
|
147
|
+
'verify the response shape and update responseSchema if ' +
|
|
148
|
+
'Monday\'s contract has changed.',
|
|
149
|
+
});
|
|
150
|
+
// Distinguish missing-root-key (schema-drift →
|
|
151
|
+
// internal_error) from null payload (board missing →
|
|
152
|
+
// not_found). M14 round-2 / round-3 distinction landed
|
|
153
|
+
// proactively for M15.
|
|
154
|
+
if (!('delete_board' in data)) {
|
|
155
|
+
throw new ApiError('internal_error', `Monday's BoardDelete response is missing the delete_board root field`, {
|
|
156
|
+
details: {
|
|
157
|
+
board_id: parsed.boardId,
|
|
158
|
+
hint: 'this is a schema-drift error in Monday\'s GraphQL ' +
|
|
159
|
+
'response; verify the mutation declaration and update ' +
|
|
160
|
+
'the response schema if Monday\'s contract has changed.',
|
|
161
|
+
},
|
|
162
|
+
});
|
|
163
|
+
}
|
|
164
|
+
// R43 lift (api/board-mutation-result.ts): null-payload
|
|
165
|
+
// guard + projection. Delete's null path uses
|
|
166
|
+
// `not_found` (Monday's "id was bogus / already
|
|
167
|
+
// deleted" mapping) per M14 round-2 / round-3 missing-
|
|
168
|
+
// root vs null distinction.
|
|
169
|
+
const projection = projectMutationBoard({
|
|
170
|
+
raw: data.delete_board,
|
|
171
|
+
errorCode: 'not_found',
|
|
172
|
+
errorMessage: `Monday returned no board payload from delete_board for id ${parsed.boardId}`,
|
|
173
|
+
detailKey: 'board_id',
|
|
174
|
+
detailValue: parsed.boardId,
|
|
175
|
+
});
|
|
176
|
+
return { data: projection, response: wireResponse };
|
|
177
|
+
},
|
|
178
|
+
});
|
|
179
|
+
emitMutation({
|
|
180
|
+
ctx,
|
|
181
|
+
data: projected,
|
|
182
|
+
schema: boardDeleteCommand.outputSchema,
|
|
183
|
+
programOpts: program.opts(),
|
|
184
|
+
warnings: [],
|
|
185
|
+
...toEmit(response),
|
|
186
|
+
source: 'live',
|
|
187
|
+
cacheAgeSeconds: null,
|
|
188
|
+
});
|
|
189
|
+
});
|
|
190
|
+
},
|
|
191
|
+
};
|
|
192
|
+
//# sourceMappingURL=delete.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"delete.js","sourceRoot":"","sources":["../../../src/commands/board/delete.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `monday board describe <bid>` — full board schema (`cli-design.md`
|
|
3
|
+
* §4.3, §11.2).
|
|
4
|
+
*
|
|
5
|
+
* The CLI's introspection endpoint for one board: every column with
|
|
6
|
+
* its parsed `settings_str`, every group, the workspace + folder
|
|
7
|
+
* pointers, hierarchy info (`hierarchy_type` / `is_leaf` — both raw
|
|
8
|
+
* GraphQL because the SDK doesn't type them in 14.0.0), plus a per-
|
|
9
|
+
* writable-column `example_set` so an agent can construct
|
|
10
|
+
* `--set <token>=<value>` calls without consulting Monday's docs.
|
|
11
|
+
*
|
|
12
|
+
* Reads through `loadBoardMetadata` (cache-aware). The `example_set`
|
|
13
|
+
* is fully derivable from `column.type` + `settings_str` so the
|
|
14
|
+
* shape lives here, not in `board-metadata.ts` — that module stays
|
|
15
|
+
* focused on the cache projection.
|
|
16
|
+
*
|
|
17
|
+
* Idempotent: yes.
|
|
18
|
+
*/
|
|
19
|
+
import { z } from 'zod';
|
|
20
|
+
import { type CommandModule } from '../types.js';
|
|
21
|
+
import { type BoardColumn } from '../../api/board-metadata.js';
|
|
22
|
+
/**
|
|
23
|
+
* Exported for unit testing. Produces a per-column suggestion list
|
|
24
|
+
* the agent can copy-paste as `--set` flags. Returns `null` for
|
|
25
|
+
* non-writable column types so the M3 exit's "writable + non-writable
|
|
26
|
+
* round-trip" can be asserted.
|
|
27
|
+
*/
|
|
28
|
+
export declare const exampleSetForColumn: (column: BoardColumn) => string[] | null;
|
|
29
|
+
export declare const boardDescribeOutputSchema: z.ZodObject<{
|
|
30
|
+
id: z.ZodString;
|
|
31
|
+
name: z.ZodString;
|
|
32
|
+
description: z.ZodNullable<z.ZodString>;
|
|
33
|
+
state: z.ZodNullable<z.ZodString>;
|
|
34
|
+
board_kind: z.ZodNullable<z.ZodString>;
|
|
35
|
+
workspace_id: z.ZodNullable<z.ZodString>;
|
|
36
|
+
board_folder_id: z.ZodNullable<z.ZodString>;
|
|
37
|
+
url: z.ZodNullable<z.ZodString>;
|
|
38
|
+
hierarchy_type: z.ZodNullable<z.ZodString>;
|
|
39
|
+
is_leaf: z.ZodNullable<z.ZodBoolean>;
|
|
40
|
+
updated_at: z.ZodNullable<z.ZodString>;
|
|
41
|
+
columns: z.ZodArray<z.ZodObject<{
|
|
42
|
+
id: z.ZodString;
|
|
43
|
+
title: z.ZodString;
|
|
44
|
+
type: z.ZodString;
|
|
45
|
+
description: z.ZodNullable<z.ZodString>;
|
|
46
|
+
archived: z.ZodNullable<z.ZodBoolean>;
|
|
47
|
+
width: z.ZodNullable<z.ZodNumber>;
|
|
48
|
+
settings: z.ZodNullable<z.ZodUnknown>;
|
|
49
|
+
writable: z.ZodBoolean;
|
|
50
|
+
example_set: z.ZodNullable<z.ZodArray<z.ZodString>>;
|
|
51
|
+
}, z.core.$strict>>;
|
|
52
|
+
groups: z.ZodArray<z.ZodObject<{
|
|
53
|
+
id: z.ZodString;
|
|
54
|
+
title: z.ZodString;
|
|
55
|
+
color: z.ZodNullable<z.ZodString>;
|
|
56
|
+
position: z.ZodNullable<z.ZodString>;
|
|
57
|
+
archived: z.ZodNullable<z.ZodBoolean>;
|
|
58
|
+
deleted: z.ZodNullable<z.ZodBoolean>;
|
|
59
|
+
}, z.core.$strict>>;
|
|
60
|
+
}, z.core.$strict>;
|
|
61
|
+
export type BoardDescribeOutput = z.infer<typeof boardDescribeOutputSchema>;
|
|
62
|
+
declare const inputSchema: z.ZodObject<{
|
|
63
|
+
boardId: z.core.$ZodBranded<z.ZodString, "BoardId", "out">;
|
|
64
|
+
includeArchived: z.ZodOptional<z.ZodBoolean>;
|
|
65
|
+
}, z.core.$strict>;
|
|
66
|
+
export declare const boardDescribeCommand: CommandModule<z.infer<typeof inputSchema>, BoardDescribeOutput>;
|
|
67
|
+
export {};
|
|
68
|
+
//# sourceMappingURL=describe.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"describe.d.ts","sourceRoot":"","sources":["../../../src/commands/board/describe.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAoB,KAAK,aAAa,EAAE,MAAM,aAAa,CAAC;AAKnE,OAAO,EAEL,KAAK,WAAW,EACjB,MAAM,6BAA6B,CAAC;AAcrC;;;;;GAKG;AACH,eAAO,MAAM,mBAAmB,GAAI,QAAQ,WAAW,KAAG,MAAM,EAAE,GAAG,IA8EpE,CAAC;AA2BF,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAgB3B,CAAC;AAEZ,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAE5E,QAAA,MAAM,WAAW;;;kBAKN,CAAC;AAEZ,eAAO,MAAM,oBAAoB,EAAE,aAAa,CAC9C,CAAC,CAAC,KAAK,CAAC,OAAO,WAAW,CAAC,EAC3B,mBAAmB,CA8FpB,CAAC"}
|