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,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `monday user me` — alias for `monday account whoami`
|
|
3
|
+
* (`cli-design.md` §4.3).
|
|
4
|
+
*
|
|
5
|
+
* Two routes to the same query so agent-flavoured workflows reading
|
|
6
|
+
* the §13 v0.3 dev-namespace's "tasks assigned to me" don't have to
|
|
7
|
+
* remember which noun the identity sits under.
|
|
8
|
+
*
|
|
9
|
+
* Idempotent: yes.
|
|
10
|
+
*/
|
|
11
|
+
import { z } from 'zod';
|
|
12
|
+
import { type CommandModule } from '../types.js';
|
|
13
|
+
import { type WhoamiOutput } from '../account/whoami.js';
|
|
14
|
+
declare const inputSchema: z.ZodObject<{}, z.core.$strict>;
|
|
15
|
+
export declare const userMeCommand: CommandModule<z.infer<typeof inputSchema>, WhoamiOutput>;
|
|
16
|
+
export {};
|
|
17
|
+
//# sourceMappingURL=me.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"me.d.ts","sourceRoot":"","sources":["../../../src/commands/user/me.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAoB,KAAK,aAAa,EAAE,MAAM,aAAa,CAAC;AAInE,OAAO,EAAsB,KAAK,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAG7E,QAAA,MAAM,WAAW,iCAAwB,CAAC;AAE1C,eAAO,MAAM,aAAa,EAAE,aAAa,CACvC,CAAC,CAAC,KAAK,CAAC,OAAO,WAAW,CAAC,EAC3B,YAAY,CAoCb,CAAC"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `monday user me` — alias for `monday account whoami`
|
|
3
|
+
* (`cli-design.md` §4.3).
|
|
4
|
+
*
|
|
5
|
+
* Two routes to the same query so agent-flavoured workflows reading
|
|
6
|
+
* the §13 v0.3 dev-namespace's "tasks assigned to me" don't have to
|
|
7
|
+
* remember which noun the identity sits under.
|
|
8
|
+
*
|
|
9
|
+
* Idempotent: yes.
|
|
10
|
+
*/
|
|
11
|
+
import { z } from 'zod';
|
|
12
|
+
import { ensureSubcommand } from '../types.js';
|
|
13
|
+
import { emitSuccess } from '../emit.js';
|
|
14
|
+
import { resolveClient } from '../../api/resolve-client.js';
|
|
15
|
+
import { ApiError } from '../../utils/errors.js';
|
|
16
|
+
import { whoamiOutputSchema } from '../account/whoami.js';
|
|
17
|
+
import { parseArgv } from '../parse-argv.js';
|
|
18
|
+
const inputSchema = z.object({}).strict();
|
|
19
|
+
export const userMeCommand = {
|
|
20
|
+
name: 'user.me',
|
|
21
|
+
summary: 'Show the connected user (alias for account whoami)',
|
|
22
|
+
examples: ['monday user me', 'monday user me --json'],
|
|
23
|
+
idempotent: true,
|
|
24
|
+
inputSchema,
|
|
25
|
+
outputSchema: whoamiOutputSchema,
|
|
26
|
+
attach: (program, ctx) => {
|
|
27
|
+
const noun = ensureSubcommand(program, 'user', 'User commands');
|
|
28
|
+
noun
|
|
29
|
+
.command('me')
|
|
30
|
+
.description(userMeCommand.summary)
|
|
31
|
+
.addHelpText('after', ['', 'Examples:', ...userMeCommand.examples.map((e) => ` ${e}`), ''].join('\n'))
|
|
32
|
+
.action(async (opts) => {
|
|
33
|
+
parseArgv(userMeCommand.inputSchema, opts);
|
|
34
|
+
const { client, toEmit } = resolveClient(ctx, program.opts());
|
|
35
|
+
const result = await client.whoami();
|
|
36
|
+
if (result.data.me === null) {
|
|
37
|
+
throw new ApiError('unauthorized', 'Monday returned no `me` for the supplied token (guest or disabled account?)');
|
|
38
|
+
}
|
|
39
|
+
emitSuccess({
|
|
40
|
+
ctx,
|
|
41
|
+
data: result.data,
|
|
42
|
+
schema: userMeCommand.outputSchema,
|
|
43
|
+
programOpts: program.opts(),
|
|
44
|
+
...toEmit(result),
|
|
45
|
+
});
|
|
46
|
+
});
|
|
47
|
+
},
|
|
48
|
+
};
|
|
49
|
+
//# sourceMappingURL=me.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"me.js","sourceRoot":"","sources":["../../../src/commands/user/me.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,gBAAgB,EAAsB,MAAM,aAAa,CAAC;AACnE,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzC,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjD,OAAO,EAAE,kBAAkB,EAAqB,MAAM,sBAAsB,CAAC;AAC7E,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAE7C,MAAM,WAAW,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;AAE1C,MAAM,CAAC,MAAM,aAAa,GAGtB;IACF,IAAI,EAAE,SAAS;IACf,OAAO,EAAE,oDAAoD;IAC7D,QAAQ,EAAE,CAAC,gBAAgB,EAAE,uBAAuB,CAAC;IACrD,UAAU,EAAE,IAAI;IAChB,WAAW;IACX,YAAY,EAAE,kBAAkB;IAChC,MAAM,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,EAAE;QACvB,MAAM,IAAI,GAAG,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,eAAe,CAAC,CAAC;QAChE,IAAI;aACD,OAAO,CAAC,IAAI,CAAC;aACb,WAAW,CAAC,aAAa,CAAC,OAAO,CAAC;aAClC,WAAW,CACV,OAAO,EACP,CAAC,EAAE,EAAE,WAAW,EAAE,GAAG,aAAa,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CACjF;aACA,MAAM,CAAC,KAAK,EAAE,IAAa,EAAE,EAAE;YAC9B,SAAS,CAAC,aAAa,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;YAC3C,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,aAAa,CAAC,GAAG,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;YAC9D,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,MAAM,EAAE,CAAC;YACrC,IAAI,MAAM,CAAC,IAAI,CAAC,EAAE,KAAK,IAAI,EAAE,CAAC;gBAC5B,MAAM,IAAI,QAAQ,CAChB,cAAc,EACd,6EAA6E,CAC9E,CAAC;YACJ,CAAC;YACD,WAAW,CAAC;gBACV,GAAG;gBACH,IAAI,EAAE,MAAM,CAAC,IAAI;gBACjB,MAAM,EAAE,aAAa,CAAC,YAAY;gBAClC,WAAW,EAAE,OAAO,CAAC,IAAI,EAAE;gBAC3B,GAAG,MAAM,CAAC,MAAM,CAAC;aAClB,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACP,CAAC;CACF,CAAC"}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `monday workspace add-users <wid> --users <id|email>,... [--dry-run]`
|
|
3
|
+
* — fan-out add subscribers to a workspace one wire call per user
|
|
4
|
+
* (`cli-design.md` §4.3 line 498, `v0.2-plan.md` §3 M14).
|
|
5
|
+
*
|
|
6
|
+
* **Wire shape.** Each per-user dispatch fires `add_users_to_
|
|
7
|
+
* workspace(workspace_id, user_ids: [<single>])` — a one-element
|
|
8
|
+
* `user_ids` array per call. M14 omits the SDK's optional `kind?:
|
|
9
|
+
* WorkspaceSubscriberKind` argument and relies on Monday's server-
|
|
10
|
+
* side default (subscriber). Owner-tier and explicit subscriber-
|
|
11
|
+
* kind selection are deferred to a later milestone (no v0.2
|
|
12
|
+
* surface decision blocking M14).
|
|
13
|
+
*
|
|
14
|
+
* **`--users` parser.** Comma-separated list mixing numeric IDs
|
|
15
|
+
* and emails. Numeric IDs are argv-derived (skip the resolver
|
|
16
|
+
* entirely); only email tokens flow through M5a's `userByEmail`
|
|
17
|
+
* (directory cache + `users(emails:)` fallback). Tokens that are
|
|
18
|
+
* neither numeric nor email-shaped surface as `usage_error` at
|
|
19
|
+
* argv-parse, before any network leg.
|
|
20
|
+
*
|
|
21
|
+
* **Partial-success envelope** per cli-design §6.4 — emits one
|
|
22
|
+
* `ok: true` envelope with `data: { operation: "add_users_to_
|
|
23
|
+
* workspace", results: [{user_id, ok, error?}] }`. Per-user
|
|
24
|
+
* resolution failures (`user_not_found`) AND per-user dispatch
|
|
25
|
+
* failures land in the per-record `error` slot rather than
|
|
26
|
+
* aborting the loop; on a resolution failure `user_id` carries
|
|
27
|
+
* the input token verbatim so agents can correlate retries
|
|
28
|
+
* against their `--users` argument.
|
|
29
|
+
*
|
|
30
|
+
* **Whole-call boundary.** Top-level `error` reserved for whole-
|
|
31
|
+
* call failure: couldn't reach API, OR no dispatchable user_id
|
|
32
|
+
* remains after parsing/resolution (every supplied token was an
|
|
33
|
+
* email AND every email failed lookup). The whole-call code is
|
|
34
|
+
* **`user_not_found`** (exit 2) carrying `details.failed_tokens:
|
|
35
|
+
* [...]`. Mixed calls with even one numeric ID OR one resolved
|
|
36
|
+
* email stay partial-success — failed-resolution records land
|
|
37
|
+
* per-record. Malformed `--users` syntax (blank/non-numeric-non-
|
|
38
|
+
* email) → `usage_error` (exit 1) at argv-parse.
|
|
39
|
+
*
|
|
40
|
+
* **`meta.source` aggregation.** Splits dry-run vs live (cli-
|
|
41
|
+
* design §6.4 partial-success-envelope rule). Dry-run sees only
|
|
42
|
+
* resolver legs (all-numeric → `none`; cache → `cache`; live
|
|
43
|
+
* `users(emails:)` → `live`; combos → `mixed`). Live folds in
|
|
44
|
+
* every per-target mutation dispatch leg too (always `live`),
|
|
45
|
+
* so all-numeric live aggregates to `live` (not `none`).
|
|
46
|
+
*
|
|
47
|
+
* **Idempotent: yes** — Monday is no-op on a re-add. **Admin-
|
|
48
|
+
* permission-sensitive**.
|
|
49
|
+
*
|
|
50
|
+
* **R40 lift (post-M15).** The token parser, resolver loop,
|
|
51
|
+
* dispatch loop, and envelope assembly live in
|
|
52
|
+
* `src/api/users-fan-out-mutation.ts` — three M14 / M15 verbs
|
|
53
|
+
* (workspace add-users / workspace remove-users / board add-users)
|
|
54
|
+
* share the body modulo six per-verb parameters.
|
|
55
|
+
*/
|
|
56
|
+
import { z } from 'zod';
|
|
57
|
+
import { type CommandModule } from '../types.js';
|
|
58
|
+
export declare const workspaceAddUsersOutputSchema: z.ZodObject<{
|
|
59
|
+
operation: z.ZodLiteral<"add_users_to_workspace">;
|
|
60
|
+
results: z.ZodArray<z.ZodObject<{
|
|
61
|
+
user_id: z.ZodString;
|
|
62
|
+
ok: z.ZodBoolean;
|
|
63
|
+
error: z.ZodOptional<z.ZodObject<{
|
|
64
|
+
code: z.ZodString;
|
|
65
|
+
message: z.ZodString;
|
|
66
|
+
}, z.core.$strict>>;
|
|
67
|
+
}, z.core.$strict>>;
|
|
68
|
+
}, z.core.$strict>;
|
|
69
|
+
export type WorkspaceAddUsersOutput = z.infer<typeof workspaceAddUsersOutputSchema>;
|
|
70
|
+
declare const inputSchema: z.ZodObject<{
|
|
71
|
+
workspaceId: z.core.$ZodBranded<z.ZodString, "WorkspaceId", "out">;
|
|
72
|
+
users: z.ZodString;
|
|
73
|
+
}, z.core.$strict>;
|
|
74
|
+
export declare const workspaceAddUsersCommand: CommandModule<z.infer<typeof inputSchema>, WorkspaceAddUsersOutput>;
|
|
75
|
+
export {};
|
|
76
|
+
//# sourceMappingURL=add-users.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"add-users.d.ts","sourceRoot":"","sources":["../../../src/commands/workspace/add-users.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsDG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAoB,KAAK,aAAa,EAAE,MAAM,aAAa,CAAC;AAmCnE,eAAO,MAAM,6BAA6B;;;;;;;;;;kBAK/B,CAAC;AAEZ,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,6BAA6B,CAAC,CAAC;AAEpF,QAAA,MAAM,WAAW;;;kBAON,CAAC;AAEZ,eAAO,MAAM,wBAAwB,EAAE,aAAa,CAClD,CAAC,CAAC,KAAK,CAAC,OAAO,WAAW,CAAC,EAC3B,uBAAuB,CA8DxB,CAAC"}
|
|
@@ -0,0 +1,154 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `monday workspace add-users <wid> --users <id|email>,... [--dry-run]`
|
|
3
|
+
* — fan-out add subscribers to a workspace one wire call per user
|
|
4
|
+
* (`cli-design.md` §4.3 line 498, `v0.2-plan.md` §3 M14).
|
|
5
|
+
*
|
|
6
|
+
* **Wire shape.** Each per-user dispatch fires `add_users_to_
|
|
7
|
+
* workspace(workspace_id, user_ids: [<single>])` — a one-element
|
|
8
|
+
* `user_ids` array per call. M14 omits the SDK's optional `kind?:
|
|
9
|
+
* WorkspaceSubscriberKind` argument and relies on Monday's server-
|
|
10
|
+
* side default (subscriber). Owner-tier and explicit subscriber-
|
|
11
|
+
* kind selection are deferred to a later milestone (no v0.2
|
|
12
|
+
* surface decision blocking M14).
|
|
13
|
+
*
|
|
14
|
+
* **`--users` parser.** Comma-separated list mixing numeric IDs
|
|
15
|
+
* and emails. Numeric IDs are argv-derived (skip the resolver
|
|
16
|
+
* entirely); only email tokens flow through M5a's `userByEmail`
|
|
17
|
+
* (directory cache + `users(emails:)` fallback). Tokens that are
|
|
18
|
+
* neither numeric nor email-shaped surface as `usage_error` at
|
|
19
|
+
* argv-parse, before any network leg.
|
|
20
|
+
*
|
|
21
|
+
* **Partial-success envelope** per cli-design §6.4 — emits one
|
|
22
|
+
* `ok: true` envelope with `data: { operation: "add_users_to_
|
|
23
|
+
* workspace", results: [{user_id, ok, error?}] }`. Per-user
|
|
24
|
+
* resolution failures (`user_not_found`) AND per-user dispatch
|
|
25
|
+
* failures land in the per-record `error` slot rather than
|
|
26
|
+
* aborting the loop; on a resolution failure `user_id` carries
|
|
27
|
+
* the input token verbatim so agents can correlate retries
|
|
28
|
+
* against their `--users` argument.
|
|
29
|
+
*
|
|
30
|
+
* **Whole-call boundary.** Top-level `error` reserved for whole-
|
|
31
|
+
* call failure: couldn't reach API, OR no dispatchable user_id
|
|
32
|
+
* remains after parsing/resolution (every supplied token was an
|
|
33
|
+
* email AND every email failed lookup). The whole-call code is
|
|
34
|
+
* **`user_not_found`** (exit 2) carrying `details.failed_tokens:
|
|
35
|
+
* [...]`. Mixed calls with even one numeric ID OR one resolved
|
|
36
|
+
* email stay partial-success — failed-resolution records land
|
|
37
|
+
* per-record. Malformed `--users` syntax (blank/non-numeric-non-
|
|
38
|
+
* email) → `usage_error` (exit 1) at argv-parse.
|
|
39
|
+
*
|
|
40
|
+
* **`meta.source` aggregation.** Splits dry-run vs live (cli-
|
|
41
|
+
* design §6.4 partial-success-envelope rule). Dry-run sees only
|
|
42
|
+
* resolver legs (all-numeric → `none`; cache → `cache`; live
|
|
43
|
+
* `users(emails:)` → `live`; combos → `mixed`). Live folds in
|
|
44
|
+
* every per-target mutation dispatch leg too (always `live`),
|
|
45
|
+
* so all-numeric live aggregates to `live` (not `none`).
|
|
46
|
+
*
|
|
47
|
+
* **Idempotent: yes** — Monday is no-op on a re-add. **Admin-
|
|
48
|
+
* permission-sensitive**.
|
|
49
|
+
*
|
|
50
|
+
* **R40 lift (post-M15).** The token parser, resolver loop,
|
|
51
|
+
* dispatch loop, and envelope assembly live in
|
|
52
|
+
* `src/api/users-fan-out-mutation.ts` — three M14 / M15 verbs
|
|
53
|
+
* (workspace add-users / workspace remove-users / board add-users)
|
|
54
|
+
* share the body modulo six per-verb parameters.
|
|
55
|
+
*/
|
|
56
|
+
import { z } from 'zod';
|
|
57
|
+
import { ensureSubcommand } from '../types.js';
|
|
58
|
+
import { resolveClient } from '../../api/resolve-client.js';
|
|
59
|
+
import { WorkspaceIdSchema } from '../../types/ids.js';
|
|
60
|
+
import { parseArgv } from '../parse-argv.js';
|
|
61
|
+
import { dispatchUsersFanOut, parseUsersArg, } from '../../api/users-fan-out-mutation.js';
|
|
62
|
+
const ADD_USERS_TO_WORKSPACE_MUTATION = `
|
|
63
|
+
mutation WorkspaceAddUsers($workspaceId: ID!, $userIds: [ID!]!) {
|
|
64
|
+
add_users_to_workspace(workspace_id: $workspaceId, user_ids: $userIds) {
|
|
65
|
+
id
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
`;
|
|
69
|
+
const errorShape = z
|
|
70
|
+
.object({
|
|
71
|
+
code: z.string().min(1),
|
|
72
|
+
message: z.string(),
|
|
73
|
+
})
|
|
74
|
+
.strict();
|
|
75
|
+
// Live-envelope per-record shape. `user_id` is plain `string` (not
|
|
76
|
+
// branded) because resolution failures preserve the input token
|
|
77
|
+
// verbatim — emails aren't valid `UserId` values.
|
|
78
|
+
const liveResultRecordSchema = z
|
|
79
|
+
.object({
|
|
80
|
+
user_id: z.string().min(1),
|
|
81
|
+
ok: z.boolean(),
|
|
82
|
+
error: errorShape.optional(),
|
|
83
|
+
})
|
|
84
|
+
.strict();
|
|
85
|
+
export const workspaceAddUsersOutputSchema = z
|
|
86
|
+
.object({
|
|
87
|
+
operation: z.literal('add_users_to_workspace'),
|
|
88
|
+
results: z.array(liveResultRecordSchema),
|
|
89
|
+
})
|
|
90
|
+
.strict();
|
|
91
|
+
const inputSchema = z
|
|
92
|
+
.object({
|
|
93
|
+
workspaceId: WorkspaceIdSchema,
|
|
94
|
+
users: z
|
|
95
|
+
.string()
|
|
96
|
+
.min(1, '--users must not be empty'),
|
|
97
|
+
})
|
|
98
|
+
.strict();
|
|
99
|
+
export const workspaceAddUsersCommand = {
|
|
100
|
+
name: 'workspace.add-users',
|
|
101
|
+
summary: 'Add users to a workspace as subscribers (partial-success envelope)',
|
|
102
|
+
examples: [
|
|
103
|
+
'monday workspace add-users 12345 --users 67890,67891',
|
|
104
|
+
'monday workspace add-users 12345 --users alice@example.test,67891',
|
|
105
|
+
'monday workspace add-users 12345 --users 67890 --dry-run --json',
|
|
106
|
+
],
|
|
107
|
+
// Re-adding an existing member is a no-op on Monday's side; mark
|
|
108
|
+
// idempotent so agents can retry on transient failure.
|
|
109
|
+
idempotent: true,
|
|
110
|
+
inputSchema,
|
|
111
|
+
outputSchema: workspaceAddUsersOutputSchema,
|
|
112
|
+
attach: (program, ctx) => {
|
|
113
|
+
const noun = ensureSubcommand(program, 'workspace', 'Workspace commands');
|
|
114
|
+
noun
|
|
115
|
+
.command('add-users <workspaceId>')
|
|
116
|
+
.description(workspaceAddUsersCommand.summary)
|
|
117
|
+
.requiredOption('--users <list>', 'comma-separated numeric ids and/or emails')
|
|
118
|
+
.addHelpText('after', ['', 'Examples:', ...workspaceAddUsersCommand.examples.map((e) => ` ${e}`), ''].join('\n'))
|
|
119
|
+
.action(async (workspaceId, opts) => {
|
|
120
|
+
const parsed = parseArgv(workspaceAddUsersCommand.inputSchema, {
|
|
121
|
+
workspaceId,
|
|
122
|
+
...opts,
|
|
123
|
+
});
|
|
124
|
+
// parseUsersArg runs BEFORE resolveClient so a malformed
|
|
125
|
+
// `--users` surfaces as usage_error (exit 1) ahead of any
|
|
126
|
+
// missing-token config_error (exit 3).
|
|
127
|
+
const tokens = parseUsersArg(parsed.users);
|
|
128
|
+
const { client, globalFlags, apiVersion, toEmit } = resolveClient(ctx, program.opts());
|
|
129
|
+
await dispatchUsersFanOut({
|
|
130
|
+
client,
|
|
131
|
+
ctx,
|
|
132
|
+
programOpts: program.opts(),
|
|
133
|
+
globalFlags,
|
|
134
|
+
apiVersion,
|
|
135
|
+
toEmit,
|
|
136
|
+
tokens,
|
|
137
|
+
scope: {
|
|
138
|
+
id: parsed.workspaceId,
|
|
139
|
+
key: 'workspace_id',
|
|
140
|
+
variableKey: 'workspaceId',
|
|
141
|
+
},
|
|
142
|
+
mutation: {
|
|
143
|
+
query: ADD_USERS_TO_WORKSPACE_MUTATION,
|
|
144
|
+
operationName: 'WorkspaceAddUsers',
|
|
145
|
+
rootKey: 'add_users_to_workspace',
|
|
146
|
+
},
|
|
147
|
+
dataOperation: 'add_users_to_workspace',
|
|
148
|
+
verbDescription: 'workspace add-users',
|
|
149
|
+
outputSchema: workspaceAddUsersOutputSchema,
|
|
150
|
+
});
|
|
151
|
+
});
|
|
152
|
+
},
|
|
153
|
+
};
|
|
154
|
+
//# sourceMappingURL=add-users.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"add-users.js","sourceRoot":"","sources":["../../../src/commands/workspace/add-users.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `monday workspace create --name <n> [--kind open|closed]
|
|
3
|
+
* [--description <d>] [--dry-run]` — create a new workspace
|
|
4
|
+
* (`cli-design.md` §4.3 line 444, `v0.2-plan.md` §3 M14).
|
|
5
|
+
*
|
|
6
|
+
* **Wire shape.** Single round-trip via `create_workspace(name, kind,
|
|
7
|
+
* description?)`. Monday's GraphQL signature pins `kind:
|
|
8
|
+
* WorkspaceKind!` (required at the wire); the CLI defaults `--kind`
|
|
9
|
+
* to `open` when omitted so agents don't have to remember the wire
|
|
10
|
+
* constraint. `--description` is optional; omitting it sends no
|
|
11
|
+
* argument and Monday's server-side default (empty string in
|
|
12
|
+
* practice) applies.
|
|
13
|
+
*
|
|
14
|
+
* **Live-envelope projection.** Returned `Workspace` is projected
|
|
15
|
+
* through `workspaceGetOutputSchema` (the shape `workspace get`
|
|
16
|
+
* already pins). Sharing the schema keeps create/get/update/delete
|
|
17
|
+
* envelopes byte-identical for the same record — a downstream
|
|
18
|
+
* `monday workspace get <wid>` after a successful create returns the
|
|
19
|
+
* same JSON shape.
|
|
20
|
+
*
|
|
21
|
+
* **Dry-run shape** per cli-design §6.4 workspace-create variant:
|
|
22
|
+
* minimal `{operation: "create_workspace", name, kind, description?}`.
|
|
23
|
+
* No preflight read fires; the dry-run is purely argv-derived.
|
|
24
|
+
* `meta.source: 'none'`.
|
|
25
|
+
*
|
|
26
|
+
* **Idempotent: false.** Re-running creates a duplicate workspace
|
|
27
|
+
* with the same name. Agents needing dedupe should call
|
|
28
|
+
* `monday workspace list` first. NOT destructive (no `--yes` gate).
|
|
29
|
+
*/
|
|
30
|
+
import { z } from 'zod';
|
|
31
|
+
import { type CommandModule } from '../types.js';
|
|
32
|
+
import { type WorkspaceProjection } from '../../api/workspace-projection.js';
|
|
33
|
+
export declare const workspaceCreateOutputSchema: z.ZodObject<{
|
|
34
|
+
id: z.ZodString;
|
|
35
|
+
name: z.ZodString;
|
|
36
|
+
description: z.ZodNullable<z.ZodString>;
|
|
37
|
+
kind: z.ZodNullable<z.ZodString>;
|
|
38
|
+
state: z.ZodNullable<z.ZodString>;
|
|
39
|
+
is_default_workspace: z.ZodNullable<z.ZodBoolean>;
|
|
40
|
+
created_at: z.ZodNullable<z.ZodString>;
|
|
41
|
+
settings: z.ZodNullable<z.ZodObject<{
|
|
42
|
+
icon: z.ZodNullable<z.ZodObject<{
|
|
43
|
+
color: z.ZodNullable<z.ZodString>;
|
|
44
|
+
image: z.ZodNullable<z.ZodString>;
|
|
45
|
+
}, z.core.$strict>>;
|
|
46
|
+
}, z.core.$strict>>;
|
|
47
|
+
}, z.core.$strict>;
|
|
48
|
+
export type WorkspaceCreateOutput = WorkspaceProjection;
|
|
49
|
+
declare const inputSchema: z.ZodObject<{
|
|
50
|
+
name: z.ZodString;
|
|
51
|
+
kind: z.ZodDefault<z.ZodEnum<{
|
|
52
|
+
open: "open";
|
|
53
|
+
closed: "closed";
|
|
54
|
+
}>>;
|
|
55
|
+
description: z.ZodOptional<z.ZodString>;
|
|
56
|
+
}, z.core.$strict>;
|
|
57
|
+
export declare const workspaceCreateCommand: CommandModule<z.infer<typeof inputSchema>, WorkspaceCreateOutput>;
|
|
58
|
+
export {};
|
|
59
|
+
//# sourceMappingURL=create.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../../../src/commands/workspace/create.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAoB,KAAK,aAAa,EAAE,MAAM,aAAa,CAAC;AAMnE,OAAO,EAGL,KAAK,mBAAmB,EACzB,MAAM,mCAAmC,CAAC;AAU3C,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;kBAA4B,CAAC;AAErE,MAAM,MAAM,qBAAqB,GAAG,mBAAmB,CAAC;AAQxD,QAAA,MAAM,WAAW;;;;;;;kBAQN,CAAC;AAQZ,eAAO,MAAM,sBAAsB,EAAE,aAAa,CAChD,CAAC,CAAC,KAAK,CAAC,OAAO,WAAW,CAAC,EAC3B,qBAAqB,CAyGtB,CAAC"}
|
|
@@ -0,0 +1,163 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `monday workspace create --name <n> [--kind open|closed]
|
|
3
|
+
* [--description <d>] [--dry-run]` — create a new workspace
|
|
4
|
+
* (`cli-design.md` §4.3 line 444, `v0.2-plan.md` §3 M14).
|
|
5
|
+
*
|
|
6
|
+
* **Wire shape.** Single round-trip via `create_workspace(name, kind,
|
|
7
|
+
* description?)`. Monday's GraphQL signature pins `kind:
|
|
8
|
+
* WorkspaceKind!` (required at the wire); the CLI defaults `--kind`
|
|
9
|
+
* to `open` when omitted so agents don't have to remember the wire
|
|
10
|
+
* constraint. `--description` is optional; omitting it sends no
|
|
11
|
+
* argument and Monday's server-side default (empty string in
|
|
12
|
+
* practice) applies.
|
|
13
|
+
*
|
|
14
|
+
* **Live-envelope projection.** Returned `Workspace` is projected
|
|
15
|
+
* through `workspaceGetOutputSchema` (the shape `workspace get`
|
|
16
|
+
* already pins). Sharing the schema keeps create/get/update/delete
|
|
17
|
+
* envelopes byte-identical for the same record — a downstream
|
|
18
|
+
* `monday workspace get <wid>` after a successful create returns the
|
|
19
|
+
* same JSON shape.
|
|
20
|
+
*
|
|
21
|
+
* **Dry-run shape** per cli-design §6.4 workspace-create variant:
|
|
22
|
+
* minimal `{operation: "create_workspace", name, kind, description?}`.
|
|
23
|
+
* No preflight read fires; the dry-run is purely argv-derived.
|
|
24
|
+
* `meta.source: 'none'`.
|
|
25
|
+
*
|
|
26
|
+
* **Idempotent: false.** Re-running creates a duplicate workspace
|
|
27
|
+
* with the same name. Agents needing dedupe should call
|
|
28
|
+
* `monday workspace list` first. NOT destructive (no `--yes` gate).
|
|
29
|
+
*/
|
|
30
|
+
import { z } from 'zod';
|
|
31
|
+
import { ensureSubcommand } from '../types.js';
|
|
32
|
+
import { emitDryRun, emitMutation } from '../emit.js';
|
|
33
|
+
import { resolveClient } from '../../api/resolve-client.js';
|
|
34
|
+
import { parseArgv } from '../parse-argv.js';
|
|
35
|
+
import { ApiError } from '../../utils/errors.js';
|
|
36
|
+
import { unwrapOrThrow } from '../../utils/parse-boundary.js';
|
|
37
|
+
import { WORKSPACE_FIELDS_FRAGMENT, workspaceProjectionSchema, } from '../../api/workspace-projection.js';
|
|
38
|
+
const CREATE_WORKSPACE_MUTATION = `
|
|
39
|
+
mutation WorkspaceCreate($name: String!, $kind: WorkspaceKind!, $description: String) {
|
|
40
|
+
create_workspace(name: $name, kind: $kind, description: $description) {
|
|
41
|
+
${WORKSPACE_FIELDS_FRAGMENT}
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
`;
|
|
45
|
+
export const workspaceCreateOutputSchema = workspaceProjectionSchema;
|
|
46
|
+
// Argv schema. `name` carries the same min(1)-after-trim discipline
|
|
47
|
+
// as `item create` — Monday accepts whitespace-only names but they
|
|
48
|
+
// produce un-findable workspaces; reject at the boundary. Use
|
|
49
|
+
// `.refine()` not `.transform()` so the schema stays JSON-Schema-
|
|
50
|
+
// representable (the schema-export pipeline rejects transforms);
|
|
51
|
+
// trim happens inside the action body before the wire call.
|
|
52
|
+
const inputSchema = z
|
|
53
|
+
.object({
|
|
54
|
+
name: z.string().refine((s) => s.trim().length > 0, {
|
|
55
|
+
message: '--name must be non-empty (whitespace-only is rejected)',
|
|
56
|
+
}),
|
|
57
|
+
kind: z.enum(['open', 'closed']).default('open'),
|
|
58
|
+
description: z.string().optional(),
|
|
59
|
+
})
|
|
60
|
+
.strict();
|
|
61
|
+
const responseSchema = z
|
|
62
|
+
.object({
|
|
63
|
+
create_workspace: z.unknown(),
|
|
64
|
+
})
|
|
65
|
+
.loose();
|
|
66
|
+
export const workspaceCreateCommand = {
|
|
67
|
+
name: 'workspace.create',
|
|
68
|
+
summary: 'Create a new workspace',
|
|
69
|
+
examples: [
|
|
70
|
+
'monday workspace create --name "Marketing"',
|
|
71
|
+
'monday workspace create --name "Marketing — EU" --kind closed --description "EU-only campaigns"',
|
|
72
|
+
'monday workspace create --name "Test" --dry-run --json',
|
|
73
|
+
],
|
|
74
|
+
// create_workspace is non-idempotent — re-running creates a second
|
|
75
|
+
// workspace with the same name. Mirrors `update create`'s rationale.
|
|
76
|
+
idempotent: false,
|
|
77
|
+
inputSchema,
|
|
78
|
+
outputSchema: workspaceCreateOutputSchema,
|
|
79
|
+
attach: (program, ctx) => {
|
|
80
|
+
const noun = ensureSubcommand(program, 'workspace', 'Workspace commands');
|
|
81
|
+
noun
|
|
82
|
+
.command('create')
|
|
83
|
+
.description(workspaceCreateCommand.summary)
|
|
84
|
+
.requiredOption('--name <n>', 'workspace name')
|
|
85
|
+
.option('--kind <k>', 'workspace kind: open|closed (default: open)')
|
|
86
|
+
.option('--description <d>', 'workspace description')
|
|
87
|
+
.addHelpText('after', ['', 'Examples:', ...workspaceCreateCommand.examples.map((e) => ` ${e}`), ''].join('\n'))
|
|
88
|
+
.action(async (opts) => {
|
|
89
|
+
const parsed = parseArgv(workspaceCreateCommand.inputSchema, opts);
|
|
90
|
+
// Trim post-parse: the schema's `.refine()` rejects whitespace-
|
|
91
|
+
// only input but doesn't strip surrounding whitespace; the
|
|
92
|
+
// wire call should send the canonical (trimmed) form so a
|
|
93
|
+
// round-trip workspace name matches what the agent intended.
|
|
94
|
+
const name = parsed.name.trim();
|
|
95
|
+
const { client, globalFlags, apiVersion, toEmit } = resolveClient(ctx, program.opts());
|
|
96
|
+
if (globalFlags.dryRun) {
|
|
97
|
+
// Per cli-design §6.4 workspace-create variant: minimal
|
|
98
|
+
// `{operation, name, kind, description?}`. No preflight
|
|
99
|
+
// read leg fires — the dry-run is purely argv-derived;
|
|
100
|
+
// `meta.source: 'none'`. The defaulted `kind: 'open'` is
|
|
101
|
+
// surfaced explicitly so the agent sees what the live
|
|
102
|
+
// mutation would send.
|
|
103
|
+
const planned = {
|
|
104
|
+
operation: 'create_workspace',
|
|
105
|
+
name,
|
|
106
|
+
kind: parsed.kind,
|
|
107
|
+
};
|
|
108
|
+
if (parsed.description !== undefined) {
|
|
109
|
+
planned.description = parsed.description;
|
|
110
|
+
}
|
|
111
|
+
emitDryRun({
|
|
112
|
+
ctx,
|
|
113
|
+
programOpts: program.opts(),
|
|
114
|
+
plannedChanges: [planned],
|
|
115
|
+
source: 'none',
|
|
116
|
+
cacheAgeSeconds: null,
|
|
117
|
+
warnings: [],
|
|
118
|
+
apiVersion,
|
|
119
|
+
});
|
|
120
|
+
return;
|
|
121
|
+
}
|
|
122
|
+
// Live path. Send `description` only when the agent provided
|
|
123
|
+
// one — passing `description: null` would explicitly clear
|
|
124
|
+
// server-side state Monday otherwise defaults sensibly.
|
|
125
|
+
const variables = {
|
|
126
|
+
name,
|
|
127
|
+
kind: parsed.kind,
|
|
128
|
+
};
|
|
129
|
+
if (parsed.description !== undefined) {
|
|
130
|
+
variables.description = parsed.description;
|
|
131
|
+
}
|
|
132
|
+
const response = await client.raw(CREATE_WORKSPACE_MUTATION, variables, { operationName: 'WorkspaceCreate' });
|
|
133
|
+
const data = unwrapOrThrow(responseSchema.safeParse(response.data), {
|
|
134
|
+
context: 'Monday returned a malformed WorkspaceCreate response',
|
|
135
|
+
details: { workspace_name: name },
|
|
136
|
+
hint: 'this is a data-integrity error in Monday\'s response; ' +
|
|
137
|
+
'verify the response shape and update responseSchema if ' +
|
|
138
|
+
'Monday\'s contract has changed.',
|
|
139
|
+
});
|
|
140
|
+
const projected = projectCreatedWorkspace(data.create_workspace, name);
|
|
141
|
+
emitMutation({
|
|
142
|
+
ctx,
|
|
143
|
+
data: projected,
|
|
144
|
+
schema: workspaceCreateCommand.outputSchema,
|
|
145
|
+
programOpts: program.opts(),
|
|
146
|
+
warnings: [],
|
|
147
|
+
...toEmit(response),
|
|
148
|
+
source: 'live',
|
|
149
|
+
cacheAgeSeconds: null,
|
|
150
|
+
});
|
|
151
|
+
});
|
|
152
|
+
},
|
|
153
|
+
};
|
|
154
|
+
const projectCreatedWorkspace = (raw, workspaceName) => {
|
|
155
|
+
if (raw === null || raw === undefined) {
|
|
156
|
+
throw new ApiError('internal_error', `Monday returned no workspace payload from create_workspace for name ${JSON.stringify(workspaceName)}.`, { details: { workspace_name: workspaceName } });
|
|
157
|
+
}
|
|
158
|
+
return unwrapOrThrow(workspaceCreateOutputSchema.safeParse(raw), {
|
|
159
|
+
context: `Monday returned a malformed workspace payload for name ${JSON.stringify(workspaceName)}`,
|
|
160
|
+
details: { workspace_name: workspaceName },
|
|
161
|
+
});
|
|
162
|
+
};
|
|
163
|
+
//# sourceMappingURL=create.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"create.js","sourceRoot":"","sources":["../../../src/commands/workspace/create.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `monday workspace delete <wid> --yes [--dry-run]` — delete an
|
|
3
|
+
* existing workspace (`cli-design.md` §4.3 line 481, `v0.2-plan.md`
|
|
4
|
+
* §3 M14).
|
|
5
|
+
*
|
|
6
|
+
* **Confirmation gate** (cli-design §3.1 #7 + §10.2). `--yes` is
|
|
7
|
+
* mandatory for the live path; without `--yes` (and without
|
|
8
|
+
* `--dry-run`) the command fails fast with `confirmation_required`
|
|
9
|
+
* (exit 1) carrying `details.workspace_id`. Same shape — and same
|
|
10
|
+
* gate-before-`resolveClient()` ordering — as `item delete` /
|
|
11
|
+
* `item archive` / `update delete` (M10 round-1 P2: the gate's
|
|
12
|
+
* contract is unconditional; a missing token must NOT mask
|
|
13
|
+
* `confirmation_required` as `config_error`).
|
|
14
|
+
*
|
|
15
|
+
* The inline gate replicates the 17-LOC pattern from the four prior
|
|
16
|
+
* destructive-verb sites. R29 lift (v0.2-plan §20) consolidates
|
|
17
|
+
* this block + the four prior sites into
|
|
18
|
+
* `src/api/destructive-gate.ts` after M14 implementation lands —
|
|
19
|
+
* workspace delete is the 5th consumer that triggers the lift.
|
|
20
|
+
*
|
|
21
|
+
* **Wire shape.** Single round-trip via `delete_workspace(workspace_
|
|
22
|
+
* id: ID!)`. Monday returns the deleted `Workspace` so the envelope's
|
|
23
|
+
* `data` is the full projection. A null result surfaces as
|
|
24
|
+
* `not_found` — the standard "id was bogus / already deleted"
|
|
25
|
+
* mapping.
|
|
26
|
+
*
|
|
27
|
+
* **Admin-permission-sensitive.** Non-admin callers surface
|
|
28
|
+
* `forbidden` (mapped from Monday's PERMISSION_DENIED extension).
|
|
29
|
+
*
|
|
30
|
+
* **Dry-run shape** per cli-design §6.4 workspace-delete variant:
|
|
31
|
+
* minimal `{operation: "delete_workspace", workspace_id}`. No
|
|
32
|
+
* preflight read fires; the dry-run is purely argv-derived.
|
|
33
|
+
* `meta.source: 'none'`. Same shape (modulo `workspace_id` vs
|
|
34
|
+
* `update_id`) as `update delete` — the destructive-no-read pattern
|
|
35
|
+
* is uniform across `item delete` / `update delete` / `workspace
|
|
36
|
+
* delete`.
|
|
37
|
+
*
|
|
38
|
+
* **Idempotent: false.** Re-running surfaces `not_found` past the
|
|
39
|
+
* first call. Same rationale as `item delete` / `update delete` —
|
|
40
|
+
* agents can't safely retry without verifying the id still names
|
|
41
|
+
* the same record.
|
|
42
|
+
*/
|
|
43
|
+
import { z } from 'zod';
|
|
44
|
+
import { type CommandModule } from '../types.js';
|
|
45
|
+
import { type WorkspaceProjection } from '../../api/workspace-projection.js';
|
|
46
|
+
export declare const workspaceDeleteOutputSchema: z.ZodObject<{
|
|
47
|
+
id: z.ZodString;
|
|
48
|
+
name: z.ZodString;
|
|
49
|
+
description: z.ZodNullable<z.ZodString>;
|
|
50
|
+
kind: z.ZodNullable<z.ZodString>;
|
|
51
|
+
state: z.ZodNullable<z.ZodString>;
|
|
52
|
+
is_default_workspace: z.ZodNullable<z.ZodBoolean>;
|
|
53
|
+
created_at: z.ZodNullable<z.ZodString>;
|
|
54
|
+
settings: z.ZodNullable<z.ZodObject<{
|
|
55
|
+
icon: z.ZodNullable<z.ZodObject<{
|
|
56
|
+
color: z.ZodNullable<z.ZodString>;
|
|
57
|
+
image: z.ZodNullable<z.ZodString>;
|
|
58
|
+
}, z.core.$strict>>;
|
|
59
|
+
}, z.core.$strict>>;
|
|
60
|
+
}, z.core.$strict>;
|
|
61
|
+
export type WorkspaceDeleteOutput = WorkspaceProjection;
|
|
62
|
+
declare const inputSchema: z.ZodObject<{
|
|
63
|
+
workspaceId: z.core.$ZodBranded<z.ZodString, "WorkspaceId", "out">;
|
|
64
|
+
}, z.core.$strict>;
|
|
65
|
+
export declare const workspaceDeleteCommand: CommandModule<z.infer<typeof inputSchema>, WorkspaceDeleteOutput>;
|
|
66
|
+
export {};
|
|
67
|
+
//# sourceMappingURL=delete.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"delete.d.ts","sourceRoot":"","sources":["../../../src/commands/workspace/delete.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAoB,KAAK,aAAa,EAAE,MAAM,aAAa,CAAC;AASnE,OAAO,EAGL,KAAK,mBAAmB,EACzB,MAAM,mCAAmC,CAAC;AAU3C,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;kBAA4B,CAAC;AAErE,MAAM,MAAM,qBAAqB,GAAG,mBAAmB,CAAC;AAExD,QAAA,MAAM,WAAW;;kBAEN,CAAC;AAQZ,eAAO,MAAM,sBAAsB,EAAE,aAAa,CAChD,CAAC,CAAC,KAAK,CAAC,OAAO,WAAW,CAAC,EAC3B,qBAAqB,CA+HtB,CAAC"}
|