checkly 7.0.1 → 7.1.0-prerelease-36f4883

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 (79) hide show
  1. package/dist/ai-context/checkly.rules.md +44 -0
  2. package/dist/ai-context/context.js +5 -0
  3. package/dist/ai-context/context.js.map +1 -1
  4. package/dist/ai-context/skills/monitoring/SKILL.md +45 -1
  5. package/dist/commands/import/plan.js +2 -1
  6. package/dist/commands/import/plan.js.map +1 -1
  7. package/dist/commands/pw-test.d.ts +2 -1
  8. package/dist/commands/pw-test.js +7 -3
  9. package/dist/commands/pw-test.js.map +1 -1
  10. package/dist/constants.d.ts +2 -2
  11. package/dist/constants.js +3 -2
  12. package/dist/constants.js.map +1 -1
  13. package/dist/constructs/api-assertion.d.ts +3 -3
  14. package/dist/constructs/check-codegen.d.ts +2 -0
  15. package/dist/constructs/check-codegen.js +8 -0
  16. package/dist/constructs/check-codegen.js.map +1 -1
  17. package/dist/constructs/check-group-v1.js +4 -4
  18. package/dist/constructs/check-group-v1.js.map +1 -1
  19. package/dist/constructs/construct.js +6 -2
  20. package/dist/constructs/construct.js.map +1 -1
  21. package/dist/constructs/dns-assertion.d.ts +1 -1
  22. package/dist/constructs/heartbeat-monitor.js +2 -5
  23. package/dist/constructs/heartbeat-monitor.js.map +1 -1
  24. package/dist/constructs/icmp-assertion-codegen.d.ts +3 -0
  25. package/dist/constructs/icmp-assertion-codegen.js +22 -0
  26. package/dist/constructs/icmp-assertion-codegen.js.map +1 -0
  27. package/dist/constructs/icmp-assertion.d.ts +56 -0
  28. package/dist/constructs/icmp-assertion.js +61 -0
  29. package/dist/constructs/icmp-assertion.js.map +1 -0
  30. package/dist/constructs/icmp-monitor-codegen.d.ts +13 -0
  31. package/dist/constructs/icmp-monitor-codegen.js +38 -0
  32. package/dist/constructs/icmp-monitor-codegen.js.map +1 -0
  33. package/dist/constructs/icmp-monitor.d.ts +82 -0
  34. package/dist/constructs/icmp-monitor.js +47 -0
  35. package/dist/constructs/icmp-monitor.js.map +1 -0
  36. package/dist/constructs/icmp-request-codegen.d.ts +4 -0
  37. package/dist/constructs/icmp-request-codegen.js +28 -0
  38. package/dist/constructs/icmp-request-codegen.js.map +1 -0
  39. package/dist/constructs/icmp-request.d.ts +37 -0
  40. package/dist/constructs/icmp-request.js +3 -0
  41. package/dist/constructs/icmp-request.js.map +1 -0
  42. package/dist/constructs/incidentio-alert-channel.js +1 -1
  43. package/dist/constructs/index.d.ts +3 -0
  44. package/dist/constructs/index.js +3 -0
  45. package/dist/constructs/index.js.map +1 -1
  46. package/dist/constructs/internal/assertion-codegen.d.ts +4 -1
  47. package/dist/constructs/internal/assertion-codegen.js +5 -2
  48. package/dist/constructs/internal/assertion-codegen.js.map +1 -1
  49. package/dist/constructs/internal/assertion.d.ts +3 -2
  50. package/dist/constructs/internal/assertion.js +4 -2
  51. package/dist/constructs/internal/assertion.js.map +1 -1
  52. package/dist/constructs/msteams-alert-channel.js +48 -3
  53. package/dist/constructs/msteams-alert-channel.js.map +1 -1
  54. package/dist/constructs/multi-step-check.js +2 -2
  55. package/dist/constructs/multi-step-check.js.map +1 -1
  56. package/dist/constructs/project.js +0 -3
  57. package/dist/constructs/project.js.map +1 -1
  58. package/dist/constructs/tcp-monitor.d.ts +1 -1
  59. package/dist/constructs/telegram-alert-channel.js +8 -1
  60. package/dist/constructs/telegram-alert-channel.js.map +1 -1
  61. package/dist/constructs/url-assertion.d.ts +1 -1
  62. package/dist/reporters/util.js +67 -0
  63. package/dist/reporters/util.js.map +1 -1
  64. package/dist/services/check-parser/faux-package.d.ts +1 -0
  65. package/dist/services/check-parser/faux-package.js +5 -4
  66. package/dist/services/check-parser/faux-package.js.map +1 -1
  67. package/dist/services/check-parser/package-files/resolver.js +58 -23
  68. package/dist/services/check-parser/package-files/resolver.js.map +1 -1
  69. package/dist/services/check-parser/package-files/workspace.js +4 -5
  70. package/dist/services/check-parser/package-files/workspace.js.map +1 -1
  71. package/dist/services/check-parser/parser.d.ts +8 -8
  72. package/dist/services/check-parser/parser.js +114 -80
  73. package/dist/services/check-parser/parser.js.map +1 -1
  74. package/dist/services/project-parser.js.map +1 -1
  75. package/dist/testing/fixture-sandbox.js +7 -2
  76. package/dist/testing/fixture-sandbox.js.map +1 -1
  77. package/dist/tsconfig.tsbuildinfo +1 -1
  78. package/oclif.manifest.json +8 -1
  79. package/package.json +2 -2
@@ -7,7 +7,7 @@ exports.CheckGroupV1 = void 0;
7
7
  const node_path_1 = __importDefault(require("node:path"));
8
8
  const glob_1 = require("glob");
9
9
  const construct_diagnostics_1 = require("./construct-diagnostics");
10
- const constants_1 = __importDefault(require("../constants"));
10
+ const constants_1 = require("../constants");
11
11
  const alert_channel_subscription_1 = require("./alert-channel-subscription");
12
12
  const browser_check_1 = require("./browser-check");
13
13
  const check_group_ref_1 = require("./check-group-ref");
