checkly 8.14.1 → 8.15.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.
Files changed (148) hide show
  1. package/dist/ai-context/context.d.ts +18 -0
  2. package/dist/ai-context/context.js +89 -0
  3. package/dist/ai-context/context.js.map +1 -1
  4. package/dist/ai-context/skills-command/references/configure-grpc-monitors.md +37 -0
  5. package/dist/ai-context/skills-command/references/configure-playwright-checks.md +5 -5
  6. package/dist/ai-context/skills-command/references/configure-ssl-monitors.md +39 -0
  7. package/dist/ai-context/skills-command/references/configure-traceroute-monitors.md +36 -0
  8. package/dist/ai-context/skills-command/references/configure.md +9 -0
  9. package/dist/commands/checks/stats.js +1 -0
  10. package/dist/commands/checks/stats.js.map +1 -1
  11. package/dist/commands/deploy.js +25 -16
  12. package/dist/commands/deploy.js.map +1 -1
  13. package/dist/constants.d.ts +4 -1
  14. package/dist/constants.js +3 -0
  15. package/dist/constants.js.map +1 -1
  16. package/dist/constructs/api-assertion-codegen.js +2 -2
  17. package/dist/constructs/api-assertion-codegen.js.map +1 -1
  18. package/dist/constructs/api-assertion.d.ts +3 -3
  19. package/dist/constructs/check-codegen.d.ts +6 -0
  20. package/dist/constructs/check-codegen.js +24 -0
  21. package/dist/constructs/check-codegen.js.map +1 -1
  22. package/dist/constructs/dns-assertion-codegen.js +2 -2
  23. package/dist/constructs/dns-assertion-codegen.js.map +1 -1
  24. package/dist/constructs/dns-assertion.d.ts +3 -3
  25. package/dist/constructs/dns-request.d.ts +2 -2
  26. package/dist/constructs/grpc-assertion-codegen.d.ts +3 -0
  27. package/dist/constructs/grpc-assertion-codegen.js +33 -0
  28. package/dist/constructs/grpc-assertion-codegen.js.map +1 -0
  29. package/dist/constructs/grpc-assertion-validation.d.ts +13 -0
  30. package/dist/constructs/grpc-assertion-validation.js +53 -0
  31. package/dist/constructs/grpc-assertion-validation.js.map +1 -0
  32. package/dist/constructs/grpc-assertion.d.ts +61 -0
  33. package/dist/constructs/grpc-assertion.js +71 -0
  34. package/dist/constructs/grpc-assertion.js.map +1 -0
  35. package/dist/constructs/grpc-monitor-codegen.d.ts +13 -0
  36. package/dist/constructs/grpc-monitor-codegen.js +34 -0
  37. package/dist/constructs/grpc-monitor-codegen.js.map +1 -0
  38. package/dist/constructs/grpc-monitor.d.ts +83 -0
  39. package/dist/constructs/grpc-monitor.js +56 -0
  40. package/dist/constructs/grpc-monitor.js.map +1 -0
  41. package/dist/constructs/grpc-request-codegen.d.ts +4 -0
  42. package/dist/constructs/grpc-request-codegen.js +68 -0
  43. package/dist/constructs/grpc-request-codegen.js.map +1 -0
  44. package/dist/constructs/grpc-request.d.ts +137 -0
  45. package/dist/constructs/grpc-request.js +2 -0
  46. package/dist/constructs/grpc-request.js.map +1 -0
  47. package/dist/constructs/icmp-assertion-codegen.js +2 -2
  48. package/dist/constructs/icmp-assertion-codegen.js.map +1 -1
  49. package/dist/constructs/icmp-assertion.d.ts +1 -1
  50. package/dist/constructs/icmp-request.d.ts +2 -2
  51. package/dist/constructs/index.d.ts +9 -0
  52. package/dist/constructs/index.js +9 -0
  53. package/dist/constructs/index.js.map +1 -1
  54. package/dist/constructs/internal/assertion-codegen.d.ts +11 -0
  55. package/dist/constructs/internal/assertion-codegen.js +39 -0
  56. package/dist/constructs/internal/assertion-codegen.js.map +1 -1
  57. package/dist/constructs/internal/assertion-validation.d.ts +3 -0
  58. package/dist/constructs/internal/assertion-validation.js +17 -0
  59. package/dist/constructs/internal/assertion-validation.js.map +1 -0
  60. package/dist/constructs/internal/assertion.d.ts +17 -11
  61. package/dist/constructs/internal/assertion.js +39 -38
  62. package/dist/constructs/internal/assertion.js.map +1 -1
  63. package/dist/constructs/internal/common-diagnostics.d.ts +1 -0
  64. package/dist/constructs/internal/common-diagnostics.js +14 -0
  65. package/dist/constructs/internal/common-diagnostics.js.map +1 -1
  66. package/dist/constructs/ssl-assertion-codegen.d.ts +3 -0
  67. package/dist/constructs/ssl-assertion-codegen.js +36 -0
  68. package/dist/constructs/ssl-assertion-codegen.js.map +1 -0
  69. package/dist/constructs/ssl-assertion-validation.d.ts +13 -0
  70. package/dist/constructs/ssl-assertion-validation.js +49 -0
  71. package/dist/constructs/ssl-assertion-validation.js.map +1 -0
  72. package/dist/constructs/ssl-assertion.d.ts +197 -0
  73. package/dist/constructs/ssl-assertion.js +267 -0
  74. package/dist/constructs/ssl-assertion.js.map +1 -0
  75. package/dist/constructs/ssl-monitor-codegen.d.ts +36 -0
  76. package/dist/constructs/ssl-monitor-codegen.js +51 -0
  77. package/dist/constructs/ssl-monitor-codegen.js.map +1 -0
  78. package/dist/constructs/ssl-monitor.d.ts +89 -0
  79. package/dist/constructs/ssl-monitor.js +73 -0
  80. package/dist/constructs/ssl-monitor.js.map +1 -0
  81. package/dist/constructs/ssl-request-codegen.d.ts +4 -0
  82. package/dist/constructs/ssl-request-codegen.js +48 -0
  83. package/dist/constructs/ssl-request-codegen.js.map +1 -0
  84. package/dist/constructs/ssl-request.d.ts +143 -0
  85. package/dist/constructs/ssl-request.js +2 -0
  86. package/dist/constructs/ssl-request.js.map +1 -0
  87. package/dist/constructs/tcp-monitor-codegen.js +2 -2
  88. package/dist/constructs/tcp-monitor-codegen.js.map +1 -1
  89. package/dist/constructs/tcp-monitor.d.ts +1 -1
  90. package/dist/constructs/traceroute-assertion-codegen.d.ts +3 -0
  91. package/dist/constructs/traceroute-assertion-codegen.js +17 -0
  92. package/dist/constructs/traceroute-assertion-codegen.js.map +1 -0
  93. package/dist/constructs/traceroute-assertion-validation.d.ts +11 -0
  94. package/dist/constructs/traceroute-assertion-validation.js +77 -0
  95. package/dist/constructs/traceroute-assertion-validation.js.map +1 -0
  96. package/dist/constructs/traceroute-assertion.d.ts +67 -0
  97. package/dist/constructs/traceroute-assertion.js +96 -0
  98. package/dist/constructs/traceroute-assertion.js.map +1 -0
  99. package/dist/constructs/traceroute-monitor-codegen.d.ts +13 -0
  100. package/dist/constructs/traceroute-monitor-codegen.js +34 -0
  101. package/dist/constructs/traceroute-monitor-codegen.js.map +1 -0
  102. package/dist/constructs/traceroute-monitor.d.ts +83 -0
  103. package/dist/constructs/traceroute-monitor.js +54 -0
  104. package/dist/constructs/traceroute-monitor.js.map +1 -0
  105. package/dist/constructs/traceroute-request-codegen.d.ts +4 -0
  106. package/dist/constructs/traceroute-request-codegen.js +41 -0
  107. package/dist/constructs/traceroute-request-codegen.js.map +1 -0
  108. package/dist/constructs/traceroute-request.d.ts +81 -0
  109. package/dist/constructs/traceroute-request.js +2 -0
  110. package/dist/constructs/traceroute-request.js.map +1 -0
  111. package/dist/constructs/url-assertion-codegen.js +2 -2
  112. package/dist/constructs/url-assertion-codegen.js.map +1 -1
  113. package/dist/formatters/assertion-line.d.ts +27 -0
  114. package/dist/formatters/assertion-line.js +126 -0
  115. package/dist/formatters/assertion-line.js.map +1 -0
  116. package/dist/formatters/batch-stats.js +20 -1
  117. package/dist/formatters/batch-stats.js.map +1 -1
  118. package/dist/formatters/check-result-detail.js +604 -1
  119. package/dist/formatters/check-result-detail.js.map +1 -1
  120. package/dist/helpers/cli-mode.d.ts +2 -2
  121. package/dist/helpers/cli-mode.js +103 -11
  122. package/dist/helpers/cli-mode.js.map +1 -1
  123. package/dist/reporters/json.d.ts +1 -0
  124. package/dist/reporters/json.js +58 -0
  125. package/dist/reporters/json.js.map +1 -1
  126. package/dist/reporters/util.js +192 -89
  127. package/dist/reporters/util.js.map +1 -1
  128. package/dist/rest/analytics.js +6 -0
  129. package/dist/rest/analytics.js.map +1 -1
  130. package/dist/rest/batch-analytics.d.ts +1 -0
  131. package/dist/rest/batch-analytics.js.map +1 -1
  132. package/dist/rest/check-results.d.ts +75 -1
  133. package/dist/rest/check-results.js.map +1 -1
  134. package/dist/rest/projects.d.ts +1 -1
  135. package/dist/services/check-parser/bundler.d.ts +6 -0
  136. package/dist/services/check-parser/bundler.js +8 -0
  137. package/dist/services/check-parser/bundler.js.map +1 -1
  138. package/dist/services/check-parser/cache-hash.d.ts +24 -2
  139. package/dist/services/check-parser/cache-hash.js +45 -3
  140. package/dist/services/check-parser/cache-hash.js.map +1 -1
  141. package/dist/services/check-parser/package-files/resolver.d.ts +6 -1
  142. package/dist/services/check-parser/package-files/resolver.js +19 -0
  143. package/dist/services/check-parser/package-files/resolver.js.map +1 -1
  144. package/dist/services/util.d.ts +4 -0
  145. package/dist/services/util.js +4 -0
  146. package/dist/services/util.js.map +1 -1
  147. package/oclif.manifest.json +9 -3
  148. package/package.json +1 -1
