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,254 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Three-pass column resolution + value translation for `--set` and
|
|
3
|
+
* `--set-raw` entries.
|
|
4
|
+
*
|
|
5
|
+
* Lifted from five sites — see v0.2-plan §12 R20:
|
|
6
|
+
* - `api/dry-run.ts planChanges` (single-item dry-run)
|
|
7
|
+
* - `api/dry-run.ts planCreate` (create dry-run)
|
|
8
|
+
* - `commands/item/update.ts` action (single-item live)
|
|
9
|
+
* - `commands/item/update.ts runBulk` (bulk live)
|
|
10
|
+
* - `commands/item/create.ts` action (create live)
|
|
11
|
+
*
|
|
12
|
+
* Each implemented the same ~80-90 LOC three-pass discipline:
|
|
13
|
+
*
|
|
14
|
+
* - **Pass (a)** — resolve every `--set` token, then every
|
|
15
|
+
* `--set-raw` token, against the supplied board. Same-token
|
|
16
|
+
* duplicates surface as `usage_error` (cli-design §5.3 line
|
|
17
|
+
* 961-972). Archived columns surface as `column_archived` (per
|
|
18
|
+
* §5.3 step 6 — "Mutations against archived columns return
|
|
19
|
+
* `column_archived` regardless"). Each leg's `source` /
|
|
20
|
+
* `cacheAgeSeconds` / `warnings` aggregates into the running
|
|
21
|
+
* totals.
|
|
22
|
+
*
|
|
23
|
+
* - **Pass (b)** — cross-token duplicate-resolved-ID check. Two
|
|
24
|
+
* distinct tokens (e.g. `status` and `id:status_4`, or `--set
|
|
25
|
+
* status=Done` and `--set-raw id:status_4='{...}'`) resolving to
|
|
26
|
+
* the same column ID surface as `usage_error`. The check fires
|
|
27
|
+
* pre-translation to keep the engine from producing a half-built
|
|
28
|
+
* diff and to avoid translator errors pre-empting the mutual-
|
|
29
|
+
* exclusion error (Codex M8 finding #2).
|
|
30
|
+
*
|
|
31
|
+
* - **Pass (c)** — translate. Friendly entries through
|
|
32
|
+
* `translateColumnValueAsync`; raw entries through
|
|
33
|
+
* `translateRawColumnValue`. Each catch folds the cumulative
|
|
34
|
+
* `warnings` array (every leg's warnings) so prior tokens'
|
|
35
|
+
* collision / `stale_cache_refreshed` signals survive into
|
|
36
|
+
* the failure envelope's `details.resolver_warnings` (Codex M8
|
|
37
|
+
* finding #1, M5b R19 contract).
|
|
38
|
+
*
|
|
39
|
+
* **Why this lift earns its place pre-M10.** M10 archive / delete /
|
|
40
|
+
* duplicate don't take `--set` so they're not consumers — but R20's
|
|
41
|
+
* payoff is in the M5b/M9 sites that already exist: a fix to the
|
|
42
|
+
* three-pass shape (bug, perf, contract change) lands in one place
|
|
43
|
+
* rather than five. Also a consistency win — pre-lift the message
|
|
44
|
+
* wording diverged across sites ("Monday rejects mutations against
|
|
45
|
+
* archived columns" vs "Monday rejects writes against archived
|
|
46
|
+
* columns") and the ApiError-vs-MondayCliError catch in pass (c)
|
|
47
|
+
* was inconsistent (planChanges/planCreate caught only `ApiError`,
|
|
48
|
+
* missing translator UsageErrors; update.ts/create.ts caught
|
|
49
|
+
* `MondayCliError`). The lift normalises both.
|
|
50
|
+
*
|
|
51
|
+
* **Behaviour-preservation contract.** Every existing test passes
|
|
52
|
+
* byte-for-byte. The two consistency normalisations above
|
|
53
|
+
* (archived-message wording + UsageError catch in dry-run paths)
|
|
54
|
+
* are observable but no test exercises them, and the unified
|
|
55
|
+
* behaviour is the M5b R19 contract's intent.
|
|
56
|
+
*/
|
|
57
|
+
import { ApiError, MondayCliError } from '../utils/errors.js';
|
|
58
|
+
import { resolveColumnWithRefresh, } from './columns.js';
|
|
59
|
+
import { translateColumnValueAsync, } from './column-values.js';
|
|
60
|
+
import { translateRawColumnValue } from './raw-write.js';
|
|
61
|
+
import { foldResolverWarningsIntoError } from './resolver-error-fold.js';
|
|
62
|
+
import { mergeSource, mergeCacheAge } from './source-aggregator.js';
|
|
63
|
+
const SAME_SET_TOKEN_MESSAGE = (token) => `Multiple --set entries target column token ${JSON.stringify(token)}. ` +
|
|
64
|
+
`Pass at most one --set per column; if two tokens resolve to the ` +
|
|
65
|
+
`same column ID after NFC + case-fold normalisation, use the ` +
|
|
66
|
+
`\`id:<column_id>\` prefix to disambiguate.`;
|
|
67
|
+
const SAME_RAW_OR_SHARED_TOKEN_MESSAGE = (token) => `Multiple --set / --set-raw entries target column token ` +
|
|
68
|
+
`${JSON.stringify(token)}. Pass at most one per column; ` +
|
|
69
|
+
`if two tokens resolve to the same column ID after NFC + ` +
|
|
70
|
+
`case-fold normalisation, use the \`id:<column_id>\` prefix to ` +
|
|
71
|
+
`disambiguate.`;
|
|
72
|
+
const ARCHIVED_MESSAGE = (columnId, boardId) => `Column ${JSON.stringify(columnId)} on board ` +
|
|
73
|
+
`${boardId} is archived. Monday rejects writes against ` +
|
|
74
|
+
`archived columns; un-archive the column or pick a different target.`;
|
|
75
|
+
/**
|
|
76
|
+
* Builds a `column_archived` ApiError with the unified §6.5 wording
|
|
77
|
+
* + the canonical `details` slot (column_id / column_title /
|
|
78
|
+
* column_type / board_id). Single source of truth for the
|
|
79
|
+
* pre-mutation archived-column check; the three single-token
|
|
80
|
+
* surfaces (`item set`, `item clear`, `planClear`) call this so the
|
|
81
|
+
* message matches the helper-backed multi-token surfaces (`item
|
|
82
|
+
* update` single + bulk, `item create`, `planChanges`,
|
|
83
|
+
* `planCreate`). Mirrors the M5b R19 message convention; the
|
|
84
|
+
* `column_archived` error from the post-mutation F4 remap in
|
|
85
|
+
* `resolver-error-fold.ts` keeps its remap-specific message because
|
|
86
|
+
* the remap context is observably distinct (forced refresh +
|
|
87
|
+
* `details.remapped_from`).
|
|
88
|
+
*/
|
|
89
|
+
export const buildColumnArchivedError = (inputs) => new ApiError('column_archived', ARCHIVED_MESSAGE(inputs.columnId, inputs.boardId), {
|
|
90
|
+
details: {
|
|
91
|
+
column_id: inputs.columnId,
|
|
92
|
+
column_title: inputs.columnTitle,
|
|
93
|
+
column_type: inputs.columnType,
|
|
94
|
+
board_id: inputs.boardId,
|
|
95
|
+
},
|
|
96
|
+
});
|
|
97
|
+
export const resolveAndTranslate = async (inputs) => {
|
|
98
|
+
const warnings = [];
|
|
99
|
+
const resolvedIds = {};
|
|
100
|
+
let aggregateSource = inputs.initialSource;
|
|
101
|
+
let aggregateCacheAge = inputs.initialCacheAgeSeconds ?? null;
|
|
102
|
+
const resolved = [];
|
|
103
|
+
// Pass (a-set) — resolve every --set token. `includeArchived: true`
|
|
104
|
+
// so archived columns surface as `column_archived` rather than
|
|
105
|
+
// `column_not_found` (cli-design §5.3 step 6).
|
|
106
|
+
for (const entry of inputs.setEntries) {
|
|
107
|
+
if (resolvedIds[entry.token] !== undefined) {
|
|
108
|
+
throw foldResolverWarningsIntoError(new ApiError('usage_error', SAME_SET_TOKEN_MESSAGE(entry.token), {
|
|
109
|
+
details: {
|
|
110
|
+
token: entry.token,
|
|
111
|
+
resolved_id: resolvedIds[entry.token],
|
|
112
|
+
},
|
|
113
|
+
}), warnings);
|
|
114
|
+
}
|
|
115
|
+
const resolution = await resolveColumnWithRefresh({
|
|
116
|
+
client: inputs.client,
|
|
117
|
+
boardId: inputs.boardId,
|
|
118
|
+
token: entry.token,
|
|
119
|
+
includeArchived: true,
|
|
120
|
+
...(inputs.env === undefined ? {} : { env: inputs.env }),
|
|
121
|
+
...(inputs.noCache === undefined ? {} : { noCache: inputs.noCache }),
|
|
122
|
+
});
|
|
123
|
+
warnings.push(...resolution.warnings);
|
|
124
|
+
aggregateSource = mergeSource(aggregateSource, resolution.source);
|
|
125
|
+
aggregateCacheAge = mergeCacheAge(aggregateCacheAge, resolution.cacheAgeSeconds);
|
|
126
|
+
if (resolution.match.column.archived === true) {
|
|
127
|
+
throw foldResolverWarningsIntoError(buildColumnArchivedError({
|
|
128
|
+
columnId: resolution.match.column.id,
|
|
129
|
+
columnTitle: resolution.match.column.title,
|
|
130
|
+
columnType: resolution.match.column.type,
|
|
131
|
+
boardId: inputs.boardId,
|
|
132
|
+
}), warnings);
|
|
133
|
+
}
|
|
134
|
+
resolved.push({
|
|
135
|
+
kind: 'set',
|
|
136
|
+
token: entry.token,
|
|
137
|
+
value: entry.value,
|
|
138
|
+
columnId: resolution.match.column.id,
|
|
139
|
+
columnType: resolution.match.column.type,
|
|
140
|
+
});
|
|
141
|
+
resolvedIds[entry.token] = resolution.match.column.id;
|
|
142
|
+
}
|
|
143
|
+
// Pass (a-raw) — resolve every --set-raw token. Same-token
|
|
144
|
+
// duplicates within raw OR shared with a friendly --set entry
|
|
145
|
+
// surface as usage_error per cli-design §5.3 line 961-972.
|
|
146
|
+
for (const entry of inputs.rawEntries) {
|
|
147
|
+
if (resolvedIds[entry.token] !== undefined) {
|
|
148
|
+
throw foldResolverWarningsIntoError(new ApiError('usage_error', SAME_RAW_OR_SHARED_TOKEN_MESSAGE(entry.token), {
|
|
149
|
+
details: {
|
|
150
|
+
token: entry.token,
|
|
151
|
+
resolved_id: resolvedIds[entry.token],
|
|
152
|
+
},
|
|
153
|
+
}), warnings);
|
|
154
|
+
}
|
|
155
|
+
const resolution = await resolveColumnWithRefresh({
|
|
156
|
+
client: inputs.client,
|
|
157
|
+
boardId: inputs.boardId,
|
|
158
|
+
token: entry.token,
|
|
159
|
+
includeArchived: true,
|
|
160
|
+
...(inputs.env === undefined ? {} : { env: inputs.env }),
|
|
161
|
+
...(inputs.noCache === undefined ? {} : { noCache: inputs.noCache }),
|
|
162
|
+
});
|
|
163
|
+
warnings.push(...resolution.warnings);
|
|
164
|
+
aggregateSource = mergeSource(aggregateSource, resolution.source);
|
|
165
|
+
aggregateCacheAge = mergeCacheAge(aggregateCacheAge, resolution.cacheAgeSeconds);
|
|
166
|
+
if (resolution.match.column.archived === true) {
|
|
167
|
+
throw foldResolverWarningsIntoError(buildColumnArchivedError({
|
|
168
|
+
columnId: resolution.match.column.id,
|
|
169
|
+
columnTitle: resolution.match.column.title,
|
|
170
|
+
columnType: resolution.match.column.type,
|
|
171
|
+
boardId: inputs.boardId,
|
|
172
|
+
}), warnings);
|
|
173
|
+
}
|
|
174
|
+
resolved.push({
|
|
175
|
+
kind: 'raw',
|
|
176
|
+
token: entry.token,
|
|
177
|
+
entry,
|
|
178
|
+
columnId: resolution.match.column.id,
|
|
179
|
+
columnType: resolution.match.column.type,
|
|
180
|
+
});
|
|
181
|
+
resolvedIds[entry.token] = resolution.match.column.id;
|
|
182
|
+
}
|
|
183
|
+
// Pass (b) — cross-token duplicate-resolved-ID check.
|
|
184
|
+
const seenColumnIds = new Set();
|
|
185
|
+
for (const r of resolved) {
|
|
186
|
+
if (seenColumnIds.has(r.columnId)) {
|
|
187
|
+
throw foldResolverWarningsIntoError(new ApiError('usage_error', `Multiple --set / --set-raw entries resolve to the same column ID ` +
|
|
188
|
+
`${JSON.stringify(r.columnId)} (last token: ` +
|
|
189
|
+
`${JSON.stringify(r.token)}). Pass at most one per column.`, {
|
|
190
|
+
details: {
|
|
191
|
+
column_id: r.columnId,
|
|
192
|
+
tokens: resolved
|
|
193
|
+
.filter((x) => x.columnId === r.columnId)
|
|
194
|
+
.map((x) => x.token),
|
|
195
|
+
},
|
|
196
|
+
}), warnings);
|
|
197
|
+
}
|
|
198
|
+
seenColumnIds.add(r.columnId);
|
|
199
|
+
}
|
|
200
|
+
// Pass (c) — translate. Order preserved: friendly --set entries
|
|
201
|
+
// first (argv order), then raw entries (argv order). Each catch
|
|
202
|
+
// folds the cumulative `warnings` so prior tokens' collision /
|
|
203
|
+
// stale_cache_refreshed signals survive (Codex M8 finding #1,
|
|
204
|
+
// M5b R19 contract). MondayCliError catches both translator
|
|
205
|
+
// UsageErrors (date / dropdown / people invalid input) and
|
|
206
|
+
// ApiErrors (`unsupported_column_type`, `user_not_found`); pre-
|
|
207
|
+
// lift the dry-run paths only caught ApiError, missing translator
|
|
208
|
+
// UsageErrors that the M5b contract says should fold.
|
|
209
|
+
const translated = [];
|
|
210
|
+
for (const r of resolved) {
|
|
211
|
+
if (r.kind === 'set') {
|
|
212
|
+
try {
|
|
213
|
+
const t = await translateColumnValueAsync({
|
|
214
|
+
column: { id: r.columnId, type: r.columnType },
|
|
215
|
+
value: r.value,
|
|
216
|
+
...(inputs.dateResolution === undefined
|
|
217
|
+
? {}
|
|
218
|
+
: { dateResolution: inputs.dateResolution }),
|
|
219
|
+
...(inputs.peopleResolution === undefined
|
|
220
|
+
? {}
|
|
221
|
+
: { peopleResolution: inputs.peopleResolution }),
|
|
222
|
+
});
|
|
223
|
+
translated.push(t);
|
|
224
|
+
}
|
|
225
|
+
catch (err) {
|
|
226
|
+
if (err instanceof MondayCliError) {
|
|
227
|
+
throw foldResolverWarningsIntoError(err, warnings);
|
|
228
|
+
}
|
|
229
|
+
throw err;
|
|
230
|
+
}
|
|
231
|
+
}
|
|
232
|
+
else {
|
|
233
|
+
try {
|
|
234
|
+
const t = translateRawColumnValue({ id: r.columnId, type: r.columnType }, r.entry.value, r.entry.rawJson);
|
|
235
|
+
translated.push(t);
|
|
236
|
+
}
|
|
237
|
+
catch (err) {
|
|
238
|
+
if (err instanceof MondayCliError) {
|
|
239
|
+
throw foldResolverWarningsIntoError(err, warnings);
|
|
240
|
+
}
|
|
241
|
+
throw err;
|
|
242
|
+
}
|
|
243
|
+
}
|
|
244
|
+
}
|
|
245
|
+
return {
|
|
246
|
+
resolved,
|
|
247
|
+
translated,
|
|
248
|
+
resolvedIds,
|
|
249
|
+
warnings,
|
|
250
|
+
source: aggregateSource,
|
|
251
|
+
cacheAgeSeconds: aggregateCacheAge,
|
|
252
|
+
};
|
|
253
|
+
};
|
|
254
|
+
//# sourceMappingURL=resolution-pass.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resolution-pass.js","sourceRoot":"","sources":["../../src/api/resolution-pass.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared `MondayClient` construction for every network command.
|
|
3
|
+
*
|
|
4
|
+
* Each network command needs the same plumbing — load config (for
|
|
5
|
+
* the API token + URL + version), pick up global flags (`--retry`,
|
|
6
|
+
* `--verbose`, `--api-version`, `--timeout`), and either wrap the
|
|
7
|
+
* injected `Transport` (test path) or build a `FetchTransport` from
|
|
8
|
+
* config (production path). Centralising here:
|
|
9
|
+
*
|
|
10
|
+
* - keeps the action body in each command focused on the GraphQL
|
|
11
|
+
* call + envelope mapping;
|
|
12
|
+
* - means the `--api-version` precedence rule (flag > env > SDK
|
|
13
|
+
* pin) lives in one place;
|
|
14
|
+
* - means a future profile switch / OAuth path swaps in here once,
|
|
15
|
+
* not per-command.
|
|
16
|
+
*
|
|
17
|
+
* Lives next to `Transport` and `MondayClient` (M2.5 R1) — every
|
|
18
|
+
* network noun calls into here, so a cross-noun import from
|
|
19
|
+
* `commands/<x>/` into `commands/<y>/` would be wrong. Putting it
|
|
20
|
+
* under `src/api/` removes that temptation entirely.
|
|
21
|
+
*
|
|
22
|
+
* The injected `ctx.transport` always wins — that's the fixture seam
|
|
23
|
+
* for integration tests. Production callers leave it undefined and
|
|
24
|
+
* a fresh `FetchTransport` is built per command invocation, so each
|
|
25
|
+
* call sees the live config (same as the SDK's per-call client).
|
|
26
|
+
*/
|
|
27
|
+
import { MondayClient, type MondayResponse } from './client.js';
|
|
28
|
+
import { type GlobalFlags } from '../types/global-flags.js';
|
|
29
|
+
import type { Complexity, DataSource } from '../utils/output/envelope.js';
|
|
30
|
+
import type { RunContext } from '../cli/run.js';
|
|
31
|
+
/**
|
|
32
|
+
* The four meta-fields every successful network command threads into
|
|
33
|
+
* `emitSuccess`. Bundled (M2.5 R3) so call sites can splat
|
|
34
|
+
* `...toEmit(result)` instead of writing `apiVersion`, `complexity`,
|
|
35
|
+
* `source`, `cacheAgeSeconds` separately each time. Required-not-
|
|
36
|
+
* optional so the splat lands the keys verbatim under
|
|
37
|
+
* `exactOptionalPropertyTypes` — no `undefined` values to filter.
|
|
38
|
+
*/
|
|
39
|
+
export interface EmitFromNetworkResult {
|
|
40
|
+
readonly source: DataSource;
|
|
41
|
+
readonly apiVersion: string;
|
|
42
|
+
readonly complexity: Complexity | null;
|
|
43
|
+
readonly cacheAgeSeconds: number | null;
|
|
44
|
+
}
|
|
45
|
+
export interface ResolvedClient {
|
|
46
|
+
readonly client: MondayClient;
|
|
47
|
+
readonly globalFlags: GlobalFlags;
|
|
48
|
+
/**
|
|
49
|
+
* The actual `API-Version` value sent on the wire — `--api-version`
|
|
50
|
+
* flag > `MONDAY_API_VERSION` env > SDK pin. Surfaced so commands
|
|
51
|
+
* that *embed* the value in their output payload (e.g.
|
|
52
|
+
* `account version` writes it into `data.pinned.value`) can read
|
|
53
|
+
* it directly. The envelope-level `meta.api_version` is plumbed
|
|
54
|
+
* through `toEmit` below.
|
|
55
|
+
*/
|
|
56
|
+
readonly apiVersion: string;
|
|
57
|
+
/**
|
|
58
|
+
* Builds the `EmitFromNetworkResult` shape for a given network
|
|
59
|
+
* response — closes over the resolved `apiVersion` so call sites
|
|
60
|
+
* can't pass a mismatched value. M2 commands all run live;
|
|
61
|
+
* `cacheAgeSeconds` stays `null` until M3 wires the cache. Source
|
|
62
|
+
* is `'live'` for now; a future cache-hit path will widen this
|
|
63
|
+
* (likely by adding a parameterised variant rather than
|
|
64
|
+
* mutating the closure).
|
|
65
|
+
*/
|
|
66
|
+
readonly toEmit: <T>(response: MondayResponse<T>) => EmitFromNetworkResult;
|
|
67
|
+
}
|
|
68
|
+
export declare const resolveClient: (ctx: RunContext, programOpts: unknown) => ResolvedClient;
|
|
69
|
+
//# sourceMappingURL=resolve-client.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resolve-client.d.ts","sourceRoot":"","sources":["../../src/api/resolve-client.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAGH,OAAO,EACL,YAAY,EAEZ,KAAK,cAAc,EACpB,MAAM,aAAa,CAAC;AAErB,OAAO,EAEL,KAAK,WAAW,EACjB,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EACV,UAAU,EACV,UAAU,EACX,MAAM,6BAA6B,CAAC;AACrC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAEhD;;;;;;;GAOG;AACH,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC;IAC5B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,UAAU,EAAE,UAAU,GAAG,IAAI,CAAC;IACvC,QAAQ,CAAC,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;CACzC;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC;IAC9B,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC;IAClC;;;;;;;OAOG;IACH,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B;;;;;;;;OAQG;IACH,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,cAAc,CAAC,CAAC,CAAC,KAAK,qBAAqB,CAAC;CAC5E;AAED,eAAO,MAAM,aAAa,GACxB,KAAK,UAAU,EACf,aAAa,OAAO,KACnB,cA+CF,CAAC"}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared `MondayClient` construction for every network command.
|
|
3
|
+
*
|
|
4
|
+
* Each network command needs the same plumbing — load config (for
|
|
5
|
+
* the API token + URL + version), pick up global flags (`--retry`,
|
|
6
|
+
* `--verbose`, `--api-version`, `--timeout`), and either wrap the
|
|
7
|
+
* injected `Transport` (test path) or build a `FetchTransport` from
|
|
8
|
+
* config (production path). Centralising here:
|
|
9
|
+
*
|
|
10
|
+
* - keeps the action body in each command focused on the GraphQL
|
|
11
|
+
* call + envelope mapping;
|
|
12
|
+
* - means the `--api-version` precedence rule (flag > env > SDK
|
|
13
|
+
* pin) lives in one place;
|
|
14
|
+
* - means a future profile switch / OAuth path swaps in here once,
|
|
15
|
+
* not per-command.
|
|
16
|
+
*
|
|
17
|
+
* Lives next to `Transport` and `MondayClient` (M2.5 R1) — every
|
|
18
|
+
* network noun calls into here, so a cross-noun import from
|
|
19
|
+
* `commands/<x>/` into `commands/<y>/` would be wrong. Putting it
|
|
20
|
+
* under `src/api/` removes that temptation entirely.
|
|
21
|
+
*
|
|
22
|
+
* The injected `ctx.transport` always wins — that's the fixture seam
|
|
23
|
+
* for integration tests. Production callers leave it undefined and
|
|
24
|
+
* a fresh `FetchTransport` is built per command invocation, so each
|
|
25
|
+
* call sees the live config (same as the SDK's per-call client).
|
|
26
|
+
*/
|
|
27
|
+
import { createFetchTransport } from './transport.js';
|
|
28
|
+
import { MondayClient, PINNED_API_VERSION, } from './client.js';
|
|
29
|
+
import { loadConfig } from '../config/load.js';
|
|
30
|
+
import { parseGlobalFlags, } from '../types/global-flags.js';
|
|
31
|
+
export const resolveClient = (ctx, programOpts) => {
|
|
32
|
+
const globalFlags = parseGlobalFlags(programOpts, ctx.env);
|
|
33
|
+
const config = loadConfig(ctx.env);
|
|
34
|
+
// Precedence: explicit flag > env-derived config > SDK pin.
|
|
35
|
+
const apiVersion = globalFlags.apiVersion ?? config.apiVersion ?? PINNED_API_VERSION;
|
|
36
|
+
// Honour `--timeout` over the env / config default. Same reading
|
|
37
|
+
// as the design intent: the flag is a *per-invocation* override.
|
|
38
|
+
const timeoutMs = globalFlags.timeout ?? config.requestTimeoutMs;
|
|
39
|
+
const transport = ctx.transport ??
|
|
40
|
+
createFetchTransport({
|
|
41
|
+
endpoint: config.apiUrl,
|
|
42
|
+
apiToken: config.apiToken,
|
|
43
|
+
apiVersion,
|
|
44
|
+
timeoutMs,
|
|
45
|
+
});
|
|
46
|
+
const client = new MondayClient({
|
|
47
|
+
transport,
|
|
48
|
+
signal: ctx.signal,
|
|
49
|
+
retries: globalFlags.retry,
|
|
50
|
+
verbose: globalFlags.verbose,
|
|
51
|
+
});
|
|
52
|
+
// Commit the resolved meta to the per-invocation builder so an
|
|
53
|
+
// error envelope emitted by the runner's catch-all carries the
|
|
54
|
+
// same api_version + source a success envelope would. Without
|
|
55
|
+
// this, `--api-version 2026-04 account whoami` failing with HTTP
|
|
56
|
+
// 401 produced an error envelope claiming `api_version: "2026-01"`
|
|
57
|
+
// (Codex M2 review §2). The builder replaced the M2-era
|
|
58
|
+
// `setMetaHint` callback in M2.5 R2 — same data flow, typed
|
|
59
|
+
// setters in place of an open record.
|
|
60
|
+
ctx.meta.setApiVersion(apiVersion);
|
|
61
|
+
ctx.meta.setSource('live');
|
|
62
|
+
const toEmit = (response) => ({
|
|
63
|
+
source: 'live',
|
|
64
|
+
apiVersion,
|
|
65
|
+
complexity: response.complexity,
|
|
66
|
+
cacheAgeSeconds: null,
|
|
67
|
+
});
|
|
68
|
+
return { client, globalFlags, apiVersion, toEmit };
|
|
69
|
+
};
|
|
70
|
+
//# sourceMappingURL=resolve-client.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resolve-client.js","sourceRoot":"","sources":["../../src/api/resolve-client.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,OAAO,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AACtD,OAAO,EACL,YAAY,EACZ,kBAAkB,GAEnB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EACL,gBAAgB,GAEjB,MAAM,0BAA0B,CAAC;AA8ClC,MAAM,CAAC,MAAM,aAAa,GAAG,CAC3B,GAAe,EACf,WAAoB,EACJ,EAAE;IAClB,MAAM,WAAW,GAAG,gBAAgB,CAAC,WAAW,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC;IAC3D,MAAM,MAAM,GAAG,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAEnC,4DAA4D;IAC5D,MAAM,UAAU,GACd,WAAW,CAAC,UAAU,IAAI,MAAM,CAAC,UAAU,IAAI,kBAAkB,CAAC;IAEpE,iEAAiE;IACjE,iEAAiE;IACjE,MAAM,SAAS,GAAG,WAAW,CAAC,OAAO,IAAI,MAAM,CAAC,gBAAgB,CAAC;IAEjE,MAAM,SAAS,GACb,GAAG,CAAC,SAAS;QACb,oBAAoB,CAAC;YACnB,QAAQ,EAAE,MAAM,CAAC,MAAM;YACvB,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,UAAU;YACV,SAAS;SACV,CAAC,CAAC;IAEL,MAAM,MAAM,GAAG,IAAI,YAAY,CAAC;QAC9B,SAAS;QACT,MAAM,EAAE,GAAG,CAAC,MAAM;QAClB,OAAO,EAAE,WAAW,CAAC,KAAK;QAC1B,OAAO,EAAE,WAAW,CAAC,OAAO;KAC7B,CAAC,CAAC;IAEH,+DAA+D;IAC/D,+DAA+D;IAC/D,8DAA8D;IAC9D,iEAAiE;IACjE,mEAAmE;IACnE,wDAAwD;IACxD,4DAA4D;IAC5D,sCAAsC;IACtC,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;IACnC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IAE3B,MAAM,MAAM,GAAG,CAAI,QAA2B,EAAyB,EAAE,CAAC,CAAC;QACzE,MAAM,EAAE,MAAM;QACd,UAAU;QACV,UAAU,EAAE,QAAQ,CAAC,UAAU;QAC/B,eAAe,EAAE,IAAI;KACtB,CAAC,CAAC;IAEH,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC;AACrD,CAAC,CAAC"}
|
|
@@ -0,0 +1,176 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Resolver-error-folding helpers (`v0.1-plan.md` §17 R19).
|
|
3
|
+
*
|
|
4
|
+
* Two-helper module that consolidates the resolver-warning preservation
|
|
5
|
+
* pattern + the cache-sourced `validation_failed` → `column_archived`
|
|
6
|
+
* remap pattern. Lifted in M5b session 2 (2026-04-30) before
|
|
7
|
+
* `item clear` / `item update` could copy them.
|
|
8
|
+
*
|
|
9
|
+
* **Why a shared module.** Both helpers were born inside
|
|
10
|
+
* `commands/item/set.ts` (M5b session 1, Codex pass-1 findings F2/F4),
|
|
11
|
+
* and the dry-run engine carried an inline shape of the resolver-
|
|
12
|
+
* warning fold for its own `column_archived` throw path. M5b's
|
|
13
|
+
* `item clear` / `item update` would each need the same two helpers
|
|
14
|
+
* verbatim — copying the ~80 LOC three more times would set the next
|
|
15
|
+
* Codex pass up to flag drift between copies. R7 / R8 timing rule:
|
|
16
|
+
* extract on the THIRD example, not the second; M5b session 2 lands
|
|
17
|
+
* the third (item update) and the fourth (item clear) in the same
|
|
18
|
+
* session, so the helper's shape absorbs both new examples in this
|
|
19
|
+
* commit.
|
|
20
|
+
*
|
|
21
|
+
* **Scope.** Two exports, both pure functions:
|
|
22
|
+
* - `foldResolverWarningsIntoError` — folds resolver warnings into a
|
|
23
|
+
* thrown `MondayCliError`'s `details.resolver_warnings` slot. Used
|
|
24
|
+
* by every typed post-resolution failure across the M5b mutation
|
|
25
|
+
* surfaces (translator `UsageError`s, `ApiError(unsupported_column_
|
|
26
|
+
* type)` / `user_not_found`, mutation-time `validation_failed`,
|
|
27
|
+
* `column_archived` from the dry-run engine).
|
|
28
|
+
* - `maybeRemapValidationFailedToArchived` — async helper that
|
|
29
|
+
* inspects a thrown `validation_failed` after a cache-sourced
|
|
30
|
+
* resolution and, if a forced metadata refresh confirms the
|
|
31
|
+
* column is archived, remaps the error to `column_archived` so
|
|
32
|
+
* agents key off the stable code.
|
|
33
|
+
*
|
|
34
|
+
* **Why not inside `api/columns.ts`.** Already 533 lines and owns the
|
|
35
|
+
* read-side resolver. The fold helpers are write-side concerns
|
|
36
|
+
* (consumed by command actions + the dry-run engine, not by the
|
|
37
|
+
* resolver itself) and `columns.ts` shouldn't import from
|
|
38
|
+
* `board-metadata.ts`'s refresh path beyond what the resolver needs.
|
|
39
|
+
* A separate module also gives the helpers their own unit-test surface
|
|
40
|
+
* without dragging the resolver's full test fixture.
|
|
41
|
+
*/
|
|
42
|
+
import { MondayCliError } from '../utils/errors.js';
|
|
43
|
+
import type { ResolverWarning } from './columns.js';
|
|
44
|
+
import type { MondayClient } from './client.js';
|
|
45
|
+
/**
|
|
46
|
+
* Folds resolver warnings (`column_token_collision` /
|
|
47
|
+
* `stale_cache_refreshed`) into a thrown error's
|
|
48
|
+
* `details.resolver_warnings` slot. Returns a NEW error of the same
|
|
49
|
+
* code with merged details; the original is discarded.
|
|
50
|
+
*
|
|
51
|
+
* **No-op fast path.** When `resolverWarnings` is empty, the original
|
|
52
|
+
* error passes through unchanged — no allocation, same identity.
|
|
53
|
+
*
|
|
54
|
+
* **Class preservation.** The fold reconstructs the error via the
|
|
55
|
+
* concrete typed-error constructor matching `err.code` so the new
|
|
56
|
+
* error stays the same class:
|
|
57
|
+
* - `usage_error` → `UsageError`
|
|
58
|
+
* - `config_error` / `cache_error` → `MondayCliError` base class
|
|
59
|
+
* (no specific class for these in v0.1, though the contract
|
|
60
|
+
* covers them so a future `ConfigError` / `CacheError` lift
|
|
61
|
+
* would just need one more branch).
|
|
62
|
+
* - everything else (the Monday-API surface) → `ApiError`.
|
|
63
|
+
*
|
|
64
|
+
* Pre-fix, `commands/item/set.ts` only handled `ApiError` — a
|
|
65
|
+
* `UsageError` translator failure (date / dropdown / people invalid
|
|
66
|
+
* input) would bypass the fold and lose the resolver context (Codex
|
|
67
|
+
* pass-1 finding F2). Lifted shape covers every `MondayCliError`
|
|
68
|
+
* subclass.
|
|
69
|
+
*/
|
|
70
|
+
export declare const foldResolverWarningsIntoError: (err: MondayCliError, resolverWarnings: readonly ResolverWarning[]) => MondayCliError;
|
|
71
|
+
export interface MaybeRemapValidationFailedInputs {
|
|
72
|
+
readonly client: MondayClient;
|
|
73
|
+
readonly boardId: string;
|
|
74
|
+
/**
|
|
75
|
+
* Real column IDs translated for the failing mutation. The remap
|
|
76
|
+
* probes ALL of them after one forced metadata refresh; the first
|
|
77
|
+
* archived column wins (deterministic for multi-column updates).
|
|
78
|
+
* Empty array → no-op.
|
|
79
|
+
*
|
|
80
|
+
* Codex M5b finding #3: pre-fix the helper accepted a single
|
|
81
|
+
* `columnId` and only probed that one column. For multi-column
|
|
82
|
+
* `item update`, callers passed `translated[0]` as a best-effort
|
|
83
|
+
* remap target, so a multi-column mutation where the FIRST target
|
|
84
|
+
* stayed active and a LATER target was archived after a stale
|
|
85
|
+
* cache read still surfaced `validation_failed` instead of the
|
|
86
|
+
* stable `column_archived` code (cli-design §6.5).
|
|
87
|
+
*/
|
|
88
|
+
readonly columnIds: readonly string[];
|
|
89
|
+
readonly env: NodeJS.ProcessEnv;
|
|
90
|
+
readonly noCache: boolean;
|
|
91
|
+
/**
|
|
92
|
+
* Source the original column resolution came through. The remap
|
|
93
|
+
* fires only when the resolution was cache-sourced — a `live`
|
|
94
|
+
* resolution already saw the live archived flag, so a
|
|
95
|
+
* `validation_failed` after live resolution is genuine (label
|
|
96
|
+
* typo, schema mismatch, etc.) and shouldn't be re-classified.
|
|
97
|
+
*/
|
|
98
|
+
readonly resolutionSource: 'live' | 'cache' | 'mixed';
|
|
99
|
+
}
|
|
100
|
+
/**
|
|
101
|
+
* Inspects a thrown `validation_failed` after a cache-sourced
|
|
102
|
+
* resolution and remaps it to `column_archived` if a forced-fresh
|
|
103
|
+
* metadata refresh confirms ANY of the translated columns is
|
|
104
|
+
* archived.
|
|
105
|
+
*
|
|
106
|
+
* Codex pass-1 finding F4: the archived-column guarantee was
|
|
107
|
+
* cache-stale in one direction — when cached metadata said active
|
|
108
|
+
* but Monday had since archived the column, the live mutation fired
|
|
109
|
+
* and surfaced as `validation_failed`, not the stable
|
|
110
|
+
* `column_archived` code agents key off (cli-design §6.5). This
|
|
111
|
+
* helper closes that gap.
|
|
112
|
+
*
|
|
113
|
+
* **Multi-column probe** (Codex M5b finding #3). Callers pass every
|
|
114
|
+
* translated real column ID; the helper scans them in input order
|
|
115
|
+
* and remaps to the first archived one. Single-column callers pass
|
|
116
|
+
* a one-element array. Multi-column updates pass every column they
|
|
117
|
+
* tried to write so a later-archived column is still caught.
|
|
118
|
+
*
|
|
119
|
+
* **Resolver warnings preserved.** When the caller has already
|
|
120
|
+
* folded resolver warnings (via `foldResolverWarningsIntoError`)
|
|
121
|
+
* into the original error's `details.resolver_warnings`, the
|
|
122
|
+
* remapped error inherits the slot via `details: { ...existing,
|
|
123
|
+
* ... }` so a stale-cache-then-archived flow doesn't drop the
|
|
124
|
+
* refresh signal.
|
|
125
|
+
*
|
|
126
|
+
* **Identity preservation.** Returns the original error unchanged
|
|
127
|
+
* when the code isn't `validation_failed`, when the resolution was
|
|
128
|
+
* live-sourced, when `columnIds` is empty, or when the post-refresh
|
|
129
|
+
* scan finds no archived target. The cache write that
|
|
130
|
+
* `refreshBoardMetadata` performs is a useful side-effect — agents
|
|
131
|
+
* retrying after the failure see the corrected metadata.
|
|
132
|
+
*/
|
|
133
|
+
export declare const maybeRemapValidationFailedToArchived: (err: MondayCliError, inputs: MaybeRemapValidationFailedInputs) => Promise<MondayCliError>;
|
|
134
|
+
export interface FoldAndRemapInputs {
|
|
135
|
+
readonly err: MondayCliError;
|
|
136
|
+
readonly warnings: readonly ResolverWarning[];
|
|
137
|
+
readonly client: MondayClient;
|
|
138
|
+
readonly boardId: string;
|
|
139
|
+
/**
|
|
140
|
+
* Real column IDs translated for the failing mutation. Empty
|
|
141
|
+
* array → fold-only path (no remap probe). Single-column callers
|
|
142
|
+
* pass a one-element array; multi-column callers pass every
|
|
143
|
+
* column they tried to write.
|
|
144
|
+
*/
|
|
145
|
+
readonly columnIds: readonly string[];
|
|
146
|
+
readonly env: NodeJS.ProcessEnv;
|
|
147
|
+
readonly noCache: boolean;
|
|
148
|
+
readonly resolutionSource: 'live' | 'cache' | 'mixed';
|
|
149
|
+
}
|
|
150
|
+
/**
|
|
151
|
+
* The post-mutation catch-arm pattern lifted from five sites
|
|
152
|
+
* (`set.ts`, `clear.ts`, `update.ts` single + bulk, `create.ts`)
|
|
153
|
+
* — see v0.2-plan §12 R26.
|
|
154
|
+
*
|
|
155
|
+
* Each site did the same two steps in order:
|
|
156
|
+
* 1. Fold resolver warnings into the thrown error so a
|
|
157
|
+
* stale-cache-then-failure flow keeps the refresh signal.
|
|
158
|
+
* 2. Probe the F4 cache-sourced-archived remap so a
|
|
159
|
+
* `validation_failed` after stale-cache resolution surfaces
|
|
160
|
+
* as `column_archived` (the stable code agents key off per
|
|
161
|
+
* cli-design §6.5).
|
|
162
|
+
*
|
|
163
|
+
* Bulk's per-item-progress decoration stays a bulk-specific
|
|
164
|
+
* concern: callers do `foldAndRemap` first, then attach the
|
|
165
|
+
* `applied_count` / `applied_to` / `failed_at_item` /
|
|
166
|
+
* `matched_count` slot before re-throwing.
|
|
167
|
+
*
|
|
168
|
+
* The Codex M9 P1 finding (cache-stale archived columns surfacing
|
|
169
|
+
* as `validation_failed` from `item create`) was caused by the
|
|
170
|
+
* create path skipping this exact catch arm. Lifting reduces the
|
|
171
|
+
* surface where a future command can forget to wire it — M10's
|
|
172
|
+
* three new mutation commands inherit `foldAndRemap` rather than
|
|
173
|
+
* copy the pattern a 6th-7th-8th time.
|
|
174
|
+
*/
|
|
175
|
+
export declare const foldAndRemap: (inputs: FoldAndRemapInputs) => Promise<MondayCliError>;
|
|
176
|
+
//# sourceMappingURL=resolver-error-fold.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resolver-error-fold.d.ts","sourceRoot":"","sources":["../../src/api/resolver-error-fold.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AAEH,OAAO,EAAY,cAAc,EAAc,MAAM,oBAAoB,CAAC;AAC1E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAEpD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAQhD;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,eAAO,MAAM,6BAA6B,GACxC,KAAK,cAAc,EACnB,kBAAkB,SAAS,eAAe,EAAE,KAC3C,cAiBF,CAAC;AA4BF,MAAM,WAAW,gCAAgC;IAC/C,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC;IAC9B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB;;;;;;;;;;;;;OAaG;IACH,QAAQ,CAAC,SAAS,EAAE,SAAS,MAAM,EAAE,CAAC;IACtC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC,UAAU,CAAC;IAChC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B;;;;;;OAMG;IACH,QAAQ,CAAC,gBAAgB,EAAE,MAAM,GAAG,OAAO,GAAG,OAAO,CAAC;CACvD;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,eAAO,MAAM,oCAAoC,GAC/C,KAAK,cAAc,EACnB,QAAQ,gCAAgC,KACvC,OAAO,CAAC,cAAc,CA0DxB,CAAC;AAEF,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,GAAG,EAAE,cAAc,CAAC;IAC7B,QAAQ,CAAC,QAAQ,EAAE,SAAS,eAAe,EAAE,CAAC;IAC9C,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC;IAC9B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB;;;;;OAKG;IACH,QAAQ,CAAC,SAAS,EAAE,SAAS,MAAM,EAAE,CAAC;IACtC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC,UAAU,CAAC;IAChC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,gBAAgB,EAAE,MAAM,GAAG,OAAO,GAAG,OAAO,CAAC;CACvD;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,eAAO,MAAM,YAAY,GACvB,QAAQ,kBAAkB,KACzB,OAAO,CAAC,cAAc,CAWxB,CAAC"}
|