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,333 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Webhook surface for the v0.3-M27 `monday webhook list/create/delete`
|
|
3
|
+
* verbs (`cli-design.md` §2.7 + §4.3 + §13 v0.3 entry;
|
|
4
|
+
* `v0.3-plan.md` §3 M27).
|
|
5
|
+
*
|
|
6
|
+
* **Wire surface (empirical probe 2026-05-12, API `2026-01`).** Three
|
|
7
|
+
* Monday GraphQL operations land here:
|
|
8
|
+
*
|
|
9
|
+
* - `Query.webhooks(board_id: ID!, app_webhooks_only: Boolean)` —
|
|
10
|
+
* returns `[Webhook!]`. CLI exposes board-scoped only (the
|
|
11
|
+
* `app_webhooks_only` filter is a future v0.3.x / v0.4 extension
|
|
12
|
+
* once apps land).
|
|
13
|
+
* - `Mutation.create_webhook(board_id: ID!, url: String!,
|
|
14
|
+
* event: WebhookEventType!, config: JSON)` — returns the created
|
|
15
|
+
* `Webhook`. The CLI surface keeps `--config <json>` as an opaque
|
|
16
|
+
* JSON string; per-event sub-shape validation happens server-side
|
|
17
|
+
* at Monday (Decision 9 closure note in §3 M27).
|
|
18
|
+
* - `Mutation.delete_webhook(id: ID!)` — returns the deleted
|
|
19
|
+
* `Webhook`. The CLI surfaces the full deleted record so an agent
|
|
20
|
+
* re-checking the namespace can verify what went away.
|
|
21
|
+
*
|
|
22
|
+
* **Webhook object shape (4 fields).** `id` (ID, non-null), `board_id`
|
|
23
|
+
* (ID, non-null), `event` (WebhookEventType, non-null), `config`
|
|
24
|
+
* (String, nullable). Note the **asymmetric `config` typing**: the
|
|
25
|
+
* `create_webhook` arg is typed `JSON` (any valid JSON value); the
|
|
26
|
+
* read-side `Webhook.config` field is typed `String` (Monday echoes
|
|
27
|
+
* back the stored JSON-encoded string). The CLI's read schema treats
|
|
28
|
+
* `config` as `string | null`; the create-input parses `--config`
|
|
29
|
+
* once at the parse boundary (in the command's action body) and
|
|
30
|
+
* threads the resulting JS value to Monday's `JSON` scalar (sending
|
|
31
|
+
* the raw string would double-encode).
|
|
32
|
+
*
|
|
33
|
+
* **Decision 9 (webhook event-type validation) — CLOSED at M27
|
|
34
|
+
* pre-flight via the `WEBHOOK_EVENT_TYPES` 21-value closed enum.**
|
|
35
|
+
* Per cli-design §8 default recommendation: zod enum at parse
|
|
36
|
+
* boundary; unknown events surface `usage_error` before hitting
|
|
37
|
+
* the wire. Empirical probe (`scripts/probe/m27-create-webhook
|
|
38
|
+
* -input.ts`, 2026-05-12, API `2026-01`) pinned the vocabulary
|
|
39
|
+
* directly from Monday's introspection — `WebhookEventType` is an
|
|
40
|
+
* `ENUM` with exactly 21 values; additions land as additive minor
|
|
41
|
+
* bumps. Renames or removals are a major version bump.
|
|
42
|
+
*
|
|
43
|
+
* **No new ERROR_CODES (29 stays).** Webhook failures route through
|
|
44
|
+
* the existing codes: `not_found` (missing board / missing webhook),
|
|
45
|
+
* `usage_error` (unknown event-type / malformed URL), `unauthorized`
|
|
46
|
+
* (token lacks webhook-management scope), `forbidden` (account
|
|
47
|
+
* permissions), `validation_failed` (Monday-side rejection of the
|
|
48
|
+
* create payload). No webhook-specific failure mode requires new
|
|
49
|
+
* code-registry surface.
|
|
50
|
+
*
|
|
51
|
+
* **Webhooks are live-only for v0.3.** Per cli-design §8 cache scope,
|
|
52
|
+
* webhooks aren't cached — the live `webhook list` read and the live
|
|
53
|
+
* `webhook create` / `webhook delete` mutation paths emit
|
|
54
|
+
* `meta.source: "live"` with `cache_age_seconds: null`. `--dry-run`
|
|
55
|
+
* paths emit `meta.source: "none"` per the canonical `DryRunEnvelope`
|
|
56
|
+
* contract; all 3 write-verb dry-runs are strictly argv-derived (no
|
|
57
|
+
* pre-mutation read fires — Monday's `webhooks(board_id:)` query is
|
|
58
|
+
* board-scoped but `webhook delete <wid>` carries no board ID, so a
|
|
59
|
+
* pre-read enrichment would require a §4.3 amendment).
|
|
60
|
+
* Adding webhooks to the §8 cache scope would be a contract
|
|
61
|
+
* extension (v0.3.x / v0.4).
|
|
62
|
+
*
|
|
63
|
+
* **Runtime bodies (M27 IMPL).** Three fetchers — `listWebhooks` /
|
|
64
|
+
* `createWebhook` / `deleteWebhook` — each issue a single
|
|
65
|
+
* `client.raw` round-trip with a named operation (`Webhooks` /
|
|
66
|
+
* `CreateWebhook` / `DeleteWebhook`) matching the document's named
|
|
67
|
+
* operation per the R-NEW-37 W2 audit-point. Results parse through
|
|
68
|
+
* {@link webhookSchema} via `unwrapOrThrow` so payload drift surfaces
|
|
69
|
+
* `internal_error` with `details.issues`; null payloads surface
|
|
70
|
+
* `not_found` with `details.webhook_id` (or `details.board_id` for
|
|
71
|
+
* the list verb).
|
|
72
|
+
*/
|
|
73
|
+
import { z } from 'zod';
|
|
74
|
+
import { unwrapOrThrow } from '../utils/parse-boundary.js';
|
|
75
|
+
import { assertResponseFieldPresent } from './response-root.js';
|
|
76
|
+
import { ApiError } from '../utils/errors.js';
|
|
77
|
+
/**
|
|
78
|
+
* Monday's `WebhookEventType` enum vocabulary (empirical probe
|
|
79
|
+
* 2026-05-12, API `2026-01`; 21 values). Pinned at M27 pre-flight
|
|
80
|
+
* to close Decision 9 (webhook event-type validation). The CLI
|
|
81
|
+
* validates `webhook create --event <type>` against this closed
|
|
82
|
+
* list at parse boundary; unknown events surface `usage_error`
|
|
83
|
+
* before hitting the wire.
|
|
84
|
+
*
|
|
85
|
+
* Adding an event to Monday's wire surface is a minor (additive)
|
|
86
|
+
* bump for the CLI — extend this list and the per-command flag
|
|
87
|
+
* help. Renames or removals are a major version bump.
|
|
88
|
+
*
|
|
89
|
+
* The 21 values cover three event families (6 + 10 + 5 = 21):
|
|
90
|
+
* - **Column-value + name-change events (6):** `change_column_value`,
|
|
91
|
+
* `change_specific_column_value`, `change_status_column_value`,
|
|
92
|
+
* `change_subitem_column_value`, `change_name`,
|
|
93
|
+
* `change_subitem_name`.
|
|
94
|
+
* - **Item / subitem lifecycle events (10):** `create_item`,
|
|
95
|
+
* `create_subitem`, `item_archived`, `item_deleted`,
|
|
96
|
+
* `item_moved_to_any_group`, `item_moved_to_specific_group`,
|
|
97
|
+
* `item_restored`, `move_subitem`, `subitem_archived`,
|
|
98
|
+
* `subitem_deleted`.
|
|
99
|
+
* - **Update / column-management events (5):** `create_update`,
|
|
100
|
+
* `create_subitem_update`, `edit_update`, `delete_update`,
|
|
101
|
+
* `create_column`.
|
|
102
|
+
*/
|
|
103
|
+
export const WEBHOOK_EVENT_TYPES = [
|
|
104
|
+
'change_column_value',
|
|
105
|
+
'change_name',
|
|
106
|
+
'change_specific_column_value',
|
|
107
|
+
'change_status_column_value',
|
|
108
|
+
'change_subitem_column_value',
|
|
109
|
+
'change_subitem_name',
|
|
110
|
+
'create_column',
|
|
111
|
+
'create_item',
|
|
112
|
+
'create_subitem',
|
|
113
|
+
'create_subitem_update',
|
|
114
|
+
'create_update',
|
|
115
|
+
'delete_update',
|
|
116
|
+
'edit_update',
|
|
117
|
+
'item_archived',
|
|
118
|
+
'item_deleted',
|
|
119
|
+
'item_moved_to_any_group',
|
|
120
|
+
'item_moved_to_specific_group',
|
|
121
|
+
'item_restored',
|
|
122
|
+
'move_subitem',
|
|
123
|
+
'subitem_archived',
|
|
124
|
+
'subitem_deleted',
|
|
125
|
+
];
|
|
126
|
+
export const webhookEventTypeSchema = z.enum(WEBHOOK_EVENT_TYPES);
|
|
127
|
+
/**
|
|
128
|
+
* The read-side `Webhook` shape returned by `Query.webhooks` and as
|
|
129
|
+
* the result of `create_webhook` / `delete_webhook` mutations.
|
|
130
|
+
*
|
|
131
|
+
* `config` is **nullable string** on read (Monday echoes the stored
|
|
132
|
+
* JSON-encoded config as a string; for events that don't carry
|
|
133
|
+
* server-side config, the field comes back `null`). The
|
|
134
|
+
* `create_webhook` arg is typed `JSON` (any valid JSON value); CLI
|
|
135
|
+
* input takes a JSON-encoded string and threads it to the wire
|
|
136
|
+
* via the `JSON` scalar.
|
|
137
|
+
*/
|
|
138
|
+
export const webhookSchema = z
|
|
139
|
+
.object({
|
|
140
|
+
id: z.string().min(1),
|
|
141
|
+
board_id: z.string().min(1),
|
|
142
|
+
event: webhookEventTypeSchema,
|
|
143
|
+
config: z.string().nullable(),
|
|
144
|
+
})
|
|
145
|
+
.strict();
|
|
146
|
+
/**
|
|
147
|
+
* Output shape for `monday webhook list <bid>` — an array of
|
|
148
|
+
* {@link Webhook} entries scoped to the supplied board. Pure read
|
|
149
|
+
* surface, no mutation envelope.
|
|
150
|
+
*/
|
|
151
|
+
export const webhookListOutputSchema = z.array(webhookSchema);
|
|
152
|
+
/**
|
|
153
|
+
* Output shape for `monday webhook create <bid> --url <u>
|
|
154
|
+
* --event <e> [--config <json>]`. The mutation echoes the created
|
|
155
|
+
* `Webhook` (with the freshly-minted ID); we surface that record
|
|
156
|
+
* directly so an agent can pin the new `id` for a later
|
|
157
|
+
* `webhook delete <wid>`.
|
|
158
|
+
*/
|
|
159
|
+
export const webhookCreateOutputSchema = webhookSchema;
|
|
160
|
+
/**
|
|
161
|
+
* Output shape for `monday webhook delete <wid> --yes`. Monday's
|
|
162
|
+
* `delete_webhook` returns the deleted `Webhook` record; the CLI
|
|
163
|
+
* surfaces that directly so an agent confirms what was removed
|
|
164
|
+
* (event / board / config). Re-deleting an already-deleted webhook
|
|
165
|
+
* surfaces `not_found` (matches the M10 `item delete` / M15
|
|
166
|
+
* `board delete` shape so agents key off one error code regardless
|
|
167
|
+
* of which delete verb they ran).
|
|
168
|
+
*/
|
|
169
|
+
export const webhookDeleteOutputSchema = webhookSchema;
|
|
170
|
+
const LIST_WEBHOOKS_QUERY = `
|
|
171
|
+
query Webhooks($boardId: ID!) {
|
|
172
|
+
webhooks(board_id: $boardId) {
|
|
173
|
+
id
|
|
174
|
+
board_id
|
|
175
|
+
event
|
|
176
|
+
config
|
|
177
|
+
}
|
|
178
|
+
}
|
|
179
|
+
`;
|
|
180
|
+
const listWebhooksResponseSchema = z
|
|
181
|
+
.object({
|
|
182
|
+
webhooks: z.array(webhookSchema).nullable(),
|
|
183
|
+
})
|
|
184
|
+
.loose();
|
|
185
|
+
/**
|
|
186
|
+
* Fetches the webhooks configured on `inputs.boardId` via a single
|
|
187
|
+
* `Query.webhooks(board_id:)` round-trip. `operationName: 'Webhooks'`
|
|
188
|
+
* stays in sync with the named operation in {@link LIST_WEBHOOKS_QUERY}
|
|
189
|
+
* (R-NEW-37 W2 audit-point). Source is always `'live'` per cli-design
|
|
190
|
+
* §8 cache scope; webhooks aren't cached at v0.3.
|
|
191
|
+
*
|
|
192
|
+
* A null `webhooks` root surfaces `not_found` with `details.board_id`
|
|
193
|
+
* — matches the M10/M15 lifecycle verbs so agents key off one error
|
|
194
|
+
* code regardless of which read they ran.
|
|
195
|
+
*/
|
|
196
|
+
export const listWebhooks = async (inputs) => {
|
|
197
|
+
const response = await inputs.client.raw(LIST_WEBHOOKS_QUERY, { boardId: inputs.boardId }, { operationName: 'Webhooks' });
|
|
198
|
+
const parsed = unwrapOrThrow(listWebhooksResponseSchema.safeParse(response.data), {
|
|
199
|
+
context: 'Monday `Query.webhooks` response',
|
|
200
|
+
details: { board_id: inputs.boardId },
|
|
201
|
+
hint: 'Monday may have amended the `webhooks(board_id:)` selection — re-probe and amend `src/api/webhooks.ts` if so',
|
|
202
|
+
});
|
|
203
|
+
if (parsed.webhooks === null) {
|
|
204
|
+
throw new ApiError('not_found', `Monday returned no webhooks payload for board ${inputs.boardId}`, { details: { board_id: inputs.boardId } });
|
|
205
|
+
}
|
|
206
|
+
return {
|
|
207
|
+
webhooks: parsed.webhooks,
|
|
208
|
+
source: 'live',
|
|
209
|
+
cacheAgeSeconds: null,
|
|
210
|
+
complexity: response.complexity,
|
|
211
|
+
};
|
|
212
|
+
};
|
|
213
|
+
const CREATE_WEBHOOK_MUTATION = `
|
|
214
|
+
mutation CreateWebhook(
|
|
215
|
+
$boardId: ID!,
|
|
216
|
+
$url: String!,
|
|
217
|
+
$event: WebhookEventType!,
|
|
218
|
+
$config: JSON
|
|
219
|
+
) {
|
|
220
|
+
create_webhook(
|
|
221
|
+
board_id: $boardId,
|
|
222
|
+
url: $url,
|
|
223
|
+
event: $event,
|
|
224
|
+
config: $config
|
|
225
|
+
) {
|
|
226
|
+
id
|
|
227
|
+
board_id
|
|
228
|
+
event
|
|
229
|
+
config
|
|
230
|
+
}
|
|
231
|
+
}
|
|
232
|
+
`;
|
|
233
|
+
/**
|
|
234
|
+
* Registers a new webhook against Monday's `create_webhook` mutation.
|
|
235
|
+
* `operationName: 'CreateWebhook'` stays in sync with the named
|
|
236
|
+
* operation in {@link CREATE_WEBHOOK_MUTATION} (R-NEW-37 W2 audit-
|
|
237
|
+
* point). The `config` input crosses the wire as the `JSON` scalar
|
|
238
|
+
* when supplied — the caller threads any pre-parsed JSON value;
|
|
239
|
+
* when `inputs.config` is `undefined` the `$config` variable is
|
|
240
|
+
* omitted entirely so Monday's per-event server-side default
|
|
241
|
+
* applies (rather than overwriting with `null`). Per-event
|
|
242
|
+
* structural validation lives server-side at Monday.
|
|
243
|
+
*
|
|
244
|
+
* Re-running creates a fresh webhook with a new ID — `idempotent:
|
|
245
|
+
* false`. Agents needing register-once semantics should `webhook
|
|
246
|
+
* list` first and skip the create if a matching entry exists.
|
|
247
|
+
*/
|
|
248
|
+
export const createWebhook = async (inputs) => {
|
|
249
|
+
const variables = {
|
|
250
|
+
boardId: inputs.boardId,
|
|
251
|
+
url: inputs.url,
|
|
252
|
+
event: inputs.event,
|
|
253
|
+
};
|
|
254
|
+
if (inputs.config !== undefined) {
|
|
255
|
+
variables.config = inputs.config;
|
|
256
|
+
}
|
|
257
|
+
const response = await inputs.client.raw(CREATE_WEBHOOK_MUTATION, variables, { operationName: 'CreateWebhook' });
|
|
258
|
+
assertResponseFieldPresent({
|
|
259
|
+
data: response.data,
|
|
260
|
+
key: 'create_webhook',
|
|
261
|
+
operationLabel: 'CreateWebhook',
|
|
262
|
+
details: { board_id: inputs.boardId, event: inputs.event },
|
|
263
|
+
nullHandling: 'caller_handles',
|
|
264
|
+
});
|
|
265
|
+
const raw = response.data.create_webhook;
|
|
266
|
+
if (raw === null || raw === undefined) {
|
|
267
|
+
throw new ApiError('internal_error', `Monday returned no webhook payload from create_webhook for board ${inputs.boardId}`, {
|
|
268
|
+
details: {
|
|
269
|
+
board_id: inputs.boardId,
|
|
270
|
+
event: inputs.event,
|
|
271
|
+
},
|
|
272
|
+
});
|
|
273
|
+
}
|
|
274
|
+
const webhook = unwrapOrThrow(webhookSchema.safeParse(raw), {
|
|
275
|
+
context: 'Monday `create_webhook` response',
|
|
276
|
+
details: { board_id: inputs.boardId, event: inputs.event },
|
|
277
|
+
hint: 'Monday may have amended the `Webhook` selection — re-probe and amend `src/api/webhooks.ts` if so',
|
|
278
|
+
});
|
|
279
|
+
return {
|
|
280
|
+
webhook,
|
|
281
|
+
source: 'live',
|
|
282
|
+
cacheAgeSeconds: null,
|
|
283
|
+
complexity: response.complexity,
|
|
284
|
+
};
|
|
285
|
+
};
|
|
286
|
+
const DELETE_WEBHOOK_MUTATION = `
|
|
287
|
+
mutation DeleteWebhook($id: ID!) {
|
|
288
|
+
delete_webhook(id: $id) {
|
|
289
|
+
id
|
|
290
|
+
board_id
|
|
291
|
+
event
|
|
292
|
+
config
|
|
293
|
+
}
|
|
294
|
+
}
|
|
295
|
+
`;
|
|
296
|
+
/**
|
|
297
|
+
* Deletes a webhook via Monday's `delete_webhook` mutation.
|
|
298
|
+
* `operationName: 'DeleteWebhook'` stays in sync with the named
|
|
299
|
+
* operation in {@link DELETE_WEBHOOK_MUTATION} (R-NEW-37 W2 audit-
|
|
300
|
+
* point). Returns the deleted record so an agent confirms what was
|
|
301
|
+
* removed (event / board / config) in a single envelope.
|
|
302
|
+
*
|
|
303
|
+
* A null `delete_webhook` surfaces `not_found` with
|
|
304
|
+
* `details.webhook_id` (matches the M10/M15 lifecycle verbs so
|
|
305
|
+
* agents key off one error code regardless of which delete verb
|
|
306
|
+
* they ran).
|
|
307
|
+
*/
|
|
308
|
+
export const deleteWebhook = async (inputs) => {
|
|
309
|
+
const response = await inputs.client.raw(DELETE_WEBHOOK_MUTATION, { id: inputs.webhookId }, { operationName: 'DeleteWebhook' });
|
|
310
|
+
assertResponseFieldPresent({
|
|
311
|
+
data: response.data,
|
|
312
|
+
key: 'delete_webhook',
|
|
313
|
+
operationLabel: 'DeleteWebhook',
|
|
314
|
+
details: { webhook_id: inputs.webhookId },
|
|
315
|
+
nullHandling: 'caller_handles',
|
|
316
|
+
});
|
|
317
|
+
const raw = response.data.delete_webhook;
|
|
318
|
+
if (raw === null || raw === undefined) {
|
|
319
|
+
throw new ApiError('not_found', `Monday returned no webhook payload from delete_webhook for id ${inputs.webhookId}`, { details: { webhook_id: inputs.webhookId } });
|
|
320
|
+
}
|
|
321
|
+
const webhook = unwrapOrThrow(webhookSchema.safeParse(raw), {
|
|
322
|
+
context: 'Monday `delete_webhook` response',
|
|
323
|
+
details: { webhook_id: inputs.webhookId },
|
|
324
|
+
hint: 'Monday may have amended the `Webhook` selection — re-probe and amend `src/api/webhooks.ts` if so',
|
|
325
|
+
});
|
|
326
|
+
return {
|
|
327
|
+
webhook,
|
|
328
|
+
source: 'live',
|
|
329
|
+
cacheAgeSeconds: null,
|
|
330
|
+
complexity: response.complexity,
|
|
331
|
+
};
|
|
332
|
+
};
|
|
333
|
+
//# sourceMappingURL=webhooks.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"webhooks.js","sourceRoot":"","sources":["../../src/api/webhooks.ts"],"names":[],"mappings":"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"}
|
|
@@ -85,8 +85,17 @@ export declare const createMetaBuilder: () => MetaBuilder;
|
|
|
85
85
|
* file (Codex review §1 follow-up). `env` is shared by reference
|
|
86
86
|
* with the runner; re-reading at emit time observes any side-
|
|
87
87
|
* effecting load.
|
|
88
|
+
*
|
|
89
|
+
* `extraSecrets` carries the v0.3-M21 cli-design §7.4.3 redaction-
|
|
90
|
+
* runtime extension — `program.ts`'s preAction hook reads the
|
|
91
|
+
* credentials file once and pushes every per-profile `access_token`
|
|
92
|
+
* onto `ctx.runtimeSecrets`; callers thread that array through so a
|
|
93
|
+
* cached token landing in `Error.message` / `Error.stack` is scrubbed
|
|
94
|
+
* even when no env token is set (e.g., the credentials-cache-only
|
|
95
|
+
* flow where `monday auth login --profile work` is the user's only
|
|
96
|
+
* token source).
|
|
88
97
|
*/
|
|
89
|
-
export declare const collectSecrets: (env: NodeJS.ProcessEnv) => readonly string[];
|
|
98
|
+
export declare const collectSecrets: (env: NodeJS.ProcessEnv, extraSecrets?: readonly string[]) => readonly string[];
|
|
90
99
|
export interface BuildBaseMetaInputs {
|
|
91
100
|
readonly snapshot: MetaSnapshot;
|
|
92
101
|
readonly env: NodeJS.ProcessEnv;
|
|
@@ -106,6 +115,14 @@ export interface WriteErrorEnvelopeOptions {
|
|
|
106
115
|
readonly stderr: NodeJS.WritableStream;
|
|
107
116
|
readonly env: NodeJS.ProcessEnv;
|
|
108
117
|
readonly meta: Meta;
|
|
118
|
+
/**
|
|
119
|
+
* Extra literal secrets to scrub via the value-scan layer (cli-
|
|
120
|
+
* design §7.4.3). The runner threads `ctx.runtimeSecrets` here so
|
|
121
|
+
* a credentials-cache `access_token` that landed in an error's
|
|
122
|
+
* `cause`/`message` chain is scrubbed even when no env token is
|
|
123
|
+
* set.
|
|
124
|
+
*/
|
|
125
|
+
readonly runtimeSecrets?: readonly string[];
|
|
109
126
|
}
|
|
110
127
|
/**
|
|
111
128
|
* Renders the error envelope to `stderr` with two-layer redaction
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"envelope-out.d.ts","sourceRoot":"","sources":["../../src/cli/envelope-out.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkDG;AAGH,OAAO,EAGL,KAAK,UAAU,EACf,KAAK,IAAI,EACV,MAAM,6BAA6B,CAAC;AAErC,OAAO,EAEL,cAAc,EAEf,MAAM,oBAAoB,CAAC;AAE5B,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;IACxC,QAAQ,CAAC,MAAM,EAAE,UAAU,GAAG,SAAS,CAAC;CACzC;AAED,MAAM,WAAW,WAAW;IAC1B;;;;;;;OAOG;IACH,aAAa,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACzC;;;;;;OAMG;IACH,SAAS,EAAE,CAAC,MAAM,EAAE,UAAU,KAAK,IAAI,CAAC;IACxC,mDAAmD;IACnD,QAAQ,EAAE,MAAM,YAAY,CAAC;CAC9B;AAED,eAAO,MAAM,iBAAiB,QAAO,WAYpC,CAAC;AAEF
|
|
1
|
+
{"version":3,"file":"envelope-out.d.ts","sourceRoot":"","sources":["../../src/cli/envelope-out.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkDG;AAGH,OAAO,EAGL,KAAK,UAAU,EACf,KAAK,IAAI,EACV,MAAM,6BAA6B,CAAC;AAErC,OAAO,EAEL,cAAc,EAEf,MAAM,oBAAoB,CAAC;AAE5B,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;IACxC,QAAQ,CAAC,MAAM,EAAE,UAAU,GAAG,SAAS,CAAC;CACzC;AAED,MAAM,WAAW,WAAW;IAC1B;;;;;;;OAOG;IACH,aAAa,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACzC;;;;;;OAMG;IACH,SAAS,EAAE,CAAC,MAAM,EAAE,UAAU,KAAK,IAAI,CAAC;IACxC,mDAAmD;IACnD,QAAQ,EAAE,MAAM,YAAY,CAAC;CAC9B;AAED,eAAO,MAAM,iBAAiB,QAAO,WAYpC,CAAC;AAEF;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,cAAc,GACzB,KAAK,MAAM,CAAC,UAAU,EACtB,eAAc,SAAS,MAAM,EAAO,KACnC,SAAS,MAAM,EAYjB,CAAC;AAEF,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,QAAQ,EAAE,YAAY,CAAC;IAChC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC,UAAU,CAAC;IAChC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;CAC9B;AAED;;;;;;GAMG;AACH,eAAO,MAAM,aAAa,GAAI,QAAQ,mBAAmB,KAAG,IAWxD,CAAC;AAEL,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,cAAc,CAAC;IACvC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC,UAAU,CAAC;IAChC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC;IACpB;;;;;;OAMG;IACH,QAAQ,CAAC,cAAc,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CAC7C;AAED;;;;;GAKG;AACH,eAAO,MAAM,kBAAkB,GAC7B,KAAK,cAAc,EACnB,SAAS,yBAAyB,KACjC,IAMF,CAAC;AAKF;;;;;;;;;GASG;AACH,eAAO,MAAM,aAAa,GAAI,KAAK,OAAO,KAAG,cAoB5C,CAAC"}
|
package/dist/cli/envelope-out.js
CHANGED
|
@@ -74,13 +74,27 @@ export const createMetaBuilder = () => {
|
|
|
74
74
|
* file (Codex review §1 follow-up). `env` is shared by reference
|
|
75
75
|
* with the runner; re-reading at emit time observes any side-
|
|
76
76
|
* effecting load.
|
|
77
|
+
*
|
|
78
|
+
* `extraSecrets` carries the v0.3-M21 cli-design §7.4.3 redaction-
|
|
79
|
+
* runtime extension — `program.ts`'s preAction hook reads the
|
|
80
|
+
* credentials file once and pushes every per-profile `access_token`
|
|
81
|
+
* onto `ctx.runtimeSecrets`; callers thread that array through so a
|
|
82
|
+
* cached token landing in `Error.message` / `Error.stack` is scrubbed
|
|
83
|
+
* even when no env token is set (e.g., the credentials-cache-only
|
|
84
|
+
* flow where `monday auth login --profile work` is the user's only
|
|
85
|
+
* token source).
|
|
77
86
|
*/
|
|
78
|
-
export const collectSecrets = (env) => {
|
|
87
|
+
export const collectSecrets = (env, extraSecrets = []) => {
|
|
79
88
|
const out = [];
|
|
80
89
|
const token = env.MONDAY_API_TOKEN;
|
|
81
90
|
if (token !== undefined && token.length > 0) {
|
|
82
91
|
out.push(token);
|
|
83
92
|
}
|
|
93
|
+
for (const extra of extraSecrets) {
|
|
94
|
+
if (extra.length > 0) {
|
|
95
|
+
out.push(extra);
|
|
96
|
+
}
|
|
97
|
+
}
|
|
84
98
|
return out;
|
|
85
99
|
};
|
|
86
100
|
/**
|
|
@@ -109,7 +123,7 @@ export const buildBaseMeta = (inputs) => buildMeta({
|
|
|
109
123
|
export const writeErrorEnvelope = (err, options) => {
|
|
110
124
|
const envelope = buildError(err, options.meta);
|
|
111
125
|
const redacted = redact(envelope, {
|
|
112
|
-
secrets: collectSecrets(options.env),
|
|
126
|
+
secrets: collectSecrets(options.env, options.runtimeSecrets),
|
|
113
127
|
});
|
|
114
128
|
options.stderr.write(`${JSON.stringify(redacted, null, 2)}\n`);
|
|
115
129
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"envelope-out.js","sourceRoot":"","sources":["../../src/cli/envelope-out.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkDG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,EACL,UAAU,EACV,SAAS,GAGV,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EACL,aAAa,EACb,cAAc,EACd,UAAU,GACX,MAAM,oBAAoB,CAAC;AA6B5B,MAAM,CAAC,MAAM,iBAAiB,GAAG,GAAgB,EAAE;IACjD,IAAI,UAA8B,CAAC;IACnC,IAAI,MAA8B,CAAC;IACnC,OAAO;QACL,aAAa,EAAE,CAAC,CAAC,EAAE,EAAE;YACnB,UAAU,GAAG,CAAC,CAAC;QACjB,CAAC;QACD,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE;YACf,MAAM,GAAG,CAAC,CAAC;QACb,CAAC;QACD,QAAQ,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC;KACzC,CAAC;AACJ,CAAC,CAAC;AAEF
|
|
1
|
+
{"version":3,"file":"envelope-out.js","sourceRoot":"","sources":["../../src/cli/envelope-out.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"program.d.ts","sourceRoot":"","sources":["../../src/cli/program.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"program.d.ts","sourceRoot":"","sources":["../../src/cli/program.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAYpC,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAEvD;;;;;GAKG;AACH,MAAM,MAAM,mBAAmB,GAAG,IAAI,CACpC,UAAU,EACR,YAAY,GACZ,gBAAgB,GAChB,QAAQ,GACR,QAAQ,GACR,eAAe,GACf,kBAAkB,CACrB,CAAC;AAEF,eAAO,MAAM,YAAY,GACvB,SAAS,mBAAmB,EAC5B,KAAK,UAAU,KACd,OA+NF,CAAC"}
|
package/dist/cli/program.js
CHANGED
|
@@ -20,6 +20,8 @@ import { Command } from 'commander';
|
|
|
20
20
|
import { getCommandRegistry } from '../commands/index.js';
|
|
21
21
|
import { parseGlobalFlags } from '../types/global-flags.js';
|
|
22
22
|
import { PINNED_API_VERSION } from '../api/client.js';
|
|
23
|
+
import { loadProfilesConfig, selectProfile, } from '../config/profiles.js';
|
|
24
|
+
import { readCredentials, resolveProfileToken, } from '../config/credentials.js';
|
|
23
25
|
export const buildProgram = (options, ctx) => {
|
|
24
26
|
const program = new Command();
|
|
25
27
|
program
|
|
@@ -90,7 +92,7 @@ export const buildProgram = (options, ctx) => {
|
|
|
90
92
|
// > SDK pin. We don't load config here (that surfaces a separate
|
|
91
93
|
// `config_error` if the token is missing); the apiVersion override
|
|
92
94
|
// is independent of token resolution.
|
|
93
|
-
program.hook('preAction', () => {
|
|
95
|
+
program.hook('preAction', async (_thisCommand, actionCommand) => {
|
|
94
96
|
try {
|
|
95
97
|
const flags = parseGlobalFlags(program.opts(), ctx.env);
|
|
96
98
|
const resolvedVersion = flags.apiVersion ??
|
|
@@ -103,6 +105,123 @@ export const buildProgram = (options, ctx) => {
|
|
|
103
105
|
// runner's catch-all will surface; the preAction hook just
|
|
104
106
|
// tries best-effort.
|
|
105
107
|
}
|
|
108
|
+
// Redaction-runtime extension per cli-design §7.4.3 (v0.3-M21).
|
|
109
|
+
// Reads the credentials file once and folds every per-profile
|
|
110
|
+
// `access_token` into `ctx.runtimeSecrets` so any unkeyed string
|
|
111
|
+
// occurrence (e.g., a cached token landing in `Error.message` /
|
|
112
|
+
// `Error.stack`) is scrubbed by the value-scan layer in
|
|
113
|
+
// `redact()`. Runs for EVERY command including auth verbs — an
|
|
114
|
+
// auth-login failure may surface a token in cause/stack, and the
|
|
115
|
+
// M21 canary leak-test discipline requires the secret-bag to be
|
|
116
|
+
// populated for those paths too. Auth verbs ARE exempt from the
|
|
117
|
+
// profile-resolution step below, but the redaction read runs
|
|
118
|
+
// first because it's profile-independent.
|
|
119
|
+
//
|
|
120
|
+
// Scrubs every profile's token, not just the active one — an
|
|
121
|
+
// agent running with `--profile work` may have a stale
|
|
122
|
+
// `personal` entry that mustn't leak either.
|
|
123
|
+
//
|
|
124
|
+
// **Best-effort redaction preload** (fail-open posture): a
|
|
125
|
+
// credentials-read failure (insecure permissions, malformed
|
|
126
|
+
// file, schema mismatch) is swallowed here so the command can
|
|
127
|
+
// continue. The value-scan layer then falls back to env-only
|
|
128
|
+
// secrets — cached tokens are NOT scrubbed via runtimeSecrets
|
|
129
|
+
// on this path, but the key-based filter still strips
|
|
130
|
+
// `access_token` keys + `Authorization` etc., and the real
|
|
131
|
+
// read failure surfaces as `config_error` via the later
|
|
132
|
+
// credentials consumer (`resolveProfileToken` for non-auth
|
|
133
|
+
// verbs; `setProfileCredentials` / `deleteProfileCredentials`
|
|
134
|
+
// for auth verbs). The deliberate fail-open choice trades a
|
|
135
|
+
// narrow "cached token byte-string leaked via unkeyed
|
|
136
|
+
// Error.message before config_error surfaces" risk for a
|
|
137
|
+
// safer "command always proceeds to a typed-error envelope"
|
|
138
|
+
// contract. Codex M21 Part 2 review pinned the wording.
|
|
139
|
+
const home = ctx.env.HOME !== undefined && ctx.env.HOME.length > 0
|
|
140
|
+
? ctx.env.HOME
|
|
141
|
+
: undefined;
|
|
142
|
+
const homeOptions = home !== undefined ? { home, env: ctx.env } : { env: ctx.env };
|
|
143
|
+
try {
|
|
144
|
+
const credentials = await readCredentials(homeOptions);
|
|
145
|
+
if (credentials !== undefined) {
|
|
146
|
+
for (const entry of Object.values(credentials.profiles)) {
|
|
147
|
+
ctx.runtimeSecrets.push(entry.access_token);
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
catch {
|
|
152
|
+
// intentionally swallowed — see above.
|
|
153
|
+
}
|
|
154
|
+
// Profile resolution per cli-design §7.2 / §7.4 (v0.3-M21).
|
|
155
|
+
// Skipped for `auth login` / `auth logout` — those verbs are the
|
|
156
|
+
// source of credentials, not consumers; running profile
|
|
157
|
+
// resolution against a fresh-install (no token anywhere yet)
|
|
158
|
+
// would surface `config_error` BEFORE the login command had a
|
|
159
|
+
// chance to populate the cache.
|
|
160
|
+
const parent = actionCommand.parent;
|
|
161
|
+
if (parent !== null && parent.name() === 'auth') {
|
|
162
|
+
return;
|
|
163
|
+
}
|
|
164
|
+
let profileFlag;
|
|
165
|
+
try {
|
|
166
|
+
profileFlag = parseGlobalFlags(program.opts(), ctx.env).profile;
|
|
167
|
+
}
|
|
168
|
+
catch {
|
|
169
|
+
// Defensive: a global-flag parse failure already surfaced via the
|
|
170
|
+
// earlier api-version commit's catch; duplicate guard keeps
|
|
171
|
+
// profile resolution skipped on that path.
|
|
172
|
+
/* c8 ignore next */
|
|
173
|
+
return;
|
|
174
|
+
}
|
|
175
|
+
const envProfile = ctx.env.MONDAY_PROFILE !== undefined &&
|
|
176
|
+
ctx.env.MONDAY_PROFILE.length > 0
|
|
177
|
+
? ctx.env.MONDAY_PROFILE
|
|
178
|
+
: undefined;
|
|
179
|
+
// Reuses the `homeOptions` resolved above for the redaction-
|
|
180
|
+
// runtime extension — same HOME-discovery shape, same env
|
|
181
|
+
// threading. Reading a non-existent config file is cheap (single
|
|
182
|
+
// ENOENT) so the implicit-v1 path doesn't pay for the I/O.
|
|
183
|
+
const config = await loadProfilesConfig(homeOptions);
|
|
184
|
+
if (profileFlag === undefined &&
|
|
185
|
+
envProfile === undefined &&
|
|
186
|
+
config?.default_profile === undefined) {
|
|
187
|
+
// Implicit-v1 path — no profile resolution needed; commands
|
|
188
|
+
// read MONDAY_API_TOKEN directly via loadConfig.
|
|
189
|
+
return;
|
|
190
|
+
}
|
|
191
|
+
const selection = selectProfile({
|
|
192
|
+
flag: profileFlag,
|
|
193
|
+
env: ctx.env,
|
|
194
|
+
config,
|
|
195
|
+
});
|
|
196
|
+
// Unreachable type-narrowing guard: by the time we pass the early-
|
|
197
|
+
// return above, at least one of flag/env/default_profile is set,
|
|
198
|
+
// so selectProfile returns 'named'. The guard exists to keep the
|
|
199
|
+
// union type safe.
|
|
200
|
+
/* c8 ignore start */
|
|
201
|
+
if (selection.mode === 'implicit_v1') {
|
|
202
|
+
return;
|
|
203
|
+
}
|
|
204
|
+
/* c8 ignore stop */
|
|
205
|
+
const resolved = await resolveProfileToken({
|
|
206
|
+
profileName: selection.name,
|
|
207
|
+
apiTokenEnvName: selection.entry.api_token_env,
|
|
208
|
+
}, homeOptions);
|
|
209
|
+
// Inject the resolved token into ctx.env so downstream
|
|
210
|
+
// `loadConfig`/`resolveClient` calls pick it up via the standard
|
|
211
|
+
// MONDAY_API_TOKEN env path. This is the M21 wiring contract;
|
|
212
|
+
// profile resolution is a one-shot transformation that replaces
|
|
213
|
+
// the env's token slot with the per-profile resolved value.
|
|
214
|
+
ctx.env.MONDAY_API_TOKEN = resolved.token;
|
|
215
|
+
// Profile-level api_version override (cli-design §7.2). The
|
|
216
|
+
// global `--api-version` flag still wins (already committed
|
|
217
|
+
// above); this fills the env slot so loadConfig sees it.
|
|
218
|
+
if (selection.entry.api_version !== undefined) {
|
|
219
|
+
const flags = parseGlobalFlags(program.opts(), ctx.env);
|
|
220
|
+
if (flags.apiVersion === undefined) {
|
|
221
|
+
ctx.env.MONDAY_API_VERSION = selection.entry.api_version;
|
|
222
|
+
ctx.meta.setApiVersion(selection.entry.api_version);
|
|
223
|
+
}
|
|
224
|
+
}
|
|
106
225
|
});
|
|
107
226
|
return program;
|
|
108
227
|
};
|
package/dist/cli/program.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"program.js","sourceRoot":"","sources":["../../src/cli/program.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"program.js","sourceRoot":"","sources":["../../src/cli/program.ts"],"names":[],"mappings":"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"}
|
package/dist/cli/run.d.ts
CHANGED
|
@@ -90,6 +90,18 @@ export interface RunContext {
|
|
|
90
90
|
* `envelope-out.ts` (M2.5 R2).
|
|
91
91
|
*/
|
|
92
92
|
readonly meta: MetaBuilder;
|
|
93
|
+
/**
|
|
94
|
+
* Per-run accumulator of literal secret values to scrub from every
|
|
95
|
+
* emitted byte (cli-design §7.4.3 redaction-runtime extension). The
|
|
96
|
+
* `program.ts` preAction hook pushes every loaded credentials-file
|
|
97
|
+
* `access_token` value here once, before any command action runs;
|
|
98
|
+
* `collectSecrets(ctx.env, ctx.runtimeSecrets)` then folds those
|
|
99
|
+
* values into the secret-bag passed to `redact()` on every emission
|
|
100
|
+
* path. The field is a mutable array via a `readonly` reference —
|
|
101
|
+
* commands never reassign it, but the preAction hook pushes into
|
|
102
|
+
* it during context setup.
|
|
103
|
+
*/
|
|
104
|
+
readonly runtimeSecrets: string[];
|
|
93
105
|
}
|
|
94
106
|
export declare const run: (options: RunOptions) => Promise<RunResult>;
|
|
95
107
|
/**
|
package/dist/cli/run.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../../src/cli/run.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,KAAK,OAAO,EAAE,MAAM,WAAW,CAAC;AACzD,OAAO,EAGL,KAAK,QAAQ,EACd,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAEL,KAAK,kBAAkB,EACxB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAKL,KAAK,WAAW,EACjB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAE1D;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,CAAC;IACjC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC,UAAU,CAAC;IAChC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,cAAc,CAAC;IACvC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,cAAc,CAAC;IACvC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,cAAc,CAAC;IACvC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,IAAI,CAAC;IAC5B,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,CAAC;IAC/B,QAAQ,CAAC,kBAAkB,CAAC,EAAE,kBAAkB,CAAC;IACjD;;;;;OAKG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,CAAC;IAC9B;;;;;;;OAOG;IACH,QAAQ,CAAC,aAAa,CAAC,EAAE,SAAS,aAAa,EAAE,CAAC;IAClD;;;;;;;OAOG;IACH,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,UAAU,KAAK,IAAI,CAAC;CACzE;AAED,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;CAC7B;AAED;;;;;GAKG;AACH,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC,UAAU,CAAC;IAChC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,cAAc,CAAC;IACvC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,cAAc,CAAC;IACvC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,cAAc,CAAC;IACvC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,KAAK,EAAE,MAAM,IAAI,CAAC;IAC3B,QAAQ,CAAC,SAAS,EAAE,SAAS,GAAG,SAAS,CAAC;IAC1C,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B;;;;;OAKG;IACH,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAC7B;;;;;;;;OAQG;IACH,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../../src/cli/run.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,KAAK,OAAO,EAAE,MAAM,WAAW,CAAC;AACzD,OAAO,EAGL,KAAK,QAAQ,EACd,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAEL,KAAK,kBAAkB,EACxB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAKL,KAAK,WAAW,EACjB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAE1D;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,CAAC;IACjC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC,UAAU,CAAC;IAChC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,cAAc,CAAC;IACvC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,cAAc,CAAC;IACvC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,cAAc,CAAC;IACvC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,IAAI,CAAC;IAC5B,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,CAAC;IAC/B,QAAQ,CAAC,kBAAkB,CAAC,EAAE,kBAAkB,CAAC;IACjD;;;;;OAKG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,CAAC;IAC9B;;;;;;;OAOG;IACH,QAAQ,CAAC,aAAa,CAAC,EAAE,SAAS,aAAa,EAAE,CAAC;IAClD;;;;;;;OAOG;IACH,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,UAAU,KAAK,IAAI,CAAC;CACzE;AAED,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;CAC7B;AAED;;;;;GAKG;AACH,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC,UAAU,CAAC;IAChC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,cAAc,CAAC;IACvC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,cAAc,CAAC;IACvC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,cAAc,CAAC;IACvC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,KAAK,EAAE,MAAM,IAAI,CAAC;IAC3B,QAAQ,CAAC,SAAS,EAAE,SAAS,GAAG,SAAS,CAAC;IAC1C,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B;;;;;OAKG;IACH,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAC7B;;;;;;;;OAQG;IACH,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAC3B;;;;;;;;;;OAUG;IACH,QAAQ,CAAC,cAAc,EAAE,MAAM,EAAE,CAAC;CACnC;AAaD,eAAO,MAAM,GAAG,GAAU,SAAS,UAAU,KAAG,OAAO,CAAC,SAAS,CAyEhE,CAAC;AAEF;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,cAAc,GACzB,SAAS,UAAU,KAClB,OAAO,CAAC,SAAS,CAYnB,CAAC"}
|
package/dist/cli/run.js
CHANGED
|
@@ -39,6 +39,7 @@ export const run = async (options) => {
|
|
|
39
39
|
cliVersion: options.cliVersion,
|
|
40
40
|
signal: combinedSignal,
|
|
41
41
|
meta,
|
|
42
|
+
runtimeSecrets: [],
|
|
42
43
|
};
|
|
43
44
|
const program = buildProgram(options, ctx);
|
|
44
45
|
try {
|
|
@@ -65,6 +66,7 @@ export const run = async (options) => {
|
|
|
65
66
|
writeErrorEnvelope(cliError, {
|
|
66
67
|
stderr: options.stderr,
|
|
67
68
|
env: options.env,
|
|
69
|
+
runtimeSecrets: ctx.runtimeSecrets,
|
|
68
70
|
meta: buildBaseMeta({
|
|
69
71
|
snapshot: meta.snapshot(),
|
|
70
72
|
env: options.env,
|