checkly 7.10.0 → 7.11.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 +77 -0
- package/dist/ai-context/context.d.ts +6 -0
- package/dist/ai-context/context.js +9 -0
- package/dist/ai-context/context.js.map +1 -1
- package/dist/ai-context/public-skills/checkly/SKILL.md +4 -1
- package/dist/ai-context/skills-command/references/configure-agentic-checks.md +73 -0
- package/dist/ai-context/skills-command/references/configure.md +3 -0
- package/dist/ai-context/skills-command/references/investigate-checks.md +20 -4
- package/dist/constants.d.ts +2 -1
- package/dist/constants.js +1 -0
- package/dist/constants.js.map +1 -1
- package/dist/constructs/agentic-check-codegen.d.ts +34 -0
- package/dist/constructs/agentic-check-codegen.js +94 -0
- package/dist/constructs/agentic-check-codegen.js.map +1 -0
- package/dist/constructs/agentic-check.d.ts +186 -0
- package/dist/constructs/agentic-check.js +136 -0
- package/dist/constructs/agentic-check.js.map +1 -0
- package/dist/constructs/alert-escalation-policy.d.ts +1 -1
- package/dist/constructs/check-codegen.d.ts +22 -1
- package/dist/constructs/check-codegen.js +12 -2
- package/dist/constructs/check-codegen.js.map +1 -1
- package/dist/constructs/index.d.ts +1 -0
- package/dist/constructs/index.js +1 -0
- package/dist/constructs/index.js.map +1 -1
- package/dist/rest/analytics.js +4 -0
- package/dist/rest/analytics.js.map +1 -1
- package/dist/services/check-parser/package-files/package-manager.d.ts +9 -15
- package/dist/services/check-parser/package-files/package-manager.js +24 -34
- package/dist/services/check-parser/package-files/package-manager.js.map +1 -1
- package/dist/testing/fixture-sandbox.js +6 -7
- package/dist/testing/fixture-sandbox.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/oclif.manifest.json +5 -3
- package/package.json +1 -1
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.AgenticCheck = void 0;
|
|
4
|
+
const check_1 = require("./check");
|
|
5
|
+
const project_1 = require("./project");
|
|
6
|
+
const constants_1 = require("../constants");
|
|
7
|
+
const construct_diagnostics_1 = require("./construct-diagnostics");
|
|
8
|
+
/**
|
|
9
|
+
* Frequency values (in minutes) currently supported for agentic checks.
|
|
10
|
+
* Mirrors the values exposed in the Checkly webapp's agentic check builder.
|
|
11
|
+
*/
|
|
12
|
+
const ALLOWED_AGENTIC_FREQUENCIES = [30, 60, 120, 180, 360, 720, 1440];
|
|
13
|
+
/**
|
|
14
|
+
* The single location agentic checks currently run from. Until the platform
|
|
15
|
+
* supports running agentic checks from multiple locations, this value is
|
|
16
|
+
* forced server-side and the construct does not let users override it.
|
|
17
|
+
*/
|
|
18
|
+
const AGENTIC_CHECK_LOCATION = 'us-east-1';
|
|
19
|
+
/**
|
|
20
|
+
* Maximum length of an environment variable description, in characters.
|
|
21
|
+
* Matches the truncation length applied by the agentic runner.
|
|
22
|
+
*/
|
|
23
|
+
const MAX_ENV_VAR_DESCRIPTION_LENGTH = 200;
|
|
24
|
+
/**
|
|
25
|
+
* Creates an Agentic Check that uses AI to monitor websites and applications.
|
|
26
|
+
*
|
|
27
|
+
* Agentic checks use a prompt to define what should be verified, without
|
|
28
|
+
* requiring traditional scripts. The AI agent interprets the prompt and
|
|
29
|
+
* performs the checks.
|
|
30
|
+
*
|
|
31
|
+
* @example
|
|
32
|
+
* ```typescript
|
|
33
|
+
* new AgenticCheck('homepage-health', {
|
|
34
|
+
* name: 'Homepage Health Check',
|
|
35
|
+
* prompt: `
|
|
36
|
+
* Navigate to https://example.com and verify:
|
|
37
|
+
* 1. The page loads with a 200 status
|
|
38
|
+
* 2. The main heading is visible
|
|
39
|
+
* 3. No console errors are present
|
|
40
|
+
* `,
|
|
41
|
+
* })
|
|
42
|
+
* ```
|
|
43
|
+
*/
|
|
44
|
+
class AgenticCheck extends check_1.Check {
|
|
45
|
+
prompt;
|
|
46
|
+
agentRuntime;
|
|
47
|
+
/**
|
|
48
|
+
* Constructs the Agentic Check instance.
|
|
49
|
+
*
|
|
50
|
+
* @param logicalId unique project-scoped resource name identification
|
|
51
|
+
* @param props check configuration properties
|
|
52
|
+
*/
|
|
53
|
+
constructor(logicalId, props) {
|
|
54
|
+
super(logicalId, props);
|
|
55
|
+
this.prompt = props.prompt;
|
|
56
|
+
this.agentRuntime = props.agentRuntime;
|
|
57
|
+
// Defensive overrides: even though these props are omitted from the type,
|
|
58
|
+
// `Check.applyConfigDefaults()` may pull them in from the project-level
|
|
59
|
+
// `checks` config defaults. Force them to the only values the platform
|
|
60
|
+
// currently honors so the construct never claims to support something
|
|
61
|
+
// it doesn't.
|
|
62
|
+
this.locations = [AGENTIC_CHECK_LOCATION];
|
|
63
|
+
this.privateLocations = undefined;
|
|
64
|
+
this.runParallel = false;
|
|
65
|
+
this.retryStrategy = undefined;
|
|
66
|
+
this.shouldFail = undefined;
|
|
67
|
+
this.doubleCheck = undefined;
|
|
68
|
+
this.triggerIncident = undefined;
|
|
69
|
+
// Default frequency to 30m if the user did not specify one.
|
|
70
|
+
if (this.frequency === undefined) {
|
|
71
|
+
this.frequency = 30;
|
|
72
|
+
}
|
|
73
|
+
project_1.Session.registerConstruct(this);
|
|
74
|
+
this.addSubscriptions();
|
|
75
|
+
}
|
|
76
|
+
describe() {
|
|
77
|
+
return `AgenticCheck:${this.logicalId}`;
|
|
78
|
+
}
|
|
79
|
+
async validate(diagnostics) {
|
|
80
|
+
await super.validate(diagnostics);
|
|
81
|
+
if (!this.prompt || this.prompt.trim().length === 0) {
|
|
82
|
+
diagnostics.add(new construct_diagnostics_1.InvalidPropertyValueDiagnostic('prompt', new Error('"prompt" is required and must not be empty.')));
|
|
83
|
+
}
|
|
84
|
+
else if (this.prompt.length > 10000) {
|
|
85
|
+
diagnostics.add(new construct_diagnostics_1.InvalidPropertyValueDiagnostic('prompt', new Error(`"prompt" must be at most 10000 characters, got ${this.prompt.length}.`)));
|
|
86
|
+
}
|
|
87
|
+
if (this.frequency !== undefined
|
|
88
|
+
&& !ALLOWED_AGENTIC_FREQUENCIES.includes(this.frequency)) {
|
|
89
|
+
diagnostics.add(new construct_diagnostics_1.InvalidPropertyValueDiagnostic('frequency', new Error(`"frequency" must be one of ${ALLOWED_AGENTIC_FREQUENCIES.join(', ')} `
|
|
90
|
+
+ `for agentic checks, got ${this.frequency}.`)));
|
|
91
|
+
}
|
|
92
|
+
this.validateAgentRuntime(diagnostics);
|
|
93
|
+
}
|
|
94
|
+
// eslint-disable-next-line require-await
|
|
95
|
+
async validateAgentRuntime(diagnostics) {
|
|
96
|
+
if (this.agentRuntime?.skills) {
|
|
97
|
+
for (const [index, skill] of this.agentRuntime.skills.entries()) {
|
|
98
|
+
if (typeof skill !== 'string' || skill.trim().length === 0) {
|
|
99
|
+
diagnostics.add(new construct_diagnostics_1.InvalidPropertyValueDiagnostic('agentRuntime.skills', new Error(`"agentRuntime.skills[${index}]" must be a non-empty string.`)));
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
if (this.agentRuntime?.exposeEnvironmentVariables) {
|
|
104
|
+
for (const [index, entry] of this.agentRuntime.exposeEnvironmentVariables.entries()) {
|
|
105
|
+
const name = typeof entry === 'string' ? entry : entry?.name;
|
|
106
|
+
if (typeof name !== 'string' || name.trim().length === 0) {
|
|
107
|
+
diagnostics.add(new construct_diagnostics_1.InvalidPropertyValueDiagnostic('agentRuntime.exposeEnvironmentVariables', new Error(`"agentRuntime.exposeEnvironmentVariables[${index}]" must have a non-empty name.`)));
|
|
108
|
+
continue;
|
|
109
|
+
}
|
|
110
|
+
if (typeof entry !== 'string'
|
|
111
|
+
&& typeof entry.description === 'string'
|
|
112
|
+
&& entry.description.length > MAX_ENV_VAR_DESCRIPTION_LENGTH) {
|
|
113
|
+
diagnostics.add(new construct_diagnostics_1.InvalidPropertyValueDiagnostic('agentRuntime.exposeEnvironmentVariables', new Error(`"agentRuntime.exposeEnvironmentVariables[${index}].description" must be at most `
|
|
114
|
+
+ `${MAX_ENV_VAR_DESCRIPTION_LENGTH} characters, got ${entry.description.length}.`)));
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
synthesize() {
|
|
120
|
+
return {
|
|
121
|
+
...super.synthesize(),
|
|
122
|
+
checkType: constants_1.CheckTypes.AGENTIC,
|
|
123
|
+
prompt: this.prompt,
|
|
124
|
+
// Always emit `agentRuntime` so the backend has an explicit, complete
|
|
125
|
+
// picture of the runtime surface the user wants. The CLI is the source
|
|
126
|
+
// of truth: omitted skills/env vars mean "the agent should not have
|
|
127
|
+
// them", not "preserve whatever was there before".
|
|
128
|
+
agentRuntime: {
|
|
129
|
+
skills: this.agentRuntime?.skills ?? [],
|
|
130
|
+
exposeEnvironmentVariables: this.agentRuntime?.exposeEnvironmentVariables ?? [],
|
|
131
|
+
},
|
|
132
|
+
};
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
exports.AgenticCheck = AgenticCheck;
|
|
136
|
+
//# sourceMappingURL=agentic-check.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agentic-check.js","sourceRoot":"","sources":["../../src/constructs/agentic-check.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { Codegen, Context } from './internal/codegen';
|
|
2
2
|
import { Program, ObjectValueBuilder, GeneratedFile } from '../sourcegen';
|
|
3
|
+
import { AgenticCheckCodegen } from './agentic-check-codegen';
|
|
3
4
|
import { AlertEscalationResource } from './alert-escalation-policy-codegen';
|
|
4
5
|
import { ApiCheckCodegen } from './api-check-codegen';
|
|
5
6
|
import { BrowserCheckCodegen } from './browser-check-codegen';
|
|
@@ -31,13 +32,33 @@ export interface CheckResource {
|
|
|
31
32
|
retryStrategy?: RetryStrategyResource;
|
|
32
33
|
runParallel?: boolean;
|
|
33
34
|
}
|
|
34
|
-
|
|
35
|
+
/**
|
|
36
|
+
* Options controlling which common check fields `buildCheckProps` emits.
|
|
37
|
+
*
|
|
38
|
+
* The defaults match the historical behavior — every field is emitted if
|
|
39
|
+
* the resource provides it. Individual check types can opt out of specific
|
|
40
|
+
* fields when their construct's props type does not accept them. For
|
|
41
|
+
* example, `AgenticCheck` omits `retryStrategy` from its props, so its
|
|
42
|
+
* codegen passes `skipRetryStrategy: true` to avoid emitting code that
|
|
43
|
+
* would not type-check against the construct.
|
|
44
|
+
*/
|
|
45
|
+
export interface BuildCheckPropsOptions {
|
|
46
|
+
/**
|
|
47
|
+
* Skip emitting the `retryStrategy` property. Unlike most fields in
|
|
48
|
+
* `buildCheckProps`, `retryStrategy` is emitted unconditionally (null is
|
|
49
|
+
* rendered as `RetryStrategyBuilder.noRetries()`), so opting out requires
|
|
50
|
+
* an explicit flag.
|
|
51
|
+
*/
|
|
52
|
+
skipRetryStrategy?: boolean;
|
|
53
|
+
}
|
|
54
|
+
export declare function buildCheckProps(program: Program, genfile: GeneratedFile, builder: ObjectValueBuilder, resource: CheckResource, context: Context, options?: BuildCheckPropsOptions): void;
|
|
35
55
|
export interface RuntimeCheckResource extends CheckResource {
|
|
36
56
|
runtimeId?: string;
|
|
37
57
|
environmentVariables?: EnvironmentVariable[];
|
|
38
58
|
}
|
|
39
59
|
export declare function buildRuntimeCheckProps(program: Program, genfile: GeneratedFile, builder: ObjectValueBuilder, resource: RuntimeCheckResource, context: Context): void;
|
|
40
60
|
export declare class CheckCodegen extends Codegen<CheckResource> {
|
|
61
|
+
agenticCheckCodegen: AgenticCheckCodegen;
|
|
41
62
|
apiCheckCodegen: ApiCheckCodegen;
|
|
42
63
|
browserCheckCodegen: BrowserCheckCodegen;
|
|
43
64
|
checkGroupCodegen: CheckGroupCodegen;
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.CheckCodegen = exports.buildRuntimeCheckProps = exports.buildCheckProps = void 0;
|
|
4
4
|
const codegen_1 = require("./internal/codegen");
|
|
5
|
+
const agentic_check_codegen_1 = require("./agentic-check-codegen");
|
|
5
6
|
const alert_escalation_policy_codegen_1 = require("./alert-escalation-policy-codegen");
|
|
6
7
|
const api_check_codegen_1 = require("./api-check-codegen");
|
|
7
8
|
const browser_check_codegen_1 = require("./browser-check-codegen");
|
|
@@ -17,7 +18,7 @@ const private_location_codegen_1 = require("./private-location-codegen");
|
|
|
17
18
|
const alert_channel_codegen_1 = require("./alert-channel-codegen");
|
|
18
19
|
const dns_monitor_codegen_1 = require("./dns-monitor-codegen");
|
|
19
20
|
const icmp_monitor_codegen_1 = require("./icmp-monitor-codegen");
|
|
20
|
-
function buildCheckProps(program, genfile, builder, resource, context) {
|
|
21
|
+
function buildCheckProps(program, genfile, builder, resource, context, options = {}) {
|
|
21
22
|
builder.string('name', resource.name, { order: -1000 });
|
|
22
23
|
if (resource.description != null) {
|
|
23
24
|
builder.string('description', resource.description);
|
|
@@ -143,7 +144,9 @@ function buildCheckProps(program, genfile, builder, resource, context) {
|
|
|
143
144
|
if (resource.testOnly !== undefined && resource.testOnly !== false) {
|
|
144
145
|
builder.boolean('testOnly', resource.testOnly);
|
|
145
146
|
}
|
|
146
|
-
|
|
147
|
+
if (!options.skipRetryStrategy) {
|
|
148
|
+
builder.value('retryStrategy', (0, retry_strategy_codegen_1.valueForRetryStrategy)(genfile, resource.retryStrategy));
|
|
149
|
+
}
|
|
147
150
|
if (resource.runParallel !== undefined && resource.runParallel !== false) {
|
|
148
151
|
builder.boolean('runParallel', resource.runParallel);
|
|
149
152
|
}
|
|
@@ -167,6 +170,7 @@ function buildRuntimeCheckProps(program, genfile, builder, resource, context) {
|
|
|
167
170
|
}
|
|
168
171
|
exports.buildRuntimeCheckProps = buildRuntimeCheckProps;
|
|
169
172
|
class CheckCodegen extends codegen_1.Codegen {
|
|
173
|
+
agenticCheckCodegen;
|
|
170
174
|
apiCheckCodegen;
|
|
171
175
|
browserCheckCodegen;
|
|
172
176
|
checkGroupCodegen;
|
|
@@ -178,6 +182,7 @@ class CheckCodegen extends codegen_1.Codegen {
|
|
|
178
182
|
icmpMonitorCodegen;
|
|
179
183
|
constructor(program) {
|
|
180
184
|
super(program);
|
|
185
|
+
this.agenticCheckCodegen = new agentic_check_codegen_1.AgenticCheckCodegen(program);
|
|
181
186
|
this.apiCheckCodegen = new api_check_codegen_1.ApiCheckCodegen(program);
|
|
182
187
|
this.browserCheckCodegen = new browser_check_codegen_1.BrowserCheckCodegen(program);
|
|
183
188
|
this.checkGroupCodegen = new check_group_codegen_1.CheckGroupCodegen(program);
|
|
@@ -191,6 +196,8 @@ class CheckCodegen extends codegen_1.Codegen {
|
|
|
191
196
|
describe(resource) {
|
|
192
197
|
const { checkType } = resource;
|
|
193
198
|
switch (checkType) {
|
|
199
|
+
case 'AGENTIC':
|
|
200
|
+
return this.agenticCheckCodegen.describe(resource);
|
|
194
201
|
case 'BROWSER':
|
|
195
202
|
return this.browserCheckCodegen.describe(resource);
|
|
196
203
|
case 'API':
|
|
@@ -214,6 +221,9 @@ class CheckCodegen extends codegen_1.Codegen {
|
|
|
214
221
|
gencode(logicalId, resource, context) {
|
|
215
222
|
const { checkType } = resource;
|
|
216
223
|
switch (checkType) {
|
|
224
|
+
case 'AGENTIC':
|
|
225
|
+
this.agenticCheckCodegen.gencode(logicalId, resource, context);
|
|
226
|
+
return;
|
|
217
227
|
case 'BROWSER':
|
|
218
228
|
this.browserCheckCodegen.gencode(logicalId, resource, context);
|
|
219
229
|
return;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"check-codegen.js","sourceRoot":"","sources":["../../src/constructs/check-codegen.ts"],"names":[],"mappings":";;;AAAA,gDAAqD;AAErD,uFAAoG;AACpG,2DAAuE;AACvE,mEAAmF;AACnF,+DAAmF;AAEnF,2DAA0E;AAC1E,2EAA+F;AAC/F,qEAA+D;AAC/D,yEAA0F;AAC1F,qEAAuF;AACvF,+DAA6E;AAC7E,+DAA6E;AAC7E,yEAA0E;AAC1E,mEAAoE;AACpE,+DAA6E;AAC7E,iEAAgF;
|
|
1
|
+
{"version":3,"file":"check-codegen.js","sourceRoot":"","sources":["../../src/constructs/check-codegen.ts"],"names":[],"mappings":"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"}
|
package/dist/constructs/index.js
CHANGED
|
@@ -64,4 +64,5 @@ __exportStar(require("./dns-request"), exports);
|
|
|
64
64
|
__exportStar(require("./icmp-monitor"), exports);
|
|
65
65
|
__exportStar(require("./icmp-assertion"), exports);
|
|
66
66
|
__exportStar(require("./icmp-request"), exports);
|
|
67
|
+
__exportStar(require("./agentic-check"), exports);
|
|
67
68
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/constructs/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,4CAAyB;AACzB,sDAAmC;AACnC,wDAAqC;AACrC,wDAAqC;AACrC,2DAAwC;AACxC,4DAAyC;AACzC,0DAAuC;AACvC,8CAA2B;AAC3B,kDAA+B;AAC/B,gDAA6B;AAC7B,kDAA+B;AAC/B,sDAAmC;AACnC,gDAA6B;AAC7B,+DAA4C;AAC5C,yDAAsC;AACtC,gDAA6B;AAC7B,iDAA8B;AAC9B,gDAA6B;AAC7B,8CAA2B;AAC3B,uDAAoC;AACpC,kDAA+B;AAC/B,qDAAkC;AAClC,sEAAmD;AACnD,sEAAmD;AACnD,0CAAuB;AACvB,8CAA2B;AAC3B,6DAA0C;AAC1C,mDAAgC;AAChC,qDAAkC;AAClC,4DAAyC;AACzC,gDAA6B;AAC7B,6DAA0C;AAC1C,0DAAuC;AACvC,2DAAwC;AACxC,gDAA6B;AAC7B,wDAAqC;AACrC,6CAA0B;AAC1B,qDAAkC;AAClC,gDAA6B;AAC7B,4CAAyB;AACzB,gDAA6B;AAC7B,kDAA+B;AAC/B,gDAA6B;AAC7B,uCAAoB;AACpB,gDAA6B;AAC7B,kDAA+B;AAC/B,gDAA6B;AAC7B,iDAA8B;AAC9B,mDAAgC;AAChC,iDAA8B"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/constructs/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,4CAAyB;AACzB,sDAAmC;AACnC,wDAAqC;AACrC,wDAAqC;AACrC,2DAAwC;AACxC,4DAAyC;AACzC,0DAAuC;AACvC,8CAA2B;AAC3B,kDAA+B;AAC/B,gDAA6B;AAC7B,kDAA+B;AAC/B,sDAAmC;AACnC,gDAA6B;AAC7B,+DAA4C;AAC5C,yDAAsC;AACtC,gDAA6B;AAC7B,iDAA8B;AAC9B,gDAA6B;AAC7B,8CAA2B;AAC3B,uDAAoC;AACpC,kDAA+B;AAC/B,qDAAkC;AAClC,sEAAmD;AACnD,sEAAmD;AACnD,0CAAuB;AACvB,8CAA2B;AAC3B,6DAA0C;AAC1C,mDAAgC;AAChC,qDAAkC;AAClC,4DAAyC;AACzC,gDAA6B;AAC7B,6DAA0C;AAC1C,0DAAuC;AACvC,2DAAwC;AACxC,gDAA6B;AAC7B,wDAAqC;AACrC,6CAA0B;AAC1B,qDAAkC;AAClC,gDAA6B;AAC7B,4CAAyB;AACzB,gDAA6B;AAC7B,kDAA+B;AAC/B,gDAA6B;AAC7B,uCAAoB;AACpB,gDAA6B;AAC7B,kDAA+B;AAC/B,gDAA6B;AAC7B,iDAA8B;AAC9B,mDAAgC;AAChC,iDAA8B;AAC9B,kDAA+B"}
|
package/dist/rest/analytics.js
CHANGED
|
@@ -5,6 +5,8 @@ const constants_1 = require("../constants");
|
|
|
5
5
|
exports.quickRangeValues = [
|
|
6
6
|
'last24Hours', 'last7Days', 'last30Days', 'thisWeek', 'thisMonth', 'lastWeek', 'lastMonth',
|
|
7
7
|
];
|
|
8
|
+
// AGENTIC is intentionally absent: agentic checks have no per-check analytics
|
|
9
|
+
// endpoint, so callers fall through to the `if (!pathSegment)` branch below.
|
|
8
10
|
const checkTypeToPath = {
|
|
9
11
|
[constants_1.CheckTypes.API]: 'api-checks',
|
|
10
12
|
[constants_1.CheckTypes.BROWSER]: 'browser-checks',
|
|
@@ -15,6 +17,7 @@ const checkTypeToPath = {
|
|
|
15
17
|
[constants_1.CheckTypes.ICMP]: 'icmp',
|
|
16
18
|
[constants_1.CheckTypes.DNS]: 'dns',
|
|
17
19
|
[constants_1.CheckTypes.URL]: 'url-monitors',
|
|
20
|
+
[constants_1.CheckTypes.AGENTIC]: 'agentic-checks',
|
|
18
21
|
};
|
|
19
22
|
// Default aggregated metrics per check type
|
|
20
23
|
const defaultMetrics = {
|
|
@@ -27,6 +30,7 @@ const defaultMetrics = {
|
|
|
27
30
|
[constants_1.CheckTypes.DNS]: ['availability', 'total_avg', 'total_p50', 'total_p95', 'total_p99'],
|
|
28
31
|
[constants_1.CheckTypes.ICMP]: ['availability', 'packetLoss_avg', 'latencyAvg_avg', 'latencyAvg_p50', 'latencyAvg_p95', 'latencyAvg_p99'],
|
|
29
32
|
[constants_1.CheckTypes.HEARTBEAT]: ['availability'],
|
|
33
|
+
[constants_1.CheckTypes.AGENTIC]: ['availability'],
|
|
30
34
|
};
|
|
31
35
|
class Analytics {
|
|
32
36
|
api;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"analytics.js","sourceRoot":"","sources":["../../src/rest/analytics.ts"],"names":[],"mappings":";;;AACA,4CAAyD;AAI5C,QAAA,gBAAgB,GAAiB;IAC5C,aAAa,EAAE,WAAW,EAAE,YAAY,EAAE,UAAU,EAAE,WAAW,EAAE,UAAU,EAAE,WAAW;CAC3F,CAAA;AAED,MAAM,eAAe,
|
|
1
|
+
{"version":3,"file":"analytics.js","sourceRoot":"","sources":["../../src/rest/analytics.ts"],"names":[],"mappings":"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"}
|
|
@@ -12,7 +12,7 @@ export interface AddCommandOptions {
|
|
|
12
12
|
}
|
|
13
13
|
export interface PackageManager {
|
|
14
14
|
get name(): string;
|
|
15
|
-
get
|
|
15
|
+
get representativeLockfiles(): string[];
|
|
16
16
|
get representativeConfigFile(): string | undefined;
|
|
17
17
|
installCommand(): Runnable;
|
|
18
18
|
addCommand(options: AddCommandOptions): Runnable;
|
|
@@ -24,9 +24,9 @@ export declare abstract class PackageManagerDetector {
|
|
|
24
24
|
abstract get name(): string;
|
|
25
25
|
abstract detectUserAgent(userAgent: string): boolean;
|
|
26
26
|
abstract detectRuntime(): boolean;
|
|
27
|
-
abstract get
|
|
27
|
+
abstract get representativeLockfiles(): string[];
|
|
28
28
|
abstract get representativeConfigFile(): string | undefined;
|
|
29
|
-
|
|
29
|
+
detectLockfile(dir: string): Promise<string>;
|
|
30
30
|
abstract detectConfigFile(dir: string): Promise<string>;
|
|
31
31
|
abstract detectExecutable(lookup: PathLookup): Promise<void>;
|
|
32
32
|
abstract installCommand(): Runnable;
|
|
@@ -39,9 +39,8 @@ export declare class NpmDetector extends PackageManagerDetector implements Packa
|
|
|
39
39
|
get name(): string;
|
|
40
40
|
detectUserAgent(userAgent: string): boolean;
|
|
41
41
|
detectRuntime(): boolean;
|
|
42
|
-
get
|
|
42
|
+
get representativeLockfiles(): string[];
|
|
43
43
|
get representativeConfigFile(): undefined;
|
|
44
|
-
detectLockfile(dir: string): Promise<string>;
|
|
45
44
|
detectConfigFile(dir: string): Promise<string>;
|
|
46
45
|
detectExecutable(lookup: PathLookup): Promise<void>;
|
|
47
46
|
installCommand(): Runnable;
|
|
@@ -53,9 +52,8 @@ export declare class CNpmDetector extends PackageManagerDetector implements Pack
|
|
|
53
52
|
get name(): string;
|
|
54
53
|
detectUserAgent(userAgent: string): boolean;
|
|
55
54
|
detectRuntime(): boolean;
|
|
56
|
-
get
|
|
55
|
+
get representativeLockfiles(): string[];
|
|
57
56
|
get representativeConfigFile(): undefined;
|
|
58
|
-
detectLockfile(): Promise<string>;
|
|
59
57
|
detectConfigFile(dir: string): Promise<string>;
|
|
60
58
|
detectExecutable(lookup: PathLookup): Promise<void>;
|
|
61
59
|
installCommand(): Runnable;
|
|
@@ -67,9 +65,8 @@ export declare class PNpmDetector extends PackageManagerDetector implements Pack
|
|
|
67
65
|
get name(): string;
|
|
68
66
|
detectUserAgent(userAgent: string): boolean;
|
|
69
67
|
detectRuntime(): boolean;
|
|
70
|
-
get
|
|
68
|
+
get representativeLockfiles(): string[];
|
|
71
69
|
get representativeConfigFile(): string;
|
|
72
|
-
detectLockfile(dir: string): Promise<string>;
|
|
73
70
|
detectConfigFile(dir: string): Promise<string>;
|
|
74
71
|
detectExecutable(lookup: PathLookup): Promise<void>;
|
|
75
72
|
installCommand(): Runnable;
|
|
@@ -81,9 +78,8 @@ export declare class YarnDetector extends PackageManagerDetector implements Pack
|
|
|
81
78
|
get name(): string;
|
|
82
79
|
detectUserAgent(userAgent: string): boolean;
|
|
83
80
|
detectRuntime(): boolean;
|
|
84
|
-
get
|
|
81
|
+
get representativeLockfiles(): string[];
|
|
85
82
|
get representativeConfigFile(): undefined;
|
|
86
|
-
detectLockfile(dir: string): Promise<string>;
|
|
87
83
|
detectConfigFile(dir: string): Promise<string>;
|
|
88
84
|
detectExecutable(lookup: PathLookup): Promise<void>;
|
|
89
85
|
installCommand(): Runnable;
|
|
@@ -95,9 +91,8 @@ export declare class DenoDetector extends PackageManagerDetector implements Pack
|
|
|
95
91
|
get name(): string;
|
|
96
92
|
detectUserAgent(userAgent: string): boolean;
|
|
97
93
|
detectRuntime(): boolean;
|
|
98
|
-
get
|
|
94
|
+
get representativeLockfiles(): string[];
|
|
99
95
|
get representativeConfigFile(): string;
|
|
100
|
-
detectLockfile(dir: string): Promise<string>;
|
|
101
96
|
detectConfigFile(dir: string): Promise<string>;
|
|
102
97
|
detectExecutable(lookup: PathLookup): Promise<void>;
|
|
103
98
|
installCommand(): Runnable;
|
|
@@ -109,9 +104,8 @@ export declare class BunDetector extends PackageManagerDetector implements Packa
|
|
|
109
104
|
get name(): string;
|
|
110
105
|
detectUserAgent(userAgent: string): boolean;
|
|
111
106
|
detectRuntime(): boolean;
|
|
112
|
-
get
|
|
107
|
+
get representativeLockfiles(): string[];
|
|
113
108
|
get representativeConfigFile(): undefined;
|
|
114
|
-
detectLockfile(dir: string): Promise<string>;
|
|
115
109
|
detectConfigFile(dir: string): Promise<string>;
|
|
116
110
|
detectExecutable(lookup: PathLookup): Promise<void>;
|
|
117
111
|
installCommand(): Runnable;
|
|
@@ -27,6 +27,17 @@ exports.Runnable = Runnable;
|
|
|
27
27
|
class NotDetectedError extends Error {
|
|
28
28
|
}
|
|
29
29
|
class PackageManagerDetector {
|
|
30
|
+
async detectLockfile(dir) {
|
|
31
|
+
for (const lockfile of this.representativeLockfiles) {
|
|
32
|
+
try {
|
|
33
|
+
return await accessR(node_path_1.default.join(dir, lockfile));
|
|
34
|
+
}
|
|
35
|
+
catch {
|
|
36
|
+
continue;
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
throw new NotDetectedError();
|
|
40
|
+
}
|
|
30
41
|
detector() {
|
|
31
42
|
return this;
|
|
32
43
|
}
|
|
@@ -42,15 +53,12 @@ class NpmDetector extends PackageManagerDetector {
|
|
|
42
53
|
detectRuntime() {
|
|
43
54
|
return false;
|
|
44
55
|
}
|
|
45
|
-
get
|
|
46
|
-
return 'package-lock.json';
|
|
56
|
+
get representativeLockfiles() {
|
|
57
|
+
return ['package-lock.json'];
|
|
47
58
|
}
|
|
48
59
|
get representativeConfigFile() {
|
|
49
60
|
return;
|
|
50
61
|
}
|
|
51
|
-
async detectLockfile(dir) {
|
|
52
|
-
return await accessR(node_path_1.default.join(dir, this.representativeLockfile));
|
|
53
|
-
}
|
|
54
62
|
// eslint-disable-next-line require-await, @typescript-eslint/no-unused-vars
|
|
55
63
|
async detectConfigFile(dir) {
|
|
56
64
|
throw new NotDetectedError();
|
|
@@ -86,16 +94,12 @@ class CNpmDetector extends PackageManagerDetector {
|
|
|
86
94
|
detectRuntime() {
|
|
87
95
|
return false;
|
|
88
96
|
}
|
|
89
|
-
get
|
|
90
|
-
return;
|
|
97
|
+
get representativeLockfiles() {
|
|
98
|
+
return [];
|
|
91
99
|
}
|
|
92
100
|
get representativeConfigFile() {
|
|
93
101
|
return;
|
|
94
102
|
}
|
|
95
|
-
// eslint-disable-next-line require-await
|
|
96
|
-
async detectLockfile() {
|
|
97
|
-
throw new NotDetectedError();
|
|
98
|
-
}
|
|
99
103
|
// eslint-disable-next-line require-await, @typescript-eslint/no-unused-vars
|
|
100
104
|
async detectConfigFile(dir) {
|
|
101
105
|
throw new NotDetectedError();
|
|
@@ -131,15 +135,12 @@ class PNpmDetector extends PackageManagerDetector {
|
|
|
131
135
|
detectRuntime() {
|
|
132
136
|
return false;
|
|
133
137
|
}
|
|
134
|
-
get
|
|
135
|
-
return 'pnpm-lock.yaml';
|
|
138
|
+
get representativeLockfiles() {
|
|
139
|
+
return ['pnpm-lock.yaml'];
|
|
136
140
|
}
|
|
137
141
|
get representativeConfigFile() {
|
|
138
142
|
return 'pnpm-workspace.yaml';
|
|
139
143
|
}
|
|
140
|
-
async detectLockfile(dir) {
|
|
141
|
-
return await accessR(node_path_1.default.join(dir, this.representativeLockfile));
|
|
142
|
-
}
|
|
143
144
|
async detectConfigFile(dir) {
|
|
144
145
|
return await accessR(node_path_1.default.join(dir, this.representativeConfigFile));
|
|
145
146
|
}
|
|
@@ -227,15 +228,12 @@ class YarnDetector extends PackageManagerDetector {
|
|
|
227
228
|
detectRuntime() {
|
|
228
229
|
return false;
|
|
229
230
|
}
|
|
230
|
-
get
|
|
231
|
-
return 'yarn.lock';
|
|
231
|
+
get representativeLockfiles() {
|
|
232
|
+
return ['yarn.lock'];
|
|
232
233
|
}
|
|
233
234
|
get representativeConfigFile() {
|
|
234
235
|
return;
|
|
235
236
|
}
|
|
236
|
-
async detectLockfile(dir) {
|
|
237
|
-
return await accessR(node_path_1.default.join(dir, this.representativeLockfile));
|
|
238
|
-
}
|
|
239
237
|
// eslint-disable-next-line require-await, @typescript-eslint/no-unused-vars
|
|
240
238
|
async detectConfigFile(dir) {
|
|
241
239
|
throw new NotDetectedError();
|
|
@@ -271,15 +269,12 @@ class DenoDetector extends PackageManagerDetector {
|
|
|
271
269
|
detectRuntime() {
|
|
272
270
|
return process.versions.deno !== undefined;
|
|
273
271
|
}
|
|
274
|
-
get
|
|
275
|
-
return 'deno.lock';
|
|
272
|
+
get representativeLockfiles() {
|
|
273
|
+
return ['deno.lock'];
|
|
276
274
|
}
|
|
277
275
|
get representativeConfigFile() {
|
|
278
276
|
return 'deno.json';
|
|
279
277
|
}
|
|
280
|
-
async detectLockfile(dir) {
|
|
281
|
-
return await accessR(node_path_1.default.join(dir, this.representativeLockfile));
|
|
282
|
-
}
|
|
283
278
|
async detectConfigFile(dir) {
|
|
284
279
|
return await accessR(node_path_1.default.join(dir, this.representativeConfigFile));
|
|
285
280
|
}
|
|
@@ -347,15 +342,12 @@ class BunDetector extends PackageManagerDetector {
|
|
|
347
342
|
detectRuntime() {
|
|
348
343
|
return process.versions.bun !== undefined;
|
|
349
344
|
}
|
|
350
|
-
get
|
|
351
|
-
return 'bun.lockb';
|
|
345
|
+
get representativeLockfiles() {
|
|
346
|
+
return ['bun.lock', 'bun.lockb'];
|
|
352
347
|
}
|
|
353
348
|
get representativeConfigFile() {
|
|
354
349
|
return;
|
|
355
350
|
}
|
|
356
|
-
async detectLockfile(dir) {
|
|
357
|
-
return await accessR(node_path_1.default.join(dir, this.representativeLockfile));
|
|
358
|
-
}
|
|
359
351
|
// eslint-disable-next-line require-await, @typescript-eslint/no-unused-vars
|
|
360
352
|
async detectConfigFile(dir) {
|
|
361
353
|
throw new NotDetectedError();
|
|
@@ -574,9 +566,7 @@ async function detectNearestLockfile(dir, options) {
|
|
|
574
566
|
// Nothing detected.
|
|
575
567
|
}
|
|
576
568
|
}
|
|
577
|
-
const lockfiles = detectors.
|
|
578
|
-
return acc.concat(detector.representativeLockfile ?? []);
|
|
579
|
-
}, []);
|
|
569
|
+
const lockfiles = detectors.flatMap(detector => detector.representativeLockfiles);
|
|
580
570
|
throw new NoLockfileFoundError(searchPaths, lockfiles);
|
|
581
571
|
}
|
|
582
572
|
exports.detectNearestLockfile = detectNearestLockfile;
|