checkly 7.1.0 → 7.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/ai-context/checkly.rules.md +67 -78
- package/dist/ai-context/context.d.ts +37 -2
- package/dist/ai-context/context.js +62 -20
- package/dist/ai-context/context.js.map +1 -1
- package/dist/ai-context/skills/monitoring/README.md +13 -2
- package/dist/ai-context/skills/monitoring/SKILL.md +13 -560
- package/dist/ai-context/skills/monitoring/references/alert-channels.md +49 -0
- package/dist/ai-context/skills/monitoring/references/api-checks.md +58 -0
- package/dist/ai-context/skills/monitoring/references/browser-checks.md +38 -0
- package/dist/ai-context/skills/monitoring/references/check-groups.md +15 -0
- package/dist/ai-context/skills/monitoring/references/multistep-checks.md +33 -0
- package/dist/ai-context/skills/monitoring/references/playwright-checks.md +19 -0
- package/dist/ai-context/skills/monitoring/references/supporting-constructs.md +119 -0
- package/dist/ai-context/skills/monitoring/references/uptime-monitors.md +206 -0
- package/dist/commands/debug/parse-project.js +2 -2
- package/dist/commands/debug/parse-project.js.map +1 -1
- package/dist/commands/pw-test.js +2 -2
- package/dist/commands/pw-test.js.map +1 -1
- package/dist/constructs/api-check-codegen.js +1 -1
- package/dist/constructs/api-check-codegen.js.map +1 -1
- package/dist/constructs/api-check.js.map +1 -1
- package/dist/constructs/api-request-codegen.js +1 -1
- package/dist/constructs/api-request-codegen.js.map +1 -1
- package/dist/constructs/check-codegen.js +4 -4
- package/dist/constructs/check-codegen.js.map +1 -1
- package/dist/constructs/dns-monitor-codegen.js +1 -1
- package/dist/constructs/dns-monitor-codegen.js.map +1 -1
- package/dist/constructs/playwright-check.js +1 -2
- package/dist/constructs/playwright-check.js.map +1 -1
- package/dist/constructs/project.d.ts +1 -2
- package/dist/constructs/project.js +2 -2
- package/dist/constructs/project.js.map +1 -1
- package/dist/constructs/tcp-monitor-codegen.d.ts +1 -1
- package/dist/constructs/tcp-monitor-codegen.js +9 -9
- package/dist/constructs/tcp-monitor-codegen.js.map +1 -1
- package/dist/constructs/url-monitor-codegen.js +2 -2
- package/dist/constructs/url-monitor-codegen.js.map +1 -1
- package/dist/services/project-parser.d.ts +2 -2
- package/dist/services/project-parser.js +13 -9
- package/dist/services/project-parser.js.map +1 -1
- package/dist/services/util.d.ts +1 -1
- package/dist/services/util.js +14 -2
- package/dist/services/util.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/oclif.manifest.json +1 -1
- package/package.json +1 -1
|
@@ -7,10 +7,11 @@
|
|
|
7
7
|
- Import and / or require any constructs you need in your code, such as `ApiCheck`, `BrowserCheck`, or `PlaywrightCheck` from the `checkly/constructs` package.
|
|
8
8
|
- Always ground generated code and CLI commands against the official documentation and examples in this file.
|
|
9
9
|
|
|
10
|
-
##
|
|
10
|
+
## Using the Checkly CLI
|
|
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
15
|
|
|
15
16
|
## Project Structure
|
|
16
17
|
|
|
@@ -72,14 +73,16 @@ export default defineConfig({
|
|
|
72
73
|
|
|
73
74
|
## Check and Monitor Constructs
|
|
74
75
|
|
|
75
|
-
|
|
76
|
+
Parse and read further reference documentation when tasked with creating or managing any of the following Checkly constructs:
|
|
77
|
+
|
|
78
|
+
### API Checks
|
|
76
79
|
|
|
77
80
|
- Import the `ApiCheck` construct from `checkly/constructs`.
|
|
78
81
|
- When adding `assertions`, always use `AssertionBuilder` class for API Checks.
|
|
79
82
|
- When referencing environment variables always use the handlebar syntax `{{MY_ENV_VAR}}`.
|
|
80
83
|
- When referencing secrets always use the handlebar syntax `{{MY_SECRET}}`.
|
|
81
84
|
- If endpoints require authentication ask the user which authentication method to use and then generate a setupScript to authenticate the given requests.
|
|
82
|
-
- Referenced `
|
|
85
|
+
- Referenced `setup-script.ts` and `teardown-script.ts` for API checks must be plain ts files and not export anything.
|
|
83
86
|
- Check in the code if API endpoints require authentication.
|
|
84
87
|
|
|
85
88
|
**Reference:** https://www.checklyhq.com/docs/constructs/api-check/
|
|
@@ -89,11 +92,6 @@ import { AlertEscalationBuilder, ApiCheck, Frequency, RetryStrategyBuilder } fro
|
|
|
89
92
|
|
|
90
93
|
new ApiCheck('example-api-check', {
|
|
91
94
|
name: 'Example API Check',
|
|
92
|
-
request: {
|
|
93
|
-
url: 'https://api.example.com/v1/products',
|
|
94
|
-
method: 'GET',
|
|
95
|
-
ipFamily: 'IPv4',
|
|
96
|
-
},
|
|
97
95
|
setupScript: {
|
|
98
96
|
entrypoint: './setup-script.ts',
|
|
99
97
|
},
|
|
@@ -103,8 +101,6 @@ new ApiCheck('example-api-check', {
|
|
|
103
101
|
degradedResponseTime: 5000,
|
|
104
102
|
maxResponseTime: 20000,
|
|
105
103
|
activated: true,
|
|
106
|
-
muted: false,
|
|
107
|
-
shouldFail: false,
|
|
108
104
|
locations: [
|
|
109
105
|
'eu-central-1',
|
|
110
106
|
'eu-west-2',
|
|
@@ -124,6 +120,10 @@ new ApiCheck('example-api-check', {
|
|
|
124
120
|
sameRegion: true,
|
|
125
121
|
}),
|
|
126
122
|
runParallel: true,
|
|
123
|
+
request: {
|
|
124
|
+
url: 'https://api.example.com/v1/products',
|
|
125
|
+
method: 'GET',
|
|
126
|
+
},
|
|
127
127
|
})
|
|
128
128
|
```
|
|
129
129
|
|
|
@@ -134,7 +134,7 @@ new ApiCheck('example-api-check', {
|
|
|
134
134
|
- Read the input credentials from env variables using `process.env`.
|
|
135
135
|
- Pass auth tokens to the request object using `request.headers['key'] = AUTH_TOKEN_VALUE`.
|
|
136
136
|
|
|
137
|
-
### Browser
|
|
137
|
+
### Browser Checks
|
|
138
138
|
|
|
139
139
|
- Import the `BrowserCheck` construct from `checkly/constructs`.
|
|
140
140
|
- Generate a separate `.spec.ts` file for the Playwright code referenced in the `BrowserCheck` construct.
|
|
@@ -151,8 +151,6 @@ new BrowserCheck('example-browser-check', {
|
|
|
151
151
|
entrypoint: './example-browser-check.spec.ts',
|
|
152
152
|
},
|
|
153
153
|
activated: false,
|
|
154
|
-
muted: false,
|
|
155
|
-
shouldFail: false,
|
|
156
154
|
locations: [
|
|
157
155
|
'eu-central-1',
|
|
158
156
|
'eu-west-2',
|
|
@@ -175,10 +173,11 @@ new BrowserCheck('example-browser-check', {
|
|
|
175
173
|
})
|
|
176
174
|
```
|
|
177
175
|
|
|
178
|
-
### Playwright Check
|
|
176
|
+
### Playwright Check Suites
|
|
179
177
|
|
|
180
178
|
- Import the `PlaywrightCheck` construct from `checkly/constructs`.
|
|
181
|
-
- use `pwProjects` if
|
|
179
|
+
- use `pwProjects` if you're tasked to reuse a Playwright project.
|
|
180
|
+
- use `pwTags` if you're tasked to reuse a Playwright tag.
|
|
182
181
|
|
|
183
182
|
**Reference:** https://www.checklyhq.com/docs/constructs/playwright-check/
|
|
184
183
|
|
|
@@ -194,7 +193,7 @@ const playwrightChecks = new PlaywrightCheck("multi-browser-check", {
|
|
|
194
193
|
});
|
|
195
194
|
```
|
|
196
195
|
|
|
197
|
-
### MultiStep
|
|
196
|
+
### MultiStep Checks
|
|
198
197
|
|
|
199
198
|
- Import the `MultiStepCheck` construct from `checkly/constructs`.
|
|
200
199
|
- Generate a separate `.spec.ts` file for the Playwright code referenced in the `MultiStepCheck` construct.
|
|
@@ -211,8 +210,6 @@ new MultiStepCheck('example-multi-step-check', {
|
|
|
211
210
|
entrypoint: './example-multistep-check.spec.ts',
|
|
212
211
|
},
|
|
213
212
|
activated: true,
|
|
214
|
-
muted: false,
|
|
215
|
-
shouldFail: false,
|
|
216
213
|
locations: [
|
|
217
214
|
'eu-central-1',
|
|
218
215
|
'eu-west-2',
|
|
@@ -230,7 +227,9 @@ new MultiStepCheck('example-multi-step-check', {
|
|
|
230
227
|
})
|
|
231
228
|
```
|
|
232
229
|
|
|
233
|
-
###
|
|
230
|
+
### Monitors
|
|
231
|
+
|
|
232
|
+
#### TCP Monitor
|
|
234
233
|
|
|
235
234
|
- Import the `TcpMonitor` construct from `checkly/constructs`.
|
|
236
235
|
- When adding `assertions`, always use `TcpAssertionBuilder` class for TCP monitors.
|
|
@@ -242,20 +241,9 @@ import { AlertEscalationBuilder, Frequency, RetryStrategyBuilder, TcpAssertionBu
|
|
|
242
241
|
|
|
243
242
|
new TcpMonitor('example-tcp-monitor', {
|
|
244
243
|
name: 'Example TCP Monitor',
|
|
245
|
-
request: {
|
|
246
|
-
hostname: 'tcp.example.com',
|
|
247
|
-
port: 4242,
|
|
248
|
-
ipFamily: 'IPv4',
|
|
249
|
-
assertions: [
|
|
250
|
-
TcpAssertionBuilder.responseTime().lessThan(200),
|
|
251
|
-
TcpAssertionBuilder.responseData().isEmpty(),
|
|
252
|
-
],
|
|
253
|
-
},
|
|
254
244
|
degradedResponseTime: 5000,
|
|
255
245
|
maxResponseTime: 5000,
|
|
256
246
|
activated: true,
|
|
257
|
-
muted: false,
|
|
258
|
-
shouldFail: false,
|
|
259
247
|
locations: [
|
|
260
248
|
'eu-central-1',
|
|
261
249
|
'eu-west-2',
|
|
@@ -275,10 +263,19 @@ new TcpMonitor('example-tcp-monitor', {
|
|
|
275
263
|
sameRegion: true,
|
|
276
264
|
}),
|
|
277
265
|
runParallel: true,
|
|
266
|
+
request: {
|
|
267
|
+
hostname: 'tcp.example.com',
|
|
268
|
+
port: 4242,
|
|
269
|
+
ipFamily: 'IPv4',
|
|
270
|
+
assertions: [
|
|
271
|
+
TcpAssertionBuilder.responseTime().lessThan(200),
|
|
272
|
+
TcpAssertionBuilder.responseData().isEmpty(),
|
|
273
|
+
],
|
|
274
|
+
},
|
|
278
275
|
})
|
|
279
276
|
```
|
|
280
277
|
|
|
281
|
-
|
|
278
|
+
#### URL Monitor
|
|
282
279
|
|
|
283
280
|
- Import the `UrlMonitor` construct from `checkly/constructs`.
|
|
284
281
|
- When adding `assertions`, always use `UrlAssertionBuilder`.
|
|
@@ -290,18 +287,7 @@ import { AlertEscalationBuilder, Frequency, RetryStrategyBuilder, UrlAssertionBu
|
|
|
290
287
|
|
|
291
288
|
new UrlMonitor('example-url-monitor', {
|
|
292
289
|
name: 'Example URL Monitor',
|
|
293
|
-
request: {
|
|
294
|
-
url: 'https://example.com',
|
|
295
|
-
ipFamily: 'IPv4',
|
|
296
|
-
assertions: [
|
|
297
|
-
UrlAssertionBuilder.statusCode().equals(200),
|
|
298
|
-
],
|
|
299
|
-
},
|
|
300
|
-
degradedResponseTime: 5000,
|
|
301
|
-
maxResponseTime: 20000,
|
|
302
290
|
activated: true,
|
|
303
|
-
muted: false,
|
|
304
|
-
shouldFail: false,
|
|
305
291
|
locations: [
|
|
306
292
|
'eu-central-1',
|
|
307
293
|
'eu-west-2',
|
|
@@ -321,10 +307,19 @@ new UrlMonitor('example-url-monitor', {
|
|
|
321
307
|
sameRegion: true,
|
|
322
308
|
}),
|
|
323
309
|
runParallel: true,
|
|
310
|
+
degradedResponseTime: 5000,
|
|
311
|
+
maxResponseTime: 20000,
|
|
312
|
+
request: {
|
|
313
|
+
url: 'https://example.com',
|
|
314
|
+
ipFamily: 'IPv4',
|
|
315
|
+
assertions: [
|
|
316
|
+
UrlAssertionBuilder.statusCode().equals(200),
|
|
317
|
+
],
|
|
318
|
+
},
|
|
324
319
|
})
|
|
325
320
|
```
|
|
326
321
|
|
|
327
|
-
|
|
322
|
+
#### DNS Monitor
|
|
328
323
|
|
|
329
324
|
- Import the `DnsMonitor` construct from `checkly/constructs`.
|
|
330
325
|
- Reference [the docs for DNS monitors](https://www.checklyhq.com/docs/constructs/dns-monitor/) before generating any code.
|
|
@@ -337,18 +332,9 @@ import { AlertEscalationBuilder, DnsAssertionBuilder, DnsMonitor, Frequency, Ret
|
|
|
337
332
|
|
|
338
333
|
new DnsMonitor('example-dns-monitor', {
|
|
339
334
|
name: 'Example DNS Monitor',
|
|
340
|
-
request: {
|
|
341
|
-
recordType: 'AAAA',
|
|
342
|
-
query: 'welcome.checklyhq.com',
|
|
343
|
-
assertions: [
|
|
344
|
-
DnsAssertionBuilder.responseCode().equals('NOERROR'),
|
|
345
|
-
],
|
|
346
|
-
},
|
|
347
335
|
degradedResponseTime: 500,
|
|
348
336
|
maxResponseTime: 1000,
|
|
349
337
|
activated: true,
|
|
350
|
-
muted: false,
|
|
351
|
-
shouldFail: false,
|
|
352
338
|
locations: [
|
|
353
339
|
'eu-central-1',
|
|
354
340
|
'eu-north-1',
|
|
@@ -362,11 +348,17 @@ new DnsMonitor('example-dns-monitor', {
|
|
|
362
348
|
percentage: 10,
|
|
363
349
|
}),
|
|
364
350
|
retryStrategy: RetryStrategyBuilder.noRetries(),
|
|
365
|
-
|
|
351
|
+
request: {
|
|
352
|
+
recordType: 'AAAA',
|
|
353
|
+
query: 'welcome.checklyhq.com',
|
|
354
|
+
assertions: [
|
|
355
|
+
DnsAssertionBuilder.responseCode().equals('NOERROR'),
|
|
356
|
+
],
|
|
357
|
+
},
|
|
366
358
|
})
|
|
367
359
|
```
|
|
368
360
|
|
|
369
|
-
|
|
361
|
+
##### ICMP Monitor
|
|
370
362
|
|
|
371
363
|
- Import the `IcmpMonitor` construct from `checkly/constructs`.
|
|
372
364
|
- Reference [the docs for ICMP monitors](https://www.checklyhq.com/docs/constructs/icmp-monitor/) before generating any code.
|
|
@@ -392,7 +384,6 @@ new IcmpMonitor('example-icmp-monitor', {
|
|
|
392
384
|
degradedPacketLossThreshold: 10,
|
|
393
385
|
maxPacketLossThreshold: 20,
|
|
394
386
|
activated: true,
|
|
395
|
-
muted: false,
|
|
396
387
|
locations: [
|
|
397
388
|
'eu-central-1',
|
|
398
389
|
'eu-north-1',
|
|
@@ -406,11 +397,10 @@ new IcmpMonitor('example-icmp-monitor', {
|
|
|
406
397
|
percentage: 10,
|
|
407
398
|
}),
|
|
408
399
|
retryStrategy: RetryStrategyBuilder.noRetries(),
|
|
409
|
-
runParallel: false,
|
|
410
400
|
})
|
|
411
401
|
```
|
|
412
402
|
|
|
413
|
-
|
|
403
|
+
#### Heartbeat Monitor
|
|
414
404
|
|
|
415
405
|
- Import the `HeartbeatMonitor` construct from `checkly/constructs`.
|
|
416
406
|
|
|
@@ -426,8 +416,6 @@ new HeartbeatMonitor('example-heartbeat-monitor', {
|
|
|
426
416
|
grace: 30,
|
|
427
417
|
graceUnit: 'minutes',
|
|
428
418
|
activated: true,
|
|
429
|
-
muted: false,
|
|
430
|
-
shouldFail: false,
|
|
431
419
|
frequency: Frequency.EVERY_10S,
|
|
432
420
|
alertEscalationPolicy: AlertEscalationBuilder.runBasedEscalation(1, {
|
|
433
421
|
amount: 0,
|
|
@@ -446,7 +434,7 @@ new HeartbeatMonitor('example-heartbeat-monitor', {
|
|
|
446
434
|
})
|
|
447
435
|
```
|
|
448
436
|
|
|
449
|
-
### Check
|
|
437
|
+
### Check Groups
|
|
450
438
|
|
|
451
439
|
- Import the `CheckGroupV2` construct from `checkly/constructs`.
|
|
452
440
|
- Check Groups are used to group checks together for easier management and organization.
|
|
@@ -462,14 +450,18 @@ export const exampleGroup = new CheckGroupV2('example-group', {
|
|
|
462
450
|
})
|
|
463
451
|
```
|
|
464
452
|
|
|
465
|
-
|
|
453
|
+
### Alert Channels
|
|
466
454
|
|
|
467
455
|
- Alert channels are used to send notifications when checks and monitors fail or recover.
|
|
468
456
|
- Alert channels are added to checks, monitors, and check groups constructs by adding them to the `alertChannels` array property.
|
|
469
457
|
|
|
470
|
-
Here are some examples of how to create different types of alert channels.
|
|
458
|
+
Here are some examples of how to create different types of alert channels.
|
|
459
|
+
|
|
460
|
+
All available alerts are described in the [Checkly docs](https://www.checklyhq.com/docs/constructs/overview/).
|
|
471
461
|
|
|
472
|
-
|
|
462
|
+
*Important*: Don't make up email addresses, phone numbers, Slack URLs or similar static values. Scan the project to discover a valid configuration or ask what the values should be.
|
|
463
|
+
|
|
464
|
+
#### Email Alert Channel
|
|
473
465
|
|
|
474
466
|
**Reference:** https://www.checklyhq.com/docs/constructs/email-alert-channel/
|
|
475
467
|
|
|
@@ -482,8 +474,7 @@ export const testEmailAlert = new EmailAlertChannel('example-email-alert-channel
|
|
|
482
474
|
})
|
|
483
475
|
```
|
|
484
476
|
|
|
485
|
-
|
|
486
|
-
### Phone Call Alert Channel
|
|
477
|
+
#### Phone Call Alert Channel
|
|
487
478
|
|
|
488
479
|
**Reference:** https://www.checklyhq.com/docs/constructs/phone-call-alert-channel/
|
|
489
480
|
|
|
@@ -492,12 +483,11 @@ import { PhoneCallAlertChannel } from 'checkly/constructs'
|
|
|
492
483
|
|
|
493
484
|
export const testUserPhoneCallAlert = new PhoneCallAlertChannel('example-call-alert-channel', {
|
|
494
485
|
name: 'Test User',
|
|
495
|
-
phoneNumber: '
|
|
486
|
+
phoneNumber: 'INSERT_PHONE_NUMBER',
|
|
496
487
|
})
|
|
497
488
|
```
|
|
498
489
|
|
|
499
|
-
|
|
500
|
-
### Slack Alert Channel
|
|
490
|
+
#### Slack Alert Channel
|
|
501
491
|
|
|
502
492
|
**Reference:** https://www.checklyhq.com/docs/constructs/slack-alert-channel/
|
|
503
493
|
|
|
@@ -505,15 +495,14 @@ export const testUserPhoneCallAlert = new PhoneCallAlertChannel('example-call-al
|
|
|
505
495
|
import { SlackAlertChannel } from 'checkly/constructs'
|
|
506
496
|
|
|
507
497
|
export const generalSlackAlert = new SlackAlertChannel('example-slack-alert-channel', {
|
|
508
|
-
url: '
|
|
498
|
+
url: 'INSERT_SLACK_URL',
|
|
509
499
|
channel: '#general',
|
|
510
500
|
})
|
|
511
501
|
```
|
|
512
502
|
|
|
503
|
+
### Supporting Constructs
|
|
513
504
|
|
|
514
|
-
|
|
515
|
-
|
|
516
|
-
### Status Page
|
|
505
|
+
#### Status Page
|
|
517
506
|
|
|
518
507
|
- Import the `StatusPage` construct from `checkly/constructs`.
|
|
519
508
|
- Status pages are used to display the status of your services to your users.
|
|
@@ -541,7 +530,7 @@ new StatusPage('example-status-page', {
|
|
|
541
530
|
})
|
|
542
531
|
```
|
|
543
532
|
|
|
544
|
-
|
|
533
|
+
#### Status Page Service
|
|
545
534
|
|
|
546
535
|
- Import the `StatusPageService` construct from `checkly/constructs`.
|
|
547
536
|
- Status Page Services are used to represent individual services on a Status Page.
|
|
@@ -556,7 +545,7 @@ export const exampleService = new StatusPageService('example-status-page-service
|
|
|
556
545
|
})
|
|
557
546
|
```
|
|
558
547
|
|
|
559
|
-
|
|
548
|
+
#### Dashboard
|
|
560
549
|
|
|
561
550
|
- Import the `Dashboard` construct from `checkly/constructs`.
|
|
562
551
|
- Dashboards are used to display the results of your checks on screens external to Checkly.
|
|
@@ -590,7 +579,7 @@ new Dashboard('example-dashboard', {
|
|
|
590
579
|
})
|
|
591
580
|
```
|
|
592
581
|
|
|
593
|
-
|
|
582
|
+
#### Maintenance Window
|
|
594
583
|
|
|
595
584
|
- Import the `MaintenanceWindow` construct from `checkly/constructs`.
|
|
596
585
|
- Maintenance windows are used to pause checks during maintenance periods so no alerts are sent.
|
|
@@ -614,7 +603,7 @@ new MaintenanceWindow('example-maintenance-window', {
|
|
|
614
603
|
})
|
|
615
604
|
```
|
|
616
605
|
|
|
617
|
-
|
|
606
|
+
#### Private Location
|
|
618
607
|
|
|
619
608
|
- Import the `PrivateLocation` construct from `checkly/constructs`.
|
|
620
609
|
- Private locations are used to run checks from your own infrastructure with the Checkly Agent, an OCI compatible container.
|
|
@@ -633,4 +622,4 @@ export const examplePrivateLocation = new PrivateLocation('example-private-locat
|
|
|
633
622
|
|
|
634
623
|
## Testing and Debugging
|
|
635
624
|
|
|
636
|
-
- Test checks using `npx checkly test` command
|
|
625
|
+
- Test checks using the `npx checkly test` command. Pass environment variables with the `-e` flag, use `--record` to persist results, and use `--verbose` to see all errors.
|
|
@@ -1,6 +1,41 @@
|
|
|
1
|
-
export declare const
|
|
1
|
+
export declare const REFERENCES: readonly [{
|
|
2
|
+
readonly id: "api-checks";
|
|
3
|
+
readonly linkText: "API Checks";
|
|
4
|
+
readonly description: "ApiCheck construct, assertions, and authentication setup scripts";
|
|
5
|
+
}, {
|
|
6
|
+
readonly id: "browser-checks";
|
|
7
|
+
readonly linkText: "Browser Checks";
|
|
8
|
+
readonly description: "BrowserCheck construct with Playwright test files";
|
|
9
|
+
}, {
|
|
10
|
+
readonly id: "playwright-checks";
|
|
11
|
+
readonly linkText: "Playwright Checks";
|
|
12
|
+
readonly description: "PlaywrightCheck construct for multi-browser test suites";
|
|
13
|
+
}, {
|
|
14
|
+
readonly id: "multistep-checks";
|
|
15
|
+
readonly linkText: "MultiStep Checks";
|
|
16
|
+
readonly description: "MultiStepCheck construct for complex user flows";
|
|
17
|
+
}, {
|
|
18
|
+
readonly id: "uptime-monitors";
|
|
19
|
+
readonly linkText: "Uptime Monitors";
|
|
20
|
+
readonly description: "TCP (`TcpMonitor`), URL (`UrlMonitor`), DNS (`DnsMonitor`), ICMP (`IcmpMonitor`), and Heartbeat monitors (`HeartbeatMonitor`)";
|
|
21
|
+
}, {
|
|
22
|
+
readonly id: "check-groups";
|
|
23
|
+
readonly linkText: "Check Groups";
|
|
24
|
+
readonly description: "CheckGroupV2 construct for organizing checks";
|
|
25
|
+
}, {
|
|
26
|
+
readonly id: "alert-channels";
|
|
27
|
+
readonly linkText: "Alert Channels";
|
|
28
|
+
readonly description: "Email, Phone, and Slack alert channels";
|
|
29
|
+
}, {
|
|
30
|
+
readonly id: "supporting-constructs";
|
|
31
|
+
readonly linkText: "Supporting Constructs";
|
|
32
|
+
readonly description: "Status pages, dashboards, maintenance windows, and private locations";
|
|
33
|
+
}];
|
|
34
|
+
interface ExampleConfig {
|
|
2
35
|
templateString: string;
|
|
3
36
|
reference: string;
|
|
4
37
|
exampleConfig?: string;
|
|
5
38
|
exampleConfigPath?: string;
|
|
6
|
-
}
|
|
39
|
+
}
|
|
40
|
+
export declare const EXAMPLE_CONFIGS: Record<string, ExampleConfig>;
|
|
41
|
+
export {};
|
|
@@ -1,9 +1,51 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.EXAMPLE_CONFIGS = void 0;
|
|
3
|
+
exports.EXAMPLE_CONFIGS = exports.REFERENCES = void 0;
|
|
4
|
+
exports.REFERENCES = [
|
|
5
|
+
{
|
|
6
|
+
id: 'api-checks',
|
|
7
|
+
linkText: 'API Checks',
|
|
8
|
+
description: 'ApiCheck construct, assertions, and authentication setup scripts',
|
|
9
|
+
},
|
|
10
|
+
{
|
|
11
|
+
id: 'browser-checks',
|
|
12
|
+
linkText: 'Browser Checks',
|
|
13
|
+
description: 'BrowserCheck construct with Playwright test files',
|
|
14
|
+
},
|
|
15
|
+
{
|
|
16
|
+
id: 'playwright-checks',
|
|
17
|
+
linkText: 'Playwright Checks',
|
|
18
|
+
description: 'PlaywrightCheck construct for multi-browser test suites',
|
|
19
|
+
},
|
|
20
|
+
{
|
|
21
|
+
id: 'multistep-checks',
|
|
22
|
+
linkText: 'MultiStep Checks',
|
|
23
|
+
description: 'MultiStepCheck construct for complex user flows',
|
|
24
|
+
},
|
|
25
|
+
{
|
|
26
|
+
id: 'uptime-monitors',
|
|
27
|
+
linkText: 'Uptime Monitors',
|
|
28
|
+
description: 'TCP (`TcpMonitor`), URL (`UrlMonitor`), DNS (`DnsMonitor`), ICMP (`IcmpMonitor`), and Heartbeat monitors (`HeartbeatMonitor`)',
|
|
29
|
+
},
|
|
30
|
+
{
|
|
31
|
+
id: 'check-groups',
|
|
32
|
+
linkText: 'Check Groups',
|
|
33
|
+
description: 'CheckGroupV2 construct for organizing checks',
|
|
34
|
+
},
|
|
35
|
+
{
|
|
36
|
+
id: 'alert-channels',
|
|
37
|
+
linkText: 'Alert Channels',
|
|
38
|
+
description: 'Email, Phone, and Slack alert channels',
|
|
39
|
+
},
|
|
40
|
+
{
|
|
41
|
+
id: 'supporting-constructs',
|
|
42
|
+
linkText: 'Supporting Constructs',
|
|
43
|
+
description: 'Status pages, dashboards, maintenance windows, and private locations',
|
|
44
|
+
},
|
|
45
|
+
];
|
|
4
46
|
exports.EXAMPLE_CONFIGS = {
|
|
5
47
|
CHECKLY_CONFIG: {
|
|
6
|
-
templateString: '
|
|
48
|
+
templateString: '<!-- EXAMPLE: CHECKLY_CONFIG -->',
|
|
7
49
|
exampleConfig: `import { defineConfig } from 'checkly'
|
|
8
50
|
import { Frequency } from 'checkly/constructs'
|
|
9
51
|
|
|
@@ -40,12 +82,12 @@ export default defineConfig({
|
|
|
40
82
|
reference: 'https://www.checklyhq.com/docs/constructs/project/',
|
|
41
83
|
},
|
|
42
84
|
BROWSER_CHECK: {
|
|
43
|
-
templateString: '
|
|
85
|
+
templateString: '<!-- EXAMPLE: BROWSER_CHECK -->',
|
|
44
86
|
exampleConfigPath: 'resources/browser-checks/example-browser-check/example-browser-check.check.ts',
|
|
45
87
|
reference: 'https://www.checklyhq.com/docs/constructs/browser-check/',
|
|
46
88
|
},
|
|
47
89
|
PLAYWRIGHT_CHECK: {
|
|
48
|
-
templateString: '
|
|
90
|
+
templateString: '<!-- EXAMPLE: PLAYWRIGHT_CHECK -->',
|
|
49
91
|
exampleConfig: `import { PlaywrightCheck } from "checkly/constructs"
|
|
50
92
|
|
|
51
93
|
const playwrightChecks = new PlaywrightCheck("multi-browser-check", {
|
|
@@ -59,82 +101,82 @@ const playwrightChecks = new PlaywrightCheck("multi-browser-check", {
|
|
|
59
101
|
reference: 'https://www.checklyhq.com/docs/constructs/playwright-check/',
|
|
60
102
|
},
|
|
61
103
|
API_CHECK: {
|
|
62
|
-
templateString: '
|
|
104
|
+
templateString: '<!-- EXAMPLE: API_CHECK -->',
|
|
63
105
|
exampleConfigPath: 'resources/api-checks/example-api-check/example-api-check.check.ts',
|
|
64
106
|
reference: 'https://www.checklyhq.com/docs/constructs/api-check/',
|
|
65
107
|
},
|
|
66
108
|
MULTISTEP_CHECK: {
|
|
67
|
-
templateString: '
|
|
109
|
+
templateString: '<!-- EXAMPLE: MULTISTEP_CHECK -->',
|
|
68
110
|
exampleConfigPath: 'resources/multi-step-checks/example-multistep-check/example-multistep-check.check.ts',
|
|
69
111
|
reference: 'https://www.checklyhq.com/docs/constructs/multistep-check/',
|
|
70
112
|
},
|
|
71
113
|
TCP_MONITOR: {
|
|
72
|
-
templateString: '
|
|
114
|
+
templateString: '<!-- EXAMPLE: TCP_MONITOR -->',
|
|
73
115
|
exampleConfigPath: 'resources/tcp-monitors/example-tcp-monitor.check.ts',
|
|
74
116
|
reference: 'https://www.checklyhq.com/docs/constructs/tcp-monitor/',
|
|
75
117
|
},
|
|
76
118
|
HEARTBEAT_MONITOR: {
|
|
77
|
-
templateString: '
|
|
119
|
+
templateString: '<!-- EXAMPLE: HEARTBEAT_MONITOR -->',
|
|
78
120
|
exampleConfigPath: 'resources/heartbeat-monitors/example-heartbeat-monitor.check.ts',
|
|
79
121
|
reference: 'https://www.checklyhq.com/docs/constructs/heartbeat-monitor/',
|
|
80
122
|
},
|
|
81
123
|
URL_MONITOR: {
|
|
82
|
-
templateString: '
|
|
124
|
+
templateString: '<!-- EXAMPLE: URL_MONITOR -->',
|
|
83
125
|
exampleConfigPath: 'resources/url-monitors/example-url-monitor.check.ts',
|
|
84
126
|
reference: 'https://www.checklyhq.com/docs/constructs/url-monitor/',
|
|
85
127
|
},
|
|
86
128
|
DNS_MONITOR: {
|
|
87
|
-
templateString: '
|
|
129
|
+
templateString: '<!-- EXAMPLE: DNS_MONITOR -->',
|
|
88
130
|
exampleConfigPath: 'resources/dns-monitors/example-dns-monitor.check.ts',
|
|
89
131
|
reference: 'https://www.checklyhq.com/docs/constructs/dns-monitor/',
|
|
90
132
|
},
|
|
91
133
|
ICMP_MONITOR: {
|
|
92
|
-
templateString: '
|
|
134
|
+
templateString: '<!-- EXAMPLE: ICMP_MONITOR -->',
|
|
93
135
|
exampleConfigPath: 'resources/icmp-monitors/example-icmp-monitor.check.ts',
|
|
94
136
|
reference: 'https://www.checklyhq.com/docs/constructs/icmp-monitor/',
|
|
95
137
|
},
|
|
96
138
|
CHECK_GROUP: {
|
|
97
|
-
templateString: '
|
|
139
|
+
templateString: '<!-- EXAMPLE: CHECK_GROUP -->',
|
|
98
140
|
exampleConfigPath: 'resources/check-group/example-group/example-group.check.ts',
|
|
99
141
|
reference: 'https://www.checklyhq.com/docs/constructs/check-group/',
|
|
100
142
|
},
|
|
101
143
|
STATUS_PAGE: {
|
|
102
|
-
templateString: '
|
|
144
|
+
templateString: '<!-- EXAMPLE: STATUS_PAGE -->',
|
|
103
145
|
exampleConfigPath: 'resources/status-pages/example-status-page.check.ts',
|
|
104
146
|
reference: 'https://www.checklyhq.com/docs/constructs/status-page/',
|
|
105
147
|
},
|
|
106
148
|
STATUS_PAGE_SERVICE: {
|
|
107
|
-
templateString: '
|
|
149
|
+
templateString: '<!-- EXAMPLE: STATUS_PAGE_SERVICE -->',
|
|
108
150
|
exampleConfigPath: 'resources/status-pages/services/example-service.check.ts',
|
|
109
151
|
reference: 'https://www.checklyhq.com/docs/constructs/status-page-service/',
|
|
110
152
|
},
|
|
111
153
|
DASHBOARD: {
|
|
112
|
-
templateString: '
|
|
154
|
+
templateString: '<!-- EXAMPLE: DASHBOARD -->',
|
|
113
155
|
exampleConfigPath: 'resources/dashboards/example-dashboard/example-dashboard.check.ts',
|
|
114
156
|
reference: 'https://www.checklyhq.com/docs/constructs/dashboard/',
|
|
115
157
|
},
|
|
116
158
|
MAINTENANCE_WINDOW: {
|
|
117
|
-
templateString: '
|
|
159
|
+
templateString: '<!-- EXAMPLE: MAINTENANCE_WINDOW -->',
|
|
118
160
|
exampleConfigPath: 'resources/maintenance-windows/example-maintenance-window.check.ts',
|
|
119
161
|
reference: 'https://www.checklyhq.com/docs/constructs/maintenance-window/',
|
|
120
162
|
},
|
|
121
163
|
PRIVATE_LOCATION: {
|
|
122
|
-
templateString: '
|
|
164
|
+
templateString: '<!-- EXAMPLE: PRIVATE_LOCATION -->',
|
|
123
165
|
exampleConfigPath: 'resources/private-locations/example-private-location.check.ts',
|
|
124
166
|
reference: 'https://www.checklyhq.com/docs/constructs/private-location/',
|
|
125
167
|
},
|
|
126
168
|
EMAIL_ALERT_CHANNEL: {
|
|
127
|
-
templateString: '
|
|
169
|
+
templateString: '<!-- EXAMPLE: EMAIL_ALERT_CHANNEL -->',
|
|
128
170
|
exampleConfigPath: 'resources/alert-channels/email/test.check.ts',
|
|
129
171
|
reference: 'https://www.checklyhq.com/docs/constructs/email-alert-channel/',
|
|
130
172
|
},
|
|
131
173
|
PHONE_CALL_ALERT_CHANNEL: {
|
|
132
|
-
templateString: '
|
|
174
|
+
templateString: '<!-- EXAMPLE: PHONE_CALL_ALERT_CHANNEL -->',
|
|
133
175
|
exampleConfigPath: 'resources/alert-channels/phone-call/test-user.check.ts',
|
|
134
176
|
reference: 'https://www.checklyhq.com/docs/constructs/phone-call-alert-channel/',
|
|
135
177
|
},
|
|
136
178
|
SLACK_ALERT_CHANNEL: {
|
|
137
|
-
templateString: '
|
|
179
|
+
templateString: '<!-- EXAMPLE: SLACK_ALERT_CHANNEL -->',
|
|
138
180
|
exampleConfigPath: 'resources/alert-channels/slack/general.check.ts',
|
|
139
181
|
reference: 'https://www.checklyhq.com/docs/constructs/slack-alert-channel/',
|
|
140
182
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.js","sourceRoot":"","sources":["../../src/ai-context/context.ts"],"names":[],"mappings":";;;AAAa,QAAA,eAAe,
|
|
1
|
+
{"version":3,"file":"context.js","sourceRoot":"","sources":["../../src/ai-context/context.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,7 +8,16 @@ This directory contains the agent skill for creating and managing end-to-end tes
|
|
|
8
8
|
skills/
|
|
9
9
|
└── monitoring/
|
|
10
10
|
├── README.md # Documentation about the skill
|
|
11
|
-
|
|
11
|
+
├── SKILL.md # Main skill instructions
|
|
12
|
+
└── references/ # Detailed construct documentation
|
|
13
|
+
├── api-checks.md
|
|
14
|
+
├── browser-checks.md
|
|
15
|
+
├── playwright-checks.md
|
|
16
|
+
├── multistep-checks.md
|
|
17
|
+
├── monitors.md
|
|
18
|
+
├── check-groups.md
|
|
19
|
+
├── alert-channels.md
|
|
20
|
+
└── supporting-constructs.md
|
|
12
21
|
```
|
|
13
22
|
|
|
14
23
|
## What is an Agent Skill?
|
|
@@ -27,13 +36,15 @@ Agent Skills are a standardized format for giving AI agents specialized knowledg
|
|
|
27
36
|
AI agents can load this skill to gain expertise in Checkly monitoring. The skill follows the [Agent Skills specification](https://agentskills.io) with:
|
|
28
37
|
|
|
29
38
|
- **SKILL.md**: Core instructions loaded when the skill is activated
|
|
39
|
+
- **references/**: Detailed documentation loaded on demand
|
|
30
40
|
|
|
31
41
|
## Progressive Disclosure
|
|
32
42
|
|
|
33
43
|
The skill is structured for efficient context usage:
|
|
34
44
|
|
|
35
45
|
1. **Metadata** (~80 tokens): Name and description in frontmatter
|
|
36
|
-
2. **Core Instructions** (~
|
|
46
|
+
2. **Core Instructions** (~1K tokens): Main SKILL.md content with links to references
|
|
47
|
+
3. **References** (loaded on demand): Detailed construct documentation with examples
|
|
37
48
|
|
|
38
49
|
Agents load what they need for each task.
|
|
39
50
|
|