checkly 7.7.0 → 7.8.0-prerelease-9bdcdb2

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.
Files changed (119) hide show
  1. package/dist/ai-context/checkly.rules.md +36 -32
  2. package/dist/ai-context/onboarding-boilerplate/__checks__/api.check.ts +22 -0
  3. package/dist/ai-context/onboarding-boilerplate/__checks__/heartbeat.check.ts +16 -0
  4. package/dist/ai-context/onboarding-boilerplate/__checks__/homepage.spec.ts +12 -0
  5. package/dist/ai-context/onboarding-boilerplate/__checks__/url.check.ts +18 -0
  6. package/dist/ai-context/onboarding-boilerplate/checkly-config-template.ts +50 -0
  7. package/dist/ai-context/onboarding-prompts/base.md +1 -0
  8. package/dist/ai-context/onboarding-prompts/playwright.md +1 -0
  9. package/dist/ai-context/public-skills/checkly/SKILL.md +1 -1
  10. package/dist/ai-context/skills-command/references/configure-api-checks.md +16 -7
  11. package/dist/ai-context/skills-command/references/configure-browser-checks.md +3 -6
  12. package/dist/ai-context/skills-command/references/configure-dns-monitors.md +1 -0
  13. package/dist/ai-context/skills-command/references/configure-heartbeat-monitors.md +1 -6
  14. package/dist/ai-context/skills-command/references/configure-icmp-monitors.md +1 -0
  15. package/dist/ai-context/skills-command/references/configure-tcp-monitors.md +2 -6
  16. package/dist/ai-context/skills-command/references/configure-url-monitors.md +3 -6
  17. package/dist/ai-context/skills-command/references/configure.md +9 -1
  18. package/dist/ai-context/skills-command/references/initialize.md +8 -8
  19. package/dist/ai-context/skills-command/references/manage.md +23 -0
  20. package/dist/commands/authCommand.d.ts +2 -1
  21. package/dist/commands/authCommand.js +5 -7
  22. package/dist/commands/authCommand.js.map +1 -1
  23. package/dist/commands/baseCommand.js +0 -1
  24. package/dist/commands/baseCommand.js.map +1 -1
  25. package/dist/commands/checks/get.js +19 -2
  26. package/dist/commands/checks/get.js.map +1 -1
  27. package/dist/commands/deploy.js +21 -17
  28. package/dist/commands/deploy.js.map +1 -1
  29. package/dist/commands/destroy.js +34 -18
  30. package/dist/commands/destroy.js.map +1 -1
  31. package/dist/commands/env/rm.js +16 -21
  32. package/dist/commands/env/rm.js.map +1 -1
  33. package/dist/commands/init.d.ts +23 -0
  34. package/dist/commands/init.js +278 -0
  35. package/dist/commands/init.js.map +1 -0
  36. package/dist/commands/pw-test.d.ts +1 -0
  37. package/dist/commands/pw-test.js +6 -2
  38. package/dist/commands/pw-test.js.map +1 -1
  39. package/dist/commands/rca/get.d.ts +15 -0
  40. package/dist/commands/rca/get.js +95 -0
  41. package/dist/commands/rca/get.js.map +1 -0
  42. package/dist/commands/rca/run.d.ts +13 -0
  43. package/dist/commands/rca/run.js +102 -0
  44. package/dist/commands/rca/run.js.map +1 -0
  45. package/dist/commands/skills/install.d.ts +6 -0
  46. package/dist/commands/skills/install.js +82 -48
  47. package/dist/commands/skills/install.js.map +1 -1
  48. package/dist/commands/test.d.ts +1 -0
  49. package/dist/commands/test.js +6 -2
  50. package/dist/commands/test.js.map +1 -1
  51. package/dist/commands/trigger.d.ts +1 -0
  52. package/dist/commands/trigger.js +6 -2
  53. package/dist/commands/trigger.js.map +1 -1
  54. package/dist/formatters/checks.js +19 -1
  55. package/dist/formatters/checks.js.map +1 -1
  56. package/dist/formatters/rca.d.ts +36 -0
  57. package/dist/formatters/rca.js +149 -0
  58. package/dist/formatters/rca.js.map +1 -0
  59. package/dist/help/help-extension.js +22 -0
  60. package/dist/help/help-extension.js.map +1 -1
  61. package/dist/help/skills.d.ts +7 -0
  62. package/dist/help/skills.js +23 -0
  63. package/dist/help/skills.js.map +1 -0
  64. package/dist/helpers/cli-mode.d.ts +1 -0
  65. package/dist/helpers/cli-mode.js +13 -1
  66. package/dist/helpers/cli-mode.js.map +1 -1
  67. package/dist/helpers/command-preview.js +5 -0
  68. package/dist/helpers/command-preview.js.map +1 -1
  69. package/dist/helpers/onboarding/boilerplate.d.ts +15 -0
  70. package/dist/helpers/onboarding/boilerplate.js +176 -0
  71. package/dist/helpers/onboarding/boilerplate.js.map +1 -0
  72. package/dist/helpers/onboarding/clipboard.d.ts +1 -0
  73. package/dist/helpers/onboarding/clipboard.js +32 -0
  74. package/dist/helpers/onboarding/clipboard.js.map +1 -0
  75. package/dist/helpers/onboarding/detect-project.d.ts +10 -0
  76. package/dist/helpers/onboarding/detect-project.js +35 -0
  77. package/dist/helpers/onboarding/detect-project.js.map +1 -0
  78. package/dist/helpers/onboarding/index.d.ts +7 -0
  79. package/dist/helpers/onboarding/index.js +26 -0
  80. package/dist/helpers/onboarding/index.js.map +1 -0
  81. package/dist/helpers/onboarding/messages.d.ts +5 -0
  82. package/dist/helpers/onboarding/messages.js +152 -0
  83. package/dist/helpers/onboarding/messages.js.map +1 -0
  84. package/dist/helpers/onboarding/prompt-display.d.ts +1 -0
  85. package/dist/helpers/onboarding/prompt-display.js +83 -0
  86. package/dist/helpers/onboarding/prompt-display.js.map +1 -0
  87. package/dist/helpers/onboarding/prompts-helpers.d.ts +2 -0
  88. package/dist/helpers/onboarding/prompts-helpers.js +19 -0
  89. package/dist/helpers/onboarding/prompts-helpers.js.map +1 -0
  90. package/dist/helpers/onboarding/skill-install.d.ts +10 -0
  91. package/dist/helpers/onboarding/skill-install.js +93 -0
  92. package/dist/helpers/onboarding/skill-install.js.map +1 -0
  93. package/dist/helpers/onboarding/template-prompt.d.ts +2 -0
  94. package/dist/helpers/onboarding/template-prompt.js +16 -0
  95. package/dist/helpers/onboarding/template-prompt.js.map +1 -0
  96. package/dist/rest/api.d.ts +2 -0
  97. package/dist/rest/api.js +3 -1
  98. package/dist/rest/api.js.map +1 -1
  99. package/dist/rest/error-groups.d.ts +31 -0
  100. package/dist/rest/error-groups.js.map +1 -1
  101. package/dist/rest/rca.d.ts +13 -0
  102. package/dist/rest/rca.js +27 -0
  103. package/dist/rest/rca.js.map +1 -0
  104. package/dist/rest/test-sessions.d.ts +2 -0
  105. package/dist/rest/test-sessions.js.map +1 -1
  106. package/dist/services/check-parser/package-files/package-manager.d.ts +2 -0
  107. package/dist/services/check-parser/package-files/package-manager.js +8 -6
  108. package/dist/services/check-parser/package-files/package-manager.js.map +1 -1
  109. package/dist/services/test-runner.d.ts +2 -1
  110. package/dist/services/test-runner.js +4 -1
  111. package/dist/services/test-runner.js.map +1 -1
  112. package/dist/services/trigger-runner.d.ts +2 -1
  113. package/dist/services/trigger-runner.js +4 -1
  114. package/dist/services/trigger-runner.js.map +1 -1
  115. package/dist/services/util.js +1 -1
  116. package/dist/services/util.js.map +1 -1
  117. package/dist/tsconfig.tsbuildinfo +1 -1
  118. package/oclif.manifest.json +309 -141
  119. package/package.json +4 -1
