checkly 0.0.0-canary.7166ed8

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 (1096) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +117 -0
  3. package/assets/runtimes/snapshots/20260130/runtimes.json +349 -0
  4. package/bin/run +8 -0
  5. package/bin/run.cmd +3 -0
  6. package/constructs.d.ts +1 -0
  7. package/constructs.js +2 -0
  8. package/dist/ai-context/checkly.rules.md +916 -0
  9. package/dist/ai-context/context.d.ts +150 -0
  10. package/dist/ai-context/context.js +263 -0
  11. package/dist/ai-context/context.js.map +1 -0
  12. package/dist/ai-context/onboarding-boilerplate/__checks__/api.check.ts +22 -0
  13. package/dist/ai-context/onboarding-boilerplate/__checks__/heartbeat.check.ts +16 -0
  14. package/dist/ai-context/onboarding-boilerplate/__checks__/homepage.spec.ts +12 -0
  15. package/dist/ai-context/onboarding-boilerplate/__checks__/url.check.ts +18 -0
  16. package/dist/ai-context/onboarding-boilerplate/checkly-config-template.ts +50 -0
  17. package/dist/ai-context/onboarding-prompts/base.md +1 -0
  18. package/dist/ai-context/onboarding-prompts/playwright.md +1 -0
  19. package/dist/ai-context/public-skills/checkly/README.md +43 -0
  20. package/dist/ai-context/public-skills/checkly/SKILL.md +112 -0
  21. package/dist/ai-context/skills-command/references/communicate-incidents.md +79 -0
  22. package/dist/ai-context/skills-command/references/communicate.md +33 -0
  23. package/dist/ai-context/skills-command/references/configure-agentic-checks.md +65 -0
  24. package/dist/ai-context/skills-command/references/configure-alert-channels.md +54 -0
  25. package/dist/ai-context/skills-command/references/configure-api-checks.md +73 -0
  26. package/dist/ai-context/skills-command/references/configure-browser-checks.md +36 -0
  27. package/dist/ai-context/skills-command/references/configure-check-groups.md +16 -0
  28. package/dist/ai-context/skills-command/references/configure-dns-monitors.md +39 -0
  29. package/dist/ai-context/skills-command/references/configure-environment.md +92 -0
  30. package/dist/ai-context/skills-command/references/configure-heartbeat-monitors.md +28 -0
  31. package/dist/ai-context/skills-command/references/configure-icmp-monitors.md +42 -0
  32. package/dist/ai-context/skills-command/references/configure-multistep-checks.md +34 -0
  33. package/dist/ai-context/skills-command/references/configure-playwright-checks.md +70 -0
  34. package/dist/ai-context/skills-command/references/configure-supporting-constructs.md +120 -0
  35. package/dist/ai-context/skills-command/references/configure-tcp-monitors.md +41 -0
  36. package/dist/ai-context/skills-command/references/configure-url-monitors.md +40 -0
  37. package/dist/ai-context/skills-command/references/configure.md +152 -0
  38. package/dist/ai-context/skills-command/references/initialize.md +134 -0
  39. package/dist/ai-context/skills-command/references/investigate-checks.md +156 -0
  40. package/dist/ai-context/skills-command/references/investigate-test-sessions.md +165 -0
  41. package/dist/ai-context/skills-command/references/investigate.md +15 -0
  42. package/dist/ai-context/skills-command/references/manage-account-members.md +82 -0
  43. package/dist/ai-context/skills-command/references/manage-plan.md +49 -0
  44. package/dist/ai-context/skills-command/references/manage.md +53 -0
  45. package/dist/auth/index.d.ts +15 -0
  46. package/dist/auth/index.js +226 -0
  47. package/dist/auth/index.js.map +1 -0
  48. package/dist/commands/account/plan.d.ts +18 -0
  49. package/dist/commands/account/plan.js +113 -0
  50. package/dist/commands/account/plan.js.map +1 -0
  51. package/dist/commands/alert-channels/get.d.ts +14 -0
  52. package/dist/commands/alert-channels/get.js +50 -0
  53. package/dist/commands/alert-channels/get.js.map +1 -0
  54. package/dist/commands/alert-channels/list.d.ts +13 -0
  55. package/dist/commands/alert-channels/list.js +64 -0
  56. package/dist/commands/alert-channels/list.js.map +1 -0
  57. package/dist/commands/alert-channels/logs.d.ts +19 -0
  58. package/dist/commands/alert-channels/logs.js +91 -0
  59. package/dist/commands/alert-channels/logs.js.map +1 -0
  60. package/dist/commands/api.d.ts +23 -0
  61. package/dist/commands/api.js +205 -0
  62. package/dist/commands/api.js.map +1 -0
  63. package/dist/commands/assets/download.d.ts +19 -0
  64. package/dist/commands/assets/download.js +170 -0
  65. package/dist/commands/assets/download.js.map +1 -0
  66. package/dist/commands/assets/list.d.ts +17 -0
  67. package/dist/commands/assets/list.js +107 -0
  68. package/dist/commands/assets/list.js.map +1 -0
  69. package/dist/commands/authCommand.d.ts +14 -0
  70. package/dist/commands/authCommand.js +49 -0
  71. package/dist/commands/authCommand.js.map +1 -0
  72. package/dist/commands/baseCommand.d.ts +23 -0
  73. package/dist/commands/baseCommand.js +93 -0
  74. package/dist/commands/baseCommand.js.map +1 -0
  75. package/dist/commands/checks/delete.d.ts +15 -0
  76. package/dist/commands/checks/delete.js +65 -0
  77. package/dist/commands/checks/delete.js.map +1 -0
  78. package/dist/commands/checks/get.d.ts +30 -0
  79. package/dist/commands/checks/get.js +361 -0
  80. package/dist/commands/checks/get.js.map +1 -0
  81. package/dist/commands/checks/list.d.ts +18 -0
  82. package/dist/commands/checks/list.js +124 -0
  83. package/dist/commands/checks/list.js.map +1 -0
  84. package/dist/commands/checks/stats.d.ts +22 -0
  85. package/dist/commands/checks/stats.js +181 -0
  86. package/dist/commands/checks/stats.js.map +1 -0
  87. package/dist/commands/debug/parse-file.d.ts +13 -0
  88. package/dist/commands/debug/parse-file.js +74 -0
  89. package/dist/commands/debug/parse-file.js.map +1 -0
  90. package/dist/commands/debug/parse-playwright-config.d.ts +9 -0
  91. package/dist/commands/debug/parse-playwright-config.js +27 -0
  92. package/dist/commands/debug/parse-playwright-config.js.map +1 -0
  93. package/dist/commands/debug/parse-project.d.ts +43 -0
  94. package/dist/commands/debug/parse-project.js +187 -0
  95. package/dist/commands/debug/parse-project.js.map +1 -0
  96. package/dist/commands/deploy.d.ts +20 -0
  97. package/dist/commands/deploy.js +341 -0
  98. package/dist/commands/deploy.js.map +1 -0
  99. package/dist/commands/destroy.d.ts +12 -0
  100. package/dist/commands/destroy.js +76 -0
  101. package/dist/commands/destroy.js.map +1 -0
  102. package/dist/commands/env/add.d.ts +14 -0
  103. package/dist/commands/env/add.js +54 -0
  104. package/dist/commands/env/add.js.map +1 -0
  105. package/dist/commands/env/ls.d.ts +8 -0
  106. package/dist/commands/env/ls.js +20 -0
  107. package/dist/commands/env/ls.js.map +1 -0
  108. package/dist/commands/env/pull.d.ts +14 -0
  109. package/dist/commands/env/pull.js +72 -0
  110. package/dist/commands/env/pull.js.map +1 -0
  111. package/dist/commands/env/rm.d.ts +13 -0
  112. package/dist/commands/env/rm.js +46 -0
  113. package/dist/commands/env/rm.js.map +1 -0
  114. package/dist/commands/env/update.d.ts +15 -0
  115. package/dist/commands/env/update.js +55 -0
  116. package/dist/commands/env/update.js.map +1 -0
  117. package/dist/commands/help.d.ts +6 -0
  118. package/dist/commands/help.js +11 -0
  119. package/dist/commands/help.js.map +1 -0
  120. package/dist/commands/import/apply.d.ts +14 -0
  121. package/dist/commands/import/apply.js +125 -0
  122. package/dist/commands/import/apply.js.map +1 -0
  123. package/dist/commands/import/cancel.d.ts +12 -0
  124. package/dist/commands/import/cancel.js +91 -0
  125. package/dist/commands/import/cancel.js.map +1 -0
  126. package/dist/commands/import/commit.d.ts +14 -0
  127. package/dist/commands/import/commit.js +109 -0
  128. package/dist/commands/import/commit.js.map +1 -0
  129. package/dist/commands/import/plan.d.ts +23 -0
  130. package/dist/commands/import/plan.js +1273 -0
  131. package/dist/commands/import/plan.js.map +1 -0
  132. package/dist/commands/incidents/create.d.ts +17 -0
  133. package/dist/commands/incidents/create.js +102 -0
  134. package/dist/commands/incidents/create.js.map +1 -0
  135. package/dist/commands/incidents/list.d.ts +14 -0
  136. package/dist/commands/incidents/list.js +80 -0
  137. package/dist/commands/incidents/list.js.map +1 -0
  138. package/dist/commands/incidents/resolve.d.ts +16 -0
  139. package/dist/commands/incidents/resolve.js +78 -0
  140. package/dist/commands/incidents/resolve.js.map +1 -0
  141. package/dist/commands/incidents/update.d.ts +18 -0
  142. package/dist/commands/incidents/update.js +105 -0
  143. package/dist/commands/incidents/update.js.map +1 -0
  144. package/dist/commands/init.d.ts +23 -0
  145. package/dist/commands/init.js +273 -0
  146. package/dist/commands/init.js.map +1 -0
  147. package/dist/commands/login.d.ts +14 -0
  148. package/dist/commands/login.js +96 -0
  149. package/dist/commands/login.js.map +1 -0
  150. package/dist/commands/logout.d.ts +10 -0
  151. package/dist/commands/logout.js +38 -0
  152. package/dist/commands/logout.js.map +1 -0
  153. package/dist/commands/members/delete.d.ts +18 -0
  154. package/dist/commands/members/delete.js +73 -0
  155. package/dist/commands/members/delete.js.map +1 -0
  156. package/dist/commands/members/update.d.ts +21 -0
  157. package/dist/commands/members/update.js +104 -0
  158. package/dist/commands/members/update.js.map +1 -0
  159. package/dist/commands/members.d.ts +23 -0
  160. package/dist/commands/members.js +136 -0
  161. package/dist/commands/members.js.map +1 -0
  162. package/dist/commands/pw-test.d.ts +34 -0
  163. package/dist/commands/pw-test.js +378 -0
  164. package/dist/commands/pw-test.js.map +1 -0
  165. package/dist/commands/rca/get.d.ts +15 -0
  166. package/dist/commands/rca/get.js +69 -0
  167. package/dist/commands/rca/get.js.map +1 -0
  168. package/dist/commands/rca/run.d.ts +16 -0
  169. package/dist/commands/rca/run.js +113 -0
  170. package/dist/commands/rca/run.js.map +1 -0
  171. package/dist/commands/rules.d.ts +10 -0
  172. package/dist/commands/rules.js +127 -0
  173. package/dist/commands/rules.js.map +1 -0
  174. package/dist/commands/runtimes.d.ts +8 -0
  175. package/dist/commands/runtimes.js +25 -0
  176. package/dist/commands/runtimes.js.map +1 -0
  177. package/dist/commands/skills/index.d.ts +12 -0
  178. package/dist/commands/skills/index.js +108 -0
  179. package/dist/commands/skills/index.js.map +1 -0
  180. package/dist/commands/skills/install.d.ts +23 -0
  181. package/dist/commands/skills/install.js +203 -0
  182. package/dist/commands/skills/install.js.map +1 -0
  183. package/dist/commands/status-pages/get.d.ts +14 -0
  184. package/dist/commands/status-pages/get.js +48 -0
  185. package/dist/commands/status-pages/get.js.map +1 -0
  186. package/dist/commands/status-pages/list.d.ts +14 -0
  187. package/dist/commands/status-pages/list.js +82 -0
  188. package/dist/commands/status-pages/list.js.map +1 -0
  189. package/dist/commands/switch.d.ts +10 -0
  190. package/dist/commands/switch.js +53 -0
  191. package/dist/commands/switch.js.map +1 -0
  192. package/dist/commands/sync-playwright.d.ts +8 -0
  193. package/dist/commands/sync-playwright.js +53 -0
  194. package/dist/commands/sync-playwright.js.map +1 -0
  195. package/dist/commands/test-sessions/get.d.ts +21 -0
  196. package/dist/commands/test-sessions/get.js +121 -0
  197. package/dist/commands/test-sessions/get.js.map +1 -0
  198. package/dist/commands/test-sessions/list.d.ts +22 -0
  199. package/dist/commands/test-sessions/list.js +190 -0
  200. package/dist/commands/test-sessions/list.js.map +1 -0
  201. package/dist/commands/test.d.ts +37 -0
  202. package/dist/commands/test.js +390 -0
  203. package/dist/commands/test.js.map +1 -0
  204. package/dist/commands/trigger.d.ts +40 -0
  205. package/dist/commands/trigger.js +241 -0
  206. package/dist/commands/trigger.js.map +1 -0
  207. package/dist/commands/validate.d.ts +13 -0
  208. package/dist/commands/validate.js +81 -0
  209. package/dist/commands/validate.js.map +1 -0
  210. package/dist/commands/whoami.d.ts +8 -0
  211. package/dist/commands/whoami.js +22 -0
  212. package/dist/commands/whoami.js.map +1 -0
  213. package/dist/config.d.ts +31 -0
  214. package/dist/config.js +4 -0
  215. package/dist/config.js.map +1 -0
  216. package/dist/constants.d.ts +16 -0
  217. package/dist/constants.js +25 -0
  218. package/dist/constants.js.map +1 -0
  219. package/dist/constructs/agentic-check-codegen.d.ts +22 -0
  220. package/dist/constructs/agentic-check-codegen.js +58 -0
  221. package/dist/constructs/agentic-check-codegen.js.map +1 -0
  222. package/dist/constructs/agentic-check.d.ts +130 -0
  223. package/dist/constructs/agentic-check.js +100 -0
  224. package/dist/constructs/agentic-check.js.map +1 -0
  225. package/dist/constructs/alert-channel-codegen.d.ts +37 -0
  226. package/dist/constructs/alert-channel-codegen.js +96 -0
  227. package/dist/constructs/alert-channel-codegen.js.map +1 -0
  228. package/dist/constructs/alert-channel-subscription-codegen.d.ts +11 -0
  229. package/dist/constructs/alert-channel-subscription-codegen.js +20 -0
  230. package/dist/constructs/alert-channel-subscription-codegen.js.map +1 -0
  231. package/dist/constructs/alert-channel-subscription.d.ts +46 -0
  232. package/dist/constructs/alert-channel-subscription.js +45 -0
  233. package/dist/constructs/alert-channel-subscription.js.map +1 -0
  234. package/dist/constructs/alert-channel.d.ts +130 -0
  235. package/dist/constructs/alert-channel.js +103 -0
  236. package/dist/constructs/alert-channel.js.map +1 -0
  237. package/dist/constructs/alert-escalation-policy-codegen.d.ts +4 -0
  238. package/dist/constructs/alert-escalation-policy-codegen.js +55 -0
  239. package/dist/constructs/alert-escalation-policy-codegen.js.map +1 -0
  240. package/dist/constructs/alert-escalation-policy.d.ts +114 -0
  241. package/dist/constructs/alert-escalation-policy.js +62 -0
  242. package/dist/constructs/alert-escalation-policy.js.map +1 -0
  243. package/dist/constructs/api-assertion-codegen.d.ts +3 -0
  244. package/dist/constructs/api-assertion-codegen.js +19 -0
  245. package/dist/constructs/api-assertion-codegen.js.map +1 -0
  246. package/dist/constructs/api-assertion.d.ts +74 -0
  247. package/dist/constructs/api-assertion.js +81 -0
  248. package/dist/constructs/api-assertion.js.map +1 -0
  249. package/dist/constructs/api-check-bundle.d.ts +58 -0
  250. package/dist/constructs/api-check-bundle.js +30 -0
  251. package/dist/constructs/api-check-bundle.js.map +1 -0
  252. package/dist/constructs/api-check-codegen.d.ts +19 -0
  253. package/dist/constructs/api-check-codegen.js +83 -0
  254. package/dist/constructs/api-check-codegen.js.map +1 -0
  255. package/dist/constructs/api-check.d.ts +193 -0
  256. package/dist/constructs/api-check.js +219 -0
  257. package/dist/constructs/api-check.js.map +1 -0
  258. package/dist/constructs/api-request-codegen.d.ts +4 -0
  259. package/dist/constructs/api-request-codegen.js +64 -0
  260. package/dist/constructs/api-request-codegen.js.map +1 -0
  261. package/dist/constructs/api-request.d.ts +67 -0
  262. package/dist/constructs/api-request.js +2 -0
  263. package/dist/constructs/api-request.js.map +1 -0
  264. package/dist/constructs/browser-check-bundle.d.ts +59 -0
  265. package/dist/constructs/browser-check-bundle.js +27 -0
  266. package/dist/constructs/browser-check-bundle.js.map +1 -0
  267. package/dist/constructs/browser-check-codegen.d.ts +14 -0
  268. package/dist/constructs/browser-check-codegen.js +44 -0
  269. package/dist/constructs/browser-check-codegen.js.map +1 -0
  270. package/dist/constructs/browser-check.d.ts +129 -0
  271. package/dist/constructs/browser-check.js +169 -0
  272. package/dist/constructs/browser-check.js.map +1 -0
  273. package/dist/constructs/check-codegen.d.ts +74 -0
  274. package/dist/constructs/check-codegen.js +251 -0
  275. package/dist/constructs/check-codegen.js.map +1 -0
  276. package/dist/constructs/check-config.d.ts +2 -0
  277. package/dist/constructs/check-config.js +17 -0
  278. package/dist/constructs/check-config.js.map +1 -0
  279. package/dist/constructs/check-group-codegen.d.ts +46 -0
  280. package/dist/constructs/check-group-codegen.js +268 -0
  281. package/dist/constructs/check-group-codegen.js.map +1 -0
  282. package/dist/constructs/check-group-ref.d.ts +20 -0
  283. package/dist/constructs/check-group-ref.js +46 -0
  284. package/dist/constructs/check-group-ref.js.map +1 -0
  285. package/dist/constructs/check-group-v1.d.ts +304 -0
  286. package/dist/constructs/check-group-v1.js +254 -0
  287. package/dist/constructs/check-group-v1.js.map +1 -0
  288. package/dist/constructs/check-group-v2.d.ts +120 -0
  289. package/dist/constructs/check-group-v2.js +68 -0
  290. package/dist/constructs/check-group-v2.js.map +1 -0
  291. package/dist/constructs/check-group.d.ts +4 -0
  292. package/dist/constructs/check-group.js +5 -0
  293. package/dist/constructs/check-group.js.map +1 -0
  294. package/dist/constructs/check.d.ts +336 -0
  295. package/dist/constructs/check.js +234 -0
  296. package/dist/constructs/check.js.map +1 -0
  297. package/dist/constructs/construct-codegen.d.ts +39 -0
  298. package/dist/constructs/construct-codegen.js +95 -0
  299. package/dist/constructs/construct-codegen.js.map +1 -0
  300. package/dist/constructs/construct-diagnostics.d.ts +53 -0
  301. package/dist/constructs/construct-diagnostics.js +156 -0
  302. package/dist/constructs/construct-diagnostics.js.map +1 -0
  303. package/dist/constructs/construct.d.ts +142 -0
  304. package/dist/constructs/construct.js +120 -0
  305. package/dist/constructs/construct.js.map +1 -0
  306. package/dist/constructs/dashboard-bundle.d.ts +11 -0
  307. package/dist/constructs/dashboard-bundle.js +15 -0
  308. package/dist/constructs/dashboard-bundle.js.map +1 -0
  309. package/dist/constructs/dashboard-codegen.d.ts +29 -0
  310. package/dist/constructs/dashboard-codegen.js +104 -0
  311. package/dist/constructs/dashboard-codegen.js.map +1 -0
  312. package/dist/constructs/dashboard.d.ts +226 -0
  313. package/dist/constructs/dashboard.js +140 -0
  314. package/dist/constructs/dashboard.js.map +1 -0
  315. package/dist/constructs/diagnostics.d.ts +59 -0
  316. package/dist/constructs/diagnostics.js +71 -0
  317. package/dist/constructs/diagnostics.js.map +1 -0
  318. package/dist/constructs/dns-assertion-codegen.d.ts +3 -0
  319. package/dist/constructs/dns-assertion-codegen.js +26 -0
  320. package/dist/constructs/dns-assertion-codegen.js.map +1 -0
  321. package/dist/constructs/dns-assertion.d.ts +45 -0
  322. package/dist/constructs/dns-assertion.js +51 -0
  323. package/dist/constructs/dns-assertion.js.map +1 -0
  324. package/dist/constructs/dns-monitor-codegen.d.ts +13 -0
  325. package/dist/constructs/dns-monitor-codegen.js +34 -0
  326. package/dist/constructs/dns-monitor-codegen.js.map +1 -0
  327. package/dist/constructs/dns-monitor.d.ts +87 -0
  328. package/dist/constructs/dns-monitor.js +55 -0
  329. package/dist/constructs/dns-monitor.js.map +1 -0
  330. package/dist/constructs/dns-request-codegen.d.ts +4 -0
  331. package/dist/constructs/dns-request-codegen.js +28 -0
  332. package/dist/constructs/dns-request-codegen.js.map +1 -0
  333. package/dist/constructs/dns-request.d.ts +53 -0
  334. package/dist/constructs/dns-request.js +2 -0
  335. package/dist/constructs/dns-request.js.map +1 -0
  336. package/dist/constructs/email-alert-channel-codegen.d.ts +13 -0
  337. package/dist/constructs/email-alert-channel-codegen.js +34 -0
  338. package/dist/constructs/email-alert-channel-codegen.js.map +1 -0
  339. package/dist/constructs/email-alert-channel.d.ts +27 -0
  340. package/dist/constructs/email-alert-channel.js +37 -0
  341. package/dist/constructs/email-alert-channel.js.map +1 -0
  342. package/dist/constructs/engine.d.ts +40 -0
  343. package/dist/constructs/engine.js +23 -0
  344. package/dist/constructs/engine.js.map +1 -0
  345. package/dist/constructs/environment-variable.d.ts +21 -0
  346. package/dist/constructs/environment-variable.js +2 -0
  347. package/dist/constructs/environment-variable.js.map +1 -0
  348. package/dist/constructs/frequency-codegen.d.ts +8 -0
  349. package/dist/constructs/frequency-codegen.js +51 -0
  350. package/dist/constructs/frequency-codegen.js.map +1 -0
  351. package/dist/constructs/frequency.d.ts +62 -0
  352. package/dist/constructs/frequency.js +66 -0
  353. package/dist/constructs/frequency.js.map +1 -0
  354. package/dist/constructs/heartbeat-monitor-codegen.d.ts +11 -0
  355. package/dist/constructs/heartbeat-monitor-codegen.js +29 -0
  356. package/dist/constructs/heartbeat-monitor-codegen.js.map +1 -0
  357. package/dist/constructs/heartbeat-monitor.d.ts +40 -0
  358. package/dist/constructs/heartbeat-monitor.js +56 -0
  359. package/dist/constructs/heartbeat-monitor.js.map +1 -0
  360. package/dist/constructs/http-header.d.ts +18 -0
  361. package/dist/constructs/http-header.js +2 -0
  362. package/dist/constructs/http-header.js.map +1 -0
  363. package/dist/constructs/http-request.d.ts +2 -0
  364. package/dist/constructs/http-request.js +2 -0
  365. package/dist/constructs/http-request.js.map +1 -0
  366. package/dist/constructs/icmp-assertion-codegen.d.ts +3 -0
  367. package/dist/constructs/icmp-assertion-codegen.js +18 -0
  368. package/dist/constructs/icmp-assertion-codegen.js.map +1 -0
  369. package/dist/constructs/icmp-assertion.d.ts +56 -0
  370. package/dist/constructs/icmp-assertion.js +57 -0
  371. package/dist/constructs/icmp-assertion.js.map +1 -0
  372. package/dist/constructs/icmp-monitor-codegen.d.ts +13 -0
  373. package/dist/constructs/icmp-monitor-codegen.js +34 -0
  374. package/dist/constructs/icmp-monitor-codegen.js.map +1 -0
  375. package/dist/constructs/icmp-monitor.d.ts +83 -0
  376. package/dist/constructs/icmp-monitor.js +43 -0
  377. package/dist/constructs/icmp-monitor.js.map +1 -0
  378. package/dist/constructs/icmp-request-codegen.d.ts +4 -0
  379. package/dist/constructs/icmp-request-codegen.js +24 -0
  380. package/dist/constructs/icmp-request-codegen.js.map +1 -0
  381. package/dist/constructs/icmp-request.d.ts +37 -0
  382. package/dist/constructs/icmp-request.js +2 -0
  383. package/dist/constructs/icmp-request.js.map +1 -0
  384. package/dist/constructs/incident.d.ts +15 -0
  385. package/dist/constructs/incident.js +2 -0
  386. package/dist/constructs/incident.js.map +1 -0
  387. package/dist/constructs/incidentio-alert-channel-codegen.d.ts +13 -0
  388. package/dist/constructs/incidentio-alert-channel-codegen.js +85 -0
  389. package/dist/constructs/incidentio-alert-channel-codegen.js.map +1 -0
  390. package/dist/constructs/incidentio-alert-channel.d.ts +44 -0
  391. package/dist/constructs/incidentio-alert-channel.js +67 -0
  392. package/dist/constructs/incidentio-alert-channel.js.map +1 -0
  393. package/dist/constructs/index.d.ts +54 -0
  394. package/dist/constructs/index.js +55 -0
  395. package/dist/constructs/index.js.map +1 -0
  396. package/dist/constructs/internal/assertion-codegen.d.ts +11 -0
  397. package/dist/constructs/internal/assertion-codegen.js +144 -0
  398. package/dist/constructs/internal/assertion-codegen.js.map +1 -0
  399. package/dist/constructs/internal/assertion.d.ts +40 -0
  400. package/dist/constructs/internal/assertion.js +93 -0
  401. package/dist/constructs/internal/assertion.js.map +1 -0
  402. package/dist/constructs/internal/codegen/codegen.d.ts +9 -0
  403. package/dist/constructs/internal/codegen/codegen.js +16 -0
  404. package/dist/constructs/internal/codegen/codegen.js.map +1 -0
  405. package/dist/constructs/internal/codegen/context.d.ts +62 -0
  406. package/dist/constructs/internal/codegen/context.js +413 -0
  407. package/dist/constructs/internal/codegen/context.js.map +1 -0
  408. package/dist/constructs/internal/codegen/index.d.ts +4 -0
  409. package/dist/constructs/internal/codegen/index.js +5 -0
  410. package/dist/constructs/internal/codegen/index.js.map +1 -0
  411. package/dist/constructs/internal/codegen/safety.d.ts +2 -0
  412. package/dist/constructs/internal/codegen/safety.js +3 -0
  413. package/dist/constructs/internal/codegen/safety.js.map +1 -0
  414. package/dist/constructs/internal/codegen/snippet.d.ts +12 -0
  415. package/dist/constructs/internal/codegen/snippet.js +39 -0
  416. package/dist/constructs/internal/codegen/snippet.js.map +1 -0
  417. package/dist/constructs/internal/common-diagnostics.d.ts +21 -0
  418. package/dist/constructs/internal/common-diagnostics.js +84 -0
  419. package/dist/constructs/internal/common-diagnostics.js.map +1 -0
  420. package/dist/constructs/internal/sanitize.d.ts +15 -0
  421. package/dist/constructs/internal/sanitize.js +36 -0
  422. package/dist/constructs/internal/sanitize.js.map +1 -0
  423. package/dist/constructs/ip.d.ts +2 -0
  424. package/dist/constructs/ip.js +2 -0
  425. package/dist/constructs/ip.js.map +1 -0
  426. package/dist/constructs/key-value-pair-codegen.d.ts +4 -0
  427. package/dist/constructs/key-value-pair-codegen.js +35 -0
  428. package/dist/constructs/key-value-pair-codegen.js.map +1 -0
  429. package/dist/constructs/key-value-pair.d.ts +41 -0
  430. package/dist/constructs/key-value-pair.js +2 -0
  431. package/dist/constructs/key-value-pair.js.map +1 -0
  432. package/dist/constructs/maintenance-window-codegen.d.ts +14 -0
  433. package/dist/constructs/maintenance-window-codegen.js +53 -0
  434. package/dist/constructs/maintenance-window-codegen.js.map +1 -0
  435. package/dist/constructs/maintenance-window.d.ts +62 -0
  436. package/dist/constructs/maintenance-window.js +53 -0
  437. package/dist/constructs/maintenance-window.js.map +1 -0
  438. package/dist/constructs/monitor-codegen.d.ts +1 -0
  439. package/dist/constructs/monitor-codegen.js +2 -0
  440. package/dist/constructs/monitor-codegen.js.map +1 -0
  441. package/dist/constructs/monitor.d.ts +127 -0
  442. package/dist/constructs/monitor.js +17 -0
  443. package/dist/constructs/monitor.js.map +1 -0
  444. package/dist/constructs/msteams-alert-channel-codegen.d.ts +13 -0
  445. package/dist/constructs/msteams-alert-channel-codegen.js +71 -0
  446. package/dist/constructs/msteams-alert-channel-codegen.js.map +1 -0
  447. package/dist/constructs/msteams-alert-channel.d.ts +39 -0
  448. package/dist/constructs/msteams-alert-channel.js +162 -0
  449. package/dist/constructs/msteams-alert-channel.js.map +1 -0
  450. package/dist/constructs/multi-step-check-bundle.d.ts +47 -0
  451. package/dist/constructs/multi-step-check-bundle.js +21 -0
  452. package/dist/constructs/multi-step-check-bundle.js.map +1 -0
  453. package/dist/constructs/multi-step-check-codegen.d.ts +13 -0
  454. package/dist/constructs/multi-step-check-codegen.js +35 -0
  455. package/dist/constructs/multi-step-check-codegen.js.map +1 -0
  456. package/dist/constructs/multi-step-check.d.ts +75 -0
  457. package/dist/constructs/multi-step-check.js +121 -0
  458. package/dist/constructs/multi-step-check.js.map +1 -0
  459. package/dist/constructs/opsgenie-alert-channel-codegen.d.ts +16 -0
  460. package/dist/constructs/opsgenie-alert-channel-codegen.js +37 -0
  461. package/dist/constructs/opsgenie-alert-channel-codegen.js.map +1 -0
  462. package/dist/constructs/opsgenie-alert-channel.d.ts +46 -0
  463. package/dist/constructs/opsgenie-alert-channel.js +47 -0
  464. package/dist/constructs/opsgenie-alert-channel.js.map +1 -0
  465. package/dist/constructs/pagerduty-alert-channel-codegen.d.ts +15 -0
  466. package/dist/constructs/pagerduty-alert-channel-codegen.js +49 -0
  467. package/dist/constructs/pagerduty-alert-channel-codegen.js.map +1 -0
  468. package/dist/constructs/pagerduty-alert-channel.d.ts +40 -0
  469. package/dist/constructs/pagerduty-alert-channel.js +44 -0
  470. package/dist/constructs/pagerduty-alert-channel.js.map +1 -0
  471. package/dist/constructs/phone-call-alert-channel-codegen.d.ts +14 -0
  472. package/dist/constructs/phone-call-alert-channel-codegen.js +42 -0
  473. package/dist/constructs/phone-call-alert-channel-codegen.js.map +1 -0
  474. package/dist/constructs/phone-call-alert-channel.d.ts +34 -0
  475. package/dist/constructs/phone-call-alert-channel.js +42 -0
  476. package/dist/constructs/phone-call-alert-channel.js.map +1 -0
  477. package/dist/constructs/playwright-check-bundle.d.ts +63 -0
  478. package/dist/constructs/playwright-check-bundle.js +36 -0
  479. package/dist/constructs/playwright-check-bundle.js.map +1 -0
  480. package/dist/constructs/playwright-check.d.ts +193 -0
  481. package/dist/constructs/playwright-check.js +328 -0
  482. package/dist/constructs/playwright-check.js.map +1 -0
  483. package/dist/constructs/playwright-config-codegen.d.ts +4 -0
  484. package/dist/constructs/playwright-config-codegen.js +5 -0
  485. package/dist/constructs/playwright-config-codegen.js.map +1 -0
  486. package/dist/constructs/playwright-config.d.ts +52 -0
  487. package/dist/constructs/playwright-config.js +2 -0
  488. package/dist/constructs/playwright-config.js.map +1 -0
  489. package/dist/constructs/private-location-check-assignment-codegen.d.ts +10 -0
  490. package/dist/constructs/private-location-check-assignment-codegen.js +15 -0
  491. package/dist/constructs/private-location-check-assignment-codegen.js.map +1 -0
  492. package/dist/constructs/private-location-check-assignment.d.ts +30 -0
  493. package/dist/constructs/private-location-check-assignment.js +36 -0
  494. package/dist/constructs/private-location-check-assignment.js.map +1 -0
  495. package/dist/constructs/private-location-codegen.d.ts +15 -0
  496. package/dist/constructs/private-location-codegen.js +46 -0
  497. package/dist/constructs/private-location-codegen.js.map +1 -0
  498. package/dist/constructs/private-location-group-assignment-codegen.d.ts +10 -0
  499. package/dist/constructs/private-location-group-assignment-codegen.js +15 -0
  500. package/dist/constructs/private-location-group-assignment-codegen.js.map +1 -0
  501. package/dist/constructs/private-location-group-assignment.d.ts +31 -0
  502. package/dist/constructs/private-location-group-assignment.js +39 -0
  503. package/dist/constructs/private-location-group-assignment.js.map +1 -0
  504. package/dist/constructs/private-location.d.ts +66 -0
  505. package/dist/constructs/private-location.js +88 -0
  506. package/dist/constructs/private-location.js.map +1 -0
  507. package/dist/constructs/project-bundle.d.ts +30 -0
  508. package/dist/constructs/project-bundle.js +40 -0
  509. package/dist/constructs/project-bundle.js.map +1 -0
  510. package/dist/constructs/project.d.ts +61 -0
  511. package/dist/constructs/project.js +127 -0
  512. package/dist/constructs/project.js.map +1 -0
  513. package/dist/constructs/query-param.d.ts +18 -0
  514. package/dist/constructs/query-param.js +2 -0
  515. package/dist/constructs/query-param.js.map +1 -0
  516. package/dist/constructs/ref-codegen.d.ts +3 -0
  517. package/dist/constructs/ref-codegen.js +11 -0
  518. package/dist/constructs/ref-codegen.js.map +1 -0
  519. package/dist/constructs/ref.d.ts +49 -0
  520. package/dist/constructs/ref.js +54 -0
  521. package/dist/constructs/ref.js.map +1 -0
  522. package/dist/constructs/retry-strategy-codegen.d.ts +4 -0
  523. package/dist/constructs/retry-strategy-codegen.js +104 -0
  524. package/dist/constructs/retry-strategy-codegen.js.map +1 -0
  525. package/dist/constructs/retry-strategy.d.ts +196 -0
  526. package/dist/constructs/retry-strategy.js +110 -0
  527. package/dist/constructs/retry-strategy.js.map +1 -0
  528. package/dist/constructs/session.d.ts +67 -0
  529. package/dist/constructs/session.js +197 -0
  530. package/dist/constructs/session.js.map +1 -0
  531. package/dist/constructs/slack-alert-channel-codegen.d.ts +14 -0
  532. package/dist/constructs/slack-alert-channel-codegen.js +42 -0
  533. package/dist/constructs/slack-alert-channel-codegen.js.map +1 -0
  534. package/dist/constructs/slack-alert-channel.d.ts +27 -0
  535. package/dist/constructs/slack-alert-channel.js +41 -0
  536. package/dist/constructs/slack-alert-channel.js.map +1 -0
  537. package/dist/constructs/slack-app-alert-channel-codegen.d.ts +13 -0
  538. package/dist/constructs/slack-app-alert-channel-codegen.js +39 -0
  539. package/dist/constructs/slack-app-alert-channel-codegen.js.map +1 -0
  540. package/dist/constructs/slack-app-alert-channel.d.ts +31 -0
  541. package/dist/constructs/slack-app-alert-channel.js +38 -0
  542. package/dist/constructs/slack-app-alert-channel.js.map +1 -0
  543. package/dist/constructs/sms-alert-channel-codegen.d.ts +14 -0
  544. package/dist/constructs/sms-alert-channel-codegen.js +42 -0
  545. package/dist/constructs/sms-alert-channel-codegen.js.map +1 -0
  546. package/dist/constructs/sms-alert-channel.d.ts +33 -0
  547. package/dist/constructs/sms-alert-channel.js +41 -0
  548. package/dist/constructs/sms-alert-channel.js.map +1 -0
  549. package/dist/constructs/status-page-codegen.d.ts +23 -0
  550. package/dist/constructs/status-page-codegen.js +67 -0
  551. package/dist/constructs/status-page-codegen.js.map +1 -0
  552. package/dist/constructs/status-page-service-codegen.d.ts +12 -0
  553. package/dist/constructs/status-page-service-codegen.js +39 -0
  554. package/dist/constructs/status-page-service-codegen.js.map +1 -0
  555. package/dist/constructs/status-page-service.d.ts +43 -0
  556. package/dist/constructs/status-page-service.js +61 -0
  557. package/dist/constructs/status-page-service.js.map +1 -0
  558. package/dist/constructs/status-page.d.ts +72 -0
  559. package/dist/constructs/status-page.js +58 -0
  560. package/dist/constructs/status-page.js.map +1 -0
  561. package/dist/constructs/tcp-monitor-codegen.d.ts +15 -0
  562. package/dist/constructs/tcp-monitor-codegen.js +64 -0
  563. package/dist/constructs/tcp-monitor-codegen.js.map +1 -0
  564. package/dist/constructs/tcp-monitor.d.ts +155 -0
  565. package/dist/constructs/tcp-monitor.js +83 -0
  566. package/dist/constructs/tcp-monitor.js.map +1 -0
  567. package/dist/constructs/telegram-alert-channel-codegen.d.ts +13 -0
  568. package/dist/constructs/telegram-alert-channel-codegen.js +98 -0
  569. package/dist/constructs/telegram-alert-channel-codegen.js.map +1 -0
  570. package/dist/constructs/telegram-alert-channel.d.ts +44 -0
  571. package/dist/constructs/telegram-alert-channel.js +60 -0
  572. package/dist/constructs/telegram-alert-channel.js.map +1 -0
  573. package/dist/constructs/url-assertion-codegen.d.ts +3 -0
  574. package/dist/constructs/url-assertion-codegen.js +11 -0
  575. package/dist/constructs/url-assertion-codegen.js.map +1 -0
  576. package/dist/constructs/url-assertion.d.ts +60 -0
  577. package/dist/constructs/url-assertion.js +52 -0
  578. package/dist/constructs/url-assertion.js.map +1 -0
  579. package/dist/constructs/url-monitor-codegen.d.ts +13 -0
  580. package/dist/constructs/url-monitor-codegen.js +34 -0
  581. package/dist/constructs/url-monitor-codegen.js.map +1 -0
  582. package/dist/constructs/url-monitor.d.ts +151 -0
  583. package/dist/constructs/url-monitor.js +109 -0
  584. package/dist/constructs/url-monitor.js.map +1 -0
  585. package/dist/constructs/url-request-codegen.d.ts +4 -0
  586. package/dist/constructs/url-request-codegen.js +27 -0
  587. package/dist/constructs/url-request-codegen.js.map +1 -0
  588. package/dist/constructs/url-request.d.ts +65 -0
  589. package/dist/constructs/url-request.js +2 -0
  590. package/dist/constructs/url-request.js.map +1 -0
  591. package/dist/constructs/validator-error.d.ts +2 -0
  592. package/dist/constructs/validator-error.js +3 -0
  593. package/dist/constructs/validator-error.js.map +1 -0
  594. package/dist/constructs/webhook-alert-channel-codegen.d.ts +34 -0
  595. package/dist/constructs/webhook-alert-channel-codegen.js +147 -0
  596. package/dist/constructs/webhook-alert-channel-codegen.js.map +1 -0
  597. package/dist/constructs/webhook-alert-channel.d.ts +68 -0
  598. package/dist/constructs/webhook-alert-channel.js +59 -0
  599. package/dist/constructs/webhook-alert-channel.js.map +1 -0
  600. package/dist/formatters/account-members.d.ts +8 -0
  601. package/dist/formatters/account-members.js +115 -0
  602. package/dist/formatters/account-members.js.map +1 -0
  603. package/dist/formatters/account-plan.d.ts +16 -0
  604. package/dist/formatters/account-plan.js +320 -0
  605. package/dist/formatters/account-plan.js.map +1 -0
  606. package/dist/formatters/alert-channels.d.ts +15 -0
  607. package/dist/formatters/alert-channels.js +257 -0
  608. package/dist/formatters/alert-channels.js.map +1 -0
  609. package/dist/formatters/analytics.d.ts +8 -0
  610. package/dist/formatters/analytics.js +223 -0
  611. package/dist/formatters/analytics.js.map +1 -0
  612. package/dist/formatters/assets.d.ts +22 -0
  613. package/dist/formatters/assets.js +280 -0
  614. package/dist/formatters/assets.js.map +1 -0
  615. package/dist/formatters/batch-stats.d.ts +8 -0
  616. package/dist/formatters/batch-stats.js +184 -0
  617. package/dist/formatters/batch-stats.js.map +1 -0
  618. package/dist/formatters/check-result-detail.d.ts +12 -0
  619. package/dist/formatters/check-result-detail.js +651 -0
  620. package/dist/formatters/check-result-detail.js.map +1 -0
  621. package/dist/formatters/checks.d.ts +29 -0
  622. package/dist/formatters/checks.js +336 -0
  623. package/dist/formatters/checks.js.map +1 -0
  624. package/dist/formatters/incidents.d.ts +7 -0
  625. package/dist/formatters/incidents.js +172 -0
  626. package/dist/formatters/incidents.js.map +1 -0
  627. package/dist/formatters/rca.d.ts +42 -0
  628. package/dist/formatters/rca.js +156 -0
  629. package/dist/formatters/rca.js.map +1 -0
  630. package/dist/formatters/render.d.ts +47 -0
  631. package/dist/formatters/render.js +261 -0
  632. package/dist/formatters/render.js.map +1 -0
  633. package/dist/formatters/status-pages.d.ts +7 -0
  634. package/dist/formatters/status-pages.js +236 -0
  635. package/dist/formatters/status-pages.js.map +1 -0
  636. package/dist/formatters/test-sessions.d.ts +18 -0
  637. package/dist/formatters/test-sessions.js +341 -0
  638. package/dist/formatters/test-sessions.js.map +1 -0
  639. package/dist/help/examples.d.ts +6 -0
  640. package/dist/help/examples.js +20 -0
  641. package/dist/help/examples.js.map +1 -0
  642. package/dist/help/help-extension.d.ts +6 -0
  643. package/dist/help/help-extension.js +91 -0
  644. package/dist/help/help-extension.js.map +1 -0
  645. package/dist/help/skills.d.ts +7 -0
  646. package/dist/help/skills.js +20 -0
  647. package/dist/help/skills.js.map +1 -0
  648. package/dist/helpers/account-member-target.d.ts +14 -0
  649. package/dist/helpers/account-member-target.js +37 -0
  650. package/dist/helpers/account-member-target.js.map +1 -0
  651. package/dist/helpers/api-fields.d.ts +4 -0
  652. package/dist/helpers/api-fields.js +24 -0
  653. package/dist/helpers/api-fields.js.map +1 -0
  654. package/dist/helpers/cli-mode.d.ts +4 -0
  655. package/dist/helpers/cli-mode.js +62 -0
  656. package/dist/helpers/cli-mode.js.map +1 -0
  657. package/dist/helpers/command-preview.d.ts +24 -0
  658. package/dist/helpers/command-preview.js +50 -0
  659. package/dist/helpers/command-preview.js.map +1 -0
  660. package/dist/helpers/command-style.d.ts +21 -0
  661. package/dist/helpers/command-style.js +108 -0
  662. package/dist/helpers/command-style.js.map +1 -0
  663. package/dist/helpers/constants.d.ts +1 -0
  664. package/dist/helpers/constants.js +2 -0
  665. package/dist/helpers/constants.js.map +1 -0
  666. package/dist/helpers/content-range.d.ts +1 -0
  667. package/dist/helpers/content-range.js +7 -0
  668. package/dist/helpers/content-range.js.map +1 -0
  669. package/dist/helpers/flags.d.ts +11 -0
  670. package/dist/helpers/flags.js +45 -0
  671. package/dist/helpers/flags.js.map +1 -0
  672. package/dist/helpers/incidents.d.ts +15 -0
  673. package/dist/helpers/incidents.js +50 -0
  674. package/dist/helpers/incidents.js.map +1 -0
  675. package/dist/helpers/number.d.ts +3 -0
  676. package/dist/helpers/number.js +20 -0
  677. package/dist/helpers/number.js.map +1 -0
  678. package/dist/helpers/onboarding/boilerplate.d.ts +15 -0
  679. package/dist/helpers/onboarding/boilerplate.js +166 -0
  680. package/dist/helpers/onboarding/boilerplate.js.map +1 -0
  681. package/dist/helpers/onboarding/clipboard.d.ts +1 -0
  682. package/dist/helpers/onboarding/clipboard.js +28 -0
  683. package/dist/helpers/onboarding/clipboard.js.map +1 -0
  684. package/dist/helpers/onboarding/detect-project.d.ts +10 -0
  685. package/dist/helpers/onboarding/detect-project.js +31 -0
  686. package/dist/helpers/onboarding/detect-project.js.map +1 -0
  687. package/dist/helpers/onboarding/index.d.ts +7 -0
  688. package/dist/helpers/onboarding/index.js +8 -0
  689. package/dist/helpers/onboarding/index.js.map +1 -0
  690. package/dist/helpers/onboarding/messages.d.ts +5 -0
  691. package/dist/helpers/onboarding/messages.js +141 -0
  692. package/dist/helpers/onboarding/messages.js.map +1 -0
  693. package/dist/helpers/onboarding/prompt-display.d.ts +1 -0
  694. package/dist/helpers/onboarding/prompt-display.js +76 -0
  695. package/dist/helpers/onboarding/prompt-display.js.map +1 -0
  696. package/dist/helpers/onboarding/prompts-helpers.d.ts +2 -0
  697. package/dist/helpers/onboarding/prompts-helpers.js +11 -0
  698. package/dist/helpers/onboarding/prompts-helpers.js.map +1 -0
  699. package/dist/helpers/onboarding/skill-install.d.ts +10 -0
  700. package/dist/helpers/onboarding/skill-install.js +85 -0
  701. package/dist/helpers/onboarding/skill-install.js.map +1 -0
  702. package/dist/helpers/onboarding/template-prompt.d.ts +2 -0
  703. package/dist/helpers/onboarding/template-prompt.js +14 -0
  704. package/dist/helpers/onboarding/template-prompt.js.map +1 -0
  705. package/dist/helpers/recast-acorn-parser.d.ts +2 -0
  706. package/dist/helpers/recast-acorn-parser.js +22 -0
  707. package/dist/helpers/recast-acorn-parser.js.map +1 -0
  708. package/dist/helpers/result-assets.d.ts +54 -0
  709. package/dist/helpers/result-assets.js +305 -0
  710. package/dist/helpers/result-assets.js.map +1 -0
  711. package/dist/helpers/test-helper.d.ts +17 -0
  712. package/dist/helpers/test-helper.js +75 -0
  713. package/dist/helpers/test-helper.js.map +1 -0
  714. package/dist/helpers/wrap.d.ts +6 -0
  715. package/dist/helpers/wrap.js +49 -0
  716. package/dist/helpers/wrap.js.map +1 -0
  717. package/dist/helpers/write-config-helpers.d.ts +5 -0
  718. package/dist/helpers/write-config-helpers.js +55 -0
  719. package/dist/helpers/write-config-helpers.js.map +1 -0
  720. package/dist/hooks/command-not-found.d.ts +3 -0
  721. package/dist/hooks/command-not-found.js +22 -0
  722. package/dist/hooks/command-not-found.js.map +1 -0
  723. package/dist/hooks/parse-error.d.ts +3 -0
  724. package/dist/hooks/parse-error.js +15 -0
  725. package/dist/hooks/parse-error.js.map +1 -0
  726. package/dist/index.d.ts +3 -0
  727. package/dist/index.js +3 -0
  728. package/dist/index.js.map +1 -0
  729. package/dist/loader/config.d.ts +3 -0
  730. package/dist/loader/config.js +8 -0
  731. package/dist/loader/config.js.map +1 -0
  732. package/dist/loader/index.d.ts +5 -0
  733. package/dist/loader/index.js +6 -0
  734. package/dist/loader/index.js.map +1 -0
  735. package/dist/loader/jiti.d.ts +28 -0
  736. package/dist/loader/jiti.js +76 -0
  737. package/dist/loader/jiti.js.map +1 -0
  738. package/dist/loader/loader.d.ts +43 -0
  739. package/dist/loader/loader.js +37 -0
  740. package/dist/loader/loader.js.map +1 -0
  741. package/dist/loader/match.d.ts +15 -0
  742. package/dist/loader/match.js +43 -0
  743. package/dist/loader/match.js.map +1 -0
  744. package/dist/loader/mixed.d.ts +7 -0
  745. package/dist/loader/mixed.js +36 -0
  746. package/dist/loader/mixed.js.map +1 -0
  747. package/dist/loader/native.d.ts +10 -0
  748. package/dist/loader/native.js +30 -0
  749. package/dist/loader/native.js.map +1 -0
  750. package/dist/messages/common-messages.d.ts +5 -0
  751. package/dist/messages/common-messages.js +7 -0
  752. package/dist/messages/common-messages.js.map +1 -0
  753. package/dist/playwright/playwright-config-loader.d.ts +1 -0
  754. package/dist/playwright/playwright-config-loader.js +26 -0
  755. package/dist/playwright/playwright-config-loader.js.map +1 -0
  756. package/dist/playwright/playwright-config-template.d.ts +8 -0
  757. package/dist/playwright/playwright-config-template.js +53 -0
  758. package/dist/playwright/playwright-config-template.js.map +1 -0
  759. package/dist/reporters/abstract-list.d.ts +57 -0
  760. package/dist/reporters/abstract-list.js +283 -0
  761. package/dist/reporters/abstract-list.js.map +1 -0
  762. package/dist/reporters/ci.d.ts +12 -0
  763. package/dist/reporters/ci.js +28 -0
  764. package/dist/reporters/ci.js.map +1 -0
  765. package/dist/reporters/dot.d.ts +10 -0
  766. package/dist/reporters/dot.js +26 -0
  767. package/dist/reporters/dot.js.map +1 -0
  768. package/dist/reporters/github.d.ts +32 -0
  769. package/dist/reporters/github.js +93 -0
  770. package/dist/reporters/github.js.map +1 -0
  771. package/dist/reporters/json.d.ts +26 -0
  772. package/dist/reporters/json.js +74 -0
  773. package/dist/reporters/json.js.map +1 -0
  774. package/dist/reporters/list.d.ts +15 -0
  775. package/dist/reporters/list.js +81 -0
  776. package/dist/reporters/list.js.map +1 -0
  777. package/dist/reporters/reporter.d.ts +25 -0
  778. package/dist/reporters/reporter.js +22 -0
  779. package/dist/reporters/reporter.js.map +1 -0
  780. package/dist/reporters/util.d.ts +20 -0
  781. package/dist/reporters/util.js +596 -0
  782. package/dist/reporters/util.js.map +1 -0
  783. package/dist/rest/account-members.d.ts +56 -0
  784. package/dist/rest/account-members.js +18 -0
  785. package/dist/rest/account-members.js.map +1 -0
  786. package/dist/rest/accounts.d.ts +20 -0
  787. package/dist/rest/accounts.js +14 -0
  788. package/dist/rest/accounts.js.map +1 -0
  789. package/dist/rest/alert-channels.d.ts +52 -0
  790. package/dist/rest/alert-channels.js +23 -0
  791. package/dist/rest/alert-channels.js.map +1 -0
  792. package/dist/rest/alert-notifications.d.ts +39 -0
  793. package/dist/rest/alert-notifications.js +19 -0
  794. package/dist/rest/alert-notifications.js.map +1 -0
  795. package/dist/rest/analytics.d.ts +41 -0
  796. package/dist/rest/analytics.js +60 -0
  797. package/dist/rest/analytics.js.map +1 -0
  798. package/dist/rest/api.d.ts +67 -0
  799. package/dist/rest/api.js +121 -0
  800. package/dist/rest/api.js.map +1 -0
  801. package/dist/rest/asset-manifests.d.ts +30 -0
  802. package/dist/rest/asset-manifests.js +29 -0
  803. package/dist/rest/asset-manifests.js.map +1 -0
  804. package/dist/rest/assets.d.ts +64 -0
  805. package/dist/rest/assets.js +90 -0
  806. package/dist/rest/assets.js.map +1 -0
  807. package/dist/rest/batch-analytics.d.ts +25 -0
  808. package/dist/rest/batch-analytics.js +14 -0
  809. package/dist/rest/batch-analytics.js.map +1 -0
  810. package/dist/rest/cancel.d.ts +14 -0
  811. package/dist/rest/cancel.js +28 -0
  812. package/dist/rest/cancel.js.map +1 -0
  813. package/dist/rest/check-groups.d.ts +16 -0
  814. package/dist/rest/check-groups.js +11 -0
  815. package/dist/rest/check-groups.js.map +1 -0
  816. package/dist/rest/check-results.d.ts +183 -0
  817. package/dist/rest/check-results.js +14 -0
  818. package/dist/rest/check-results.js.map +1 -0
  819. package/dist/rest/check-statuses.d.ts +23 -0
  820. package/dist/rest/check-statuses.js +20 -0
  821. package/dist/rest/check-statuses.js.map +1 -0
  822. package/dist/rest/checkly-storage.d.ts +14 -0
  823. package/dist/rest/checkly-storage.js +17 -0
  824. package/dist/rest/checkly-storage.js.map +1 -0
  825. package/dist/rest/checks.d.ts +48 -0
  826. package/dist/rest/checks.js +43 -0
  827. package/dist/rest/checks.js.map +1 -0
  828. package/dist/rest/entitlements.d.ts +47 -0
  829. package/dist/rest/entitlements.js +11 -0
  830. package/dist/rest/entitlements.js.map +1 -0
  831. package/dist/rest/environment-variables.d.ts +43 -0
  832. package/dist/rest/environment-variables.js +91 -0
  833. package/dist/rest/environment-variables.js.map +1 -0
  834. package/dist/rest/error-groups.d.ts +49 -0
  835. package/dist/rest/error-groups.js +14 -0
  836. package/dist/rest/error-groups.js.map +1 -0
  837. package/dist/rest/errors.d.ts +84 -0
  838. package/dist/rest/errors.js +216 -0
  839. package/dist/rest/errors.js.map +1 -0
  840. package/dist/rest/heartbeat-checks.d.ts +11 -0
  841. package/dist/rest/heartbeat-checks.js +16 -0
  842. package/dist/rest/heartbeat-checks.js.map +1 -0
  843. package/dist/rest/incidents.d.ts +60 -0
  844. package/dist/rest/incidents.js +28 -0
  845. package/dist/rest/incidents.js.map +1 -0
  846. package/dist/rest/locations.d.ts +11 -0
  847. package/dist/rest/locations.js +11 -0
  848. package/dist/rest/locations.js.map +1 -0
  849. package/dist/rest/private-locations.d.ts +10 -0
  850. package/dist/rest/private-locations.js +10 -0
  851. package/dist/rest/private-locations.js.map +1 -0
  852. package/dist/rest/projects.d.ts +161 -0
  853. package/dist/rest/projects.js +205 -0
  854. package/dist/rest/projects.js.map +1 -0
  855. package/dist/rest/rca.d.ts +14 -0
  856. package/dist/rest/rca.js +28 -0
  857. package/dist/rest/rca.js.map +1 -0
  858. package/dist/rest/runtimes.d.ts +9 -0
  859. package/dist/rest/runtimes.js +16 -0
  860. package/dist/rest/runtimes.js.map +1 -0
  861. package/dist/rest/status-pages.d.ts +40 -0
  862. package/dist/rest/status-pages.js +16 -0
  863. package/dist/rest/status-pages.js.map +1 -0
  864. package/dist/rest/test-session-error-groups.d.ts +18 -0
  865. package/dist/rest/test-session-error-groups.js +11 -0
  866. package/dist/rest/test-session-error-groups.js.map +1 -0
  867. package/dist/rest/test-sessions.d.ts +167 -0
  868. package/dist/rest/test-sessions.js +76 -0
  869. package/dist/rest/test-sessions.js.map +1 -0
  870. package/dist/rest/users.d.ts +12 -0
  871. package/dist/rest/users.js +11 -0
  872. package/dist/rest/users.js.map +1 -0
  873. package/dist/rest/util.d.ts +3 -0
  874. package/dist/rest/util.js +10 -0
  875. package/dist/rest/util.js.map +1 -0
  876. package/dist/runtimes/index.d.ts +2 -0
  877. package/dist/runtimes/index.js +2 -0
  878. package/dist/runtimes/index.js.map +1 -0
  879. package/dist/runtimes/runtime.d.ts +8 -0
  880. package/dist/runtimes/runtime.js +2 -0
  881. package/dist/runtimes/runtime.js.map +1 -0
  882. package/dist/runtimes/snapshot.d.ts +2 -0
  883. package/dist/runtimes/snapshot.js +11 -0
  884. package/dist/runtimes/snapshot.js.map +1 -0
  885. package/dist/services/abstract-check-runner.d.ts +63 -0
  886. package/dist/services/abstract-check-runner.js +289 -0
  887. package/dist/services/abstract-check-runner.js.map +1 -0
  888. package/dist/services/check-parser/bundler.d.ts +58 -0
  889. package/dist/services/check-parser/bundler.js +219 -0
  890. package/dist/services/check-parser/bundler.js.map +1 -0
  891. package/dist/services/check-parser/cache-hash.d.ts +79 -0
  892. package/dist/services/check-parser/cache-hash.js +179 -0
  893. package/dist/services/check-parser/cache-hash.js.map +1 -0
  894. package/dist/services/check-parser/collector.d.ts +33 -0
  895. package/dist/services/check-parser/collector.js +46 -0
  896. package/dist/services/check-parser/collector.js.map +1 -0
  897. package/dist/services/check-parser/errors.d.ts +8 -0
  898. package/dist/services/check-parser/errors.js +46 -0
  899. package/dist/services/check-parser/errors.js.map +1 -0
  900. package/dist/services/check-parser/faux-package.d.ts +4 -0
  901. package/dist/services/check-parser/faux-package.js +16 -0
  902. package/dist/services/check-parser/faux-package.js.map +1 -0
  903. package/dist/services/check-parser/package-files/extension.d.ts +38 -0
  904. package/dist/services/check-parser/package-files/extension.js +66 -0
  905. package/dist/services/check-parser/package-files/extension.js.map +1 -0
  906. package/dist/services/check-parser/package-files/jsconfig-json-file.d.ts +17 -0
  907. package/dist/services/check-parser/package-files/jsconfig-json-file.js +23 -0
  908. package/dist/services/check-parser/package-files/jsconfig-json-file.js.map +1 -0
  909. package/dist/services/check-parser/package-files/json-source-file.d.ts +11 -0
  910. package/dist/services/check-parser/package-files/json-source-file.js +32 -0
  911. package/dist/services/check-parser/package-files/json-source-file.js.map +1 -0
  912. package/dist/services/check-parser/package-files/json-text-source-file-parser.d.ts +7 -0
  913. package/dist/services/check-parser/package-files/json-text-source-file-parser.js +47 -0
  914. package/dist/services/check-parser/package-files/json-text-source-file-parser.js.map +1 -0
  915. package/dist/services/check-parser/package-files/json-text-source-file.d.ts +7 -0
  916. package/dist/services/check-parser/package-files/json-text-source-file.js +18 -0
  917. package/dist/services/check-parser/package-files/json-text-source-file.js.map +1 -0
  918. package/dist/services/check-parser/package-files/loader.d.ts +7 -0
  919. package/dist/services/check-parser/package-files/loader.js +24 -0
  920. package/dist/services/check-parser/package-files/loader.js.map +1 -0
  921. package/dist/services/check-parser/package-files/lockfile-package-version.d.ts +85 -0
  922. package/dist/services/check-parser/package-files/lockfile-package-version.js +317 -0
  923. package/dist/services/check-parser/package-files/lockfile-package-version.js.map +1 -0
  924. package/dist/services/check-parser/package-files/lookup.d.ts +12 -0
  925. package/dist/services/check-parser/package-files/lookup.js +52 -0
  926. package/dist/services/check-parser/package-files/lookup.js.map +1 -0
  927. package/dist/services/check-parser/package-files/package-json-file.d.ts +59 -0
  928. package/dist/services/check-parser/package-files/package-json-file.js +248 -0
  929. package/dist/services/check-parser/package-files/package-json-file.js.map +1 -0
  930. package/dist/services/check-parser/package-files/package-manager.d.ts +222 -0
  931. package/dist/services/check-parser/package-files/package-manager.js +785 -0
  932. package/dist/services/check-parser/package-files/package-manager.js.map +1 -0
  933. package/dist/services/check-parser/package-files/paths.d.ts +98 -0
  934. package/dist/services/check-parser/package-files/paths.js +234 -0
  935. package/dist/services/check-parser/package-files/paths.js.map +1 -0
  936. package/dist/services/check-parser/package-files/resolver.d.ts +124 -0
  937. package/dist/services/check-parser/package-files/resolver.js +468 -0
  938. package/dist/services/check-parser/package-files/resolver.js.map +1 -0
  939. package/dist/services/check-parser/package-files/result.d.ts +38 -0
  940. package/dist/services/check-parser/package-files/result.js +53 -0
  941. package/dist/services/check-parser/package-files/result.js.map +1 -0
  942. package/dist/services/check-parser/package-files/source-file-parser.d.ts +10 -0
  943. package/dist/services/check-parser/package-files/source-file-parser.js +13 -0
  944. package/dist/services/check-parser/package-files/source-file-parser.js.map +1 -0
  945. package/dist/services/check-parser/package-files/source-file.d.ts +15 -0
  946. package/dist/services/check-parser/package-files/source-file.js +38 -0
  947. package/dist/services/check-parser/package-files/source-file.js.map +1 -0
  948. package/dist/services/check-parser/package-files/tsconfig-json-file.d.ts +66 -0
  949. package/dist/services/check-parser/package-files/tsconfig-json-file.js +81 -0
  950. package/dist/services/check-parser/package-files/tsconfig-json-file.js.map +1 -0
  951. package/dist/services/check-parser/package-files/walk.d.ts +8 -0
  952. package/dist/services/check-parser/package-files/walk.js +35 -0
  953. package/dist/services/check-parser/package-files/walk.js.map +1 -0
  954. package/dist/services/check-parser/package-files/workspace.d.ts +60 -0
  955. package/dist/services/check-parser/package-files/workspace.js +103 -0
  956. package/dist/services/check-parser/package-files/workspace.js.map +1 -0
  957. package/dist/services/check-parser/parser.d.ts +67 -0
  958. package/dist/services/check-parser/parser.js +491 -0
  959. package/dist/services/check-parser/parser.js.map +1 -0
  960. package/dist/services/check-parser/playwright-config-expander.d.ts +7 -0
  961. package/dist/services/check-parser/playwright-config-expander.js +96 -0
  962. package/dist/services/check-parser/playwright-config-expander.js.map +1 -0
  963. package/dist/services/checkly-config-codegen.d.ts +4 -0
  964. package/dist/services/checkly-config-codegen.js +189 -0
  965. package/dist/services/checkly-config-codegen.js.map +1 -0
  966. package/dist/services/checkly-config-loader.d.ts +97 -0
  967. package/dist/services/checkly-config-loader.js +113 -0
  968. package/dist/services/checkly-config-loader.js.map +1 -0
  969. package/dist/services/config.d.ts +28 -0
  970. package/dist/services/config.js +93 -0
  971. package/dist/services/config.js.map +1 -0
  972. package/dist/services/engine-detector.d.ts +6 -0
  973. package/dist/services/engine-detector.js +141 -0
  974. package/dist/services/engine-detector.js.map +1 -0
  975. package/dist/services/engine-resolver.d.ts +6 -0
  976. package/dist/services/engine-resolver.js +47 -0
  977. package/dist/services/engine-resolver.js.map +1 -0
  978. package/dist/services/engine-rules-loader.d.ts +21 -0
  979. package/dist/services/engine-rules-loader.js +44 -0
  980. package/dist/services/engine-rules-loader.js.map +1 -0
  981. package/dist/services/load-dotenv.d.ts +1 -0
  982. package/dist/services/load-dotenv.js +44 -0
  983. package/dist/services/load-dotenv.js.map +1 -0
  984. package/dist/services/playwright-config.d.ts +27 -0
  985. package/dist/services/playwright-config.js +139 -0
  986. package/dist/services/playwright-config.js.map +1 -0
  987. package/dist/services/playwright-project-bundler.d.ts +47 -0
  988. package/dist/services/playwright-project-bundler.js +380 -0
  989. package/dist/services/playwright-project-bundler.js.map +1 -0
  990. package/dist/services/project-parser.d.ts +30 -0
  991. package/dist/services/project-parser.js +291 -0
  992. package/dist/services/project-parser.js.map +1 -0
  993. package/dist/services/proxy.d.ts +2 -0
  994. package/dist/services/proxy.js +36 -0
  995. package/dist/services/proxy.js.map +1 -0
  996. package/dist/services/shell.d.ts +2 -0
  997. package/dist/services/shell.js +15 -0
  998. package/dist/services/shell.js.map +1 -0
  999. package/dist/services/snapshot-service.d.ts +13 -0
  1000. package/dist/services/snapshot-service.js +56 -0
  1001. package/dist/services/snapshot-service.js.map +1 -0
  1002. package/dist/services/socket-client.d.ts +4 -0
  1003. package/dist/services/socket-client.js +58 -0
  1004. package/dist/services/socket-client.js.map +1 -0
  1005. package/dist/services/test-filters.d.ts +3 -0
  1006. package/dist/services/test-filters.js +21 -0
  1007. package/dist/services/test-filters.js.map +1 -0
  1008. package/dist/services/test-runner.d.ts +28 -0
  1009. package/dist/services/test-runner.js +82 -0
  1010. package/dist/services/test-runner.js.map +1 -0
  1011. package/dist/services/trigger-runner.d.ts +29 -0
  1012. package/dist/services/trigger-runner.js +49 -0
  1013. package/dist/services/trigger-runner.js.map +1 -0
  1014. package/dist/services/util.d.ts +34 -0
  1015. package/dist/services/util.js +167 -0
  1016. package/dist/services/util.js.map +1 -0
  1017. package/dist/sourcegen/args.d.ts +7 -0
  1018. package/dist/sourcegen/args.js +22 -0
  1019. package/dist/sourcegen/args.js.map +1 -0
  1020. package/dist/sourcegen/argsbuilder.d.ts +22 -0
  1021. package/dist/sourcegen/argsbuilder.js +106 -0
  1022. package/dist/sourcegen/argsbuilder.js.map +1 -0
  1023. package/dist/sourcegen/array.d.ts +8 -0
  1024. package/dist/sourcegen/array.js +28 -0
  1025. package/dist/sourcegen/array.js.map +1 -0
  1026. package/dist/sourcegen/arraybuilder.d.ts +21 -0
  1027. package/dist/sourcegen/arraybuilder.js +104 -0
  1028. package/dist/sourcegen/arraybuilder.js.map +1 -0
  1029. package/dist/sourcegen/boolean.d.ts +7 -0
  1030. package/dist/sourcegen/boolean.js +18 -0
  1031. package/dist/sourcegen/boolean.js.map +1 -0
  1032. package/dist/sourcegen/case.d.ts +9 -0
  1033. package/dist/sourcegen/case.js +96 -0
  1034. package/dist/sourcegen/case.js.map +1 -0
  1035. package/dist/sourcegen/comment.d.ts +32 -0
  1036. package/dist/sourcegen/comment.js +113 -0
  1037. package/dist/sourcegen/comment.js.map +1 -0
  1038. package/dist/sourcegen/decl.d.ts +43 -0
  1039. package/dist/sourcegen/decl.js +86 -0
  1040. package/dist/sourcegen/decl.js.map +1 -0
  1041. package/dist/sourcegen/declbuilder.d.ts +14 -0
  1042. package/dist/sourcegen/declbuilder.js +34 -0
  1043. package/dist/sourcegen/declbuilder.js.map +1 -0
  1044. package/dist/sourcegen/expr.d.ts +39 -0
  1045. package/dist/sourcegen/expr.js +77 -0
  1046. package/dist/sourcegen/expr.js.map +1 -0
  1047. package/dist/sourcegen/exprbuilder.d.ts +13 -0
  1048. package/dist/sourcegen/exprbuilder.js +49 -0
  1049. package/dist/sourcegen/exprbuilder.js.map +1 -0
  1050. package/dist/sourcegen/identifier.d.ts +12 -0
  1051. package/dist/sourcegen/identifier.js +22 -0
  1052. package/dist/sourcegen/identifier.js.map +1 -0
  1053. package/dist/sourcegen/index.d.ts +22 -0
  1054. package/dist/sourcegen/index.js +23 -0
  1055. package/dist/sourcegen/index.js.map +1 -0
  1056. package/dist/sourcegen/null.d.ts +5 -0
  1057. package/dist/sourcegen/null.js +7 -0
  1058. package/dist/sourcegen/null.js.map +1 -0
  1059. package/dist/sourcegen/number.d.ts +7 -0
  1060. package/dist/sourcegen/number.js +18 -0
  1061. package/dist/sourcegen/number.js.map +1 -0
  1062. package/dist/sourcegen/object.d.ts +28 -0
  1063. package/dist/sourcegen/object.js +80 -0
  1064. package/dist/sourcegen/object.js.map +1 -0
  1065. package/dist/sourcegen/objectbuilder.d.ts +25 -0
  1066. package/dist/sourcegen/objectbuilder.js +122 -0
  1067. package/dist/sourcegen/objectbuilder.js.map +1 -0
  1068. package/dist/sourcegen/output.d.ts +14 -0
  1069. package/dist/sourcegen/output.js +81 -0
  1070. package/dist/sourcegen/output.js.map +1 -0
  1071. package/dist/sourcegen/program.d.ts +53 -0
  1072. package/dist/sourcegen/program.js +254 -0
  1073. package/dist/sourcegen/program.js.map +1 -0
  1074. package/dist/sourcegen/string.d.ts +8 -0
  1075. package/dist/sourcegen/string.js +23 -0
  1076. package/dist/sourcegen/string.js.map +1 -0
  1077. package/dist/sourcegen/undefined.d.ts +5 -0
  1078. package/dist/sourcegen/undefined.js +7 -0
  1079. package/dist/sourcegen/undefined.js.map +1 -0
  1080. package/dist/sourcegen/unknown.d.ts +2 -0
  1081. package/dist/sourcegen/unknown.js +36 -0
  1082. package/dist/sourcegen/unknown.js.map +1 -0
  1083. package/dist/sourcegen/value.d.ts +4 -0
  1084. package/dist/sourcegen/value.js +3 -0
  1085. package/dist/sourcegen/value.js.map +1 -0
  1086. package/dist/testing/fixture-sandbox.d.ts +41 -0
  1087. package/dist/testing/fixture-sandbox.js +122 -0
  1088. package/dist/testing/fixture-sandbox.js.map +1 -0
  1089. package/dist/testing/global-setup.d.ts +2 -0
  1090. package/dist/testing/global-setup.js +14 -0
  1091. package/dist/testing/global-setup.js.map +1 -0
  1092. package/dist/util/index.d.ts +9 -0
  1093. package/dist/util/index.js +23 -0
  1094. package/dist/util/index.js.map +1 -0
  1095. package/oclif.manifest.json +3702 -0
  1096. package/package.json +166 -0
