checkly 7.4.0 → 7.5.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 +55 -17
- package/dist/ai-context/context.d.ts +76 -24
- package/dist/ai-context/context.js +48 -25
- package/dist/ai-context/context.js.map +1 -1
- package/dist/ai-context/public-skills/checkly/README.md +39 -0
- package/dist/ai-context/public-skills/checkly/SKILL.md +65 -0
- package/dist/ai-context/{skills/monitoring/references/api-checks.md → skills-command/references/configure-api-checks.md} +1 -1
- package/dist/ai-context/skills-command/references/configure-dns-monitors.md +38 -0
- package/dist/ai-context/skills-command/references/configure-heartbeat-monitors.md +33 -0
- package/dist/ai-context/skills-command/references/configure-icmp-monitors.md +41 -0
- package/dist/ai-context/skills-command/references/configure-tcp-monitors.md +45 -0
- package/dist/ai-context/skills-command/references/configure-url-monitors.md +43 -0
- package/dist/ai-context/{skills/monitoring/SKILL.md → skills-command/references/configure.md} +40 -17
- package/dist/ai-context/skills-command/references/initialize.md +116 -0
- package/dist/commands/baseCommand.d.ts +3 -0
- package/dist/commands/baseCommand.js +3 -0
- package/dist/commands/baseCommand.js.map +1 -1
- package/dist/commands/incidents/create.d.ts +15 -0
- package/dist/commands/incidents/create.js +107 -0
- package/dist/commands/incidents/create.js.map +1 -0
- package/dist/commands/incidents/list.d.ts +12 -0
- package/dist/commands/incidents/list.js +107 -0
- package/dist/commands/incidents/list.js.map +1 -0
- package/dist/commands/incidents/resolve.d.ts +14 -0
- package/dist/commands/incidents/resolve.js +87 -0
- package/dist/commands/incidents/resolve.js.map +1 -0
- package/dist/commands/incidents/update.d.ts +16 -0
- package/dist/commands/incidents/update.js +111 -0
- package/dist/commands/incidents/update.js.map +1 -0
- package/dist/commands/skills.d.ts +12 -0
- package/dist/commands/skills.js +104 -0
- package/dist/commands/skills.js.map +1 -0
- package/dist/formatters/incidents.d.ts +7 -0
- package/dist/formatters/incidents.js +186 -0
- package/dist/formatters/incidents.js.map +1 -0
- package/dist/help/help-extension.js +17 -6
- package/dist/help/help-extension.js.map +1 -1
- package/dist/helpers/cli-mode.d.ts +3 -0
- package/dist/helpers/cli-mode.js +46 -0
- package/dist/helpers/cli-mode.js.map +1 -0
- package/dist/helpers/command-preview.d.ts +24 -0
- package/dist/helpers/command-preview.js +51 -0
- package/dist/helpers/command-preview.js.map +1 -0
- package/dist/helpers/flags.d.ts +2 -0
- package/dist/helpers/flags.js +16 -1
- package/dist/helpers/flags.js.map +1 -1
- package/dist/helpers/incidents.d.ts +15 -0
- package/dist/helpers/incidents.js +58 -0
- package/dist/helpers/incidents.js.map +1 -0
- package/dist/rest/api.d.ts +2 -1
- package/dist/rest/api.js +5 -24
- package/dist/rest/api.js.map +1 -1
- package/dist/rest/incidents.d.ts +60 -0
- package/dist/rest/incidents.js +30 -0
- package/dist/rest/incidents.js.map +1 -0
- package/dist/rest/status-pages.d.ts +3 -0
- package/dist/rest/status-pages.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/oclif.manifest.json +541 -110
- package/package.json +7 -1
- package/dist/ai-context/skills/monitoring/README.md +0 -55
- package/dist/ai-context/skills/monitoring/references/uptime-monitors.md +0 -206
- /package/dist/ai-context/{skills/monitoring/references/alert-channels.md → skills-command/references/configure-alert-channels.md} +0 -0
- /package/dist/ai-context/{skills/monitoring/references/browser-checks.md → skills-command/references/configure-browser-checks.md} +0 -0
- /package/dist/ai-context/{skills/monitoring/references/check-groups.md → skills-command/references/configure-check-groups.md} +0 -0
- /package/dist/ai-context/{skills/monitoring/references/multistep-checks.md → skills-command/references/configure-multistep-checks.md} +0 -0
- /package/dist/ai-context/{skills/monitoring/references/playwright-checks.md → skills-command/references/configure-playwright-checks.md} +0 -0
- /package/dist/ai-context/{skills/monitoring/references/supporting-constructs.md → skills-command/references/configure-supporting-constructs.md} +0 -0
|
@@ -23,6 +23,7 @@
|
|
|
23
23
|
|
|
24
24
|
Here is an example directory tree of what that would look like:
|
|
25
25
|
|
|
26
|
+
```
|
|
26
27
|
.
|
|
27
28
|
|-- checkly.config.ts
|
|
28
29
|
|-- package.json
|
|
@@ -31,6 +32,7 @@ Here is an example directory tree of what that would look like:
|
|
|
31
32
|
|-- alert-channels.ts
|
|
32
33
|
|-- api-check.check.ts
|
|
33
34
|
`-- homepage.spec.ts
|
|
35
|
+
```
|
|
34
36
|
|
|
35
37
|
The `checkly.config.ts` at the root of your project defines a range of defaults for all your checks.
|
|
36
38
|
|
|
@@ -73,7 +75,49 @@ export default defineConfig({
|
|
|
73
75
|
|
|
74
76
|
## Check and Monitor Constructs
|
|
75
77
|
|
|
76
|
-
Parse and read further reference documentation when tasked with creating or managing any of the following Checkly constructs
|
|
78
|
+
Parse and read further reference documentation when tasked with creating or managing any of the following Checkly constructs.
|
|
79
|
+
|
|
80
|
+
If the Checkly CLI is installed (`npx checkly version`), use `npx checkly skills configure [CONSTRUCT]` to access up-to-date information:
|
|
81
|
+
|
|
82
|
+
### `npx checkly skills configure api-checks`
|
|
83
|
+
Api Check construct (`ApiCheck`), assertions, and authentication setup scripts
|
|
84
|
+
|
|
85
|
+
### `npx checkly skills configure browser-checks`
|
|
86
|
+
Browser Check construct (`BrowserCheck`) with Playwright test files
|
|
87
|
+
|
|
88
|
+
### `npx checkly skills configure playwright-checks`
|
|
89
|
+
Playwright Check Suite construct (`PlaywrightCheck`) for multi-browser test suites
|
|
90
|
+
|
|
91
|
+
### `npx checkly skills configure multistep-checks`
|
|
92
|
+
Multistep Check construct (`MultiStepCheck`) for complex user flows
|
|
93
|
+
|
|
94
|
+
### `npx checkly skills configure tcp-monitors`
|
|
95
|
+
TCP Monitor construct (`TcpMonitor`) with assertions
|
|
96
|
+
|
|
97
|
+
### `npx checkly skills configure url-monitors`
|
|
98
|
+
URL Monitor construct (`UrlMonitor`) with assertions
|
|
99
|
+
|
|
100
|
+
### `npx checkly skills configure dns-monitors`
|
|
101
|
+
DNS Monitor construct (`DnsMonitor`) with assertions
|
|
102
|
+
|
|
103
|
+
### `npx checkly skills configure icmp-monitors`
|
|
104
|
+
ICMP Monitor construct (`IcmpMonitor`) with latency and packet loss assertions
|
|
105
|
+
|
|
106
|
+
### `npx checkly skills configure heartbeat-monitors`
|
|
107
|
+
Heartbeat Monitor construct (`HeartbeatMonitor`)
|
|
108
|
+
|
|
109
|
+
### `npx checkly skills configure check-groups`
|
|
110
|
+
CheckGroupV2 construct (`CheckGroupV2`) for organizing checks
|
|
111
|
+
|
|
112
|
+
### `npx checkly skills configure alert-channels`
|
|
113
|
+
Email (`EmailAlertChannel`), Phone (`PhoneCallAlertChannel`), and Slack (`SlackAlertChannel`) alert channels
|
|
114
|
+
|
|
115
|
+
### `npx checkly skills configure supporting-constructs`
|
|
116
|
+
Status pages (`StatusPage`), dashboards (`Dashboard`), maintenance windows (`MaintenanceWindow`), and private locations (`PrivateLocation`)
|
|
117
|
+
|
|
118
|
+
## Testing and Debugging
|
|
119
|
+
|
|
120
|
+
- 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.
|
|
77
121
|
|
|
78
122
|
### API Checks
|
|
79
123
|
|
|
@@ -121,7 +165,7 @@ new ApiCheck('example-api-check', {
|
|
|
121
165
|
}),
|
|
122
166
|
runParallel: true,
|
|
123
167
|
request: {
|
|
124
|
-
url: '
|
|
168
|
+
url: 'INSERT_URL',
|
|
125
169
|
method: 'GET',
|
|
126
170
|
},
|
|
127
171
|
})
|
|
@@ -227,9 +271,7 @@ new MultiStepCheck('example-multi-step-check', {
|
|
|
227
271
|
})
|
|
228
272
|
```
|
|
229
273
|
|
|
230
|
-
###
|
|
231
|
-
|
|
232
|
-
#### TCP Monitor
|
|
274
|
+
### TCP Monitor
|
|
233
275
|
|
|
234
276
|
- Import the `TcpMonitor` construct from `checkly/constructs`.
|
|
235
277
|
- When adding `assertions`, always use `TcpAssertionBuilder` class for TCP monitors.
|
|
@@ -264,7 +306,7 @@ new TcpMonitor('example-tcp-monitor', {
|
|
|
264
306
|
}),
|
|
265
307
|
runParallel: true,
|
|
266
308
|
request: {
|
|
267
|
-
hostname: '
|
|
309
|
+
hostname: 'INSERT_HOSTNAME',
|
|
268
310
|
port: 4242,
|
|
269
311
|
ipFamily: 'IPv4',
|
|
270
312
|
assertions: [
|
|
@@ -275,7 +317,7 @@ new TcpMonitor('example-tcp-monitor', {
|
|
|
275
317
|
})
|
|
276
318
|
```
|
|
277
319
|
|
|
278
|
-
|
|
320
|
+
### URL Monitor
|
|
279
321
|
|
|
280
322
|
- Import the `UrlMonitor` construct from `checkly/constructs`.
|
|
281
323
|
- When adding `assertions`, always use `UrlAssertionBuilder`.
|
|
@@ -310,7 +352,7 @@ new UrlMonitor('example-url-monitor', {
|
|
|
310
352
|
degradedResponseTime: 5000,
|
|
311
353
|
maxResponseTime: 20000,
|
|
312
354
|
request: {
|
|
313
|
-
url: '
|
|
355
|
+
url: 'INSERT_URL',
|
|
314
356
|
ipFamily: 'IPv4',
|
|
315
357
|
assertions: [
|
|
316
358
|
UrlAssertionBuilder.statusCode().equals(200),
|
|
@@ -319,7 +361,7 @@ new UrlMonitor('example-url-monitor', {
|
|
|
319
361
|
})
|
|
320
362
|
```
|
|
321
363
|
|
|
322
|
-
|
|
364
|
+
### DNS Monitor
|
|
323
365
|
|
|
324
366
|
- Import the `DnsMonitor` construct from `checkly/constructs`.
|
|
325
367
|
- Reference [the docs for DNS monitors](https://www.checklyhq.com/docs/constructs/dns-monitor/) before generating any code.
|
|
@@ -350,7 +392,7 @@ new DnsMonitor('example-dns-monitor', {
|
|
|
350
392
|
retryStrategy: RetryStrategyBuilder.noRetries(),
|
|
351
393
|
request: {
|
|
352
394
|
recordType: 'AAAA',
|
|
353
|
-
query: '
|
|
395
|
+
query: 'INSERT_HOSTNAME',
|
|
354
396
|
assertions: [
|
|
355
397
|
DnsAssertionBuilder.responseCode().equals('NOERROR'),
|
|
356
398
|
],
|
|
@@ -358,7 +400,7 @@ new DnsMonitor('example-dns-monitor', {
|
|
|
358
400
|
})
|
|
359
401
|
```
|
|
360
402
|
|
|
361
|
-
|
|
403
|
+
### ICMP Monitor
|
|
362
404
|
|
|
363
405
|
- Import the `IcmpMonitor` construct from `checkly/constructs`.
|
|
364
406
|
- Reference [the docs for ICMP monitors](https://www.checklyhq.com/docs/constructs/icmp-monitor/) before generating any code.
|
|
@@ -374,7 +416,7 @@ import { AlertEscalationBuilder, Frequency, IcmpAssertionBuilder, IcmpMonitor, R
|
|
|
374
416
|
new IcmpMonitor('example-icmp-monitor', {
|
|
375
417
|
name: 'Example ICMP Monitor',
|
|
376
418
|
request: {
|
|
377
|
-
hostname: '
|
|
419
|
+
hostname: 'INSERT_HOSTNAME',
|
|
378
420
|
pingCount: 10,
|
|
379
421
|
assertions: [
|
|
380
422
|
IcmpAssertionBuilder.latency('avg').lessThan(100),
|
|
@@ -400,7 +442,7 @@ new IcmpMonitor('example-icmp-monitor', {
|
|
|
400
442
|
})
|
|
401
443
|
```
|
|
402
444
|
|
|
403
|
-
|
|
445
|
+
### Heartbeat Monitor
|
|
404
446
|
|
|
405
447
|
- Import the `HeartbeatMonitor` construct from `checkly/constructs`.
|
|
406
448
|
|
|
@@ -619,7 +661,3 @@ export const examplePrivateLocation = new PrivateLocation('example-private-locat
|
|
|
619
661
|
icon: 'location',
|
|
620
662
|
})
|
|
621
663
|
```
|
|
622
|
-
|
|
623
|
-
## Testing and Debugging
|
|
624
|
-
|
|
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,35 +1,87 @@
|
|
|
1
1
|
export declare const REFERENCES: readonly [{
|
|
2
|
-
readonly id: "api-checks";
|
|
3
|
-
readonly
|
|
4
|
-
readonly description: "ApiCheck construct, assertions, and authentication setup scripts";
|
|
2
|
+
readonly id: "configure-api-checks";
|
|
3
|
+
readonly description: "Api Check construct (`ApiCheck`), assertions, and authentication setup scripts";
|
|
5
4
|
}, {
|
|
6
|
-
readonly id: "browser-checks";
|
|
7
|
-
readonly
|
|
8
|
-
readonly description: "BrowserCheck construct with Playwright test files";
|
|
5
|
+
readonly id: "configure-browser-checks";
|
|
6
|
+
readonly description: "Browser Check construct (`BrowserCheck`) with Playwright test files";
|
|
9
7
|
}, {
|
|
10
|
-
readonly id: "playwright-checks";
|
|
11
|
-
readonly
|
|
12
|
-
readonly description: "PlaywrightCheck construct for multi-browser test suites";
|
|
8
|
+
readonly id: "configure-playwright-checks";
|
|
9
|
+
readonly description: "Playwright Check Suite construct (`PlaywrightCheck`) for multi-browser test suites";
|
|
13
10
|
}, {
|
|
14
|
-
readonly id: "multistep-checks";
|
|
15
|
-
readonly
|
|
16
|
-
readonly description: "MultiStepCheck construct for complex user flows";
|
|
11
|
+
readonly id: "configure-multistep-checks";
|
|
12
|
+
readonly description: "Multistep Check construct (`MultiStepCheck`) for complex user flows";
|
|
17
13
|
}, {
|
|
18
|
-
readonly id: "
|
|
19
|
-
readonly
|
|
20
|
-
readonly description: "TCP (`TcpMonitor`), URL (`UrlMonitor`), DNS (`DnsMonitor`), ICMP (`IcmpMonitor`), and Heartbeat monitors (`HeartbeatMonitor`)";
|
|
14
|
+
readonly id: "configure-tcp-monitors";
|
|
15
|
+
readonly description: "TCP Monitor construct (`TcpMonitor`) with assertions";
|
|
21
16
|
}, {
|
|
22
|
-
readonly id: "
|
|
23
|
-
readonly
|
|
24
|
-
readonly description: "CheckGroupV2 construct for organizing checks";
|
|
17
|
+
readonly id: "configure-url-monitors";
|
|
18
|
+
readonly description: "URL Monitor construct (`UrlMonitor`) with assertions";
|
|
25
19
|
}, {
|
|
26
|
-
readonly id: "
|
|
27
|
-
readonly
|
|
28
|
-
readonly description: "Email, Phone, and Slack alert channels";
|
|
20
|
+
readonly id: "configure-dns-monitors";
|
|
21
|
+
readonly description: "DNS Monitor construct (`DnsMonitor`) with assertions";
|
|
29
22
|
}, {
|
|
30
|
-
readonly id: "
|
|
31
|
-
readonly
|
|
32
|
-
|
|
23
|
+
readonly id: "configure-icmp-monitors";
|
|
24
|
+
readonly description: "ICMP Monitor construct (`IcmpMonitor`) with latency and packet loss assertions";
|
|
25
|
+
}, {
|
|
26
|
+
readonly id: "configure-heartbeat-monitors";
|
|
27
|
+
readonly description: "Heartbeat Monitor construct (`HeartbeatMonitor`)";
|
|
28
|
+
}, {
|
|
29
|
+
readonly id: "configure-check-groups";
|
|
30
|
+
readonly description: "CheckGroupV2 construct (`CheckGroupV2`) for organizing checks";
|
|
31
|
+
}, {
|
|
32
|
+
readonly id: "configure-alert-channels";
|
|
33
|
+
readonly description: "Email (`EmailAlertChannel`), Phone (`PhoneCallAlertChannel`), and Slack (`SlackAlertChannel`) alert channels";
|
|
34
|
+
}, {
|
|
35
|
+
readonly id: "configure-supporting-constructs";
|
|
36
|
+
readonly description: "Status pages (`StatusPage`), dashboards (`Dashboard`), maintenance windows (`MaintenanceWindow`), and private locations (`PrivateLocation`)";
|
|
37
|
+
}];
|
|
38
|
+
export declare const SKILL: {
|
|
39
|
+
readonly name: "checkly";
|
|
40
|
+
readonly description: "Get all the information and context to let your agent initialize, set up, create, test and manage your monitoring checks using the Checkly CLI.";
|
|
41
|
+
};
|
|
42
|
+
export declare const ACTIONS: readonly [{
|
|
43
|
+
readonly id: "initialize";
|
|
44
|
+
readonly description: "Learn how to initialize and set up a new Checkly CLI project from scratch.";
|
|
45
|
+
}, {
|
|
46
|
+
readonly id: "configure";
|
|
47
|
+
readonly description: "Learn how to create and manage monitoring checks using Checkly constructs and the CLI.";
|
|
48
|
+
readonly references: readonly [{
|
|
49
|
+
readonly id: "configure-api-checks";
|
|
50
|
+
readonly description: "Api Check construct (`ApiCheck`), assertions, and authentication setup scripts";
|
|
51
|
+
}, {
|
|
52
|
+
readonly id: "configure-browser-checks";
|
|
53
|
+
readonly description: "Browser Check construct (`BrowserCheck`) with Playwright test files";
|
|
54
|
+
}, {
|
|
55
|
+
readonly id: "configure-playwright-checks";
|
|
56
|
+
readonly description: "Playwright Check Suite construct (`PlaywrightCheck`) for multi-browser test suites";
|
|
57
|
+
}, {
|
|
58
|
+
readonly id: "configure-multistep-checks";
|
|
59
|
+
readonly description: "Multistep Check construct (`MultiStepCheck`) for complex user flows";
|
|
60
|
+
}, {
|
|
61
|
+
readonly id: "configure-tcp-monitors";
|
|
62
|
+
readonly description: "TCP Monitor construct (`TcpMonitor`) with assertions";
|
|
63
|
+
}, {
|
|
64
|
+
readonly id: "configure-url-monitors";
|
|
65
|
+
readonly description: "URL Monitor construct (`UrlMonitor`) with assertions";
|
|
66
|
+
}, {
|
|
67
|
+
readonly id: "configure-dns-monitors";
|
|
68
|
+
readonly description: "DNS Monitor construct (`DnsMonitor`) with assertions";
|
|
69
|
+
}, {
|
|
70
|
+
readonly id: "configure-icmp-monitors";
|
|
71
|
+
readonly description: "ICMP Monitor construct (`IcmpMonitor`) with latency and packet loss assertions";
|
|
72
|
+
}, {
|
|
73
|
+
readonly id: "configure-heartbeat-monitors";
|
|
74
|
+
readonly description: "Heartbeat Monitor construct (`HeartbeatMonitor`)";
|
|
75
|
+
}, {
|
|
76
|
+
readonly id: "configure-check-groups";
|
|
77
|
+
readonly description: "CheckGroupV2 construct (`CheckGroupV2`) for organizing checks";
|
|
78
|
+
}, {
|
|
79
|
+
readonly id: "configure-alert-channels";
|
|
80
|
+
readonly description: "Email (`EmailAlertChannel`), Phone (`PhoneCallAlertChannel`), and Slack (`SlackAlertChannel`) alert channels";
|
|
81
|
+
}, {
|
|
82
|
+
readonly id: "configure-supporting-constructs";
|
|
83
|
+
readonly description: "Status pages (`StatusPage`), dashboards (`Dashboard`), maintenance windows (`MaintenanceWindow`), and private locations (`PrivateLocation`)";
|
|
84
|
+
}];
|
|
33
85
|
}];
|
|
34
86
|
interface ExampleConfig {
|
|
35
87
|
templateString: string;
|
|
@@ -1,46 +1,69 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.EXAMPLE_CONFIGS = exports.REFERENCES = void 0;
|
|
3
|
+
exports.EXAMPLE_CONFIGS = exports.ACTIONS = exports.SKILL = exports.REFERENCES = void 0;
|
|
4
4
|
exports.REFERENCES = [
|
|
5
5
|
{
|
|
6
|
-
id: 'api-checks',
|
|
7
|
-
|
|
8
|
-
description: 'ApiCheck construct, assertions, and authentication setup scripts',
|
|
6
|
+
id: 'configure-api-checks',
|
|
7
|
+
description: 'Api Check construct (`ApiCheck`), assertions, and authentication setup scripts',
|
|
9
8
|
},
|
|
10
9
|
{
|
|
11
|
-
id: 'browser-checks',
|
|
12
|
-
|
|
13
|
-
description: 'BrowserCheck construct with Playwright test files',
|
|
10
|
+
id: 'configure-browser-checks',
|
|
11
|
+
description: 'Browser Check construct (`BrowserCheck`) with Playwright test files',
|
|
14
12
|
},
|
|
15
13
|
{
|
|
16
|
-
id: 'playwright-checks',
|
|
17
|
-
|
|
18
|
-
description: 'PlaywrightCheck construct for multi-browser test suites',
|
|
14
|
+
id: 'configure-playwright-checks',
|
|
15
|
+
description: 'Playwright Check Suite construct (`PlaywrightCheck`) for multi-browser test suites',
|
|
19
16
|
},
|
|
20
17
|
{
|
|
21
|
-
id: 'multistep-checks',
|
|
22
|
-
|
|
23
|
-
description: 'MultiStepCheck construct for complex user flows',
|
|
18
|
+
id: 'configure-multistep-checks',
|
|
19
|
+
description: 'Multistep Check construct (`MultiStepCheck`) for complex user flows',
|
|
24
20
|
},
|
|
25
21
|
{
|
|
26
|
-
id: '
|
|
27
|
-
|
|
28
|
-
description: 'TCP (`TcpMonitor`), URL (`UrlMonitor`), DNS (`DnsMonitor`), ICMP (`IcmpMonitor`), and Heartbeat monitors (`HeartbeatMonitor`)',
|
|
22
|
+
id: 'configure-tcp-monitors',
|
|
23
|
+
description: 'TCP Monitor construct (`TcpMonitor`) with assertions',
|
|
29
24
|
},
|
|
30
25
|
{
|
|
31
|
-
id: '
|
|
32
|
-
|
|
33
|
-
description: 'CheckGroupV2 construct for organizing checks',
|
|
26
|
+
id: 'configure-url-monitors',
|
|
27
|
+
description: 'URL Monitor construct (`UrlMonitor`) with assertions',
|
|
34
28
|
},
|
|
35
29
|
{
|
|
36
|
-
id: '
|
|
37
|
-
|
|
38
|
-
description: 'Email, Phone, and Slack alert channels',
|
|
30
|
+
id: 'configure-dns-monitors',
|
|
31
|
+
description: 'DNS Monitor construct (`DnsMonitor`) with assertions',
|
|
39
32
|
},
|
|
40
33
|
{
|
|
41
|
-
id: '
|
|
42
|
-
|
|
43
|
-
|
|
34
|
+
id: 'configure-icmp-monitors',
|
|
35
|
+
description: 'ICMP Monitor construct (`IcmpMonitor`) with latency and packet loss assertions',
|
|
36
|
+
},
|
|
37
|
+
{
|
|
38
|
+
id: 'configure-heartbeat-monitors',
|
|
39
|
+
description: 'Heartbeat Monitor construct (`HeartbeatMonitor`)',
|
|
40
|
+
},
|
|
41
|
+
{
|
|
42
|
+
id: 'configure-check-groups',
|
|
43
|
+
description: 'CheckGroupV2 construct (`CheckGroupV2`) for organizing checks',
|
|
44
|
+
},
|
|
45
|
+
{
|
|
46
|
+
id: 'configure-alert-channels',
|
|
47
|
+
description: 'Email (`EmailAlertChannel`), Phone (`PhoneCallAlertChannel`), and Slack (`SlackAlertChannel`) alert channels',
|
|
48
|
+
},
|
|
49
|
+
{
|
|
50
|
+
id: 'configure-supporting-constructs',
|
|
51
|
+
description: 'Status pages (`StatusPage`), dashboards (`Dashboard`), maintenance windows (`MaintenanceWindow`), and private locations (`PrivateLocation`)',
|
|
52
|
+
},
|
|
53
|
+
];
|
|
54
|
+
exports.SKILL = {
|
|
55
|
+
name: 'checkly',
|
|
56
|
+
description: 'Get all the information and context to let your agent initialize, set up, create, test and manage your monitoring checks using the Checkly CLI.',
|
|
57
|
+
};
|
|
58
|
+
exports.ACTIONS = [
|
|
59
|
+
{
|
|
60
|
+
id: 'initialize',
|
|
61
|
+
description: 'Learn how to initialize and set up a new Checkly CLI project from scratch.',
|
|
62
|
+
},
|
|
63
|
+
{
|
|
64
|
+
id: 'configure',
|
|
65
|
+
description: 'Learn how to create and manage monitoring checks using Checkly constructs and the CLI.',
|
|
66
|
+
references: exports.REFERENCES,
|
|
44
67
|
},
|
|
45
68
|
];
|
|
46
69
|
exports.EXAMPLE_CONFIGS = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.js","sourceRoot":"","sources":["../../src/ai-context/context.ts"],"names":[],"mappings":";;;AAAa,QAAA,UAAU,GAAG;IACxB;QACE,EAAE,EAAE,
|
|
1
|
+
{"version":3,"file":"context.js","sourceRoot":"","sources":["../../src/ai-context/context.ts"],"names":[],"mappings":";;;AAAa,QAAA,UAAU,GAAG;IACxB;QACE,EAAE,EAAE,sBAAsB;QAC1B,WAAW,EAAE,gFAAgF;KAC9F;IACD;QACE,EAAE,EAAE,0BAA0B;QAC9B,WAAW,EAAE,qEAAqE;KACnF;IACD;QACE,EAAE,EAAE,6BAA6B;QACjC,WAAW,EAAE,oFAAoF;KAClG;IACD;QACE,EAAE,EAAE,4BAA4B;QAChC,WAAW,EAAE,qEAAqE;KACnF;IACD;QACE,EAAE,EAAE,wBAAwB;QAC5B,WAAW,EAAE,sDAAsD;KACpE;IACD;QACE,EAAE,EAAE,wBAAwB;QAC5B,WAAW,EAAE,sDAAsD;KACpE;IACD;QACE,EAAE,EAAE,wBAAwB;QAC5B,WAAW,EAAE,sDAAsD;KACpE;IACD;QACE,EAAE,EAAE,yBAAyB;QAC7B,WAAW,EAAE,gFAAgF;KAC9F;IACD;QACE,EAAE,EAAE,8BAA8B;QAClC,WAAW,EAAE,kDAAkD;KAChE;IACD;QACE,EAAE,EAAE,wBAAwB;QAC5B,WAAW,EAAE,+DAA+D;KAC7E;IACD;QACE,EAAE,EAAE,0BAA0B;QAC9B,WAAW,EAAE,8GAA8G;KAC5H;IACD;QACE,EAAE,EAAE,iCAAiC;QACrC,WAAW,EAAE,6IAA6I;KAC3J;CACO,CAAA;AAEG,QAAA,KAAK,GAAG;IACnB,IAAI,EAAE,SAAS;IACf,WAAW,EAAE,iJAAiJ;CACtJ,CAAA;AAEG,QAAA,OAAO,GAAG;IACrB;QACE,EAAE,EAAE,YAAY;QAChB,WAAW,EAAE,4EAA4E;KAC1F;IACD;QACE,EAAE,EAAE,WAAW;QACf,WAAW,EAAE,wFAAwF;QACrG,UAAU,EAAE,kBAAU;KACvB;CACO,CAAA;AASG,QAAA,eAAe,GAAkC;IAC5D,cAAc,EAAE;QACd,cAAc,EAAE,kCAAkC;QAClD,aAAa,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgClB;QACG,SAAS,EAAE,oDAAoD;KAChE;IACD,aAAa,EAAE;QACb,cAAc,EAAE,iCAAiC;QACjD,iBAAiB,EACf,+EAA+E;QACjF,SAAS,EAAE,0DAA0D;KACtE;IACD,gBAAgB,EAAE;QAChB,cAAc,EAAE,oCAAoC;QACpD,aAAa,EAAE;;;;;;;;;CASlB;QACG,SAAS,EAAE,6DAA6D;KACzE;IACD,SAAS,EAAE;QACT,cAAc,EAAE,6BAA6B;QAC7C,iBAAiB,EACf,mEAAmE;QACrE,SAAS,EAAE,sDAAsD;KAClE;IACD,eAAe,EAAE;QACf,cAAc,EAAE,mCAAmC;QACnD,iBAAiB,EACf,sFAAsF;QACxF,SAAS,EAAE,4DAA4D;KACxE;IACD,WAAW,EAAE;QACX,cAAc,EAAE,+BAA+B;QAC/C,iBAAiB,EAAE,qDAAqD;QACxE,SAAS,EAAE,wDAAwD;KACpE;IACD,iBAAiB,EAAE;QACjB,cAAc,EAAE,qCAAqC;QACrD,iBAAiB,EACf,iEAAiE;QACnE,SAAS,EAAE,8DAA8D;KAC1E;IACD,WAAW,EAAE;QACX,cAAc,EAAE,+BAA+B;QAC/C,iBAAiB,EAAE,qDAAqD;QACxE,SAAS,EAAE,wDAAwD;KACpE;IACD,WAAW,EAAE;QACX,cAAc,EAAE,+BAA+B;QAC/C,iBAAiB,EAAE,qDAAqD;QACxE,SAAS,EAAE,wDAAwD;KACpE;IACD,YAAY,EAAE;QACZ,cAAc,EAAE,gCAAgC;QAChD,iBAAiB,EAAE,uDAAuD;QAC1E,SAAS,EAAE,yDAAyD;KACrE;IACD,WAAW,EAAE;QACX,cAAc,EAAE,+BAA+B;QAC/C,iBAAiB,EACf,4DAA4D;QAC9D,SAAS,EAAE,wDAAwD;KACpE;IACD,WAAW,EAAE;QACX,cAAc,EAAE,+BAA+B;QAC/C,iBAAiB,EAAE,qDAAqD;QACxE,SAAS,EAAE,wDAAwD;KACpE;IACD,mBAAmB,EAAE;QACnB,cAAc,EAAE,uCAAuC;QACvD,iBAAiB,EACf,0DAA0D;QAC5D,SAAS,EAAE,gEAAgE;KAC5E;IACD,SAAS,EAAE;QACT,cAAc,EAAE,6BAA6B;QAC7C,iBAAiB,EACf,mEAAmE;QACrE,SAAS,EAAE,sDAAsD;KAClE;IACD,kBAAkB,EAAE;QAClB,cAAc,EAAE,sCAAsC;QACtD,iBAAiB,EACf,mEAAmE;QACrE,SAAS,EAAE,+DAA+D;KAC3E;IACD,gBAAgB,EAAE;QAChB,cAAc,EAAE,oCAAoC;QACpD,iBAAiB,EACf,+DAA+D;QACjE,SAAS,EAAE,6DAA6D;KACzE;IACD,mBAAmB,EAAE;QACnB,cAAc,EAAE,uCAAuC;QACvD,iBAAiB,EAAE,8CAA8C;QACjE,SAAS,EAAE,gEAAgE;KAC5E;IACD,wBAAwB,EAAE;QACxB,cAAc,EAAE,4CAA4C;QAC5D,iBAAiB,EAAE,wDAAwD;QAC3E,SAAS,EAAE,qEAAqE;KACjF;IACD,mBAAmB,EAAE;QACnB,cAAc,EAAE,uCAAuC;QACvD,iBAAiB,EAAE,iDAAiD;QACpE,SAAS,EAAE,gEAAgE;KAC5E;CACF,CAAA"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
# Checkly CLI Agent Skill
|
|
2
|
+
|
|
3
|
+
This directory contains the agent skill for setting up, creating, and managing end-to-end testing, monitoring, & observability with an AI-native workflow using Checkly.
|
|
4
|
+
|
|
5
|
+
## Structure
|
|
6
|
+
|
|
7
|
+
```
|
|
8
|
+
skills/
|
|
9
|
+
└── checkly/
|
|
10
|
+
├── README.md # Documentation about the skill
|
|
11
|
+
└── SKILL.md # Main skill instructions
|
|
12
|
+
```
|
|
13
|
+
|
|
14
|
+
## Why are there no `references`?
|
|
15
|
+
|
|
16
|
+
The Checkly CLI provides a `npx checkly skills` command which gives your agent all the tools to request the right information at the right time.
|
|
17
|
+
|
|
18
|
+
## What is an Agent Skill?
|
|
19
|
+
|
|
20
|
+
Agent Skills are a standardized format for giving AI agents specialized knowledge and workflows. This skill teaches agents how to:
|
|
21
|
+
|
|
22
|
+
- Create and manage API checks, Browser Checks, URL monitors, and other monitors
|
|
23
|
+
- Set up Playwright-based Browser and Multistep checks and Playwright Check Suites
|
|
24
|
+
- Configure Heartbeat Monitors for cron jobs and scheduled tasks
|
|
25
|
+
- Define alert channels (email, Slack, phone, webhooks, etc.)
|
|
26
|
+
- Build dashboards and status pages
|
|
27
|
+
- Follow monitoring-as-code best practices with the Checkly CLI
|
|
28
|
+
|
|
29
|
+
## Using This Skill
|
|
30
|
+
|
|
31
|
+
AI agents can load this skill to gain expertise in Checkly monitoring. The skill follows the [Agent Skills specification](https://agentskills.io) with:
|
|
32
|
+
|
|
33
|
+
- **SKILL.md**: Core instructions loaded when the skill is activated. It references the `npx checkly skills` command for detailed construct documentation and examples.
|
|
34
|
+
|
|
35
|
+
## Learn More
|
|
36
|
+
|
|
37
|
+
- [Checkly CLI Documentation](https://www.checklyhq.com/docs/cli/overview/)
|
|
38
|
+
- [Checkly Constructs Reference](https://www.checklyhq.com/docs/constructs/overview/)
|
|
39
|
+
- [Agent Skills Specification](https://agentskills.io/specification.md)
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: checkly
|
|
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:*)
|
|
5
|
+
metadata:
|
|
6
|
+
author: checkly
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# Checkly
|
|
10
|
+
|
|
11
|
+
The Checkly CLI provides all the required information via the `npx checkly skills` command.
|
|
12
|
+
|
|
13
|
+
Use `npx checkly skills` to list all available actions, and `npx checkly skills <action>` to access up-to-date information on how to use the Checkly CLI for each action.
|
|
14
|
+
|
|
15
|
+
## Progressive Disclosure via `npx checkly skills`
|
|
16
|
+
|
|
17
|
+
The skill is structured for efficient context usage:
|
|
18
|
+
|
|
19
|
+
1. **Metadata** (~80 tokens): Name and description in frontmatter
|
|
20
|
+
2. **Core Instructions** (~1K tokens): Main SKILL.md content with links to reference commands
|
|
21
|
+
3. **Reference Commands** (loaded on demand): Detailed construct documentation with examples
|
|
22
|
+
|
|
23
|
+
Agents load what they need for each task.
|
|
24
|
+
|
|
25
|
+
### `npx checkly skills initialize`
|
|
26
|
+
Learn how to initialize and set up a new Checkly CLI project from scratch.
|
|
27
|
+
|
|
28
|
+
### `npx checkly skills configure`
|
|
29
|
+
Learn how to create and manage monitoring checks using Checkly constructs and the CLI.
|
|
30
|
+
|
|
31
|
+
#### `npx checkly skills configure api-checks`
|
|
32
|
+
Api Check construct (`ApiCheck`), assertions, and authentication setup scripts
|
|
33
|
+
|
|
34
|
+
#### `npx checkly skills configure browser-checks`
|
|
35
|
+
Browser Check construct (`BrowserCheck`) with Playwright test files
|
|
36
|
+
|
|
37
|
+
#### `npx checkly skills configure playwright-checks`
|
|
38
|
+
Playwright Check Suite construct (`PlaywrightCheck`) for multi-browser test suites
|
|
39
|
+
|
|
40
|
+
#### `npx checkly skills configure multistep-checks`
|
|
41
|
+
Multistep Check construct (`MultiStepCheck`) for complex user flows
|
|
42
|
+
|
|
43
|
+
#### `npx checkly skills configure tcp-monitors`
|
|
44
|
+
TCP Monitor construct (`TcpMonitor`) with assertions
|
|
45
|
+
|
|
46
|
+
#### `npx checkly skills configure url-monitors`
|
|
47
|
+
URL Monitor construct (`UrlMonitor`) with assertions
|
|
48
|
+
|
|
49
|
+
#### `npx checkly skills configure dns-monitors`
|
|
50
|
+
DNS Monitor construct (`DnsMonitor`) with assertions
|
|
51
|
+
|
|
52
|
+
#### `npx checkly skills configure icmp-monitors`
|
|
53
|
+
ICMP Monitor construct (`IcmpMonitor`) with latency and packet loss assertions
|
|
54
|
+
|
|
55
|
+
#### `npx checkly skills configure heartbeat-monitors`
|
|
56
|
+
Heartbeat Monitor construct (`HeartbeatMonitor`)
|
|
57
|
+
|
|
58
|
+
#### `npx checkly skills configure check-groups`
|
|
59
|
+
CheckGroupV2 construct (`CheckGroupV2`) for organizing checks
|
|
60
|
+
|
|
61
|
+
#### `npx checkly skills configure alert-channels`
|
|
62
|
+
Email (`EmailAlertChannel`), Phone (`PhoneCallAlertChannel`), and Slack (`SlackAlertChannel`) alert channels
|
|
63
|
+
|
|
64
|
+
#### `npx checkly skills configure supporting-constructs`
|
|
65
|
+
Status pages (`StatusPage`), dashboards (`Dashboard`), maintenance windows (`MaintenanceWindow`), and private locations (`PrivateLocation`)
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
# DNS Monitor
|
|
2
|
+
|
|
3
|
+
- Import the `DnsMonitor` construct from `checkly/constructs`.
|
|
4
|
+
- Reference [the docs for DNS monitors](https://www.checklyhq.com/docs/constructs/dns-monitor/) before generating any code.
|
|
5
|
+
- When adding `assertions`, always use `DnsAssertionBuilder` class.
|
|
6
|
+
|
|
7
|
+
**Reference:** https://www.checklyhq.com/docs/constructs/dns-monitor/
|
|
8
|
+
|
|
9
|
+
```typescript
|
|
10
|
+
import { AlertEscalationBuilder, DnsAssertionBuilder, DnsMonitor, Frequency, RetryStrategyBuilder } from 'checkly/constructs'
|
|
11
|
+
|
|
12
|
+
new DnsMonitor('example-dns-monitor', {
|
|
13
|
+
name: 'Example DNS Monitor',
|
|
14
|
+
degradedResponseTime: 500,
|
|
15
|
+
maxResponseTime: 1000,
|
|
16
|
+
activated: true,
|
|
17
|
+
locations: [
|
|
18
|
+
'eu-central-1',
|
|
19
|
+
'eu-north-1',
|
|
20
|
+
],
|
|
21
|
+
frequency: Frequency.EVERY_10M,
|
|
22
|
+
alertEscalationPolicy: AlertEscalationBuilder.runBasedEscalation(1, {
|
|
23
|
+
amount: 0,
|
|
24
|
+
interval: 5,
|
|
25
|
+
}, {
|
|
26
|
+
enabled: false,
|
|
27
|
+
percentage: 10,
|
|
28
|
+
}),
|
|
29
|
+
retryStrategy: RetryStrategyBuilder.noRetries(),
|
|
30
|
+
request: {
|
|
31
|
+
recordType: 'AAAA',
|
|
32
|
+
query: 'INSERT_HOSTNAME',
|
|
33
|
+
assertions: [
|
|
34
|
+
DnsAssertionBuilder.responseCode().equals('NOERROR'),
|
|
35
|
+
],
|
|
36
|
+
},
|
|
37
|
+
})
|
|
38
|
+
```
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
# Heartbeat Monitor
|
|
2
|
+
|
|
3
|
+
- Import the `HeartbeatMonitor` construct from `checkly/constructs`.
|
|
4
|
+
|
|
5
|
+
**Reference:** https://www.checklyhq.com/docs/constructs/heartbeat-monitor/
|
|
6
|
+
|
|
7
|
+
```typescript
|
|
8
|
+
import { AlertEscalationBuilder, Frequency, HeartbeatMonitor, RetryStrategyBuilder } from 'checkly/constructs'
|
|
9
|
+
|
|
10
|
+
new HeartbeatMonitor('example-heartbeat-monitor', {
|
|
11
|
+
name: 'Example Heartbeat Monitor',
|
|
12
|
+
period: 1,
|
|
13
|
+
periodUnit: 'hours',
|
|
14
|
+
grace: 30,
|
|
15
|
+
graceUnit: 'minutes',
|
|
16
|
+
activated: true,
|
|
17
|
+
frequency: Frequency.EVERY_10S,
|
|
18
|
+
alertEscalationPolicy: AlertEscalationBuilder.runBasedEscalation(1, {
|
|
19
|
+
amount: 0,
|
|
20
|
+
interval: 5,
|
|
21
|
+
}, {
|
|
22
|
+
enabled: false,
|
|
23
|
+
percentage: 10,
|
|
24
|
+
}),
|
|
25
|
+
retryStrategy: RetryStrategyBuilder.linearStrategy({
|
|
26
|
+
baseBackoffSeconds: 60,
|
|
27
|
+
maxRetries: 2,
|
|
28
|
+
maxDurationSeconds: 600,
|
|
29
|
+
sameRegion: true,
|
|
30
|
+
}),
|
|
31
|
+
runParallel: true,
|
|
32
|
+
})
|
|
33
|
+
```
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
# ICMP Monitor
|
|
2
|
+
|
|
3
|
+
- Import the `IcmpMonitor` construct from `checkly/constructs`.
|
|
4
|
+
- Reference [the docs for ICMP monitors](https://www.checklyhq.com/docs/constructs/icmp-monitor/) before generating any code.
|
|
5
|
+
- When adding `assertions`, always use `IcmpAssertionBuilder` class.
|
|
6
|
+
- Latency assertions require a property parameter: `'avg'`, `'min'`, `'max'`, or `'stdDev'`.
|
|
7
|
+
- Use `degradedPacketLossThreshold` and `maxPacketLossThreshold` for packet loss thresholds (percentages).
|
|
8
|
+
|
|
9
|
+
**Reference:** https://www.checklyhq.com/docs/constructs/icmp-monitor/
|
|
10
|
+
|
|
11
|
+
```typescript
|
|
12
|
+
import { AlertEscalationBuilder, Frequency, IcmpAssertionBuilder, IcmpMonitor, RetryStrategyBuilder } from 'checkly/constructs'
|
|
13
|
+
|
|
14
|
+
new IcmpMonitor('example-icmp-monitor', {
|
|
15
|
+
name: 'Example ICMP Monitor',
|
|
16
|
+
request: {
|
|
17
|
+
hostname: 'INSERT_HOSTNAME',
|
|
18
|
+
pingCount: 10,
|
|
19
|
+
assertions: [
|
|
20
|
+
IcmpAssertionBuilder.latency('avg').lessThan(100),
|
|
21
|
+
IcmpAssertionBuilder.latency('max').lessThan(200),
|
|
22
|
+
],
|
|
23
|
+
},
|
|
24
|
+
degradedPacketLossThreshold: 10,
|
|
25
|
+
maxPacketLossThreshold: 20,
|
|
26
|
+
activated: true,
|
|
27
|
+
locations: [
|
|
28
|
+
'eu-central-1',
|
|
29
|
+
'eu-north-1',
|
|
30
|
+
],
|
|
31
|
+
frequency: Frequency.EVERY_10M,
|
|
32
|
+
alertEscalationPolicy: AlertEscalationBuilder.runBasedEscalation(1, {
|
|
33
|
+
amount: 0,
|
|
34
|
+
interval: 5,
|
|
35
|
+
}, {
|
|
36
|
+
enabled: false,
|
|
37
|
+
percentage: 10,
|
|
38
|
+
}),
|
|
39
|
+
retryStrategy: RetryStrategyBuilder.noRetries(),
|
|
40
|
+
})
|
|
41
|
+
```
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
# TCP Monitor
|
|
2
|
+
|
|
3
|
+
- Import the `TcpMonitor` construct from `checkly/constructs`.
|
|
4
|
+
- When adding `assertions`, always use `TcpAssertionBuilder` class for TCP monitors.
|
|
5
|
+
|
|
6
|
+
**Reference:** https://www.checklyhq.com/docs/constructs/tcp-monitor/
|
|
7
|
+
|
|
8
|
+
```typescript
|
|
9
|
+
import { AlertEscalationBuilder, Frequency, RetryStrategyBuilder, TcpAssertionBuilder, TcpMonitor } from 'checkly/constructs'
|
|
10
|
+
|
|
11
|
+
new TcpMonitor('example-tcp-monitor', {
|
|
12
|
+
name: 'Example TCP Monitor',
|
|
13
|
+
degradedResponseTime: 5000,
|
|
14
|
+
maxResponseTime: 5000,
|
|
15
|
+
activated: true,
|
|
16
|
+
locations: [
|
|
17
|
+
'eu-central-1',
|
|
18
|
+
'eu-west-2',
|
|
19
|
+
],
|
|
20
|
+
frequency: Frequency.EVERY_1H,
|
|
21
|
+
alertEscalationPolicy: AlertEscalationBuilder.runBasedEscalation(1, {
|
|
22
|
+
amount: 0,
|
|
23
|
+
interval: 5,
|
|
24
|
+
}, {
|
|
25
|
+
enabled: false,
|
|
26
|
+
percentage: 10,
|
|
27
|
+
}),
|
|
28
|
+
retryStrategy: RetryStrategyBuilder.linearStrategy({
|
|
29
|
+
baseBackoffSeconds: 60,
|
|
30
|
+
maxRetries: 2,
|
|
31
|
+
maxDurationSeconds: 600,
|
|
32
|
+
sameRegion: true,
|
|
33
|
+
}),
|
|
34
|
+
runParallel: true,
|
|
35
|
+
request: {
|
|
36
|
+
hostname: 'INSERT_HOSTNAME',
|
|
37
|
+
port: 4242,
|
|
38
|
+
ipFamily: 'IPv4',
|
|
39
|
+
assertions: [
|
|
40
|
+
TcpAssertionBuilder.responseTime().lessThan(200),
|
|
41
|
+
TcpAssertionBuilder.responseData().isEmpty(),
|
|
42
|
+
],
|
|
43
|
+
},
|
|
44
|
+
})
|
|
45
|
+
```
|