monday-cli 0.2.0 → 0.3.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 +324 -2
- package/README.md +128 -30
- package/dist/api/board-favorites.d.ts +329 -0
- package/dist/api/board-favorites.d.ts.map +1 -0
- package/dist/api/board-favorites.js +353 -0
- package/dist/api/board-favorites.js.map +1 -0
- package/dist/api/board-mutation-result.d.ts +9 -5
- package/dist/api/board-mutation-result.d.ts.map +1 -1
- package/dist/api/board-mutation-result.js +9 -5
- package/dist/api/board-mutation-result.js.map +1 -1
- package/dist/api/board-relation-validation.d.ts +161 -0
- package/dist/api/board-relation-validation.d.ts.map +1 -0
- package/dist/api/board-relation-validation.js +317 -0
- package/dist/api/board-relation-validation.js.map +1 -0
- package/dist/api/cache.d.ts +14 -5
- package/dist/api/cache.d.ts.map +1 -1
- package/dist/api/cache.js +8 -10
- package/dist/api/cache.js.map +1 -1
- package/dist/api/column-mapping.js +2 -2
- package/dist/api/column-mapping.js.map +1 -1
- package/dist/api/column-mutation-result.d.ts +9 -5
- package/dist/api/column-mutation-result.d.ts.map +1 -1
- package/dist/api/column-mutation-result.js +9 -5
- package/dist/api/column-mutation-result.js.map +1 -1
- package/dist/api/column-types.d.ts +26 -7
- package/dist/api/column-types.d.ts.map +1 -1
- package/dist/api/column-types.js +42 -3
- package/dist/api/column-types.js.map +1 -1
- package/dist/api/column-values.d.ts +228 -31
- package/dist/api/column-values.d.ts.map +1 -1
- package/dist/api/column-values.js +551 -124
- package/dist/api/column-values.js.map +1 -1
- package/dist/api/cross-board-search.d.ts +501 -0
- package/dist/api/cross-board-search.d.ts.map +1 -0
- package/dist/api/cross-board-search.js +547 -0
- package/dist/api/cross-board-search.js.map +1 -0
- package/dist/api/dev-conventions.d.ts +1038 -0
- package/dist/api/dev-conventions.d.ts.map +1 -0
- package/dist/api/dev-conventions.js +1556 -0
- package/dist/api/dev-conventions.js.map +1 -0
- package/dist/api/dry-run.d.ts +32 -5
- package/dist/api/dry-run.d.ts.map +1 -1
- package/dist/api/dry-run.js +149 -32
- package/dist/api/dry-run.js.map +1 -1
- package/dist/api/errors.d.ts.map +1 -1
- package/dist/api/errors.js +28 -7
- package/dist/api/errors.js.map +1 -1
- package/dist/api/group-mutation-result.d.ts +9 -5
- package/dist/api/group-mutation-result.d.ts.map +1 -1
- package/dist/api/group-mutation-result.js +9 -5
- package/dist/api/group-mutation-result.js.map +1 -1
- package/dist/api/item-history-projection.d.ts +919 -0
- package/dist/api/item-history-projection.d.ts.map +1 -0
- package/dist/api/item-history-projection.js +1104 -0
- package/dist/api/item-history-projection.js.map +1 -0
- package/dist/api/item-mutation-execute.d.ts +82 -0
- package/dist/api/item-mutation-execute.d.ts.map +1 -0
- package/dist/api/item-mutation-execute.js +199 -0
- package/dist/api/item-mutation-execute.js.map +1 -0
- package/dist/api/notifications.d.ts +156 -0
- package/dist/api/notifications.d.ts.map +1 -0
- package/dist/api/notifications.js +215 -0
- package/dist/api/notifications.js.map +1 -0
- package/dist/api/oauth-test-helper.d.ts +64 -0
- package/dist/api/oauth-test-helper.d.ts.map +1 -0
- package/dist/api/oauth-test-helper.js +179 -0
- package/dist/api/oauth-test-helper.js.map +1 -0
- package/dist/api/oauth.d.ts +198 -0
- package/dist/api/oauth.d.ts.map +1 -0
- package/dist/api/oauth.js +471 -0
- package/dist/api/oauth.js.map +1 -0
- package/dist/api/partial-success-bulk.d.ts +422 -0
- package/dist/api/partial-success-bulk.d.ts.map +1 -0
- package/dist/api/partial-success-bulk.js +378 -0
- package/dist/api/partial-success-bulk.js.map +1 -0
- package/dist/api/people.d.ts +54 -1
- package/dist/api/people.d.ts.map +1 -1
- package/dist/api/people.js +27 -3
- package/dist/api/people.js.map +1 -1
- package/dist/api/probes.d.ts +487 -0
- package/dist/api/probes.d.ts.map +1 -0
- package/dist/api/probes.js +881 -0
- package/dist/api/probes.js.map +1 -0
- package/dist/api/raw-document.d.ts.map +1 -1
- package/dist/api/raw-document.js +2 -2
- package/dist/api/raw-document.js.map +1 -1
- package/dist/api/raw-write.d.ts.map +1 -1
- package/dist/api/raw-write.js +11 -3
- package/dist/api/raw-write.js.map +1 -1
- package/dist/api/resolution-context.d.ts +23 -11
- package/dist/api/resolution-context.d.ts.map +1 -1
- package/dist/api/resolution-context.js +53 -12
- package/dist/api/resolution-context.js.map +1 -1
- package/dist/api/resolution-pass.d.ts +30 -1
- package/dist/api/resolution-pass.d.ts.map +1 -1
- package/dist/api/resolution-pass.js +36 -1
- package/dist/api/resolution-pass.js.map +1 -1
- package/dist/api/resolve-client.d.ts +11 -0
- package/dist/api/resolve-client.d.ts.map +1 -1
- package/dist/api/resolve-client.js +1 -1
- package/dist/api/resolve-client.js.map +1 -1
- package/dist/api/response-root.d.ts +92 -46
- package/dist/api/response-root.d.ts.map +1 -1
- package/dist/api/response-root.js +93 -41
- package/dist/api/response-root.js.map +1 -1
- package/dist/api/tag-directory.d.ts +154 -0
- package/dist/api/tag-directory.d.ts.map +1 -0
- package/dist/api/tag-directory.js +325 -0
- package/dist/api/tag-directory.js.map +1 -0
- package/dist/api/time-tracking.d.ts +165 -0
- package/dist/api/time-tracking.d.ts.map +1 -0
- package/dist/api/time-tracking.js +135 -0
- package/dist/api/time-tracking.js.map +1 -0
- package/dist/api/transport.js +3 -3
- package/dist/api/transport.js.map +1 -1
- package/dist/api/usage.d.ts +190 -0
- package/dist/api/usage.d.ts.map +1 -0
- package/dist/api/usage.js +194 -0
- package/dist/api/usage.js.map +1 -0
- package/dist/api/users-fan-out-mutation.d.ts.map +1 -1
- package/dist/api/users-fan-out-mutation.js +10 -5
- package/dist/api/users-fan-out-mutation.js.map +1 -1
- package/dist/api/webhooks.d.ts +357 -0
- package/dist/api/webhooks.d.ts.map +1 -0
- package/dist/api/webhooks.js +333 -0
- package/dist/api/webhooks.js.map +1 -0
- package/dist/cli/envelope-out.d.ts +18 -1
- package/dist/cli/envelope-out.d.ts.map +1 -1
- package/dist/cli/envelope-out.js +16 -2
- package/dist/cli/envelope-out.js.map +1 -1
- package/dist/cli/program.d.ts.map +1 -1
- package/dist/cli/program.js +120 -1
- package/dist/cli/program.js.map +1 -1
- package/dist/cli/run.d.ts +12 -0
- package/dist/cli/run.d.ts.map +1 -1
- package/dist/cli/run.js +2 -0
- package/dist/cli/run.js.map +1 -1
- package/dist/commands/account/tags.d.ts +37 -0
- package/dist/commands/account/tags.d.ts.map +1 -0
- package/dist/commands/account/tags.js +84 -0
- package/dist/commands/account/tags.js.map +1 -0
- package/dist/commands/auth/login.d.ts +14 -0
- package/dist/commands/auth/login.d.ts.map +1 -0
- package/dist/commands/auth/login.js +314 -0
- package/dist/commands/auth/login.js.map +1 -0
- package/dist/commands/auth/logout.d.ts +28 -0
- package/dist/commands/auth/logout.d.ts.map +1 -0
- package/dist/commands/auth/logout.js +94 -0
- package/dist/commands/auth/logout.js.map +1 -0
- package/dist/commands/board/archive.d.ts.map +1 -1
- package/dist/commands/board/archive.js +14 -14
- package/dist/commands/board/archive.js.map +1 -1
- package/dist/commands/board/column-create.d.ts +3 -3
- package/dist/commands/board/column-create.d.ts.map +1 -1
- package/dist/commands/board/column-create.js +52 -45
- package/dist/commands/board/column-create.js.map +1 -1
- package/dist/commands/board/column-delete.d.ts.map +1 -1
- package/dist/commands/board/column-delete.js +15 -16
- package/dist/commands/board/column-delete.js.map +1 -1
- package/dist/commands/board/column-update.d.ts.map +1 -1
- package/dist/commands/board/column-update.js +23 -22
- package/dist/commands/board/column-update.js.map +1 -1
- package/dist/commands/board/create.d.ts.map +1 -1
- package/dist/commands/board/create.js +14 -17
- package/dist/commands/board/create.js.map +1 -1
- package/dist/commands/board/delete.d.ts.map +1 -1
- package/dist/commands/board/delete.js +12 -15
- package/dist/commands/board/delete.js.map +1 -1
- package/dist/commands/board/describe.d.ts.map +1 -1
- package/dist/commands/board/describe.js +30 -0
- package/dist/commands/board/describe.js.map +1 -1
- package/dist/commands/board/duplicate.d.ts.map +1 -1
- package/dist/commands/board/duplicate.js +12 -13
- package/dist/commands/board/duplicate.js.map +1 -1
- package/dist/commands/board/favorites.d.ts +33 -0
- package/dist/commands/board/favorites.d.ts.map +1 -0
- package/dist/commands/board/favorites.js +74 -0
- package/dist/commands/board/favorites.js.map +1 -0
- package/dist/commands/board/find.d.ts +1 -1
- package/dist/commands/board/group-archive.d.ts.map +1 -1
- package/dist/commands/board/group-archive.js +12 -16
- package/dist/commands/board/group-archive.js.map +1 -1
- package/dist/commands/board/group-create.d.ts.map +1 -1
- package/dist/commands/board/group-create.js +9 -19
- package/dist/commands/board/group-create.js.map +1 -1
- package/dist/commands/board/group-delete.d.ts.map +1 -1
- package/dist/commands/board/group-delete.js +12 -16
- package/dist/commands/board/group-delete.js.map +1 -1
- package/dist/commands/board/group-duplicate.d.ts.map +1 -1
- package/dist/commands/board/group-duplicate.js +12 -16
- package/dist/commands/board/group-duplicate.js.map +1 -1
- package/dist/commands/board/group-update.d.ts.map +1 -1
- package/dist/commands/board/group-update.js +12 -11
- package/dist/commands/board/group-update.js.map +1 -1
- package/dist/commands/board/list.d.ts +1 -1
- package/dist/commands/board/update.d.ts.map +1 -1
- package/dist/commands/board/update.js +16 -11
- package/dist/commands/board/update.js.map +1 -1
- package/dist/commands/cache/list.d.ts +2 -0
- package/dist/commands/cache/list.d.ts.map +1 -1
- package/dist/commands/cache/list.js +2 -2
- package/dist/commands/cache/list.js.map +1 -1
- package/dist/commands/dev/_shared.d.ts +40 -0
- package/dist/commands/dev/_shared.d.ts.map +1 -0
- package/dist/commands/dev/_shared.js +104 -0
- package/dist/commands/dev/_shared.js.map +1 -0
- package/dist/commands/dev/configure.d.ts +36 -0
- package/dist/commands/dev/configure.d.ts.map +1 -0
- package/dist/commands/dev/configure.js +145 -0
- package/dist/commands/dev/configure.js.map +1 -0
- package/dist/commands/dev/discover.d.ts +34 -0
- package/dist/commands/dev/discover.d.ts.map +1 -0
- package/dist/commands/dev/discover.js +117 -0
- package/dist/commands/dev/discover.js.map +1 -0
- package/dist/commands/dev/doctor.d.ts +39 -0
- package/dist/commands/dev/doctor.d.ts.map +1 -0
- package/dist/commands/dev/doctor.js +91 -0
- package/dist/commands/dev/doctor.js.map +1 -0
- package/dist/commands/dev/epic/items.d.ts +24 -0
- package/dist/commands/dev/epic/items.d.ts.map +1 -0
- package/dist/commands/dev/epic/items.js +103 -0
- package/dist/commands/dev/epic/items.js.map +1 -0
- package/dist/commands/dev/epic/list.d.ts +36 -0
- package/dist/commands/dev/epic/list.d.ts.map +1 -0
- package/dist/commands/dev/epic/list.js +120 -0
- package/dist/commands/dev/epic/list.js.map +1 -0
- package/dist/commands/dev/release/list.d.ts +21 -0
- package/dist/commands/dev/release/list.d.ts.map +1 -0
- package/dist/commands/dev/release/list.js +73 -0
- package/dist/commands/dev/release/list.js.map +1 -0
- package/dist/commands/dev/sprint/current.d.ts +24 -0
- package/dist/commands/dev/sprint/current.d.ts.map +1 -0
- package/dist/commands/dev/sprint/current.js +90 -0
- package/dist/commands/dev/sprint/current.js.map +1 -0
- package/dist/commands/dev/sprint/items.d.ts +34 -0
- package/dist/commands/dev/sprint/items.d.ts.map +1 -0
- package/dist/commands/dev/sprint/items.js +118 -0
- package/dist/commands/dev/sprint/items.js.map +1 -0
- package/dist/commands/dev/sprint/list.d.ts +41 -0
- package/dist/commands/dev/sprint/list.d.ts.map +1 -0
- package/dist/commands/dev/sprint/list.js +104 -0
- package/dist/commands/dev/sprint/list.js.map +1 -0
- package/dist/commands/dev/task/block.d.ts +29 -0
- package/dist/commands/dev/task/block.d.ts.map +1 -0
- package/dist/commands/dev/task/block.js +106 -0
- package/dist/commands/dev/task/block.js.map +1 -0
- package/dist/commands/dev/task/done.d.ts +30 -0
- package/dist/commands/dev/task/done.d.ts.map +1 -0
- package/dist/commands/dev/task/done.js +113 -0
- package/dist/commands/dev/task/done.js.map +1 -0
- package/dist/commands/dev/task/list.d.ts +42 -0
- package/dist/commands/dev/task/list.d.ts.map +1 -0
- package/dist/commands/dev/task/list.js +227 -0
- package/dist/commands/dev/task/list.js.map +1 -0
- package/dist/commands/dev/task/start.d.ts +29 -0
- package/dist/commands/dev/task/start.d.ts.map +1 -0
- package/dist/commands/dev/task/start.js +90 -0
- package/dist/commands/dev/task/start.js.map +1 -0
- package/dist/commands/emit.d.ts.map +1 -1
- package/dist/commands/emit.js +5 -3
- package/dist/commands/emit.js.map +1 -1
- package/dist/commands/index.d.ts.map +1 -1
- package/dist/commands/index.js +95 -0
- package/dist/commands/index.js.map +1 -1
- package/dist/commands/item/archive.d.ts.map +1 -1
- package/dist/commands/item/archive.js +11 -0
- package/dist/commands/item/archive.js.map +1 -1
- package/dist/commands/item/clear.d.ts.map +1 -1
- package/dist/commands/item/clear.js +15 -0
- package/dist/commands/item/clear.js.map +1 -1
- package/dist/commands/item/create.d.ts.map +1 -1
- package/dist/commands/item/create.js +41 -8
- package/dist/commands/item/create.js.map +1 -1
- package/dist/commands/item/delete.d.ts.map +1 -1
- package/dist/commands/item/delete.js +11 -0
- package/dist/commands/item/delete.js.map +1 -1
- package/dist/commands/item/duplicate.d.ts.map +1 -1
- package/dist/commands/item/duplicate.js +12 -0
- package/dist/commands/item/duplicate.js.map +1 -1
- package/dist/commands/item/history.d.ts +60 -0
- package/dist/commands/item/history.d.ts.map +1 -0
- package/dist/commands/item/history.js +309 -0
- package/dist/commands/item/history.js.map +1 -0
- package/dist/commands/item/list.d.ts.map +1 -1
- package/dist/commands/item/list.js +16 -13
- package/dist/commands/item/list.js.map +1 -1
- package/dist/commands/item/move.d.ts.map +1 -1
- package/dist/commands/item/move.js +41 -7
- package/dist/commands/item/move.js.map +1 -1
- package/dist/commands/item/search.d.ts +99 -15
- package/dist/commands/item/search.d.ts.map +1 -1
- package/dist/commands/item/search.js +480 -36
- package/dist/commands/item/search.js.map +1 -1
- package/dist/commands/item/set.d.ts.map +1 -1
- package/dist/commands/item/set.js +52 -8
- package/dist/commands/item/set.js.map +1 -1
- package/dist/commands/item/time-track/start.d.ts +61 -0
- package/dist/commands/item/time-track/start.d.ts.map +1 -0
- package/dist/commands/item/time-track/start.js +138 -0
- package/dist/commands/item/time-track/start.js.map +1 -0
- package/dist/commands/item/time-track/stop.d.ts +32 -0
- package/dist/commands/item/time-track/stop.d.ts.map +1 -0
- package/dist/commands/item/time-track/stop.js +97 -0
- package/dist/commands/item/time-track/stop.js.map +1 -0
- package/dist/commands/item/update.d.ts +1 -0
- package/dist/commands/item/update.d.ts.map +1 -1
- package/dist/commands/item/update.js +103 -113
- package/dist/commands/item/update.js.map +1 -1
- package/dist/commands/item/upsert.d.ts.map +1 -1
- package/dist/commands/item/upsert.js +48 -1
- package/dist/commands/item/upsert.js.map +1 -1
- package/dist/commands/notification/send.d.ts +60 -0
- package/dist/commands/notification/send.d.ts.map +1 -0
- package/dist/commands/notification/send.js +147 -0
- package/dist/commands/notification/send.js.map +1 -0
- package/dist/commands/parse-argv.d.ts.map +1 -1
- package/dist/commands/parse-argv.js +14 -4
- package/dist/commands/parse-argv.js.map +1 -1
- package/dist/commands/raw/index.d.ts.map +1 -1
- package/dist/commands/raw/index.js +13 -15
- package/dist/commands/raw/index.js.map +1 -1
- package/dist/commands/run-by-id-lookup.d.ts.map +1 -1
- package/dist/commands/run-by-id-lookup.js +2 -2
- package/dist/commands/run-by-id-lookup.js.map +1 -1
- package/dist/commands/schema/index.d.ts +2 -0
- package/dist/commands/schema/index.d.ts.map +1 -1
- package/dist/commands/status.d.ts +120 -0
- package/dist/commands/status.d.ts.map +1 -0
- package/dist/commands/status.js +365 -0
- package/dist/commands/status.js.map +1 -0
- package/dist/commands/update/body-source.d.ts.map +1 -1
- package/dist/commands/update/body-source.js +2 -2
- package/dist/commands/update/body-source.js.map +1 -1
- package/dist/commands/update/create.d.ts +2 -3
- package/dist/commands/update/create.d.ts.map +1 -1
- package/dist/commands/update/create.js +15 -3
- package/dist/commands/update/create.js.map +1 -1
- package/dist/commands/update/delete.d.ts.map +1 -1
- package/dist/commands/update/delete.js +11 -0
- package/dist/commands/update/delete.js.map +1 -1
- package/dist/commands/update/edit.d.ts.map +1 -1
- package/dist/commands/update/edit.js +11 -0
- package/dist/commands/update/edit.js.map +1 -1
- package/dist/commands/update/list.d.ts.map +1 -1
- package/dist/commands/update/list.js +15 -12
- package/dist/commands/update/list.js.map +1 -1
- package/dist/commands/update/reply.d.ts.map +1 -1
- package/dist/commands/update/reply.js +11 -0
- package/dist/commands/update/reply.js.map +1 -1
- package/dist/commands/update/toggle.d.ts.map +1 -1
- package/dist/commands/update/toggle.js +13 -0
- package/dist/commands/update/toggle.js.map +1 -1
- package/dist/commands/usage.d.ts +58 -0
- package/dist/commands/usage.d.ts.map +1 -0
- package/dist/commands/usage.js +94 -0
- package/dist/commands/usage.js.map +1 -0
- package/dist/commands/webhook/create.d.ts +74 -0
- package/dist/commands/webhook/create.d.ts.map +1 -0
- package/dist/commands/webhook/create.js +150 -0
- package/dist/commands/webhook/create.js.map +1 -0
- package/dist/commands/webhook/delete.d.ts +46 -0
- package/dist/commands/webhook/delete.d.ts.map +1 -0
- package/dist/commands/webhook/delete.js +141 -0
- package/dist/commands/webhook/delete.js.map +1 -0
- package/dist/commands/webhook/list.d.ts +23 -0
- package/dist/commands/webhook/list.d.ts.map +1 -0
- package/dist/commands/webhook/list.js +68 -0
- package/dist/commands/webhook/list.js.map +1 -0
- package/dist/commands/workspace/create.d.ts.map +1 -1
- package/dist/commands/workspace/create.js +16 -0
- package/dist/commands/workspace/create.js.map +1 -1
- package/dist/commands/workspace/delete.d.ts.map +1 -1
- package/dist/commands/workspace/delete.js +13 -13
- package/dist/commands/workspace/delete.js.map +1 -1
- package/dist/commands/workspace/list.d.ts +1 -1
- package/dist/commands/workspace/update.d.ts.map +1 -1
- package/dist/commands/workspace/update.js +15 -15
- package/dist/commands/workspace/update.js.map +1 -1
- package/dist/config/credentials.d.ts +189 -0
- package/dist/config/credentials.d.ts.map +1 -0
- package/dist/config/credentials.js +300 -0
- package/dist/config/credentials.js.map +1 -0
- package/dist/config/profiles.d.ts +125 -0
- package/dist/config/profiles.d.ts.map +1 -0
- package/dist/config/profiles.js +227 -0
- package/dist/config/profiles.js.map +1 -0
- package/dist/types/global-flags.d.ts +1 -1
- package/dist/types/global-flags.d.ts.map +1 -1
- package/dist/types/global-flags.js +28 -16
- package/dist/types/global-flags.js.map +1 -1
- package/dist/types/ids.d.ts +2 -0
- package/dist/types/ids.d.ts.map +1 -1
- package/dist/types/ids.js +5 -3
- package/dist/types/ids.js.map +1 -1
- package/dist/utils/errors.d.ts +57 -3
- package/dist/utils/errors.d.ts.map +1 -1
- package/dist/utils/errors.js +69 -2
- package/dist/utils/errors.js.map +1 -1
- package/dist/utils/fs.d.ts +35 -0
- package/dist/utils/fs.d.ts.map +1 -0
- package/dist/utils/fs.js +36 -0
- package/dist/utils/fs.js.map +1 -0
- package/dist/utils/json.d.ts +60 -0
- package/dist/utils/json.d.ts.map +1 -0
- package/dist/utils/json.js +86 -0
- package/dist/utils/json.js.map +1 -0
- package/dist/utils/output/ndjson.d.ts +65 -3
- package/dist/utils/output/ndjson.d.ts.map +1 -1
- package/dist/utils/output/ndjson.js +21 -0
- package/dist/utils/output/ndjson.js.map +1 -1
- package/dist/utils/redact.d.ts.map +1 -1
- package/dist/utils/redact.js +31 -0
- package/dist/utils/redact.js.map +1 -1
- package/package.json +2 -1
- package/dist/commands/account/client-helper.d.ts +0 -37
- package/dist/commands/account/client-helper.d.ts.map +0 -1
- package/dist/commands/account/client-helper.js +0 -55
- package/dist/commands/account/client-helper.js.map +0 -1
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Profile-config loader for the v0.3-M21 multi-profile surface
|
|
3
|
+
* (cli-design §7.2 — `~/.monday-cli/config.toml`).
|
|
4
|
+
*
|
|
5
|
+
* **What this module owns.** Reading + parsing the TOML config file,
|
|
6
|
+
* the per-profile config schema (zod-validated at the parse boundary
|
|
7
|
+
* per `.claude/rules/validation.md`), and the profile-selection
|
|
8
|
+
* resolver per §7.2 source order:
|
|
9
|
+
*
|
|
10
|
+
* `--profile flag > MONDAY_PROFILE env > default_profile in
|
|
11
|
+
* config > implicit v1 mode (no config file present)`
|
|
12
|
+
*
|
|
13
|
+
* **What this module does NOT own.** The credentials cache (token
|
|
14
|
+
* source-order within a profile) lives in
|
|
15
|
+
* `src/config/credentials.ts`.
|
|
16
|
+
*
|
|
17
|
+
* **Token-storage rule (cli-design §7.2 + §7.4 + .claude/rules/
|
|
18
|
+
* security.md):** tokens are NEVER stored in `config.toml`. Profile
|
|
19
|
+
* entries reference an env-var name via `api_token_env =
|
|
20
|
+
* "MONDAY_API_TOKEN_<X>"` (the env var's *name*, never its value).
|
|
21
|
+
* Two layers of defense:
|
|
22
|
+
*
|
|
23
|
+
* 1. **Structural exclusion** — `.strict()` on the zod object
|
|
24
|
+
* rejects unknown keys (`api_token`, `access_token`, `secret`).
|
|
25
|
+
* 2. **Value-level shape check** — `api_token_env` is constrained
|
|
26
|
+
* to the env-var-identifier regex `/^[A-Z_][A-Z0-9_]*$/u`.
|
|
27
|
+
*/
|
|
28
|
+
import { z } from 'zod';
|
|
29
|
+
/** Filename under `~/.monday-cli/`. Pinned for HOME-scoping. */
|
|
30
|
+
export declare const PROFILES_CONFIG_FILE_NAME = "config.toml";
|
|
31
|
+
/** Parent directory under HOME (shared with credentials cache). */
|
|
32
|
+
export declare const PROFILES_DIR_NAME = ".monday-cli";
|
|
33
|
+
/**
|
|
34
|
+
* Optional `[profiles.<name>.dev]` block per cli-design §11.3 (Monday
|
|
35
|
+
* Dev convenience). Pinned here so v0.3-M26 (`monday dev …`) can read
|
|
36
|
+
* the same shape without a fresh schema landing alongside that
|
|
37
|
+
* milestone.
|
|
38
|
+
*/
|
|
39
|
+
export declare const profileDevBlockSchema: z.ZodObject<{
|
|
40
|
+
tasks_board: z.ZodOptional<z.ZodString>;
|
|
41
|
+
sprints_board: z.ZodOptional<z.ZodString>;
|
|
42
|
+
epics_board: z.ZodOptional<z.ZodString>;
|
|
43
|
+
bugs_board: z.ZodOptional<z.ZodString>;
|
|
44
|
+
releases_board: z.ZodOptional<z.ZodString>;
|
|
45
|
+
}, z.core.$strict>;
|
|
46
|
+
export type ProfileDevBlock = z.infer<typeof profileDevBlockSchema>;
|
|
47
|
+
export declare const profileEntrySchema: z.ZodObject<{
|
|
48
|
+
api_token_env: z.ZodOptional<z.ZodString>;
|
|
49
|
+
api_version: z.ZodOptional<z.ZodString>;
|
|
50
|
+
default_workspace: z.ZodOptional<z.ZodString>;
|
|
51
|
+
timezone: z.ZodOptional<z.ZodString>;
|
|
52
|
+
dev: z.ZodOptional<z.ZodObject<{
|
|
53
|
+
tasks_board: z.ZodOptional<z.ZodString>;
|
|
54
|
+
sprints_board: z.ZodOptional<z.ZodString>;
|
|
55
|
+
epics_board: z.ZodOptional<z.ZodString>;
|
|
56
|
+
bugs_board: z.ZodOptional<z.ZodString>;
|
|
57
|
+
releases_board: z.ZodOptional<z.ZodString>;
|
|
58
|
+
}, z.core.$strict>>;
|
|
59
|
+
}, z.core.$strict>;
|
|
60
|
+
export type ProfileEntry = z.infer<typeof profileEntrySchema>;
|
|
61
|
+
/**
|
|
62
|
+
* Top-level config-file shape per cli-design §7.2.
|
|
63
|
+
*/
|
|
64
|
+
export declare const profilesConfigSchema: z.ZodObject<{
|
|
65
|
+
default_profile: z.ZodOptional<z.ZodString>;
|
|
66
|
+
profiles: z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
67
|
+
api_token_env: z.ZodOptional<z.ZodString>;
|
|
68
|
+
api_version: z.ZodOptional<z.ZodString>;
|
|
69
|
+
default_workspace: z.ZodOptional<z.ZodString>;
|
|
70
|
+
timezone: z.ZodOptional<z.ZodString>;
|
|
71
|
+
dev: z.ZodOptional<z.ZodObject<{
|
|
72
|
+
tasks_board: z.ZodOptional<z.ZodString>;
|
|
73
|
+
sprints_board: z.ZodOptional<z.ZodString>;
|
|
74
|
+
epics_board: z.ZodOptional<z.ZodString>;
|
|
75
|
+
bugs_board: z.ZodOptional<z.ZodString>;
|
|
76
|
+
releases_board: z.ZodOptional<z.ZodString>;
|
|
77
|
+
}, z.core.$strict>>;
|
|
78
|
+
}, z.core.$strict>>;
|
|
79
|
+
}, z.core.$strict>;
|
|
80
|
+
export type ProfilesConfig = z.infer<typeof profilesConfigSchema>;
|
|
81
|
+
export interface ProfilesRootOptions {
|
|
82
|
+
readonly env?: NodeJS.ProcessEnv;
|
|
83
|
+
readonly home?: string;
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* Resolves the absolute config-file path. Pure helper.
|
|
87
|
+
*/
|
|
88
|
+
export declare const resolveProfilesConfigPath: (options?: ProfilesRootOptions) => string;
|
|
89
|
+
/**
|
|
90
|
+
* Reads + parses `~/.monday-cli/config.toml`. Returns `undefined`
|
|
91
|
+
* when the file does not exist (typical first-run state — implicit
|
|
92
|
+
* v1 mode applies). Throws `config_error` for parse failures (TOML
|
|
93
|
+
* malformed) or schema-validation failures (unknown keys, type
|
|
94
|
+
* mismatch, token-smuggled-as-env-var-name).
|
|
95
|
+
*/
|
|
96
|
+
export declare const loadProfilesConfig: (options?: ProfilesRootOptions) => Promise<ProfilesConfig | undefined>;
|
|
97
|
+
export interface SelectProfileInputs {
|
|
98
|
+
readonly flag: string | undefined;
|
|
99
|
+
readonly env: NodeJS.ProcessEnv;
|
|
100
|
+
readonly config: ProfilesConfig | undefined;
|
|
101
|
+
}
|
|
102
|
+
export type SelectProfileResult = {
|
|
103
|
+
readonly mode: 'named';
|
|
104
|
+
readonly name: string;
|
|
105
|
+
readonly entry: ProfileEntry;
|
|
106
|
+
} | {
|
|
107
|
+
readonly mode: 'implicit_v1';
|
|
108
|
+
};
|
|
109
|
+
/**
|
|
110
|
+
* Resolves the active profile per cli-design §7.2 source order:
|
|
111
|
+
*
|
|
112
|
+
* 1. `flag` (from `--profile <name>`).
|
|
113
|
+
* 2. `env.MONDAY_PROFILE`.
|
|
114
|
+
* 3. `config.default_profile`.
|
|
115
|
+
* 4. Implicit-v1 sentinel.
|
|
116
|
+
*
|
|
117
|
+
* Surfaces `config_error` when:
|
|
118
|
+
* - any of (1)/(2)/(3) names a profile not present in the config
|
|
119
|
+
* file, OR
|
|
120
|
+
* - `flag` / `MONDAY_PROFILE` is set but no config file exists
|
|
121
|
+
* (the flag/env imply per-profile resolution that the missing
|
|
122
|
+
* config can't fulfil).
|
|
123
|
+
*/
|
|
124
|
+
export declare const selectProfile: (inputs: SelectProfileInputs) => SelectProfileResult;
|
|
125
|
+
//# sourceMappingURL=profiles.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"profiles.d.ts","sourceRoot":"","sources":["../../src/config/profiles.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAMH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,gEAAgE;AAChE,eAAO,MAAM,yBAAyB,gBAAgB,CAAC;AAEvD,mEAAmE;AACnE,eAAO,MAAM,iBAAiB,gBAAgB,CAAC;AAE/C;;;;;GAKG;AACH,eAAO,MAAM,qBAAqB;;;;;;kBAQvB,CAAC;AAEZ,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAUpE,eAAO,MAAM,kBAAkB;;;;;;;;;;;;kBAkBpB,CAAC;AAEZ,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAE9D;;GAEG;AACH,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;kBAKtB,CAAC;AAEZ,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAElE,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IACjC,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;CACxB;AAED;;GAEG;AACH,eAAO,MAAM,yBAAyB,GACpC,UAAS,mBAAwB,KAChC,MAGF,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,kBAAkB,GAC7B,UAAS,mBAAwB,KAChC,OAAO,CAAC,cAAc,GAAG,SAAS,CA6DpC,CAAC;AAEF,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC;IAClC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC,UAAU,CAAC;IAChC,QAAQ,CAAC,MAAM,EAAE,cAAc,GAAG,SAAS,CAAC;CAC7C;AAED,MAAM,MAAM,mBAAmB,GAC3B;IACE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAC;CAC9B,GACD;IAAE,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAA;CAAE,CAAC;AAErC;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,aAAa,GACxB,QAAQ,mBAAmB,KAC1B,mBAmEF,CAAC"}
|
|
@@ -0,0 +1,227 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Profile-config loader for the v0.3-M21 multi-profile surface
|
|
3
|
+
* (cli-design §7.2 — `~/.monday-cli/config.toml`).
|
|
4
|
+
*
|
|
5
|
+
* **What this module owns.** Reading + parsing the TOML config file,
|
|
6
|
+
* the per-profile config schema (zod-validated at the parse boundary
|
|
7
|
+
* per `.claude/rules/validation.md`), and the profile-selection
|
|
8
|
+
* resolver per §7.2 source order:
|
|
9
|
+
*
|
|
10
|
+
* `--profile flag > MONDAY_PROFILE env > default_profile in
|
|
11
|
+
* config > implicit v1 mode (no config file present)`
|
|
12
|
+
*
|
|
13
|
+
* **What this module does NOT own.** The credentials cache (token
|
|
14
|
+
* source-order within a profile) lives in
|
|
15
|
+
* `src/config/credentials.ts`.
|
|
16
|
+
*
|
|
17
|
+
* **Token-storage rule (cli-design §7.2 + §7.4 + .claude/rules/
|
|
18
|
+
* security.md):** tokens are NEVER stored in `config.toml`. Profile
|
|
19
|
+
* entries reference an env-var name via `api_token_env =
|
|
20
|
+
* "MONDAY_API_TOKEN_<X>"` (the env var's *name*, never its value).
|
|
21
|
+
* Two layers of defense:
|
|
22
|
+
*
|
|
23
|
+
* 1. **Structural exclusion** — `.strict()` on the zod object
|
|
24
|
+
* rejects unknown keys (`api_token`, `access_token`, `secret`).
|
|
25
|
+
* 2. **Value-level shape check** — `api_token_env` is constrained
|
|
26
|
+
* to the env-var-identifier regex `/^[A-Z_][A-Z0-9_]*$/u`.
|
|
27
|
+
*/
|
|
28
|
+
import { readFile } from 'node:fs/promises';
|
|
29
|
+
import { homedir } from 'node:os';
|
|
30
|
+
import { join } from 'node:path';
|
|
31
|
+
import { parse as parseToml } from 'smol-toml';
|
|
32
|
+
import { z } from 'zod';
|
|
33
|
+
import { ConfigError, asError } from '../utils/errors.js';
|
|
34
|
+
import { isENOENT } from '../utils/fs.js';
|
|
35
|
+
/** Filename under `~/.monday-cli/`. Pinned for HOME-scoping. */
|
|
36
|
+
export const PROFILES_CONFIG_FILE_NAME = 'config.toml';
|
|
37
|
+
/** Parent directory under HOME (shared with credentials cache). */
|
|
38
|
+
export const PROFILES_DIR_NAME = '.monday-cli';
|
|
39
|
+
/**
|
|
40
|
+
* Optional `[profiles.<name>.dev]` block per cli-design §11.3 (Monday
|
|
41
|
+
* Dev convenience). Pinned here so v0.3-M26 (`monday dev …`) can read
|
|
42
|
+
* the same shape without a fresh schema landing alongside that
|
|
43
|
+
* milestone.
|
|
44
|
+
*/
|
|
45
|
+
export const profileDevBlockSchema = z
|
|
46
|
+
.object({
|
|
47
|
+
tasks_board: z.string().min(1).optional(),
|
|
48
|
+
sprints_board: z.string().min(1).optional(),
|
|
49
|
+
epics_board: z.string().min(1).optional(),
|
|
50
|
+
bugs_board: z.string().min(1).optional(),
|
|
51
|
+
releases_board: z.string().min(1).optional(),
|
|
52
|
+
})
|
|
53
|
+
.strict();
|
|
54
|
+
/**
|
|
55
|
+
* Env-var identifier shape (POSIX-style). Rejects token-looking
|
|
56
|
+
* values like `tok-fixture-xxxx` or JWT-looking values like
|
|
57
|
+
* `eyJhbGciOi...` so a user pasting a token under the allowed
|
|
58
|
+
* `api_token_env` key fails at parse time.
|
|
59
|
+
*/
|
|
60
|
+
const ENV_VAR_NAME_PATTERN = /^[A-Z_][A-Z0-9_]*$/u;
|
|
61
|
+
export const profileEntrySchema = z
|
|
62
|
+
.object({
|
|
63
|
+
api_token_env: z
|
|
64
|
+
.string()
|
|
65
|
+
.min(1)
|
|
66
|
+
.regex(ENV_VAR_NAME_PATTERN, {
|
|
67
|
+
message: '`api_token_env` must be an env-var name (e.g., `MONDAY_API_TOKEN_WORK`), NOT the token value itself. The CLI never reads tokens from `config.toml`; reference an env var or use `monday auth login` instead.',
|
|
68
|
+
})
|
|
69
|
+
.optional(),
|
|
70
|
+
api_version: z
|
|
71
|
+
.string()
|
|
72
|
+
.regex(/^\d{4}-\d{2}$/u, { message: 'expected YYYY-MM' })
|
|
73
|
+
.optional(),
|
|
74
|
+
default_workspace: z.string().min(1).optional(),
|
|
75
|
+
timezone: z.string().min(1).optional(),
|
|
76
|
+
dev: profileDevBlockSchema.optional(),
|
|
77
|
+
})
|
|
78
|
+
.strict();
|
|
79
|
+
/**
|
|
80
|
+
* Top-level config-file shape per cli-design §7.2.
|
|
81
|
+
*/
|
|
82
|
+
export const profilesConfigSchema = z
|
|
83
|
+
.object({
|
|
84
|
+
default_profile: z.string().min(1).optional(),
|
|
85
|
+
profiles: z.record(z.string().min(1), profileEntrySchema),
|
|
86
|
+
})
|
|
87
|
+
.strict();
|
|
88
|
+
/**
|
|
89
|
+
* Resolves the absolute config-file path. Pure helper.
|
|
90
|
+
*/
|
|
91
|
+
export const resolveProfilesConfigPath = (options = {}) => {
|
|
92
|
+
const home = options.home ?? homedir();
|
|
93
|
+
return join(home, PROFILES_DIR_NAME, PROFILES_CONFIG_FILE_NAME);
|
|
94
|
+
};
|
|
95
|
+
/**
|
|
96
|
+
* Reads + parses `~/.monday-cli/config.toml`. Returns `undefined`
|
|
97
|
+
* when the file does not exist (typical first-run state — implicit
|
|
98
|
+
* v1 mode applies). Throws `config_error` for parse failures (TOML
|
|
99
|
+
* malformed) or schema-validation failures (unknown keys, type
|
|
100
|
+
* mismatch, token-smuggled-as-env-var-name).
|
|
101
|
+
*/
|
|
102
|
+
export const loadProfilesConfig = async (options = {}) => {
|
|
103
|
+
const fullPath = resolveProfilesConfigPath(options);
|
|
104
|
+
let raw;
|
|
105
|
+
try {
|
|
106
|
+
raw = await readFile(fullPath, 'utf8');
|
|
107
|
+
}
|
|
108
|
+
catch (err) {
|
|
109
|
+
if (isENOENT(err)) {
|
|
110
|
+
return undefined;
|
|
111
|
+
}
|
|
112
|
+
// Non-ENOENT readFile errors (EACCES, EISDIR) are platform-
|
|
113
|
+
// specific and not reproducible from a tmp-dir test.
|
|
114
|
+
/* c8 ignore start */
|
|
115
|
+
throw new ConfigError(`cannot read profiles config ${fullPath}`, {
|
|
116
|
+
cause: asError(err),
|
|
117
|
+
details: { path: fullPath },
|
|
118
|
+
});
|
|
119
|
+
/* c8 ignore stop */
|
|
120
|
+
}
|
|
121
|
+
let tomlParsed;
|
|
122
|
+
try {
|
|
123
|
+
tomlParsed = parseToml(raw);
|
|
124
|
+
}
|
|
125
|
+
catch (err) {
|
|
126
|
+
throw new ConfigError(`malformed TOML in profiles config ${fullPath}`, {
|
|
127
|
+
cause: asError(err),
|
|
128
|
+
details: {
|
|
129
|
+
path: fullPath,
|
|
130
|
+
hint: 'check the file for unmatched quotes, missing `=`, or invalid section headers',
|
|
131
|
+
},
|
|
132
|
+
});
|
|
133
|
+
}
|
|
134
|
+
const result = profilesConfigSchema.safeParse(tomlParsed);
|
|
135
|
+
if (!result.success) {
|
|
136
|
+
const issues = result.error.issues.map((i) => ({
|
|
137
|
+
path: i.path.join('.'),
|
|
138
|
+
message: i.message,
|
|
139
|
+
code: i.code,
|
|
140
|
+
}));
|
|
141
|
+
const summary = issues
|
|
142
|
+
.map((i) => (i.path !== '' ? `${i.path}: ${i.message}` : i.message))
|
|
143
|
+
.join('; ');
|
|
144
|
+
throw new ConfigError(`invalid profiles config: ${summary}`, {
|
|
145
|
+
cause: result.error,
|
|
146
|
+
details: {
|
|
147
|
+
path: fullPath,
|
|
148
|
+
issues,
|
|
149
|
+
hint: 'profile entries must reference an env-var NAME via `api_token_env`, never the token value itself; tokens belong in env vars or the credentials cache (run `monday auth login`).',
|
|
150
|
+
},
|
|
151
|
+
});
|
|
152
|
+
}
|
|
153
|
+
return result.data;
|
|
154
|
+
};
|
|
155
|
+
/**
|
|
156
|
+
* Resolves the active profile per cli-design §7.2 source order:
|
|
157
|
+
*
|
|
158
|
+
* 1. `flag` (from `--profile <name>`).
|
|
159
|
+
* 2. `env.MONDAY_PROFILE`.
|
|
160
|
+
* 3. `config.default_profile`.
|
|
161
|
+
* 4. Implicit-v1 sentinel.
|
|
162
|
+
*
|
|
163
|
+
* Surfaces `config_error` when:
|
|
164
|
+
* - any of (1)/(2)/(3) names a profile not present in the config
|
|
165
|
+
* file, OR
|
|
166
|
+
* - `flag` / `MONDAY_PROFILE` is set but no config file exists
|
|
167
|
+
* (the flag/env imply per-profile resolution that the missing
|
|
168
|
+
* config can't fulfil).
|
|
169
|
+
*/
|
|
170
|
+
export const selectProfile = (inputs) => {
|
|
171
|
+
const flagName = inputs.flag !== undefined && inputs.flag.length > 0
|
|
172
|
+
? inputs.flag
|
|
173
|
+
: undefined;
|
|
174
|
+
const envName = inputs.env.MONDAY_PROFILE !== undefined &&
|
|
175
|
+
inputs.env.MONDAY_PROFILE.length > 0
|
|
176
|
+
? inputs.env.MONDAY_PROFILE
|
|
177
|
+
: undefined;
|
|
178
|
+
// (1)/(2): explicit selection. The credentials cache is the
|
|
179
|
+
// authoritative store for tokens (cli-design §7.4.1), and
|
|
180
|
+
// `monday auth login --profile <name>` populates it without
|
|
181
|
+
// requiring a `config.toml` edit. Two cases:
|
|
182
|
+
//
|
|
183
|
+
// - No config file: return a synthetic empty entry. The caller
|
|
184
|
+
// resolves the token via `resolveProfileToken`, which checks
|
|
185
|
+
// the credentials cache first and surfaces `config_error`
|
|
186
|
+
// only if neither cache nor `api_token_env` is populated.
|
|
187
|
+
// - Config file present but profile not in `profiles`: error
|
|
188
|
+
// loud — the user expressed an explicit `[profiles.<name>]`
|
|
189
|
+
// intent that the file doesn't satisfy.
|
|
190
|
+
const explicit = flagName ?? envName;
|
|
191
|
+
if (explicit !== undefined) {
|
|
192
|
+
if (inputs.config === undefined) {
|
|
193
|
+
return { mode: 'named', name: explicit, entry: {} };
|
|
194
|
+
}
|
|
195
|
+
const entry = inputs.config.profiles[explicit];
|
|
196
|
+
if (entry === undefined) {
|
|
197
|
+
throw new ConfigError(`profile \`${explicit}\` not found in ~/.monday-cli/config.toml`, {
|
|
198
|
+
details: {
|
|
199
|
+
profile: explicit,
|
|
200
|
+
available_profiles: Object.keys(inputs.config.profiles),
|
|
201
|
+
source: flagName !== undefined ? '--profile flag' : 'MONDAY_PROFILE env',
|
|
202
|
+
hint: `add a [profiles.${explicit}] section to ~/.monday-cli/config.toml, OR run \`monday auth login --profile ${explicit}\` to populate the credentials cache directly`,
|
|
203
|
+
},
|
|
204
|
+
});
|
|
205
|
+
}
|
|
206
|
+
return { mode: 'named', name: explicit, entry };
|
|
207
|
+
}
|
|
208
|
+
// (3): default_profile from config.
|
|
209
|
+
if (inputs.config?.default_profile !== undefined) {
|
|
210
|
+
const name = inputs.config.default_profile;
|
|
211
|
+
const entry = inputs.config.profiles[name];
|
|
212
|
+
if (entry === undefined) {
|
|
213
|
+
throw new ConfigError(`default_profile \`${name}\` not found in ~/.monday-cli/config.toml`, {
|
|
214
|
+
details: {
|
|
215
|
+
profile: name,
|
|
216
|
+
available_profiles: Object.keys(inputs.config.profiles),
|
|
217
|
+
source: 'default_profile in config.toml',
|
|
218
|
+
hint: 'set `default_profile` to one of the listed available_profiles, or remove the `default_profile` line to fall back to the first profile listed',
|
|
219
|
+
},
|
|
220
|
+
});
|
|
221
|
+
}
|
|
222
|
+
return { mode: 'named', name, entry };
|
|
223
|
+
}
|
|
224
|
+
// (4): implicit v1.
|
|
225
|
+
return { mode: 'implicit_v1' };
|
|
226
|
+
};
|
|
227
|
+
//# sourceMappingURL=profiles.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"profiles.js","sourceRoot":"","sources":["../../src/config/profiles.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,KAAK,IAAI,SAAS,EAAE,MAAM,WAAW,CAAC;AAC/C,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE1C,gEAAgE;AAChE,MAAM,CAAC,MAAM,yBAAyB,GAAG,aAAa,CAAC;AAEvD,mEAAmE;AACnE,MAAM,CAAC,MAAM,iBAAiB,GAAG,aAAa,CAAC;AAE/C;;;;;GAKG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC;KACnC,MAAM,CAAC;IACN,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IACzC,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IAC3C,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IACzC,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IACxC,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;CAC7C,CAAC;KACD,MAAM,EAAE,CAAC;AAIZ;;;;;GAKG;AACH,MAAM,oBAAoB,GAAG,qBAAqB,CAAC;AAEnD,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC;KAChC,MAAM,CAAC;IACN,aAAa,EAAE,CAAC;SACb,MAAM,EAAE;SACR,GAAG,CAAC,CAAC,CAAC;SACN,KAAK,CAAC,oBAAoB,EAAE;QAC3B,OAAO,EACL,8MAA8M;KACjN,CAAC;SACD,QAAQ,EAAE;IACb,WAAW,EAAE,CAAC;SACX,MAAM,EAAE;SACR,KAAK,CAAC,gBAAgB,EAAE,EAAE,OAAO,EAAE,kBAAkB,EAAE,CAAC;SACxD,QAAQ,EAAE;IACb,iBAAiB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IAC/C,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IACtC,GAAG,EAAE,qBAAqB,CAAC,QAAQ,EAAE;CACtC,CAAC;KACD,MAAM,EAAE,CAAC;AAIZ;;GAEG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC;KAClC,MAAM,CAAC;IACN,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IAC7C,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,kBAAkB,CAAC;CAC1D,CAAC;KACD,MAAM,EAAE,CAAC;AASZ;;GAEG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAG,CACvC,UAA+B,EAAE,EACzB,EAAE;IACV,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,OAAO,EAAE,CAAC;IACvC,OAAO,IAAI,CAAC,IAAI,EAAE,iBAAiB,EAAE,yBAAyB,CAAC,CAAC;AAClE,CAAC,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,KAAK,EACrC,UAA+B,EAAE,EACI,EAAE;IACvC,MAAM,QAAQ,GAAG,yBAAyB,CAAC,OAAO,CAAC,CAAC;IACpD,IAAI,GAAW,CAAC;IAChB,IAAI,CAAC;QACH,GAAG,GAAG,MAAM,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IACzC,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YAClB,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,4DAA4D;QAC5D,qDAAqD;QACrD,qBAAqB;QACrB,MAAM,IAAI,WAAW,CACnB,+BAA+B,QAAQ,EAAE,EACzC;YACE,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC;YACnB,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;SAC5B,CACF,CAAC;QACF,oBAAoB;IACtB,CAAC;IAED,IAAI,UAAmB,CAAC;IACxB,IAAI,CAAC;QACH,UAAU,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC;IAC9B,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,IAAI,WAAW,CACnB,qCAAqC,QAAQ,EAAE,EAC/C;YACE,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC;YACnB,OAAO,EAAE;gBACP,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,8EAA8E;aACrF;SACF,CACF,CAAC;IACJ,CAAC;IAED,MAAM,MAAM,GAAG,oBAAoB,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;IAC1D,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACpB,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAC7C,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;YACtB,OAAO,EAAE,CAAC,CAAC,OAAO;YAClB,IAAI,EAAE,CAAC,CAAC,IAAI;SACb,CAAC,CAAC,CAAC;QACJ,MAAM,OAAO,GAAG,MAAM;aACnB,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;aACnE,IAAI,CAAC,IAAI,CAAC,CAAC;QACd,MAAM,IAAI,WAAW,CACnB,4BAA4B,OAAO,EAAE,EACrC;YACE,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,OAAO,EAAE;gBACP,IAAI,EAAE,QAAQ;gBACd,MAAM;gBACN,IAAI,EAAE,iLAAiL;aACxL;SACF,CACF,CAAC;IACJ,CAAC;IACD,OAAO,MAAM,CAAC,IAAI,CAAC;AACrB,CAAC,CAAC;AAgBF;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,CAC3B,MAA2B,EACN,EAAE;IACvB,MAAM,QAAQ,GACZ,MAAM,CAAC,IAAI,KAAK,SAAS,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC;QACjD,CAAC,CAAC,MAAM,CAAC,IAAI;QACb,CAAC,CAAC,SAAS,CAAC;IAChB,MAAM,OAAO,GACX,MAAM,CAAC,GAAG,CAAC,cAAc,KAAK,SAAS;QACvC,MAAM,CAAC,GAAG,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC;QAClC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,cAAc;QAC3B,CAAC,CAAC,SAAS,CAAC;IAEhB,4DAA4D;IAC5D,0DAA0D;IAC1D,4DAA4D;IAC5D,6CAA6C;IAC7C,EAAE;IACF,iEAAiE;IACjE,iEAAiE;IACjE,8DAA8D;IAC9D,8DAA8D;IAC9D,+DAA+D;IAC/D,gEAAgE;IAChE,4CAA4C;IAC5C,MAAM,QAAQ,GAAG,QAAQ,IAAI,OAAO,CAAC;IACrC,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC3B,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YAChC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;QACtD,CAAC;QACD,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAC/C,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,MAAM,IAAI,WAAW,CACnB,aAAa,QAAQ,2CAA2C,EAChE;gBACE,OAAO,EAAE;oBACP,OAAO,EAAE,QAAQ;oBACjB,kBAAkB,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC;oBACvD,MAAM,EAAE,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,oBAAoB;oBACxE,IAAI,EAAE,mBAAmB,QAAQ,gFAAgF,QAAQ,+CAA+C;iBACzK;aACF,CACF,CAAC;QACJ,CAAC;QACD,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;IAClD,CAAC;IAED,oCAAoC;IACpC,IAAI,MAAM,CAAC,MAAM,EAAE,eAAe,KAAK,SAAS,EAAE,CAAC;QACjD,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC;QAC3C,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAC3C,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,MAAM,IAAI,WAAW,CACnB,qBAAqB,IAAI,2CAA2C,EACpE;gBACE,OAAO,EAAE;oBACP,OAAO,EAAE,IAAI;oBACb,kBAAkB,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC;oBACvD,MAAM,EAAE,gCAAgC;oBACxC,IAAI,EAAE,8IAA8I;iBACrJ;aACF,CACF,CAAC;QACJ,CAAC;QACD,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;IACxC,CAAC;IAED,oBAAoB;IACpB,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC;AACjC,CAAC,CAAC"}
|
|
@@ -51,7 +51,7 @@ export interface GlobalFlags {
|
|
|
51
51
|
readonly verbose: boolean;
|
|
52
52
|
readonly noColor: boolean;
|
|
53
53
|
readonly noCache: boolean;
|
|
54
|
-
readonly profile:
|
|
54
|
+
readonly profile: string | undefined;
|
|
55
55
|
readonly apiVersion: string | undefined;
|
|
56
56
|
readonly timeout: number | undefined;
|
|
57
57
|
readonly retry: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"global-flags.d.ts","sourceRoot":"","sources":["../../src/types/global-flags.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"global-flags.d.ts","sourceRoot":"","sources":["../../src/types/global-flags.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAmDxB,eAAO,MAAM,cAAc,8CAA+C,CAAC;AAC3E,MAAM,MAAM,YAAY,GAAG,CAAC,OAAO,cAAc,CAAC,CAAC,MAAM,CAAC,CAAC;AAE3D;;;;;GAKG;AACH,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;kBAyC7B,CAAC;AAEL,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAElE;;;;;GAKG;AACH,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,MAAM,EAAE,YAAY,GAAG,SAAS,CAAC;IAC1C,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;IACnC,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,CAAC;IAEhD,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAE1B,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;IACrC,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;IACxC,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;IACrC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IAEvB,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,GAAG,EAAE,OAAO,CAAC;IAEtB,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC;CACvC;AAiED;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB,GAC3B,SAAS,OAAO,EAChB,MAAK,MAAM,CAAC,UAAe,KAC1B,WA+BF,CAAC"}
|
|
@@ -22,8 +22,20 @@ import { UsageError } from '../utils/errors.js';
|
|
|
22
22
|
* schema, then projects into the normalised `GlobalFlags` shape
|
|
23
23
|
* the rest of the codebase consumes (`noCache`, `noColor`,
|
|
24
24
|
* `columns: string[]`). Also resolves `--profile` against
|
|
25
|
-
* `MONDAY_PROFILE` env per
|
|
26
|
-
*
|
|
25
|
+
* `MONDAY_PROFILE` env per cli-design §7.2 (`--profile` flag >
|
|
26
|
+
* `MONDAY_PROFILE` env; mismatch is `usage_error`). The actual
|
|
27
|
+
* profile-config + credentials-cache lookup happens later in
|
|
28
|
+
* `cli/run.ts`'s config-load step at v0.3-M21 implementation;
|
|
29
|
+
* pre-flight only widens the structural acceptance.
|
|
30
|
+
*
|
|
31
|
+
* **v0.3-M21 pre-flight widening.** Pre-v0.3 the resolver rejected
|
|
32
|
+
* any profile name other than `default` with a v0.3 hint; with the
|
|
33
|
+
* §7.2 / §7.3 / §7.4 surface in force from M21 onwards, any non-
|
|
34
|
+
* empty profile name parses through structurally. The actual
|
|
35
|
+
* resolution-to-token step (cache > api_token_env > config_error)
|
|
36
|
+
* lands at M21 implementation in `cli/run.ts`; until then, non-auth
|
|
37
|
+
* commands using `--profile work` silently use the implicit-v1
|
|
38
|
+
* (`MONDAY_API_TOKEN`) token.
|
|
27
39
|
*
|
|
28
40
|
* Codex review §4–§6 caught the original schema's drift — it
|
|
29
41
|
* declared `noCache: boolean` and `columns: string[]` and tested
|
|
@@ -31,8 +43,6 @@ import { UsageError } from '../utils/errors.js';
|
|
|
31
43
|
* This rewrite uses commander's actual shape on the input boundary
|
|
32
44
|
* and produces the consumer-friendly shape on the output boundary.
|
|
33
45
|
*/
|
|
34
|
-
const PROFILE_V03_HINT = 'Multi-profile support lands in v0.3 (`monday auth login`). ' +
|
|
35
|
-
'For now, omit --profile/MONDAY_PROFILE or set them to `default`.';
|
|
36
46
|
const apiVersionSchema = z
|
|
37
47
|
.string()
|
|
38
48
|
.regex(/^\d{4}-\d{2}$/u, { message: 'expected YYYY-MM' });
|
|
@@ -92,10 +102,19 @@ const splitColumns = (raw) => {
|
|
|
92
102
|
return parts.length === 0 ? undefined : parts;
|
|
93
103
|
};
|
|
94
104
|
/**
|
|
95
|
-
* `--profile`
|
|
96
|
-
*
|
|
97
|
-
*
|
|
98
|
-
* env
|
|
105
|
+
* `--profile` source-priority resolver per cli-design §7.2.
|
|
106
|
+
*
|
|
107
|
+
* Returns the chosen profile name (or `undefined` when neither flag
|
|
108
|
+
* nor env is set, signalling the implicit-v1 path). The flag wins
|
|
109
|
+
* over the env when both are set to the same value; a mismatch
|
|
110
|
+
* surfaces `usage_error` per the same rule.
|
|
111
|
+
*
|
|
112
|
+
* **v0.3-M21 pre-flight surface.** Any non-empty string parses
|
|
113
|
+
* through; the actual lookup (does the named profile exist in
|
|
114
|
+
* `~/.monday-cli/config.toml`? does `~/.monday-cli/credentials`
|
|
115
|
+
* have an entry for it? is the named `api_token_env` populated?)
|
|
116
|
+
* is M21 implementation work in `cli/run.ts`'s config-load step.
|
|
117
|
+
* `parseGlobalFlags` does NOT touch the filesystem.
|
|
99
118
|
*/
|
|
100
119
|
const resolveProfile = (flagValue, envValue) => {
|
|
101
120
|
const fromFlag = flagValue !== undefined && flagValue.length > 0
|
|
@@ -111,14 +130,7 @@ const resolveProfile = (flagValue, envValue) => {
|
|
|
111
130
|
},
|
|
112
131
|
});
|
|
113
132
|
}
|
|
114
|
-
|
|
115
|
-
if (chosen === undefined) {
|
|
116
|
-
return undefined;
|
|
117
|
-
}
|
|
118
|
-
if (chosen !== 'default') {
|
|
119
|
-
throw new UsageError(`profile "${chosen}" is not supported in v0.1`, { details: { hint: PROFILE_V03_HINT } });
|
|
120
|
-
}
|
|
121
|
-
return 'default';
|
|
133
|
+
return fromFlag ?? fromEnv;
|
|
122
134
|
};
|
|
123
135
|
const formatZodIssues = (err) => {
|
|
124
136
|
const issues = err.issues.map((issue) => ({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"global-flags.js","sourceRoot":"","sources":["../../src/types/global-flags.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAEhD
|
|
1
|
+
{"version":3,"file":"global-flags.js","sourceRoot":"","sources":["../../src/types/global-flags.ts"],"names":[],"mappings":"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"}
|
package/dist/types/ids.d.ts
CHANGED
|
@@ -26,6 +26,7 @@ export declare const ItemIdSchema: z.core.$ZodBranded<z.ZodString, "ItemId", "ou
|
|
|
26
26
|
export declare const UserIdSchema: z.core.$ZodBranded<z.ZodString, "UserId", "out">;
|
|
27
27
|
export declare const WorkspaceIdSchema: z.core.$ZodBranded<z.ZodString, "WorkspaceId", "out">;
|
|
28
28
|
export declare const UpdateIdSchema: z.core.$ZodBranded<z.ZodString, "UpdateId", "out">;
|
|
29
|
+
export declare const WebhookIdSchema: z.core.$ZodBranded<z.ZodString, "WebhookId", "out">;
|
|
29
30
|
export declare const ColumnIdSchema: z.core.$ZodBranded<z.ZodString, "ColumnId", "out">;
|
|
30
31
|
export declare const GroupIdSchema: z.core.$ZodBranded<z.ZodString, "GroupId", "out">;
|
|
31
32
|
export type BoardId = z.infer<typeof BoardIdSchema>;
|
|
@@ -35,4 +36,5 @@ export type GroupId = z.infer<typeof GroupIdSchema>;
|
|
|
35
36
|
export type UserId = z.infer<typeof UserIdSchema>;
|
|
36
37
|
export type WorkspaceId = z.infer<typeof WorkspaceIdSchema>;
|
|
37
38
|
export type UpdateId = z.infer<typeof UpdateIdSchema>;
|
|
39
|
+
export type WebhookId = z.infer<typeof WebhookIdSchema>;
|
|
38
40
|
//# sourceMappingURL=ids.d.ts.map
|
package/dist/types/ids.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ids.d.ts","sourceRoot":"","sources":["../../src/types/ids.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"ids.d.ts","sourceRoot":"","sources":["../../src/types/ids.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAuBxB;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,eAAO,MAAM,uBAAuB,QAAoB,CAAC;AAEzD,eAAO,MAAM,aAAa,mDAAqC,CAAC;AAChE,eAAO,MAAM,YAAY,kDAAoC,CAAC;AAC9D,eAAO,MAAM,YAAY,kDAAoC,CAAC;AAC9D,eAAO,MAAM,iBAAiB,uDAAyC,CAAC;AACxE,eAAO,MAAM,cAAc,oDAAsC,CAAC;AAClE,eAAO,MAAM,eAAe,qDAAuC,CAAC;AAIpE,eAAO,MAAM,cAAc,oDAAmC,CAAC;AAC/D,eAAO,MAAM,aAAa,mDAAkC,CAAC;AAE7D,MAAM,MAAM,OAAO,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,CAAC;AACpD,MAAM,MAAM,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC;AAClD,MAAM,MAAM,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;AACtD,MAAM,MAAM,OAAO,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,CAAC;AACpD,MAAM,MAAM,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC;AAClD,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAC5D,MAAM,MAAM,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;AACtD,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC"}
|
package/dist/types/ids.js
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
2
|
/**
|
|
3
|
-
* Branded zod schemas for the
|
|
4
|
-
*
|
|
5
|
-
*
|
|
3
|
+
* Branded zod schemas for the eight ID kinds Monday surfaces (M27
|
|
4
|
+
* added `WebhookId` alongside the seven v0.1 brands). Brands make
|
|
5
|
+
* `BoardId`/`ItemId`/etc. nominally distinct at the type level even
|
|
6
|
+
* though they're all numeric strings on the wire — passing a
|
|
6
7
|
* `BoardId` where an `ItemId` is wanted becomes a compile error,
|
|
7
8
|
* which is the whole point.
|
|
8
9
|
*
|
|
@@ -44,6 +45,7 @@ export const ItemIdSchema = numericIdSchema.brand();
|
|
|
44
45
|
export const UserIdSchema = numericIdSchema.brand();
|
|
45
46
|
export const WorkspaceIdSchema = numericIdSchema.brand();
|
|
46
47
|
export const UpdateIdSchema = numericIdSchema.brand();
|
|
48
|
+
export const WebhookIdSchema = numericIdSchema.brand();
|
|
47
49
|
// Column and group IDs are stable lower-snake-case slugs ("status_4",
|
|
48
50
|
// "topics") — not numeric. Validate as non-empty strings only.
|
|
49
51
|
export const ColumnIdSchema = slugIdSchema.brand();
|
package/dist/types/ids.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ids.js","sourceRoot":"","sources":["../../src/types/ids.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB
|
|
1
|
+
{"version":3,"file":"ids.js","sourceRoot":"","sources":["../../src/types/ids.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;;;;;;;;;;;GAYG;AACH,MAAM,eAAe,GAAG,CAAC;KACtB,MAAM,EAAE;KACR,KAAK,CAAC,QAAQ,EAAE,EAAE,OAAO,EAAE,uBAAuB,EAAE,CAAC,CAAC;AAEzD,MAAM,YAAY,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE;IACrC,OAAO,EAAE,yBAAyB;CACnC,CAAC,CAAC;AAEH;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,iBAAiB,CAAC;AAEzD,MAAM,CAAC,MAAM,aAAa,GAAG,eAAe,CAAC,KAAK,EAAa,CAAC;AAChE,MAAM,CAAC,MAAM,YAAY,GAAG,eAAe,CAAC,KAAK,EAAY,CAAC;AAC9D,MAAM,CAAC,MAAM,YAAY,GAAG,eAAe,CAAC,KAAK,EAAY,CAAC;AAC9D,MAAM,CAAC,MAAM,iBAAiB,GAAG,eAAe,CAAC,KAAK,EAAiB,CAAC;AACxE,MAAM,CAAC,MAAM,cAAc,GAAG,eAAe,CAAC,KAAK,EAAc,CAAC;AAClE,MAAM,CAAC,MAAM,eAAe,GAAG,eAAe,CAAC,KAAK,EAAe,CAAC;AAEpE,sEAAsE;AACtE,+DAA+D;AAC/D,MAAM,CAAC,MAAM,cAAc,GAAG,YAAY,CAAC,KAAK,EAAc,CAAC;AAC/D,MAAM,CAAC,MAAM,aAAa,GAAG,YAAY,CAAC,KAAK,EAAa,CAAC"}
|
package/dist/utils/errors.d.ts
CHANGED
|
@@ -3,10 +3,22 @@
|
|
|
3
3
|
* `code` from `cli-design.md` §6.5 — agents key off the code, never
|
|
4
4
|
* the English `message`. v0.1 froze 26 codes; `ambiguous_match` ships
|
|
5
5
|
* in v0.2 M12 (`item upsert` with 2+ matches), bringing the count to
|
|
6
|
-
* 27. `
|
|
7
|
-
*
|
|
6
|
+
* 27. `tag_not_found` registered pre-v0.3-M19 as the writer-expansion
|
|
7
|
+
* close prerequisite (cli-design §6.5 entry landed at `4c652d5`); the
|
|
8
|
+
* runtime throw site lands at M19 implementation when the `tags`
|
|
9
|
+
* friendly translator + `tag-directory.ts` ship — but the union
|
|
10
|
+
* widens at the M19 pre-flight contract diff so M19 feat commits
|
|
11
|
+
* throw into a stable typed surface (28 total). `oauth_failed` joined
|
|
12
|
+
* at the v0.3-M21 pre-flight contract diff as the `monday auth login`
|
|
13
|
+
* umbrella per cli-design §7.3.3 (29 total) — `details.reason`
|
|
14
|
+
* discriminates the failure mode (`csrf_mismatch`, `user_denied`,
|
|
15
|
+
* `authorization_failed`, `code_exchange_failed`, `timeout`,
|
|
16
|
+
* `port_in_use`, `browser_unavailable`); the runtime throw sites land
|
|
17
|
+
* at M21 implementation when `src/api/oauth.ts` + `src/commands/auth/*`
|
|
18
|
+
* ship their wire bodies. `dev_*` codes ship in v0.3 but are listed here
|
|
19
|
+
* so the M5b agent doesn't need to backfill the type.
|
|
8
20
|
*/
|
|
9
|
-
export declare const ERROR_CODES: readonly ["usage_error", "confirmation_required", "not_found", "ambiguous_name", "ambiguous_column", "ambiguous_match", "column_not_found", "user_not_found", "unsupported_column_type", "column_archived", "unauthorized", "forbidden", "rate_limited", "complexity_exceeded", "daily_limit_exceeded", "concurrency_exceeded", "ip_rate_limited", "resource_locked", "validation_failed", "stale_cursor", "config_error", "cache_error", "network_error", "timeout", "dev_not_configured", "dev_board_misconfigured", "internal_error"];
|
|
21
|
+
export declare const ERROR_CODES: readonly ["usage_error", "confirmation_required", "not_found", "ambiguous_name", "ambiguous_column", "ambiguous_match", "column_not_found", "user_not_found", "tag_not_found", "unsupported_column_type", "column_archived", "unauthorized", "forbidden", "rate_limited", "complexity_exceeded", "daily_limit_exceeded", "concurrency_exceeded", "ip_rate_limited", "resource_locked", "validation_failed", "stale_cursor", "oauth_failed", "config_error", "cache_error", "network_error", "timeout", "dev_not_configured", "dev_board_misconfigured", "internal_error"];
|
|
10
22
|
export type ErrorCode = (typeof ERROR_CODES)[number];
|
|
11
23
|
/**
|
|
12
24
|
* The CLI's exit code surface (`cli-design.md` §3.1 #5).
|
|
@@ -118,4 +130,46 @@ export declare const exitCodeForError: (code: ErrorCode) => ExitCode;
|
|
|
118
130
|
* decided when they aborted.
|
|
119
131
|
*/
|
|
120
132
|
export declare const errorForAbortReason: (reason: AbortReason) => MondayCliError;
|
|
133
|
+
/**
|
|
134
|
+
* Narrows a caught `unknown` to its message string. The standard
|
|
135
|
+
* `useUnknownInCatchVariables`-narrowing idiom for project code that
|
|
136
|
+
* needs the human-readable text without the full Error object.
|
|
137
|
+
*
|
|
138
|
+
* **R-NEW-14 lift (post-M23 audit).** Previously inlined 11+ times
|
|
139
|
+
* across the codebase since M2/M6 — see `docs/v0.3-plan.md` §22
|
|
140
|
+
* R-NEW-14 entry for the missed-trigger history. M22's
|
|
141
|
+
* `src/api/probes.ts:errorMessage` is the smoking gun: the developer
|
|
142
|
+
* needed the helper and wrote a local copy instead of finding the
|
|
143
|
+
* 9+ inline sites. Lift consolidates those into one canonical
|
|
144
|
+
* helper.
|
|
145
|
+
*/
|
|
146
|
+
export declare const errorMessage: (err: unknown) => string;
|
|
147
|
+
/**
|
|
148
|
+
* Coerces a caught `unknown` to a real `Error` for `cause:`
|
|
149
|
+
* propagation. The companion to {@link errorMessage} for code paths
|
|
150
|
+
* that want the full Error object to thread through a `cause:`
|
|
151
|
+
* chain rather than just the message string.
|
|
152
|
+
*
|
|
153
|
+
* **R-NEW-15 lift (post-M23 audit).** Previously inlined 6+ times
|
|
154
|
+
* across M1 + M21 modules (`src/api/cache.ts`,
|
|
155
|
+
* `src/config/credentials.ts`, `src/config/profiles.ts`,
|
|
156
|
+
* `src/api/oauth-test-helper.ts`). M22's `src/api/probes.ts:asError`
|
|
157
|
+
* is the smoking gun (local copy with an `AbortSignal.reason`
|
|
158
|
+
* fallback parameter — superseded here by the shared helper).
|
|
159
|
+
* See `docs/v0.3-plan.md` §22 R-NEW-15 for the missed-trigger
|
|
160
|
+
* history.
|
|
161
|
+
*/
|
|
162
|
+
export declare const asError: (err: unknown) => Error;
|
|
163
|
+
/**
|
|
164
|
+
* Extracts the Node `err.code` property in a type-safe way, returning
|
|
165
|
+
* the string when present and `undefined` otherwise.
|
|
166
|
+
*
|
|
167
|
+
* **R-NEW-16 lift (post-M23 audit).** Generalises the
|
|
168
|
+
* `(err as { code?: unknown }).code` pattern that R-NEW-1's
|
|
169
|
+
* `isENOENT` open-coded. Three named consumers as of M22 (probes.ts
|
|
170
|
+
* + transport.ts + utils/fs.ts's `isENOENT`). `isENOENT` is now a
|
|
171
|
+
* one-liner on top of this. See `docs/v0.3-plan.md` §22 R-NEW-16
|
|
172
|
+
* for the trigger history.
|
|
173
|
+
*/
|
|
174
|
+
export declare const errorCode: (err: unknown) => string | undefined;
|
|
121
175
|
//# sourceMappingURL=errors.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/utils/errors.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/utils/errors.ts"],"names":[],"mappings":"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"}
|