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 @@
|
|
|
1
|
+
{"version":3,"file":"list.js","sourceRoot":"","sources":["../../../src/commands/workspace/list.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `monday workspace remove-users <wid> --users <id|email>,...
|
|
3
|
+
* [--dry-run]` — fan-out remove subscribers from a workspace one
|
|
4
|
+
* wire call per user (`cli-design.md` §4.3 line 529, `v0.2-plan.md`
|
|
5
|
+
* §3 M14).
|
|
6
|
+
*
|
|
7
|
+
* **Mirrors `workspace add-users` exactly** modulo the operation
|
|
8
|
+
* (`delete_users_from_workspace` rather than
|
|
9
|
+
* `add_users_to_workspace`) and the dispatch mutation. Same fan-
|
|
10
|
+
* out semantics (one wire call per user); same `--users` parser
|
|
11
|
+
* (numeric argv-derived, email through `userByEmail`); same
|
|
12
|
+
* partial-success envelope including `data.operation`; same
|
|
13
|
+
* `meta.source` aggregation rule (dry-run sees only resolver legs;
|
|
14
|
+
* live folds in every per-target dispatch leg too); same whole-
|
|
15
|
+
* call boundary (`user_not_found` when no dispatchable id remains;
|
|
16
|
+
* `usage_error` for malformed `--users` syntax).
|
|
17
|
+
*
|
|
18
|
+
* **Idempotent: yes** — Monday is no-op on re-removing a non-
|
|
19
|
+
* member. **Admin-permission-sensitive**.
|
|
20
|
+
*
|
|
21
|
+
* **R40 lift (post-M15).** The token parser, resolver loop,
|
|
22
|
+
* dispatch loop, and envelope assembly live in
|
|
23
|
+
* `src/api/users-fan-out-mutation.ts` — three M14 / M15 verbs
|
|
24
|
+
* (workspace add-users / workspace remove-users / board add-users)
|
|
25
|
+
* share the body modulo six per-verb parameters.
|
|
26
|
+
*/
|
|
27
|
+
import { z } from 'zod';
|
|
28
|
+
import { type CommandModule } from '../types.js';
|
|
29
|
+
export declare const workspaceRemoveUsersOutputSchema: z.ZodObject<{
|
|
30
|
+
operation: z.ZodLiteral<"delete_users_from_workspace">;
|
|
31
|
+
results: z.ZodArray<z.ZodObject<{
|
|
32
|
+
user_id: z.ZodString;
|
|
33
|
+
ok: z.ZodBoolean;
|
|
34
|
+
error: z.ZodOptional<z.ZodObject<{
|
|
35
|
+
code: z.ZodString;
|
|
36
|
+
message: z.ZodString;
|
|
37
|
+
}, z.core.$strict>>;
|
|
38
|
+
}, z.core.$strict>>;
|
|
39
|
+
}, z.core.$strict>;
|
|
40
|
+
export type WorkspaceRemoveUsersOutput = z.infer<typeof workspaceRemoveUsersOutputSchema>;
|
|
41
|
+
declare const inputSchema: z.ZodObject<{
|
|
42
|
+
workspaceId: z.core.$ZodBranded<z.ZodString, "WorkspaceId", "out">;
|
|
43
|
+
users: z.ZodString;
|
|
44
|
+
}, z.core.$strict>;
|
|
45
|
+
export declare const workspaceRemoveUsersCommand: CommandModule<z.infer<typeof inputSchema>, WorkspaceRemoveUsersOutput>;
|
|
46
|
+
export {};
|
|
47
|
+
//# sourceMappingURL=remove-users.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"remove-users.d.ts","sourceRoot":"","sources":["../../../src/commands/workspace/remove-users.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAoB,KAAK,aAAa,EAAE,MAAM,aAAa,CAAC;AAgCnE,eAAO,MAAM,gCAAgC;;;;;;;;;;kBAKlC,CAAC;AAEZ,MAAM,MAAM,0BAA0B,GAAG,CAAC,CAAC,KAAK,CAC9C,OAAO,gCAAgC,CACxC,CAAC;AAEF,QAAA,MAAM,WAAW;;;kBAON,CAAC;AAEZ,eAAO,MAAM,2BAA2B,EAAE,aAAa,CACrD,CAAC,CAAC,KAAK,CAAC,OAAO,WAAW,CAAC,EAC3B,0BAA0B,CA8D3B,CAAC"}
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `monday workspace remove-users <wid> --users <id|email>,...
|
|
3
|
+
* [--dry-run]` — fan-out remove subscribers from a workspace one
|
|
4
|
+
* wire call per user (`cli-design.md` §4.3 line 529, `v0.2-plan.md`
|
|
5
|
+
* §3 M14).
|
|
6
|
+
*
|
|
7
|
+
* **Mirrors `workspace add-users` exactly** modulo the operation
|
|
8
|
+
* (`delete_users_from_workspace` rather than
|
|
9
|
+
* `add_users_to_workspace`) and the dispatch mutation. Same fan-
|
|
10
|
+
* out semantics (one wire call per user); same `--users` parser
|
|
11
|
+
* (numeric argv-derived, email through `userByEmail`); same
|
|
12
|
+
* partial-success envelope including `data.operation`; same
|
|
13
|
+
* `meta.source` aggregation rule (dry-run sees only resolver legs;
|
|
14
|
+
* live folds in every per-target dispatch leg too); same whole-
|
|
15
|
+
* call boundary (`user_not_found` when no dispatchable id remains;
|
|
16
|
+
* `usage_error` for malformed `--users` syntax).
|
|
17
|
+
*
|
|
18
|
+
* **Idempotent: yes** — Monday is no-op on re-removing a non-
|
|
19
|
+
* member. **Admin-permission-sensitive**.
|
|
20
|
+
*
|
|
21
|
+
* **R40 lift (post-M15).** The token parser, resolver loop,
|
|
22
|
+
* dispatch loop, and envelope assembly live in
|
|
23
|
+
* `src/api/users-fan-out-mutation.ts` — three M14 / M15 verbs
|
|
24
|
+
* (workspace add-users / workspace remove-users / board add-users)
|
|
25
|
+
* share the body modulo six per-verb parameters.
|
|
26
|
+
*/
|
|
27
|
+
import { z } from 'zod';
|
|
28
|
+
import { ensureSubcommand } from '../types.js';
|
|
29
|
+
import { resolveClient } from '../../api/resolve-client.js';
|
|
30
|
+
import { WorkspaceIdSchema } from '../../types/ids.js';
|
|
31
|
+
import { parseArgv } from '../parse-argv.js';
|
|
32
|
+
import { dispatchUsersFanOut, parseUsersArg, } from '../../api/users-fan-out-mutation.js';
|
|
33
|
+
const REMOVE_USERS_FROM_WORKSPACE_MUTATION = `
|
|
34
|
+
mutation WorkspaceRemoveUsers($workspaceId: ID!, $userIds: [ID!]!) {
|
|
35
|
+
delete_users_from_workspace(workspace_id: $workspaceId, user_ids: $userIds) {
|
|
36
|
+
id
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
`;
|
|
40
|
+
const errorShape = z
|
|
41
|
+
.object({
|
|
42
|
+
code: z.string().min(1),
|
|
43
|
+
message: z.string(),
|
|
44
|
+
})
|
|
45
|
+
.strict();
|
|
46
|
+
const liveResultRecordSchema = z
|
|
47
|
+
.object({
|
|
48
|
+
user_id: z.string().min(1),
|
|
49
|
+
ok: z.boolean(),
|
|
50
|
+
error: errorShape.optional(),
|
|
51
|
+
})
|
|
52
|
+
.strict();
|
|
53
|
+
export const workspaceRemoveUsersOutputSchema = z
|
|
54
|
+
.object({
|
|
55
|
+
operation: z.literal('delete_users_from_workspace'),
|
|
56
|
+
results: z.array(liveResultRecordSchema),
|
|
57
|
+
})
|
|
58
|
+
.strict();
|
|
59
|
+
const inputSchema = z
|
|
60
|
+
.object({
|
|
61
|
+
workspaceId: WorkspaceIdSchema,
|
|
62
|
+
users: z
|
|
63
|
+
.string()
|
|
64
|
+
.min(1, '--users must not be empty'),
|
|
65
|
+
})
|
|
66
|
+
.strict();
|
|
67
|
+
export const workspaceRemoveUsersCommand = {
|
|
68
|
+
name: 'workspace.remove-users',
|
|
69
|
+
summary: 'Remove users from a workspace (partial-success envelope)',
|
|
70
|
+
examples: [
|
|
71
|
+
'monday workspace remove-users 12345 --users 67890,67891',
|
|
72
|
+
'monday workspace remove-users 12345 --users alice@example.test,67891',
|
|
73
|
+
'monday workspace remove-users 12345 --users 67890 --dry-run --json',
|
|
74
|
+
],
|
|
75
|
+
// Re-removing a non-member is a no-op on Monday's side; mark
|
|
76
|
+
// idempotent so agents can retry on transient failure.
|
|
77
|
+
idempotent: true,
|
|
78
|
+
inputSchema,
|
|
79
|
+
outputSchema: workspaceRemoveUsersOutputSchema,
|
|
80
|
+
attach: (program, ctx) => {
|
|
81
|
+
const noun = ensureSubcommand(program, 'workspace', 'Workspace commands');
|
|
82
|
+
noun
|
|
83
|
+
.command('remove-users <workspaceId>')
|
|
84
|
+
.description(workspaceRemoveUsersCommand.summary)
|
|
85
|
+
.requiredOption('--users <list>', 'comma-separated numeric ids and/or emails')
|
|
86
|
+
.addHelpText('after', ['', 'Examples:', ...workspaceRemoveUsersCommand.examples.map((e) => ` ${e}`), ''].join('\n'))
|
|
87
|
+
.action(async (workspaceId, opts) => {
|
|
88
|
+
const parsed = parseArgv(workspaceRemoveUsersCommand.inputSchema, {
|
|
89
|
+
workspaceId,
|
|
90
|
+
...opts,
|
|
91
|
+
});
|
|
92
|
+
// parseUsersArg runs BEFORE resolveClient so a malformed
|
|
93
|
+
// `--users` surfaces as usage_error (exit 1) ahead of any
|
|
94
|
+
// missing-token config_error (exit 3).
|
|
95
|
+
const tokens = parseUsersArg(parsed.users);
|
|
96
|
+
const { client, globalFlags, apiVersion, toEmit } = resolveClient(ctx, program.opts());
|
|
97
|
+
await dispatchUsersFanOut({
|
|
98
|
+
client,
|
|
99
|
+
ctx,
|
|
100
|
+
programOpts: program.opts(),
|
|
101
|
+
globalFlags,
|
|
102
|
+
apiVersion,
|
|
103
|
+
toEmit,
|
|
104
|
+
tokens,
|
|
105
|
+
scope: {
|
|
106
|
+
id: parsed.workspaceId,
|
|
107
|
+
key: 'workspace_id',
|
|
108
|
+
variableKey: 'workspaceId',
|
|
109
|
+
},
|
|
110
|
+
mutation: {
|
|
111
|
+
query: REMOVE_USERS_FROM_WORKSPACE_MUTATION,
|
|
112
|
+
operationName: 'WorkspaceRemoveUsers',
|
|
113
|
+
rootKey: 'delete_users_from_workspace',
|
|
114
|
+
},
|
|
115
|
+
dataOperation: 'delete_users_from_workspace',
|
|
116
|
+
verbDescription: 'workspace remove-users',
|
|
117
|
+
outputSchema: workspaceRemoveUsersOutputSchema,
|
|
118
|
+
});
|
|
119
|
+
});
|
|
120
|
+
},
|
|
121
|
+
};
|
|
122
|
+
//# sourceMappingURL=remove-users.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"remove-users.js","sourceRoot":"","sources":["../../../src/commands/workspace/remove-users.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `monday workspace update <wid> [--name <n>] [--kind open|closed]
|
|
3
|
+
* [--description <d>] [--dry-run]` — change one or more workspace
|
|
4
|
+
* fields (`cli-design.md` §4.3 line 462, `v0.2-plan.md` §3 M14).
|
|
5
|
+
*
|
|
6
|
+
* **Wire shape.** Single round-trip via `update_workspace(id,
|
|
7
|
+
* attributes: UpdateWorkspaceAttributesInput)`. The SDK marks the
|
|
8
|
+
* mutation's `id?` argument as optional but it's required in
|
|
9
|
+
* practice; the CLI takes it as a required positional.
|
|
10
|
+
* `attributes` is `{name?, kind?, description?}` — only the fields
|
|
11
|
+
* the agent provided land on the wire (omitting a flag means
|
|
12
|
+
* "leave unchanged"; partial-input is the SDK's intended shape).
|
|
13
|
+
*
|
|
14
|
+
* **Argv discipline.** At least one of `--name` / `--kind` /
|
|
15
|
+
* `--description` is required — zero-flag invocation surfaces as
|
|
16
|
+
* `usage_error` (exit 1) at argv-parse, before any network leg.
|
|
17
|
+
* Mirrors `item update`'s "at least one of --name / --set / --set-
|
|
18
|
+
* raw required" rule.
|
|
19
|
+
*
|
|
20
|
+
* **Dry-run shape** per cli-design §6.4 workspace-update variant:
|
|
21
|
+
* a field-level diff with `from → to` per provided field. The
|
|
22
|
+
* `from` state requires a preflight `workspace get` read leg, so
|
|
23
|
+
* dry-run is two-leg (read + diff-build); `meta.source: 'live'`
|
|
24
|
+
* because the read fired (workspace metadata isn't cached in v0.2).
|
|
25
|
+
* When the workspace itself doesn't exist, the preflight surfaces
|
|
26
|
+
* `not_found` (exit 2) — agents shouldn't have to interpret a
|
|
27
|
+
* would-fail dry-run shape (mirrors the `item move --to-board`
|
|
28
|
+
* unmatched-columns rule).
|
|
29
|
+
*
|
|
30
|
+
* **Idempotent: yes.** Re-applying the same field values is a no-op
|
|
31
|
+
* on Monday's side — `update_workspace` writes the new attributes
|
|
32
|
+
* verbatim. Mark `idempotent: true` so agents can retry on transient
|
|
33
|
+
* failure without divergence.
|
|
34
|
+
*
|
|
35
|
+
* **NOT destructive** (no `--yes` gate per cli-design §3.1 #7 — the
|
|
36
|
+
* gate is reserved for destructive ops only).
|
|
37
|
+
*/
|
|
38
|
+
import { z } from 'zod';
|
|
39
|
+
import { type CommandModule } from '../types.js';
|
|
40
|
+
import { type WorkspaceProjection } from '../../api/workspace-projection.js';
|
|
41
|
+
export declare const workspaceUpdateOutputSchema: z.ZodObject<{
|
|
42
|
+
id: z.ZodString;
|
|
43
|
+
name: z.ZodString;
|
|
44
|
+
description: z.ZodNullable<z.ZodString>;
|
|
45
|
+
kind: z.ZodNullable<z.ZodString>;
|
|
46
|
+
state: z.ZodNullable<z.ZodString>;
|
|
47
|
+
is_default_workspace: z.ZodNullable<z.ZodBoolean>;
|
|
48
|
+
created_at: z.ZodNullable<z.ZodString>;
|
|
49
|
+
settings: z.ZodNullable<z.ZodObject<{
|
|
50
|
+
icon: z.ZodNullable<z.ZodObject<{
|
|
51
|
+
color: z.ZodNullable<z.ZodString>;
|
|
52
|
+
image: z.ZodNullable<z.ZodString>;
|
|
53
|
+
}, z.core.$strict>>;
|
|
54
|
+
}, z.core.$strict>>;
|
|
55
|
+
}, z.core.$strict>;
|
|
56
|
+
export type WorkspaceUpdateOutput = WorkspaceProjection;
|
|
57
|
+
declare const inputSchema: z.ZodObject<{
|
|
58
|
+
workspaceId: z.core.$ZodBranded<z.ZodString, "WorkspaceId", "out">;
|
|
59
|
+
name: z.ZodOptional<z.ZodString>;
|
|
60
|
+
kind: z.ZodOptional<z.ZodEnum<{
|
|
61
|
+
open: "open";
|
|
62
|
+
closed: "closed";
|
|
63
|
+
}>>;
|
|
64
|
+
description: z.ZodOptional<z.ZodString>;
|
|
65
|
+
}, z.core.$strict>;
|
|
66
|
+
export declare const workspaceUpdateCommand: CommandModule<z.infer<typeof inputSchema>, WorkspaceUpdateOutput>;
|
|
67
|
+
export {};
|
|
68
|
+
//# sourceMappingURL=update.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../../src/commands/workspace/update.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAoB,KAAK,aAAa,EAAE,MAAM,aAAa,CAAC;AAOnE,OAAO,EAGL,KAAK,mBAAmB,EACzB,MAAM,mCAAmC,CAAC;AAkB3C,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;kBAA4B,CAAC;AAErE,MAAM,MAAM,qBAAqB,GAAG,mBAAmB,CAAC;AAExD,QAAA,MAAM,WAAW;;;;;;;;kBAmBd,CAAC;AAmBJ,eAAO,MAAM,sBAAsB,EAAE,aAAa,CAChD,CAAC,CAAC,KAAK,CAAC,OAAO,WAAW,CAAC,EAC3B,qBAAqB,CAyLtB,CAAC"}
|
|
@@ -0,0 +1,237 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `monday workspace update <wid> [--name <n>] [--kind open|closed]
|
|
3
|
+
* [--description <d>] [--dry-run]` — change one or more workspace
|
|
4
|
+
* fields (`cli-design.md` §4.3 line 462, `v0.2-plan.md` §3 M14).
|
|
5
|
+
*
|
|
6
|
+
* **Wire shape.** Single round-trip via `update_workspace(id,
|
|
7
|
+
* attributes: UpdateWorkspaceAttributesInput)`. The SDK marks the
|
|
8
|
+
* mutation's `id?` argument as optional but it's required in
|
|
9
|
+
* practice; the CLI takes it as a required positional.
|
|
10
|
+
* `attributes` is `{name?, kind?, description?}` — only the fields
|
|
11
|
+
* the agent provided land on the wire (omitting a flag means
|
|
12
|
+
* "leave unchanged"; partial-input is the SDK's intended shape).
|
|
13
|
+
*
|
|
14
|
+
* **Argv discipline.** At least one of `--name` / `--kind` /
|
|
15
|
+
* `--description` is required — zero-flag invocation surfaces as
|
|
16
|
+
* `usage_error` (exit 1) at argv-parse, before any network leg.
|
|
17
|
+
* Mirrors `item update`'s "at least one of --name / --set / --set-
|
|
18
|
+
* raw required" rule.
|
|
19
|
+
*
|
|
20
|
+
* **Dry-run shape** per cli-design §6.4 workspace-update variant:
|
|
21
|
+
* a field-level diff with `from → to` per provided field. The
|
|
22
|
+
* `from` state requires a preflight `workspace get` read leg, so
|
|
23
|
+
* dry-run is two-leg (read + diff-build); `meta.source: 'live'`
|
|
24
|
+
* because the read fired (workspace metadata isn't cached in v0.2).
|
|
25
|
+
* When the workspace itself doesn't exist, the preflight surfaces
|
|
26
|
+
* `not_found` (exit 2) — agents shouldn't have to interpret a
|
|
27
|
+
* would-fail dry-run shape (mirrors the `item move --to-board`
|
|
28
|
+
* unmatched-columns rule).
|
|
29
|
+
*
|
|
30
|
+
* **Idempotent: yes.** Re-applying the same field values is a no-op
|
|
31
|
+
* on Monday's side — `update_workspace` writes the new attributes
|
|
32
|
+
* verbatim. Mark `idempotent: true` so agents can retry on transient
|
|
33
|
+
* failure without divergence.
|
|
34
|
+
*
|
|
35
|
+
* **NOT destructive** (no `--yes` gate per cli-design §3.1 #7 — the
|
|
36
|
+
* gate is reserved for destructive ops only).
|
|
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 { WorkspaceIdSchema } from '../../types/ids.js';
|
|
43
|
+
import { parseArgv } from '../parse-argv.js';
|
|
44
|
+
import { ApiError, UsageError } from '../../utils/errors.js';
|
|
45
|
+
import { unwrapOrThrow } from '../../utils/parse-boundary.js';
|
|
46
|
+
import { WORKSPACE_FIELDS_FRAGMENT, workspaceProjectionSchema, } from '../../api/workspace-projection.js';
|
|
47
|
+
const WORKSPACE_UPDATE_PREFLIGHT_QUERY = `
|
|
48
|
+
query WorkspaceUpdatePreflight($ids: [ID!]) {
|
|
49
|
+
workspaces(ids: $ids) {
|
|
50
|
+
${WORKSPACE_FIELDS_FRAGMENT}
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
`;
|
|
54
|
+
const UPDATE_WORKSPACE_MUTATION = `
|
|
55
|
+
mutation WorkspaceUpdate($id: ID!, $attributes: UpdateWorkspaceAttributesInput!) {
|
|
56
|
+
update_workspace(id: $id, attributes: $attributes) {
|
|
57
|
+
${WORKSPACE_FIELDS_FRAGMENT}
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
`;
|
|
61
|
+
export const workspaceUpdateOutputSchema = workspaceProjectionSchema;
|
|
62
|
+
const inputSchema = z
|
|
63
|
+
.object({
|
|
64
|
+
workspaceId: WorkspaceIdSchema,
|
|
65
|
+
name: z
|
|
66
|
+
.string()
|
|
67
|
+
.refine((s) => s.trim().length > 0, {
|
|
68
|
+
message: '--name must be non-empty (whitespace-only is rejected)',
|
|
69
|
+
})
|
|
70
|
+
.optional(),
|
|
71
|
+
kind: z.enum(['open', 'closed']).optional(),
|
|
72
|
+
description: z.string().optional(),
|
|
73
|
+
})
|
|
74
|
+
.strict()
|
|
75
|
+
.refine((v) => v.name !== undefined || v.kind !== undefined || v.description !== undefined, {
|
|
76
|
+
message: 'workspace update requires at least one of --name / --kind / --description',
|
|
77
|
+
});
|
|
78
|
+
const preflightResponseSchema = z
|
|
79
|
+
.object({
|
|
80
|
+
workspaces: z.array(z.unknown()).nullable().optional(),
|
|
81
|
+
})
|
|
82
|
+
.loose();
|
|
83
|
+
const liveResponseSchema = z
|
|
84
|
+
.object({
|
|
85
|
+
update_workspace: z.unknown(),
|
|
86
|
+
})
|
|
87
|
+
.loose();
|
|
88
|
+
export const workspaceUpdateCommand = {
|
|
89
|
+
name: 'workspace.update',
|
|
90
|
+
summary: 'Update one or more fields of a workspace',
|
|
91
|
+
examples: [
|
|
92
|
+
'monday workspace update 12345 --name "Marketing — EU"',
|
|
93
|
+
'monday workspace update 12345 --kind closed',
|
|
94
|
+
'monday workspace update 12345 --name "Renamed" --description "Updated"',
|
|
95
|
+
'monday workspace update 12345 --kind closed --dry-run --json',
|
|
96
|
+
],
|
|
97
|
+
// update_workspace is body-replace per provided field — re-running
|
|
98
|
+
// with the same values is a server-side no-op. Mark idempotent so
|
|
99
|
+
// agents can retry on transient failure.
|
|
100
|
+
idempotent: true,
|
|
101
|
+
inputSchema,
|
|
102
|
+
outputSchema: workspaceUpdateOutputSchema,
|
|
103
|
+
attach: (program, ctx) => {
|
|
104
|
+
const noun = ensureSubcommand(program, 'workspace', 'Workspace commands');
|
|
105
|
+
noun
|
|
106
|
+
.command('update <workspaceId>')
|
|
107
|
+
.description(workspaceUpdateCommand.summary)
|
|
108
|
+
.option('--name <n>', 'new workspace name')
|
|
109
|
+
.option('--kind <k>', 'new workspace kind: open|closed')
|
|
110
|
+
.option('--description <d>', 'new workspace description')
|
|
111
|
+
.addHelpText('after', ['', 'Examples:', ...workspaceUpdateCommand.examples.map((e) => ` ${e}`), ''].join('\n'))
|
|
112
|
+
.action(async (workspaceId, opts) => {
|
|
113
|
+
const parsed = parseArgv(workspaceUpdateCommand.inputSchema, {
|
|
114
|
+
workspaceId,
|
|
115
|
+
...opts,
|
|
116
|
+
});
|
|
117
|
+
// Trim post-parse so the wire call sends the canonical form;
|
|
118
|
+
// the schema's `.refine()` already rejected whitespace-only
|
|
119
|
+
// input but didn't strip surrounding whitespace. Description
|
|
120
|
+
// is intentionally left untrimmed — workspace descriptions
|
|
121
|
+
// legitimately carry leading whitespace for formatting.
|
|
122
|
+
const trimmedName = parsed.name?.trim();
|
|
123
|
+
const { client, globalFlags, apiVersion, toEmit } = resolveClient(ctx, program.opts());
|
|
124
|
+
if (globalFlags.dryRun) {
|
|
125
|
+
// Preflight `workspaces(ids:)` read to surface the `from`
|
|
126
|
+
// state per provided field. `meta.source: 'live'` — the
|
|
127
|
+
// read fires; workspace metadata isn't cached in v0.2.
|
|
128
|
+
const preflight = await client.raw(WORKSPACE_UPDATE_PREFLIGHT_QUERY, { ids: [parsed.workspaceId] }, { operationName: 'WorkspaceUpdatePreflight' });
|
|
129
|
+
const preflightData = unwrapOrThrow(preflightResponseSchema.safeParse(preflight.data), {
|
|
130
|
+
context: 'Monday returned a malformed WorkspaceUpdatePreflight response',
|
|
131
|
+
details: { workspace_id: parsed.workspaceId },
|
|
132
|
+
});
|
|
133
|
+
const first = (preflightData.workspaces ?? [])[0];
|
|
134
|
+
if (first === undefined || first === null) {
|
|
135
|
+
throw new ApiError('not_found', `Monday returned no workspace for id ${parsed.workspaceId}`, { details: { workspace_id: parsed.workspaceId } });
|
|
136
|
+
}
|
|
137
|
+
const current = unwrapOrThrow(workspaceUpdateOutputSchema.safeParse(first), {
|
|
138
|
+
context: 'Monday returned a malformed workspace payload (preflight)',
|
|
139
|
+
details: { workspace_id: parsed.workspaceId },
|
|
140
|
+
});
|
|
141
|
+
const diff = {};
|
|
142
|
+
if (trimmedName !== undefined) {
|
|
143
|
+
diff.name = { from: current.name, to: trimmedName };
|
|
144
|
+
}
|
|
145
|
+
if (parsed.kind !== undefined) {
|
|
146
|
+
diff.kind = { from: current.kind, to: parsed.kind };
|
|
147
|
+
}
|
|
148
|
+
if (parsed.description !== undefined) {
|
|
149
|
+
diff.description = {
|
|
150
|
+
from: current.description,
|
|
151
|
+
to: parsed.description,
|
|
152
|
+
};
|
|
153
|
+
}
|
|
154
|
+
emitDryRun({
|
|
155
|
+
ctx,
|
|
156
|
+
programOpts: program.opts(),
|
|
157
|
+
plannedChanges: [
|
|
158
|
+
{
|
|
159
|
+
operation: 'update_workspace',
|
|
160
|
+
workspace_id: parsed.workspaceId,
|
|
161
|
+
diff,
|
|
162
|
+
},
|
|
163
|
+
],
|
|
164
|
+
source: 'live',
|
|
165
|
+
cacheAgeSeconds: null,
|
|
166
|
+
warnings: [],
|
|
167
|
+
apiVersion,
|
|
168
|
+
});
|
|
169
|
+
return;
|
|
170
|
+
}
|
|
171
|
+
// Live path. Build the partial `attributes` payload —
|
|
172
|
+
// only set keys for fields the agent explicitly provided so
|
|
173
|
+
// Monday leaves untouched fields alone.
|
|
174
|
+
const attributes = {};
|
|
175
|
+
if (trimmedName !== undefined)
|
|
176
|
+
attributes.name = trimmedName;
|
|
177
|
+
if (parsed.kind !== undefined)
|
|
178
|
+
attributes.kind = parsed.kind;
|
|
179
|
+
if (parsed.description !== undefined) {
|
|
180
|
+
attributes.description = parsed.description;
|
|
181
|
+
}
|
|
182
|
+
// Defensive: the schema's `.refine()` already enforces "at
|
|
183
|
+
// least one of --name / --kind / --description", but if a
|
|
184
|
+
// future regression bypassed argv-parse the empty `attributes`
|
|
185
|
+
// would surface as a Monday-side validation error — surface
|
|
186
|
+
// it as `usage_error` so the failure mode stays consistent.
|
|
187
|
+
/* c8 ignore next 6 */
|
|
188
|
+
if (Object.keys(attributes).length === 0) {
|
|
189
|
+
throw new UsageError('workspace update requires at least one of --name / --kind / --description', { details: { workspace_id: parsed.workspaceId } });
|
|
190
|
+
}
|
|
191
|
+
const response = await client.raw(UPDATE_WORKSPACE_MUTATION, { id: parsed.workspaceId, attributes }, { operationName: 'WorkspaceUpdate' });
|
|
192
|
+
const data = unwrapOrThrow(liveResponseSchema.safeParse(response.data), {
|
|
193
|
+
context: 'Monday returned a malformed WorkspaceUpdate response',
|
|
194
|
+
details: { workspace_id: parsed.workspaceId },
|
|
195
|
+
hint: 'this is a data-integrity error in Monday\'s response; ' +
|
|
196
|
+
'verify the response shape and update responseSchema if ' +
|
|
197
|
+
'Monday\'s contract has changed.',
|
|
198
|
+
});
|
|
199
|
+
// Codex M14 round-3 F1: distinguish "root key absent"
|
|
200
|
+
// (schema-drift → internal_error) from "value null"
|
|
201
|
+
// (workspace missing → not_found). Pre-fix, both landed
|
|
202
|
+
// as not_found and agents couldn't tell a CLI/API contract
|
|
203
|
+
// break from a normal resource absence.
|
|
204
|
+
if (!('update_workspace' in data)) {
|
|
205
|
+
throw new ApiError('internal_error', `Monday's WorkspaceUpdate response is missing the update_workspace root field`, {
|
|
206
|
+
details: {
|
|
207
|
+
workspace_id: parsed.workspaceId,
|
|
208
|
+
hint: 'this is a schema-drift error in Monday\'s GraphQL ' +
|
|
209
|
+
'response; verify the mutation declaration and update ' +
|
|
210
|
+
'the response schema if Monday\'s contract has changed.',
|
|
211
|
+
},
|
|
212
|
+
});
|
|
213
|
+
}
|
|
214
|
+
const projected = projectUpdatedWorkspace(data.update_workspace, parsed.workspaceId);
|
|
215
|
+
emitMutation({
|
|
216
|
+
ctx,
|
|
217
|
+
data: projected,
|
|
218
|
+
schema: workspaceUpdateCommand.outputSchema,
|
|
219
|
+
programOpts: program.opts(),
|
|
220
|
+
warnings: [],
|
|
221
|
+
...toEmit(response),
|
|
222
|
+
source: 'live',
|
|
223
|
+
cacheAgeSeconds: null,
|
|
224
|
+
});
|
|
225
|
+
});
|
|
226
|
+
},
|
|
227
|
+
};
|
|
228
|
+
const projectUpdatedWorkspace = (raw, workspaceId) => {
|
|
229
|
+
if (raw === null || raw === undefined) {
|
|
230
|
+
throw new ApiError('not_found', `Monday returned no workspace payload from update_workspace for id ${workspaceId}`, { details: { workspace_id: workspaceId } });
|
|
231
|
+
}
|
|
232
|
+
return unwrapOrThrow(workspaceUpdateOutputSchema.safeParse(raw), {
|
|
233
|
+
context: `Monday returned a malformed workspace payload for id ${workspaceId}`,
|
|
234
|
+
details: { workspace_id: workspaceId },
|
|
235
|
+
});
|
|
236
|
+
};
|
|
237
|
+
//# sourceMappingURL=update.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"update.js","sourceRoot":"","sources":["../../../src/commands/workspace/update.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
export interface Config {
|
|
2
|
+
readonly apiToken: string;
|
|
3
|
+
readonly apiVersion: string | undefined;
|
|
4
|
+
readonly apiUrl: string;
|
|
5
|
+
readonly requestTimeoutMs: number;
|
|
6
|
+
}
|
|
7
|
+
export interface LoadConfigOptions {
|
|
8
|
+
/**
|
|
9
|
+
* Whether to read a `.env` file from `cwd` and merge it into `env` with
|
|
10
|
+
* existing values winning. Defaults to `true` only when `env` is the
|
|
11
|
+
* live `process.env`; tests that inject their own env get a clean
|
|
12
|
+
* read by default.
|
|
13
|
+
*/
|
|
14
|
+
readonly loadDotenv?: boolean;
|
|
15
|
+
/** Directory to look for `.env` in. Defaults to `process.cwd()`. */
|
|
16
|
+
readonly cwd?: string;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Resolves runtime config from environment variables.
|
|
20
|
+
*
|
|
21
|
+
* Validation is strict so misconfiguration surfaces at startup, not on
|
|
22
|
+
* the first GraphQL call. Raw `ZodError`s never escape — they're wrapped
|
|
23
|
+
* in `ConfigError` (`code: "config_error"`, exit 3 per `cli-design.md`
|
|
24
|
+
* §3.1 #5) with a structured `details.issues` per zod path. The runner's
|
|
25
|
+
* catch-all sees a typed CLI error and emits the §6 envelope; without
|
|
26
|
+
* the wrap, a missing token surfaces as `internal_error` and exit 2.
|
|
27
|
+
*
|
|
28
|
+
* `.env` is loaded with `override: false` so explicit shell exports
|
|
29
|
+
* always win over file defaults — agents pinning a token in their
|
|
30
|
+
* shell aren't surprised by a stale `.env` next to the repo.
|
|
31
|
+
*/
|
|
32
|
+
export declare const loadConfig: (env?: NodeJS.ProcessEnv, options?: LoadConfigOptions) => Config;
|
|
33
|
+
//# sourceMappingURL=load.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"load.d.ts","sourceRoot":"","sources":["../../src/config/load.ts"],"names":[],"mappings":"AAeA,MAAM,WAAW,MAAM;IACrB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;IACxC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;CACnC;AAED,MAAM,WAAW,iBAAiB;IAChC;;;;;OAKG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC;IAC9B,oEAAoE;IACpE,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,UAAU,GACrB,MAAK,MAAM,CAAC,UAAwB,EACpC,UAAS,iBAAsB,KAC9B,MAwDF,CAAC"}
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
import { config as dotenvConfig } from 'dotenv';
|
|
2
|
+
import { resolve } from 'node:path';
|
|
3
|
+
import { z } from 'zod';
|
|
4
|
+
import { ConfigError } from '../utils/errors.js';
|
|
5
|
+
// Validate the env vars under their actual names so error messages
|
|
6
|
+
// reference what the user can fix (`MONDAY_API_TOKEN`) rather than the
|
|
7
|
+
// internal camelCase property.
|
|
8
|
+
const envSchema = z.object({
|
|
9
|
+
MONDAY_API_TOKEN: z.string().min(1),
|
|
10
|
+
MONDAY_API_VERSION: z.string().regex(/^\d{4}-\d{2}$/u).optional(),
|
|
11
|
+
MONDAY_API_URL: z.url().default('https://api.monday.com/v2'),
|
|
12
|
+
MONDAY_REQUEST_TIMEOUT_MS: z.coerce.number().int().positive().default(30_000),
|
|
13
|
+
});
|
|
14
|
+
/**
|
|
15
|
+
* Resolves runtime config from environment variables.
|
|
16
|
+
*
|
|
17
|
+
* Validation is strict so misconfiguration surfaces at startup, not on
|
|
18
|
+
* the first GraphQL call. Raw `ZodError`s never escape — they're wrapped
|
|
19
|
+
* in `ConfigError` (`code: "config_error"`, exit 3 per `cli-design.md`
|
|
20
|
+
* §3.1 #5) with a structured `details.issues` per zod path. The runner's
|
|
21
|
+
* catch-all sees a typed CLI error and emits the §6 envelope; without
|
|
22
|
+
* the wrap, a missing token surfaces as `internal_error` and exit 2.
|
|
23
|
+
*
|
|
24
|
+
* `.env` is loaded with `override: false` so explicit shell exports
|
|
25
|
+
* always win over file defaults — agents pinning a token in their
|
|
26
|
+
* shell aren't surprised by a stale `.env` next to the repo.
|
|
27
|
+
*/
|
|
28
|
+
export const loadConfig = (env = process.env, options = {}) => {
|
|
29
|
+
const { loadDotenv = env === process.env, cwd = process.cwd() } = options;
|
|
30
|
+
if (loadDotenv) {
|
|
31
|
+
dotenvConfig({
|
|
32
|
+
path: resolve(cwd, '.env'),
|
|
33
|
+
processEnv: env,
|
|
34
|
+
override: false,
|
|
35
|
+
quiet: true,
|
|
36
|
+
});
|
|
37
|
+
}
|
|
38
|
+
const result = envSchema.safeParse({
|
|
39
|
+
MONDAY_API_TOKEN: env.MONDAY_API_TOKEN,
|
|
40
|
+
MONDAY_API_VERSION: env.MONDAY_API_VERSION,
|
|
41
|
+
MONDAY_API_URL: env.MONDAY_API_URL,
|
|
42
|
+
MONDAY_REQUEST_TIMEOUT_MS: env.MONDAY_REQUEST_TIMEOUT_MS,
|
|
43
|
+
});
|
|
44
|
+
if (!result.success) {
|
|
45
|
+
const issues = result.error.issues.map((issue) => ({
|
|
46
|
+
path: issue.path.join('.'),
|
|
47
|
+
message: issue.message,
|
|
48
|
+
code: issue.code,
|
|
49
|
+
}));
|
|
50
|
+
const summary = issues
|
|
51
|
+
.map((i) => (i.path ? `${i.path}: ${i.message}` : i.message))
|
|
52
|
+
.join('; ');
|
|
53
|
+
const failedPaths = new Set(issues.map((i) => i.path));
|
|
54
|
+
// Conditional hint: only point at MONDAY_API_TOKEN when the
|
|
55
|
+
// missing-token path is what failed. For malformed
|
|
56
|
+
// version/URL/timeout we name the right env var per-issue
|
|
57
|
+
// instead of misleading the agent toward an unrelated fix.
|
|
58
|
+
const details = { issues };
|
|
59
|
+
if (failedPaths.has('MONDAY_API_TOKEN')) {
|
|
60
|
+
details.hint = 'set MONDAY_API_TOKEN in your shell or .env';
|
|
61
|
+
}
|
|
62
|
+
else if (failedPaths.has('MONDAY_API_VERSION')) {
|
|
63
|
+
details.hint = 'MONDAY_API_VERSION must match YYYY-MM (e.g. 2026-01)';
|
|
64
|
+
}
|
|
65
|
+
else if (failedPaths.has('MONDAY_API_URL')) {
|
|
66
|
+
details.hint = 'MONDAY_API_URL must be a valid URL';
|
|
67
|
+
}
|
|
68
|
+
else if (failedPaths.has('MONDAY_REQUEST_TIMEOUT_MS')) {
|
|
69
|
+
details.hint = 'MONDAY_REQUEST_TIMEOUT_MS must be a positive integer (ms)';
|
|
70
|
+
}
|
|
71
|
+
throw new ConfigError(`invalid Monday CLI config: ${summary}`, { cause: result.error, details });
|
|
72
|
+
}
|
|
73
|
+
const parsed = result.data;
|
|
74
|
+
return {
|
|
75
|
+
apiToken: parsed.MONDAY_API_TOKEN,
|
|
76
|
+
apiVersion: parsed.MONDAY_API_VERSION,
|
|
77
|
+
apiUrl: parsed.MONDAY_API_URL,
|
|
78
|
+
requestTimeoutMs: parsed.MONDAY_REQUEST_TIMEOUT_MS,
|
|
79
|
+
};
|
|
80
|
+
};
|
|
81
|
+
//# sourceMappingURL=load.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"load.js","sourceRoot":"","sources":["../../src/config/load.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,YAAY,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC"}
|