checkly 0.0.0-pr.1006.2fb1ffc

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 (317) hide show
  1. package/README.md +102 -0
  2. package/bin/run +5 -0
  3. package/bin/run.cmd +3 -0
  4. package/constructs.d.ts +1 -0
  5. package/constructs.js +2 -0
  6. package/dist/auth/index.d.ts +15 -0
  7. package/dist/auth/index.js +262 -0
  8. package/dist/auth/index.js.map +1 -0
  9. package/dist/commands/authCommand.d.ts +5 -0
  10. package/dist/commands/authCommand.js +37 -0
  11. package/dist/commands/authCommand.js.map +1 -0
  12. package/dist/commands/baseCommand.d.ts +13 -0
  13. package/dist/commands/baseCommand.js +48 -0
  14. package/dist/commands/baseCommand.js.map +1 -0
  15. package/dist/commands/deploy.d.ts +18 -0
  16. package/dist/commands/deploy.js +289 -0
  17. package/dist/commands/deploy.js.map +1 -0
  18. package/dist/commands/destroy.d.ts +10 -0
  19. package/dist/commands/destroy.js +84 -0
  20. package/dist/commands/destroy.js.map +1 -0
  21. package/dist/commands/env/add.d.ts +14 -0
  22. package/dist/commands/env/add.js +85 -0
  23. package/dist/commands/env/add.js.map +1 -0
  24. package/dist/commands/env/ls.d.ts +6 -0
  25. package/dist/commands/env/ls.js +44 -0
  26. package/dist/commands/env/ls.js.map +1 -0
  27. package/dist/commands/env/pull.d.ts +12 -0
  28. package/dist/commands/env/pull.js +99 -0
  29. package/dist/commands/env/pull.js.map +1 -0
  30. package/dist/commands/env/rm.d.ts +12 -0
  31. package/dist/commands/env/rm.js +82 -0
  32. package/dist/commands/env/rm.js.map +1 -0
  33. package/dist/commands/env/update.d.ts +14 -0
  34. package/dist/commands/env/update.js +88 -0
  35. package/dist/commands/env/update.js.map +1 -0
  36. package/dist/commands/help.d.ts +6 -0
  37. package/dist/commands/help.js +17 -0
  38. package/dist/commands/help.js.map +1 -0
  39. package/dist/commands/login.d.ts +13 -0
  40. package/dist/commands/login.js +134 -0
  41. package/dist/commands/login.js.map +1 -0
  42. package/dist/commands/logout.d.ts +9 -0
  43. package/dist/commands/logout.js +43 -0
  44. package/dist/commands/logout.js.map +1 -0
  45. package/dist/commands/runtimes.d.ts +6 -0
  46. package/dist/commands/runtimes.js +49 -0
  47. package/dist/commands/runtimes.js.map +1 -0
  48. package/dist/commands/switch.d.ts +9 -0
  49. package/dist/commands/switch.js +81 -0
  50. package/dist/commands/switch.js.map +1 -0
  51. package/dist/commands/sync-playwright.d.ts +10 -0
  52. package/dist/commands/sync-playwright.js +98 -0
  53. package/dist/commands/sync-playwright.js.map +1 -0
  54. package/dist/commands/test.d.ts +45 -0
  55. package/dist/commands/test.js +366 -0
  56. package/dist/commands/test.js.map +1 -0
  57. package/dist/commands/trigger.d.ts +37 -0
  58. package/dist/commands/trigger.js +242 -0
  59. package/dist/commands/trigger.js.map +1 -0
  60. package/dist/commands/whoami.d.ts +6 -0
  61. package/dist/commands/whoami.js +42 -0
  62. package/dist/commands/whoami.js.map +1 -0
  63. package/dist/config.d.ts +31 -0
  64. package/dist/config.js +8 -0
  65. package/dist/config.js.map +1 -0
  66. package/dist/constants.d.ts +7 -0
  67. package/dist/constants.js +10 -0
  68. package/dist/constants.js.map +1 -0
  69. package/dist/constructs/alert-channel-subscription.d.ts +44 -0
  70. package/dist/constructs/alert-channel-subscription.js +39 -0
  71. package/dist/constructs/alert-channel-subscription.js.map +1 -0
  72. package/dist/constructs/alert-channel.d.ts +53 -0
  73. package/dist/constructs/alert-channel.js +55 -0
  74. package/dist/constructs/alert-channel.js.map +1 -0
  75. package/dist/constructs/alert-escalation-policy.d.ts +34 -0
  76. package/dist/constructs/alert-escalation-policy.js +47 -0
  77. package/dist/constructs/alert-escalation-policy.js.map +1 -0
  78. package/dist/constructs/api-check.d.ts +187 -0
  79. package/dist/constructs/api-check.js +279 -0
  80. package/dist/constructs/api-check.js.map +1 -0
  81. package/dist/constructs/browser-check.d.ts +90 -0
  82. package/dist/constructs/browser-check.js +151 -0
  83. package/dist/constructs/browser-check.js.map +1 -0
  84. package/dist/constructs/check-group.d.ts +162 -0
  85. package/dist/constructs/check-group.js +208 -0
  86. package/dist/constructs/check-group.js.map +1 -0
  87. package/dist/constructs/check.d.ts +144 -0
  88. package/dist/constructs/check.js +133 -0
  89. package/dist/constructs/check.js.map +1 -0
  90. package/dist/constructs/construct.d.ts +17 -0
  91. package/dist/constructs/construct.js +22 -0
  92. package/dist/constructs/construct.js.map +1 -0
  93. package/dist/constructs/dashboard.d.ts +138 -0
  94. package/dist/constructs/dashboard.js +126 -0
  95. package/dist/constructs/dashboard.js.map +1 -0
  96. package/dist/constructs/email-alert-channel.d.ts +26 -0
  97. package/dist/constructs/email-alert-channel.js +37 -0
  98. package/dist/constructs/email-alert-channel.js.map +1 -0
  99. package/dist/constructs/environment-variable.d.ts +2 -0
  100. package/dist/constructs/environment-variable.js +3 -0
  101. package/dist/constructs/environment-variable.js.map +1 -0
  102. package/dist/constructs/frequency.d.ts +20 -0
  103. package/dist/constructs/frequency.js +26 -0
  104. package/dist/constructs/frequency.js.map +1 -0
  105. package/dist/constructs/heartbeat-check.d.ts +43 -0
  106. package/dist/constructs/heartbeat-check.js +61 -0
  107. package/dist/constructs/heartbeat-check.js.map +1 -0
  108. package/dist/constructs/http-header.d.ts +2 -0
  109. package/dist/constructs/http-header.js +3 -0
  110. package/dist/constructs/http-header.js.map +1 -0
  111. package/dist/constructs/index.d.ts +27 -0
  112. package/dist/constructs/index.js +44 -0
  113. package/dist/constructs/index.js.map +1 -0
  114. package/dist/constructs/key-value-pair.d.ts +6 -0
  115. package/dist/constructs/key-value-pair.js +3 -0
  116. package/dist/constructs/key-value-pair.js.map +1 -0
  117. package/dist/constructs/maintenance-window.d.ts +61 -0
  118. package/dist/constructs/maintenance-window.js +47 -0
  119. package/dist/constructs/maintenance-window.js.map +1 -0
  120. package/dist/constructs/multi-step-check.d.ts +65 -0
  121. package/dist/constructs/multi-step-check.js +153 -0
  122. package/dist/constructs/multi-step-check.js.map +1 -0
  123. package/dist/constructs/opsgenie-alert-channel.d.ts +45 -0
  124. package/dist/constructs/opsgenie-alert-channel.js +44 -0
  125. package/dist/constructs/opsgenie-alert-channel.js.map +1 -0
  126. package/dist/constructs/pagerduty-alert-channel.d.ts +39 -0
  127. package/dist/constructs/pagerduty-alert-channel.js +42 -0
  128. package/dist/constructs/pagerduty-alert-channel.js.map +1 -0
  129. package/dist/constructs/phone-call-alert-channel.d.ts +34 -0
  130. package/dist/constructs/phone-call-alert-channel.js +42 -0
  131. package/dist/constructs/phone-call-alert-channel.js.map +1 -0
  132. package/dist/constructs/playwright-config.d.ts +52 -0
  133. package/dist/constructs/playwright-config.js +3 -0
  134. package/dist/constructs/playwright-config.js.map +1 -0
  135. package/dist/constructs/private-location-check-assignment.d.ts +29 -0
  136. package/dist/constructs/private-location-check-assignment.js +35 -0
  137. package/dist/constructs/private-location-check-assignment.js.map +1 -0
  138. package/dist/constructs/private-location-group-assignment.d.ts +29 -0
  139. package/dist/constructs/private-location-group-assignment.js +35 -0
  140. package/dist/constructs/private-location-group-assignment.js.map +1 -0
  141. package/dist/constructs/private-location.d.ts +51 -0
  142. package/dist/constructs/private-location.js +61 -0
  143. package/dist/constructs/private-location.js.map +1 -0
  144. package/dist/constructs/project.d.ts +66 -0
  145. package/dist/constructs/project.js +155 -0
  146. package/dist/constructs/project.js.map +1 -0
  147. package/dist/constructs/query-param.d.ts +2 -0
  148. package/dist/constructs/query-param.js +3 -0
  149. package/dist/constructs/query-param.js.map +1 -0
  150. package/dist/constructs/ref.d.ts +5 -0
  151. package/dist/constructs/ref.js +13 -0
  152. package/dist/constructs/ref.js.map +1 -0
  153. package/dist/constructs/retry-strategy.d.ts +50 -0
  154. package/dist/constructs/retry-strategy.js +51 -0
  155. package/dist/constructs/retry-strategy.js.map +1 -0
  156. package/dist/constructs/slack-alert-channel.d.ts +26 -0
  157. package/dist/constructs/slack-alert-channel.js +40 -0
  158. package/dist/constructs/slack-alert-channel.js.map +1 -0
  159. package/dist/constructs/sms-alert-channel.d.ts +32 -0
  160. package/dist/constructs/sms-alert-channel.js +40 -0
  161. package/dist/constructs/sms-alert-channel.js.map +1 -0
  162. package/dist/constructs/validator-error.d.ts +2 -0
  163. package/dist/constructs/validator-error.js +7 -0
  164. package/dist/constructs/validator-error.js.map +1 -0
  165. package/dist/constructs/webhook-alert-channel.d.ts +67 -0
  166. package/dist/constructs/webhook-alert-channel.js +52 -0
  167. package/dist/constructs/webhook-alert-channel.js.map +1 -0
  168. package/dist/help/examples.d.ts +6 -0
  169. package/dist/help/examples.js +22 -0
  170. package/dist/help/examples.js.map +1 -0
  171. package/dist/help/help-extension.d.ts +7 -0
  172. package/dist/help/help-extension.js +59 -0
  173. package/dist/help/help-extension.js.map +1 -0
  174. package/dist/index.d.ts +3 -0
  175. package/dist/index.js +30 -0
  176. package/dist/index.js.map +1 -0
  177. package/dist/messages/common-messages.d.ts +5 -0
  178. package/dist/messages/common-messages.js +9 -0
  179. package/dist/messages/common-messages.js.map +1 -0
  180. package/dist/playwright/playwright-config-loader.d.ts +1 -0
  181. package/dist/playwright/playwright-config-loader.js +26 -0
  182. package/dist/playwright/playwright-config-loader.js.map +1 -0
  183. package/dist/playwright/playwright-config-template.d.ts +8 -0
  184. package/dist/playwright/playwright-config-template.js +78 -0
  185. package/dist/playwright/playwright-config-template.js.map +1 -0
  186. package/dist/reporters/abstract-list.d.ts +41 -0
  187. package/dist/reporters/abstract-list.js +171 -0
  188. package/dist/reporters/abstract-list.js.map +1 -0
  189. package/dist/reporters/ci.d.ts +12 -0
  190. package/dist/reporters/ci.js +34 -0
  191. package/dist/reporters/ci.js.map +1 -0
  192. package/dist/reporters/dot.d.ts +10 -0
  193. package/dist/reporters/dot.js +29 -0
  194. package/dist/reporters/dot.js.map +1 -0
  195. package/dist/reporters/github.d.ts +32 -0
  196. package/dist/reporters/github.js +119 -0
  197. package/dist/reporters/github.js.map +1 -0
  198. package/dist/reporters/json.d.ts +26 -0
  199. package/dist/reporters/json.js +101 -0
  200. package/dist/reporters/json.js.map +1 -0
  201. package/dist/reporters/list.d.ts +15 -0
  202. package/dist/reporters/list.js +85 -0
  203. package/dist/reporters/list.js.map +1 -0
  204. package/dist/reporters/reporter.d.ts +16 -0
  205. package/dist/reporters/reporter.js +29 -0
  206. package/dist/reporters/reporter.js.map +1 -0
  207. package/dist/reporters/util.d.ts +18 -0
  208. package/dist/reporters/util.js +325 -0
  209. package/dist/reporters/util.js.map +1 -0
  210. package/dist/rest/accounts.d.ts +12 -0
  211. package/dist/rest/accounts.js +15 -0
  212. package/dist/rest/accounts.js.map +1 -0
  213. package/dist/rest/api.d.ts +33 -0
  214. package/dist/rest/api.js +98 -0
  215. package/dist/rest/api.js.map +1 -0
  216. package/dist/rest/assets.d.ts +13 -0
  217. package/dist/rest/assets.js +30 -0
  218. package/dist/rest/assets.js.map +1 -0
  219. package/dist/rest/checkly-storage.d.ts +12 -0
  220. package/dist/rest/checkly-storage.js +15 -0
  221. package/dist/rest/checkly-storage.js.map +1 -0
  222. package/dist/rest/environment-variables.d.ts +17 -0
  223. package/dist/rest/environment-variables.js +25 -0
  224. package/dist/rest/environment-variables.js.map +1 -0
  225. package/dist/rest/heartbeat-checks.d.ts +11 -0
  226. package/dist/rest/heartbeat-checks.js +17 -0
  227. package/dist/rest/heartbeat-checks.js.map +1 -0
  228. package/dist/rest/locations.d.ts +11 -0
  229. package/dist/rest/locations.js +12 -0
  230. package/dist/rest/locations.js.map +1 -0
  231. package/dist/rest/private-locations.d.ts +10 -0
  232. package/dist/rest/private-locations.js +12 -0
  233. package/dist/rest/private-locations.js.map +1 -0
  234. package/dist/rest/projects.d.ts +46 -0
  235. package/dist/rest/projects.js +25 -0
  236. package/dist/rest/projects.js.map +1 -0
  237. package/dist/rest/runtimes.d.ts +16 -0
  238. package/dist/rest/runtimes.js +15 -0
  239. package/dist/rest/runtimes.js.map +1 -0
  240. package/dist/rest/test-sessions.d.ts +59 -0
  241. package/dist/rest/test-sessions.js +24 -0
  242. package/dist/rest/test-sessions.js.map +1 -0
  243. package/dist/rest/users.d.ts +12 -0
  244. package/dist/rest/users.js +12 -0
  245. package/dist/rest/users.js.map +1 -0
  246. package/dist/rest/util.d.ts +4 -0
  247. package/dist/rest/util.js +17 -0
  248. package/dist/rest/util.js.map +1 -0
  249. package/dist/services/abstract-check-runner.d.ts +60 -0
  250. package/dist/services/abstract-check-runner.js +225 -0
  251. package/dist/services/abstract-check-runner.js.map +1 -0
  252. package/dist/services/check-parser/collector.d.ts +33 -0
  253. package/dist/services/check-parser/collector.js +48 -0
  254. package/dist/services/check-parser/collector.js.map +1 -0
  255. package/dist/services/check-parser/errors.d.ts +8 -0
  256. package/dist/services/check-parser/errors.js +45 -0
  257. package/dist/services/check-parser/errors.js.map +1 -0
  258. package/dist/services/check-parser/package-files/index.d.ts +1 -0
  259. package/dist/services/check-parser/package-files/index.js +6 -0
  260. package/dist/services/check-parser/package-files/index.js.map +1 -0
  261. package/dist/services/check-parser/package-files/jsconfig-json-file.d.ts +17 -0
  262. package/dist/services/check-parser/package-files/jsconfig-json-file.js +46 -0
  263. package/dist/services/check-parser/package-files/jsconfig-json-file.js.map +1 -0
  264. package/dist/services/check-parser/package-files/json-source-file.d.ts +10 -0
  265. package/dist/services/check-parser/package-files/json-source-file.js +38 -0
  266. package/dist/services/check-parser/package-files/json-source-file.js.map +1 -0
  267. package/dist/services/check-parser/package-files/loader.d.ts +7 -0
  268. package/dist/services/check-parser/package-files/loader.js +19 -0
  269. package/dist/services/check-parser/package-files/loader.js.map +1 -0
  270. package/dist/services/check-parser/package-files/package-json-file.d.ts +20 -0
  271. package/dist/services/check-parser/package-files/package-json-file.js +48 -0
  272. package/dist/services/check-parser/package-files/package-json-file.js.map +1 -0
  273. package/dist/services/check-parser/package-files/paths.d.ts +80 -0
  274. package/dist/services/check-parser/package-files/paths.js +177 -0
  275. package/dist/services/check-parser/package-files/paths.js.map +1 -0
  276. package/dist/services/check-parser/package-files/resolver.d.ts +70 -0
  277. package/dist/services/check-parser/package-files/resolver.js +290 -0
  278. package/dist/services/check-parser/package-files/resolver.js.map +1 -0
  279. package/dist/services/check-parser/package-files/source-file.d.ts +15 -0
  280. package/dist/services/check-parser/package-files/source-file.js +54 -0
  281. package/dist/services/check-parser/package-files/source-file.js.map +1 -0
  282. package/dist/services/check-parser/package-files/tsconfig-json-file.d.ts +68 -0
  283. package/dist/services/check-parser/package-files/tsconfig-json-file.js +127 -0
  284. package/dist/services/check-parser/package-files/tsconfig-json-file.js.map +1 -0
  285. package/dist/services/check-parser/parser.d.ts +32 -0
  286. package/dist/services/check-parser/parser.js +313 -0
  287. package/dist/services/check-parser/parser.js.map +1 -0
  288. package/dist/services/checkly-config-loader.d.ts +72 -0
  289. package/dist/services/checkly-config-loader.js +103 -0
  290. package/dist/services/checkly-config-loader.js.map +1 -0
  291. package/dist/services/config.d.ts +28 -0
  292. package/dist/services/config.js +99 -0
  293. package/dist/services/config.js.map +1 -0
  294. package/dist/services/project-parser.d.ts +21 -0
  295. package/dist/services/project-parser.js +192 -0
  296. package/dist/services/project-parser.js.map +1 -0
  297. package/dist/services/snapshot-service.d.ts +13 -0
  298. package/dist/services/snapshot-service.js +85 -0
  299. package/dist/services/snapshot-service.js.map +1 -0
  300. package/dist/services/socket-client.d.ts +4 -0
  301. package/dist/services/socket-client.js +88 -0
  302. package/dist/services/socket-client.js.map +1 -0
  303. package/dist/services/test-filters.d.ts +3 -0
  304. package/dist/services/test-filters.js +27 -0
  305. package/dist/services/test-filters.js.map +1 -0
  306. package/dist/services/test-runner.d.ts +24 -0
  307. package/dist/services/test-runner.js +91 -0
  308. package/dist/services/test-runner.js.map +1 -0
  309. package/dist/services/trigger-runner.d.ts +29 -0
  310. package/dist/services/trigger-runner.js +59 -0
  311. package/dist/services/trigger-runner.js.map +1 -0
  312. package/dist/services/util.d.ts +32 -0
  313. package/dist/services/util.js +244 -0
  314. package/dist/services/util.js.map +1 -0
  315. package/dist/tsconfig.tsbuildinfo +1 -0
  316. package/oclif.manifest.json +635 -0
  317. package/package.json +151 -0
