checkly 9.5.0 → 10.0.0-prerelease-4f88d60

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 (575) hide show
  1. package/README.md +10 -0
  2. package/bin/launch.cjs +12 -0
  3. package/dist/ai-context/context.js +1 -0
  4. package/dist/ai-context/context.js.map +1 -1
  5. package/dist/ai-context/onboarding-boilerplate/checkly-config-template.ts +2 -2
  6. package/dist/ai-context/public-skills/checkly/SKILL.md +34 -5
  7. package/dist/ai-context/skills-command/references/communicate.md +8 -5
  8. package/dist/ai-context/skills-command/references/configure-api-checks.md +1 -9
  9. package/dist/ai-context/skills-command/references/configure-browser-checks.md +1 -8
  10. package/dist/ai-context/skills-command/references/configure-check-groups.md +1 -0
  11. package/dist/ai-context/skills-command/references/configure-dns-monitors.md +1 -9
  12. package/dist/ai-context/skills-command/references/configure-grpc-monitors.md +24 -0
  13. package/dist/ai-context/skills-command/references/configure-heartbeat-monitors.md +1 -9
  14. package/dist/ai-context/skills-command/references/configure-icmp-monitors.md +1 -9
  15. package/dist/ai-context/skills-command/references/configure-multistep-checks.md +1 -9
  16. package/dist/ai-context/skills-command/references/configure-playwright-checks.md +2 -2
  17. package/dist/ai-context/skills-command/references/configure-supporting-constructs.md +6 -2
  18. package/dist/ai-context/skills-command/references/configure-tcp-monitors.md +1 -10
  19. package/dist/ai-context/skills-command/references/configure-url-monitors.md +1 -10
  20. package/dist/ai-context/skills-command/references/configure.md +17 -5
  21. package/dist/ai-context/skills-command/references/initialize.md +11 -3
  22. package/dist/ai-context/skills-command/references/investigate-checks.md +1 -1
  23. package/dist/auth/api-key.d.ts +24 -0
  24. package/dist/auth/api-key.js +104 -0
  25. package/dist/auth/api-key.js.map +1 -0
  26. package/dist/auth/device-flow.d.ts +58 -0
  27. package/dist/auth/device-flow.js +228 -0
  28. package/dist/auth/device-flow.js.map +1 -0
  29. package/dist/auth/index.d.ts +6 -6
  30. package/dist/auth/index.js +64 -64
  31. package/dist/auth/index.js.map +1 -1
  32. package/dist/commands/account/plan.js +1 -1
  33. package/dist/commands/account/plan.js.map +1 -1
  34. package/dist/commands/account/usage/projections.d.ts +16 -0
  35. package/dist/commands/account/usage/projections.js +40 -0
  36. package/dist/commands/account/usage/projections.js.map +1 -0
  37. package/dist/commands/account/usage/series.d.ts +7 -3
  38. package/dist/commands/account/usage/series.js +30 -87
  39. package/dist/commands/account/usage/series.js.map +1 -1
  40. package/dist/commands/account/usage/summary.d.ts +4 -1
  41. package/dist/commands/account/usage/summary.js +19 -27
  42. package/dist/commands/account/usage/summary.js.map +1 -1
  43. package/dist/commands/account/usage/term.d.ts +15 -0
  44. package/dist/commands/account/usage/term.js +32 -0
  45. package/dist/commands/account/usage/term.js.map +1 -0
  46. package/dist/commands/account/usage/terms.d.ts +4 -0
  47. package/dist/commands/account/usage/terms.js +19 -27
  48. package/dist/commands/account/usage/terms.js.map +1 -1
  49. package/dist/commands/alert-channels/get.js +2 -1
  50. package/dist/commands/alert-channels/get.js.map +1 -1
  51. package/dist/commands/alert-channels/list.js +2 -1
  52. package/dist/commands/alert-channels/list.js.map +1 -1
  53. package/dist/commands/alert-channels/logs.js +2 -1
  54. package/dist/commands/alert-channels/logs.js.map +1 -1
  55. package/dist/commands/api.js +53 -10
  56. package/dist/commands/api.js.map +1 -1
  57. package/dist/commands/assets/download.js +11 -7
  58. package/dist/commands/assets/download.js.map +1 -1
  59. package/dist/commands/assets/list.js +2 -3
  60. package/dist/commands/assets/list.js.map +1 -1
  61. package/dist/commands/authCommand.d.ts +19 -0
  62. package/dist/commands/authCommand.js +118 -12
  63. package/dist/commands/authCommand.js.map +1 -1
  64. package/dist/commands/baseCommand.d.ts +12 -1
  65. package/dist/commands/baseCommand.js +24 -5
  66. package/dist/commands/baseCommand.js.map +1 -1
  67. package/dist/commands/checks/delete.js +1 -1
  68. package/dist/commands/checks/delete.js.map +1 -1
  69. package/dist/commands/checks/run.js +3 -1
  70. package/dist/commands/checks/run.js.map +1 -1
  71. package/dist/commands/debug/parse-project.d.ts +1 -0
  72. package/dist/commands/debug/parse-project.js +5 -2
  73. package/dist/commands/debug/parse-project.js.map +1 -1
  74. package/dist/commands/deploy.d.ts +8 -2
  75. package/dist/commands/deploy.js +735 -274
  76. package/dist/commands/deploy.js.map +1 -1
  77. package/dist/commands/destroy.js +3 -3
  78. package/dist/commands/destroy.js.map +1 -1
  79. package/dist/commands/env/add.js +2 -2
  80. package/dist/commands/env/add.js.map +1 -1
  81. package/dist/commands/env/ls.js +2 -1
  82. package/dist/commands/env/ls.js.map +1 -1
  83. package/dist/commands/env/pull.js +3 -3
  84. package/dist/commands/env/pull.js.map +1 -1
  85. package/dist/commands/env/update.js +2 -2
  86. package/dist/commands/env/update.js.map +1 -1
  87. package/dist/commands/import/apply.js +12 -10
  88. package/dist/commands/import/apply.js.map +1 -1
  89. package/dist/commands/import/cancel.js +4 -4
  90. package/dist/commands/import/cancel.js.map +1 -1
  91. package/dist/commands/import/commit.js +11 -9
  92. package/dist/commands/import/commit.js.map +1 -1
  93. package/dist/commands/import/plan.js +82 -62
  94. package/dist/commands/import/plan.js.map +1 -1
  95. package/dist/commands/init.d.ts +2 -0
  96. package/dist/commands/init.js +62 -41
  97. package/dist/commands/init.js.map +1 -1
  98. package/dist/commands/login.d.ts +38 -2
  99. package/dist/commands/login.js +848 -52
  100. package/dist/commands/login.js.map +1 -1
  101. package/dist/commands/logout.js +10 -4
  102. package/dist/commands/logout.js.map +1 -1
  103. package/dist/commands/pw-test.js +6 -3
  104. package/dist/commands/pw-test.js.map +1 -1
  105. package/dist/commands/rca/get.js +1 -1
  106. package/dist/commands/rca/get.js.map +1 -1
  107. package/dist/commands/rca/run.js +1 -1
  108. package/dist/commands/rca/run.js.map +1 -1
  109. package/dist/commands/skills/index.js +1 -1
  110. package/dist/commands/skills/index.js.map +1 -1
  111. package/dist/commands/skills/install.js +12 -12
  112. package/dist/commands/skills/install.js.map +1 -1
  113. package/dist/commands/switch.d.ts +10 -1
  114. package/dist/commands/switch.js +75 -13
  115. package/dist/commands/switch.js.map +1 -1
  116. package/dist/commands/sync-playwright.js +5 -10
  117. package/dist/commands/sync-playwright.js.map +1 -1
  118. package/dist/commands/test.d.ts +2 -0
  119. package/dist/commands/test.js +58 -29
  120. package/dist/commands/test.js.map +1 -1
  121. package/dist/commands/trigger.d.ts +1 -2
  122. package/dist/commands/trigger.js +27 -20
  123. package/dist/commands/trigger.js.map +1 -1
  124. package/dist/commands/validate.js +1 -0
  125. package/dist/commands/validate.js.map +1 -1
  126. package/dist/commands/whoami.d.ts +8 -0
  127. package/dist/commands/whoami.js +57 -6
  128. package/dist/commands/whoami.js.map +1 -1
  129. package/dist/constants.d.ts +3 -2
  130. package/dist/constants.js +8 -1
  131. package/dist/constants.js.map +1 -1
  132. package/dist/constructs/alert-channel-codegen.d.ts +6 -1
  133. package/dist/constructs/alert-channel-codegen.js +12 -6
  134. package/dist/constructs/alert-channel-codegen.js.map +1 -1
  135. package/dist/constructs/alert-channel-subscription.d.ts +1 -0
  136. package/dist/constructs/alert-channel-subscription.js +4 -0
  137. package/dist/constructs/alert-channel-subscription.js.map +1 -1
  138. package/dist/constructs/alert-channel.js +8 -5
  139. package/dist/constructs/alert-channel.js.map +1 -1
  140. package/dist/constructs/alert-escalation-policy-codegen.d.ts +7 -0
  141. package/dist/constructs/alert-escalation-policy-codegen.js +25 -8
  142. package/dist/constructs/alert-escalation-policy-codegen.js.map +1 -1
  143. package/dist/constructs/api-assertion.d.ts +0 -2
  144. package/dist/constructs/api-assertion.js +0 -4
  145. package/dist/constructs/api-assertion.js.map +1 -1
  146. package/dist/constructs/api-check-bundle.d.ts +4 -124
  147. package/dist/constructs/api-check-codegen.js +1 -1
  148. package/dist/constructs/api-check-codegen.js.map +1 -1
  149. package/dist/constructs/api-check.d.ts +8 -128
  150. package/dist/constructs/api-check.js +15 -17
  151. package/dist/constructs/api-check.js.map +1 -1
  152. package/dist/constructs/api-request-codegen.js +10 -8
  153. package/dist/constructs/api-request-codegen.js.map +1 -1
  154. package/dist/constructs/browser-check-bundle.d.ts +11 -125
  155. package/dist/constructs/browser-check-bundle.js +5 -1
  156. package/dist/constructs/browser-check-bundle.js.map +1 -1
  157. package/dist/constructs/browser-check.d.ts +5 -107
  158. package/dist/constructs/browser-check.js +1 -1
  159. package/dist/constructs/browser-check.js.map +1 -1
  160. package/dist/constructs/check-codegen.d.ts +46 -14
  161. package/dist/constructs/check-codegen.js +118 -34
  162. package/dist/constructs/check-codegen.js.map +1 -1
  163. package/dist/constructs/check-group-codegen.js +23 -9
  164. package/dist/constructs/check-group-codegen.js.map +1 -1
  165. package/dist/constructs/check-group-v1.d.ts +28 -16
  166. package/dist/constructs/check-group-v1.js +48 -17
  167. package/dist/constructs/check-group-v1.js.map +1 -1
  168. package/dist/constructs/check-group-v2.d.ts +2 -21
  169. package/dist/constructs/check-group-v2.js +4 -4
  170. package/dist/constructs/check-group-v2.js.map +1 -1
  171. package/dist/constructs/check.d.ts +68 -220
  172. package/dist/constructs/check.js +106 -37
  173. package/dist/constructs/check.js.map +1 -1
  174. package/dist/constructs/construct-codegen.d.ts +1 -2
  175. package/dist/constructs/construct-diagnostics.d.ts +3 -0
  176. package/dist/constructs/construct-diagnostics.js +11 -0
  177. package/dist/constructs/construct-diagnostics.js.map +1 -1
  178. package/dist/constructs/construct.d.ts +30 -4
  179. package/dist/constructs/construct.js +52 -6
  180. package/dist/constructs/construct.js.map +1 -1
  181. package/dist/constructs/dashboard.js +11 -7
  182. package/dist/constructs/dashboard.js.map +1 -1
  183. package/dist/constructs/dns-monitor.d.ts +4 -100
  184. package/dist/constructs/dns-request-codegen.js +1 -1
  185. package/dist/constructs/dns-request-codegen.js.map +1 -1
  186. package/dist/constructs/email-alert-channel-codegen.js +1 -1
  187. package/dist/constructs/email-alert-channel-codegen.js.map +1 -1
  188. package/dist/constructs/engine.d.ts +4 -2
  189. package/dist/constructs/engine.js +3 -1
  190. package/dist/constructs/engine.js.map +1 -1
  191. package/dist/constructs/frequency-codegen.js +10 -2
  192. package/dist/constructs/frequency-codegen.js.map +1 -1
  193. package/dist/constructs/frequency.d.ts +8 -3
  194. package/dist/constructs/frequency.js +7 -2
  195. package/dist/constructs/frequency.js.map +1 -1
  196. package/dist/constructs/grpc-monitor.d.ts +4 -100
  197. package/dist/constructs/grpc-monitor.js +19 -0
  198. package/dist/constructs/grpc-monitor.js.map +1 -1
  199. package/dist/constructs/grpc-request-codegen.js +13 -4
  200. package/dist/constructs/grpc-request-codegen.js.map +1 -1
  201. package/dist/constructs/grpc-request.d.ts +23 -0
  202. package/dist/constructs/heartbeat-monitor.d.ts +2 -1
  203. package/dist/constructs/heartbeat-monitor.js +2 -2
  204. package/dist/constructs/heartbeat-monitor.js.map +1 -1
  205. package/dist/constructs/icmp-monitor.d.ts +4 -100
  206. package/dist/constructs/icmp-request-codegen.js +1 -1
  207. package/dist/constructs/icmp-request-codegen.js.map +1 -1
  208. package/dist/constructs/incidentio-alert-channel-codegen.d.ts +1 -1
  209. package/dist/constructs/incidentio-alert-channel-codegen.js +14 -8
  210. package/dist/constructs/incidentio-alert-channel-codegen.js.map +1 -1
  211. package/dist/constructs/index.d.ts +1 -1
  212. package/dist/constructs/index.js +1 -1
  213. package/dist/constructs/index.js.map +1 -1
  214. package/dist/constructs/internal/assertion-validation.js +1 -2
  215. package/dist/constructs/internal/assertion-validation.js.map +1 -1
  216. package/dist/constructs/internal/codegen/context.d.ts +73 -6
  217. package/dist/constructs/internal/codegen/context.js +78 -6
  218. package/dist/constructs/internal/codegen/context.js.map +1 -1
  219. package/dist/constructs/internal/codegen/index.d.ts +3 -1
  220. package/dist/constructs/internal/codegen/index.js +2 -1
  221. package/dist/constructs/internal/codegen/index.js.map +1 -1
  222. package/dist/constructs/internal/codegen/render.d.ts +68 -0
  223. package/dist/constructs/internal/codegen/render.js +75 -0
  224. package/dist/constructs/internal/codegen/render.js.map +1 -0
  225. package/dist/constructs/internal/common-diagnostics.d.ts +1 -2
  226. package/dist/constructs/internal/common-diagnostics.js +7 -17
  227. package/dist/constructs/internal/common-diagnostics.js.map +1 -1
  228. package/dist/constructs/internal/declaring-file.d.ts +39 -0
  229. package/dist/constructs/internal/declaring-file.js +139 -0
  230. package/dist/constructs/internal/declaring-file.js.map +1 -0
  231. package/dist/constructs/internal/default-retry-strategy.d.ts +9 -0
  232. package/dist/constructs/internal/default-retry-strategy.js +13 -0
  233. package/dist/constructs/internal/default-retry-strategy.js.map +1 -0
  234. package/dist/constructs/internal/retry-strategy-defaults.d.ts +13 -0
  235. package/dist/constructs/internal/retry-strategy-defaults.js +14 -0
  236. package/dist/constructs/internal/retry-strategy-defaults.js.map +1 -0
  237. package/dist/constructs/key-value-pair-codegen.d.ts +6 -1
  238. package/dist/constructs/key-value-pair-codegen.js +24 -3
  239. package/dist/constructs/key-value-pair-codegen.js.map +1 -1
  240. package/dist/constructs/maintenance-window-codegen.d.ts +7 -0
  241. package/dist/constructs/maintenance-window-codegen.js +36 -19
  242. package/dist/constructs/maintenance-window-codegen.js.map +1 -1
  243. package/dist/constructs/maintenance-window.d.ts +37 -3
  244. package/dist/constructs/maintenance-window.js +34 -1
  245. package/dist/constructs/maintenance-window.js.map +1 -1
  246. package/dist/constructs/monitor.d.ts +6 -119
  247. package/dist/constructs/monitor.js +3 -5
  248. package/dist/constructs/monitor.js.map +1 -1
  249. package/dist/constructs/msteams-alert-channel-codegen.d.ts +1 -1
  250. package/dist/constructs/msteams-alert-channel-codegen.js +8 -18
  251. package/dist/constructs/msteams-alert-channel-codegen.js.map +1 -1
  252. package/dist/constructs/multi-step-check-bundle.d.ts +4 -109
  253. package/dist/constructs/multi-step-check.d.ts +4 -100
  254. package/dist/constructs/opsgenie-alert-channel-codegen.js +1 -1
  255. package/dist/constructs/opsgenie-alert-channel-codegen.js.map +1 -1
  256. package/dist/constructs/pagerduty-alert-channel-codegen.js +1 -1
  257. package/dist/constructs/pagerduty-alert-channel-codegen.js.map +1 -1
  258. package/dist/constructs/phone-call-alert-channel-codegen.js +1 -1
  259. package/dist/constructs/phone-call-alert-channel-codegen.js.map +1 -1
  260. package/dist/constructs/playwright-check-bundle.d.ts +10 -130
  261. package/dist/constructs/playwright-check-bundle.js +3 -3
  262. package/dist/constructs/playwright-check-bundle.js.map +1 -1
  263. package/dist/constructs/playwright-check-codegen.d.ts +85 -0
  264. package/dist/constructs/playwright-check-codegen.js +212 -0
  265. package/dist/constructs/playwright-check-codegen.js.map +1 -0
  266. package/dist/constructs/playwright-check.d.ts +14 -122
  267. package/dist/constructs/playwright-check.js +17 -51
  268. package/dist/constructs/playwright-check.js.map +1 -1
  269. package/dist/constructs/private-location-check-assignment.d.ts +1 -0
  270. package/dist/constructs/private-location-check-assignment.js +4 -0
  271. package/dist/constructs/private-location-check-assignment.js.map +1 -1
  272. package/dist/constructs/private-location-group-assignment.d.ts +1 -0
  273. package/dist/constructs/private-location-group-assignment.js +4 -0
  274. package/dist/constructs/private-location-group-assignment.js.map +1 -1
  275. package/dist/constructs/private-location.js +3 -1
  276. package/dist/constructs/private-location.js.map +1 -1
  277. package/dist/constructs/retry-strategy-codegen.d.ts +7 -1
  278. package/dist/constructs/retry-strategy-codegen.js +41 -32
  279. package/dist/constructs/retry-strategy-codegen.js.map +1 -1
  280. package/dist/constructs/retry-strategy.d.ts +0 -4
  281. package/dist/constructs/retry-strategy.js +5 -8
  282. package/dist/constructs/retry-strategy.js.map +1 -1
  283. package/dist/constructs/session.d.ts +38 -1
  284. package/dist/constructs/session.js +73 -3
  285. package/dist/constructs/session.js.map +1 -1
  286. package/dist/constructs/slack-alert-channel-codegen.js +1 -1
  287. package/dist/constructs/slack-alert-channel-codegen.js.map +1 -1
  288. package/dist/constructs/slack-app-alert-channel-codegen.js +1 -1
  289. package/dist/constructs/slack-app-alert-channel-codegen.js.map +1 -1
  290. package/dist/constructs/sms-alert-channel-codegen.js +1 -1
  291. package/dist/constructs/sms-alert-channel-codegen.js.map +1 -1
  292. package/dist/constructs/ssl-monitor.d.ts +4 -142
  293. package/dist/constructs/ssl-request-codegen.js +4 -3
  294. package/dist/constructs/ssl-request-codegen.js.map +1 -1
  295. package/dist/constructs/status-page-v3-automation-rule-codegen.js +5 -4
  296. package/dist/constructs/status-page-v3-automation-rule-codegen.js.map +1 -1
  297. package/dist/constructs/status-page-v3-codegen.js +3 -2
  298. package/dist/constructs/status-page-v3-codegen.js.map +1 -1
  299. package/dist/constructs/status-page-v3-component-codegen.js +8 -7
  300. package/dist/constructs/status-page-v3-component-codegen.js.map +1 -1
  301. package/dist/constructs/tcp-monitor-codegen.js +3 -2
  302. package/dist/constructs/tcp-monitor-codegen.js.map +1 -1
  303. package/dist/constructs/tcp-monitor.d.ts +8 -103
  304. package/dist/constructs/tcp-monitor.js +3 -2
  305. package/dist/constructs/tcp-monitor.js.map +1 -1
  306. package/dist/constructs/telegram-alert-channel-codegen.d.ts +1 -1
  307. package/dist/constructs/telegram-alert-channel-codegen.js +14 -8
  308. package/dist/constructs/telegram-alert-channel-codegen.js.map +1 -1
  309. package/dist/constructs/time-zone.d.ts +24 -0
  310. package/dist/constructs/time-zone.js +455 -0
  311. package/dist/constructs/time-zone.js.map +1 -0
  312. package/dist/constructs/traceroute-monitor.d.ts +4 -100
  313. package/dist/constructs/traceroute-request-codegen.js +2 -2
  314. package/dist/constructs/traceroute-request-codegen.js.map +1 -1
  315. package/dist/constructs/url-monitor-codegen.js +1 -1
  316. package/dist/constructs/url-monitor-codegen.js.map +1 -1
  317. package/dist/constructs/url-monitor.d.ts +7 -123
  318. package/dist/constructs/url-monitor.js +3 -0
  319. package/dist/constructs/url-monitor.js.map +1 -1
  320. package/dist/constructs/url-request-codegen.js +4 -3
  321. package/dist/constructs/url-request-codegen.js.map +1 -1
  322. package/dist/constructs/webhook-alert-channel-codegen.js +3 -3
  323. package/dist/constructs/webhook-alert-channel-codegen.js.map +1 -1
  324. package/dist/formatters/check-result-detail.js +0 -185
  325. package/dist/formatters/check-result-detail.js.map +1 -1
  326. package/dist/formatters/render.d.ts +2 -1
  327. package/dist/formatters/render.js +2 -2
  328. package/dist/formatters/render.js.map +1 -1
  329. package/dist/formatters/usage.d.ts +18 -12
  330. package/dist/formatters/usage.js +285 -245
  331. package/dist/formatters/usage.js.map +1 -1
  332. package/dist/help/help-extension.js +2 -1
  333. package/dist/help/help-extension.js.map +1 -1
  334. package/dist/helpers/accounts.d.ts +28 -0
  335. package/dist/helpers/accounts.js +50 -0
  336. package/dist/helpers/accounts.js.map +1 -0
  337. package/dist/helpers/activate-account.d.ts +13 -0
  338. package/dist/helpers/activate-account.js +24 -0
  339. package/dist/helpers/activate-account.js.map +1 -0
  340. package/dist/helpers/api-fields.js +3 -2
  341. package/dist/helpers/api-fields.js.map +1 -1
  342. package/dist/helpers/cli-mode.d.ts +24 -0
  343. package/dist/helpers/cli-mode.js +64 -8
  344. package/dist/helpers/cli-mode.js.map +1 -1
  345. package/dist/helpers/command-preview.d.ts +44 -0
  346. package/dist/helpers/command-preview.js +29 -9
  347. package/dist/helpers/command-preview.js.map +1 -1
  348. package/dist/helpers/command-style.d.ts +1 -0
  349. package/dist/helpers/command-style.js +51 -37
  350. package/dist/helpers/command-style.js.map +1 -1
  351. package/dist/helpers/flags.d.ts +10 -0
  352. package/dist/helpers/flags.js +18 -0
  353. package/dist/helpers/flags.js.map +1 -1
  354. package/dist/helpers/import-plan-selection.d.ts +1 -1
  355. package/dist/helpers/import-plan-selection.js +8 -20
  356. package/dist/helpers/import-plan-selection.js.map +1 -1
  357. package/dist/helpers/invalid-input-error.d.ts +15 -0
  358. package/dist/helpers/invalid-input-error.js +17 -0
  359. package/dist/helpers/invalid-input-error.js.map +1 -0
  360. package/dist/helpers/number.js +4 -3
  361. package/dist/helpers/number.js.map +1 -1
  362. package/dist/helpers/onboarding/boilerplate.js +15 -3
  363. package/dist/helpers/onboarding/boilerplate.js.map +1 -1
  364. package/dist/helpers/onboarding/index.d.ts +1 -1
  365. package/dist/helpers/onboarding/index.js +1 -1
  366. package/dist/helpers/onboarding/index.js.map +1 -1
  367. package/dist/helpers/onboarding/messages.d.ts +7 -0
  368. package/dist/helpers/onboarding/messages.js +14 -0
  369. package/dist/helpers/onboarding/messages.js.map +1 -1
  370. package/dist/helpers/onboarding/prompt-display.js +2 -2
  371. package/dist/helpers/onboarding/prompt-display.js.map +1 -1
  372. package/dist/helpers/onboarding/prompts-helpers.js +3 -1
  373. package/dist/helpers/onboarding/prompts-helpers.js.map +1 -1
  374. package/dist/helpers/onboarding/skill-install.js +4 -4
  375. package/dist/helpers/onboarding/skill-install.js.map +1 -1
  376. package/dist/helpers/prompts.d.ts +7 -0
  377. package/dist/helpers/prompts.js +10 -0
  378. package/dist/helpers/prompts.js.map +1 -0
  379. package/dist/helpers/result-assets.js +4 -3
  380. package/dist/helpers/result-assets.js.map +1 -1
  381. package/dist/helpers/test-helper.d.ts +14 -0
  382. package/dist/helpers/test-helper.js +33 -3
  383. package/dist/helpers/test-helper.js.map +1 -1
  384. package/dist/helpers/usage.d.ts +51 -14
  385. package/dist/helpers/usage.js +193 -53
  386. package/dist/helpers/usage.js.map +1 -1
  387. package/dist/helpers/wrap.js +1 -1
  388. package/dist/helpers/wrap.js.map +1 -1
  389. package/dist/messages/common-messages.d.ts +1 -0
  390. package/dist/messages/common-messages.js +4 -2
  391. package/dist/messages/common-messages.js.map +1 -1
  392. package/dist/reporters/abstract-list.d.ts +9 -2
  393. package/dist/reporters/abstract-list.js +105 -32
  394. package/dist/reporters/abstract-list.js.map +1 -1
  395. package/dist/reporters/ci.js +7 -4
  396. package/dist/reporters/ci.js.map +1 -1
  397. package/dist/reporters/dot.d.ts +1 -0
  398. package/dist/reporters/dot.js +19 -7
  399. package/dist/reporters/dot.js.map +1 -1
  400. package/dist/reporters/github.d.ts +2 -0
  401. package/dist/reporters/github.js +29 -4
  402. package/dist/reporters/github.js.map +1 -1
  403. package/dist/reporters/json.d.ts +2 -0
  404. package/dist/reporters/json.js +27 -4
  405. package/dist/reporters/json.js.map +1 -1
  406. package/dist/reporters/list.js +10 -8
  407. package/dist/reporters/list.js.map +1 -1
  408. package/dist/reporters/reporter.d.ts +1 -0
  409. package/dist/reporters/reporter.js.map +1 -1
  410. package/dist/reporters/util.d.ts +5 -2
  411. package/dist/reporters/util.js +25 -61
  412. package/dist/reporters/util.js.map +1 -1
  413. package/dist/rest/analytics.js +0 -4
  414. package/dist/rest/analytics.js.map +1 -1
  415. package/dist/rest/api.d.ts +10 -1
  416. package/dist/rest/api.js +44 -9
  417. package/dist/rest/api.js.map +1 -1
  418. package/dist/rest/check-results.d.ts +1 -50
  419. package/dist/rest/check-results.js.map +1 -1
  420. package/dist/rest/checkly-storage.d.ts +6 -1
  421. package/dist/rest/checkly-storage.js +13 -2
  422. package/dist/rest/checkly-storage.js.map +1 -1
  423. package/dist/rest/errors.d.ts +19 -0
  424. package/dist/rest/errors.js +20 -1
  425. package/dist/rest/errors.js.map +1 -1
  426. package/dist/rest/projects.d.ts +254 -4
  427. package/dist/rest/projects.js +208 -17
  428. package/dist/rest/projects.js.map +1 -1
  429. package/dist/rest/usage.d.ts +164 -73
  430. package/dist/rest/usage.js +21 -10
  431. package/dist/rest/usage.js.map +1 -1
  432. package/dist/services/abstract-check-runner.d.ts +34 -2
  433. package/dist/services/abstract-check-runner.js +183 -56
  434. package/dist/services/abstract-check-runner.js.map +1 -1
  435. package/dist/services/check-parser/bundler.d.ts +26 -0
  436. package/dist/services/check-parser/bundler.js +81 -7
  437. package/dist/services/check-parser/bundler.js.map +1 -1
  438. package/dist/services/check-parser/cache-hash.d.ts +1 -4
  439. package/dist/services/check-parser/cache-hash.js.map +1 -1
  440. package/dist/services/check-parser/package-files/json-text-source-file.d.ts +0 -2
  441. package/dist/services/check-parser/package-files/json-text-source-file.js +6 -6
  442. package/dist/services/check-parser/package-files/json-text-source-file.js.map +1 -1
  443. package/dist/services/check-parser/parser.d.ts +3 -2
  444. package/dist/services/check-parser/parser.js +31 -40
  445. package/dist/services/check-parser/parser.js.map +1 -1
  446. package/dist/services/checkly-config-codegen.js +4 -4
  447. package/dist/services/checkly-config-codegen.js.map +1 -1
  448. package/dist/services/checkly-config-loader.d.ts +18 -33
  449. package/dist/services/checkly-config-loader.js +50 -47
  450. package/dist/services/checkly-config-loader.js.map +1 -1
  451. package/dist/services/config.d.ts +42 -1
  452. package/dist/services/config.js +93 -9
  453. package/dist/services/config.js.map +1 -1
  454. package/dist/services/content-hash.d.ts +14 -0
  455. package/dist/services/content-hash.js +22 -0
  456. package/dist/services/content-hash.js.map +1 -0
  457. package/dist/services/deploy-diff/diff-lines.d.ts +52 -0
  458. package/dist/services/deploy-diff/diff-lines.js +327 -0
  459. package/dist/services/deploy-diff/diff-lines.js.map +1 -0
  460. package/dist/services/deploy-diff/double-check.d.ts +9 -0
  461. package/dist/services/deploy-diff/double-check.js +21 -0
  462. package/dist/services/deploy-diff/double-check.js.map +1 -0
  463. package/dist/services/deploy-diff/import-shape.d.ts +171 -0
  464. package/dist/services/deploy-diff/import-shape.js +633 -0
  465. package/dist/services/deploy-diff/import-shape.js.map +1 -0
  466. package/dist/services/deploy-diff/legacy-payload.d.ts +22 -0
  467. package/dist/services/deploy-diff/legacy-payload.js +51 -0
  468. package/dist/services/deploy-diff/legacy-payload.js.map +1 -0
  469. package/dist/services/deploy-diff/plan-summary.d.ts +81 -0
  470. package/dist/services/deploy-diff/plan-summary.js +262 -0
  471. package/dist/services/deploy-diff/plan-summary.js.map +1 -0
  472. package/dist/services/deploy-diff/preview-output.d.ts +63 -0
  473. package/dist/services/deploy-diff/preview-output.js +403 -0
  474. package/dist/services/deploy-diff/preview-output.js.map +1 -0
  475. package/dist/services/deploy-diff/render.d.ts +59 -0
  476. package/dist/services/deploy-diff/render.js +326 -0
  477. package/dist/services/deploy-diff/render.js.map +1 -0
  478. package/dist/services/deploy-diff/shape-changes.d.ts +2 -0
  479. package/dist/services/deploy-diff/shape-changes.js +48 -0
  480. package/dist/services/deploy-diff/shape-changes.js.map +1 -0
  481. package/dist/services/deploy-diff/source-index.d.ts +18 -0
  482. package/dist/services/deploy-diff/source-index.js +48 -0
  483. package/dist/services/deploy-diff/source-index.js.map +1 -0
  484. package/dist/services/deploy-diff/variable-names.d.ts +30 -0
  485. package/dist/services/deploy-diff/variable-names.js +64 -0
  486. package/dist/services/deploy-diff/variable-names.js.map +1 -0
  487. package/dist/services/engine-resolver.js +3 -0
  488. package/dist/services/engine-resolver.js.map +1 -1
  489. package/dist/services/engine-rules-loader.d.ts +6 -0
  490. package/dist/services/engine-rules-loader.js +12 -3
  491. package/dist/services/engine-rules-loader.js.map +1 -1
  492. package/dist/services/oxc-parser.d.ts +26 -0
  493. package/dist/services/oxc-parser.js +70 -0
  494. package/dist/services/oxc-parser.js.map +1 -0
  495. package/dist/services/project-cli.d.ts +75 -0
  496. package/dist/services/project-cli.js +302 -0
  497. package/dist/services/project-cli.js.map +1 -0
  498. package/dist/services/project-parser.d.ts +5 -0
  499. package/dist/services/project-parser.js +25 -13
  500. package/dist/services/project-parser.js.map +1 -1
  501. package/dist/services/skills.js +3 -3
  502. package/dist/services/skills.js.map +1 -1
  503. package/dist/services/snapshot-service.d.ts +25 -8
  504. package/dist/services/snapshot-service.js +46 -4
  505. package/dist/services/snapshot-service.js.map +1 -1
  506. package/dist/services/socket-client.js +1 -1
  507. package/dist/services/socket-client.js.map +1 -1
  508. package/dist/services/test-filters.d.ts +18 -0
  509. package/dist/services/test-filters.js +10 -0
  510. package/dist/services/test-filters.js.map +1 -1
  511. package/dist/services/test-runner.d.ts +1 -1
  512. package/dist/services/test-runner.js +10 -11
  513. package/dist/services/test-runner.js.map +1 -1
  514. package/dist/services/test-session-cancel.d.ts +5 -0
  515. package/dist/services/test-session-cancel.js +28 -3
  516. package/dist/services/test-session-cancel.js.map +1 -1
  517. package/dist/services/trigger-runner.d.ts +1 -1
  518. package/dist/services/trigger-runner.js +2 -2
  519. package/dist/services/trigger-runner.js.map +1 -1
  520. package/dist/services/two-installs.d.ts +39 -0
  521. package/dist/services/two-installs.js +155 -0
  522. package/dist/services/two-installs.js.map +1 -0
  523. package/dist/services/util.d.ts +17 -2
  524. package/dist/services/util.js +118 -11
  525. package/dist/services/util.js.map +1 -1
  526. package/dist/services/write-back/apply-edits.d.ts +29 -0
  527. package/dist/services/write-back/apply-edits.js +255 -0
  528. package/dist/services/write-back/apply-edits.js.map +1 -0
  529. package/dist/services/write-back/helper-edit.d.ts +135 -0
  530. package/dist/services/write-back/helper-edit.js +343 -0
  531. package/dist/services/write-back/helper-edit.js.map +1 -0
  532. package/dist/services/write-back/imports.d.ts +30 -0
  533. package/dist/services/write-back/imports.js +88 -0
  534. package/dist/services/write-back/imports.js.map +1 -0
  535. package/dist/services/write-back/literal-edit.d.ts +183 -0
  536. package/dist/services/write-back/literal-edit.js +359 -0
  537. package/dist/services/write-back/literal-edit.js.map +1 -0
  538. package/dist/services/write-back/output.d.ts +26 -0
  539. package/dist/services/write-back/output.js +110 -0
  540. package/dist/services/write-back/output.js.map +1 -0
  541. package/dist/services/write-back/plan.d.ts +180 -0
  542. package/dist/services/write-back/plan.js +1046 -0
  543. package/dist/services/write-back/plan.js.map +1 -0
  544. package/dist/services/write-back/source-file.d.ts +133 -0
  545. package/dist/services/write-back/source-file.js +460 -0
  546. package/dist/services/write-back/source-file.js.map +1 -0
  547. package/dist/sourcegen/index.d.ts +1 -1
  548. package/dist/sourcegen/index.js +1 -1
  549. package/dist/sourcegen/index.js.map +1 -1
  550. package/dist/sourcegen/program.d.ts +19 -1
  551. package/dist/sourcegen/program.js +32 -7
  552. package/dist/sourcegen/program.js.map +1 -1
  553. package/dist/testing/clear-git-env.d.ts +1 -0
  554. package/dist/testing/clear-git-env.js +25 -0
  555. package/dist/testing/clear-git-env.js.map +1 -0
  556. package/dist/testing/global-setup.d.ts +1 -0
  557. package/dist/testing/global-setup.js +3 -0
  558. package/dist/testing/global-setup.js.map +1 -1
  559. package/oclif.manifest.json +1113 -884
  560. package/package.json +21 -19
  561. package/dist/commands/rules.d.ts +0 -9
  562. package/dist/commands/rules.js +0 -13
  563. package/dist/commands/rules.js.map +0 -1
  564. package/dist/constructs/agentic-check-codegen.d.ts +0 -22
  565. package/dist/constructs/agentic-check-codegen.js +0 -59
  566. package/dist/constructs/agentic-check-codegen.js.map +0 -1
  567. package/dist/constructs/agentic-check.d.ts +0 -237
  568. package/dist/constructs/agentic-check.js +0 -100
  569. package/dist/constructs/agentic-check.js.map +0 -1
  570. package/dist/services/check-parser/package-files/json-text-source-file-parser.d.ts +0 -7
  571. package/dist/services/check-parser/package-files/json-text-source-file-parser.js +0 -47
  572. package/dist/services/check-parser/package-files/json-text-source-file-parser.js.map +0 -1
  573. package/dist/services/check-parser/package-files/source-file-parser.d.ts +0 -10
  574. package/dist/services/check-parser/package-files/source-file-parser.js +0 -13
  575. package/dist/services/check-parser/package-files/source-file-parser.js.map +0 -1
