checkly 9.5.0 → 10.0.0-prerelease-4f88d60
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/README.md +10 -0
- package/bin/launch.cjs +12 -0
- package/dist/ai-context/context.js +1 -0
- package/dist/ai-context/context.js.map +1 -1
- package/dist/ai-context/onboarding-boilerplate/checkly-config-template.ts +2 -2
- package/dist/ai-context/public-skills/checkly/SKILL.md +34 -5
- package/dist/ai-context/skills-command/references/communicate.md +8 -5
- package/dist/ai-context/skills-command/references/configure-api-checks.md +1 -9
- package/dist/ai-context/skills-command/references/configure-browser-checks.md +1 -8
- package/dist/ai-context/skills-command/references/configure-check-groups.md +1 -0
- package/dist/ai-context/skills-command/references/configure-dns-monitors.md +1 -9
- package/dist/ai-context/skills-command/references/configure-grpc-monitors.md +24 -0
- package/dist/ai-context/skills-command/references/configure-heartbeat-monitors.md +1 -9
- package/dist/ai-context/skills-command/references/configure-icmp-monitors.md +1 -9
- package/dist/ai-context/skills-command/references/configure-multistep-checks.md +1 -9
- package/dist/ai-context/skills-command/references/configure-playwright-checks.md +2 -2
- package/dist/ai-context/skills-command/references/configure-supporting-constructs.md +6 -2
- package/dist/ai-context/skills-command/references/configure-tcp-monitors.md +1 -10
- package/dist/ai-context/skills-command/references/configure-url-monitors.md +1 -10
- package/dist/ai-context/skills-command/references/configure.md +17 -5
- package/dist/ai-context/skills-command/references/initialize.md +11 -3
- package/dist/ai-context/skills-command/references/investigate-checks.md +1 -1
- package/dist/auth/api-key.d.ts +24 -0
- package/dist/auth/api-key.js +104 -0
- package/dist/auth/api-key.js.map +1 -0
- package/dist/auth/device-flow.d.ts +58 -0
- package/dist/auth/device-flow.js +228 -0
- package/dist/auth/device-flow.js.map +1 -0
- package/dist/auth/index.d.ts +6 -6
- package/dist/auth/index.js +64 -64
- package/dist/auth/index.js.map +1 -1
- package/dist/commands/account/plan.js +1 -1
- package/dist/commands/account/plan.js.map +1 -1
- package/dist/commands/account/usage/projections.d.ts +16 -0
- package/dist/commands/account/usage/projections.js +40 -0
- package/dist/commands/account/usage/projections.js.map +1 -0
- package/dist/commands/account/usage/series.d.ts +7 -3
- package/dist/commands/account/usage/series.js +30 -87
- package/dist/commands/account/usage/series.js.map +1 -1
- package/dist/commands/account/usage/summary.d.ts +4 -1
- package/dist/commands/account/usage/summary.js +19 -27
- package/dist/commands/account/usage/summary.js.map +1 -1
- package/dist/commands/account/usage/term.d.ts +15 -0
- package/dist/commands/account/usage/term.js +32 -0
- package/dist/commands/account/usage/term.js.map +1 -0
- package/dist/commands/account/usage/terms.d.ts +4 -0
- package/dist/commands/account/usage/terms.js +19 -27
- package/dist/commands/account/usage/terms.js.map +1 -1
- package/dist/commands/alert-channels/get.js +2 -1
- package/dist/commands/alert-channels/get.js.map +1 -1
- package/dist/commands/alert-channels/list.js +2 -1
- package/dist/commands/alert-channels/list.js.map +1 -1
- package/dist/commands/alert-channels/logs.js +2 -1
- package/dist/commands/alert-channels/logs.js.map +1 -1
- package/dist/commands/api.js +53 -10
- package/dist/commands/api.js.map +1 -1
- package/dist/commands/assets/download.js +11 -7
- package/dist/commands/assets/download.js.map +1 -1
- package/dist/commands/assets/list.js +2 -3
- package/dist/commands/assets/list.js.map +1 -1
- package/dist/commands/authCommand.d.ts +19 -0
- package/dist/commands/authCommand.js +118 -12
- package/dist/commands/authCommand.js.map +1 -1
- package/dist/commands/baseCommand.d.ts +12 -1
- package/dist/commands/baseCommand.js +24 -5
- package/dist/commands/baseCommand.js.map +1 -1
- package/dist/commands/checks/delete.js +1 -1
- package/dist/commands/checks/delete.js.map +1 -1
- package/dist/commands/checks/run.js +3 -1
- package/dist/commands/checks/run.js.map +1 -1
- package/dist/commands/debug/parse-project.d.ts +1 -0
- package/dist/commands/debug/parse-project.js +5 -2
- package/dist/commands/debug/parse-project.js.map +1 -1
- package/dist/commands/deploy.d.ts +8 -2
- package/dist/commands/deploy.js +735 -274
- package/dist/commands/deploy.js.map +1 -1
- package/dist/commands/destroy.js +3 -3
- package/dist/commands/destroy.js.map +1 -1
- package/dist/commands/env/add.js +2 -2
- package/dist/commands/env/add.js.map +1 -1
- package/dist/commands/env/ls.js +2 -1
- package/dist/commands/env/ls.js.map +1 -1
- package/dist/commands/env/pull.js +3 -3
- package/dist/commands/env/pull.js.map +1 -1
- package/dist/commands/env/update.js +2 -2
- package/dist/commands/env/update.js.map +1 -1
- package/dist/commands/import/apply.js +12 -10
- package/dist/commands/import/apply.js.map +1 -1
- package/dist/commands/import/cancel.js +4 -4
- package/dist/commands/import/cancel.js.map +1 -1
- package/dist/commands/import/commit.js +11 -9
- package/dist/commands/import/commit.js.map +1 -1
- package/dist/commands/import/plan.js +82 -62
- package/dist/commands/import/plan.js.map +1 -1
- package/dist/commands/init.d.ts +2 -0
- package/dist/commands/init.js +62 -41
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/login.d.ts +38 -2
- package/dist/commands/login.js +848 -52
- package/dist/commands/login.js.map +1 -1
- package/dist/commands/logout.js +10 -4
- package/dist/commands/logout.js.map +1 -1
- package/dist/commands/pw-test.js +6 -3
- package/dist/commands/pw-test.js.map +1 -1
- package/dist/commands/rca/get.js +1 -1
- package/dist/commands/rca/get.js.map +1 -1
- package/dist/commands/rca/run.js +1 -1
- package/dist/commands/rca/run.js.map +1 -1
- package/dist/commands/skills/index.js +1 -1
- package/dist/commands/skills/index.js.map +1 -1
- package/dist/commands/skills/install.js +12 -12
- package/dist/commands/skills/install.js.map +1 -1
- package/dist/commands/switch.d.ts +10 -1
- package/dist/commands/switch.js +75 -13
- package/dist/commands/switch.js.map +1 -1
- package/dist/commands/sync-playwright.js +5 -10
- package/dist/commands/sync-playwright.js.map +1 -1
- package/dist/commands/test.d.ts +2 -0
- package/dist/commands/test.js +58 -29
- package/dist/commands/test.js.map +1 -1
- package/dist/commands/trigger.d.ts +1 -2
- package/dist/commands/trigger.js +27 -20
- package/dist/commands/trigger.js.map +1 -1
- package/dist/commands/validate.js +1 -0
- package/dist/commands/validate.js.map +1 -1
- package/dist/commands/whoami.d.ts +8 -0
- package/dist/commands/whoami.js +57 -6
- package/dist/commands/whoami.js.map +1 -1
- package/dist/constants.d.ts +3 -2
- package/dist/constants.js +8 -1
- package/dist/constants.js.map +1 -1
- package/dist/constructs/alert-channel-codegen.d.ts +6 -1
- package/dist/constructs/alert-channel-codegen.js +12 -6
- package/dist/constructs/alert-channel-codegen.js.map +1 -1
- package/dist/constructs/alert-channel-subscription.d.ts +1 -0
- package/dist/constructs/alert-channel-subscription.js +4 -0
- package/dist/constructs/alert-channel-subscription.js.map +1 -1
- package/dist/constructs/alert-channel.js +8 -5
- package/dist/constructs/alert-channel.js.map +1 -1
- package/dist/constructs/alert-escalation-policy-codegen.d.ts +7 -0
- package/dist/constructs/alert-escalation-policy-codegen.js +25 -8
- package/dist/constructs/alert-escalation-policy-codegen.js.map +1 -1
- package/dist/constructs/api-assertion.d.ts +0 -2
- package/dist/constructs/api-assertion.js +0 -4
- package/dist/constructs/api-assertion.js.map +1 -1
- package/dist/constructs/api-check-bundle.d.ts +4 -124
- package/dist/constructs/api-check-codegen.js +1 -1
- package/dist/constructs/api-check-codegen.js.map +1 -1
- package/dist/constructs/api-check.d.ts +8 -128
- package/dist/constructs/api-check.js +15 -17
- package/dist/constructs/api-check.js.map +1 -1
- package/dist/constructs/api-request-codegen.js +10 -8
- package/dist/constructs/api-request-codegen.js.map +1 -1
- package/dist/constructs/browser-check-bundle.d.ts +11 -125
- package/dist/constructs/browser-check-bundle.js +5 -1
- package/dist/constructs/browser-check-bundle.js.map +1 -1
- package/dist/constructs/browser-check.d.ts +5 -107
- package/dist/constructs/browser-check.js +1 -1
- package/dist/constructs/browser-check.js.map +1 -1
- package/dist/constructs/check-codegen.d.ts +46 -14
- package/dist/constructs/check-codegen.js +118 -34
- package/dist/constructs/check-codegen.js.map +1 -1
- package/dist/constructs/check-group-codegen.js +23 -9
- package/dist/constructs/check-group-codegen.js.map +1 -1
- package/dist/constructs/check-group-v1.d.ts +28 -16
- package/dist/constructs/check-group-v1.js +48 -17
- package/dist/constructs/check-group-v1.js.map +1 -1
- package/dist/constructs/check-group-v2.d.ts +2 -21
- package/dist/constructs/check-group-v2.js +4 -4
- package/dist/constructs/check-group-v2.js.map +1 -1
- package/dist/constructs/check.d.ts +68 -220
- package/dist/constructs/check.js +106 -37
- package/dist/constructs/check.js.map +1 -1
- package/dist/constructs/construct-codegen.d.ts +1 -2
- package/dist/constructs/construct-diagnostics.d.ts +3 -0
- package/dist/constructs/construct-diagnostics.js +11 -0
- package/dist/constructs/construct-diagnostics.js.map +1 -1
- package/dist/constructs/construct.d.ts +30 -4
- package/dist/constructs/construct.js +52 -6
- package/dist/constructs/construct.js.map +1 -1
- package/dist/constructs/dashboard.js +11 -7
- package/dist/constructs/dashboard.js.map +1 -1
- package/dist/constructs/dns-monitor.d.ts +4 -100
- package/dist/constructs/dns-request-codegen.js +1 -1
- package/dist/constructs/dns-request-codegen.js.map +1 -1
- package/dist/constructs/email-alert-channel-codegen.js +1 -1
- package/dist/constructs/email-alert-channel-codegen.js.map +1 -1
- package/dist/constructs/engine.d.ts +4 -2
- package/dist/constructs/engine.js +3 -1
- package/dist/constructs/engine.js.map +1 -1
- package/dist/constructs/frequency-codegen.js +10 -2
- package/dist/constructs/frequency-codegen.js.map +1 -1
- package/dist/constructs/frequency.d.ts +8 -3
- package/dist/constructs/frequency.js +7 -2
- package/dist/constructs/frequency.js.map +1 -1
- package/dist/constructs/grpc-monitor.d.ts +4 -100
- package/dist/constructs/grpc-monitor.js +19 -0
- package/dist/constructs/grpc-monitor.js.map +1 -1
- package/dist/constructs/grpc-request-codegen.js +13 -4
- package/dist/constructs/grpc-request-codegen.js.map +1 -1
- package/dist/constructs/grpc-request.d.ts +23 -0
- package/dist/constructs/heartbeat-monitor.d.ts +2 -1
- package/dist/constructs/heartbeat-monitor.js +2 -2
- package/dist/constructs/heartbeat-monitor.js.map +1 -1
- package/dist/constructs/icmp-monitor.d.ts +4 -100
- package/dist/constructs/icmp-request-codegen.js +1 -1
- package/dist/constructs/icmp-request-codegen.js.map +1 -1
- package/dist/constructs/incidentio-alert-channel-codegen.d.ts +1 -1
- package/dist/constructs/incidentio-alert-channel-codegen.js +14 -8
- package/dist/constructs/incidentio-alert-channel-codegen.js.map +1 -1
- package/dist/constructs/index.d.ts +1 -1
- package/dist/constructs/index.js +1 -1
- package/dist/constructs/index.js.map +1 -1
- package/dist/constructs/internal/assertion-validation.js +1 -2
- package/dist/constructs/internal/assertion-validation.js.map +1 -1
- package/dist/constructs/internal/codegen/context.d.ts +73 -6
- package/dist/constructs/internal/codegen/context.js +78 -6
- package/dist/constructs/internal/codegen/context.js.map +1 -1
- package/dist/constructs/internal/codegen/index.d.ts +3 -1
- package/dist/constructs/internal/codegen/index.js +2 -1
- package/dist/constructs/internal/codegen/index.js.map +1 -1
- package/dist/constructs/internal/codegen/render.d.ts +68 -0
- package/dist/constructs/internal/codegen/render.js +75 -0
- package/dist/constructs/internal/codegen/render.js.map +1 -0
- package/dist/constructs/internal/common-diagnostics.d.ts +1 -2
- package/dist/constructs/internal/common-diagnostics.js +7 -17
- package/dist/constructs/internal/common-diagnostics.js.map +1 -1
- package/dist/constructs/internal/declaring-file.d.ts +39 -0
- package/dist/constructs/internal/declaring-file.js +139 -0
- package/dist/constructs/internal/declaring-file.js.map +1 -0
- package/dist/constructs/internal/default-retry-strategy.d.ts +9 -0
- package/dist/constructs/internal/default-retry-strategy.js +13 -0
- package/dist/constructs/internal/default-retry-strategy.js.map +1 -0
- package/dist/constructs/internal/retry-strategy-defaults.d.ts +13 -0
- package/dist/constructs/internal/retry-strategy-defaults.js +14 -0
- package/dist/constructs/internal/retry-strategy-defaults.js.map +1 -0
- package/dist/constructs/key-value-pair-codegen.d.ts +6 -1
- package/dist/constructs/key-value-pair-codegen.js +24 -3
- package/dist/constructs/key-value-pair-codegen.js.map +1 -1
- package/dist/constructs/maintenance-window-codegen.d.ts +7 -0
- package/dist/constructs/maintenance-window-codegen.js +36 -19
- package/dist/constructs/maintenance-window-codegen.js.map +1 -1
- package/dist/constructs/maintenance-window.d.ts +37 -3
- package/dist/constructs/maintenance-window.js +34 -1
- package/dist/constructs/maintenance-window.js.map +1 -1
- package/dist/constructs/monitor.d.ts +6 -119
- package/dist/constructs/monitor.js +3 -5
- package/dist/constructs/monitor.js.map +1 -1
- package/dist/constructs/msteams-alert-channel-codegen.d.ts +1 -1
- package/dist/constructs/msteams-alert-channel-codegen.js +8 -18
- package/dist/constructs/msteams-alert-channel-codegen.js.map +1 -1
- package/dist/constructs/multi-step-check-bundle.d.ts +4 -109
- package/dist/constructs/multi-step-check.d.ts +4 -100
- package/dist/constructs/opsgenie-alert-channel-codegen.js +1 -1
- package/dist/constructs/opsgenie-alert-channel-codegen.js.map +1 -1
- package/dist/constructs/pagerduty-alert-channel-codegen.js +1 -1
- package/dist/constructs/pagerduty-alert-channel-codegen.js.map +1 -1
- package/dist/constructs/phone-call-alert-channel-codegen.js +1 -1
- package/dist/constructs/phone-call-alert-channel-codegen.js.map +1 -1
- package/dist/constructs/playwright-check-bundle.d.ts +10 -130
- package/dist/constructs/playwright-check-bundle.js +3 -3
- package/dist/constructs/playwright-check-bundle.js.map +1 -1
- package/dist/constructs/playwright-check-codegen.d.ts +85 -0
- package/dist/constructs/playwright-check-codegen.js +212 -0
- package/dist/constructs/playwright-check-codegen.js.map +1 -0
- package/dist/constructs/playwright-check.d.ts +14 -122
- package/dist/constructs/playwright-check.js +17 -51
- package/dist/constructs/playwright-check.js.map +1 -1
- package/dist/constructs/private-location-check-assignment.d.ts +1 -0
- package/dist/constructs/private-location-check-assignment.js +4 -0
- package/dist/constructs/private-location-check-assignment.js.map +1 -1
- package/dist/constructs/private-location-group-assignment.d.ts +1 -0
- package/dist/constructs/private-location-group-assignment.js +4 -0
- package/dist/constructs/private-location-group-assignment.js.map +1 -1
- package/dist/constructs/private-location.js +3 -1
- package/dist/constructs/private-location.js.map +1 -1
- package/dist/constructs/retry-strategy-codegen.d.ts +7 -1
- package/dist/constructs/retry-strategy-codegen.js +41 -32
- package/dist/constructs/retry-strategy-codegen.js.map +1 -1
- package/dist/constructs/retry-strategy.d.ts +0 -4
- package/dist/constructs/retry-strategy.js +5 -8
- package/dist/constructs/retry-strategy.js.map +1 -1
- package/dist/constructs/session.d.ts +38 -1
- package/dist/constructs/session.js +73 -3
- package/dist/constructs/session.js.map +1 -1
- package/dist/constructs/slack-alert-channel-codegen.js +1 -1
- package/dist/constructs/slack-alert-channel-codegen.js.map +1 -1
- package/dist/constructs/slack-app-alert-channel-codegen.js +1 -1
- package/dist/constructs/slack-app-alert-channel-codegen.js.map +1 -1
- package/dist/constructs/sms-alert-channel-codegen.js +1 -1
- package/dist/constructs/sms-alert-channel-codegen.js.map +1 -1
- package/dist/constructs/ssl-monitor.d.ts +4 -142
- package/dist/constructs/ssl-request-codegen.js +4 -3
- package/dist/constructs/ssl-request-codegen.js.map +1 -1
- package/dist/constructs/status-page-v3-automation-rule-codegen.js +5 -4
- package/dist/constructs/status-page-v3-automation-rule-codegen.js.map +1 -1
- package/dist/constructs/status-page-v3-codegen.js +3 -2
- package/dist/constructs/status-page-v3-codegen.js.map +1 -1
- package/dist/constructs/status-page-v3-component-codegen.js +8 -7
- package/dist/constructs/status-page-v3-component-codegen.js.map +1 -1
- package/dist/constructs/tcp-monitor-codegen.js +3 -2
- package/dist/constructs/tcp-monitor-codegen.js.map +1 -1
- package/dist/constructs/tcp-monitor.d.ts +8 -103
- package/dist/constructs/tcp-monitor.js +3 -2
- package/dist/constructs/tcp-monitor.js.map +1 -1
- package/dist/constructs/telegram-alert-channel-codegen.d.ts +1 -1
- package/dist/constructs/telegram-alert-channel-codegen.js +14 -8
- package/dist/constructs/telegram-alert-channel-codegen.js.map +1 -1
- package/dist/constructs/time-zone.d.ts +24 -0
- package/dist/constructs/time-zone.js +455 -0
- package/dist/constructs/time-zone.js.map +1 -0
- package/dist/constructs/traceroute-monitor.d.ts +4 -100
- package/dist/constructs/traceroute-request-codegen.js +2 -2
- package/dist/constructs/traceroute-request-codegen.js.map +1 -1
- package/dist/constructs/url-monitor-codegen.js +1 -1
- package/dist/constructs/url-monitor-codegen.js.map +1 -1
- package/dist/constructs/url-monitor.d.ts +7 -123
- package/dist/constructs/url-monitor.js +3 -0
- package/dist/constructs/url-monitor.js.map +1 -1
- package/dist/constructs/url-request-codegen.js +4 -3
- package/dist/constructs/url-request-codegen.js.map +1 -1
- package/dist/constructs/webhook-alert-channel-codegen.js +3 -3
- package/dist/constructs/webhook-alert-channel-codegen.js.map +1 -1
- package/dist/formatters/check-result-detail.js +0 -185
- package/dist/formatters/check-result-detail.js.map +1 -1
- package/dist/formatters/render.d.ts +2 -1
- package/dist/formatters/render.js +2 -2
- package/dist/formatters/render.js.map +1 -1
- package/dist/formatters/usage.d.ts +18 -12
- package/dist/formatters/usage.js +285 -245
- package/dist/formatters/usage.js.map +1 -1
- package/dist/help/help-extension.js +2 -1
- package/dist/help/help-extension.js.map +1 -1
- package/dist/helpers/accounts.d.ts +28 -0
- package/dist/helpers/accounts.js +50 -0
- package/dist/helpers/accounts.js.map +1 -0
- package/dist/helpers/activate-account.d.ts +13 -0
- package/dist/helpers/activate-account.js +24 -0
- package/dist/helpers/activate-account.js.map +1 -0
- package/dist/helpers/api-fields.js +3 -2
- package/dist/helpers/api-fields.js.map +1 -1
- package/dist/helpers/cli-mode.d.ts +24 -0
- package/dist/helpers/cli-mode.js +64 -8
- package/dist/helpers/cli-mode.js.map +1 -1
- package/dist/helpers/command-preview.d.ts +44 -0
- package/dist/helpers/command-preview.js +29 -9
- package/dist/helpers/command-preview.js.map +1 -1
- package/dist/helpers/command-style.d.ts +1 -0
- package/dist/helpers/command-style.js +51 -37
- package/dist/helpers/command-style.js.map +1 -1
- package/dist/helpers/flags.d.ts +10 -0
- package/dist/helpers/flags.js +18 -0
- package/dist/helpers/flags.js.map +1 -1
- package/dist/helpers/import-plan-selection.d.ts +1 -1
- package/dist/helpers/import-plan-selection.js +8 -20
- package/dist/helpers/import-plan-selection.js.map +1 -1
- package/dist/helpers/invalid-input-error.d.ts +15 -0
- package/dist/helpers/invalid-input-error.js +17 -0
- package/dist/helpers/invalid-input-error.js.map +1 -0
- package/dist/helpers/number.js +4 -3
- package/dist/helpers/number.js.map +1 -1
- package/dist/helpers/onboarding/boilerplate.js +15 -3
- package/dist/helpers/onboarding/boilerplate.js.map +1 -1
- package/dist/helpers/onboarding/index.d.ts +1 -1
- package/dist/helpers/onboarding/index.js +1 -1
- package/dist/helpers/onboarding/index.js.map +1 -1
- package/dist/helpers/onboarding/messages.d.ts +7 -0
- package/dist/helpers/onboarding/messages.js +14 -0
- package/dist/helpers/onboarding/messages.js.map +1 -1
- package/dist/helpers/onboarding/prompt-display.js +2 -2
- package/dist/helpers/onboarding/prompt-display.js.map +1 -1
- package/dist/helpers/onboarding/prompts-helpers.js +3 -1
- package/dist/helpers/onboarding/prompts-helpers.js.map +1 -1
- package/dist/helpers/onboarding/skill-install.js +4 -4
- package/dist/helpers/onboarding/skill-install.js.map +1 -1
- package/dist/helpers/prompts.d.ts +7 -0
- package/dist/helpers/prompts.js +10 -0
- package/dist/helpers/prompts.js.map +1 -0
- package/dist/helpers/result-assets.js +4 -3
- package/dist/helpers/result-assets.js.map +1 -1
- package/dist/helpers/test-helper.d.ts +14 -0
- package/dist/helpers/test-helper.js +33 -3
- package/dist/helpers/test-helper.js.map +1 -1
- package/dist/helpers/usage.d.ts +51 -14
- package/dist/helpers/usage.js +193 -53
- package/dist/helpers/usage.js.map +1 -1
- package/dist/helpers/wrap.js +1 -1
- package/dist/helpers/wrap.js.map +1 -1
- package/dist/messages/common-messages.d.ts +1 -0
- package/dist/messages/common-messages.js +4 -2
- package/dist/messages/common-messages.js.map +1 -1
- package/dist/reporters/abstract-list.d.ts +9 -2
- package/dist/reporters/abstract-list.js +105 -32
- package/dist/reporters/abstract-list.js.map +1 -1
- package/dist/reporters/ci.js +7 -4
- package/dist/reporters/ci.js.map +1 -1
- package/dist/reporters/dot.d.ts +1 -0
- package/dist/reporters/dot.js +19 -7
- package/dist/reporters/dot.js.map +1 -1
- package/dist/reporters/github.d.ts +2 -0
- package/dist/reporters/github.js +29 -4
- package/dist/reporters/github.js.map +1 -1
- package/dist/reporters/json.d.ts +2 -0
- package/dist/reporters/json.js +27 -4
- package/dist/reporters/json.js.map +1 -1
- package/dist/reporters/list.js +10 -8
- package/dist/reporters/list.js.map +1 -1
- package/dist/reporters/reporter.d.ts +1 -0
- package/dist/reporters/reporter.js.map +1 -1
- package/dist/reporters/util.d.ts +5 -2
- package/dist/reporters/util.js +25 -61
- package/dist/reporters/util.js.map +1 -1
- package/dist/rest/analytics.js +0 -4
- package/dist/rest/analytics.js.map +1 -1
- package/dist/rest/api.d.ts +10 -1
- package/dist/rest/api.js +44 -9
- package/dist/rest/api.js.map +1 -1
- package/dist/rest/check-results.d.ts +1 -50
- package/dist/rest/check-results.js.map +1 -1
- package/dist/rest/checkly-storage.d.ts +6 -1
- package/dist/rest/checkly-storage.js +13 -2
- package/dist/rest/checkly-storage.js.map +1 -1
- package/dist/rest/errors.d.ts +19 -0
- package/dist/rest/errors.js +20 -1
- package/dist/rest/errors.js.map +1 -1
- package/dist/rest/projects.d.ts +254 -4
- package/dist/rest/projects.js +208 -17
- package/dist/rest/projects.js.map +1 -1
- package/dist/rest/usage.d.ts +164 -73
- package/dist/rest/usage.js +21 -10
- package/dist/rest/usage.js.map +1 -1
- package/dist/services/abstract-check-runner.d.ts +34 -2
- package/dist/services/abstract-check-runner.js +183 -56
- package/dist/services/abstract-check-runner.js.map +1 -1
- package/dist/services/check-parser/bundler.d.ts +26 -0
- package/dist/services/check-parser/bundler.js +81 -7
- package/dist/services/check-parser/bundler.js.map +1 -1
- package/dist/services/check-parser/cache-hash.d.ts +1 -4
- package/dist/services/check-parser/cache-hash.js.map +1 -1
- package/dist/services/check-parser/package-files/json-text-source-file.d.ts +0 -2
- package/dist/services/check-parser/package-files/json-text-source-file.js +6 -6
- package/dist/services/check-parser/package-files/json-text-source-file.js.map +1 -1
- package/dist/services/check-parser/parser.d.ts +3 -2
- package/dist/services/check-parser/parser.js +31 -40
- package/dist/services/check-parser/parser.js.map +1 -1
- package/dist/services/checkly-config-codegen.js +4 -4
- package/dist/services/checkly-config-codegen.js.map +1 -1
- package/dist/services/checkly-config-loader.d.ts +18 -33
- package/dist/services/checkly-config-loader.js +50 -47
- package/dist/services/checkly-config-loader.js.map +1 -1
- package/dist/services/config.d.ts +42 -1
- package/dist/services/config.js +93 -9
- package/dist/services/config.js.map +1 -1
- package/dist/services/content-hash.d.ts +14 -0
- package/dist/services/content-hash.js +22 -0
- package/dist/services/content-hash.js.map +1 -0
- package/dist/services/deploy-diff/diff-lines.d.ts +52 -0
- package/dist/services/deploy-diff/diff-lines.js +327 -0
- package/dist/services/deploy-diff/diff-lines.js.map +1 -0
- package/dist/services/deploy-diff/double-check.d.ts +9 -0
- package/dist/services/deploy-diff/double-check.js +21 -0
- package/dist/services/deploy-diff/double-check.js.map +1 -0
- package/dist/services/deploy-diff/import-shape.d.ts +171 -0
- package/dist/services/deploy-diff/import-shape.js +633 -0
- package/dist/services/deploy-diff/import-shape.js.map +1 -0
- package/dist/services/deploy-diff/legacy-payload.d.ts +22 -0
- package/dist/services/deploy-diff/legacy-payload.js +51 -0
- package/dist/services/deploy-diff/legacy-payload.js.map +1 -0
- package/dist/services/deploy-diff/plan-summary.d.ts +81 -0
- package/dist/services/deploy-diff/plan-summary.js +262 -0
- package/dist/services/deploy-diff/plan-summary.js.map +1 -0
- package/dist/services/deploy-diff/preview-output.d.ts +63 -0
- package/dist/services/deploy-diff/preview-output.js +403 -0
- package/dist/services/deploy-diff/preview-output.js.map +1 -0
- package/dist/services/deploy-diff/render.d.ts +59 -0
- package/dist/services/deploy-diff/render.js +326 -0
- package/dist/services/deploy-diff/render.js.map +1 -0
- package/dist/services/deploy-diff/shape-changes.d.ts +2 -0
- package/dist/services/deploy-diff/shape-changes.js +48 -0
- package/dist/services/deploy-diff/shape-changes.js.map +1 -0
- package/dist/services/deploy-diff/source-index.d.ts +18 -0
- package/dist/services/deploy-diff/source-index.js +48 -0
- package/dist/services/deploy-diff/source-index.js.map +1 -0
- package/dist/services/deploy-diff/variable-names.d.ts +30 -0
- package/dist/services/deploy-diff/variable-names.js +64 -0
- package/dist/services/deploy-diff/variable-names.js.map +1 -0
- package/dist/services/engine-resolver.js +3 -0
- package/dist/services/engine-resolver.js.map +1 -1
- package/dist/services/engine-rules-loader.d.ts +6 -0
- package/dist/services/engine-rules-loader.js +12 -3
- package/dist/services/engine-rules-loader.js.map +1 -1
- package/dist/services/oxc-parser.d.ts +26 -0
- package/dist/services/oxc-parser.js +70 -0
- package/dist/services/oxc-parser.js.map +1 -0
- package/dist/services/project-cli.d.ts +75 -0
- package/dist/services/project-cli.js +302 -0
- package/dist/services/project-cli.js.map +1 -0
- package/dist/services/project-parser.d.ts +5 -0
- package/dist/services/project-parser.js +25 -13
- package/dist/services/project-parser.js.map +1 -1
- package/dist/services/skills.js +3 -3
- package/dist/services/skills.js.map +1 -1
- package/dist/services/snapshot-service.d.ts +25 -8
- package/dist/services/snapshot-service.js +46 -4
- package/dist/services/snapshot-service.js.map +1 -1
- package/dist/services/socket-client.js +1 -1
- package/dist/services/socket-client.js.map +1 -1
- package/dist/services/test-filters.d.ts +18 -0
- package/dist/services/test-filters.js +10 -0
- package/dist/services/test-filters.js.map +1 -1
- package/dist/services/test-runner.d.ts +1 -1
- package/dist/services/test-runner.js +10 -11
- package/dist/services/test-runner.js.map +1 -1
- package/dist/services/test-session-cancel.d.ts +5 -0
- package/dist/services/test-session-cancel.js +28 -3
- package/dist/services/test-session-cancel.js.map +1 -1
- package/dist/services/trigger-runner.d.ts +1 -1
- package/dist/services/trigger-runner.js +2 -2
- package/dist/services/trigger-runner.js.map +1 -1
- package/dist/services/two-installs.d.ts +39 -0
- package/dist/services/two-installs.js +155 -0
- package/dist/services/two-installs.js.map +1 -0
- package/dist/services/util.d.ts +17 -2
- package/dist/services/util.js +118 -11
- package/dist/services/util.js.map +1 -1
- package/dist/services/write-back/apply-edits.d.ts +29 -0
- package/dist/services/write-back/apply-edits.js +255 -0
- package/dist/services/write-back/apply-edits.js.map +1 -0
- package/dist/services/write-back/helper-edit.d.ts +135 -0
- package/dist/services/write-back/helper-edit.js +343 -0
- package/dist/services/write-back/helper-edit.js.map +1 -0
- package/dist/services/write-back/imports.d.ts +30 -0
- package/dist/services/write-back/imports.js +88 -0
- package/dist/services/write-back/imports.js.map +1 -0
- package/dist/services/write-back/literal-edit.d.ts +183 -0
- package/dist/services/write-back/literal-edit.js +359 -0
- package/dist/services/write-back/literal-edit.js.map +1 -0
- package/dist/services/write-back/output.d.ts +26 -0
- package/dist/services/write-back/output.js +110 -0
- package/dist/services/write-back/output.js.map +1 -0
- package/dist/services/write-back/plan.d.ts +180 -0
- package/dist/services/write-back/plan.js +1046 -0
- package/dist/services/write-back/plan.js.map +1 -0
- package/dist/services/write-back/source-file.d.ts +133 -0
- package/dist/services/write-back/source-file.js +460 -0
- package/dist/services/write-back/source-file.js.map +1 -0
- package/dist/sourcegen/index.d.ts +1 -1
- package/dist/sourcegen/index.js +1 -1
- package/dist/sourcegen/index.js.map +1 -1
- package/dist/sourcegen/program.d.ts +19 -1
- package/dist/sourcegen/program.js +32 -7
- package/dist/sourcegen/program.js.map +1 -1
- package/dist/testing/clear-git-env.d.ts +1 -0
- package/dist/testing/clear-git-env.js +25 -0
- package/dist/testing/clear-git-env.js.map +1 -0
- package/dist/testing/global-setup.d.ts +1 -0
- package/dist/testing/global-setup.js +3 -0
- package/dist/testing/global-setup.js.map +1 -1
- package/oclif.manifest.json +1113 -884
- package/package.json +21 -19
- package/dist/commands/rules.d.ts +0 -9
- package/dist/commands/rules.js +0 -13
- package/dist/commands/rules.js.map +0 -1
- package/dist/constructs/agentic-check-codegen.d.ts +0 -22
- package/dist/constructs/agentic-check-codegen.js +0 -59
- package/dist/constructs/agentic-check-codegen.js.map +0 -1
- package/dist/constructs/agentic-check.d.ts +0 -237
- package/dist/constructs/agentic-check.js +0 -100
- package/dist/constructs/agentic-check.js.map +0 -1
- package/dist/services/check-parser/package-files/json-text-source-file-parser.d.ts +0 -7
- package/dist/services/check-parser/package-files/json-text-source-file-parser.js +0 -47
- package/dist/services/check-parser/package-files/json-text-source-file-parser.js.map +0 -1
- package/dist/services/check-parser/package-files/source-file-parser.d.ts +0 -10
- package/dist/services/check-parser/package-files/source-file-parser.js +0 -13
- package/dist/services/check-parser/package-files/source-file-parser.js.map +0 -1
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import path from 'node:path';
|
|
2
|
+
/** What the frame filter needs to know about a call site. */
|
|
3
|
+
export interface Frame {
|
|
4
|
+
fileName?: string | null;
|
|
5
|
+
isConstructor: boolean;
|
|
6
|
+
}
|
|
7
|
+
export interface DeclaringFileOptions {
|
|
8
|
+
/** The directory holding the CLI's own code. */
|
|
9
|
+
ownRoot: string;
|
|
10
|
+
/**
|
|
11
|
+
* The number of classes from `Construct` down to the class being
|
|
12
|
+
* instantiated; each one contributes a constructor frame at the top of
|
|
13
|
+
* the stack.
|
|
14
|
+
*/
|
|
15
|
+
constructorChainLength: number;
|
|
16
|
+
/**
|
|
17
|
+
* For tests only, so Windows frames can be exercised on other platforms.
|
|
18
|
+
*/
|
|
19
|
+
platformPath?: path.PlatformPath;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Picks the declaring file out of a list of stack frames, innermost first.
|
|
23
|
+
* See the module description for the rules.
|
|
24
|
+
*/
|
|
25
|
+
export declare function declaringFileFromFrames(frames: Frame[], { ownRoot, constructorChainLength, platformPath }: DeclaringFileOptions): string | undefined;
|
|
26
|
+
/**
|
|
27
|
+
* The user file that declares the construct whose constructor is running, or
|
|
28
|
+
* `undefined` when no user code is on the stack (the CLI or a test runner
|
|
29
|
+
* created the construct) or the runtime does not expose structured stack
|
|
30
|
+
* frames.
|
|
31
|
+
*
|
|
32
|
+
* `Error.prepareStackTrace` is replaced for the duration of a single
|
|
33
|
+
* synchronous `new Error()` so V8 hands over call sites instead of a
|
|
34
|
+
* formatted string, then restored; only file names and the constructor flag
|
|
35
|
+
* are read, which no source map changes.
|
|
36
|
+
*
|
|
37
|
+
* @param constructorChainLength see {@link DeclaringFileOptions}
|
|
38
|
+
*/
|
|
39
|
+
export declare function captureDeclaringFile(constructorChainLength: number): string | undefined;
|
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
import path from 'node:path';
|
|
2
|
+
import { fileURLToPath } from 'node:url';
|
|
3
|
+
/**
|
|
4
|
+
* Finds the user file that declares a construct by looking at the call
|
|
5
|
+
* stack of the construct's constructor.
|
|
6
|
+
*
|
|
7
|
+
* The project parser loads check files one at a time, but a module a check
|
|
8
|
+
* file imports is evaluated once, during its first importer's load, and then
|
|
9
|
+
* served from the module cache. A construct declared in such a module (a
|
|
10
|
+
* shared alerts file, a group definition no check glob matches) therefore
|
|
11
|
+
* cannot be attributed by "the file being loaded right now": that would name
|
|
12
|
+
* whichever importer happened to load first. The call stack does not have
|
|
13
|
+
* this problem: the frame right below the constructor chain is the code that
|
|
14
|
+
* ran `new SomeCheck(...)`, wherever it lives.
|
|
15
|
+
*
|
|
16
|
+
* Frames are considered from the innermost outwards:
|
|
17
|
+
* - the constructor chain of the construct's own class hierarchy is skipped
|
|
18
|
+
* (one frame per class from `Construct` down to the class being
|
|
19
|
+
* instantiated, subclasses in the user's code included), so the file that
|
|
20
|
+
* ran `new` counts rather than the file declaring a subclass;
|
|
21
|
+
* - frames without a file, `node:` internals and eval'd code are skipped;
|
|
22
|
+
* - frames inside the CLI's own code (`dist/` in the published package,
|
|
23
|
+
* `src/` when run from source) are skipped, so the parser and helpers such
|
|
24
|
+
* as a group's `testMatch` expansion never count either;
|
|
25
|
+
* - the first remaining frame is the answer, unless it sits under a
|
|
26
|
+
* `node_modules` directory: then no user code created the construct (the
|
|
27
|
+
* CLI created it itself and the next frame out is the command runner, or a
|
|
28
|
+
* test runner did), and the caller falls back to the parser's current file.
|
|
29
|
+
*
|
|
30
|
+
* Both jiti (TypeScript check files) and Node's own ESM loader report the
|
|
31
|
+
* original file, as a plain path or a `file://` URL. A module the loader
|
|
32
|
+
* resolved itself is reported at its physical location (symlinks resolved);
|
|
33
|
+
* the file the loader was asked to load keeps the path it was given, which is
|
|
34
|
+
* why the project parser hands it physical paths.
|
|
35
|
+
*
|
|
36
|
+
* Accepted limitations: a construct created inside a helper function or a
|
|
37
|
+
* wrapper class in the user's code is attributed to the helper's file; a
|
|
38
|
+
* construct library installed under `node_modules` (rather than linked from
|
|
39
|
+
* workspace source) falls back to the parser's current file; and V8 emits a
|
|
40
|
+
* single frame for a run of two or more consecutive subclasses without an
|
|
41
|
+
* explicit constructor, so behind such a run one more frame is skipped than
|
|
42
|
+
* the chain has classes, which only matters when that frame is a wrapper
|
|
43
|
+
* class's constructor.
|
|
44
|
+
*/
|
|
45
|
+
/**
|
|
46
|
+
* The directory holding the CLI's own code: `dist/` in the published package,
|
|
47
|
+
* `src/` when running from source. Frames under it belong to the CLI, not to
|
|
48
|
+
* the user's project.
|
|
49
|
+
*/
|
|
50
|
+
const OWN_ROOT = path.resolve(path.dirname(fileURLToPath(import.meta.url)), '..', '..');
|
|
51
|
+
/**
|
|
52
|
+
* Frames to capture. The CLI's own constructor chain is at most five frames
|
|
53
|
+
* deep (`CheckGroupV1` creating a `BrowserCheck` for a `testMatch` entry);
|
|
54
|
+
* the rest is headroom for subclasses and helper functions in the user's
|
|
55
|
+
* code.
|
|
56
|
+
*/
|
|
57
|
+
const STACK_DEPTH = 32;
|
|
58
|
+
const NODE_MODULES_SEGMENT = /[\\/]node_modules[\\/]/;
|
|
59
|
+
function isInside(root, file, platformPath) {
|
|
60
|
+
const relative = platformPath.relative(root, file);
|
|
61
|
+
const escapes = relative === '..' || relative.startsWith(`..${platformPath.sep}`);
|
|
62
|
+
return !escapes && !platformPath.isAbsolute(relative);
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Picks the declaring file out of a list of stack frames, innermost first.
|
|
66
|
+
* See the module description for the rules.
|
|
67
|
+
*/
|
|
68
|
+
export function declaringFileFromFrames(frames, { ownRoot, constructorChainLength, platformPath = path }) {
|
|
69
|
+
// The chain is skipped by count, not by looking for constructor frames:
|
|
70
|
+
// a wrapper class in the user's code that creates a construct in its own
|
|
71
|
+
// constructor is a helper, and its frame must count. The flag only guards
|
|
72
|
+
// against a chain shorter than expected.
|
|
73
|
+
let skipped = 0;
|
|
74
|
+
for (const { fileName, isConstructor } of frames) {
|
|
75
|
+
if (skipped < constructorChainLength && isConstructor) {
|
|
76
|
+
skipped++;
|
|
77
|
+
continue;
|
|
78
|
+
}
|
|
79
|
+
if (!fileName || fileName.startsWith('node:')) {
|
|
80
|
+
continue;
|
|
81
|
+
}
|
|
82
|
+
let file;
|
|
83
|
+
if (fileName.startsWith('file:')) {
|
|
84
|
+
try {
|
|
85
|
+
file = fileURLToPath(fileName, { windows: platformPath === path.win32 });
|
|
86
|
+
}
|
|
87
|
+
catch {
|
|
88
|
+
continue;
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
else if (platformPath.isAbsolute(fileName)) {
|
|
92
|
+
file = fileName;
|
|
93
|
+
}
|
|
94
|
+
else {
|
|
95
|
+
// `<anonymous>`, `eval at ...` and similar.
|
|
96
|
+
continue;
|
|
97
|
+
}
|
|
98
|
+
if (isInside(ownRoot, file, platformPath)) {
|
|
99
|
+
continue;
|
|
100
|
+
}
|
|
101
|
+
return NODE_MODULES_SEGMENT.test(file) ? undefined : file;
|
|
102
|
+
}
|
|
103
|
+
return undefined;
|
|
104
|
+
}
|
|
105
|
+
/**
|
|
106
|
+
* The user file that declares the construct whose constructor is running, or
|
|
107
|
+
* `undefined` when no user code is on the stack (the CLI or a test runner
|
|
108
|
+
* created the construct) or the runtime does not expose structured stack
|
|
109
|
+
* frames.
|
|
110
|
+
*
|
|
111
|
+
* `Error.prepareStackTrace` is replaced for the duration of a single
|
|
112
|
+
* synchronous `new Error()` so V8 hands over call sites instead of a
|
|
113
|
+
* formatted string, then restored; only file names and the constructor flag
|
|
114
|
+
* are read, which no source map changes.
|
|
115
|
+
*
|
|
116
|
+
* @param constructorChainLength see {@link DeclaringFileOptions}
|
|
117
|
+
*/
|
|
118
|
+
export function captureDeclaringFile(constructorChainLength) {
|
|
119
|
+
const { prepareStackTrace, stackTraceLimit } = Error;
|
|
120
|
+
let callSites;
|
|
121
|
+
try {
|
|
122
|
+
Error.prepareStackTrace = (_error, sites) => sites;
|
|
123
|
+
Error.stackTraceLimit = STACK_DEPTH;
|
|
124
|
+
callSites = new Error().stack;
|
|
125
|
+
}
|
|
126
|
+
finally {
|
|
127
|
+
Error.prepareStackTrace = prepareStackTrace;
|
|
128
|
+
Error.stackTraceLimit = stackTraceLimit;
|
|
129
|
+
}
|
|
130
|
+
if (!Array.isArray(callSites)) {
|
|
131
|
+
return undefined;
|
|
132
|
+
}
|
|
133
|
+
const frames = callSites.map(site => ({
|
|
134
|
+
fileName: site.getFileName(),
|
|
135
|
+
isConstructor: site.isConstructor(),
|
|
136
|
+
}));
|
|
137
|
+
return declaringFileFromFrames(frames, { ownRoot: OWN_ROOT, constructorChainLength });
|
|
138
|
+
}
|
|
139
|
+
//# sourceMappingURL=declaring-file.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"declaring-file.js","sourceRoot":"","sources":["../../../src/constructs/internal/declaring-file.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { SingleRetryRetryStrategy } from '../retry-strategy.js';
|
|
2
|
+
/**
|
|
3
|
+
* One immediate retry, away from the location that failed: what the legacy
|
|
4
|
+
* `doubleCheck` flag did. The retry strategy a check or v1 group gets when
|
|
5
|
+
* neither its code nor a project or group default sets one, and the strategy
|
|
6
|
+
* the backend's import format writes for a check or group that still retries
|
|
7
|
+
* through the flag alone; the two change together.
|
|
8
|
+
*/
|
|
9
|
+
export declare const SINGLE_RETRY_ELSEWHERE: Readonly<SingleRetryRetryStrategy>;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* One immediate retry, away from the location that failed: what the legacy
|
|
3
|
+
* `doubleCheck` flag did. The retry strategy a check or v1 group gets when
|
|
4
|
+
* neither its code nor a project or group default sets one, and the strategy
|
|
5
|
+
* the backend's import format writes for a check or group that still retries
|
|
6
|
+
* through the flag alone; the two change together.
|
|
7
|
+
*/
|
|
8
|
+
export const SINGLE_RETRY_ELSEWHERE = Object.freeze({
|
|
9
|
+
type: 'SINGLE_RETRY',
|
|
10
|
+
baseBackoffSeconds: 0,
|
|
11
|
+
sameRegion: false,
|
|
12
|
+
});
|
|
13
|
+
//# sourceMappingURL=default-retry-strategy.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"default-retry-strategy.js","sourceRoot":"","sources":["../../../src/constructs/internal/default-retry-strategy.ts"],"names":[],"mappings":"AAEA;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAuC,MAAM,CAAC,MAAM,CAAC;IACtF,IAAI,EAAE,cAAc;IACpB,kBAAkB,EAAE,CAAC;IACrB,UAAU,EAAE,KAAK;CAClB,CAAC,CAAA"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The values `RetryStrategyBuilder` fills in for an option left unset. They
|
|
3
|
+
* live apart from the builder so the retry strategy codegen can compare a
|
|
4
|
+
* stored strategy against them (an option equal to its default is left out
|
|
5
|
+
* of generated code, since the builder puts it back) without exporting
|
|
6
|
+
* anything new from the constructs' public surface.
|
|
7
|
+
*/
|
|
8
|
+
export declare const RETRY_STRATEGY_DEFAULTS: {
|
|
9
|
+
readonly baseBackoffSeconds: 60;
|
|
10
|
+
readonly maxRetries: 2;
|
|
11
|
+
readonly maxDurationSeconds: number;
|
|
12
|
+
readonly sameRegion: true;
|
|
13
|
+
};
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The values `RetryStrategyBuilder` fills in for an option left unset. They
|
|
3
|
+
* live apart from the builder so the retry strategy codegen can compare a
|
|
4
|
+
* stored strategy against them (an option equal to its default is left out
|
|
5
|
+
* of generated code, since the builder puts it back) without exporting
|
|
6
|
+
* anything new from the constructs' public surface.
|
|
7
|
+
*/
|
|
8
|
+
export const RETRY_STRATEGY_DEFAULTS = {
|
|
9
|
+
baseBackoffSeconds: 60,
|
|
10
|
+
maxRetries: 2,
|
|
11
|
+
maxDurationSeconds: 60 * 10,
|
|
12
|
+
sameRegion: true,
|
|
13
|
+
};
|
|
14
|
+
//# sourceMappingURL=retry-strategy-defaults.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"retry-strategy-defaults.js","sourceRoot":"","sources":["../../../src/constructs/internal/retry-strategy-defaults.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG;IACrC,kBAAkB,EAAE,EAAE;IACtB,UAAU,EAAE,CAAC;IACb,kBAAkB,EAAE,EAAE,GAAG,EAAE;IAC3B,UAAU,EAAE,IAAI;CACR,CAAA"}
|
|
@@ -1,4 +1,9 @@
|
|
|
1
1
|
import { GeneratedFile, Program, Value } from '../sourcegen/index.js';
|
|
2
2
|
import { Context } from './internal/codegen/index.js';
|
|
3
3
|
import KeyValuePair from './key-value-pair.js';
|
|
4
|
-
|
|
4
|
+
/**
|
|
5
|
+
* @param path The dotted path of the list the pair belongs to
|
|
6
|
+
* (`environmentVariables`, `request.headers`), under which the code being
|
|
7
|
+
* rendered may spell out this pair's flags as `<path>[<key>].locked`.
|
|
8
|
+
*/
|
|
9
|
+
export declare function valueForKeyValuePair(program: Program, genfile: GeneratedFile, context: Context, kv: KeyValuePair, path: string): Value;
|
|
@@ -1,14 +1,35 @@
|
|
|
1
1
|
import { decl, expr, ident, object } from '../sourcegen/index.js';
|
|
2
|
-
|
|
2
|
+
import { MASKED_VALUE } from './internal/codegen/index.js';
|
|
3
|
+
/**
|
|
4
|
+
* @param path The dotted path of the list the pair belongs to
|
|
5
|
+
* (`environmentVariables`, `request.headers`), under which the code being
|
|
6
|
+
* rendered may spell out this pair's flags as `<path>[<key>].locked`.
|
|
7
|
+
*/
|
|
8
|
+
export function valueForKeyValuePair(program, genfile, context, kv, path) {
|
|
9
|
+
const spelledOut = (flag) => context.spelledOut(`${path}[${kv.key}].${flag}`);
|
|
3
10
|
return object(builder => {
|
|
4
11
|
builder.string('key', kv.key);
|
|
5
12
|
if (kv.secret !== true) {
|
|
6
13
|
builder.string('value', kv.value);
|
|
7
14
|
}
|
|
8
|
-
if (
|
|
15
|
+
else if (context.maskedValues !== undefined) {
|
|
16
|
+
// A preview prints a secret only as a value it masked itself; anything
|
|
17
|
+
// else, whatever it looks like, prints as the plain mask.
|
|
18
|
+
const value = kv.value;
|
|
19
|
+
builder.string('value', context.isMasked(value) ? value : MASKED_VALUE);
|
|
20
|
+
}
|
|
21
|
+
// Both flags default to false; a flag the code spells out is kept
|
|
22
|
+
// whatever its value. A pair without a value for it writes nothing.
|
|
23
|
+
if (kv.locked === true || (kv.locked === false && spelledOut('locked'))) {
|
|
9
24
|
builder.boolean('locked', kv.locked);
|
|
10
25
|
}
|
|
11
|
-
if (kv.secret === true) {
|
|
26
|
+
if (kv.secret === true && context.maskedValues !== undefined) {
|
|
27
|
+
builder.boolean('secret', true);
|
|
28
|
+
}
|
|
29
|
+
else if (kv.secret === false && spelledOut('secret')) {
|
|
30
|
+
builder.boolean('secret', false);
|
|
31
|
+
}
|
|
32
|
+
else if (kv.secret === true) {
|
|
12
33
|
const secretVariable = ident(kv.key, {
|
|
13
34
|
format: 'SCREAMING_SNAKE_CASE',
|
|
14
35
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"key-value-pair-codegen.js","sourceRoot":"","sources":["../../src/constructs/key-value-pair-codegen.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,IAAI,EAAiB,KAAK,EAAE,MAAM,EAAkB,MAAM,uBAAuB,CAAA;
|
|
1
|
+
{"version":3,"file":"key-value-pair-codegen.js","sourceRoot":"","sources":["../../src/constructs/key-value-pair-codegen.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,7 @@
|
|
|
1
1
|
import { Codegen, Context } from './internal/codegen/index.js';
|
|
2
|
+
import { Value } from '../sourcegen/index.js';
|
|
3
|
+
/** The expression for a timestamp the API reports as an ISO string: `new Date('<iso>')`. */
|
|
4
|
+
export declare function valueForDate(iso: string): Value;
|
|
2
5
|
export interface MaintenanceWindowResource {
|
|
3
6
|
name: string;
|
|
4
7
|
tags: Array<string>;
|
|
@@ -7,6 +10,10 @@ export interface MaintenanceWindowResource {
|
|
|
7
10
|
repeatInterval?: number | null;
|
|
8
11
|
repeatUnit?: string;
|
|
9
12
|
repeatEndsAt?: string;
|
|
13
|
+
timezone?: string | null;
|
|
14
|
+
pauseAllChecks?: boolean;
|
|
15
|
+
silenceAlertsTags?: Array<string>;
|
|
16
|
+
silenceAllAlerts?: boolean;
|
|
10
17
|
}
|
|
11
18
|
export declare class MaintenanceWindowCodegen extends Codegen<MaintenanceWindowResource> {
|
|
12
19
|
describe(resource: MaintenanceWindowResource): string;
|
|
@@ -1,5 +1,13 @@
|
|
|
1
1
|
import { Codegen } from './internal/codegen/index.js';
|
|
2
2
|
import { expr, ident } from '../sourcegen/index.js';
|
|
3
|
+
/** The expression for a timestamp the API reports as an ISO string: `new Date('<iso>')`. */
|
|
4
|
+
export function valueForDate(iso) {
|
|
5
|
+
return expr(ident('Date'), builder => {
|
|
6
|
+
builder.new(builder => {
|
|
7
|
+
builder.string(iso);
|
|
8
|
+
});
|
|
9
|
+
});
|
|
10
|
+
}
|
|
3
11
|
const construct = 'MaintenanceWindow';
|
|
4
12
|
export class MaintenanceWindowCodegen extends Codegen {
|
|
5
13
|
describe(resource) {
|
|
@@ -16,21 +24,15 @@ export class MaintenanceWindowCodegen extends Codegen {
|
|
|
16
24
|
builder.string(logicalId);
|
|
17
25
|
builder.object(builder => {
|
|
18
26
|
builder.string('name', resource.name);
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
builder.expr('startsAt', ident('Date'), builder => {
|
|
25
|
-
builder.new(builder => {
|
|
26
|
-
builder.string(resource.startsAt);
|
|
27
|
+
if (resource.tags?.length) {
|
|
28
|
+
builder.array('tags', builder => {
|
|
29
|
+
for (const tag of resource.tags) {
|
|
30
|
+
builder.string(tag);
|
|
31
|
+
}
|
|
27
32
|
});
|
|
28
|
-
}
|
|
29
|
-
builder.
|
|
30
|
-
|
|
31
|
-
builder.string(resource.endsAt);
|
|
32
|
-
});
|
|
33
|
-
});
|
|
33
|
+
}
|
|
34
|
+
builder.value('startsAt', valueForDate(resource.startsAt));
|
|
35
|
+
builder.value('endsAt', valueForDate(resource.endsAt));
|
|
34
36
|
if (resource.repeatInterval !== undefined && resource.repeatInterval !== null) {
|
|
35
37
|
builder.number('repeatInterval', resource.repeatInterval);
|
|
36
38
|
}
|
|
@@ -38,13 +40,28 @@ export class MaintenanceWindowCodegen extends Codegen {
|
|
|
38
40
|
builder.string('repeatUnit', resource.repeatUnit);
|
|
39
41
|
}
|
|
40
42
|
if (resource.repeatEndsAt) {
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
43
|
+
builder.value('repeatEndsAt', valueForDate(resource.repeatEndsAt));
|
|
44
|
+
}
|
|
45
|
+
// UTC is what an omitted timezone means, so it is left out like the other defaults.
|
|
46
|
+
if (resource.timezone && resource.timezone !== 'UTC') {
|
|
47
|
+
builder.string('timezone', resource.timezone);
|
|
48
|
+
}
|
|
49
|
+
// The default value for pauseAllChecks is false, only include if true.
|
|
50
|
+
if (resource.pauseAllChecks !== undefined && resource.pauseAllChecks) {
|
|
51
|
+
builder.boolean('pauseAllChecks', resource.pauseAllChecks);
|
|
52
|
+
}
|
|
53
|
+
if (resource.silenceAlertsTags?.length) {
|
|
54
|
+
const silenceAlertsTags = resource.silenceAlertsTags;
|
|
55
|
+
builder.array('silenceAlertsTags', builder => {
|
|
56
|
+
for (const tag of silenceAlertsTags) {
|
|
57
|
+
builder.string(tag);
|
|
58
|
+
}
|
|
46
59
|
});
|
|
47
60
|
}
|
|
61
|
+
// The default value for silenceAllAlerts is false, only include if true.
|
|
62
|
+
if (resource.silenceAllAlerts !== undefined && resource.silenceAllAlerts) {
|
|
63
|
+
builder.boolean('silenceAllAlerts', resource.silenceAllAlerts);
|
|
64
|
+
}
|
|
48
65
|
});
|
|
49
66
|
});
|
|
50
67
|
}));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"maintenance-window-codegen.js","sourceRoot":"","sources":["../../src/constructs/maintenance-window-codegen.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAW,MAAM,6BAA6B,CAAA;AAC9D,OAAO,EAAE,IAAI,EAAE,KAAK,
|
|
1
|
+
{"version":3,"file":"maintenance-window-codegen.js","sourceRoot":"","sources":["../../src/constructs/maintenance-window-codegen.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
import { Construct } from './construct.js';
|
|
2
|
+
import { Diagnostics } from './diagnostics.js';
|
|
3
|
+
import { TimeZone } from './time-zone.js';
|
|
2
4
|
export type MaintenanceWindowRepeatUnit = 'DAY' | 'WEEK' | 'MONTH';
|
|
3
5
|
export interface MaintenanceWindowProps {
|
|
4
6
|
/**
|
|
@@ -6,9 +8,10 @@ export interface MaintenanceWindowProps {
|
|
|
6
8
|
*/
|
|
7
9
|
name: string;
|
|
8
10
|
/**
|
|
9
|
-
*
|
|
11
|
+
* Tags that select which checks are paused during the maintenance window.
|
|
12
|
+
* A window must set at least one of `tags`, `pauseAllChecks`, `silenceAlertsTags` or `silenceAllAlerts`.
|
|
10
13
|
*/
|
|
11
|
-
tags
|
|
14
|
+
tags?: Array<string>;
|
|
12
15
|
/**
|
|
13
16
|
* The start date and time of the maintenance window in ISO 8601 format, "YYYY-MM-DDTHH:mm:ss.sssZ" as returned by
|
|
14
17
|
* `new Date()`
|
|
@@ -31,6 +34,32 @@ export interface MaintenanceWindowProps {
|
|
|
31
34
|
* The end date and time when the maintenance window should stop repeating.
|
|
32
35
|
*/
|
|
33
36
|
repeatEndsAt?: Date;
|
|
37
|
+
/**
|
|
38
|
+
* The named IANA time zone used to schedule recurring occurrences, e.g. `'America/New_York'`.
|
|
39
|
+
* Occurrences keep the same local time across daylight-saving changes.
|
|
40
|
+
*
|
|
41
|
+
* `startsAt` and `endsAt` remain absolute instants; the time zone does not reinterpret them.
|
|
42
|
+
* UTC offsets such as `'+05:00'` or `'Etc/GMT+5'` are not accepted. Removing a previously set
|
|
43
|
+
* time zone resets the window to UTC on the next deploy. The time zone cannot be changed while a
|
|
44
|
+
* maintenance is active.
|
|
45
|
+
*
|
|
46
|
+
* @defaultValue 'UTC'
|
|
47
|
+
*/
|
|
48
|
+
timezone?: TimeZone;
|
|
49
|
+
/**
|
|
50
|
+
* When true, checks are paused for every check in the account, regardless of `tags`.
|
|
51
|
+
*/
|
|
52
|
+
pauseAllChecks?: boolean;
|
|
53
|
+
/**
|
|
54
|
+
* A list of tags that filter which checks have their alerts silenced. Ignored when
|
|
55
|
+
* `silenceAllAlerts` is true.
|
|
56
|
+
*/
|
|
57
|
+
silenceAlertsTags?: Array<string>;
|
|
58
|
+
/**
|
|
59
|
+
* When true, alerts are silenced for every check in the account, overriding
|
|
60
|
+
* `silenceAlertsTags`.
|
|
61
|
+
*/
|
|
62
|
+
silenceAllAlerts?: boolean;
|
|
34
63
|
}
|
|
35
64
|
/**
|
|
36
65
|
* Creates a Maintenance Window
|
|
@@ -41,12 +70,16 @@ export interface MaintenanceWindowProps {
|
|
|
41
70
|
*/
|
|
42
71
|
export declare class MaintenanceWindow extends Construct {
|
|
43
72
|
name: string;
|
|
44
|
-
tags
|
|
73
|
+
tags?: Array<string>;
|
|
45
74
|
startsAt: Date;
|
|
46
75
|
endsAt: Date;
|
|
47
76
|
repeatInterval?: number;
|
|
48
77
|
repeatUnit?: MaintenanceWindowRepeatUnit;
|
|
49
78
|
repeatEndsAt?: Date;
|
|
79
|
+
timezone: TimeZone;
|
|
80
|
+
pauseAllChecks?: boolean;
|
|
81
|
+
silenceAlertsTags?: Array<string>;
|
|
82
|
+
silenceAllAlerts?: boolean;
|
|
50
83
|
static readonly __checklyType = "maintenance-window";
|
|
51
84
|
/**
|
|
52
85
|
* Constructs the Maintenance Window instance
|
|
@@ -58,5 +91,6 @@ export declare class MaintenanceWindow extends Construct {
|
|
|
58
91
|
*/
|
|
59
92
|
constructor(logicalId: string, props: MaintenanceWindowProps);
|
|
60
93
|
describe(): string;
|
|
94
|
+
validate(diagnostics: Diagnostics): Promise<void>;
|
|
61
95
|
synthesize(): any | null;
|
|
62
96
|
}
|
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
import { Construct } from './construct.js';
|
|
2
|
+
import { InvalidPropertyValueDiagnostic } from './construct-diagnostics.js';
|
|
3
|
+
import { WarningDiagnostic } from './diagnostics.js';
|
|
2
4
|
import { Session } from './session.js';
|
|
5
|
+
import { isValidTimeZone } from './time-zone.js';
|
|
3
6
|
/**
|
|
4
7
|
* Creates a Maintenance Window
|
|
5
8
|
*
|
|
@@ -15,6 +18,10 @@ export class MaintenanceWindow extends Construct {
|
|
|
15
18
|
repeatInterval;
|
|
16
19
|
repeatUnit;
|
|
17
20
|
repeatEndsAt;
|
|
21
|
+
timezone;
|
|
22
|
+
pauseAllChecks;
|
|
23
|
+
silenceAlertsTags;
|
|
24
|
+
silenceAllAlerts;
|
|
18
25
|
static __checklyType = 'maintenance-window';
|
|
19
26
|
/**
|
|
20
27
|
* Constructs the Maintenance Window instance
|
|
@@ -33,11 +40,32 @@ export class MaintenanceWindow extends Construct {
|
|
|
33
40
|
this.repeatInterval = props.repeatInterval;
|
|
34
41
|
this.repeatUnit = props.repeatUnit;
|
|
35
42
|
this.repeatEndsAt = props.repeatEndsAt;
|
|
43
|
+
this.timezone = props.timezone ?? 'UTC';
|
|
44
|
+
this.pauseAllChecks = props.pauseAllChecks;
|
|
45
|
+
this.silenceAlertsTags = props.silenceAlertsTags;
|
|
46
|
+
this.silenceAllAlerts = props.silenceAllAlerts;
|
|
36
47
|
Session.registerConstruct(this);
|
|
37
48
|
}
|
|
38
49
|
describe() {
|
|
39
50
|
return `MaintenanceWindow:${this.logicalId}`;
|
|
40
51
|
}
|
|
52
|
+
async validate(diagnostics) {
|
|
53
|
+
await super.validate(diagnostics);
|
|
54
|
+
if (!isValidTimeZone(this.timezone)) {
|
|
55
|
+
diagnostics.add(new InvalidPropertyValueDiagnostic('timezone', new Error(`"timezone" must be a named IANA time zone such as "America/New_York", got "${this.timezone}".`
|
|
56
|
+
+ ` UTC offsets such as "+05:00" or "Etc/GMT+5" are not supported.`)));
|
|
57
|
+
}
|
|
58
|
+
const pausesChecks = this.pauseAllChecks || !!this.tags?.length;
|
|
59
|
+
const silencesAlerts = this.silenceAllAlerts || !!this.silenceAlertsTags?.length;
|
|
60
|
+
if (!pausesChecks && !silencesAlerts) {
|
|
61
|
+
diagnostics.add(new WarningDiagnostic({
|
|
62
|
+
title: 'Maintenance window affects no checks',
|
|
63
|
+
message: `Maintenance window "${this.logicalId}" neither pauses checks nor silences alerts. `
|
|
64
|
+
+ `Set "tags" or "pauseAllChecks" to pause checks, or "silenceAlertsTags" or "silenceAllAlerts" `
|
|
65
|
+
+ `to silence alerts.`,
|
|
66
|
+
}));
|
|
67
|
+
}
|
|
68
|
+
}
|
|
41
69
|
synthesize() {
|
|
42
70
|
return {
|
|
43
71
|
name: this.name,
|
|
@@ -46,7 +74,12 @@ export class MaintenanceWindow extends Construct {
|
|
|
46
74
|
endsAt: this.endsAt,
|
|
47
75
|
repeatInterval: this.repeatInterval,
|
|
48
76
|
repeatUnit: this.repeatUnit,
|
|
49
|
-
|
|
77
|
+
// An omitted end date keeps the stored one on update, so null is sent to clear it.
|
|
78
|
+
repeatEndsAt: this.repeatEndsAt ?? null,
|
|
79
|
+
timezone: this.timezone,
|
|
80
|
+
pauseAllChecks: this.pauseAllChecks,
|
|
81
|
+
silenceAlertsTags: this.silenceAlertsTags,
|
|
82
|
+
silenceAllAlerts: this.silenceAllAlerts,
|
|
50
83
|
};
|
|
51
84
|
}
|
|
52
85
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"maintenance-window.js","sourceRoot":"","sources":["../../src/constructs/maintenance-window.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAC1C,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;
|
|
1
|
+
{"version":3,"file":"maintenance-window.js","sourceRoot":"","sources":["../../src/constructs/maintenance-window.ts"],"names":[],"mappings":"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"}
|