@@ -0,0 +1,785 @@
1
+ import fs from 'node:fs/promises';
2
+ import path from 'node:path';
3
+ import { execa } from 'execa';
4
+ import { lineage } from './walk.js';
5
+ import { shellQuote } from '../../../services/shell.js';
6
+ import { PackageJsonFile } from './package-json-file.js';
7
+ import { JsonSourceFile } from './json-source-file.js';
8
+ import { Package, Workspace } from './workspace.js';
9
+ import { Err, Ok } from './result.js';
10
+ import { parseBunLockfileVersion, parseNpmLockfileVersion, parsePnpmLockfileVersion, parseYarnLockfileVersion, } from './lockfile-package-version.js';
11
+ export class Runnable {
12
+ executable;
13
+ args;
14
+ constructor(executable, args) {
15
+ this.executable = executable;
16
+ this.args = args;
17
+ }
18
+ get unsafeDisplayCommand() {
19
+ return [this.executable, ...this.args.map(shellQuote)].join(' ');
20
+ }
21
+ }
22
+ class NotDetectedError extends Error {
23
+ }
24
+ /**
25
+ * Reads a lockfile and runs a format-specific parser over it, swallowing IO
26
+ * and parse errors so detection degrades to the caller's fallback rather than
27
+ * throwing on an unreadable or unexpected lockfile.
28
+ */
29
+ async function parseLockfileWith(lockfilePath, query, parse) {
30
+ let content;
31
+ try {
32
+ content = await fs.readFile(lockfilePath, 'utf8');
33
+ }
34
+ catch {
35
+ return undefined;
36
+ }
37
+ try {
38
+ return parse(content, query);
39
+ }
40
+ catch {
41
+ return undefined;
42
+ }
43
+ }
44
+ export class PackageManagerDetector {
45
+ async detectLockfile(dir) {
46
+ for (const lockfile of this.representativeLockfiles) {
47
+ try {
48
+ return await accessR(path.join(dir, lockfile));
49
+ }
50
+ catch {
51
+ continue;
52
+ }
53
+ }
54
+ throw new NotDetectedError();
55
+ }
56
+ /**
57
+ * Default: lockfile parsing is unsupported, so callers fall back. Package
58
+ * managers that can parse their lockfile override this.
59
+ */
60
+ // eslint-disable-next-line require-await
61
+ async resolvePackageVersionFromLockfile(lockfilePath, query) {
62
+ void lockfilePath;
63
+ void query;
64
+ return undefined;
65
+ }
66
+ detector() {
67
+ return this;
68
+ }
69
+ }
70
+ export class NpmDetector extends PackageManagerDetector {
71
+ get name() {
72
+ return 'npm';
73
+ }
74
+ priority(method) {
75
+ // npm is nearly always installed, so finding the npm binary on PATH is not
76
+ // a meaningful signal — rank it below every other built-in detector for the
77
+ // executable method. Its normal priority applies elsewhere, so it still
78
+ // wins the package-lock.json lockfile tie over cnpm.
79
+ return method === 'executable' ? 0 : 20;
80
+ }
81
+ detectUserAgent(userAgent) {
82
+ return userAgent.startsWith('npm/');
83
+ }
84
+ detectRuntime() {
85
+ return false;
86
+ }
87
+ get representativeLockfiles() {
88
+ return ['package-lock.json'];
89
+ }
90
+ get representativeConfigFile() {
91
+ return;
92
+ }
93
+ // eslint-disable-next-line require-await, @typescript-eslint/no-unused-vars
94
+ async detectConfigFile(dir) {
95
+ throw new NotDetectedError();
96
+ }
97
+ async detectExecutable(lookup) {
98
+ await lookup.detectPresence('npm');
99
+ }
100
+ installCommand() {
101
+ return new Runnable('npm', ['install']);
102
+ }
103
+ addCommand(options) {
104
+ return new Runnable('npm', [
105
+ 'install',
106
+ ...options.saveDev ? ['--save-dev'] : [],
107
+ ...options.packages,
108
+ ]);
109
+ }
110
+ execCommand(args) {
111
+ return new Runnable('npx', args);
112
+ }
113
+ async lookupWorkspace(dir) {
114
+ return await lookupNearestPackageJsonWorkspace(this, dir);
115
+ }
116
+ async resolvePackageVersionFromLockfile(lockfilePath, query) {
117
+ return await parseLockfileWith(lockfilePath, query, parseNpmLockfileVersion);
118
+ }
119
+ }
120
+ export class CNpmDetector extends PackageManagerDetector {
121
+ get name() {
122
+ return 'cnpm';
123
+ }
124
+ priority() {
125
+ return 10;
126
+ }
127
+ detectUserAgent(userAgent) {
128
+ return userAgent.startsWith('npminstall/');
129
+ }
130
+ detectRuntime() {
131
+ return false;
132
+ }
133
+ get representativeLockfiles() {
134
+ // cnpm has no lockfile of its own — it uses npm's package-lock.json. We
135
+ // claim it here so a cnpm user agent can be matched against a real
136
+ // lockfile. npm has a higher lockfile priority than cnpm, so a bare
137
+ // package-lock.json with no cnpm user agent still resolves to npm.
138
+ return ['package-lock.json'];
139
+ }
140
+ get representativeConfigFile() {
141
+ return;
142
+ }
143
+ // eslint-disable-next-line require-await, @typescript-eslint/no-unused-vars
144
+ async detectConfigFile(dir) {
145
+ throw new NotDetectedError();
146
+ }
147
+ async detectExecutable(lookup) {
148
+ await lookup.detectPresence('cnpm');
149
+ }
150
+ installCommand() {
151
+ return new Runnable('cnpm', ['install']);
152
+ }
153
+ addCommand(options) {
154
+ return new Runnable('cnpm', [
155
+ 'install',
156
+ ...options.saveDev ? ['--save-dev'] : [],
157
+ ...options.packages,
158
+ ]);
159
+ }
160
+ execCommand(args) {
161
+ return new Runnable('npx', args);
162
+ }
163
+ async lookupWorkspace(dir) {
164
+ return await lookupNearestPackageJsonWorkspace(this, dir);
165
+ }
166
+ async resolvePackageVersionFromLockfile(lockfilePath, query) {
167
+ // cnpm shares npm's package-lock.json format.
168
+ return await parseLockfileWith(lockfilePath, query, parseNpmLockfileVersion);
169
+ }
170
+ }
171
+ export class PNpmDetector extends PackageManagerDetector {
172
+ get name() {
173
+ return 'pnpm';
174
+ }
175
+ priority() {
176
+ return 60;
177
+ }
178
+ detectUserAgent(userAgent) {
179
+ return userAgent.startsWith('pnpm/');
180
+ }
181
+ detectRuntime() {
182
+ return false;
183
+ }
184
+ get representativeLockfiles() {
185
+ return ['pnpm-lock.yaml'];
186
+ }
187
+ get representativeConfigFile() {
188
+ return 'pnpm-workspace.yaml';
189
+ }
190
+ async detectConfigFile(dir) {
191
+ return await accessR(path.join(dir, this.representativeConfigFile));
192
+ }
193
+ async detectExecutable(lookup) {
194
+ await lookup.detectPresence('pnpm');
195
+ }
196
+ installCommand() {
197
+ return new Runnable('pnpm', ['install']);
198
+ }
199
+ addCommand(options) {
200
+ return new Runnable('pnpm', [
201
+ 'add',
202
+ ...options.saveDev ? ['--save-dev'] : [],
203
+ ...options.packages,
204
+ ]);
205
+ }
206
+ execCommand(args) {
207
+ return new Runnable('pnpm', args);
208
+ }
209
+ async lookupWorkspace(dir) {
210
+ // To avoid having to bring in a yaml parser, just call pnpm directly.
211
+ // However, to avoid calling pnpm if it's likely not installed, detect
212
+ // the presence of the workspace file first.
213
+ for (const searchPath of lineage(dir)) {
214
+ try {
215
+ await this.detectConfigFile(searchPath);
216
+ }
217
+ catch {
218
+ continue;
219
+ }
220
+ const pnpmArgs = [
221
+ 'list',
222
+ '--json',
223
+ '--recursive',
224
+ '--depth',
225
+ '1',
226
+ ];
227
+ const result = await execa('pnpm', pnpmArgs, {
228
+ cwd: searchPath,
229
+ });
230
+ const output = JSON.parse(result.stdout);
231
+ if (!Array.isArray(output)) {
232
+ throw new Error(`The output of 'pnpm list' was not an array (stdout=${result.stdout}, stderr=${result.stderr})`);
233
+ }
234
+ const [root, dependencies] = output.reduce(([root, dependencies], project) => {
235
+ if (root === undefined) {
236
+ return [project, dependencies];
237
+ }
238
+ // The project with the shortest path should be the workspace root.
239
+ if (root.path.length > project.path.length) {
240
+ return [project, [...dependencies, root]];
241
+ }
242
+ return [root, [...dependencies, project]];
243
+ }, [undefined, []]);
244
+ if (root === undefined) {
245
+ return;
246
+ }
247
+ const rootPackage = new Package({
248
+ name: root.name,
249
+ path: root.path,
250
+ workspaces: dependencies.map(dep => dep.path),
251
+ });
252
+ const packages = dependencies.map(({ name, path }) => {
253
+ return new Package({
254
+ name,
255
+ path,
256
+ });
257
+ });
258
+ return await initWorkspace(this, {
259
+ root: rootPackage,
260
+ packages,
261
+ });
262
+ }
263
+ }
264
+ async resolvePackageVersionFromLockfile(lockfilePath, query) {
265
+ return await parseLockfileWith(lockfilePath, query, parsePnpmLockfileVersion);
266
+ }
267
+ }
268
+ export class YarnDetector extends PackageManagerDetector {
269
+ get name() {
270
+ return 'yarn';
271
+ }
272
+ priority() {
273
+ return 30;
274
+ }
275
+ detectUserAgent(userAgent) {
276
+ return userAgent.startsWith('yarn/');
277
+ }
278
+ detectRuntime() {
279
+ return false;
280
+ }
281
+ get representativeLockfiles() {
282
+ return ['yarn.lock'];
283
+ }
284
+ get representativeConfigFile() {
285
+ return;
286
+ }
287
+ // eslint-disable-next-line require-await, @typescript-eslint/no-unused-vars
288
+ async detectConfigFile(dir) {
289
+ throw new NotDetectedError();
290
+ }
291
+ async detectExecutable(lookup) {
292
+ await lookup.detectPresence('yarn');
293
+ }
294
+ installCommand() {
295
+ return new Runnable('yarn', ['install']);
296
+ }
297
+ addCommand(options) {
298
+ return new Runnable('yarn', [
299
+ 'add',
300
+ ...options.saveDev ? ['--dev'] : [],
301
+ ...options.packages,
302
+ ]);
303
+ }
304
+ execCommand(args) {
305
+ return new Runnable('yarn', args);
306
+ }
307
+ async lookupWorkspace(dir) {
308
+ return await lookupNearestPackageJsonWorkspace(this, dir);
309
+ }
310
+ async resolvePackageVersionFromLockfile(lockfilePath, query) {
311
+ return await parseLockfileWith(lockfilePath, query, parseYarnLockfileVersion);
312
+ }
313
+ }
314
+ export class DenoDetector extends PackageManagerDetector {
315
+ get name() {
316
+ return 'deno';
317
+ }
318
+ priority() {
319
+ return 40;
320
+ }
321
+ detectUserAgent(userAgent) {
322
+ return userAgent.startsWith('deno/');
323
+ }
324
+ detectRuntime() {
325
+ return process.versions.deno !== undefined;
326
+ }
327
+ get representativeLockfiles() {
328
+ return ['deno.lock'];
329
+ }
330
+ get representativeConfigFile() {
331
+ return 'deno.json';
332
+ }
333
+ async detectConfigFile(dir) {
334
+ return await accessR(path.join(dir, this.representativeConfigFile));
335
+ }
336
+ async detectExecutable(lookup) {
337
+ await lookup.detectPresence('deno');
338
+ }
339
+ installCommand() {
340
+ return new Runnable('deno', ['install']);
341
+ }
342
+ addCommand(options) {
343
+ return new Runnable('deno', [
344
+ 'add',
345
+ ...options.saveDev ? ['--dev'] : [],
346
+ ...options.packages,
347
+ ]);
348
+ }
349
+ execCommand(args) {
350
+ return new Runnable('deno', ['run', '-A', `npm:${args[0]}`, ...args.slice(1)]);
351
+ }
352
+ async lookupWorkspace(dir) {
353
+ for (const searchPath of lineage(dir)) {
354
+ try {
355
+ const configFile = await this.detectConfigFile(searchPath);
356
+ const jsonFile = await JsonSourceFile.loadFromFilePath(configFile);
357
+ if (!jsonFile) {
358
+ continue;
359
+ }
360
+ const rootPackage = await Package.loadFromDirPath(searchPath);
361
+ if (rootPackage === undefined) {
362
+ continue;
363
+ }
364
+ const workspaces = jsonFile.data.workspace?.map(packagePath => {
365
+ return path.resolve(searchPath, packagePath);
366
+ });
367
+ if (!workspaces) {
368
+ continue;
369
+ }
370
+ const packages = [];
371
+ for (const workspace of workspaces) {
372
+ const workspacePackage = await Package.loadFromDirPath(workspace);
373
+ if (workspacePackage === undefined) {
374
+ continue;
375
+ }
376
+ packages.push(workspacePackage);
377
+ }
378
+ return await initWorkspace(this, {
379
+ root: rootPackage,
380
+ packages,
381
+ });
382
+ }
383
+ catch {
384
+ continue;
385
+ }
386
+ }
387
+ }
388
+ }
389
+ export class BunDetector extends PackageManagerDetector {
390
+ get name() {
391
+ return 'bun';
392
+ }
393
+ priority() {
394
+ return 50;
395
+ }
396
+ detectUserAgent(userAgent) {
397
+ return userAgent.startsWith('bun/');
398
+ }
399
+ detectRuntime() {
400
+ return process.versions.bun !== undefined;
401
+ }
402
+ get representativeLockfiles() {
403
+ return ['bun.lock', 'bun.lockb'];
404
+ }
405
+ get representativeConfigFile() {
406
+ return;
407
+ }
408
+ // eslint-disable-next-line require-await, @typescript-eslint/no-unused-vars
409
+ async detectConfigFile(dir) {
410
+ throw new NotDetectedError();
411
+ }
412
+ async detectExecutable(lookup) {
413
+ await lookup.detectPresence('bun');
414
+ }
415
+ installCommand() {
416
+ return new Runnable('bun', ['install']);
417
+ }
418
+ addCommand(options) {
419
+ return new Runnable('bun', [
420
+ 'add',
421
+ ...options.saveDev ? ['--dev'] : [],
422
+ ...options.packages,
423
+ ]);
424
+ }
425
+ execCommand(args) {
426
+ return new Runnable('bunx', args);
427
+ }
428
+ async lookupWorkspace(dir) {
429
+ return await lookupNearestPackageJsonWorkspace(this, dir);
430
+ }
431
+ async resolvePackageVersionFromLockfile(lockfilePath, query) {
432
+ // The legacy binary lockfile (bun.lockb) isn't parseable here; only the
433
+ // text format (bun.lock) is. Skip the binary form so the caller falls back.
434
+ if (lockfilePath.endsWith('.lockb')) {
435
+ return undefined;
436
+ }
437
+ return await parseLockfileWith(lockfilePath, query, parseBunLockfileVersion);
438
+ }
439
+ }
440
+ async function accessR(filePath) {
441
+ try {
442
+ await fs.access(filePath, fs.constants.R_OK);
443
+ return filePath;
444
+ }
445
+ catch {
446
+ throw new NotDetectedError();
447
+ }
448
+ }
449
+ async function accessX(filePath) {
450
+ try {
451
+ await fs.access(filePath, fs.constants.X_OK);
452
+ return filePath;
453
+ }
454
+ catch {
455
+ throw new NotDetectedError();
456
+ }
457
+ }
458
+ function* chunks(array, size) {
459
+ for (let i = 0, l = array.length; i < l; i += size) {
460
+ yield array.slice(i, i + size);
461
+ }
462
+ }
463
+ /**
464
+ * Inspiration taken from https://github.com/otiai10/lookpath.
465
+ */
466
+ export class PathLookup {
467
+ static win = process.platform.startsWith('win');
468
+ paths;
469
+ pathext;
470
+ pathextSet = new Set();
471
+ constructor() {
472
+ if (PathLookup.win) {
473
+ this.paths = process.env['Path']?.split(path.delimiter) ?? [];
474
+ this.pathext = process.env['PATHEXT']?.split(path.delimiter) ?? [];
475
+ this.pathext.forEach(ext => this.pathextSet.add(ext.toUpperCase()));
476
+ }
477
+ else {
478
+ this.paths = process.env['PATH']?.split(path.delimiter) ?? [];
479
+ this.pathext = [];
480
+ }
481
+ }
482
+ // eslint-disable-next-line require-await
483
+ async detectPresence(executable) {
484
+ const foundPath = this.lookupPath(executable);
485
+ if (foundPath === undefined) {
486
+ throw new NotDetectedError();
487
+ }
488
+ }
489
+ async lookupPath(executable) {
490
+ const ext = path.extname(executable).toUpperCase();
491
+ const paths = this.paths.flatMap(prefix => {
492
+ if (this.pathextSet.has(ext)) {
493
+ return [path.join(prefix, executable)];
494
+ }
495
+ return [
496
+ path.join(prefix, executable),
497
+ ...this.pathext.map(ext => path.join(prefix, executable + ext)),
498
+ ];
499
+ });
500
+ // There may be a large number of paths. With Promise.all(), we'd have to
501
+ // wait until every single possible path has been checked even if we found
502
+ // a match immediately. Use reasonably sized chunks instead.
503
+ //
504
+ // On Windows (where PATHEXT exists), make sure that the chunk size is
505
+ // at least large enough to cover all the possible extensions of a path.
506
+ for (const chunk of chunks(paths, Math.max(this.pathext.length + 1, 8))) {
507
+ const results = await Promise.all(chunk.map(async (path) => {
508
+ try {
509
+ await accessX(path);
510
+ return path;
511
+ }
512
+ catch {
513
+ return;
514
+ }
515
+ }));
516
+ for (const result of results) {
517
+ if (result !== undefined) {
518
+ return result;
519
+ }
520
+ }
521
+ }
522
+ }
523
+ }
524
+ export const npmPackageManager = new NpmDetector();
525
+ // Detection precedence is governed by each detector's priority(method), not by
526
+ // this array's order, so listing is free to stay readable. (The order is still
527
+ // used verbatim for the `checkly import` package-manager prompt menu.)
528
+ export const knownPackageManagers = [
529
+ new PNpmDetector(),
530
+ new BunDetector(),
531
+ new DenoDetector(),
532
+ new YarnDetector(),
533
+ npmPackageManager,
534
+ new CNpmDetector(),
535
+ ];
536
+ async function detectPackageManagerImpl(dir, options) {
537
+ const { detectors, requireLockfile, } = options;
538
+ // Detectors are evaluated highest-priority-first within each detection
539
+ // method, so the order they were supplied in never affects the result.
540
+ const ordered = (method) => [...detectors].sort((a, b) => b.priority(method) - a.priority(method));
541
+ const lockfileDetected = new Set(Array.from(await detectNearestLockfiles(dir, {
542
+ detectors,
543
+ root: options?.root,
544
+ }).catch(() => []), ({ packageManager }) => packageManager));
545
+ // Try user agent first.
546
+ const userAgent = process.env['npm_config_user_agent'];
547
+ if (userAgent !== undefined) {
548
+ for (const detector of ordered('userAgent')) {
549
+ if (detector.detectUserAgent(userAgent)) {
550
+ if ((!requireLockfile || lockfileDetected.has(detector))) {
551
+ return detector;
552
+ }
553
+ }
554
+ }
555
+ }
556
+ // Next, try runtime.
557
+ for (const detector of ordered('runtime')) {
558
+ if (detector.detectRuntime()) {
559
+ if ((!requireLockfile || lockfileDetected.has(detector))) {
560
+ return detector;
561
+ }
562
+ }
563
+ }
564
+ // Next, try to find a lockfile. When several package managers claim a lockfile
565
+ // in the nearest directory (e.g. npm and cnpm both claim package-lock.json),
566
+ // the highest-priority one wins.
567
+ const lockfileWinner = ordered('lockfile').find(detector => lockfileDetected.has(detector));
568
+ if (lockfileWinner !== undefined) {
569
+ return lockfileWinner;
570
+ }
571
+ // If we get here, there's no lockfile, in which case we have to stop
572
+ // if it's required.
573
+ if (requireLockfile) {
574
+ return undefined;
575
+ }
576
+ // Next, try to find a config file. As with lockfiles, when several package
577
+ // managers have a config file in the nearest directory, the highest-priority
578
+ // one wins.
579
+ const configDetected = new Set(Array.from(await detectNearestConfigFiles(dir, {
580
+ detectors,
581
+ root: options?.root,
582
+ }).catch(() => []), ({ packageManager }) => packageManager));
583
+ const configWinner = ordered('configFile').find(detector => configDetected.has(detector));
584
+ if (configWinner !== undefined) {
585
+ return configWinner;
586
+ }
587
+ // Finally, try to find a relevant executable.
588
+ //
589
+ // This can generate a whole bunch of path lookups. Try one by one despite
590
+ // async support.
591
+ const lookup = new PathLookup();
592
+ for (const detector of ordered('executable')) {
593
+ try {
594
+ await detector.detectExecutable(lookup);
595
+ return detector;
596
+ }
597
+ catch {
598
+ continue;
599
+ }
600
+ }
601
+ return undefined;
602
+ }
603
+ export async function detectPackageManager(dir, options) {
604
+ const detectors = options?.detectors ?? knownPackageManagers;
605
+ // Try with lockfile required first, which gives a stronger signal.
606
+ // Fall back to not requiring it.
607
+ for (const requireLockfile of [true, false]) {
608
+ const pm = await detectPackageManagerImpl(dir, {
609
+ detectors,
610
+ requireLockfile,
611
+ root: options?.root,
612
+ });
613
+ if (pm !== undefined) {
614
+ return pm;
615
+ }
616
+ }
617
+ // If all else fails, just assume npm.
618
+ return npmPackageManager;
619
+ }
620
+ export class NoLockfileFoundError extends Error {
621
+ searchPaths;
622
+ lockfiles;
623
+ constructor(searchPaths, lockfiles, options) {
624
+ const message = `Unable to detect a lockfile in any of the following paths:`
625
+ + `\n\n`
626
+ + `${searchPaths.map(searchPath => ` ${searchPath}`).join('\n')}`
627
+ + `\n\n`
628
+ + `Lockfiles we looked for:`
629
+ + `\n\n`
630
+ + `${lockfiles.map(lockfile => ` ${lockfile}`).join('\n')}`;
631
+ super(message, options);
632
+ this.name = 'NoLockfileFoundError';
633
+ this.searchPaths = searchPaths;
634
+ this.lockfiles = lockfiles;
635
+ }
636
+ }
637
+ /**
638
+ * Searches `dir` and every parent directory (up to and including
639
+ * `options.root`) for a lockfile of any of the given `options.detectors`
640
+ * (or all known package manager detectors if not given). The search stops
641
+ * when a directory containing lockfiles is found.
642
+ *
643
+ * @returns All detected lockfiles in the directory.
644
+ * @throws {NoLockfileFoundError} If no directory containing a lockfile is found.
645
+ */
646
+ export async function detectNearestLockfiles(dir, options) {
647
+ const detectors = options?.detectors ?? knownPackageManagers;
648
+ const searchPaths = [];
649
+ for (const searchPath of lineage(dir, { root: options?.root })) {
650
+ searchPaths.push(searchPath);
651
+ const results = await Promise.all(detectors.map(async (detector) => {
652
+ try {
653
+ const lockfile = await detector.detectLockfile(searchPath);
654
+ return {
655
+ packageManager: detector,
656
+ lockfile,
657
+ };
658
+ }
659
+ catch {
660
+ return null;
661
+ }
662
+ }));
663
+ const found = results.filter(value => value !== null);
664
+ if (found.length > 0) {
665
+ return found;
666
+ }
667
+ }
668
+ const lockfiles = [...new Set(detectors.flatMap(detector => detector.representativeLockfiles))];
669
+ throw new NoLockfileFoundError(searchPaths, lockfiles);
670
+ }
671
+ export class NoConfigFileFoundError extends Error {
672
+ searchPaths;
673
+ configFiles;
674
+ constructor(searchPaths, configFiles, options) {
675
+ const message = `Unable to detect a config file in any of the following paths:`
676
+ + `\n\n`
677
+ + `${searchPaths.map(searchPath => ` ${searchPath}`).join('\n')}`
678
+ + `\n\n`
679
+ + `Config files we looked for:`
680
+ + `\n\n`
681
+ + `${configFiles.map(lockfile => ` ${lockfile}`).join('\n')}`;
682
+ super(message, options);
683
+ this.name = 'NoConfigFileFoundError';
684
+ this.searchPaths = searchPaths;
685
+ this.configFiles = configFiles;
686
+ }
687
+ }
688
+ /**
689
+ * Searches `dir` and every parent directory (up to and including
690
+ * `options.root`) for a config file of any of the given `options.detectors`
691
+ * (or all known package manager detectors if not given). The search stops
692
+ * when a directory containing config files is found.
693
+ *
694
+ * @returns All detected config files in the directory.
695
+ * @throws {NoConfigFileFoundError} If no directory containing a config file is found.
696
+ */
697
+ export async function detectNearestConfigFiles(dir, options) {
698
+ const detectors = options?.detectors ?? knownPackageManagers;
699
+ const searchPaths = [];
700
+ for (const searchPath of lineage(dir, { root: options?.root })) {
701
+ searchPaths.push(searchPath);
702
+ const results = await Promise.all(detectors.map(async (detector) => {
703
+ try {
704
+ const configFile = await detector.detectConfigFile(searchPath);
705
+ return {
706
+ packageManager: detector,
707
+ configFile,
708
+ };
709
+ }
710
+ catch {
711
+ return null;
712
+ }
713
+ }));
714
+ const found = results.filter(value => value !== null);
715
+ if (found.length > 0) {
716
+ return found;
717
+ }
718
+ }
719
+ const configFiles = [...new Set(detectors.flatMap(detector => detector.representativeConfigFile ?? []))];
720
+ throw new NoConfigFileFoundError(searchPaths, configFiles);
721
+ }
722
+ export class NoPackageJsonFoundError extends Error {
723
+ searchPaths;
724
+ constructor(searchPaths, options) {
725
+ const message = `Unable to detect a package.json in any of the following paths:`
726
+ + `\n\n`
727
+ + `${searchPaths.map(searchPath => ` ${searchPath}`).join('\n')}`;
728
+ super(message, options);
729
+ this.name = 'NoPackageJsonFoundError';
730
+ this.searchPaths = searchPaths;
731
+ }
732
+ }
733
+ export async function detectNearestPackageJson(dir, options) {
734
+ const searchPaths = [];
735
+ for (const searchPath of lineage(dir, { root: options?.root })) {
736
+ searchPaths.push(searchPath);
737
+ const packageJson = await PackageJsonFile.loadFromFilePath(PackageJsonFile.filePath(searchPath));
738
+ if (packageJson) {
739
+ return packageJson;
740
+ }
741
+ }
742
+ throw new NoPackageJsonFoundError(searchPaths);
743
+ }
744
+ export async function fauxWorkspaceFromPackageJson(packageManager, packageJsonFile) {
745
+ const rootPackage = new Package({
746
+ name: packageJsonFile.name,
747
+ path: packageJsonFile.basePath,
748
+ });
749
+ return await initWorkspace(packageManager.detector(), {
750
+ root: rootPackage,
751
+ packages: [],
752
+ });
753
+ }
754
+ async function lookupNearestPackageJsonWorkspace(detector, dir) {
755
+ for (const searchPath of lineage(dir)) {
756
+ const rootPackage = await Package.loadFromDirPath(searchPath);
757
+ if (!rootPackage) {
758
+ continue;
759
+ }
760
+ if (rootPackage.workspaces === undefined || rootPackage.workspaces.length === 0) {
761
+ continue;
762
+ }
763
+ const packages = await Workspace.resolvePatterns(searchPath, rootPackage.workspaces);
764
+ return await initWorkspace(detector, {
765
+ root: rootPackage,
766
+ packages,
767
+ });
768
+ }
769
+ }
770
+ async function initWorkspace(detector, options) {
771
+ const lockfile = await detectNearestLockfiles(options.root.path, {
772
+ root: options.root.path,
773
+ detectors: [detector],
774
+ }).then(([{ lockfile }]) => Ok(lockfile), reason => Err(reason));
775
+ const configFile = await detectNearestConfigFiles(options.root.path, {
776
+ root: options.root.path,
777
+ detectors: [detector],
778
+ }).then(([{ configFile }]) => Ok(configFile), reason => Err(reason));
779
+ return new Workspace({
780
+ ...options,
781
+ lockfile,
782
+ configFile,
783
+ });
784
+ }
785
+ //# sourceMappingURL=package-manager.js.map