@@ -1,4 +1,6 @@
1
- // Canonical source: monorepo/engines.json
1
+ // Mirrors the engine versions the backend accepts (PLAYWRIGHT_*_ENGINE_VERSIONS
2
+ // in the monorepo's apps/backend/api/src/modules/common/schemas.js); the
3
+ // terraform provider embeds the same rules in its checkly/engines.json.
2
4
  // Async to match a future API call signature.
3
5
  // eslint-disable-next-line require-await
4
6
  export async function loadEngineRules() {
@@ -30,11 +32,18 @@ const enginesConfig = {
30
32
  {
31
33
  name: 'bun',
32
34
  versions: {
33
- default: '1.3',
35
+ // '1' is the newest 1.x the runner image carries; it is also what the
36
+ // runner uses when a check sets no engine version.
37
+ default: '1',
38
+ aliases: ['1'],
34
39
  rules: [
35
40
  { source: '<1.3', target: '1.3', action: 'allow', follow: true, notice: 'Bun ${SOURCE} is not available. Using Bun 1.3 instead.' },
36
41
  { source: '~1.3', target: '1.3', action: 'allow', follow: false },
37
- { source: '^1.4', target: '1.3', action: 'allow', follow: true, notice: 'Bun ${SOURCE} is not available yet. Using Bun 1.3 instead.' },
42
+ { source: '~1.4', target: '1.4', action: 'allow', follow: false },
43
+ // Like Node's `>=27`: a not-yet-available minor maps to the highest
44
+ // pinned minor rather than the floating '1', so the version does not
45
+ // drift with later runner images while the project still pins it.
46
+ { source: '>=1.5 <2', target: '1.4', action: 'allow', follow: false, notice: 'Bun ${SOURCE} is not available yet. Using Bun 1.4 instead.' },
38
47
  { source: '>=2', action: 'deny', follow: false, notice: 'Bun ${SOURCE} is not available yet.' },
39
48
  ],
40
49
  },
@@ -1 +1 @@
1
- {"version":3,"file":"engine-rules-loader.js","sourceRoot":"","sources":["../../src/services/engine-rules-loader.ts"],"names":[],"mappings":"AAsBA,0CAA0C;AAC1C,8CAA8C;AAC9C,yCAAyC;AACzC,MAAM,CAAC,KAAK,UAAU,eAAe;IACnC,OAAO,aAAa,CAAA;AACtB,CAAC;AAED,MAAM,UAAU,eAAe,CAAE,MAAqB,EAAE,UAAkB;IACxE,OAAO,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,UAAU,CAAC,EAAE,QAAQ,CAAA;AAClE,CAAC;AAED,MAAM,aAAa,GAAkB;IACnC,OAAO,EAAE;QACP;YACE,IAAI,EAAE,MAAM;YACZ,QAAQ,EAAE;gBACR,OAAO,EAAE,IAAI;gBACb,KAAK,EAAE;oBACL,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,oGAAoG,EAAE;oBAC5K,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,oGAAoG,EAAE;oBAC5K,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,qEAAqE,EAAE;oBAC7I,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,wGAAwG,EAAE;oBAChL,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE;oBAC/D,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,wGAAwG,EAAE;oBAChL,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE;oBAC/D,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,wGAAwG,EAAE;oBAChL,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE;oBAC/D,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,yEAAyE,EAAE;iBACnJ;aACF;SACF;QACD;YACE,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE;gBACR,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE;oBACL,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,wDAAwD,EAAE;oBAClI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE;oBACjE,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,4DAA4D,EAAE;oBACtI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,qCAAqC,EAAE;iBAChG;aACF;SACF;KACF;CACF,CAAA"}
1
+ {"version":3,"file":"engine-rules-loader.js","sourceRoot":"","sources":["../../src/services/engine-rules-loader.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,26 @@
1
+ import type { ParseResult, ParserOptions } from 'oxc-parser';
2
+ export type ParseSync = (filename: string, source: string, options?: ParserOptions) => ParseResult;
3
+ /**
4
+ * oxc-parser's `parseSync`. Its native binding can be missing, e.g. when
5
+ * optional dependencies weren't installed or node_modules was copied from
6
+ * another platform; `oxcLoadError` is thrown then, and again on every later
7
+ * call without retrying the load.
8
+ */
9
+ export declare function loadOxcParser(): ParseSync;
10
+ /**
11
+ * A failure to load oxc-parser, named as such: its own error ("Cannot find
12
+ * native binding", with how to reinstall) doesn't say which package it is
13
+ * about.
14
+ */
15
+ export declare function oxcLoadError(error: unknown): Error;
16
+ /**
17
+ * Parses a TypeScript or JSX file the way its extension says: declaration
18
+ * files allow syntax that regular files don't, and JSX is only enabled for
19
+ * `.tsx` and `.jsx`, since in a `.ts` file type brackets would confuse the
20
+ * parser. `.cts` files are CommonJS, the rest modules.
21
+ *
22
+ * @throws SyntaxError on the first syntax error, with its line and column.
23
+ * oxc recovers from syntax errors and returns a partial AST, which is never
24
+ * returned here.
25
+ */
26
+ export declare function parseWithOxc(parseSync: ParseSync, filePath: string, contents: string, options?: ParserOptions): ParseResult;
@@ -0,0 +1,70 @@
1
+ import { createRequire } from 'node:module';
2
+ import path from 'node:path';
3
+ let loaded;
4
+ /**
5
+ * oxc-parser's `parseSync`. Its native binding can be missing, e.g. when
6
+ * optional dependencies weren't installed or node_modules was copied from
7
+ * another platform; `oxcLoadError` is thrown then, and again on every later
8
+ * call without retrying the load.
9
+ */
10
+ export function loadOxcParser() {
11
+ if (loaded === undefined) {
12
+ try {
13
+ const require = createRequire(import.meta.url);
14
+ loaded = { parseSync: require('oxc-parser').parseSync };
15
+ }
16
+ catch (error) {
17
+ loaded = { error: oxcLoadError(error) };
18
+ }
19
+ }
20
+ if ('error' in loaded) {
21
+ throw loaded.error;
22
+ }
23
+ return loaded.parseSync;
24
+ }
25
+ /**
26
+ * A failure to load oxc-parser, named as such: its own error ("Cannot find
27
+ * native binding", with how to reinstall) doesn't say which package it is
28
+ * about.
29
+ */
30
+ export function oxcLoadError(error) {
31
+ const message = error instanceof Error ? error.message : String(error);
32
+ return new Error(`oxc-parser, which parses TypeScript files, failed to load: ${message}`, { cause: error });
33
+ }
34
+ // foo.d.ts, foo.d.mts, foo.d.cts and foo.d.css.ts (allowArbitraryExtensions)
35
+ const DECLARATION_FILE = /\.d\.([^.\\/]+\.)?[cm]?ts$/;
36
+ function lineColumn(contents, offset) {
37
+ const before = contents.slice(0, offset);
38
+ const line = before.split('\n').length;
39
+ // 0-based column, like acorn's
40
+ const column = offset - before.lastIndexOf('\n') - 1;
41
+ return `${line}:${column}`;
42
+ }
43
+ /**
44
+ * Parses a TypeScript or JSX file the way its extension says: declaration
45
+ * files allow syntax that regular files don't, and JSX is only enabled for
46
+ * `.tsx` and `.jsx`, since in a `.ts` file type brackets would confuse the
47
+ * parser. `.cts` files are CommonJS, the rest modules.
48
+ *
49
+ * @throws SyntaxError on the first syntax error, with its line and column.
50
+ * oxc recovers from syntax errors and returns a partial AST, which is never
51
+ * returned here.
52
+ */
53
+ export function parseWithOxc(parseSync, filePath, contents, options = {}) {
54
+ const extension = path.extname(filePath);
55
+ const result = parseSync(filePath, contents, {
56
+ lang: DECLARATION_FILE.test(filePath)
57
+ ? 'dts'
58
+ : extension === '.tsx' ? 'tsx' : extension === '.jsx' ? 'jsx' : 'ts',
59
+ sourceType: extension === '.cts' ? 'commonjs' : 'module',
60
+ astType: 'ts',
61
+ ...options,
62
+ });
63
+ const [error] = result.errors;
64
+ if (error) {
65
+ const offset = error.labels[0]?.start;
66
+ throw new SyntaxError(offset === undefined ? error.message : `${error.message} (${lineColumn(contents, offset)})`);
67
+ }
68
+ return result;
69
+ }
70
+ //# sourceMappingURL=oxc-parser.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"oxc-parser.js","sourceRoot":"","sources":["../../src/services/oxc-parser.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAC3C,OAAO,IAAI,MAAM,WAAW,CAAA;AAW5B,IAAI,MAAiE,CAAA;AAErE;;;;;GAKG;AACH,MAAM,UAAU,aAAa;IAC3B,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACzB,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;YAC9C,MAAM,GAAG,EAAE,SAAS,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC,SAAS,EAAE,CAAA;QACzD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,GAAG,EAAE,KAAK,EAAE,YAAY,CAAC,KAAK,CAAC,EAAE,CAAA;QACzC,CAAC;IACH,CAAC;IACD,IAAI,OAAO,IAAI,MAAM,EAAE,CAAC;QACtB,MAAM,MAAM,CAAC,KAAK,CAAA;IACpB,CAAC;IACD,OAAO,MAAM,CAAC,SAAS,CAAA;AACzB,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,YAAY,CAAE,KAAc;IAC1C,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;IACtE,OAAO,IAAI,KAAK,CAAC,8DAA8D,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAA;AAC7G,CAAC;AAED,6EAA6E;AAC7E,MAAM,gBAAgB,GAAG,4BAA4B,CAAA;AAErD,SAAS,UAAU,CAAE,QAAgB,EAAE,MAAc;IACnD,MAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,CAAA;IACxC,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAA;IACtC,+BAA+B;IAC/B,MAAM,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IACpD,OAAO,GAAG,IAAI,IAAI,MAAM,EAAE,CAAA;AAC5B,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,YAAY,CAC1B,SAAoB,EACpB,QAAgB,EAChB,QAAgB,EAChB,UAAyB,EAAE;IAE3B,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAA;IACxC,MAAM,MAAM,GAAG,SAAS,CAAC,QAAQ,EAAE,QAAQ,EAAE;QAC3C,IAAI,EAAE,gBAAgB,CAAC,IAAI,CAAC,QAAQ,CAAC;YACnC,CAAC,CAAC,KAAK;YACP,CAAC,CAAC,SAAS,KAAK,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,KAAK,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI;QACtE,UAAU,EAAE,SAAS,KAAK,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,QAAQ;QACxD,OAAO,EAAE,IAAI;QACb,GAAG,OAAO;KACX,CAAC,CAAA;IACF,MAAM,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC,MAAM,CAAA;IAC7B,IAAI,KAAK,EAAE,CAAC;QACV,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,CAAA;QACrC,MAAM,IAAI,WAAW,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,OAAO,KAAK,UAAU,CAAC,QAAQ,EAAE,MAAM,CAAC,GAAG,CAAC,CAAA;IACpH,CAAC;IACD,OAAO,MAAM,CAAA;AACf,CAAC"}
@@ -0,0 +1,75 @@
1
+ /**
2
+ * Set to `1` to always run the invoked CLI, even when the project has its own
3
+ * `checkly` install.
4
+ */
5
+ export declare const NO_DELEGATION_ENV = "CHECKLY_NO_DELEGATION";
6
+ /** The root of the checkly package this module belongs to. */
7
+ export declare const ownRoot: string;
8
+ export interface Install {
9
+ root: string;
10
+ version: string;
11
+ }
12
+ export interface ProjectCli {
13
+ /** The install's directory as found, i.e. `<dir>/node_modules/checkly`. */
14
+ dir: string;
15
+ version: string;
16
+ binPath: string;
17
+ }
18
+ /**
19
+ * The short boolean flags of the commands that take `-c`. In a group of
20
+ * short flags (`-pc path`), oclif lets each boolean letter pass and reads
21
+ * the next letter, so a `c` after them is still `--config`. Installs from
22
+ * before a new boolean short flag was added do not know it, and search from
23
+ * the working directory when it is grouped with `c`.
24
+ */
25
+ export declare const booleanShortFlags: Set<string>;
26
+ /**
27
+ * The value of `--config` (or its short form `-c`) in raw command arguments,
28
+ * in any form oclif accepts: `--config v`, `--config=v`, `-c v`, `-c=v`,
29
+ * `-cv`, and `c` after boolean short flags in one group (`-pc v`, `-pcv`).
30
+ * Arguments after `--` are not flags.
31
+ *
32
+ * Every command that takes a config file calls the flag `config` with the
33
+ * short form `-c`, and other checkly installs read it here before handing a
34
+ * command over, so the flag has to keep that meaning in every release.
35
+ */
36
+ export declare function findConfigFlag(args: string[]): string | undefined;
37
+ /**
38
+ * The `checkly` install that a bare `checkly` import in `directory` resolves
39
+ * to: the nearest `node_modules/checkly`, searched upwards like Node does.
40
+ * NODE_PATH and global folders are deliberately not searched, because ES
41
+ * module resolution of the project's files never uses them. Throws when a
42
+ * candidate's package.json cannot be read, rather than skipping past the
43
+ * install the project's imports would resolve to.
44
+ */
45
+ export declare function findProjectCli(directory: string): Promise<ProjectCli | undefined>;
46
+ /** Whether `version` is a development or canary build rather than a release. */
47
+ export declare function isDevelopmentBuild(version: string): boolean;
48
+ /** Whether two paths are the same directory. Throws when either cannot be resolved. */
49
+ export declare function isSameDirectory(a: string, b: string): boolean;
50
+ /**
51
+ * The project's own CLI to run the command with instead of `self`, if any.
52
+ *
53
+ * Constructs in a project's config and check files register with the
54
+ * `Session` of the `checkly` install the project resolves, so only that
55
+ * install can load the project: when the running CLI is another install
56
+ * (global, `pnpx`, an `npx` of another version), its `Session` would never
57
+ * see them. Every command is handed off, which makes any install behave like
58
+ * `npx checkly` run in the project's directory.
59
+ */
60
+ export declare function findProjectCliHandOff(self: Install, directory?: string): Promise<ProjectCli | undefined>;
61
+ /**
62
+ * Node options for the project's CLI: this process's, minus inspector flags,
63
+ * which would make the child compete with this process for the debugger
64
+ * port. Use CHECKLY_NO_DELEGATION=1 to debug a hand-off case.
65
+ */
66
+ export declare function childNodeOptions(execArgv: string[], nodeOptions: string | undefined): {
67
+ execArgv: string[];
68
+ nodeOptions: string | undefined;
69
+ };
70
+ /**
71
+ * Runs `args` with the project's own CLI when {@link findProjectCliHandOff}
72
+ * finds one, and exits with its exit status. Resolves to `false` when this
73
+ * CLI should run the command itself.
74
+ */
75
+ export declare function runWithProjectCli(args: string[], self?: Install): Promise<boolean>;
@@ -0,0 +1,302 @@
1
+ import { spawn } from 'node:child_process';
2
+ import fsSync from 'node:fs';
3
+ import fs from 'node:fs/promises';
4
+ import path from 'node:path';
5
+ import { fileURLToPath } from 'node:url';
6
+ import Debug from 'debug';
7
+ import semver from 'semver';
8
+ import { lineage } from './check-parser/package-files/walk.js';
9
+ // The launcher runs this module before oclif loads, so it must stay light:
10
+ // nothing here may import the commands or the constructs.
11
+ const debug = Debug('checkly:cli:project-cli');
12
+ /**
13
+ * Set to `1` to always run the invoked CLI, even when the project has its own
14
+ * `checkly` install.
15
+ */
16
+ export const NO_DELEGATION_ENV = 'CHECKLY_NO_DELEGATION';
17
+ /**
18
+ * The install a hand-off started, set in its environment. That install never
19
+ * hands off to itself again, while a checkly it starts for another project
20
+ * still can.
21
+ */
22
+ const HANDED_OFF_TO_ENV = 'CHECKLY_HANDED_OFF_TO';
23
+ /** The root of the checkly package this module belongs to. */
24
+ export const ownRoot = fileURLToPath(new URL('../..', import.meta.url));
25
+ /**
26
+ * The short boolean flags of the commands that take `-c`. In a group of
27
+ * short flags (`-pc path`), oclif lets each boolean letter pass and reads
28
+ * the next letter, so a `c` after them is still `--config`. Installs from
29
+ * before a new boolean short flag was added do not know it, and search from
30
+ * the working directory when it is grouped with `c`.
31
+ */
32
+ export const booleanShortFlags = new Set(['d', 'f', 'o', 'p', 'u', 'v']);
33
+ /**
34
+ * The value of `--config` (or its short form `-c`) in raw command arguments,
35
+ * in any form oclif accepts: `--config v`, `--config=v`, `-c v`, `-c=v`,
36
+ * `-cv`, and `c` after boolean short flags in one group (`-pc v`, `-pcv`).
37
+ * Arguments after `--` are not flags.
38
+ *
39
+ * Every command that takes a config file calls the flag `config` with the
40
+ * short form `-c`, and other checkly installs read it here before handing a
41
+ * command over, so the flag has to keep that meaning in every release.
42
+ */
43
+ export function findConfigFlag(args) {
44
+ for (let i = 0; i < args.length; i++) {
45
+ const arg = args[i];
46
+ if (arg === '--') {
47
+ return undefined;
48
+ }
49
+ if (arg === '--config') {
50
+ return args[i + 1] || undefined;
51
+ }
52
+ if (arg.startsWith('--config=')) {
53
+ return arg.slice('--config='.length) || undefined;
54
+ }
55
+ if (arg.startsWith('-') && !arg.startsWith('--')) {
56
+ let j = 1;
57
+ while (booleanShortFlags.has(arg[j])) {
58
+ j++;
59
+ }
60
+ if (arg[j] === 'c') {
61
+ if (arg[j + 1] === '=') {
62
+ return arg.slice(j + 2) || undefined;
63
+ }
64
+ return (arg.slice(j + 1) || args[i + 1]) || undefined;
65
+ }
66
+ }
67
+ }
68
+ return undefined;
69
+ }
70
+ async function exists(filePath) {
71
+ try {
72
+ await fs.access(filePath);
73
+ return true;
74
+ }
75
+ catch {
76
+ return false;
77
+ }
78
+ }
79
+ /** Resolves to `undefined` when the file does not exist; throws on any other error. */
80
+ async function readJsonIfExists(filePath) {
81
+ let content;
82
+ try {
83
+ content = await fs.readFile(filePath, 'utf8');
84
+ }
85
+ catch (err) {
86
+ if (err.code === 'ENOENT' || err.code === 'ENOTDIR') {
87
+ return undefined;
88
+ }
89
+ throw err;
90
+ }
91
+ return JSON.parse(content);
92
+ }
93
+ /**
94
+ * The `checkly` install that a bare `checkly` import in `directory` resolves
95
+ * to: the nearest `node_modules/checkly`, searched upwards like Node does.
96
+ * NODE_PATH and global folders are deliberately not searched, because ES
97
+ * module resolution of the project's files never uses them. Throws when a
98
+ * candidate's package.json cannot be read, rather than skipping past the
99
+ * install the project's imports would resolve to.
100
+ */
101
+ export async function findProjectCli(directory) {
102
+ for (const current of lineage(directory)) {
103
+ if (path.basename(current) === 'node_modules') {
104
+ continue;
105
+ }
106
+ const dir = path.join(current, 'node_modules', 'checkly');
107
+ const packageJson = await readJsonIfExists(path.join(dir, 'package.json'));
108
+ if (!packageJson) {
109
+ continue;
110
+ }
111
+ if (packageJson.name !== 'checkly') {
112
+ debug('%s is not the checkly package', dir);
113
+ return undefined;
114
+ }
115
+ const bin = typeof packageJson.bin === 'string' ? packageJson.bin : packageJson.bin?.checkly;
116
+ if (typeof bin !== 'string') {
117
+ debug('%s has no checkly bin', dir);
118
+ return undefined;
119
+ }
120
+ const binPath = path.join(dir, bin);
121
+ if (!await exists(binPath)) {
122
+ debug('the checkly bin of %s is missing at %s', dir, binPath);
123
+ return undefined;
124
+ }
125
+ return { dir, version: String(packageJson.version), binPath };
126
+ }
127
+ return undefined;
128
+ }
129
+ /** Whether `version` is a development or canary build rather than a release. */
130
+ export function isDevelopmentBuild(version) {
131
+ return version === '0.0.1-dev' || version.startsWith('0.0.0');
132
+ }
133
+ /** Whether two paths are the same directory. Throws when either cannot be resolved. */
134
+ export function isSameDirectory(a, b) {
135
+ const [realA, realB] = [fsSync.realpathSync(a), fsSync.realpathSync(b)];
136
+ // Windows paths compare case-insensitively; realpath can return either
137
+ // casing of a drive letter or folder name.
138
+ return process.platform === 'win32'
139
+ ? realA.toLowerCase() === realB.toLowerCase()
140
+ : realA === realB;
141
+ }
142
+ /**
143
+ * The project's own CLI to run the command with instead of `self`, if any.
144
+ *
145
+ * Constructs in a project's config and check files register with the
146
+ * `Session` of the `checkly` install the project resolves, so only that
147
+ * install can load the project: when the running CLI is another install
148
+ * (global, `pnpx`, an `npx` of another version), its `Session` would never
149
+ * see them. Every command is handed off, which makes any install behave like
150
+ * `npx checkly` run in the project's directory.
151
+ */
152
+ export async function findProjectCliHandOff(self, directory = process.cwd()) {
153
+ if (process.env[NO_DELEGATION_ENV] === '1') {
154
+ debug('hand-off disabled via %s=1', NO_DELEGATION_ENV);
155
+ return undefined;
156
+ }
157
+ if (process.versions.deno) {
158
+ // A child started from process.execPath would run without the
159
+ // permission flags given to the outer `deno run`.
160
+ debug('hand-off not supported on Deno');
161
+ return undefined;
162
+ }
163
+ const projectCli = await findProjectCli(directory);
164
+ if (!projectCli) {
165
+ debug('no checkly install found from %s', directory);
166
+ return undefined;
167
+ }
168
+ if (isSameDirectory(projectCli.dir, self.root)) {
169
+ debug('running from the project\'s install at %s', projectCli.dir);
170
+ return undefined;
171
+ }
172
+ const handedOffTo = process.env[HANDED_OFF_TO_ENV];
173
+ if (handedOffTo && isSameDirectoryOrFalse(projectCli.dir, handedOffTo)) {
174
+ debug('already handed off to %s', projectCli.dir);
175
+ return undefined;
176
+ }
177
+ return projectCli;
178
+ }
179
+ function isSameDirectoryOrFalse(a, b) {
180
+ try {
181
+ return isSameDirectory(a, b);
182
+ }
183
+ catch {
184
+ return false;
185
+ }
186
+ }
187
+ const forwardedSignals = ['SIGINT', 'SIGTERM', 'SIGHUP'];
188
+ function startFailed(self, err) {
189
+ process.stderr.write(`Could not start the checkly install of this project (${err.message}); running checkly ${self.version}.\n`);
190
+ return false;
191
+ }
192
+ const isInspectorFlag = (arg) => /^--(inspect|debug)/.test(arg);
193
+ /**
194
+ * Node options for the project's CLI: this process's, minus inspector flags,
195
+ * which would make the child compete with this process for the debugger
196
+ * port. Use CHECKLY_NO_DELEGATION=1 to debug a hand-off case.
197
+ */
198
+ export function childNodeOptions(execArgv, nodeOptions) {
199
+ return {
200
+ execArgv: execArgv.filter(arg => !isInspectorFlag(arg)),
201
+ nodeOptions: nodeOptions?.split(/\s+/).filter(arg => arg && !isInspectorFlag(arg)).join(' '),
202
+ };
203
+ }
204
+ function versionNotice(projectCli, self) {
205
+ if (projectCli.version === self.version) {
206
+ return undefined;
207
+ }
208
+ const displayDir = path.relative(process.cwd(), projectCli.dir) || projectCli.dir;
209
+ const notice = `Using checkly ${projectCli.version} from this project (${displayDir}) `
210
+ + `instead of checkly ${self.version}.`;
211
+ // Only worth acting on when the invoked version is the newer one.
212
+ return semver.valid(self.version) && semver.valid(projectCli.version)
213
+ && semver.gt(self.version, projectCli.version)
214
+ ? `${notice} To use ${self.version}, install it in this project.`
215
+ : notice;
216
+ }
217
+ async function readOwnInstall() {
218
+ const packageJson = await readJsonIfExists(path.join(ownRoot, 'package.json'));
219
+ return { root: ownRoot, version: String(packageJson?.version) };
220
+ }
221
+ /**
222
+ * Runs `args` with the project's own CLI when {@link findProjectCliHandOff}
223
+ * finds one, and exits with its exit status. Resolves to `false` when this
224
+ * CLI should run the command itself.
225
+ */
226
+ export async function runWithProjectCli(args, self) {
227
+ let projectCli;
228
+ try {
229
+ self ??= await readOwnInstall();
230
+ // The project is where the commands load it from: the config file's
231
+ // directory, or the working directory (splitConfigFilePath in util.ts).
232
+ const configFile = findConfigFlag(args);
233
+ projectCli = await findProjectCliHandOff(self, configFile ? path.dirname(path.resolve(configFile)) : undefined);
234
+ }
235
+ catch (err) {
236
+ // Nothing has been handed off yet, so the command can still run here.
237
+ debug('looking for the project\'s checkly install failed: %O', err);
238
+ process.stderr.write(`Could not read the checkly install of this project (${err.message}); `
239
+ + `running checkly${self ? ` ${self.version}` : ''}.\n`);
240
+ return false;
241
+ }
242
+ if (!projectCli) {
243
+ return false;
244
+ }
245
+ debug('handing off to checkly %s at %s', projectCli.version, projectCli.dir);
246
+ const notice = versionNotice(projectCli, self);
247
+ if (notice) {
248
+ process.stderr.write(`${notice}\n`);
249
+ }
250
+ let child;
251
+ try {
252
+ // With the environment including .env values: installs before 8.0.0
253
+ // do not load .env themselves, and later ones never override a set key.
254
+ const { execArgv, nodeOptions } = childNodeOptions(process.execArgv, process.env.NODE_OPTIONS);
255
+ const env = { ...process.env, [HANDED_OFF_TO_ENV]: projectCli.dir };
256
+ if (nodeOptions === undefined) {
257
+ delete env.NODE_OPTIONS;
258
+ }
259
+ else {
260
+ env.NODE_OPTIONS = nodeOptions;
261
+ }
262
+ child = spawn(process.execPath, [...execArgv, projectCli.binPath, ...args], { stdio: 'inherit', env });
263
+ }
264
+ catch (err) {
265
+ return startFailed(self, err);
266
+ }
267
+ // Keep this process alive until the child exits. A Ctrl+C in a terminal
268
+ // reaches both processes; the forwarded copy is a duplicate the CLI's
269
+ // SIGINT handling ignores. Signals sent to this process alone (a CI runner
270
+ // stopping a job) only reach the child through the forwarding. On Windows
271
+ // console events already reach the child, and kill() would terminate it
272
+ // outright, so nothing is forwarded there.
273
+ const forward = (signal) => {
274
+ if (process.platform !== 'win32' && child.pid !== undefined) {
275
+ child.kill(signal);
276
+ }
277
+ };
278
+ for (const signal of forwardedSignals) {
279
+ process.on(signal, forward);
280
+ }
281
+ const stopForwarding = () => {
282
+ for (const signal of forwardedSignals) {
283
+ process.off(signal, forward);
284
+ }
285
+ };
286
+ const result = await new Promise(resolve => {
287
+ child.once('error', resolve);
288
+ child.once('exit', (code, signal) => resolve({ code, signal }));
289
+ });
290
+ stopForwarding();
291
+ if (result instanceof Error) {
292
+ // The child never started (spawn errors precede any output of its own).
293
+ return startFailed(self, result);
294
+ }
295
+ if (result.signal) {
296
+ // Exit the way the child did, so callers see the same signal.
297
+ process.kill(process.pid, result.signal);
298
+ return true;
299
+ }
300
+ process.exit(result.code ?? 1);
301
+ }
302
+ //# sourceMappingURL=project-cli.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"project-cli.js","sourceRoot":"","sources":["../../src/services/project-cli.ts"],"names":[],"mappings":"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"}
@@ -26,6 +26,11 @@ type ProjectParseOpts = {
26
26
  loadPlaywrightChecksOnly?: boolean;
27
27
  warnOnWebServerConfig?: boolean;
28
28
  enableWorkspaces?: boolean;
29
+ /**
30
+ * Warn about checks that have no location to run on. Only meaningful for
31
+ * commands that deploy the project, or validate it for deployment.
32
+ */
33
+ warnOnMissingCheckLocations?: boolean;
29
34
  };
30
35
  export declare function parseProject(opts: ProjectParseOpts): Promise<Project>;
31
36
  export {};