@@ -4,6 +4,7 @@ import indentString from 'indent-string';
4
4
  import { DateTime } from 'luxon';
5
5
  import logSymbols from 'log-symbols';
6
6
  import { getDefaults } from '../rest/api.js';
7
+ import { formatAssertionLine, truncate, } from '../formatters/assertion-line.js';
7
8
  // eslint-disable-next-line no-restricted-syntax
8
9
  export var CheckStatus;
9
10
  (function (CheckStatus) {
@@ -91,7 +92,7 @@ export function formatCheckResult(checkResult) {
91
92
  formatHttpResponse(checkResult.checkRunData.response),
92
93
  ]);
93
94
  }
94
- if (checkResult.checkRunData?.assertions?.length) {
95
+ if (!checkResult.checkRunData?.requestError && checkResult.checkRunData?.assertions?.length) {
95
96
  result.push([
96
97
  formatSectionTitle('Assertions'),
97
98
  formatAssertions(checkResult.checkRunData.assertions),
@@ -143,7 +144,7 @@ export function formatCheckResult(checkResult) {
143
144
  formatDnsResponse(checkResult.checkRunData.response),
144
145
  ]);
145
146
  }
146
- if (checkResult.checkRunData?.assertions?.length) {
147
+ if (!checkResult.checkRunData?.requestError && checkResult.checkRunData?.assertions?.length) {
147
148
  result.push([
148
149
  formatSectionTitle('Assertions'),
149
150
  formatAssertions(checkResult.checkRunData.assertions, {
@@ -170,7 +171,7 @@ export function formatCheckResult(checkResult) {
170
171
  formatConnectionError(checkResult.checkRunData?.response?.error),
171
172
  ]);
172
173
  }
173
- if (checkResult.checkRunData?.assertions?.length) {
174
+ if (!checkResult.checkRunData?.requestError && checkResult.checkRunData?.assertions?.length) {
174
175
  result.push([
175
176
  formatSectionTitle('Assertions'),
176
177
  formatAssertions(checkResult.checkRunData.assertions),
@@ -236,6 +237,87 @@ export function formatCheckResult(checkResult) {
236
237
  ]);
237
238
  }
238
239
  }
240
+ if (checkResult.checkType === 'TRACEROUTE') {
241
+ if (checkResult.checkRunData?.requestError) {
242
+ result.push([
243
+ formatSectionTitle('Request Error'),
244
+ checkResult.checkRunData.requestError,
245
+ ]);
246
+ }
247
+ else if (checkResult.checkRunData?.response) {
248
+ result.push([
249
+ formatSectionTitle('Traceroute Response'),
250
+ formatTracerouteResponse(checkResult.checkRunData.response),
251
+ ]);
252
+ if (checkResult.checkRunData?.response?.error) {
253
+ result.push([
254
+ formatSectionTitle('Connection Error'),
255
+ formatConnectionError(checkResult.checkRunData?.response?.error),
256
+ ]);
257
+ }
258
+ }
259
+ if (!checkResult.checkRunData?.requestError && checkResult.checkRunData?.assertions?.length) {
260
+ result.push([
261
+ formatSectionTitle('Assertions'),
262
+ formatAssertions(checkResult.checkRunData.assertions),
263
+ ]);
264
+ }
265
+ }
266
+ if (checkResult.checkType === 'GRPC') {
267
+ if (checkResult.checkRunData?.requestError) {
268
+ result.push([
269
+ formatSectionTitle('Request Error'),
270
+ checkResult.checkRunData.requestError,
271
+ ]);
272
+ }
273
+ else if (checkResult.checkRunData?.response) {
274
+ result.push([
275
+ formatSectionTitle('gRPC Response'),
276
+ formatGrpcResponse(checkResult.checkRunData.response),
277
+ ]);
278
+ if (checkResult.checkRunData?.response?.error) {
279
+ result.push([
280
+ formatSectionTitle('Connection Error'),
281
+ formatConnectionError(checkResult.checkRunData?.response?.error),
282
+ ]);
283
+ }
284
+ }
285
+ if (!checkResult.checkRunData?.requestError && checkResult.checkRunData?.assertions?.length) {
286
+ result.push([
287
+ formatSectionTitle('Assertions'),
288
+ formatAssertions(checkResult.checkRunData.assertions),
289
+ ]);
290
+ }
291
+ }
292
+ if (checkResult.checkType === 'SSL') {
293
+ if (checkResult.checkRunData?.requestError) {
294
+ result.push([
295
+ formatSectionTitle('Request Error'),
296
+ checkResult.checkRunData.requestError,
297
+ ]);
298
+ }
299
+ else if (checkResult.checkRunData?.response) {
300
+ result.push([
301
+ formatSectionTitle('SSL Response'),
302
+ formatSslResponse(checkResult.checkRunData.response, {
303
+ degradedResponseTime: checkResult.checkRunData.degradedResponseTime,
304
+ maxResponseTime: checkResult.checkRunData.maxResponseTime,
305
+ }),
306
+ ]);
307
+ if (checkResult.checkRunData?.response?.error) {
308
+ result.push([
309
+ formatSectionTitle('Connection Error'),
310
+ formatConnectionError(checkResult.checkRunData?.response?.error),
311
+ ]);
312
+ }
313
+ }
314
+ if (!checkResult.checkRunData?.requestError && checkResult.checkRunData?.assertions?.length) {
315
+ result.push([
316
+ formatSectionTitle('Assertions'),
317
+ formatAssertions(checkResult.checkRunData.assertions),
318
+ ]);
319
+ }
320
+ }
239
321
  if (checkResult.checkType === 'ICMP') {
240
322
  if (checkResult.checkRunData?.requestError) {
241
323
  result.push([
@@ -262,7 +344,7 @@ export function formatCheckResult(checkResult) {
262
344
  formatConnectionError(checkResult.checkRunData?.response?.error),
263
345
  ]);
264
346
  }
265
- if (checkResult.checkRunData?.assertions?.length) {
347
+ if (!checkResult.checkRunData?.requestError && checkResult.checkRunData?.assertions?.length) {
266
348
  result.push([
267
349
  formatSectionTitle('Assertions'),
268
350
  formatAssertions(checkResult.checkRunData.assertions),
@@ -290,66 +372,8 @@ export function formatCheckResult(checkResult) {
290
372
  }
291
373
  return result.map(([title, body]) => title + '\n' + body).join('\n\n');
292
374
  }
293
- const assertionSources = {
294
- STATUS_CODE: 'status code',
295
- JSON_BODY: 'JSON body',
296
- HEADERS: 'headers',
297
- TEXT_BODY: 'text body',
298
- RESPONSE_TIME: 'response time',
299
- RESPONSE_DATA: 'response data',
300
- TEXT_ANSWER: 'answer (text)',
301
- JSON_ANSWER: 'answer (JSON)',
302
- RESPONSE_CODE: 'response code',
303
- LATENCY: 'latency',
304
- JSON_RESPONSE: 'response data (JSON)',
305
- };
306
- const assertionComparisons = {
307
- EQUALS: 'equals',
308
- NOT_EQUALS: 'doesn\'t equal',
309
- HAS_KEY: 'has key',
310
- NOT_HAS_KEY: 'doesn\'t have key',
311
- HAS_VALUE: 'has value',
312
- NOT_HAS_VALUE: 'doesn\'t have value',
313
- IS_EMPTY: 'is empty',
314
- NOT_EMPTY: 'is not empty',
315
- GREATER_THAN: 'is greater than',
316
- LESS_THAN: 'is less than',
317
- CONTAINS: 'contains',
318
- NOT_CONTAINS: 'doesn\'t contain',
319
- IS_NULL: 'is null',
320
- NOT_NULL: 'is not null',
321
- };
322
375
  function formatAssertions(assertions, options) {
323
- return assertions.map(({ source, property, comparison, target, regex, error, actual }) => {
324
- const assertionFailed = !!error;
325
- const humanSource = assertionSources[source] || source;
326
- const humanComparison = assertionComparisons[comparison] || comparison;
327
- let actualString;
328
- if (actual) {
329
- const { result: truncatedActual, lines: truncatedActualLines } = truncate(actual, {
330
- chars: 300,
331
- lines: 5,
332
- ending: chalk.magenta('\n...truncated...'),
333
- ...options?.truncate,
334
- });
335
- if (truncatedActualLines <= 1) {
336
- actualString = `Received: ${truncatedActual}.`;
337
- }
338
- else {
339
- actualString = `Received:\n${indentString(truncatedActual, 4, { indent: ' ' })}`;
340
- }
341
- }
342
- const message = [
343
- assertionFailed ? logSymbols.error : logSymbols.success,
344
- humanSource,
345
- property ? `property "${property}"` : undefined,
346
- regex ? `regex "${regex}"` : undefined,
347
- humanComparison,
348
- `target "${target}".`,
349
- actualString,
350
- ].filter(Boolean).join(' ');
351
- return assertionFailed ? chalk.red(message) : chalk.green(message);
352
- }).join('\n');
376
+ return assertions.map(assertion => formatAssertionLine(assertion, options)).join('\n');
353
377
  }
354
378
  function formatHttpRequest(request) {
355
379
  const { result: stringBody } = truncate(request.data, {
@@ -455,6 +479,111 @@ function formatIcmpResponse(response) {
455
479
  }).join('\n'),
456
480
  ].filter(Boolean).join('\n');
457
481
  }
482
+ // Traceroute / gRPC / SSL diagnostics for the `checkly test` runner path. The
483
+ // runner artifact (`checkRunData.response`) mirrors the public check-results
484
+ // `response` sub-object; keys come straight off the backend (snake_case for
485
+ // traceroute hops/latency), so read defensively.
486
+ function latencyStats(obj) {
487
+ if (!obj || typeof obj !== 'object')
488
+ return undefined;
489
+ const avg = obj.avgMs ?? obj.avg_ms ?? obj.avg;
490
+ const best = obj.bestMs ?? obj.best_ms ?? obj.best;
491
+ const worst = obj.worstMs ?? obj.worst_ms ?? obj.worst;
492
+ const parts = [
493
+ typeof avg === 'number' ? `avg ${formatLatency(avg)}` : undefined,
494
+ typeof best === 'number' ? `best ${formatLatency(best)}` : undefined,
495
+ typeof worst === 'number' ? `worst ${formatLatency(worst)}` : undefined,
496
+ ].filter(Boolean);
497
+ return parts.length ? parts.join(' / ') : undefined;
498
+ }
499
+ function formatTracerouteResponse(response) {
500
+ const host = response.hostname;
501
+ const ip = response.resolvedIp;
502
+ const hops = Array.isArray(response.hops) ? response.hops : [];
503
+ const finalHop = latencyStats(response.finalHopLatency);
504
+ const hopLines = hops.slice(0, 40).map((hop) => {
505
+ const n = hop.hop_number ?? hop.hopNumber ?? hop.number;
506
+ const addr = hop.main_ip ?? hop.mainIp ?? hop.ip ?? '*';
507
+ const hopHost = hop.main_host ?? hop.mainHost ?? hop.host;
508
+ const loss = hop.loss_percentage ?? hop.lossPercentage ?? hop.loss;
509
+ const rtt = latencyStats(hop.rtt);
510
+ return [
511
+ ` ${n != null ? String(n).padStart(2) : ' .'}`,
512
+ hopHost ? `${addr} (${hopHost})` : addr,
513
+ typeof loss === 'number' ? `loss ${loss.toFixed(0)}%` : undefined,
514
+ rtt ? `rtt ${rtt}` : undefined,
515
+ ].filter(Boolean).join(' ');
516
+ });
517
+ return [
518
+ host || ip ? `Destination: ${[host, ip ? `(${ip})` : ''].filter(Boolean).join(' ')}` : undefined,
519
+ response.protocol ? `Protocol: ${response.protocol}` : undefined,
520
+ response.totalHops != null ? `Total Hops: ${response.totalHops}` : undefined,
521
+ response.destinationReached != null ? `Destination Reached: ${response.destinationReached ? 'yes' : 'no'}` : undefined,
522
+ response.truncationReason ? `Truncated: ${response.truncationReason}` : undefined,
523
+ finalHop ? `Final Hop Latency: ${finalHop}` : undefined,
524
+ hopLines.length ? 'Hops:' : undefined,
525
+ ...hopLines,
526
+ ].filter(Boolean).join('\n');
527
+ }
528
+ function formatGrpcResponse(response) {
529
+ const target = [response.host ?? response.resolvedIp, response.port ? `:${response.port}` : ''].filter(Boolean).join('');
530
+ const methods = Array.isArray(response.discoveredMethods) ? response.discoveredMethods : [];
531
+ const metadata = Array.isArray(response.metadata) ? response.metadata : [];
532
+ const metadataLines = metadata.slice(0, 20).map((m) => ` ${m.key ?? m.name ?? '(key)'}: ${m.value ?? ''}`);
533
+ // The backend reports gRPC response time as `timingPhases.total` (ms); fall
534
+ // back to a flat `responseTime` if a future artifact exposes one.
535
+ const responseTime = response.timingPhases?.total ?? response.responseTime;
536
+ return [
537
+ target ? `Target: ${target}` : undefined,
538
+ response.grpcMethod ? `Method: ${response.grpcMethod}` : undefined,
539
+ response.grpcMode ? `Mode: ${response.grpcMode}` : undefined,
540
+ typeof responseTime === 'number' ? `Response Time: ${formatDuration(responseTime)}` : undefined,
541
+ response.grpcStatusCode != null
542
+ ? `Status: ${response.grpcStatusCode}${response.grpcStatusMessage ? ` ${response.grpcStatusMessage}` : ''}`
543
+ : undefined,
544
+ response.healthStatusLabel ? `Health: ${response.healthStatusLabel}` : undefined,
545
+ response.responseMessage ? `Response: ${response.responseMessage}` : undefined,
546
+ methods.length ? `Discovered Methods: ${methods.join(', ')}` : undefined,
547
+ metadata.length ? 'Metadata:' : undefined,
548
+ ...metadataLines,
549
+ ].filter(Boolean).join('\n');
550
+ }
551
+ function formatSslResponse(response, limits) {
552
+ const days = response.daysUntilExpiry;
553
+ const handshake = response.handshakeTimeMs;
554
+ // Explain a response-time fail/degraded verdict. The thresholds live on the
555
+ // enclosing checkRunData (not the response artifact), so they are passed in;
556
+ // when they are absent we simply skip the reason line.
557
+ let responseTimeReason;
558
+ if (typeof handshake === 'number') {
559
+ if (limits?.maxResponseTime != null && handshake > limits.maxResponseTime) {
560
+ responseTimeReason = `Response time ${formatLatency(handshake)} exceeded max ${formatLatency(limits.maxResponseTime)}`;
561
+ }
562
+ else if (limits?.degradedResponseTime != null && handshake > limits.degradedResponseTime) {
563
+ responseTimeReason = `Response time ${formatLatency(handshake)} exceeded degraded ${formatLatency(limits.degradedResponseTime)}`;
564
+ }
565
+ }
566
+ // Render the security-baseline verdict/grade when the runner provides it.
567
+ const baseline = response.securityBaseline;
568
+ let baselineLine;
569
+ if (baseline && (baseline.verdict || baseline.grade)) {
570
+ baselineLine = `Baseline: ${[baseline.verdict, baseline.grade ? `(grade ${baseline.grade})` : ''].filter(Boolean).join(' ')}`;
571
+ }
572
+ return [
573
+ response.resolvedIp ? `Resolved IP: ${response.resolvedIp}` : undefined,
574
+ response.protocol || response.cipherSuite
575
+ ? `TLS: ${[response.protocol, response.cipherSuite].filter(Boolean).join(' / ')}`
576
+ : undefined,
577
+ typeof days === 'number'
578
+ ? `Expires in: ${days < 0 ? `expired ${-days} day(s) ago` : `${days} day(s)`}`
579
+ : undefined,
580
+ typeof handshake === 'number' ? `Handshake: ${formatLatency(handshake)}` : undefined,
581
+ responseTimeReason,
582
+ response.chainTrusted != null ? `Chain Trusted: ${response.chainTrusted ? 'yes' : 'no'}` : undefined,
583
+ response.hostnameVerified != null ? `Hostname Verified: ${response.hostnameVerified ? 'yes' : 'no'}` : undefined,
584
+ baselineLine,
585
+ ].filter(Boolean).join('\n');
586
+ }
458
587
  function formatConnectionError(error) {
459
588
  if (isDNSLookupFailureError(error)) {
460
589
  const message = [
@@ -539,32 +668,6 @@ function formatSectionTitle(title) {
539
668
  const rightPaddingLength = Math.max(0, targetTitleWidth - title.length - leftPaddingLength);
540
669
  return `──${chalk.bold(title)}${'─'.repeat(rightPaddingLength)}`;
541
670
  }
542
- function truncate(val, opts) {
543
- let truncated = false;
544
- let result = toString(val);
545
- if (opts.chars && val.length > opts.chars) {
546
- truncated = true;
547
- result = result.substring(0, opts.chars);
548
- }
549
- const lines = result.split('\n');
550
- if (opts.lines && lines.length > opts.lines) {
551
- truncated = true;
552
- result = lines.slice(0, opts.lines).join('\n');
553
- }
554
- return {
555
- truncated,
556
- result: truncated && opts.ending ? result + opts.ending : result,
557
- lines: opts.lines ? Math.min(opts.lines, lines.length) : lines.length,
558
- };
559
- }
560
- function toString(val) {
561
- if (typeof val === 'object') {
562
- return JSON.stringify(val, null, 2);
563
- }
564
- else {
565
- return val.toString();
566
- }
567
- }
568
671
  export function resultToCheckStatus(checkResult) {
569
672
  if (checkResult.isCancelled) {
570
673
  return CheckStatus.CANCELLED;
@@ -1 +1 @@
1
- {"version":3,"file":"util.js","sourceRoot":"","sources":["../../src/reporters/util.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"util.js","sourceRoot":"","sources":["../../src/reporters/util.ts"],"names":[],"mappings":"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"}
@@ -15,6 +15,9 @@ const checkTypeToPath = {
15
15
  [CheckTypes.DNS]: 'dns',
16
16
  [CheckTypes.URL]: 'url-monitors',
17
17
  [CheckTypes.AGENTIC]: 'agentic-checks',
18
+ [CheckTypes.GRPC]: 'grpc-checks',
19
+ [CheckTypes.SSL]: 'ssl',
20
+ [CheckTypes.TRACEROUTE]: 'traceroute',
18
21
  };
19
22
  // Default aggregated metrics per check type
20
23
  const defaultMetrics = {
@@ -26,6 +29,9 @@ const defaultMetrics = {
26
29
  [CheckTypes.TCP]: ['availability', 'total_avg', 'total_p50', 'total_p95', 'total_p99'],
27
30
  [CheckTypes.DNS]: ['availability', 'total_avg', 'total_p50', 'total_p95', 'total_p99'],
28
31
  [CheckTypes.ICMP]: ['availability', 'packetLoss_avg', 'latencyAvg_avg', 'latencyAvg_p50', 'latencyAvg_p95', 'latencyAvg_p99'],
32
+ [CheckTypes.GRPC]: ['availability', 'total_avg', 'total_p50', 'total_p95', 'total_p99'],
33
+ [CheckTypes.SSL]: ['availability', 'handshakeTimeMs_avg', 'handshakeTimeMs_p50', 'handshakeTimeMs_p95', 'handshakeTimeMs_p99', 'daysUntilExpiry_avg'],
34
+ [CheckTypes.TRACEROUTE]: ['availability', 'finalHopLatencyAvg_avg', 'finalHopLatencyAvg_p50', 'finalHopLatencyAvg_p95', 'finalHopLatencyAvg_p99', 'totalHops_avg'],
29
35
  [CheckTypes.HEARTBEAT]: ['availability'],
30
36
  [CheckTypes.AGENTIC]: ['availability'],
31
37
  };
@@ -1 +1 @@
1
- {"version":3,"file":"analytics.js","sourceRoot":"","sources":["../../src/rest/analytics.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"analytics.js","sourceRoot":"","sources":["../../src/rest/analytics.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAkB,MAAM,iBAAiB,CAAA;AAI5D,MAAM,CAAC,MAAM,gBAAgB,GAAiB;IAC5C,aAAa,EAAE,WAAW,EAAE,YAAY,EAAE,UAAU,EAAE,WAAW,EAAE,UAAU,EAAE,WAAW;CAC3F,CAAA;AAED,8EAA8E;AAC9E,6EAA6E;AAC7E,MAAM,eAAe,GAAuC;IAC1D,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,YAAY;IAC9B,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,gBAAgB;IACtC,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,mBAAmB;IAC5C,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,kBAAkB;IAC3C,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,kBAAkB;IAC1C,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,YAAY;IAC9B,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,MAAM;IACzB,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,KAAK;IACvB,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,cAAc;IAChC,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,gBAAgB;IACtC,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,aAAa;IAChC,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,KAAK;IACvB,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,YAAY;CACtC,CAAA;AAED,4CAA4C;AAC5C,MAAM,cAAc,GAAyC;IAC3D,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,cAAc,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,kBAAkB,CAAC;IAClH,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC,cAAc,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,kBAAkB,EAAE,kBAAkB,CAAC;IAC/G,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC,cAAc,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,kBAAkB,EAAE,kBAAkB,CAAC;IAClH,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC,cAAc,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,kBAAkB,CAAC;IACzH,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,cAAc,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,kBAAkB,CAAC;IAClH,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,cAAc,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,CAAC;IACtF,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,cAAc,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,CAAC;IACtF,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,cAAc,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,gBAAgB,CAAC;IAC7H,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,cAAc,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,CAAC;IACvF,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,cAAc,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,qBAAqB,CAAC;IACrJ,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC,cAAc,EAAE,wBAAwB,EAAE,wBAAwB,EAAE,wBAAwB,EAAE,wBAAwB,EAAE,eAAe,CAAC;IAClK,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC,cAAc,CAAC;IACxC,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC,cAAc,CAAC;CACvC,CAAA;AAgCD,MAAM,SAAS;IACb,GAAG,CAAe;IAClB,YAAa,GAAkB;QAC7B,IAAI,CAAC,GAAG,GAAG,GAAG,CAAA;IAChB,CAAC;IAED,KAAK,CAAC,GAAG,CACP,OAAe,EAAE,SAAiB,EAAE,UAA+B,EAAE;QAErE,MAAM,WAAW,GAAG,eAAe,CAAC,SAAsB,CAAC,CAAA;QAC3D,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,2BAA2B,SAAS,EAAE,CAAC,CAAA;QACzD,CAAC;QAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,cAAc,CAAC,SAAsB,CAAC,IAAI,CAAC,cAAc,CAAC,CAAA;QAE7F,MAAM,MAAM,GAA2B;YACrC,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC;YAC1B,UAAU,EAAE,OAAO,CAAC,UAAU,IAAI,aAAa;SAChD,CAAA;QACD,IAAI,OAAO,CAAC,OAAO;YAAE,MAAM,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAA;QACrD,IAAI,OAAO,CAAC,cAAc;YAAE,MAAM,CAAC,cAAc,GAAG,OAAO,CAAC,cAAc,CAAA;QAE1E,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,CAAoB,iBAAiB,WAAW,IAAI,OAAO,EAAE,EAAE;YAChG,MAAM;SACP,CAAC,CAAA;QAEF,qEAAqE;QACrE,QAAQ,CAAC,IAAI,CAAC,gBAAgB,GAAG,OAAO,CAAA;QACxC,OAAO,QAAQ,CAAA;IACjB,CAAC;CACF;AAED,eAAe,SAAS,CAAA"}
@@ -14,6 +14,7 @@ export interface BatchAnalyticsResult {
14
14
  packetLoss_avg: number | null;
15
15
  packetLoss_p95: number | null;
16
16
  packetLoss_p99: number | null;
17
+ hopCount_avg: number | null;
17
18
  }
18
19
  export type BatchQuickRange = 'last24Hours' | 'last7Days' | 'thisWeek' | 'lastWeek' | 'lastMonth';
19
20
  export declare const batchQuickRangeValues: BatchQuickRange[];
@@ -1 +1 @@
1
- {"version":3,"file":"batch-analytics.js","sourceRoot":"","sources":["../../src/rest/batch-analytics.ts"],"names":[],"mappings":"AAwBA,MAAM,CAAC,MAAM,qBAAqB,GAAsB;IACtD,aAAa,EAAE,WAAW,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW;CAChE,CAAA;AAED,MAAM,cAAc;IAClB,GAAG,CAAe;IAClB,YAAa,GAAkB;QAC7B,IAAI,CAAC,GAAG,GAAG,GAAG,CAAA;IAChB,CAAC;IAED,GAAG,CAAE,QAAkB,EAAE,aAA8B,aAAa;QAClE,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAClB,sBAAsB,EACtB,EAAE,QAAQ,EAAE,EACZ,EAAE,MAAM,EAAE,EAAE,UAAU,EAAE,EAAE,CAC3B,CAAA;IACH,CAAC;CACF;AAED,eAAe,cAAc,CAAA"}
1
+ {"version":3,"file":"batch-analytics.js","sourceRoot":"","sources":["../../src/rest/batch-analytics.ts"],"names":[],"mappings":"AAyBA,MAAM,CAAC,MAAM,qBAAqB,GAAsB;IACtD,aAAa,EAAE,WAAW,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW;CAChE,CAAA;AAED,MAAM,cAAc;IAClB,GAAG,CAAe;IAClB,YAAa,GAAkB;QAC7B,IAAI,CAAC,GAAG,GAAG,GAAG,CAAA;IAChB,CAAC;IAED,GAAG,CAAE,QAAkB,EAAE,aAA8B,aAAa;QAClE,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAClB,sBAAsB,EACtB,EAAE,QAAQ,EAAE,EACZ,EAAE,MAAM,EAAE,EAAE,UAAU,EAAE,EAAE,CAC3B,CAAA;IACH,CAAC;CACF;AAED,eAAe,cAAc,CAAA"}
@@ -21,6 +21,9 @@ export interface CheckResult {
21
21
  browserCheckResult?: BrowserCheckResult | null;
22
22
  multiStepCheckResult?: MultiStepCheckResult | null;
23
23
  agenticCheckResult?: AgenticCheckResult | null;
24
+ tracerouteCheckResult?: TracerouteCheckResult | null;
25
+ grpcCheckResult?: GrpcCheckResult | null;
26
+ sslCheckResult?: SslCheckResult | null;
24
27
  }
25
28
  export interface ApiCheckAssertion {
26
29
  source: string;
@@ -161,12 +164,83 @@ export interface AgenticCheckResult {
161
164
  jobLog?: unknown | null;
162
165
  jobAssets?: string[] | null;
163
166
  }
167
+ export interface TracerouteCheckResult {
168
+ totalHops?: number | null;
169
+ destinationReached?: boolean | null;
170
+ finalHopLatency?: Record<string, unknown> | null;
171
+ timingPhases?: Record<string, unknown> | null;
172
+ requestError?: string | null;
173
+ request?: Record<string, unknown> | null;
174
+ assertions?: Array<Record<string, unknown>> | null;
175
+ response?: {
176
+ hostname?: string | null;
177
+ resolvedIp?: string | null;
178
+ totalHops?: number | null;
179
+ destinationReached?: boolean | null;
180
+ truncationReason?: string | null;
181
+ finalHopLatency?: Record<string, unknown> | null;
182
+ hops?: Array<Record<string, unknown>> | null;
183
+ protocol?: string | null;
184
+ probeProtocol?: string | null;
185
+ } | null;
186
+ }
187
+ export interface GrpcCheckResult {
188
+ grpcStatusCode?: number | null;
189
+ healthStatus?: number | null;
190
+ timingPhases?: Record<string, unknown> | null;
191
+ requestError?: string | null;
192
+ request?: Record<string, unknown> | null;
193
+ assertions?: Array<Record<string, unknown>> | null;
194
+ response?: {
195
+ grpcMode?: string | null;
196
+ host?: string | null;
197
+ resolvedIp?: string | null;
198
+ port?: number | null;
199
+ grpcMethod?: string | null;
200
+ responseMessage?: string | null;
201
+ grpcStatusCode?: number | null;
202
+ grpcStatusMessage?: string | null;
203
+ healthStatus?: number | null;
204
+ healthStatusLabel?: string | null;
205
+ metadata?: Array<Record<string, unknown>> | null;
206
+ discoveredMethods?: string[] | null;
207
+ requestError?: string | null;
208
+ timingPhases?: Record<string, unknown> | null;
209
+ } | null;
210
+ }
211
+ export interface SslCheckResult {
212
+ tlsVersion?: string | null;
213
+ cipherSuite?: string | null;
214
+ daysUntilExpiry?: number | null;
215
+ handshakeTimeMs?: number | null;
216
+ chainTrusted?: boolean | null;
217
+ hostnameVerified?: boolean | null;
218
+ baselineVerdict?: string | null;
219
+ baselineGrade?: string | null;
220
+ failureCategory?: string | null;
221
+ requestError?: string | null;
222
+ request?: Record<string, unknown> | null;
223
+ assertions?: Array<Record<string, unknown>> | null;
224
+ response?: {
225
+ resolvedIp?: string | null;
226
+ protocol?: string | null;
227
+ cipherSuite?: string | null;
228
+ handshakeTimeMs?: number | null;
229
+ hostnameVerified?: boolean | null;
230
+ chainTrusted?: boolean | null;
231
+ daysUntilExpiry?: number | null;
232
+ ocspStapled?: boolean | null;
233
+ securityBaseline?: Record<string, unknown> | null;
234
+ certificate?: Record<string, unknown> | null;
235
+ chain?: Array<Record<string, unknown>> | null;
236
+ } | null;
237
+ }
164
238
  export interface CheckResultsPage {
165
239
  length: number;
166
240
  entries: CheckResult[];
167
241
  nextId: string | null;
168
242
  }
169
- export type CheckResultField = 'id' | 'name' | 'checkId' | 'hasFailures' | 'hasErrors' | 'isDegraded' | 'isCancelled' | 'overMaxResponseTime' | 'runLocation' | 'startedAt' | 'stoppedAt' | 'created_at' | 'createdAt' | 'responseTime' | 'apiCheckResult' | 'browserCheckResult' | 'multiStepCheckResult' | 'agenticCheckResult' | 'playwrightCheckResult' | 'checkRunId' | 'attempts' | 'resultType' | 'sequenceId' | 'traceId' | 'errorGroupIds';
243
+ export type CheckResultField = 'id' | 'name' | 'checkId' | 'hasFailures' | 'hasErrors' | 'isDegraded' | 'isCancelled' | 'overMaxResponseTime' | 'runLocation' | 'startedAt' | 'stoppedAt' | 'created_at' | 'createdAt' | 'responseTime' | 'apiCheckResult' | 'browserCheckResult' | 'multiStepCheckResult' | 'agenticCheckResult' | 'tracerouteCheckResult' | 'grpcCheckResult' | 'sslCheckResult' | 'playwrightCheckResult' | 'checkRunId' | 'attempts' | 'resultType' | 'sequenceId' | 'traceId' | 'errorGroupIds';
170
244
  export interface ListCheckResultsParams {
171
245
  limit?: number;
172
246
  nextId?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"check-results.js","sourceRoot":"","sources":["../../src/rest/check-results.ts"],"names":[],"mappings":"AAyNA,MAAM,YAAY;IAChB,GAAG,CAAe;IAClB,YAAa,GAAkB;QAC7B,IAAI,CAAC,GAAG,GAAG,GAAG,CAAA;IAChB,CAAC;IAED,MAAM,CAAE,OAAe,EAAE,SAAiC,EAAE;QAC1D,8EAA8E;QAC9E,4EAA4E;QAC5E,uEAAuE;QACvE,sDAAsD;QACtD,MAAM,aAAa,GAAG,EAAE,GAAG,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,CAAA;QACrE,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,CAAmB,qBAAqB,OAAO,EAAE,EAAE,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC,CAAA;IAClG,CAAC;IAED,GAAG,CAAE,OAAe,EAAE,aAAqB;QACzC,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,CAAc,qBAAqB,OAAO,IAAI,aAAa,EAAE,CAAC,CAAA;IACnF,CAAC;CACF;AAED,eAAe,YAAY,CAAA"}
1
+ {"version":3,"file":"check-results.js","sourceRoot":"","sources":["../../src/rest/check-results.ts"],"names":[],"mappings":"AAoTA,MAAM,YAAY;IAChB,GAAG,CAAe;IAClB,YAAa,GAAkB;QAC7B,IAAI,CAAC,GAAG,GAAG,GAAG,CAAA;IAChB,CAAC;IAED,MAAM,CAAE,OAAe,EAAE,SAAiC,EAAE;QAC1D,8EAA8E;QAC9E,4EAA4E;QAC5E,uEAAuE;QACvE,sDAAsD;QACtD,MAAM,aAAa,GAAG,EAAE,GAAG,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,CAAA;QACrE,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,CAAmB,qBAAqB,OAAO,EAAE,EAAE,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC,CAAA;IAClG,CAAC;IAED,GAAG,CAAE,OAAe,EAAE,aAAqB;QACzC,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,CAAc,qBAAqB,OAAO,IAAI,aAAa,EAAE,CAAC,CAAA;IACnF,CAAC;CACF;AAED,eAAe,YAAY,CAAA"}
@@ -185,7 +185,7 @@ declare class Projects {
185
185
  dryRun?: boolean;
186
186
  scheduleOnDeploy?: boolean;
187
187
  /**
188
- * Detach resources removed from code (keep them and their run history)
188
+ * Keep resources removed from code (and their run history) in the account
189
189
  * instead of deleting them.
190
190
  */
191
191
  preserveResources?: boolean;
@@ -47,6 +47,12 @@ export declare class Bundler {
47
47
  get marker(): BundlePathMarker;
48
48
  updateMarker(newValue: string): void;
49
49
  get cacheHash(): string;
50
+ /**
51
+ * Whether any files have been registered for bundling. Only Playwright check
52
+ * suites register files (see playwright-check.ts), so an empty bundler means the
53
+ * project has nothing that needs a remote code bundle and the upload can be skipped.
54
+ */
55
+ get isEmpty(): boolean;
50
56
  registerFiles(...files: File[]): void;
51
57
  finalize(): Promise<FinalizedBundleArchive>;
52
58
  }
@@ -163,6 +163,14 @@ export class Bundler {
163
163
  get cacheHash() {
164
164
  return this.#cacheHash;
165
165
  }
166
+ /**
167
+ * Whether any files have been registered for bundling. Only Playwright check
168
+ * suites register files (see playwright-check.ts), so an empty bundler means the
169
+ * project has nothing that needs a remote code bundle and the upload can be skipped.
170
+ */
171
+ get isEmpty() {
172
+ return this.#files.size === 0;
173
+ }
166
174
  registerFiles(...files) {
167
175
  for (const newFile of files) {
168
176
  const existingFile = this.#files.get(newFile.filePath);