@@ -107,11 +107,11 @@ class CheckGroupV1 extends construct_1.Construct {
107
107
  this.browserChecks = props.browserChecks;
108
108
  const fileAbsolutePath = project_1.Session.checkFileAbsolutePath;
109
109
  if (props.browserChecks?.testMatch) {
110
- this.__addChecks(fileAbsolutePath, props.browserChecks.testMatch, constants_1.default.BROWSER);
110
+ this.__addChecks(fileAbsolutePath, props.browserChecks.testMatch, constants_1.CheckTypes.BROWSER);
111
111
  }
112
112
  this.multiStepChecks = props.multiStepChecks;
113
113
  if (props.multiStepChecks?.testMatch) {
114
- this.__addChecks(fileAbsolutePath, props.multiStepChecks.testMatch, constants_1.default.MULTI_STEP);
114
+ this.__addChecks(fileAbsolutePath, props.multiStepChecks.testMatch, constants_1.CheckTypes.MULTI_STEP);
115
115
  }
116
116
  project_1.Session.registerConstruct(this);
117
117
  this.__addSubscriptions();
@@ -169,7 +169,7 @@ class CheckGroupV1 extends construct_1.Construct {
169
169
  // the browserChecks props inherited from the group are applied in BrowserCheck.constructor()
170
170
  };
171
171
  const checkLogicalId = project_1.Session.relativePosixPath(filepath);
172
- if (checkType === constants_1.default.BROWSER) {
172
+ if (checkType === constants_1.CheckTypes.BROWSER) {
173
173
  new browser_check_1.BrowserCheck(checkLogicalId, props);
174
174
  }
175
175
  else {
@@ -1 +1 @@
1
- {"version":3,"file":"check-group-v1.js","sourceRoot":"","sources":["../../src/constructs/check-group-v1.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"check-group-v1.js","sourceRoot":"","sources":["../../src/constructs/check-group-v1.ts"],"names":[],"mappings":"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"}
@@ -5,6 +5,8 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.isContent = exports.isEntrypoint = exports.Construct = void 0;
7
7
  const node_path_1 = __importDefault(require("node:path"));
8
+ const constants_1 = require("../constants");
9
+ const construct_diagnostics_1 = require("./construct-diagnostics");
8
10
  const project_1 = require("./project");
9
11
  const ref_1 = require("./ref");
10
12
  /**
@@ -82,9 +84,11 @@ class Construct {
82
84
  * @param diagnostics The Diagnostics instance that any issues should be added to.
83
85
  * @returns A Promise that resolves when validation is complete.
84
86
  */
85
- // eslint-disable-next-line @typescript-eslint/no-unused-vars, require-await
87
+ // eslint-disable-next-line require-await
86
88
  async validate(diagnostics) {
87
- return;
89
+ if (!constants_1.LOGICAL_ID_PATTERN.test(this.logicalId)) {
90
+ diagnostics.add(new construct_diagnostics_1.InvalidPropertyValueDiagnostic('logicalId', new Error(`"${this.logicalId}" contains invalid characters. Only A-Z, a-z, 0-9, _, -, /, #, and . are allowed.`)));
91
+ }
88
92
  }
89
93
  /**
90
94
  * Bundles the Construct into a representation that can be synthesized. By
@@ -1 +1 @@
1
- {"version":3,"file":"construct.js","sourceRoot":"","sources":["../../src/constructs/construct.ts"],"names":[],"mappings":";;;;;;AAAA,0DAA4B;AAG5B,uCAAmC;AACnC,+BAA2B;AAkC3B;;;;;;GAMG;AACH,MAAsB,SAAS;IAC7B,2CAA2C;IAC3C,IAAI,CAAQ;IACZ,yDAAyD;IACzD,SAAS,CAAQ;IACjB,2DAA2D;IAC3D,UAAU,CAAkB;IAC5B,wDAAwD;IACxD,MAAM,CAAS;IACf,kEAAkE;IAClE,qBAAqB,CAAS;IAE9B;;;;;;;OAOG;IACH,YAAa,IAAY,EAAE,SAAiB,EAAE,UAA4B,EAAE,MAAgB;QAC1F,IAAI,CAAC,SAAS,GAAG,SAAS,CAAA;QAC1B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;QAChB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAA;QAC5B,IAAI,CAAC,MAAM,GAAG,MAAM,IAAI,IAAI,CAAA;QAC5B,IAAI,CAAC,qBAAqB,GAAG,iBAAO,CAAC,qBAAqB,CAAA;QAC1D,iBAAO,CAAC,uBAAuB,CAAC,IAAI,CAAC,CAAA;IACvC,CAAC;IAOD;;;;OAIG;IACH,GAAG;QACD,OAAO,SAAG,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;IACjC,CAAC;IAED;;;;;OAKG;IACH,oBAAoB;QAClB,OAAO,KAAK,CAAA;IACd,CAAC;IAED;;;;;;;OAOG;IACH,sBAAsB,CAAE,WAAmB;QACzC,IAAI,mBAAI,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;YACjC,OAAO,WAAW,CAAA;QACpB,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,qBAAqB,EAAE,CAAC;YAChC,MAAM,IAAI,KAAK,CAAC,gGAAgG,CAAC,CAAA;QACnH,CAAC;QAED,OAAO,mBAAI,CAAC,IAAI,CAAC,mBAAI,CAAC,OAAO,CAAC,IAAI,CAAC,qBAAqB,CAAC,EAAE,WAAW,CAAC,CAAA;IACzE,CAAC;IAED;;;;;;OAMG;IACH,4EAA4E;IAC5E,KAAK,CAAC,QAAQ,CAAE,WAAwB;QACtC,OAAM;IACR,CAAC;IAED;;;;;;;;;OASG;IACH,yCAAyC;IACzC,KAAK,CAAC,MAAM;QACV,OAAO,IAAI,CAAA;IACb,CAAC;CASF;AA3GD,8BA2GC;AAWD;;;;;GAKG;AACH,SAAgB,YAAY,CAAE,KAAU;IACtC,OAAO,YAAY,IAAI,MAAM,CAAC,KAAK,CAAC,CAAA;AACtC,CAAC;AAFD,oCAEC;AAWD;;;;;GAKG;AACH,SAAgB,SAAS,CAAE,KAAU;IACnC,OAAO,SAAS,IAAI,MAAM,CAAC,KAAK,CAAC,CAAA;AACnC,CAAC;AAFD,8BAEC"}
1
+ {"version":3,"file":"construct.js","sourceRoot":"","sources":["../../src/constructs/construct.ts"],"names":[],"mappings":";;;;;;AAAA,0DAA4B;AAE5B,4CAAiD;AACjD,mEAAwE;AAExE,uCAAmC;AACnC,+BAA2B;AAkC3B;;;;;;GAMG;AACH,MAAsB,SAAS;IAC7B,2CAA2C;IAC3C,IAAI,CAAQ;IACZ,yDAAyD;IACzD,SAAS,CAAQ;IACjB,2DAA2D;IAC3D,UAAU,CAAkB;IAC5B,wDAAwD;IACxD,MAAM,CAAS;IACf,kEAAkE;IAClE,qBAAqB,CAAS;IAE9B;;;;;;;OAOG;IACH,YAAa,IAAY,EAAE,SAAiB,EAAE,UAA4B,EAAE,MAAgB;QAC1F,IAAI,CAAC,SAAS,GAAG,SAAS,CAAA;QAC1B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;QAChB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAA;QAC5B,IAAI,CAAC,MAAM,GAAG,MAAM,IAAI,IAAI,CAAA;QAC5B,IAAI,CAAC,qBAAqB,GAAG,iBAAO,CAAC,qBAAqB,CAAA;QAC1D,iBAAO,CAAC,uBAAuB,CAAC,IAAI,CAAC,CAAA;IACvC,CAAC;IAOD;;;;OAIG;IACH,GAAG;QACD,OAAO,SAAG,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;IACjC,CAAC;IAED;;;;;OAKG;IACH,oBAAoB;QAClB,OAAO,KAAK,CAAA;IACd,CAAC;IAED;;;;;;;OAOG;IACH,sBAAsB,CAAE,WAAmB;QACzC,IAAI,mBAAI,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;YACjC,OAAO,WAAW,CAAA;QACpB,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,qBAAqB,EAAE,CAAC;YAChC,MAAM,IAAI,KAAK,CAAC,gGAAgG,CAAC,CAAA;QACnH,CAAC;QAED,OAAO,mBAAI,CAAC,IAAI,CAAC,mBAAI,CAAC,OAAO,CAAC,IAAI,CAAC,qBAAqB,CAAC,EAAE,WAAW,CAAC,CAAA;IACzE,CAAC;IAED;;;;;;OAMG;IACH,yCAAyC;IACzC,KAAK,CAAC,QAAQ,CAAE,WAAwB;QACtC,IAAI,CAAC,8BAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;YAC7C,WAAW,CAAC,GAAG,CAAC,IAAI,sDAA8B,CAChD,WAAW,EACX,IAAI,KAAK,CAAC,IAAI,IAAI,CAAC,SAAS,mFAAmF,CAAC,CACjH,CAAC,CAAA;QACJ,CAAC;IACH,CAAC;IAED;;;;;;;;;OASG;IACH,yCAAyC;IACzC,KAAK,CAAC,MAAM;QACV,OAAO,IAAI,CAAA;IACb,CAAC;CASF;AAhHD,8BAgHC;AAWD;;;;;GAKG;AACH,SAAgB,YAAY,CAAE,KAAU;IACtC,OAAO,YAAY,IAAI,MAAM,CAAC,KAAK,CAAC,CAAA;AACtC,CAAC;AAFD,oCAEC;AAWD;;;;;GAKG;AACH,SAAgB,SAAS,CAAE,KAAU;IACnC,OAAO,SAAS,IAAI,MAAM,CAAC,KAAK,CAAC,CAAA;AACnC,CAAC;AAFD,8BAEC"}
@@ -26,7 +26,7 @@ export declare class DnsAssertionBuilder {
26
26
  * Creates an assertion builder for DNS response time.
27
27
  * @returns A numeric assertion builder for response time in milliseconds.
28
28
  */
29
- static responseTime(): NumericAssertionBuilder<DnsAssertionSource>;
29
+ static responseTime(): NumericAssertionBuilder<DnsAssertionSource, string>;
30
30
  /**
31
31
  * Creates an assertion builder for the answer in common plain text format.
32
32
  * @param regex An optional regular expression with at least one capture
@@ -1,13 +1,10 @@
1
1
  "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
2
  Object.defineProperty(exports, "__esModule", { value: true });
6
3
  exports.HeartbeatCheck = exports.HeartbeatMonitor = void 0;
7
4
  const monitor_1 = require("./monitor");
8
5
  const project_1 = require("./project");
9
6
  const luxon_1 = require("luxon");
10
- const constants_1 = __importDefault(require("../constants"));
7
+ const constants_1 = require("../constants");
11
8
  function _customPeriodGraceValidation(heartbeat) {
12
9
  const now = luxon_1.DateTime.now();
13
10
  const addedTimePeriod = now.plus({ [heartbeat.periodUnit]: heartbeat.period });
@@ -52,7 +49,7 @@ class HeartbeatMonitor extends monitor_1.Monitor {
52
49
  synthesize() {
53
50
  return {
54
51
  ...super.synthesize(),
55
- checkType: constants_1.default.HEARTBEAT,
52
+ checkType: constants_1.CheckTypes.HEARTBEAT,
56
53
  heartbeat: this.heartbeat,
57
54
  };
58
55
  }
@@ -1 +1 @@
1
- {"version":3,"file":"heartbeat-monitor.js","sourceRoot":"","sources":["../../src/constructs/heartbeat-monitor.ts"],"names":[],"mappings":";;;;;;AAAA,uCAAiD;AACjD,uCAAmC;AACnC,iCAAgC;AAChC,6DAAqC;AA8BrC,SAAS,4BAA4B,CAAE,SAAoB;IACzD,MAAM,GAAG,GAAG,gBAAQ,CAAC,GAAG,EAAE,CAAA;IAC1B,MAAM,eAAe,GAAG,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,SAAS,CAAC,MAAM,EAAE,CAAC,CAAA;IAC9E,MAAM,gBAAgB,GAAG,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE,SAAS,CAAC,KAAK,EAAE,CAAC,CAAA;IAE7E,MAAM,qBAAqB,GAAG,GAAG,CAAA;IACjC,MAAM,kBAAkB,GAAG,EAAE,CAAA;IAE7B,IACE,eAAe,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,IAAI,GAAG,qBAAqB;WAC3D,eAAe,CAAC,IAAI,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC,OAAO,GAAG,kBAAkB,EACpE,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAA;IACpE,CAAC;IAED,IAAI,gBAAgB,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,IAAI,GAAG,qBAAqB,EAAE,CAAC;QACpE,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAA;IACtD,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAa,gBAAiB,SAAQ,iBAAO;IAC3C,SAAS,CAAW;IAEpB;;;;;;OAMG;IACH,YAAa,SAAiB,EAAE,KAA4B;QAC1D,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,CAAA;QAEvB,4BAA4B,CAAC,KAAK,CAAC,CAAA;QACnC,IAAI,CAAC,SAAS,GAAG;YACf,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,UAAU,EAAE,KAAK,CAAC,UAAU;YAC5B,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,SAAS,EAAE,KAAK,CAAC,SAAS;SAC3B,CAAA;QAED,iBAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAA;QAC/B,IAAI,CAAC,gBAAgB,EAAE,CAAA;IACzB,CAAC;IAED,QAAQ;QACN,OAAO,oBAAoB,IAAI,CAAC,SAAS,EAAE,CAAA;IAC7C,CAAC;IAED,UAAU;QACR,OAAO;YACL,GAAG,KAAK,CAAC,UAAU,EAAE;YACrB,SAAS,EAAE,mBAAU,CAAC,SAAS;YAC/B,SAAS,EAAE,IAAI,CAAC,SAAS;SAC1B,CAAA;IACH,CAAC;CACF;AApCD,4CAoCC;AAKqB,0CAAc"}
1
+ {"version":3,"file":"heartbeat-monitor.js","sourceRoot":"","sources":["../../src/constructs/heartbeat-monitor.ts"],"names":[],"mappings":";;;AAAA,uCAAiD;AACjD,uCAAmC;AACnC,iCAAgC;AAChC,4CAAyC;AA8BzC,SAAS,4BAA4B,CAAE,SAAoB;IACzD,MAAM,GAAG,GAAG,gBAAQ,CAAC,GAAG,EAAE,CAAA;IAC1B,MAAM,eAAe,GAAG,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,SAAS,CAAC,MAAM,EAAE,CAAC,CAAA;IAC9E,MAAM,gBAAgB,GAAG,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE,SAAS,CAAC,KAAK,EAAE,CAAC,CAAA;IAE7E,MAAM,qBAAqB,GAAG,GAAG,CAAA;IACjC,MAAM,kBAAkB,GAAG,EAAE,CAAA;IAE7B,IACE,eAAe,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,IAAI,GAAG,qBAAqB;WAC3D,eAAe,CAAC,IAAI,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC,OAAO,GAAG,kBAAkB,EACpE,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAA;IACpE,CAAC;IAED,IAAI,gBAAgB,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,IAAI,GAAG,qBAAqB,EAAE,CAAC;QACpE,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAA;IACtD,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAa,gBAAiB,SAAQ,iBAAO;IAC3C,SAAS,CAAW;IAEpB;;;;;;OAMG;IACH,YAAa,SAAiB,EAAE,KAA4B;QAC1D,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,CAAA;QAEvB,4BAA4B,CAAC,KAAK,CAAC,CAAA;QACnC,IAAI,CAAC,SAAS,GAAG;YACf,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,UAAU,EAAE,KAAK,CAAC,UAAU;YAC5B,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,SAAS,EAAE,KAAK,CAAC,SAAS;SAC3B,CAAA;QAED,iBAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAA;QAC/B,IAAI,CAAC,gBAAgB,EAAE,CAAA;IACzB,CAAC;IAED,QAAQ;QACN,OAAO,oBAAoB,IAAI,CAAC,SAAS,EAAE,CAAA;IAC7C,CAAC;IAED,UAAU;QACR,OAAO;YACL,GAAG,KAAK,CAAC,UAAU,EAAE;YACrB,SAAS,EAAE,sBAAU,CAAC,SAAS;YAC/B,SAAS,EAAE,IAAI,CAAC,SAAS;SAC1B,CAAA;IACH,CAAC;CACF;AApCD,4CAoCC;AAKqB,0CAAc"}
@@ -0,0 +1,3 @@
1
+ import { GeneratedFile, Value } from '../sourcegen';
2
+ import { IcmpAssertion } from './icmp-assertion';
3
+ export declare function valueForIcmpAssertion(genfile: GeneratedFile, assertion: IcmpAssertion): Value;
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.valueForIcmpAssertion = void 0;
4
+ const assertion_codegen_1 = require("./internal/assertion-codegen");
5
+ function valueForIcmpAssertion(genfile, assertion) {
6
+ genfile.namedImport('IcmpAssertionBuilder', 'checkly/constructs');
7
+ switch (assertion.source) {
8
+ case 'LATENCY':
9
+ return (0, assertion_codegen_1.valueForNumericAssertion)('IcmpAssertionBuilder', 'latency', assertion, {
10
+ hasProperty: true,
11
+ });
12
+ case 'JSON_RESPONSE':
13
+ return (0, assertion_codegen_1.valueForGeneralAssertion)('IcmpAssertionBuilder', 'jsonResponse', assertion, {
14
+ hasProperty: true,
15
+ hasRegex: false,
16
+ });
17
+ default:
18
+ throw new Error(`Unsupported ICMP assertion source ${assertion.source}`);
19
+ }
20
+ }
21
+ exports.valueForIcmpAssertion = valueForIcmpAssertion;
22
+ //# sourceMappingURL=icmp-assertion-codegen.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"icmp-assertion-codegen.js","sourceRoot":"","sources":["../../src/constructs/icmp-assertion-codegen.ts"],"names":[],"mappings":";;;AACA,oEAAiG;AAGjG,SAAgB,qBAAqB,CAAE,OAAsB,EAAE,SAAwB;IACrF,OAAO,CAAC,WAAW,CAAC,sBAAsB,EAAE,oBAAoB,CAAC,CAAA;IAEjE,QAAQ,SAAS,CAAC,MAAM,EAAE,CAAC;QACzB,KAAK,SAAS;YACZ,OAAO,IAAA,4CAAwB,EAAC,sBAAsB,EAAE,SAAS,EAAE,SAAS,EAAE;gBAC5E,WAAW,EAAE,IAAI;aAClB,CAAC,CAAA;QACJ,KAAK,eAAe;YAClB,OAAO,IAAA,4CAAwB,EAAC,sBAAsB,EAAE,cAAc,EAAE,SAAS,EAAE;gBACjF,WAAW,EAAE,IAAI;gBACjB,QAAQ,EAAE,KAAK;aAChB,CAAC,CAAA;QACJ;YACE,MAAM,IAAI,KAAK,CAAC,qCAAqC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAA;IAC5E,CAAC;AACH,CAAC;AAhBD,sDAgBC"}
@@ -0,0 +1,56 @@
1
+ import { Assertion as CoreAssertion, NumericAssertionBuilder, GeneralAssertionBuilder } from './internal/assertion';
2
+ type IcmpAssertionSource = 'LATENCY' | 'JSON_RESPONSE';
3
+ export type IcmpAssertion = CoreAssertion<IcmpAssertionSource>;
4
+ export type IcmpLatencyProperty = 'avg' | 'min' | 'max' | 'stdDev';
5
+ /**
6
+ * Builder class for creating ICMP monitor assertions.
7
+ * Provides methods to create assertions for ICMP ping responses.
8
+ *
9
+ * @example
10
+ * ```typescript
11
+ * // Latency assertions
12
+ * IcmpAssertionBuilder.latency('avg').lessThan(100)
13
+ * IcmpAssertionBuilder.latency('max').lessThan(200)
14
+ * IcmpAssertionBuilder.latency('stdDev').lessThan(50)
15
+ *
16
+ * // JSON response assertions
17
+ * IcmpAssertionBuilder.jsonResponse('$.packetLoss').lessThan(10)
18
+ * IcmpAssertionBuilder.jsonResponse('$.packetsReceived').greaterThan(8)
19
+ * ```
20
+ */
21
+ export declare class IcmpAssertionBuilder {
22
+ /**
23
+ * Creates an assertion builder for ICMP latency metrics.
24
+ * @param property The latency property to assert against:
25
+ * - `avg`: Average round-trip time in milliseconds
26
+ * - `min`: Minimum round-trip time in milliseconds
27
+ * - `max`: Maximum round-trip time in milliseconds
28
+ * - `stdDev`: Standard deviation of round-trip times
29
+ * @returns A numeric assertion builder for the specified latency metric.
30
+ */
31
+ static latency(property: IcmpLatencyProperty): NumericAssertionBuilder<IcmpAssertionSource, IcmpLatencyProperty>;
32
+ /**
33
+ * Creates an assertion builder for the JSON formatted response.
34
+ * Use JSONPath expressions to access specific response fields.
35
+ *
36
+ * Available fields include:
37
+ * - `$.hostname`: The target host that was pinged
38
+ * - `$.resolvedIp`: The resolved IP address (if host was a domain name)
39
+ * - `$.ipFamily`: IP family used ('IPv4' or 'IPv6')
40
+ * - `$.pingCount`: Number of pings configured
41
+ * - `$.packetsSent`: Number of ICMP echo requests sent
42
+ * - `$.packetsReceived`: Number of ICMP echo replies received
43
+ * - `$.packetLoss`: Percentage of packets lost (0-100)
44
+ * - `$.latency.avg`: Average round-trip time in milliseconds
45
+ * - `$.latency.min`: Minimum round-trip time in milliseconds
46
+ * - `$.latency.max`: Maximum round-trip time in milliseconds
47
+ * - `$.latency.stdDev`: Standard deviation of round-trip times
48
+ * - `$.pingResults[*].rtt`: Round-trip time for each ping
49
+ * - `$.pingResults[*].ttl`: Time-to-live for each ping
50
+ *
51
+ * @param property Optional JSONPath to specific property (e.g., '$.packetLoss')
52
+ * @returns A general assertion builder for the JSON formatted response.
53
+ */
54
+ static jsonResponse(property?: string): GeneralAssertionBuilder<IcmpAssertionSource>;
55
+ }
56
+ export {};
@@ -0,0 +1,61 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.IcmpAssertionBuilder = void 0;
4
+ const assertion_1 = require("./internal/assertion");
5
+ /**
6
+ * Builder class for creating ICMP monitor assertions.
7
+ * Provides methods to create assertions for ICMP ping responses.
8
+ *
9
+ * @example
10
+ * ```typescript
11
+ * // Latency assertions
12
+ * IcmpAssertionBuilder.latency('avg').lessThan(100)
13
+ * IcmpAssertionBuilder.latency('max').lessThan(200)
14
+ * IcmpAssertionBuilder.latency('stdDev').lessThan(50)
15
+ *
16
+ * // JSON response assertions
17
+ * IcmpAssertionBuilder.jsonResponse('$.packetLoss').lessThan(10)
18
+ * IcmpAssertionBuilder.jsonResponse('$.packetsReceived').greaterThan(8)
19
+ * ```
20
+ */
21
+ class IcmpAssertionBuilder {
22
+ /**
23
+ * Creates an assertion builder for ICMP latency metrics.
24
+ * @param property The latency property to assert against:
25
+ * - `avg`: Average round-trip time in milliseconds
26
+ * - `min`: Minimum round-trip time in milliseconds
27
+ * - `max`: Maximum round-trip time in milliseconds
28
+ * - `stdDev`: Standard deviation of round-trip times
29
+ * @returns A numeric assertion builder for the specified latency metric.
30
+ */
31
+ static latency(property) {
32
+ return new assertion_1.NumericAssertionBuilder('LATENCY', property);
33
+ }
34
+ /**
35
+ * Creates an assertion builder for the JSON formatted response.
36
+ * Use JSONPath expressions to access specific response fields.
37
+ *
38
+ * Available fields include:
39
+ * - `$.hostname`: The target host that was pinged
40
+ * - `$.resolvedIp`: The resolved IP address (if host was a domain name)
41
+ * - `$.ipFamily`: IP family used ('IPv4' or 'IPv6')
42
+ * - `$.pingCount`: Number of pings configured
43
+ * - `$.packetsSent`: Number of ICMP echo requests sent
44
+ * - `$.packetsReceived`: Number of ICMP echo replies received
45
+ * - `$.packetLoss`: Percentage of packets lost (0-100)
46
+ * - `$.latency.avg`: Average round-trip time in milliseconds
47
+ * - `$.latency.min`: Minimum round-trip time in milliseconds
48
+ * - `$.latency.max`: Maximum round-trip time in milliseconds
49
+ * - `$.latency.stdDev`: Standard deviation of round-trip times
50
+ * - `$.pingResults[*].rtt`: Round-trip time for each ping
51
+ * - `$.pingResults[*].ttl`: Time-to-live for each ping
52
+ *
53
+ * @param property Optional JSONPath to specific property (e.g., '$.packetLoss')
54
+ * @returns A general assertion builder for the JSON formatted response.
55
+ */
56
+ static jsonResponse(property) {
57
+ return new assertion_1.GeneralAssertionBuilder('JSON_RESPONSE', property);
58
+ }
59
+ }
60
+ exports.IcmpAssertionBuilder = IcmpAssertionBuilder;
61
+ //# sourceMappingURL=icmp-assertion.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"icmp-assertion.js","sourceRoot":"","sources":["../../src/constructs/icmp-assertion.ts"],"names":[],"mappings":";;;AAAA,oDAAmH;AAUnH;;;;;;;;;;;;;;;GAeG;AACH,MAAa,oBAAoB;IAC/B;;;;;;;;OAQG;IACH,MAAM,CAAC,OAAO,CAAE,QAA6B;QAC3C,OAAO,IAAI,mCAAuB,CAA2C,SAAS,EAAE,QAAQ,CAAC,CAAA;IACnG,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;OAqBG;IACH,MAAM,CAAC,YAAY,CAAE,QAAiB;QACpC,OAAO,IAAI,mCAAuB,CAAsB,eAAe,EAAE,QAAQ,CAAC,CAAA;IACpF,CAAC;CACF;AAvCD,oDAuCC"}
@@ -0,0 +1,13 @@
1
+ import { Codegen, Context } from './internal/codegen';
2
+ import { MonitorResource } from './monitor-codegen';
3
+ import { IcmpRequest } from './icmp-request';
4
+ export interface IcmpMonitorResource extends MonitorResource {
5
+ checkType: 'ICMP';
6
+ request: IcmpRequest;
7
+ degradedPacketLossThreshold?: number;
8
+ maxPacketLossThreshold?: number;
9
+ }
10
+ export declare class IcmpMonitorCodegen extends Codegen<IcmpMonitorResource> {
11
+ describe(resource: IcmpMonitorResource): string;
12
+ gencode(logicalId: string, resource: IcmpMonitorResource, context: Context): void;
13
+ }
@@ -0,0 +1,38 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.IcmpMonitorCodegen = void 0;
4
+ const codegen_1 = require("./internal/codegen");
5
+ const sourcegen_1 = require("../sourcegen");
6
+ const monitor_codegen_1 = require("./monitor-codegen");
7
+ const icmp_request_codegen_1 = require("./icmp-request-codegen");
8
+ const construct = 'IcmpMonitor';
9
+ class IcmpMonitorCodegen extends codegen_1.Codegen {
10
+ describe(resource) {
11
+ return `ICMP Monitor: ${resource.name}`;
12
+ }
13
+ gencode(logicalId, resource, context) {
14
+ const filePath = context.filePath('resources/icmp-monitors', resource.name, {
15
+ tags: resource.tags,
16
+ unique: true,
17
+ });
18
+ const file = this.program.generatedConstructFile(filePath.fullPath);
19
+ file.namedImport(construct, 'checkly/constructs');
20
+ file.section((0, sourcegen_1.expr)((0, sourcegen_1.ident)(construct), builder => {
21
+ builder.new(builder => {
22
+ builder.string(logicalId);
23
+ builder.object(builder => {
24
+ builder.value('request', (0, icmp_request_codegen_1.valueForIcmpRequest)(this.program, file, context, resource.request));
25
+ if (resource.degradedPacketLossThreshold !== undefined) {
26
+ builder.number('degradedPacketLossThreshold', resource.degradedPacketLossThreshold);
27
+ }
28
+ if (resource.maxPacketLossThreshold !== undefined) {
29
+ builder.number('maxPacketLossThreshold', resource.maxPacketLossThreshold);
30
+ }
31
+ (0, monitor_codegen_1.buildMonitorProps)(this.program, file, builder, resource, context);
32
+ });
33
+ });
34
+ }));
35
+ }
36
+ }
37
+ exports.IcmpMonitorCodegen = IcmpMonitorCodegen;
38
+ //# sourceMappingURL=icmp-monitor-codegen.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"icmp-monitor-codegen.js","sourceRoot":"","sources":["../../src/constructs/icmp-monitor-codegen.ts"],"names":[],"mappings":";;;AAAA,gDAAqD;AACrD,4CAA0C;AAC1C,uDAAsE;AAEtE,iEAA4D;AAS5D,MAAM,SAAS,GAAG,aAAa,CAAA;AAE/B,MAAa,kBAAmB,SAAQ,iBAA4B;IAClE,QAAQ,CAAE,QAA6B;QACrC,OAAO,iBAAiB,QAAQ,CAAC,IAAI,EAAE,CAAA;IACzC,CAAC;IAED,OAAO,CAAE,SAAiB,EAAE,QAA6B,EAAE,OAAgB;QACzE,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,yBAAyB,EAAE,QAAQ,CAAC,IAAI,EAAE;YAC1E,IAAI,EAAE,QAAQ,CAAC,IAAI;YACnB,MAAM,EAAE,IAAI;SACb,CAAC,CAAA;QAEF,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,sBAAsB,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAA;QAEnE,IAAI,CAAC,WAAW,CAAC,SAAS,EAAE,oBAAoB,CAAC,CAAA;QAEjD,IAAI,CAAC,OAAO,CAAC,IAAA,gBAAI,EAAC,IAAA,iBAAK,EAAC,SAAS,CAAC,EAAE,OAAO,CAAC,EAAE;YAC5C,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE;gBACpB,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,CAAA;gBACzB,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE;oBACvB,OAAO,CAAC,KAAK,CAAC,SAAS,EAAE,IAAA,0CAAmB,EAAC,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAA;oBAE5F,IAAI,QAAQ,CAAC,2BAA2B,KAAK,SAAS,EAAE,CAAC;wBACvD,OAAO,CAAC,MAAM,CAAC,6BAA6B,EAAE,QAAQ,CAAC,2BAA2B,CAAC,CAAA;oBACrF,CAAC;oBAED,IAAI,QAAQ,CAAC,sBAAsB,KAAK,SAAS,EAAE,CAAC;wBAClD,OAAO,CAAC,MAAM,CAAC,wBAAwB,EAAE,QAAQ,CAAC,sBAAsB,CAAC,CAAA;oBAC3E,CAAC;oBAED,IAAA,mCAAiB,EAAC,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAA;gBACnE,CAAC,CAAC,CAAA;YACJ,CAAC,CAAC,CAAA;QACJ,CAAC,CAAC,CAAC,CAAA;IACL,CAAC;CACF;AAlCD,gDAkCC"}
@@ -0,0 +1,82 @@
1
+ import { Monitor, MonitorProps } from './monitor';
2
+ import { Diagnostics } from './diagnostics';
3
+ import { IcmpRequest } from './icmp-request';
4
+ export interface IcmpMonitorProps extends MonitorProps {
5
+ /**
6
+ * Determines the request that the monitor is going to run.
7
+ */
8
+ request: IcmpRequest;
9
+ /**
10
+ * The percentage of packet loss where the monitor should be considered
11
+ * degraded.
12
+ *
13
+ * @defaultValue 10
14
+ * @minimum 0
15
+ * @maximum 100
16
+ * @example
17
+ * ```typescript
18
+ * degradedPacketLossThreshold: 10 // Alert when 10% or more packets are lost
19
+ * ```
20
+ */
21
+ degradedPacketLossThreshold?: number;
22
+ /**
23
+ * The percentage of packet loss where the monitor should be considered
24
+ * failing.
25
+ *
26
+ * @defaultValue 20
27
+ * @minimum 0
28
+ * @maximum 100
29
+ * @example
30
+ * ```typescript
31
+ * maxPacketLossThreshold: 20 // Fail if 20% or more packets are lost
32
+ * ```
33
+ */
34
+ maxPacketLossThreshold?: number;
35
+ }
36
+ /**
37
+ * Creates an ICMP Monitor
38
+ */
39
+ export declare class IcmpMonitor extends Monitor {
40
+ request: IcmpRequest;
41
+ degradedPacketLossThreshold?: number;
42
+ maxPacketLossThreshold?: number;
43
+ /**
44
+ * Constructs the ICMP Monitor instance
45
+ *
46
+ * @param logicalId unique project-scoped resource name identification
47
+ * @param props configuration properties
48
+ *
49
+ * {@link https://www.checklyhq.com/docs/constructs/icmp-monitor/ Read more in the docs}
50
+ */
51
+ constructor(logicalId: string, props: IcmpMonitorProps);
52
+ describe(): string;
53
+ validate(diagnostics: Diagnostics): Promise<void>;
54
+ synthesize(): {
55
+ checkType: string;
56
+ request: IcmpRequest;
57
+ degradedPacketLossThreshold: number | undefined;
58
+ maxPacketLossThreshold: number | undefined;
59
+ doubleCheck: boolean;
60
+ name: string;
61
+ activated: boolean | undefined;
62
+ muted: boolean | undefined;
63
+ shouldFail: boolean | undefined;
64
+ locations: (keyof import("..").Region)[] | undefined;
65
+ privateLocations: undefined;
66
+ tags: string[] | undefined;
67
+ frequency: number | undefined;
68
+ frequencyOffset: number | undefined;
69
+ groupId: import("./ref").Ref | null;
70
+ retryStrategy: import("./retry-strategy").LinearRetryStrategy | import("./retry-strategy").ExponentialRetryStrategy | import("./retry-strategy").FixedRetryStrategy | import("./retry-strategy").SingleRetryRetryStrategy | null | undefined;
71
+ alertSettings: import("./alert-escalation-policy").AlertEscalation | undefined;
72
+ useGlobalAlertSettings: boolean | undefined;
73
+ runParallel: boolean | undefined;
74
+ triggerIncident: {
75
+ serviceId: import("./ref").Ref;
76
+ severity: "MINOR" | "MEDIUM" | "MAJOR" | "CRITICAL";
77
+ name: string;
78
+ description: string;
79
+ notifySubscribers: boolean;
80
+ } | undefined;
81
+ };
82
+ }
@@ -0,0 +1,47 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.IcmpMonitor = void 0;
4
+ const monitor_1 = require("./monitor");
5
+ const project_1 = require("./project");
6
+ /**
7
+ * Creates an ICMP Monitor
8
+ */
9
+ class IcmpMonitor extends monitor_1.Monitor {
10
+ request;
11
+ degradedPacketLossThreshold;
12
+ maxPacketLossThreshold;
13
+ /**
14
+ * Constructs the ICMP Monitor instance
15
+ *
16
+ * @param logicalId unique project-scoped resource name identification
17
+ * @param props configuration properties
18
+ *
19
+ * {@link https://www.checklyhq.com/docs/constructs/icmp-monitor/ Read more in the docs}
20
+ */
21
+ constructor(logicalId, props) {
22
+ super(logicalId, props);
23
+ this.request = props.request;
24
+ this.degradedPacketLossThreshold = props.degradedPacketLossThreshold;
25
+ this.maxPacketLossThreshold = props.maxPacketLossThreshold;
26
+ project_1.Session.registerConstruct(this);
27
+ this.addSubscriptions();
28
+ this.addPrivateLocationCheckAssignments();
29
+ }
30
+ describe() {
31
+ return `IcmpMonitor:${this.logicalId}`;
32
+ }
33
+ async validate(diagnostics) {
34
+ await super.validate(diagnostics);
35
+ }
36
+ synthesize() {
37
+ return {
38
+ ...super.synthesize(),
39
+ checkType: 'ICMP',
40
+ request: this.request,
41
+ degradedPacketLossThreshold: this.degradedPacketLossThreshold,
42
+ maxPacketLossThreshold: this.maxPacketLossThreshold,
43
+ };
44
+ }
45
+ }
46
+ exports.IcmpMonitor = IcmpMonitor;
47
+ //# sourceMappingURL=icmp-monitor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"icmp-monitor.js","sourceRoot":"","sources":["../../src/constructs/icmp-monitor.ts"],"names":[],"mappings":";;;AAAA,uCAAiD;AACjD,uCAAmC;AAuCnC;;GAEG;AACH,MAAa,WAAY,SAAQ,iBAAO;IACtC,OAAO,CAAa;IACpB,2BAA2B,CAAS;IACpC,sBAAsB,CAAS;IAE/B;;;;;;;OAOG;IAEH,YAAa,SAAiB,EAAE,KAAuB;QACrD,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,CAAA;QAEvB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,CAAA;QAC5B,IAAI,CAAC,2BAA2B,GAAG,KAAK,CAAC,2BAA2B,CAAA;QACpE,IAAI,CAAC,sBAAsB,GAAG,KAAK,CAAC,sBAAsB,CAAA;QAE1D,iBAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAA;QAC/B,IAAI,CAAC,gBAAgB,EAAE,CAAA;QACvB,IAAI,CAAC,kCAAkC,EAAE,CAAA;IAC3C,CAAC;IAED,QAAQ;QACN,OAAO,eAAe,IAAI,CAAC,SAAS,EAAE,CAAA;IACxC,CAAC;IAED,KAAK,CAAC,QAAQ,CAAE,WAAwB;QACtC,MAAM,KAAK,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAA;IACnC,CAAC;IAED,UAAU;QACR,OAAO;YACL,GAAG,KAAK,CAAC,UAAU,EAAE;YACrB,SAAS,EAAE,MAAM;YACjB,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,2BAA2B,EAAE,IAAI,CAAC,2BAA2B;YAC7D,sBAAsB,EAAE,IAAI,CAAC,sBAAsB;SACpD,CAAA;IACH,CAAC;CACF;AA3CD,kCA2CC"}
@@ -0,0 +1,4 @@
1
+ import { GeneratedFile, Program, Value } from '../sourcegen';
2
+ import { IcmpRequest } from './icmp-request';
3
+ import { Context } from './internal/codegen';
4
+ export declare function valueForIcmpRequest(program: Program, genfile: GeneratedFile, context: Context, request: IcmpRequest): Value;
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.valueForIcmpRequest = void 0;
4
+ const sourcegen_1 = require("../sourcegen");
5
+ const icmp_assertion_codegen_1 = require("./icmp-assertion-codegen");
6
+ function valueForIcmpRequest(program, genfile, context, request) {
7
+ return (0, sourcegen_1.object)(builder => {
8
+ builder.string('hostname', request.hostname);
9
+ if (request.ipFamily && request.ipFamily !== 'IPv4') {
10
+ builder.string('ipFamily', request.ipFamily);
11
+ }
12
+ if (request.pingCount !== undefined) {
13
+ builder.number('pingCount', request.pingCount);
14
+ }
15
+ if (request.assertions) {
16
+ const assertions = request.assertions;
17
+ if (assertions.length > 0) {
18
+ builder.array('assertions', builder => {
19
+ for (const assertion of assertions) {
20
+ builder.value((0, icmp_assertion_codegen_1.valueForIcmpAssertion)(genfile, assertion));
21
+ }
22
+ });
23
+ }
24
+ }
25
+ });
26
+ }
27
+ exports.valueForIcmpRequest = valueForIcmpRequest;
28
+ //# sourceMappingURL=icmp-request-codegen.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"icmp-request-codegen.js","sourceRoot":"","sources":["../../src/constructs/icmp-request-codegen.ts"],"names":[],"mappings":";;;AAAA,4CAAoE;AACpE,qEAAgE;AAIhE,SAAgB,mBAAmB,CACjC,OAAgB,EAChB,OAAsB,EACtB,OAAgB,EAChB,OAAoB;IAEpB,OAAO,IAAA,kBAAM,EAAC,OAAO,CAAC,EAAE;QACtB,OAAO,CAAC,MAAM,CAAC,UAAU,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAA;QAE5C,IAAI,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,QAAQ,KAAK,MAAM,EAAE,CAAC;YACpD,OAAO,CAAC,MAAM,CAAC,UAAU,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAA;QAC9C,CAAC;QAED,IAAI,OAAO,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;YACpC,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,OAAO,CAAC,SAAS,CAAC,CAAA;QAChD,CAAC;QAED,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;YACvB,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,CAAA;YACrC,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC1B,OAAO,CAAC,KAAK,CAAC,YAAY,EAAE,OAAO,CAAC,EAAE;oBACpC,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;wBACnC,OAAO,CAAC,KAAK,CAAC,IAAA,8CAAqB,EAAC,OAAO,EAAE,SAAS,CAAC,CAAC,CAAA;oBAC1D,CAAC;gBACH,CAAC,CAAC,CAAA;YACJ,CAAC;QACH,CAAC;IACH,CAAC,CAAC,CAAA;AACJ,CAAC;AA5BD,kDA4BC"}
@@ -0,0 +1,37 @@
1
+ import { IcmpAssertion } from './icmp-assertion';
2
+ import { IPFamily } from './ip';
3
+ /**
4
+ * Configuration for ICMP ping requests.
5
+ * Defines the target host and ping parameters.
6
+ */
7
+ export interface IcmpRequest {
8
+ /**
9
+ * The domain name or IP address to ping.
10
+ *
11
+ * @example "www.example.com"
12
+ * @example "199.43.133.53"
13
+ */
14
+ hostname: string;
15
+ /**
16
+ * The IP protocol version to use for pinging.
17
+ *
18
+ * @example "IPv4"
19
+ * @example "IPv6"
20
+ * @default "IPv4"
21
+ */
22
+ ipFamily?: IPFamily;
23
+ /**
24
+ * The number of ICMP echo requests (pings) to send. This allows you to see
25
+ * and assert how many packets were received.
26
+ *
27
+ * @minimum 1
28
+ * @maximum 50
29
+ * @example 10
30
+ * @default 10
31
+ */
32
+ pingCount?: number;
33
+ /**
34
+ * Assertions to validate the ICMP response.
35
+ */
36
+ assertions?: Array<IcmpAssertion>;
37
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=icmp-request.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"icmp-request.js","sourceRoot":"","sources":["../../src/constructs/icmp-request.ts"],"names":[],"mappings":""}
@@ -12,7 +12,7 @@ const webhook_alert_channel_1 = require("./webhook-alert-channel");
12
12
  class IncidentioAlertChannel extends webhook_alert_channel_1.WebhookAlertChannel {
13
13
  static DEFAULT_PAYLOAD = `{
14
14
  "title": "{{ALERT_TITLE}}",
15
- "description": "{{ALERT_TITLE}} at {{STARTED_AT}} in {{RUN_LOCATION}} {{RESPONSE_TIME}}ms",
15
+ "description": "{{ALERT_TITLE}} at {{STARTED_AT}} in {{RUN_LOCATION}} {{RESPONSE_TIME}}ms\\n\\n{{#if AI_ANALYSIS_CLASSIFICATION}}# AI Analysis\\n\\n{{AI_ANALYSIS_CLASSIFICATION}}\\n\\n{{{AI_ANALYSIS_ROOT_CAUSE}}}\\nRead full analysis: {{AI_ANALYSIS_LINK}}{{/if}}",
16
16
  "deduplication_key": "{{CHECK_ID}}",
17
17
  "metadata": {
18
18
  "alertType": "{{ALERT_TYPE}}",
@@ -45,3 +45,6 @@ export * from './ip';
45
45
  export * from './dns-monitor';
46
46
  export * from './dns-assertion';
47
47
  export * from './dns-request';
48
+ export * from './icmp-monitor';
49
+ export * from './icmp-assertion';
50
+ export * from './icmp-request';
@@ -61,4 +61,7 @@ __exportStar(require("./ip"), exports);
61
61
  __exportStar(require("./dns-monitor"), exports);
62
62
  __exportStar(require("./dns-assertion"), exports);
63
63
  __exportStar(require("./dns-request"), exports);
64
+ __exportStar(require("./icmp-monitor"), exports);
65
+ __exportStar(require("./icmp-assertion"), exports);
66
+ __exportStar(require("./icmp-request"), exports);
64
67
  //# 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"}
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,6 +1,9 @@
1
1
  import { Value } from '../../sourcegen';
2
2
  import { Assertion } from './assertion';
3
- export declare function valueForNumericAssertion<Source extends string>(klass: string, method: string, assertion: Assertion<Source>): Value;
3
+ export interface ValueForNumericAssertionOptions {
4
+ hasProperty?: boolean;
5
+ }
6
+ export declare function valueForNumericAssertion<Source extends string>(klass: string, method: string, assertion: Assertion<Source>, options?: ValueForNumericAssertionOptions): Value;
4
7
  export interface ValueForGeneralAssertionOptions {
5
8
  hasProperty?: boolean;
6
9
  hasRegex?: boolean;