@@ -11,7 +11,7 @@
11
11
 
12
12
  - Use `npx checkly` instead of installing the Checkly CLI globally.
13
13
  - NEVER make up commands that do not exist.
14
- - Use `npm create checkly@latest` to set up a new Checkly project via the CLI.
14
+ - Use `npx checkly init` to set up Checkly in an existing project.
15
15
 
16
16
  ## Project Structure
17
17
 
@@ -115,6 +115,14 @@ Email (`EmailAlertChannel`), Phone (`PhoneCallAlertChannel`), and Slack (`SlackA
115
115
  ### `npx checkly skills configure supporting-constructs`
116
116
  Status pages (`StatusPage`), dashboards (`Dashboard`), maintenance windows (`MaintenanceWindow`), and private locations (`PrivateLocation`)
117
117
 
118
+ ## Important: Public URL Requirement
119
+
120
+ All checks (API, Browser, URL monitors) run on **Checkly's cloud infrastructure**, not on the user's local machine. Target URLs must be publicly accessible from the internet.
121
+
122
+ - `localhost` and private network URLs will **not work** with `npx checkly test` or `npx checkly deploy`
123
+ - For local development, suggest: tunneling tools (ngrok, cloudflare tunnel), preview/staging deployments, or CI preview URLs
124
+ - Always confirm with the user that their target URLs are publicly reachable before creating checks
125
+
118
126
  ## Check Locations and Plan Entitlements
119
127
 
120
128
  Not all features and locations are available on all plans. **Before configuring checks, run:**
@@ -134,12 +142,14 @@ Run `npx checkly skills manage plan` for the full reference.
134
142
  ### API Checks
135
143
 
136
144
  - Import the `ApiCheck` construct from `checkly/constructs`.
137
- - When adding `assertions`, always use `AssertionBuilder` class for API Checks.
145
+ - When adding `assertions`, always use `AssertionBuilder` class for API Checks. Import it from `checkly/constructs`.
138
146
  - When referencing environment variables always use the handlebar syntax `{{MY_ENV_VAR}}`.
139
147
  - When referencing secrets always use the handlebar syntax `{{MY_SECRET}}`.
140
148
  - If endpoints require authentication ask the user which authentication method to use and then generate a setupScript to authenticate the given requests.
141
149
  - Referenced `setup-script.ts` and `teardown-script.ts` for API checks must be plain ts files and not export anything.
142
150
  - Check in the code if API endpoints require authentication.
151
+ - **Important:** The target URL must be publicly accessible. Checks run on Checkly's cloud infrastructure, not locally. If the user is developing against localhost, suggest a tunneling tool (ngrok, cloudflare tunnel) or a preview/staging deployment.
152
+ - **Plan-gated properties:** `retryStrategy`, `runParallel`, and higher frequencies may not be available on all plans. Check entitlements matching `API_CHECKS_*` before using these. Omit any property whose entitlement is disabled. See `npx checkly skills manage` for details.
143
153
 
144
154
  **Reference:** https://www.checklyhq.com/docs/constructs/api-check/
145
155
 
@@ -169,12 +179,7 @@ new ApiCheck('example-api-check', {
169
179
  enabled: false,
170
180
  percentage: 10,
171
181
  }),
172
- retryStrategy: RetryStrategyBuilder.linearStrategy({
173
- baseBackoffSeconds: 60,
174
- maxRetries: 2,
175
- maxDurationSeconds: 600,
176
- sameRegion: true,
177
- }),
182
+ retryStrategy: RetryStrategyBuilder.noRetries(),
178
183
  runParallel: true,
179
184
  request: {
180
185
  url: 'INSERT_URL',
@@ -183,6 +188,18 @@ new ApiCheck('example-api-check', {
183
188
  })
184
189
  ```
185
190
 
191
+ #### AssertionBuilder Reference
192
+
193
+ `AssertionBuilder` provides methods to assert on API responses. Available methods:
194
+
195
+ - `AssertionBuilder.statusCode()` — Assert on HTTP status code. Example: `.equals(200)`, `.isGreaterThan(199)`
196
+ - `AssertionBuilder.jsonBody(path)` — Assert on JSON body using JSONPath. Example: `AssertionBuilder.jsonBody('$.id').isNotNull()`
197
+ - `AssertionBuilder.textBody()` — Assert on raw text body. Example: `.contains('OK')`
198
+ - `AssertionBuilder.headers(name)` — Assert on response headers. Example: `AssertionBuilder.headers('content-type').contains('application/json')`
199
+ - `AssertionBuilder.responseTime()` — Assert on response time in ms. Example: `.isLessThan(2000)`
200
+
201
+ Each method returns a chainable builder with comparison methods: `.equals()`, `.notEquals()`, `.contains()`, `.notContains()`, `.isGreaterThan()`, `.isLessThan()`, `.isEmpty()`, `.isNotEmpty()`, `.isNull()`, `.isNotNull()`
202
+
186
203
  #### Authentication Setup Scripts for API Checks
187
204
 
188
205
  - Setup scripts should be flat scripts, no functions, no exports, they will be executed straight by Checkly.
@@ -195,6 +212,8 @@ new ApiCheck('example-api-check', {
195
212
  - Import the `BrowserCheck` construct from `checkly/constructs`.
196
213
  - Generate a separate `.spec.ts` file for the Playwright code referenced in the `BrowserCheck` construct.
197
214
  - Use the `code.entrypoint` property to specify the path to your Playwright test file.
215
+ - **Important:** The target URL must be publicly accessible — checks run on Checkly's cloud, not locally.
216
+ - **Plan-gated properties:** `retryStrategy`, `runParallel`, and higher frequencies may not be available on all plans. Check entitlements matching `BROWSER_CHECKS_*` before using these. Omit any property whose entitlement is disabled. See `npx checkly skills manage` for details.
198
217
 
199
218
  **Reference:** https://www.checklyhq.com/docs/constructs/browser-check/
200
219
 
@@ -219,12 +238,7 @@ new BrowserCheck('example-browser-check', {
219
238
  enabled: false,
220
239
  percentage: 10,
221
240
  }),
222
- retryStrategy: RetryStrategyBuilder.linearStrategy({
223
- baseBackoffSeconds: 60,
224
- maxRetries: 2,
225
- maxDurationSeconds: 600,
226
- sameRegion: true,
227
- }),
241
+ retryStrategy: RetryStrategyBuilder.noRetries(),
228
242
  runParallel: true,
229
243
  })
230
244
  ```
@@ -287,6 +301,7 @@ new MultiStepCheck('example-multi-step-check', {
287
301
 
288
302
  - Import the `TcpMonitor` construct from `checkly/constructs`.
289
303
  - When adding `assertions`, always use `TcpAssertionBuilder` class for TCP monitors.
304
+ - **Plan-gated properties:** `retryStrategy`, `runParallel`, and higher frequencies are not available on all plans. Check entitlements matching `UPTIME_CHECKS_*` before using these. Omit any property whose entitlement is disabled. See `npx checkly skills manage` for details.
290
305
 
291
306
  **Reference:** https://www.checklyhq.com/docs/constructs/tcp-monitor/
292
307
 
@@ -310,12 +325,7 @@ new TcpMonitor('example-tcp-monitor', {
310
325
  enabled: false,
311
326
  percentage: 10,
312
327
  }),
313
- retryStrategy: RetryStrategyBuilder.linearStrategy({
314
- baseBackoffSeconds: 60,
315
- maxRetries: 2,
316
- maxDurationSeconds: 600,
317
- sameRegion: true,
318
- }),
328
+ retryStrategy: RetryStrategyBuilder.noRetries(),
319
329
  runParallel: true,
320
330
  request: {
321
331
  hostname: 'INSERT_HOSTNAME',
@@ -333,6 +343,8 @@ new TcpMonitor('example-tcp-monitor', {
333
343
 
334
344
  - Import the `UrlMonitor` construct from `checkly/constructs`.
335
345
  - When adding `assertions`, always use `UrlAssertionBuilder`.
346
+ - **Important:** The target URL must be publicly accessible — checks run on Checkly's cloud, not locally.
347
+ - **Plan-gated properties:** `retryStrategy`, `runParallel`, and higher frequencies are not available on all plans. Check entitlements matching `UPTIME_CHECKS_*` before using these. Omit any property whose entitlement is disabled — Checkly applies safe defaults. See `npx checkly skills manage` for details.
336
348
 
337
349
  **Reference:** https://www.checklyhq.com/docs/constructs/url-monitor/
338
350
 
@@ -354,12 +366,7 @@ new UrlMonitor('example-url-monitor', {
354
366
  enabled: false,
355
367
  percentage: 10,
356
368
  }),
357
- retryStrategy: RetryStrategyBuilder.linearStrategy({
358
- baseBackoffSeconds: 60,
359
- maxRetries: 2,
360
- maxDurationSeconds: 600,
361
- sameRegion: true,
362
- }),
369
+ retryStrategy: RetryStrategyBuilder.noRetries(),
363
370
  runParallel: true,
364
371
  degradedResponseTime: 5000,
365
372
  maxResponseTime: 20000,
@@ -378,6 +385,7 @@ new UrlMonitor('example-url-monitor', {
378
385
  - Import the `DnsMonitor` construct from `checkly/constructs`.
379
386
  - Reference [the docs for DNS monitors](https://www.checklyhq.com/docs/constructs/dns-monitor/) before generating any code.
380
387
  - When adding `assertions`, always use `DnsAssertionBuilder` class.
388
+ - **Plan-gated properties:** `retryStrategy`, `runParallel`, and higher frequencies are not available on all plans. Check entitlements matching `UPTIME_CHECKS_*` before using these. Omit any property whose entitlement is disabled. See `npx checkly skills manage` for details.
381
389
 
382
390
  **Reference:** https://www.checklyhq.com/docs/constructs/dns-monitor/
383
391
 
@@ -419,6 +427,7 @@ new DnsMonitor('example-dns-monitor', {
419
427
  - When adding `assertions`, always use `IcmpAssertionBuilder` class.
420
428
  - Latency assertions require a property parameter: `'avg'`, `'min'`, `'max'`, or `'stdDev'`.
421
429
  - Use `degradedPacketLossThreshold` and `maxPacketLossThreshold` for packet loss thresholds (percentages).
430
+ - **Plan-gated properties:** `retryStrategy`, `runParallel`, and higher frequencies are not available on all plans. Check entitlements matching `UPTIME_CHECKS_*` before using these. Omit any property whose entitlement is disabled. See `npx checkly skills manage` for details.
422
431
 
423
432
  **Reference:** https://www.checklyhq.com/docs/constructs/icmp-monitor/
424
433
 
@@ -478,12 +487,7 @@ new HeartbeatMonitor('example-heartbeat-monitor', {
478
487
  enabled: false,
479
488
  percentage: 10,
480
489
  }),
481
- retryStrategy: RetryStrategyBuilder.linearStrategy({
482
- baseBackoffSeconds: 60,
483
- maxRetries: 2,
484
- maxDurationSeconds: 600,
485
- sameRegion: true,
486
- }),
490
+ retryStrategy: RetryStrategyBuilder.noRetries(),
487
491
  runParallel: true,
488
492
  })
489
493
  ```
@@ -0,0 +1,22 @@
1
+ import { ApiCheck, AssertionBuilder } from 'checkly/constructs'
2
+
3
+ // API checks send an HTTP request to a URL endpoint and validate the response. Read more at:
4
+ // https://www.checklyhq.com/docs/api-checks/
5
+
6
+ new ApiCheck('books-api-check-1', {
7
+ name: 'Books API',
8
+ alertChannels: [],
9
+ degradedResponseTime: 10000, // milliseconds
10
+ maxResponseTime: 20000,
11
+ request: {
12
+ url: 'https://danube-web.shop/api/books',
13
+ method: 'GET',
14
+ followRedirects: true,
15
+ skipSSL: false,
16
+ assertions: [
17
+ AssertionBuilder.statusCode().equals(200),
18
+ AssertionBuilder.jsonBody('$[0].id').isNotNull(),
19
+ ],
20
+ },
21
+ runParallel: false,
22
+ })
@@ -0,0 +1,16 @@
1
+ import { HeartbeatMonitor } from 'checkly/constructs'
2
+
3
+ // Heartbeat monitors allow you to monitor jobs or recurring tasks.
4
+ // After you deploy this check, you'll get a ping URL for your check
5
+ // from the Checkly CLI. This check will generate alerts if it's not
6
+ // getting pings at the generated URL, so it's deactivated for now.
7
+ // Further documentation: https://www.checklyhq.com/docs/heartbeat-monitors/
8
+
9
+ new HeartbeatMonitor('heartbeat-1', {
10
+ name: 'Send weekly newsletter job',
11
+ activated: false,
12
+ period: 1,
13
+ periodUnit: 'hours',
14
+ grace: 30,
15
+ graceUnit: 'minutes',
16
+ })
@@ -0,0 +1,12 @@
1
+ import { test, expect } from '@playwright/test'
2
+
3
+ // This test is being used as a Browser check
4
+ // See browserCheck.testMatch in your checkly.config.ts to configure
5
+
6
+ test('Visit webshop homepage', async ({ page }) => {
7
+ // The baseURL for Browser checks can be set in the playwrightConfig of your checkly.config.ts
8
+ const response = await page.goto('/')
9
+ expect(response?.status()).toBeLessThan(400)
10
+ await expect(page).toHaveTitle(/Danube WebShop/)
11
+ await page.screenshot({ path: 'homepage.jpg' })
12
+ })
@@ -0,0 +1,18 @@
1
+ import { UrlAssertionBuilder, UrlMonitor } from 'checkly/constructs'
2
+
3
+ // URL monitors check a URL endpoint for availability and response time. Read more at:
4
+ // https://www.checklyhq.com/docs/url-monitors/
5
+
6
+ new UrlMonitor('books-url-check', {
7
+ name: 'Books URL',
8
+ activated: true,
9
+ maxResponseTime: 10000,
10
+ degradedResponseTime: 5000,
11
+ request: {
12
+ url: 'https://www.danube-web.shop/',
13
+ followRedirects: true,
14
+ assertions: [
15
+ UrlAssertionBuilder.statusCode().equals(200),
16
+ ],
17
+ },
18
+ })
@@ -0,0 +1,50 @@
1
+ import { defineConfig } from 'checkly'
2
+
3
+ /**
4
+ * See https://www.checklyhq.com/docs/cli/project-structure/
5
+ */
6
+ const config = defineConfig({
7
+ /* A human friendly name for your project */
8
+ projectName: '{{projectName}}',
9
+ /** A logical ID that needs to be unique across your Checkly account,
10
+ * See https://www.checklyhq.com/docs/cli/constructs/ to learn more about logical IDs.
11
+ */
12
+ logicalId: '{{logicalId}}',
13
+ /* Sets default values for Checks */
14
+ checks: {
15
+ /* A default for how often your Check should run in minutes */
16
+ frequency: 10,
17
+ /* Checkly data centers to run your Checks as monitors */
18
+ locations: ['us-east-1', 'eu-central-1'],
19
+ /** The Checkly Runtime identifier, determining npm packages and the Node.js version available at runtime.
20
+ * See https://www.checklyhq.com/docs/cli/npm-packages/
21
+ */
22
+ runtimeId: '2025.04',
23
+ /* A glob pattern that matches the Checks inside your repo, see https://www.checklyhq.com/docs/constructs/including-checks/#checks-checkmatch */
24
+ checkMatch: '**/__checks__/**/*.check.ts',
25
+ /* Global configuration option for Browser and Multistep checks. See https://www.checklyhq.com/docs/browser-checks/playwright-test/#global-configuration */
26
+ playwrightConfig: {
27
+ timeout: 30000,
28
+ use: {
29
+ baseURL: 'https://www.danube-web.shop',
30
+ viewport: { width: 1280, height: 720 },
31
+ },
32
+ },
33
+ browserChecks: {
34
+ /* A glob pattern matches any Playwright .spec.ts files and automagically creates a Browser Check. This way, you
35
+ * can just write Playwright code. See https://www.checklyhq.com/docs/constructs/including-checks/#browserchecks-testmatch
36
+ * */
37
+ testMatch: '**/__checks__/**/*.spec.ts',
38
+ },
39
+ },
40
+ cli: {
41
+ /* The default datacenter location to use when running npx checkly test */
42
+ runLocation: 'eu-central-1',
43
+ /* An array of default reporters to use when a reporter is not specified with the "--reporter" flag */
44
+ reporters: ['list'],
45
+ /* How many times to retry a failing test run when running `npx checkly test` or `npx checkly trigger` (max. 3) */
46
+ retries: 0,
47
+ },
48
+ })
49
+
50
+ export default config
@@ -0,0 +1 @@
1
+ Initialize Checkly in this project at {{projectPath}}. Set up monitoring checks tailored to this codebase — look at the project structure, existing tests, and endpoints to create relevant API checks, browser checks, or URL monitors.
@@ -0,0 +1 @@
1
+ Initialize Checkly in this project at {{projectPath}}. I already have a Playwright test suite with a config at {{playwrightConfigPath}} — analyze them to identify what can be reused as a Checkly Playwright Check Suites to monitor critical flows of my application. Also inspect the project structure and endpoints for relevant API checks or URL monitors.
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  name: checkly
3
3
  description: Set up, create, test and manage monitoring checks using the Checkly CLI. Use when working with API Checks, Browser Checks, URL Monitors, ICMP Monitors, Playwright Check Suites, Heartbeat Monitors, Alert Channels, Dashboards, or Status Pages.
4
- allowed-tools: Bash(npx:checkly:*) Bash(npm:create:checkly@latest) Bash(npm:install:*)
4
+ allowed-tools: Bash(npx:checkly:*) Bash(npm:install:*)
5
5
  metadata:
6
6
  author: checkly
7
7
  ---
@@ -1,12 +1,14 @@
1
1
  # API Checks
2
2
 
3
3
  - Import the `ApiCheck` construct from `checkly/constructs`.
4
- - When adding `assertions`, always use `AssertionBuilder` class for API Checks.
4
+ - When adding `assertions`, always use `AssertionBuilder` class for API Checks. Import it from `checkly/constructs`.
5
5
  - When referencing environment variables always use the handlebar syntax `{{MY_ENV_VAR}}`.
6
6
  - When referencing secrets always use the handlebar syntax `{{MY_SECRET}}`.
7
7
  - If endpoints require authentication ask the user which authentication method to use and then generate a setupScript to authenticate the given requests.
8
8
  - Referenced `setup-script.ts` and `teardown-script.ts` for API checks must be plain ts files and not export anything.
9
9
  - Check in the code if API endpoints require authentication.
10
+ - **Important:** The target URL must be publicly accessible. Checks run on Checkly's cloud infrastructure, not locally. If the user is developing against localhost, suggest a tunneling tool (ngrok, cloudflare tunnel) or a preview/staging deployment.
11
+ - **Plan-gated properties:** `retryStrategy`, `runParallel`, and higher frequencies may not be available on all plans. Check entitlements matching `API_CHECKS_*` before using these. Omit any property whose entitlement is disabled. See `npx checkly skills manage` for details.
10
12
 
11
13
  **Reference:** https://www.checklyhq.com/docs/constructs/api-check/
12
14
 
@@ -36,12 +38,7 @@ new ApiCheck('example-api-check', {
36
38
  enabled: false,
37
39
  percentage: 10,
38
40
  }),
39
- retryStrategy: RetryStrategyBuilder.linearStrategy({
40
- baseBackoffSeconds: 60,
41
- maxRetries: 2,
42
- maxDurationSeconds: 600,
43
- sameRegion: true,
44
- }),
41
+ retryStrategy: RetryStrategyBuilder.noRetries(),
45
42
  runParallel: true,
46
43
  request: {
47
44
  url: 'INSERT_URL',
@@ -50,6 +47,18 @@ new ApiCheck('example-api-check', {
50
47
  })
51
48
  ```
52
49
 
50
+ ## AssertionBuilder Reference
51
+
52
+ `AssertionBuilder` provides methods to assert on API responses. Available methods:
53
+
54
+ - `AssertionBuilder.statusCode()` — Assert on HTTP status code. Example: `.equals(200)`, `.isGreaterThan(199)`
55
+ - `AssertionBuilder.jsonBody(path)` — Assert on JSON body using JSONPath. Example: `AssertionBuilder.jsonBody('$.id').isNotNull()`
56
+ - `AssertionBuilder.textBody()` — Assert on raw text body. Example: `.contains('OK')`
57
+ - `AssertionBuilder.headers(name)` — Assert on response headers. Example: `AssertionBuilder.headers('content-type').contains('application/json')`
58
+ - `AssertionBuilder.responseTime()` — Assert on response time in ms. Example: `.isLessThan(2000)`
59
+
60
+ Each method returns a chainable builder with comparison methods: `.equals()`, `.notEquals()`, `.contains()`, `.notContains()`, `.isGreaterThan()`, `.isLessThan()`, `.isEmpty()`, `.isNotEmpty()`, `.isNull()`, `.isNotNull()`
61
+
53
62
  ## Authentication Setup Scripts for API Checks
54
63
 
55
64
  - Setup scripts should be flat scripts, no functions, no exports, they will be executed straight by Checkly.
@@ -3,6 +3,8 @@
3
3
  - Import the `BrowserCheck` construct from `checkly/constructs`.
4
4
  - Generate a separate `.spec.ts` file for the Playwright code referenced in the `BrowserCheck` construct.
5
5
  - Use the `code.entrypoint` property to specify the path to your Playwright test file.
6
+ - **Important:** The target URL must be publicly accessible — checks run on Checkly's cloud, not locally.
7
+ - **Plan-gated properties:** `retryStrategy`, `runParallel`, and higher frequencies may not be available on all plans. Check entitlements matching `BROWSER_CHECKS_*` before using these. Omit any property whose entitlement is disabled. See `npx checkly skills manage` for details.
6
8
 
7
9
  **Reference:** https://www.checklyhq.com/docs/constructs/browser-check/
8
10
 
@@ -27,12 +29,7 @@ new BrowserCheck('example-browser-check', {
27
29
  enabled: false,
28
30
  percentage: 10,
29
31
  }),
30
- retryStrategy: RetryStrategyBuilder.linearStrategy({
31
- baseBackoffSeconds: 60,
32
- maxRetries: 2,
33
- maxDurationSeconds: 600,
34
- sameRegion: true,
35
- }),
32
+ retryStrategy: RetryStrategyBuilder.noRetries(),
36
33
  runParallel: true,
37
34
  })
38
35
  ```
@@ -3,6 +3,7 @@
3
3
  - Import the `DnsMonitor` construct from `checkly/constructs`.
4
4
  - Reference [the docs for DNS monitors](https://www.checklyhq.com/docs/constructs/dns-monitor/) before generating any code.
5
5
  - When adding `assertions`, always use `DnsAssertionBuilder` class.
6
+ - **Plan-gated properties:** `retryStrategy`, `runParallel`, and higher frequencies are not available on all plans. Check entitlements matching `UPTIME_CHECKS_*` before using these. Omit any property whose entitlement is disabled. See `npx checkly skills manage` for details.
6
7
 
7
8
  **Reference:** https://www.checklyhq.com/docs/constructs/dns-monitor/
8
9
 
@@ -22,12 +22,7 @@ new HeartbeatMonitor('example-heartbeat-monitor', {
22
22
  enabled: false,
23
23
  percentage: 10,
24
24
  }),
25
- retryStrategy: RetryStrategyBuilder.linearStrategy({
26
- baseBackoffSeconds: 60,
27
- maxRetries: 2,
28
- maxDurationSeconds: 600,
29
- sameRegion: true,
30
- }),
25
+ retryStrategy: RetryStrategyBuilder.noRetries(),
31
26
  runParallel: true,
32
27
  })
33
28
  ```
@@ -5,6 +5,7 @@
5
5
  - When adding `assertions`, always use `IcmpAssertionBuilder` class.
6
6
  - Latency assertions require a property parameter: `'avg'`, `'min'`, `'max'`, or `'stdDev'`.
7
7
  - Use `degradedPacketLossThreshold` and `maxPacketLossThreshold` for packet loss thresholds (percentages).
8
+ - **Plan-gated properties:** `retryStrategy`, `runParallel`, and higher frequencies are not available on all plans. Check entitlements matching `UPTIME_CHECKS_*` before using these. Omit any property whose entitlement is disabled. See `npx checkly skills manage` for details.
8
9
 
9
10
  **Reference:** https://www.checklyhq.com/docs/constructs/icmp-monitor/
10
11
 
@@ -2,6 +2,7 @@
2
2
 
3
3
  - Import the `TcpMonitor` construct from `checkly/constructs`.
4
4
  - When adding `assertions`, always use `TcpAssertionBuilder` class for TCP monitors.
5
+ - **Plan-gated properties:** `retryStrategy`, `runParallel`, and higher frequencies are not available on all plans. Check entitlements matching `UPTIME_CHECKS_*` before using these. Omit any property whose entitlement is disabled. See `npx checkly skills manage` for details.
5
6
 
6
7
  **Reference:** https://www.checklyhq.com/docs/constructs/tcp-monitor/
7
8
 
@@ -25,12 +26,7 @@ new TcpMonitor('example-tcp-monitor', {
25
26
  enabled: false,
26
27
  percentage: 10,
27
28
  }),
28
- retryStrategy: RetryStrategyBuilder.linearStrategy({
29
- baseBackoffSeconds: 60,
30
- maxRetries: 2,
31
- maxDurationSeconds: 600,
32
- sameRegion: true,
33
- }),
29
+ retryStrategy: RetryStrategyBuilder.noRetries(),
34
30
  runParallel: true,
35
31
  request: {
36
32
  hostname: 'INSERT_HOSTNAME',
@@ -2,6 +2,8 @@
2
2
 
3
3
  - Import the `UrlMonitor` construct from `checkly/constructs`.
4
4
  - When adding `assertions`, always use `UrlAssertionBuilder`.
5
+ - **Important:** The target URL must be publicly accessible — checks run on Checkly's cloud, not locally.
6
+ - **Plan-gated properties:** `retryStrategy`, `runParallel`, and higher frequencies are not available on all plans. Check entitlements matching `UPTIME_CHECKS_*` before using these. Omit any property whose entitlement is disabled — Checkly applies safe defaults. See `npx checkly skills manage` for details.
5
7
 
6
8
  **Reference:** https://www.checklyhq.com/docs/constructs/url-monitor/
7
9
 
@@ -23,12 +25,7 @@ new UrlMonitor('example-url-monitor', {
23
25
  enabled: false,
24
26
  percentage: 10,
25
27
  }),
26
- retryStrategy: RetryStrategyBuilder.linearStrategy({
27
- baseBackoffSeconds: 60,
28
- maxRetries: 2,
29
- maxDurationSeconds: 600,
30
- sameRegion: true,
31
- }),
28
+ retryStrategy: RetryStrategyBuilder.noRetries(),
32
29
  runParallel: true,
33
30
  degradedResponseTime: 5000,
34
31
  maxResponseTime: 20000,
@@ -11,7 +11,7 @@
11
11
 
12
12
  - Use `npx checkly` instead of installing the Checkly CLI globally.
13
13
  - NEVER make up commands that do not exist.
14
- - Use `npm create checkly@latest` to set up a new Checkly project via the CLI.
14
+ - Use `npx checkly init` to set up Checkly in an existing project.
15
15
 
16
16
  ## Project Structure
17
17
 
@@ -115,6 +115,14 @@ Email (`EmailAlertChannel`), Phone (`PhoneCallAlertChannel`), and Slack (`SlackA
115
115
  ### `npx checkly skills configure supporting-constructs`
116
116
  Status pages (`StatusPage`), dashboards (`Dashboard`), maintenance windows (`MaintenanceWindow`), and private locations (`PrivateLocation`)
117
117
 
118
+ ## Important: Public URL Requirement
119
+
120
+ All checks (API, Browser, URL monitors) run on **Checkly's cloud infrastructure**, not on the user's local machine. Target URLs must be publicly accessible from the internet.
121
+
122
+ - `localhost` and private network URLs will **not work** with `npx checkly test` or `npx checkly deploy`
123
+ - For local development, suggest: tunneling tools (ngrok, cloudflare tunnel), preview/staging deployments, or CI preview URLs
124
+ - Always confirm with the user that their target URLs are publicly reachable before creating checks
125
+
118
126
  ## Check Locations and Plan Entitlements
119
127
 
120
128
  Not all features and locations are available on all plans. **Before configuring checks, run:**
@@ -16,18 +16,18 @@ If any pre-flight check fails, help the user fix it before proceeding.
16
16
 
17
17
  Ask the user which setup method they prefer:
18
18
 
19
- - **Option A: Scaffold with CLI** — Run `npm create checkly@latest` to generate a complete example project interactively. The CLI handles everything: project name, directory, dependencies, sample checks, and config. This is the fastest way to get started.
20
- - **Option B: AI-first (Experimental)** — Generate the project structure and checks from scratch using this skill. Best when the user already knows what they want to monitor and prefers a tailored setup without example boilerplate.
19
+ - **Option A: Initialize with CLI** — Run `npx checkly init` to set up Checkly in the project. The CLI handles skill installation, dependencies, configuration, and optionally creates demo checks. This is the fastest way to get started.
20
+ - **Option B: AI-first** — Generate the project structure and checks from scratch using this skill. Best when the user already knows what they want to monitor and prefers a tailored setup.
21
21
 
22
- ### Option A: Scaffold with CLI
22
+ ### Option A: Initialize with CLI
23
23
 
24
24
  Run the following command:
25
25
 
26
26
  ```bash
27
- npm create checkly@latest
27
+ npx checkly init
28
28
  ```
29
29
 
30
- The CLI will interactively handle the entire setup — project name, location, dependencies, example checks, and configuration. No further steps are needed. Setup is complete once the CLI finishes.
30
+ The CLI will guide you through skill installation, configuration, and dependency setup. Once finished, setup is complete.
31
31
 
32
32
  ### Option B: AI-first
33
33
 
@@ -114,10 +114,10 @@ npx checkly whoami
114
114
 
115
115
  If the user is logged in, verify the information and if it's the correct account.
116
116
 
117
- If the user is NOT logged in, present two options:
117
+ If the user is NOT logged in, present two options (lead with env vars — they work for agents, CI, and interactive use):
118
118
 
119
- - **Option A: Interactive login** — The user runs `npx checkly login` themselves. This command opens a browser for OAuth authentication and cannot be completed by an AI agent. Tell the user to run the command, complete the browser flow, and let you know when they're done so you can re-run `npx checkly whoami` to verify.
120
- - **Option B: Environment variables (recommended for agentic / CI use)** — The user sets `CHECKLY_API_KEY` and `CHECKLY_ACCOUNT_ID` as environment variables. They can create an API key in the Checkly dashboard under **User Settings > API Keys**. Once both variables are set, re-run `npx checkly whoami` to verify.
119
+ - **Option A: Environment variables (recommended)** — The user sets `CHECKLY_API_KEY` and `CHECKLY_ACCOUNT_ID` as environment variables. They can create an API key at https://app.checklyhq.com/accounts/settings/user/api-keys. This is the recommended approach as it works in all contexts (agentic, CI/CD, and interactive). Once both variables are set, re-run `npx checkly whoami` to verify.
120
+ - **Option B: Interactive login** — The user runs `npx checkly login` themselves. This command opens a browser for OAuth authentication and **cannot be completed by an AI agent**. Tell the user to run the command, complete the browser flow, and let you know when they're done so you can re-run `npx checkly whoami` to verify.
121
121
 
122
122
  #### Step 6: Summarize and test the new monitoring configuration
123
123
 
@@ -19,6 +19,29 @@ This returns your entitlements (enabled/disabled with limits), available locatio
19
19
  - **Respect metered limits** (e.g. max browser checks, max alert channels)
20
20
  - **Surface upgrade paths** when a feature is disabled — each disabled entitlement includes an `upgradeUrl` pointing to the self-service checkout or the contact sales page
21
21
 
22
+ ## Applying entitlements to check configuration
23
+
24
+ Entitlement keys follow the pattern `{CHECK_TYPE}_{FEATURE}` — match them to the check type you're configuring. Before setting any property on a check construct, find the corresponding entitlement and verify it's enabled.
25
+
26
+ **Common plan-gated properties that agents get wrong on first setup:**
27
+
28
+ | Check property | Entitlement pattern to search | What to do if disabled |
29
+ |---|---|---|
30
+ | `retryStrategy` | `*_RETRY_STRATEGY_*` and `*_MAX_RETRIES_*` for your check type | Omit `retryStrategy` entirely, or use only `NO_RETRY` |
31
+ | `runParallel` | `*_SCHEDULING_STRATEGY_PARALLEL` for your check type | Omit `runParallel` or set to `false` (use round-robin) |
32
+ | `frequency` | `*_FREQ_*` for your check type | Use only frequencies where the entitlement is enabled |
33
+ | `locations` | `locations.all` array | Use only locations where `available` is `true` |
34
+ | `privateLocation` | `PRIVATE_LOCATIONS` | Only available on Team plan and above |
35
+
36
+ **How to check:** Use `--search` to narrow entitlements for the check type you're configuring:
37
+
38
+ ```bash
39
+ npx checkly account plan --output json --search "uptime"
40
+ npx checkly account plan --disabled --search "retry"
41
+ ```
42
+
43
+ **When a feature is disabled:** Do not use it. Omit the property from the construct — Checkly will apply safe defaults. If the user needs the feature, share the `upgradeUrl` from the entitlement.
44
+
22
45
  ## Available Commands
23
46
 
24
47
  Parse and read further reference documentation for any of the following:
@@ -8,6 +8,7 @@ export declare abstract class AuthCommand extends BaseCommand {
8
8
  protected init(): Promise<any>;
9
9
  protected confirmOrAbort(preview: CommandPreview, options: {
10
10
  force: boolean;
11
- dryRun: boolean;
11
+ dryRun?: boolean;
12
+ interactiveConfirm?: () => Promise<boolean>;
12
13
  }): Promise<void>;
13
14
  }
@@ -42,7 +42,7 @@ class AuthCommand extends baseCommand_1.BaseCommand {
42
42
  return this.#account;
43
43
  }
44
44
  async init() {
45
- super.init();
45
+ await super.init();
46
46
  this.#account = await api.validateAuthentication();
47
47
  }
48
48
  async confirmOrAbort(preview, options) {
@@ -62,12 +62,10 @@ class AuthCommand extends baseCommand_1.BaseCommand {
62
62
  if (mode === 'interactive') {
63
63
  this.log((0, command_preview_1.formatPreviewForTerminal)(preview));
64
64
  this.log();
65
- const { confirm } = await (0, prompts_1.default)({
66
- name: 'confirm',
67
- type: 'confirm',
68
- message: 'Proceed?',
69
- });
70
- if (!confirm) {
65
+ const confirmed = options.interactiveConfirm
66
+ ? await options.interactiveConfirm()
67
+ : (await (0, prompts_1.default)({ name: 'confirm', type: 'confirm', message: 'Proceed?' })).confirm;
68
+ if (!confirmed) {
71
69
  return this.exit(0);
72
70
  }
73
71
  return;
@@ -1 +1 @@
1
- {"version":3,"file":"authCommand.js","sourceRoot":"","sources":["../../src/commands/authCommand.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,sDAA6B;AAC7B,+CAA2C;AAC3C,iDAAkC;AAElC,kDAAmD;AAEnD,gEAA4F;AAE5F,MAAsB,WAAY,SAAQ,yBAAW;IACnD,MAAM,CAAC,MAAM,GAAG,IAAI,CAAA;IAEpB,QAAQ,CAAU;IAElB,IAAI,OAAO;QACT,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;YAChC,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAA;QAC1D,CAAC;QAED,OAAO,IAAI,CAAC,QAAQ,CAAA;IACtB,CAAC;IAES,KAAK,CAAC,IAAI;QAClB,KAAK,CAAC,IAAI,EAAE,CAAA;QACZ,IAAI,CAAC,QAAQ,GAAG,MAAM,GAAG,CAAC,sBAAsB,EAAE,CAAA;IACpD,CAAC;IAES,KAAK,CAAC,cAAc,CAC5B,OAAuB,EACvB,OAA4C;QAE5C,MAAM,YAAY,GAAG,IAAI,CAAC,WAAiC,CAAA;QAE3D,sEAAsE;QACtE,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;YACnB,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,IAAA,uCAAqB,EAAC,OAAO,EAAE,SAAS,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAA;YAC5E,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACrB,CAAC;QAED,6CAA6C;QAC7C,IAAI,YAAY,CAAC,QAAQ;YAAE,OAAM;QAEjC,6BAA6B;QAC7B,IAAI,OAAO,CAAC,KAAK;YAAE,OAAM;QAEzB,MAAM,IAAI,GAAG,IAAA,wBAAa,GAAE,CAAA;QAE5B,IAAI,IAAI,KAAK,aAAa,EAAE,CAAC;YAC3B,IAAI,CAAC,GAAG,CAAC,IAAA,0CAAwB,EAAC,OAAO,CAAC,CAAC,CAAA;YAC3C,IAAI,CAAC,GAAG,EAAE,CAAA;YACV,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,IAAA,iBAAO,EAAC;gBAChC,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,SAAS;gBACf,OAAO,EAAE,UAAU;aACpB,CAAC,CAAA;YACF,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;YACrB,CAAC;YACD,OAAM;QACR,CAAC;QAED,sDAAsD;QACtD,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,IAAA,uCAAqB,EAAC,OAAO,EAAE,uBAAuB,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAA;QAC1F,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACrB,CAAC;;AAvDH,kCAwDC"}
1
+ {"version":3,"file":"authCommand.js","sourceRoot":"","sources":["../../src/commands/authCommand.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,sDAA6B;AAC7B,+CAA2C;AAC3C,iDAAkC;AAElC,kDAAmD;AAEnD,gEAA4F;AAE5F,MAAsB,WAAY,SAAQ,yBAAW;IACnD,MAAM,CAAC,MAAM,GAAG,IAAI,CAAA;IAEpB,QAAQ,CAAU;IAElB,IAAI,OAAO;QACT,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;YAChC,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAA;QAC1D,CAAC;QAED,OAAO,IAAI,CAAC,QAAQ,CAAA;IACtB,CAAC;IAES,KAAK,CAAC,IAAI;QAClB,MAAM,KAAK,CAAC,IAAI,EAAE,CAAA;QAClB,IAAI,CAAC,QAAQ,GAAG,MAAM,GAAG,CAAC,sBAAsB,EAAE,CAAA;IACpD,CAAC;IAES,KAAK,CAAC,cAAc,CAC5B,OAAuB,EACvB,OAA0F;QAE1F,MAAM,YAAY,GAAG,IAAI,CAAC,WAAiC,CAAA;QAE3D,sEAAsE;QACtE,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;YACnB,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,IAAA,uCAAqB,EAAC,OAAO,EAAE,SAAS,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAA;YAC5E,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACrB,CAAC;QAED,6CAA6C;QAC7C,IAAI,YAAY,CAAC,QAAQ;YAAE,OAAM;QAEjC,6BAA6B;QAC7B,IAAI,OAAO,CAAC,KAAK;YAAE,OAAM;QAEzB,MAAM,IAAI,GAAG,IAAA,wBAAa,GAAE,CAAA;QAE5B,IAAI,IAAI,KAAK,aAAa,EAAE,CAAC;YAC3B,IAAI,CAAC,GAAG,CAAC,IAAA,0CAAwB,EAAC,OAAO,CAAC,CAAC,CAAA;YAC3C,IAAI,CAAC,GAAG,EAAE,CAAA;YAEV,MAAM,SAAS,GAAG,OAAO,CAAC,kBAAkB;gBAC1C,CAAC,CAAC,MAAM,OAAO,CAAC,kBAAkB,EAAE;gBACpC,CAAC,CAAC,CAAC,MAAM,IAAA,iBAAO,EAAC,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,OAAO,CAAA;YAEtF,IAAI,CAAC,SAAS,EAAE,CAAC;gBACf,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;YACrB,CAAC;YACD,OAAM;QACR,CAAC;QAED,sDAAsD;QACtD,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,IAAA,uCAAqB,EAAC,OAAO,EAAE,uBAAuB,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAA;QAC1F,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACrB,CAAC;;AAvDH,kCAwDC"}
@@ -63,7 +63,6 @@ class BaseCommand extends core_1.Command {
63
63
  if (version === '0.0.1-dev' || version?.startsWith('0.0.0')) {
64
64
  try {
65
65
  const { data: packageInformation } = await axios_1.default.get('https://registry.npmjs.org/checkly/latest');
66
- this.log(`\nNotice: replacing version '${version}' with latest '${packageInformation.version}'. If you wish to test with a different version, please pass the CHECKLY_CLI_VERSION environment variable.\n`);
67
66
  version = packageInformation.version;
68
67
  }
69
68
  catch {
@@ -1 +1 @@
1
- {"version":3,"file":"baseCommand.js","sourceRoot":"","sources":["../../src/commands/baseCommand.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"baseCommand.js","sourceRoot":"","sources":["../../src/commands/baseCommand.ts"],"names":[],"mappings":"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"}