@@ -0,0 +1,34 @@
1
+ declare enum AlertEscalationType {
2
+ RUN = "RUN_BASED",
3
+ TIME = "TIME_BASED"
4
+ }
5
+ export type Reminders = {
6
+ amount?: number;
7
+ interval?: number;
8
+ };
9
+ export type ParallelRunFailureThreshold = {
10
+ enabled?: boolean;
11
+ percentage?: number;
12
+ };
13
+ export interface AlertEscalation {
14
+ escalationType?: AlertEscalationType;
15
+ runBasedEscalation?: {
16
+ failedRunThreshold?: number;
17
+ };
18
+ timeBasedEscalation?: {
19
+ minutesFailingThreshold?: number;
20
+ };
21
+ reminders?: Reminders;
22
+ parallelRunFailureThreshold?: ParallelRunFailureThreshold;
23
+ }
24
+ export type AlertEscalationOptions = Pick<AlertEscalation, 'runBasedEscalation' | 'timeBasedEscalation' | 'reminders' | 'parallelRunFailureThreshold'>;
25
+ export declare class AlertEscalationBuilder {
26
+ private static DEFAULT_RUN_BASED_ESCALATION;
27
+ private static DEFAULT_TIME_BASED_ESCALATION;
28
+ private static DEFAULT_REMINDERS;
29
+ private static DEFAULT_PARALLEL_RUN_FAILURE_THRESHOLD;
30
+ static runBasedEscalation(failedRunThreshold: number, reminders?: Reminders, parallelRunFailureThreshold?: ParallelRunFailureThreshold): AlertEscalation;
31
+ static timeBasedEscalation(minutesFailingThreshold: number, reminders?: Reminders, parallelRunFailureThreshold?: ParallelRunFailureThreshold): AlertEscalation;
32
+ private static alertEscalation;
33
+ }
34
+ export {};
@@ -0,0 +1,47 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AlertEscalationBuilder = void 0;
4
+ // eslint-disable-next-line no-restricted-syntax
5
+ var AlertEscalationType;
6
+ (function (AlertEscalationType) {
7
+ AlertEscalationType["RUN"] = "RUN_BASED";
8
+ AlertEscalationType["TIME"] = "TIME_BASED";
9
+ })(AlertEscalationType || (AlertEscalationType = {}));
10
+ class AlertEscalationBuilder {
11
+ static runBasedEscalation(failedRunThreshold, reminders, parallelRunFailureThreshold) {
12
+ const options = {
13
+ runBasedEscalation: {
14
+ failedRunThreshold,
15
+ },
16
+ reminders,
17
+ parallelRunFailureThreshold,
18
+ };
19
+ return this.alertEscalation(AlertEscalationType.RUN, options);
20
+ }
21
+ static timeBasedEscalation(minutesFailingThreshold, reminders, parallelRunFailureThreshold) {
22
+ const options = {
23
+ timeBasedEscalation: {
24
+ minutesFailingThreshold,
25
+ },
26
+ reminders,
27
+ parallelRunFailureThreshold,
28
+ };
29
+ return this.alertEscalation(AlertEscalationType.TIME, options);
30
+ }
31
+ static alertEscalation(escalationType, options) {
32
+ var _a, _b, _c, _d;
33
+ return {
34
+ escalationType,
35
+ runBasedEscalation: (_a = options.runBasedEscalation) !== null && _a !== void 0 ? _a : this.DEFAULT_RUN_BASED_ESCALATION,
36
+ timeBasedEscalation: (_b = options.timeBasedEscalation) !== null && _b !== void 0 ? _b : this.DEFAULT_TIME_BASED_ESCALATION,
37
+ reminders: (_c = options.reminders) !== null && _c !== void 0 ? _c : this.DEFAULT_REMINDERS,
38
+ parallelRunFailureThreshold: (_d = options.parallelRunFailureThreshold) !== null && _d !== void 0 ? _d : this.DEFAULT_PARALLEL_RUN_FAILURE_THRESHOLD,
39
+ };
40
+ }
41
+ }
42
+ exports.AlertEscalationBuilder = AlertEscalationBuilder;
43
+ AlertEscalationBuilder.DEFAULT_RUN_BASED_ESCALATION = { failedRunThreshold: 1 };
44
+ AlertEscalationBuilder.DEFAULT_TIME_BASED_ESCALATION = { minutesFailingThreshold: 5 };
45
+ AlertEscalationBuilder.DEFAULT_REMINDERS = { amount: 0, interval: 5 };
46
+ AlertEscalationBuilder.DEFAULT_PARALLEL_RUN_FAILURE_THRESHOLD = { enabled: false, percentage: 10 };
47
+ //# sourceMappingURL=alert-escalation-policy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"alert-escalation-policy.js","sourceRoot":"","sources":["../../src/constructs/alert-escalation-policy.ts"],"names":[],"mappings":";;;AAAA,gDAAgD;AAChD,IAAK,mBAGJ;AAHD,WAAK,mBAAmB;IACtB,wCAAiB,CAAA;IACjB,0CAAmB,CAAA;AACrB,CAAC,EAHI,mBAAmB,KAAnB,mBAAmB,QAGvB;AA0BD,MAAa,sBAAsB;IAMjC,MAAM,CAAC,kBAAkB,CACvB,kBAA0B,EAC1B,SAAqB,EACrB,2BAAyD;QAEzD,MAAM,OAAO,GAA2B;YACtC,kBAAkB,EAAE;gBAClB,kBAAkB;aACnB;YACD,SAAS;YACT,2BAA2B;SAC5B,CAAA;QACD,OAAO,IAAI,CAAC,eAAe,CAAC,mBAAmB,CAAC,GAAG,EAAE,OAAO,CAAC,CAAA;IAC/D,CAAC;IAED,MAAM,CAAC,mBAAmB,CACxB,uBAA+B,EAC/B,SAAqB,EACrB,2BAAyD;QAEzD,MAAM,OAAO,GAA2B;YACtC,mBAAmB,EAAE;gBACnB,uBAAuB;aACxB;YACD,SAAS;YACT,2BAA2B;SAC5B,CAAA;QACD,OAAO,IAAI,CAAC,eAAe,CAAC,mBAAmB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;IAChE,CAAC;IAEO,MAAM,CAAC,eAAe,CAAE,cAAmC,EACjE,OAA+B;;QAC/B,OAAO;YACL,cAAc;YACd,kBAAkB,EAAE,MAAA,OAAO,CAAC,kBAAkB,mCAAI,IAAI,CAAC,4BAA4B;YACnF,mBAAmB,EAAE,MAAA,OAAO,CAAC,mBAAmB,mCAAI,IAAI,CAAC,6BAA6B;YACtF,SAAS,EAAE,MAAA,OAAO,CAAC,SAAS,mCAAI,IAAI,CAAC,iBAAiB;YACtD,2BAA2B,EAAE,MAAA,OAAO,CAAC,2BAA2B,mCAAI,IAAI,CAAC,sCAAsC;SAChH,CAAA;IACH,CAAC;;AA7CH,wDA8CC;AA7CgB,mDAA4B,GAAG,EAAE,kBAAkB,EAAE,CAAC,EAAE,CAAA;AACxD,oDAA6B,GAAG,EAAE,uBAAuB,EAAE,CAAC,EAAE,CAAA;AAC9D,wCAAiB,GAAG,EAAE,MAAM,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAA;AAC9C,6DAAsC,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,EAAE,EAAE,CAAA"}
@@ -0,0 +1,187 @@
1
+ import { Check, CheckProps } from './check';
2
+ import { HttpHeader } from './http-header';
3
+ import { QueryParam } from './query-param';
4
+ import { Content, Entrypoint } from './construct';
5
+ declare enum AssertionSource {
6
+ STATUS_CODE = "STATUS_CODE",
7
+ JSON_BODY = "JSON_BODY",
8
+ HEADERS = "HEADERS",
9
+ TEXT_BODY = "TEXT_BODY",
10
+ RESPONSE_TIME = "RESPONSE_TIME"
11
+ }
12
+ export interface Assertion {
13
+ source: string;
14
+ property: string;
15
+ comparison: string;
16
+ target: string;
17
+ regex: string | null;
18
+ }
19
+ export declare class AssertionBuilder {
20
+ static statusCode(): NumericAssertionBuilder;
21
+ static jsonBody(property?: string): GeneralAssertionBuilder;
22
+ static headers(property?: string, regex?: string): GeneralAssertionBuilder;
23
+ static textBody(property?: string): GeneralAssertionBuilder;
24
+ /** @deprecated Use responseTime() instead */
25
+ static responseTme(): NumericAssertionBuilder;
26
+ static responseTime(): NumericAssertionBuilder;
27
+ }
28
+ declare class NumericAssertionBuilder {
29
+ source: AssertionSource;
30
+ constructor(source: AssertionSource);
31
+ equals(target: number): Assertion;
32
+ notEquals(target: number): Assertion;
33
+ lessThan(target: number): Assertion;
34
+ greaterThan(target: number): Assertion;
35
+ /** @private */
36
+ private _toAssertion;
37
+ }
38
+ declare class GeneralAssertionBuilder {
39
+ source: AssertionSource;
40
+ property?: string;
41
+ regex?: string;
42
+ constructor(source: AssertionSource, property?: string, regex?: string);
43
+ equals(target: string | number | boolean): Assertion;
44
+ notEquals(target: string | number | boolean): Assertion;
45
+ hasKey(target: string): Assertion;
46
+ notHasKey(target: string): Assertion;
47
+ hasValue(target: string | number | boolean): Assertion;
48
+ notHasValue(target: string | number | boolean): Assertion;
49
+ isEmpty(): Assertion;
50
+ notEmpty(): Assertion;
51
+ lessThan(target: string | number | boolean): Assertion;
52
+ greaterThan(target: string | number | boolean): Assertion;
53
+ contains(target: string): Assertion;
54
+ notContains(target: string): Assertion;
55
+ isNull(): Assertion;
56
+ isNotNull(): Assertion;
57
+ /** @private */
58
+ private _toAssertion;
59
+ }
60
+ export type BodyType = 'JSON' | 'FORM' | 'RAW' | 'GRAPHQL' | 'NONE';
61
+ export type HttpRequestMethod = 'get' | 'GET' | 'post' | 'POST' | 'put' | 'PUT' | 'patch' | 'PATCH' | 'head' | 'HEAD' | 'delete' | 'DELETE' | 'options' | 'OPTIONS';
62
+ export type IPFamily = 'IPv4' | 'IPv6';
63
+ export interface BasicAuth {
64
+ username: string;
65
+ password: string;
66
+ }
67
+ export type ApiCheckDefaultConfig = {
68
+ url?: string;
69
+ headers?: Array<HttpHeader>;
70
+ queryParameters?: Array<QueryParam>;
71
+ basicAuth?: BasicAuth;
72
+ };
73
+ export interface Request {
74
+ url: string;
75
+ method: HttpRequestMethod;
76
+ ipFamily?: IPFamily;
77
+ followRedirects?: boolean;
78
+ skipSSL?: boolean;
79
+ /**
80
+ * Check the main Checkly documentation on assertions for specific values like regular expressions
81
+ * and JSON path descriptors you can use in the "property" field.
82
+ */
83
+ assertions?: Array<Assertion>;
84
+ body?: string;
85
+ bodyType?: BodyType;
86
+ headers?: Array<HttpHeader>;
87
+ queryParameters?: Array<QueryParam>;
88
+ basicAuth?: BasicAuth;
89
+ }
90
+ export interface ScriptDependency {
91
+ path: string;
92
+ content: string;
93
+ }
94
+ export interface ApiCheckProps extends CheckProps {
95
+ /**
96
+ * Determines the request that the check is going to run.
97
+ */
98
+ request: Request;
99
+ /**
100
+ * A valid piece of Node.js code to run in the setup phase.
101
+ * @deprecated use the "setupScript" property instead
102
+ */
103
+ localSetupScript?: string;
104
+ /**
105
+ * A valid piece of Node.js code to run in the setup phase.
106
+ */
107
+ setupScript?: Content | Entrypoint;
108
+ /**
109
+ * A valid piece of Node.js code to run in the teardown phase.
110
+ * @deprecated use the "tearDownScript" property instead
111
+ */
112
+ localTearDownScript?: string;
113
+ /**
114
+ * A valid piece of Node.js code to run in the teardown phase.
115
+ */
116
+ tearDownScript?: Content | Entrypoint;
117
+ /**
118
+ * The response time in milliseconds where a check should be considered degraded.
119
+ */
120
+ degradedResponseTime?: number;
121
+ /**
122
+ * The response time in milliseconds where a check should be considered failing.
123
+ */
124
+ maxResponseTime?: number;
125
+ }
126
+ /**
127
+ * Creates an API Check
128
+ *
129
+ * @remarks
130
+ *
131
+ * This class make use of the API Checks endpoints.
132
+ */
133
+ export declare class ApiCheck extends Check {
134
+ request: Request;
135
+ localSetupScript?: string;
136
+ localTearDownScript?: string;
137
+ degradedResponseTime?: number;
138
+ maxResponseTime?: number;
139
+ private readonly setupScriptDependencies?;
140
+ private readonly tearDownScriptDependencies?;
141
+ private readonly setupScriptPath?;
142
+ private readonly tearDownScriptPath?;
143
+ /**
144
+ * Constructs the API Check instance
145
+ *
146
+ * @param logicalId unique project-scoped resource name identification
147
+ * @param props check configuration properties
148
+ *
149
+ * {@link https://checklyhq.com/docs/cli/constructs-reference/#apicheck Read more in the docs}
150
+ */
151
+ constructor(logicalId: string, props: ApiCheckProps);
152
+ static bundle(entrypoint: string, runtimeId: string): {
153
+ script: string;
154
+ scriptPath: string;
155
+ dependencies: ScriptDependency[];
156
+ };
157
+ synthesize(): {
158
+ checkType: string;
159
+ request: Request;
160
+ localSetupScript: string | undefined;
161
+ setupScriptPath: string | undefined;
162
+ setupScriptDependencies: ScriptDependency[] | undefined;
163
+ localTearDownScript: string | undefined;
164
+ tearDownScriptPath: string | undefined;
165
+ tearDownScriptDependencies: ScriptDependency[] | undefined;
166
+ degradedResponseTime: number | undefined;
167
+ maxResponseTime: number | undefined;
168
+ name: string;
169
+ activated: boolean | undefined;
170
+ muted: boolean | undefined;
171
+ shouldFail: boolean | undefined;
172
+ runtimeId: string | undefined;
173
+ locations: (keyof import("..").Region)[] | undefined;
174
+ privateLocations: undefined;
175
+ tags: string[] | undefined;
176
+ frequency: number | undefined;
177
+ frequencyOffset: number | undefined;
178
+ groupId: import("./ref").Ref | undefined;
179
+ environmentVariables: import("./key-value-pair").default[] | undefined;
180
+ retryStrategy: import("./retry-strategy").RetryStrategy | null | undefined;
181
+ doubleCheck: boolean | undefined;
182
+ alertSettings: import("./alert-escalation-policy").AlertEscalation | undefined;
183
+ useGlobalAlertSettings: boolean | undefined;
184
+ runParallel: boolean | undefined;
185
+ };
186
+ }
187
+ export {};
@@ -0,0 +1,279 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ exports.ApiCheck = exports.AssertionBuilder = void 0;
27
+ const path = __importStar(require("path"));
28
+ const check_1 = require("./check");
29
+ const project_1 = require("./project");
30
+ const parser_1 = require("../services/check-parser/parser");
31
+ const util_1 = require("../services/util");
32
+ const util_2 = require("../reporters/util");
33
+ // eslint-disable-next-line no-restricted-syntax
34
+ var AssertionSource;
35
+ (function (AssertionSource) {
36
+ AssertionSource["STATUS_CODE"] = "STATUS_CODE";
37
+ AssertionSource["JSON_BODY"] = "JSON_BODY";
38
+ AssertionSource["HEADERS"] = "HEADERS";
39
+ AssertionSource["TEXT_BODY"] = "TEXT_BODY";
40
+ AssertionSource["RESPONSE_TIME"] = "RESPONSE_TIME";
41
+ })(AssertionSource || (AssertionSource = {}));
42
+ // eslint-disable-next-line no-restricted-syntax
43
+ var AssertionComparison;
44
+ (function (AssertionComparison) {
45
+ AssertionComparison["EQUALS"] = "EQUALS";
46
+ AssertionComparison["NOT_EQUALS"] = "NOT_EQUALS";
47
+ AssertionComparison["HAS_KEY"] = "HAS_KEY";
48
+ AssertionComparison["NOT_HAS_KEY"] = "NOT_HAS_KEY";
49
+ AssertionComparison["HAS_VALUE"] = "HAS_VALUE";
50
+ AssertionComparison["NOT_HAS_VALUE"] = "NOT_HAS_VALUE";
51
+ AssertionComparison["IS_EMPTY"] = "IS_EMPTY";
52
+ AssertionComparison["NOT_EMPTY"] = "NOT_EMPTY";
53
+ AssertionComparison["GREATER_THAN"] = "GREATER_THAN";
54
+ AssertionComparison["LESS_THAN"] = "LESS_THAN";
55
+ AssertionComparison["CONTAINS"] = "CONTAINS";
56
+ AssertionComparison["NOT_CONTAINS"] = "NOT_CONTAINS";
57
+ AssertionComparison["IS_NULL"] = "IS_NULL";
58
+ AssertionComparison["NOT_NULL"] = "NOT_NULL";
59
+ })(AssertionComparison || (AssertionComparison = {}));
60
+ class AssertionBuilder {
61
+ static statusCode() {
62
+ return new NumericAssertionBuilder(AssertionSource.STATUS_CODE);
63
+ }
64
+ static jsonBody(property) {
65
+ return new GeneralAssertionBuilder(AssertionSource.JSON_BODY, property);
66
+ }
67
+ static headers(property, regex) {
68
+ return new GeneralAssertionBuilder(AssertionSource.HEADERS, property, regex);
69
+ }
70
+ static textBody(property) {
71
+ return new GeneralAssertionBuilder(AssertionSource.TEXT_BODY, property);
72
+ }
73
+ /** @deprecated Use responseTime() instead */
74
+ static responseTme() {
75
+ return new NumericAssertionBuilder(AssertionSource.RESPONSE_TIME);
76
+ }
77
+ static responseTime() {
78
+ return new NumericAssertionBuilder(AssertionSource.RESPONSE_TIME);
79
+ }
80
+ }
81
+ exports.AssertionBuilder = AssertionBuilder;
82
+ class NumericAssertionBuilder {
83
+ constructor(source) {
84
+ this.source = source;
85
+ }
86
+ equals(target) {
87
+ return this._toAssertion(AssertionComparison.EQUALS, target);
88
+ }
89
+ notEquals(target) {
90
+ return this._toAssertion(AssertionComparison.NOT_EQUALS, target);
91
+ }
92
+ lessThan(target) {
93
+ return this._toAssertion(AssertionComparison.LESS_THAN, target);
94
+ }
95
+ greaterThan(target) {
96
+ return this._toAssertion(AssertionComparison.GREATER_THAN, target);
97
+ }
98
+ /** @private */
99
+ _toAssertion(comparison, target) {
100
+ return { source: this.source, comparison, property: '', target: target.toString(), regex: null };
101
+ }
102
+ }
103
+ class GeneralAssertionBuilder {
104
+ constructor(source, property, regex) {
105
+ this.source = source;
106
+ this.property = property;
107
+ this.regex = regex;
108
+ }
109
+ equals(target) {
110
+ return this._toAssertion(AssertionComparison.EQUALS, target);
111
+ }
112
+ notEquals(target) {
113
+ return this._toAssertion(AssertionComparison.NOT_EQUALS, target);
114
+ }
115
+ hasKey(target) {
116
+ return this._toAssertion(AssertionComparison.HAS_KEY, target);
117
+ }
118
+ notHasKey(target) {
119
+ return this._toAssertion(AssertionComparison.NOT_HAS_KEY, target);
120
+ }
121
+ hasValue(target) {
122
+ return this._toAssertion(AssertionComparison.HAS_VALUE, target);
123
+ }
124
+ notHasValue(target) {
125
+ return this._toAssertion(AssertionComparison.NOT_HAS_VALUE, target);
126
+ }
127
+ isEmpty() {
128
+ return this._toAssertion(AssertionComparison.IS_EMPTY);
129
+ }
130
+ notEmpty() {
131
+ return this._toAssertion(AssertionComparison.NOT_EMPTY);
132
+ }
133
+ lessThan(target) {
134
+ return this._toAssertion(AssertionComparison.LESS_THAN, target);
135
+ }
136
+ greaterThan(target) {
137
+ return this._toAssertion(AssertionComparison.GREATER_THAN, target);
138
+ }
139
+ contains(target) {
140
+ return this._toAssertion(AssertionComparison.CONTAINS, target);
141
+ }
142
+ notContains(target) {
143
+ return this._toAssertion(AssertionComparison.NOT_CONTAINS, target);
144
+ }
145
+ isNull() {
146
+ return this._toAssertion(AssertionComparison.IS_NULL);
147
+ }
148
+ isNotNull() {
149
+ return this._toAssertion(AssertionComparison.NOT_NULL);
150
+ }
151
+ /** @private */
152
+ _toAssertion(comparison, target) {
153
+ var _a, _b, _c;
154
+ return {
155
+ source: this.source,
156
+ comparison,
157
+ property: (_a = this.property) !== null && _a !== void 0 ? _a : '',
158
+ target: (_b = target === null || target === void 0 ? void 0 : target.toString()) !== null && _b !== void 0 ? _b : '',
159
+ regex: (_c = this.regex) !== null && _c !== void 0 ? _c : null,
160
+ };
161
+ }
162
+ }
163
+ function _printWarning(path) {
164
+ (0, util_2.printDeprecationWarning)(`API check "${path}" is probably providing a setup ` +
165
+ 'or tearDown script using the "localSetupScript" or "localTearDownScript" property. Please update your API checks to ' +
166
+ 'reference any setup / tearDown using the "setupScript" and "tearDownScript" properties See the docs at ' +
167
+ 'https://checklyhq.com/docs/cli/constructs-reference#apicheck');
168
+ }
169
+ /**
170
+ * Creates an API Check
171
+ *
172
+ * @remarks
173
+ *
174
+ * This class make use of the API Checks endpoints.
175
+ */
176
+ class ApiCheck extends check_1.Check {
177
+ /**
178
+ * Constructs the API Check instance
179
+ *
180
+ * @param logicalId unique project-scoped resource name identification
181
+ * @param props check configuration properties
182
+ *
183
+ * {@link https://checklyhq.com/docs/cli/constructs-reference/#apicheck Read more in the docs}
184
+ */
185
+ constructor(logicalId, props) {
186
+ super(logicalId, props);
187
+ if (props.setupScript) {
188
+ if ('entrypoint' in props.setupScript) {
189
+ const { script, scriptPath, dependencies } = ApiCheck.bundle(props.setupScript.entrypoint, this.runtimeId);
190
+ this.localSetupScript = script;
191
+ this.setupScriptPath = scriptPath;
192
+ this.setupScriptDependencies = dependencies;
193
+ }
194
+ else if ('content' in props.setupScript) {
195
+ this.localSetupScript = props.setupScript.content;
196
+ }
197
+ else {
198
+ throw new Error('Unrecognized type for the "setupScript" property. A "setupScript" should have either a "content" ' +
199
+ 'or "entrypoint" property.');
200
+ }
201
+ }
202
+ if (props.localSetupScript) {
203
+ _printWarning(project_1.Session.checkFilePath);
204
+ this.localSetupScript = props.localSetupScript;
205
+ }
206
+ if (props.tearDownScript) {
207
+ if ('entrypoint' in props.tearDownScript) {
208
+ const { script, scriptPath, dependencies } = ApiCheck.bundle(props.tearDownScript.entrypoint, this.runtimeId);
209
+ this.localTearDownScript = script;
210
+ this.tearDownScriptPath = scriptPath;
211
+ this.tearDownScriptDependencies = dependencies;
212
+ }
213
+ else if ('content' in props.tearDownScript) {
214
+ this.localTearDownScript = props.tearDownScript.content;
215
+ }
216
+ }
217
+ if (props.localTearDownScript) {
218
+ _printWarning(project_1.Session.checkFilePath);
219
+ this.localTearDownScript = props.localTearDownScript;
220
+ }
221
+ this.request = props.request;
222
+ this.degradedResponseTime = props.degradedResponseTime;
223
+ this.maxResponseTime = props.maxResponseTime;
224
+ project_1.Session.registerConstruct(this);
225
+ this.addSubscriptions();
226
+ this.addPrivateLocationCheckAssignments();
227
+ }
228
+ static bundle(entrypoint, runtimeId) {
229
+ let absoluteEntrypoint = null;
230
+ if (path.isAbsolute(entrypoint)) {
231
+ absoluteEntrypoint = entrypoint;
232
+ }
233
+ else {
234
+ if (!project_1.Session.checkFileAbsolutePath) {
235
+ throw new Error('You cant use relative paths without the checkFileAbsolutePath in session');
236
+ }
237
+ absoluteEntrypoint = path.join(path.dirname(project_1.Session.checkFileAbsolutePath), entrypoint);
238
+ }
239
+ const runtime = project_1.Session.availableRuntimes[runtimeId];
240
+ if (!runtime) {
241
+ throw new Error(`${runtimeId} is not supported`);
242
+ }
243
+ const parser = new parser_1.Parser({
244
+ supportedNpmModules: Object.keys(runtime.dependencies),
245
+ checkUnsupportedModules: project_1.Session.verifyRuntimeDependencies,
246
+ });
247
+ const parsed = parser.parse(absoluteEntrypoint);
248
+ // Maybe we can get the parsed deps with the content immediately
249
+ const deps = [];
250
+ for (const { filePath, content } of parsed.dependencies) {
251
+ deps.push({
252
+ path: (0, util_1.pathToPosix)(path.relative(project_1.Session.basePath, filePath)),
253
+ content,
254
+ });
255
+ }
256
+ return {
257
+ script: parsed.entrypoint.content,
258
+ scriptPath: (0, util_1.pathToPosix)(path.relative(project_1.Session.basePath, parsed.entrypoint.filePath)),
259
+ dependencies: deps,
260
+ };
261
+ }
262
+ synthesize() {
263
+ return {
264
+ ...super.synthesize(),
265
+ checkType: 'API',
266
+ request: this.request,
267
+ localSetupScript: this.localSetupScript,
268
+ setupScriptPath: this.setupScriptPath,
269
+ setupScriptDependencies: this.setupScriptDependencies,
270
+ localTearDownScript: this.localTearDownScript,
271
+ tearDownScriptPath: this.tearDownScriptPath,
272
+ tearDownScriptDependencies: this.tearDownScriptDependencies,
273
+ degradedResponseTime: this.degradedResponseTime,
274
+ maxResponseTime: this.maxResponseTime,
275
+ };
276
+ }
277
+ }
278
+ exports.ApiCheck = ApiCheck;
279
+ //# sourceMappingURL=api-check.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api-check.js","sourceRoot":"","sources":["../../src/constructs/api-check.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,90 @@
1
+ import { Check, CheckProps } from './check';
2
+ import { Content, Entrypoint } from './construct';
3
+ import { Snapshot } from '../services/snapshot-service';
4
+ import { PlaywrightConfig } from './playwright-config';
5
+ export interface CheckDependency {
6
+ path: string;
7
+ content: string;
8
+ }
9
+ export interface BrowserCheckProps extends CheckProps {
10
+ /**
11
+ * A valid piece of Node.js javascript code describing a browser interaction
12
+ * with the Puppeteer or Playwright frameworks.
13
+ */
14
+ code: Content | Entrypoint;
15
+ /**
16
+ * A valid fully qualified domain name (FQDN) to check for SSL certificate
17
+ * expiration. For example, 'app.checklyhq.com'.
18
+ */
19
+ sslCheckDomain?: string;
20
+ /**
21
+ * A valid playwright config object, same format and keys as you would use on
22
+ * playwright.config.ts
23
+ */
24
+ playwrightConfig?: PlaywrightConfig;
25
+ }
26
+ /**
27
+ * Creates a Browser Check
28
+ *
29
+ * @remarks
30
+ *
31
+ * This class make use of the Browser Checks endpoints.
32
+ */
33
+ export declare class BrowserCheck extends Check {
34
+ script: string;
35
+ scriptPath?: string;
36
+ dependencies?: Array<CheckDependency>;
37
+ sslCheckDomain?: string;
38
+ rawSnapshots?: Array<{
39
+ absolutePath: string;
40
+ path: string;
41
+ }>;
42
+ snapshots?: Array<Snapshot>;
43
+ playwrightConfig?: PlaywrightConfig;
44
+ /**
45
+ * Constructs the Browser Check instance
46
+ *
47
+ * @param logicalId unique project-scoped resource name identification
48
+ * @param props check configuration properties
49
+ * {@link https://checklyhq.com/docs/cli/constructs-reference/#browsercheck Read more in the docs}
50
+ */
51
+ constructor(logicalId: string, props: BrowserCheckProps);
52
+ private static applyDefaultBrowserCheckGroupConfig;
53
+ private static applyDefaultBrowserCheckConfig;
54
+ static bundle(entry: string, runtimeId: string): {
55
+ script: string;
56
+ scriptPath: string;
57
+ dependencies: CheckDependency[];
58
+ snapshots: {
59
+ absolutePath: string;
60
+ path: string;
61
+ }[];
62
+ };
63
+ getSourceFile(): string | undefined;
64
+ synthesize(): {
65
+ checkType: string;
66
+ script: string;
67
+ scriptPath: string | undefined;
68
+ dependencies: CheckDependency[] | undefined;
69
+ sslCheckDomain: string | null;
70
+ snapshots: Snapshot[] | undefined;
71
+ playwrightConfig: PlaywrightConfig | undefined;
72
+ name: string;
73
+ activated: boolean | undefined;
74
+ muted: boolean | undefined;
75
+ shouldFail: boolean | undefined;
76
+ runtimeId: string | undefined;
77
+ locations: (keyof import("..").Region)[] | undefined;
78
+ privateLocations: undefined;
79
+ tags: string[] | undefined;
80
+ frequency: number | undefined;
81
+ frequencyOffset: number | undefined;
82
+ groupId: import("./ref").Ref | undefined;
83
+ environmentVariables: import("./key-value-pair").default[] | undefined;
84
+ retryStrategy: import("./retry-strategy").RetryStrategy | null | undefined;
85
+ doubleCheck: boolean | undefined;
86
+ alertSettings: import("./alert-escalation-policy").AlertEscalation | undefined;
87
+ useGlobalAlertSettings: boolean | undefined;
88
+ runParallel: boolean | undefined;
89
+ };
90
+ }