checkly 9.5.0 → 10.0.0-rc.1

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 (372) hide show
  1. package/dist/ai-context/context.js +1 -0
  2. package/dist/ai-context/context.js.map +1 -1
  3. package/dist/ai-context/onboarding-boilerplate/checkly-config-template.ts +2 -0
  4. package/dist/ai-context/public-skills/checkly/SKILL.md +18 -5
  5. package/dist/ai-context/skills-command/references/communicate.md +6 -3
  6. package/dist/ai-context/skills-command/references/configure-api-checks.md +1 -9
  7. package/dist/ai-context/skills-command/references/configure-browser-checks.md +1 -8
  8. package/dist/ai-context/skills-command/references/configure-check-groups.md +1 -0
  9. package/dist/ai-context/skills-command/references/configure-dns-monitors.md +1 -9
  10. package/dist/ai-context/skills-command/references/configure-grpc-monitors.md +24 -0
  11. package/dist/ai-context/skills-command/references/configure-heartbeat-monitors.md +1 -9
  12. package/dist/ai-context/skills-command/references/configure-icmp-monitors.md +1 -9
  13. package/dist/ai-context/skills-command/references/configure-multistep-checks.md +1 -9
  14. package/dist/ai-context/skills-command/references/configure-playwright-checks.md +1 -1
  15. package/dist/ai-context/skills-command/references/configure-supporting-constructs.md +6 -2
  16. package/dist/ai-context/skills-command/references/configure-tcp-monitors.md +1 -10
  17. package/dist/ai-context/skills-command/references/configure-url-monitors.md +1 -10
  18. package/dist/ai-context/skills-command/references/configure.md +16 -5
  19. package/dist/ai-context/skills-command/references/initialize.md +11 -3
  20. package/dist/ai-context/skills-command/references/investigate-checks.md +1 -1
  21. package/dist/auth/api-key.d.ts +24 -0
  22. package/dist/auth/api-key.js +104 -0
  23. package/dist/auth/api-key.js.map +1 -0
  24. package/dist/auth/device-flow.d.ts +57 -0
  25. package/dist/auth/device-flow.js +221 -0
  26. package/dist/auth/device-flow.js.map +1 -0
  27. package/dist/auth/index.d.ts +6 -6
  28. package/dist/auth/index.js +64 -64
  29. package/dist/auth/index.js.map +1 -1
  30. package/dist/commands/api.js +43 -10
  31. package/dist/commands/api.js.map +1 -1
  32. package/dist/commands/authCommand.d.ts +2 -0
  33. package/dist/commands/authCommand.js +77 -7
  34. package/dist/commands/authCommand.js.map +1 -1
  35. package/dist/commands/debug/parse-project.d.ts +1 -0
  36. package/dist/commands/debug/parse-project.js +5 -2
  37. package/dist/commands/debug/parse-project.js.map +1 -1
  38. package/dist/commands/deploy.d.ts +7 -1
  39. package/dist/commands/deploy.js +627 -271
  40. package/dist/commands/deploy.js.map +1 -1
  41. package/dist/commands/import/plan.js +18 -4
  42. package/dist/commands/import/plan.js.map +1 -1
  43. package/dist/commands/init.js +29 -13
  44. package/dist/commands/init.js.map +1 -1
  45. package/dist/commands/login.d.ts +18 -2
  46. package/dist/commands/login.js +681 -48
  47. package/dist/commands/login.js.map +1 -1
  48. package/dist/commands/logout.js +7 -1
  49. package/dist/commands/logout.js.map +1 -1
  50. package/dist/commands/pw-test.js +3 -2
  51. package/dist/commands/pw-test.js.map +1 -1
  52. package/dist/commands/switch.js +23 -10
  53. package/dist/commands/switch.js.map +1 -1
  54. package/dist/commands/test.js +16 -17
  55. package/dist/commands/test.js.map +1 -1
  56. package/dist/commands/trigger.js +4 -3
  57. package/dist/commands/trigger.js.map +1 -1
  58. package/dist/commands/validate.js +1 -0
  59. package/dist/commands/validate.js.map +1 -1
  60. package/dist/constants.d.ts +1 -2
  61. package/dist/constants.js +0 -1
  62. package/dist/constants.js.map +1 -1
  63. package/dist/constructs/alert-channel-codegen.d.ts +6 -1
  64. package/dist/constructs/alert-channel-codegen.js +12 -6
  65. package/dist/constructs/alert-channel-codegen.js.map +1 -1
  66. package/dist/constructs/alert-escalation-policy-codegen.d.ts +7 -0
  67. package/dist/constructs/alert-escalation-policy-codegen.js +25 -8
  68. package/dist/constructs/alert-escalation-policy-codegen.js.map +1 -1
  69. package/dist/constructs/api-assertion.d.ts +0 -2
  70. package/dist/constructs/api-assertion.js +0 -4
  71. package/dist/constructs/api-assertion.js.map +1 -1
  72. package/dist/constructs/api-check-codegen.js +1 -1
  73. package/dist/constructs/api-check-codegen.js.map +1 -1
  74. package/dist/constructs/api-check.d.ts +4 -22
  75. package/dist/constructs/api-check.js +15 -17
  76. package/dist/constructs/api-check.js.map +1 -1
  77. package/dist/constructs/api-request-codegen.js +10 -8
  78. package/dist/constructs/api-request-codegen.js.map +1 -1
  79. package/dist/constructs/browser-check-bundle.d.ts +19 -13
  80. package/dist/constructs/browser-check-bundle.js +5 -1
  81. package/dist/constructs/browser-check-bundle.js.map +1 -1
  82. package/dist/constructs/browser-check.d.ts +1 -4
  83. package/dist/constructs/browser-check.js +1 -1
  84. package/dist/constructs/browser-check.js.map +1 -1
  85. package/dist/constructs/check-codegen.d.ts +39 -14
  86. package/dist/constructs/check-codegen.js +101 -23
  87. package/dist/constructs/check-codegen.js.map +1 -1
  88. package/dist/constructs/check-group-codegen.js +23 -9
  89. package/dist/constructs/check-group-codegen.js.map +1 -1
  90. package/dist/constructs/check-group-v1.d.ts +19 -14
  91. package/dist/constructs/check-group-v1.js +39 -14
  92. package/dist/constructs/check-group-v1.js.map +1 -1
  93. package/dist/constructs/check-group-v2.d.ts +0 -20
  94. package/dist/constructs/check-group-v2.js +0 -4
  95. package/dist/constructs/check-group-v2.js.map +1 -1
  96. package/dist/constructs/check.d.ts +45 -32
  97. package/dist/constructs/check.js +78 -17
  98. package/dist/constructs/check.js.map +1 -1
  99. package/dist/constructs/construct-codegen.d.ts +1 -2
  100. package/dist/constructs/construct-diagnostics.d.ts +3 -0
  101. package/dist/constructs/construct-diagnostics.js +11 -0
  102. package/dist/constructs/construct-diagnostics.js.map +1 -1
  103. package/dist/constructs/construct.d.ts +25 -4
  104. package/dist/constructs/construct.js +41 -5
  105. package/dist/constructs/construct.js.map +1 -1
  106. package/dist/constructs/dns-request-codegen.js +1 -1
  107. package/dist/constructs/dns-request-codegen.js.map +1 -1
  108. package/dist/constructs/email-alert-channel-codegen.js +1 -1
  109. package/dist/constructs/email-alert-channel-codegen.js.map +1 -1
  110. package/dist/constructs/frequency-codegen.js +10 -2
  111. package/dist/constructs/frequency-codegen.js.map +1 -1
  112. package/dist/constructs/frequency.d.ts +8 -3
  113. package/dist/constructs/frequency.js +7 -2
  114. package/dist/constructs/frequency.js.map +1 -1
  115. package/dist/constructs/grpc-monitor.js +19 -0
  116. package/dist/constructs/grpc-monitor.js.map +1 -1
  117. package/dist/constructs/grpc-request-codegen.js +13 -4
  118. package/dist/constructs/grpc-request-codegen.js.map +1 -1
  119. package/dist/constructs/grpc-request.d.ts +23 -0
  120. package/dist/constructs/heartbeat-monitor.d.ts +2 -1
  121. package/dist/constructs/heartbeat-monitor.js +2 -2
  122. package/dist/constructs/heartbeat-monitor.js.map +1 -1
  123. package/dist/constructs/icmp-request-codegen.js +1 -1
  124. package/dist/constructs/icmp-request-codegen.js.map +1 -1
  125. package/dist/constructs/incidentio-alert-channel-codegen.d.ts +1 -1
  126. package/dist/constructs/incidentio-alert-channel-codegen.js +14 -8
  127. package/dist/constructs/incidentio-alert-channel-codegen.js.map +1 -1
  128. package/dist/constructs/index.d.ts +1 -1
  129. package/dist/constructs/index.js +1 -1
  130. package/dist/constructs/index.js.map +1 -1
  131. package/dist/constructs/internal/assertion-validation.js +1 -2
  132. package/dist/constructs/internal/assertion-validation.js.map +1 -1
  133. package/dist/constructs/internal/codegen/context.d.ts +73 -6
  134. package/dist/constructs/internal/codegen/context.js +78 -6
  135. package/dist/constructs/internal/codegen/context.js.map +1 -1
  136. package/dist/constructs/internal/codegen/index.d.ts +3 -1
  137. package/dist/constructs/internal/codegen/index.js +2 -1
  138. package/dist/constructs/internal/codegen/index.js.map +1 -1
  139. package/dist/constructs/internal/codegen/render.d.ts +68 -0
  140. package/dist/constructs/internal/codegen/render.js +75 -0
  141. package/dist/constructs/internal/codegen/render.js.map +1 -0
  142. package/dist/constructs/internal/common-diagnostics.d.ts +1 -2
  143. package/dist/constructs/internal/common-diagnostics.js +6 -14
  144. package/dist/constructs/internal/common-diagnostics.js.map +1 -1
  145. package/dist/constructs/internal/declaring-file.d.ts +39 -0
  146. package/dist/constructs/internal/declaring-file.js +139 -0
  147. package/dist/constructs/internal/declaring-file.js.map +1 -0
  148. package/dist/constructs/internal/retry-strategy-defaults.d.ts +13 -0
  149. package/dist/constructs/internal/retry-strategy-defaults.js +14 -0
  150. package/dist/constructs/internal/retry-strategy-defaults.js.map +1 -0
  151. package/dist/constructs/key-value-pair-codegen.d.ts +6 -1
  152. package/dist/constructs/key-value-pair-codegen.js +24 -3
  153. package/dist/constructs/key-value-pair-codegen.js.map +1 -1
  154. package/dist/constructs/maintenance-window-codegen.d.ts +7 -0
  155. package/dist/constructs/maintenance-window-codegen.js +36 -19
  156. package/dist/constructs/maintenance-window-codegen.js.map +1 -1
  157. package/dist/constructs/maintenance-window.d.ts +35 -3
  158. package/dist/constructs/maintenance-window.js +35 -1
  159. package/dist/constructs/maintenance-window.js.map +1 -1
  160. package/dist/constructs/monitor.d.ts +1 -1
  161. package/dist/constructs/msteams-alert-channel-codegen.d.ts +1 -1
  162. package/dist/constructs/msteams-alert-channel-codegen.js +8 -18
  163. package/dist/constructs/msteams-alert-channel-codegen.js.map +1 -1
  164. package/dist/constructs/opsgenie-alert-channel-codegen.js +1 -1
  165. package/dist/constructs/opsgenie-alert-channel-codegen.js.map +1 -1
  166. package/dist/constructs/pagerduty-alert-channel-codegen.js +1 -1
  167. package/dist/constructs/pagerduty-alert-channel-codegen.js.map +1 -1
  168. package/dist/constructs/phone-call-alert-channel-codegen.js +1 -1
  169. package/dist/constructs/phone-call-alert-channel-codegen.js.map +1 -1
  170. package/dist/constructs/playwright-check-bundle.d.ts +7 -1
  171. package/dist/constructs/playwright-check-bundle.js +3 -0
  172. package/dist/constructs/playwright-check-bundle.js.map +1 -1
  173. package/dist/constructs/playwright-check-codegen.d.ts +85 -0
  174. package/dist/constructs/playwright-check-codegen.js +212 -0
  175. package/dist/constructs/playwright-check-codegen.js.map +1 -0
  176. package/dist/constructs/playwright-check.d.ts +14 -24
  177. package/dist/constructs/playwright-check.js +16 -52
  178. package/dist/constructs/playwright-check.js.map +1 -1
  179. package/dist/constructs/retry-strategy-codegen.d.ts +7 -1
  180. package/dist/constructs/retry-strategy-codegen.js +41 -32
  181. package/dist/constructs/retry-strategy-codegen.js.map +1 -1
  182. package/dist/constructs/retry-strategy.d.ts +0 -4
  183. package/dist/constructs/retry-strategy.js +5 -8
  184. package/dist/constructs/retry-strategy.js.map +1 -1
  185. package/dist/constructs/session.d.ts +26 -1
  186. package/dist/constructs/session.js +33 -2
  187. package/dist/constructs/session.js.map +1 -1
  188. package/dist/constructs/slack-alert-channel-codegen.js +1 -1
  189. package/dist/constructs/slack-alert-channel-codegen.js.map +1 -1
  190. package/dist/constructs/slack-app-alert-channel-codegen.js +1 -1
  191. package/dist/constructs/slack-app-alert-channel-codegen.js.map +1 -1
  192. package/dist/constructs/sms-alert-channel-codegen.js +1 -1
  193. package/dist/constructs/sms-alert-channel-codegen.js.map +1 -1
  194. package/dist/constructs/ssl-request-codegen.js +4 -3
  195. package/dist/constructs/ssl-request-codegen.js.map +1 -1
  196. package/dist/constructs/status-page-v3-automation-rule-codegen.js +5 -4
  197. package/dist/constructs/status-page-v3-automation-rule-codegen.js.map +1 -1
  198. package/dist/constructs/status-page-v3-codegen.js +3 -2
  199. package/dist/constructs/status-page-v3-codegen.js.map +1 -1
  200. package/dist/constructs/status-page-v3-component-codegen.js +8 -7
  201. package/dist/constructs/status-page-v3-component-codegen.js.map +1 -1
  202. package/dist/constructs/tcp-monitor-codegen.js +3 -2
  203. package/dist/constructs/tcp-monitor-codegen.js.map +1 -1
  204. package/dist/constructs/tcp-monitor.d.ts +4 -3
  205. package/dist/constructs/tcp-monitor.js +3 -2
  206. package/dist/constructs/tcp-monitor.js.map +1 -1
  207. package/dist/constructs/telegram-alert-channel-codegen.d.ts +1 -1
  208. package/dist/constructs/telegram-alert-channel-codegen.js +14 -8
  209. package/dist/constructs/telegram-alert-channel-codegen.js.map +1 -1
  210. package/dist/constructs/time-zone.d.ts +24 -0
  211. package/dist/constructs/time-zone.js +455 -0
  212. package/dist/constructs/time-zone.js.map +1 -0
  213. package/dist/constructs/traceroute-request-codegen.js +2 -2
  214. package/dist/constructs/traceroute-request-codegen.js.map +1 -1
  215. package/dist/constructs/url-monitor-codegen.js +1 -1
  216. package/dist/constructs/url-monitor-codegen.js.map +1 -1
  217. package/dist/constructs/url-monitor.d.ts +3 -2
  218. package/dist/constructs/url-monitor.js +3 -0
  219. package/dist/constructs/url-monitor.js.map +1 -1
  220. package/dist/constructs/url-request-codegen.js +4 -3
  221. package/dist/constructs/url-request-codegen.js.map +1 -1
  222. package/dist/constructs/webhook-alert-channel-codegen.js +3 -3
  223. package/dist/constructs/webhook-alert-channel-codegen.js.map +1 -1
  224. package/dist/formatters/check-result-detail.js +0 -185
  225. package/dist/formatters/check-result-detail.js.map +1 -1
  226. package/dist/helpers/activate-account.d.ts +14 -0
  227. package/dist/helpers/activate-account.js +25 -0
  228. package/dist/helpers/activate-account.js.map +1 -0
  229. package/dist/helpers/cli-mode.d.ts +18 -0
  230. package/dist/helpers/cli-mode.js +41 -2
  231. package/dist/helpers/cli-mode.js.map +1 -1
  232. package/dist/helpers/command-preview.d.ts +44 -0
  233. package/dist/helpers/command-preview.js +29 -9
  234. package/dist/helpers/command-preview.js.map +1 -1
  235. package/dist/helpers/flags.d.ts +10 -0
  236. package/dist/helpers/flags.js +17 -0
  237. package/dist/helpers/flags.js.map +1 -1
  238. package/dist/helpers/onboarding/boilerplate.js +13 -1
  239. package/dist/helpers/onboarding/boilerplate.js.map +1 -1
  240. package/dist/helpers/onboarding/index.d.ts +1 -1
  241. package/dist/helpers/onboarding/index.js +1 -1
  242. package/dist/helpers/onboarding/index.js.map +1 -1
  243. package/dist/helpers/onboarding/messages.d.ts +6 -0
  244. package/dist/helpers/onboarding/messages.js +14 -0
  245. package/dist/helpers/onboarding/messages.js.map +1 -1
  246. package/dist/helpers/onboarding/skill-install.js +2 -2
  247. package/dist/helpers/onboarding/skill-install.js.map +1 -1
  248. package/dist/helpers/wrap.js +1 -1
  249. package/dist/helpers/wrap.js.map +1 -1
  250. package/dist/reporters/abstract-list.js +11 -2
  251. package/dist/reporters/abstract-list.js.map +1 -1
  252. package/dist/reporters/github.js +3 -2
  253. package/dist/reporters/github.js.map +1 -1
  254. package/dist/reporters/util.d.ts +1 -0
  255. package/dist/reporters/util.js +5 -58
  256. package/dist/reporters/util.js.map +1 -1
  257. package/dist/rest/analytics.js +0 -4
  258. package/dist/rest/analytics.js.map +1 -1
  259. package/dist/rest/api.d.ts +8 -1
  260. package/dist/rest/api.js +21 -3
  261. package/dist/rest/api.js.map +1 -1
  262. package/dist/rest/check-results.d.ts +1 -50
  263. package/dist/rest/check-results.js.map +1 -1
  264. package/dist/rest/checkly-storage.d.ts +6 -1
  265. package/dist/rest/checkly-storage.js +13 -2
  266. package/dist/rest/checkly-storage.js.map +1 -1
  267. package/dist/rest/errors.d.ts +13 -0
  268. package/dist/rest/errors.js +5 -1
  269. package/dist/rest/errors.js.map +1 -1
  270. package/dist/rest/projects.d.ts +254 -4
  271. package/dist/rest/projects.js +184 -12
  272. package/dist/rest/projects.js.map +1 -1
  273. package/dist/services/abstract-check-runner.d.ts +11 -0
  274. package/dist/services/abstract-check-runner.js +98 -46
  275. package/dist/services/abstract-check-runner.js.map +1 -1
  276. package/dist/services/check-parser/bundler.d.ts +26 -0
  277. package/dist/services/check-parser/bundler.js +81 -7
  278. package/dist/services/check-parser/bundler.js.map +1 -1
  279. package/dist/services/check-parser/cache-hash.d.ts +1 -4
  280. package/dist/services/check-parser/cache-hash.js.map +1 -1
  281. package/dist/services/checkly-config-codegen.js +1 -4
  282. package/dist/services/checkly-config-codegen.js.map +1 -1
  283. package/dist/services/checkly-config-loader.d.ts +7 -33
  284. package/dist/services/checkly-config-loader.js +50 -47
  285. package/dist/services/checkly-config-loader.js.map +1 -1
  286. package/dist/services/config.d.ts +2 -0
  287. package/dist/services/config.js +14 -0
  288. package/dist/services/config.js.map +1 -1
  289. package/dist/services/content-hash.d.ts +14 -0
  290. package/dist/services/content-hash.js +22 -0
  291. package/dist/services/content-hash.js.map +1 -0
  292. package/dist/services/deploy-diff/diff-lines.d.ts +38 -0
  293. package/dist/services/deploy-diff/diff-lines.js +191 -0
  294. package/dist/services/deploy-diff/diff-lines.js.map +1 -0
  295. package/dist/services/deploy-diff/import-shape.d.ts +171 -0
  296. package/dist/services/deploy-diff/import-shape.js +633 -0
  297. package/dist/services/deploy-diff/import-shape.js.map +1 -0
  298. package/dist/services/deploy-diff/legacy-payload.d.ts +22 -0
  299. package/dist/services/deploy-diff/legacy-payload.js +51 -0
  300. package/dist/services/deploy-diff/legacy-payload.js.map +1 -0
  301. package/dist/services/deploy-diff/plan-summary.d.ts +37 -0
  302. package/dist/services/deploy-diff/plan-summary.js +154 -0
  303. package/dist/services/deploy-diff/plan-summary.js.map +1 -0
  304. package/dist/services/deploy-diff/preview-output.d.ts +61 -0
  305. package/dist/services/deploy-diff/preview-output.js +394 -0
  306. package/dist/services/deploy-diff/preview-output.js.map +1 -0
  307. package/dist/services/deploy-diff/render.d.ts +53 -0
  308. package/dist/services/deploy-diff/render.js +317 -0
  309. package/dist/services/deploy-diff/render.js.map +1 -0
  310. package/dist/services/deploy-diff/shape-changes.d.ts +2 -0
  311. package/dist/services/deploy-diff/shape-changes.js +35 -0
  312. package/dist/services/deploy-diff/shape-changes.js.map +1 -0
  313. package/dist/services/deploy-diff/source-index.d.ts +18 -0
  314. package/dist/services/deploy-diff/source-index.js +48 -0
  315. package/dist/services/deploy-diff/source-index.js.map +1 -0
  316. package/dist/services/deploy-diff/variable-names.d.ts +30 -0
  317. package/dist/services/deploy-diff/variable-names.js +64 -0
  318. package/dist/services/deploy-diff/variable-names.js.map +1 -0
  319. package/dist/services/project-parser.d.ts +5 -0
  320. package/dist/services/project-parser.js +25 -13
  321. package/dist/services/project-parser.js.map +1 -1
  322. package/dist/services/snapshot-service.d.ts +25 -8
  323. package/dist/services/snapshot-service.js +46 -4
  324. package/dist/services/snapshot-service.js.map +1 -1
  325. package/dist/services/test-filters.d.ts +18 -0
  326. package/dist/services/test-filters.js +10 -0
  327. package/dist/services/test-filters.js.map +1 -1
  328. package/dist/services/test-runner.js +7 -3
  329. package/dist/services/test-runner.js.map +1 -1
  330. package/dist/services/test-session-cancel.js +1 -1
  331. package/dist/services/test-session-cancel.js.map +1 -1
  332. package/dist/services/util.d.ts +17 -2
  333. package/dist/services/util.js +118 -11
  334. package/dist/services/util.js.map +1 -1
  335. package/dist/services/write-back/apply-edits.d.ts +29 -0
  336. package/dist/services/write-back/apply-edits.js +255 -0
  337. package/dist/services/write-back/apply-edits.js.map +1 -0
  338. package/dist/services/write-back/helper-edit.d.ts +135 -0
  339. package/dist/services/write-back/helper-edit.js +343 -0
  340. package/dist/services/write-back/helper-edit.js.map +1 -0
  341. package/dist/services/write-back/imports.d.ts +30 -0
  342. package/dist/services/write-back/imports.js +82 -0
  343. package/dist/services/write-back/imports.js.map +1 -0
  344. package/dist/services/write-back/literal-edit.d.ts +183 -0
  345. package/dist/services/write-back/literal-edit.js +359 -0
  346. package/dist/services/write-back/literal-edit.js.map +1 -0
  347. package/dist/services/write-back/output.d.ts +26 -0
  348. package/dist/services/write-back/output.js +110 -0
  349. package/dist/services/write-back/output.js.map +1 -0
  350. package/dist/services/write-back/plan.d.ts +173 -0
  351. package/dist/services/write-back/plan.js +968 -0
  352. package/dist/services/write-back/plan.js.map +1 -0
  353. package/dist/services/write-back/source-file.d.ts +118 -0
  354. package/dist/services/write-back/source-file.js +432 -0
  355. package/dist/services/write-back/source-file.js.map +1 -0
  356. package/dist/sourcegen/index.d.ts +1 -1
  357. package/dist/sourcegen/index.js +1 -1
  358. package/dist/sourcegen/index.js.map +1 -1
  359. package/dist/sourcegen/program.d.ts +19 -1
  360. package/dist/sourcegen/program.js +32 -7
  361. package/dist/sourcegen/program.js.map +1 -1
  362. package/oclif.manifest.json +676 -635
  363. package/package.json +13 -13
  364. package/dist/commands/rules.d.ts +0 -9
  365. package/dist/commands/rules.js +0 -13
  366. package/dist/commands/rules.js.map +0 -1
  367. package/dist/constructs/agentic-check-codegen.d.ts +0 -22
  368. package/dist/constructs/agentic-check-codegen.js +0 -59
  369. package/dist/constructs/agentic-check-codegen.js.map +0 -1
  370. package/dist/constructs/agentic-check.d.ts +0 -237
  371. package/dist/constructs/agentic-check.js +0 -100
  372. package/dist/constructs/agentic-check.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plan.js","sourceRoot":"","sources":["../../../src/services/write-back/plan.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,118 @@
1
+ import type { TSESTree } from '@typescript-eslint/typescript-estree';
2
+ import type { Construct } from '../../constructs/construct.js';
3
+ /** Why a file, a construct or a value cannot be edited; the message is shown to the user as the reason it was skipped. */
4
+ export declare class WriteBackSkipped extends Error {
5
+ }
6
+ export type Node = TSESTree.Node;
7
+ /** A token or a comment of the parsed file: only its kind and where it sits are read. */
8
+ export interface SourceToken {
9
+ kind: 'token' | 'comment';
10
+ /** The token's text; empty for a comment. */
11
+ value: string;
12
+ range: [number, number];
13
+ }
14
+ /**
15
+ * A parsed file with its tokens and comments, which the splicer needs to
16
+ * tell a comma of the source from one inside a comment.
17
+ */
18
+ export interface ParsedSource {
19
+ /** The text the program was parsed from; every range below indexes it. */
20
+ text: string;
21
+ program: TSESTree.Program;
22
+ tokens: SourceToken[];
23
+ }
24
+ /** A replacement of the bytes `[start, end)` of the parsed text. */
25
+ export interface Splice {
26
+ start: number;
27
+ end: number;
28
+ text: string;
29
+ }
30
+ /** The tokens and comments lying within `[start, end)`. */
31
+ export declare function tokensBetween(source: ParsedSource, start: number, end: number): SourceToken[];
32
+ /** The one module that exports the constructs and their helpers by name. */
33
+ export declare const CONSTRUCTS_MODULE = "checkly/constructs";
34
+ export declare function parseSource(filePath: string, text: string): ParsedSource;
35
+ /** Every node below (and including) `root`, in source order. Only object-valued keys are followed, which covers every ESTree child slot. */
36
+ export declare function walk(root: Node): Generator<Node>;
37
+ /** The string a literal argument spells, for a plain string literal or a template with no `${}` in it. */
38
+ export declare function stringOf(node: Node | null | undefined): string | undefined;
39
+ /**
40
+ * The local names this file binds to the given exported names of a checkly
41
+ * package: `import { ApiCheck } from 'checkly/constructs'`,
42
+ * `import { ApiCheck as Api } from 'checkly'`, and the top-level
43
+ * `const { ApiCheck } = require('checkly/constructs')` (with or without a
44
+ * rename). Anything bound another way — a namespace import, a re-export from
45
+ * the user's own module, a wrapper class — is not a construct call this
46
+ * module can recognise, which keeps it from editing the options of a class
47
+ * that merely shares the name. A type-only import (`import type`, or a
48
+ * `type` specifier) binds nothing at runtime and is not a binding here.
49
+ * Scope is not tracked: a local that shadows the import inside a function
50
+ * is taken for it, which the logical id and the later read-back of the edit
51
+ * bound.
52
+ */
53
+ export declare function checklyBindings(program: TSESTree.Program, exportedNames: ReadonlySet<string>): Set<string>;
54
+ /** The one local name the file binds an exported name to, if any (the first when several). */
55
+ export declare function localBinding(program: TSESTree.Program, name: string): string | undefined;
56
+ /**
57
+ * The splice that appends `members` to a multi-line list after its last
58
+ * member: one per line at `indentation`, after the line the last member
59
+ * (or its comma) ends on, so a comment on that line stays with that
60
+ * member — unless a comment runs on past that line end, in which case they
61
+ * go right after the member's comma rather than into the comment. The
62
+ * trailing comma is kept when the list has one, and added to the last
63
+ * member when it has none; `close` is the offset of the closing bracket.
64
+ */
65
+ export declare function appendAfterLast(source: ParsedSource, last: Node, close: number, members: readonly string[], indentation: string, lineEnding: string): Splice;
66
+ export declare function isChecklyRequire(node: Node | null | undefined): boolean;
67
+ /** A name that can be written as an identifier: a variable, or an object key without quotes. */
68
+ export declare const IDENTIFIER: RegExp;
69
+ /** The names `checkly/constructs` exports for a construct's class; empty for a class of the user's own. */
70
+ export declare function exportedNamesOf(construct: Construct): Set<string>;
71
+ /**
72
+ * The options object literal of the one `new <Class>('<logicalId>', { … })`
73
+ * in the file, where `<Class>` is bound to one of `exportedNames` from a
74
+ * checkly package.
75
+ *
76
+ * @throws WriteBackSkipped when the file has no such call, several of them,
77
+ * or its options are not a plain object literal (a variable, a spread, a call,
78
+ * a TypeScript `as`/`satisfies` wrapper): anything the rewriter cannot edit
79
+ * without guessing what the code means.
80
+ */
81
+ export declare function findConstructOptions({ program }: ParsedSource, logicalId: string, exportedNames: ReadonlySet<string>): TSESTree.ObjectExpression;
82
+ /**
83
+ * The name of the top-level variable the file initialises with its one
84
+ * `new <Class>('<logicalId>', …)`, exported or not, where `<Class>` is bound
85
+ * to one of `exportedNames` from a checkly package. None when the construct
86
+ * is not declared that way (made inside a function or a loop, passed straight
87
+ * to another call, destructured), or when several declarations match.
88
+ */
89
+ export declare function findConstructVariable({ program }: ParsedSource, logicalId: string, exportedNames: ReadonlySet<string>): string | undefined;
90
+ /** The name of a plain `key: value` member, or undefined for a spread, method, accessor or computed key. */
91
+ export declare function memberName(property: TSESTree.Property | TSESTree.SpreadElement): string | undefined;
92
+ /**
93
+ * The properties a construct's options literal spells out, as the dotted
94
+ * paths `ContextOptions.spelledOut` takes: every plain `key: value` member,
95
+ * the members of an object value under its key, the members of the one
96
+ * object argument of a call or `new` (a builder such as
97
+ * `RetryStrategyBuilder.linearStrategy({ … })`) under the property's key,
98
+ * and, for an object element of an array with a string `key` property, its
99
+ * members under `<path>[<key>]`. Spreads, computed keys, methods and
100
+ * elements without such a key add nothing, and neither do the arguments of a
101
+ * call with several (`AlertEscalationBuilder.runBasedEscalation(1, { … })`):
102
+ * the codegen could not tell which value they stand for.
103
+ */
104
+ export declare function spelledOutPaths(options: TSESTree.ObjectExpression): Set<string>;
105
+ /**
106
+ * Whether `name` is used as an identifier anywhere in the program: a
107
+ * declaration, an import, a reference, a type name. Member and property
108
+ * names (`x.name`, `{ name: 1 }`) are not identifiers of the name. `walk`
109
+ * yields a parent before its children, so the key or property node to
110
+ * ignore is known by the time it comes up.
111
+ */
112
+ /**
113
+ * Whether the program binds `name` at its top level: an import, a variable,
114
+ * function or class declaration. A global such as `Date` that a file binds
115
+ * to something of its own is not the global there.
116
+ */
117
+ export declare function declaresName(program: TSESTree.Program, name: string): boolean;
118
+ export declare function usesIdentifier(root: Node, name: string): boolean;
@@ -0,0 +1,432 @@
1
+ import path from 'node:path';
2
+ import { createRequire } from 'node:module';
3
+ import * as acorn from 'acorn';
4
+ import * as constructs from '../../constructs/index.js';
5
+ /**
6
+ * Reads a construct's source file far enough to find the `new X('id', { … })`
7
+ * that declared it, so `literal-edit.ts` can splice values into that options
8
+ * object by byte range.
9
+ *
10
+ * Two parsers, one AST shape: `.js`/`.mjs`/`.cjs` go through acorn, which the
11
+ * CLI always ships; TypeScript and JSX go through typescript-estree, which
12
+ * needs the project's own `typescript` — the same requirement the check
13
+ * dependency parser already places on TypeScript check files. Both produce
14
+ * ESTree nodes carrying `range`, and only `range` and the node types below are
15
+ * read. Recast (which edits `checkly.config.ts` elsewhere in the CLI) is not
16
+ * used: its acorn parser cannot read TypeScript, and reprinting a touched
17
+ * node re-quotes it, whereas splicing by range leaves every other byte of the
18
+ * file exactly as the user wrote it.
19
+ */
20
+ const SOURCE_EXTENSIONS = new Set(['.js', '.mjs', '.cjs', '.jsx', '.ts', '.mts', '.cts', '.tsx']);
21
+ /** Why a file, a construct or a value cannot be edited; the message is shown to the user as the reason it was skipped. */
22
+ export class WriteBackSkipped extends Error {
23
+ }
24
+ /** The tokens and comments lying within `[start, end)`. */
25
+ export function tokensBetween(source, start, end) {
26
+ return source.tokens.filter(token => token.range[0] >= start && token.range[1] <= end);
27
+ }
28
+ const CHECKLY_MODULE = /^checkly(\/.*)?$/;
29
+ /** The one module that exports the constructs and their helpers by name. */
30
+ export const CONSTRUCTS_MODULE = 'checkly/constructs';
31
+ let tsParser;
32
+ function loadTsParser() {
33
+ if (tsParser !== undefined) {
34
+ return tsParser;
35
+ }
36
+ try {
37
+ const require = createRequire(import.meta.url);
38
+ tsParser = require('@typescript-eslint/typescript-estree');
39
+ return tsParser;
40
+ }
41
+ catch (err) {
42
+ if (err.code === 'ERR_MODULE_NOT_FOUND' || err.code === 'MODULE_NOT_FOUND') {
43
+ throw new WriteBackSkipped('install "typescript" in the project to update TypeScript and JSX files');
44
+ }
45
+ throw err;
46
+ }
47
+ }
48
+ export function parseSource(filePath, text) {
49
+ const extension = path.extname(filePath);
50
+ if (!SOURCE_EXTENSIONS.has(extension)) {
51
+ throw new WriteBackSkipped(`${extension === '' ? 'the file' : `"${extension}"`} is not a JavaScript or TypeScript file`);
52
+ }
53
+ try {
54
+ if (extension === '.js' || extension === '.mjs' || extension === '.cjs') {
55
+ const tokens = [];
56
+ // The same options the check dependency parser reads .js files with,
57
+ // so the two agree on what parses.
58
+ const program = acorn.parse(text, {
59
+ ecmaVersion: 'latest',
60
+ ranges: true,
61
+ allowHashBang: true,
62
+ allowImportExportEverywhere: true,
63
+ allowReturnOutsideFunction: true,
64
+ allowAwaitOutsideFunction: true,
65
+ onToken: token => {
66
+ if (token.type.label !== 'eof') {
67
+ tokens.push({ kind: 'token', value: text.slice(token.start, token.end), range: [token.start, token.end] });
68
+ }
69
+ },
70
+ onComment: (_block, _text, start, end) => tokens.push({ kind: 'comment', value: '', range: [start, end] }),
71
+ });
72
+ return { text, program, tokens: tokens.sort((a, b) => a.range[0] - b.range[0]) };
73
+ }
74
+ const program = loadTsParser().parse(text, {
75
+ range: true,
76
+ comment: true,
77
+ tokens: true,
78
+ jsx: extension.endsWith('x'),
79
+ });
80
+ const tokens = [
81
+ ...(program.tokens ?? []).map((token) => ({ kind: 'token', value: token.value, range: token.range })),
82
+ ...(program.comments ?? []).map((comment) => ({ kind: 'comment', value: '', range: comment.range })),
83
+ ];
84
+ return { text, program, tokens: tokens.sort((a, b) => a.range[0] - b.range[0]) };
85
+ }
86
+ catch (err) {
87
+ if (err instanceof WriteBackSkipped) {
88
+ throw err;
89
+ }
90
+ throw new WriteBackSkipped(`could not parse the file: ${err.message}`);
91
+ }
92
+ }
93
+ /** Every node below (and including) `root`, in source order. Only object-valued keys are followed, which covers every ESTree child slot. */
94
+ export function* walk(root) {
95
+ const stack = [root];
96
+ while (stack.length > 0) {
97
+ const node = stack.pop();
98
+ yield node;
99
+ const children = [];
100
+ for (const [key, value] of Object.entries(node)) {
101
+ // `parent` would cycle; a program's token and comment lists are not
102
+ // part of the tree.
103
+ if (key === 'parent' || key === 'tokens' || key === 'comments') {
104
+ continue;
105
+ }
106
+ if (Array.isArray(value)) {
107
+ for (const element of value) {
108
+ if (isNode(element)) {
109
+ children.push(element);
110
+ }
111
+ }
112
+ }
113
+ else if (isNode(value)) {
114
+ children.push(value);
115
+ }
116
+ }
117
+ for (let i = children.length - 1; i >= 0; i--) {
118
+ stack.push(children[i]);
119
+ }
120
+ }
121
+ }
122
+ function isNode(value) {
123
+ return typeof value === 'object' && value !== null && typeof value.type === 'string';
124
+ }
125
+ /** The string a literal argument spells, for a plain string literal or a template with no `${}` in it. */
126
+ export function stringOf(node) {
127
+ if (node === null || node === undefined) {
128
+ return undefined;
129
+ }
130
+ if (node.type === 'Literal' && typeof node.value === 'string') {
131
+ return node.value;
132
+ }
133
+ if (node.type === 'TemplateLiteral' && node.expressions.length === 0 && node.quasis.length === 1) {
134
+ return node.quasis[0].value.cooked ?? undefined;
135
+ }
136
+ return undefined;
137
+ }
138
+ /**
139
+ * The local names this file binds to the given exported names of a checkly
140
+ * package: `import { ApiCheck } from 'checkly/constructs'`,
141
+ * `import { ApiCheck as Api } from 'checkly'`, and the top-level
142
+ * `const { ApiCheck } = require('checkly/constructs')` (with or without a
143
+ * rename). Anything bound another way — a namespace import, a re-export from
144
+ * the user's own module, a wrapper class — is not a construct call this
145
+ * module can recognise, which keeps it from editing the options of a class
146
+ * that merely shares the name. A type-only import (`import type`, or a
147
+ * `type` specifier) binds nothing at runtime and is not a binding here.
148
+ * Scope is not tracked: a local that shadows the import inside a function
149
+ * is taken for it, which the logical id and the later read-back of the edit
150
+ * bound.
151
+ */
152
+ export function checklyBindings(program, exportedNames) {
153
+ const locals = new Set();
154
+ for (const statement of program.body) {
155
+ if (statement.type === 'ImportDeclaration') {
156
+ if (typeof statement.source.value !== 'string' || !CHECKLY_MODULE.test(statement.source.value)
157
+ || statement.importKind === 'type') {
158
+ continue;
159
+ }
160
+ for (const specifier of statement.specifiers) {
161
+ if (specifier.type !== 'ImportSpecifier' || specifier.importKind === 'type') {
162
+ continue;
163
+ }
164
+ const imported = specifier.imported.type === 'Identifier' ? specifier.imported.name : stringOf(specifier.imported);
165
+ if (imported !== undefined && exportedNames.has(imported)) {
166
+ locals.add(specifier.local.name);
167
+ }
168
+ }
169
+ }
170
+ else if (statement.type === 'VariableDeclaration') {
171
+ for (const declarator of statement.declarations) {
172
+ if (declarator.id.type !== 'ObjectPattern' || !isChecklyRequire(declarator.init)) {
173
+ continue;
174
+ }
175
+ for (const property of declarator.id.properties) {
176
+ if (property.type !== 'Property' || property.computed || property.value.type !== 'Identifier') {
177
+ continue;
178
+ }
179
+ const imported = property.key.type === 'Identifier' ? property.key.name : stringOf(property.key);
180
+ if (imported !== undefined && exportedNames.has(imported)) {
181
+ locals.add(property.value.name);
182
+ }
183
+ }
184
+ }
185
+ }
186
+ }
187
+ return locals;
188
+ }
189
+ /** The one local name the file binds an exported name to, if any (the first when several). */
190
+ export function localBinding(program, name) {
191
+ return [...checklyBindings(program, new Set([name]))][0];
192
+ }
193
+ /**
194
+ * The splice that appends `members` to a multi-line list after its last
195
+ * member: one per line at `indentation`, after the line the last member
196
+ * (or its comma) ends on, so a comment on that line stays with that
197
+ * member — unless a comment runs on past that line end, in which case they
198
+ * go right after the member's comma rather than into the comment. The
199
+ * trailing comma is kept when the list has one, and added to the last
200
+ * member when it has none; `close` is the offset of the closing bracket.
201
+ */
202
+ export function appendAfterLast(source, last, close, members, indentation, lineEnding) {
203
+ const { text } = source;
204
+ const comma = tokensBetween(source, last.range[1], close).find(token => token.kind === 'token' && token.value === ',');
205
+ const afterMember = comma === undefined ? last.range[1] : comma.range[1];
206
+ const breakAt = text.indexOf('\n', afterMember);
207
+ const lineEnd = breakAt === -1 || breakAt >= close
208
+ ? afterMember
209
+ : text[breakAt - 1] === '\r' ? breakAt - 1 : breakAt;
210
+ const straddles = tokensBetween(source, last.range[1], close)
211
+ .some(token => token.range[0] < lineEnd && token.range[1] > lineEnd);
212
+ const at = straddles ? afterMember : lineEnd;
213
+ const lines = members.map(member => `${lineEnding}${indentation}${member}`).join(',');
214
+ if (comma === undefined) {
215
+ // The comma goes on the member; whatever sat between it and the line
216
+ // end (a comment) is kept, and the new lines follow.
217
+ return { start: last.range[1], end: at, text: `,${text.slice(last.range[1], at)}${lines}` };
218
+ }
219
+ return { start: at, end: at, text: `${lines},` };
220
+ }
221
+ export function isChecklyRequire(node) {
222
+ return node !== null && node !== undefined
223
+ && node.type === 'CallExpression'
224
+ && node.callee.type === 'Identifier' && node.callee.name === 'require'
225
+ && node.arguments.length === 1
226
+ && CHECKLY_MODULE.test(stringOf(node.arguments[0]) ?? '');
227
+ }
228
+ /** A name that can be written as an identifier: a variable, or an object key without quotes. */
229
+ export const IDENTIFIER = /^[A-Za-z_$][\w$]*$/;
230
+ /** The names `checkly/constructs` exports for a construct's class; empty for a class of the user's own. */
231
+ export function exportedNamesOf(construct) {
232
+ const names = new Set();
233
+ for (const [name, value] of Object.entries(constructs)) {
234
+ if (value === construct.constructor) {
235
+ names.add(name);
236
+ }
237
+ }
238
+ return names;
239
+ }
240
+ /** Whether a node is `new <Class>('<logicalId>', …)` of a class one of `locals` is bound to. */
241
+ function isConstructCall(node, locals, logicalId) {
242
+ return node?.type === 'NewExpression' && node.callee.type === 'Identifier' && locals.has(node.callee.name)
243
+ && stringOf(node.arguments[0]) === logicalId;
244
+ }
245
+ /**
246
+ * The options object literal of the one `new <Class>('<logicalId>', { … })`
247
+ * in the file, where `<Class>` is bound to one of `exportedNames` from a
248
+ * checkly package.
249
+ *
250
+ * @throws WriteBackSkipped when the file has no such call, several of them,
251
+ * or its options are not a plain object literal (a variable, a spread, a call,
252
+ * a TypeScript `as`/`satisfies` wrapper): anything the rewriter cannot edit
253
+ * without guessing what the code means.
254
+ */
255
+ export function findConstructOptions({ program }, logicalId, exportedNames) {
256
+ const locals = checklyBindings(program, exportedNames);
257
+ const names = [...exportedNames].sort().join(' or ');
258
+ if (locals.size === 0) {
259
+ throw new WriteBackSkipped(`${names} is not imported from checkly in this file`);
260
+ }
261
+ const matches = [];
262
+ for (const node of walk(program)) {
263
+ if (isConstructCall(node, locals, logicalId)) {
264
+ matches.push(node);
265
+ }
266
+ }
267
+ if (matches.length === 0) {
268
+ throw new WriteBackSkipped(`no \`new ${[...locals].sort().join('|')}('${logicalId}', …)\` found in this file`);
269
+ }
270
+ if (matches.length > 1) {
271
+ throw new WriteBackSkipped(`several constructs use the logical id '${logicalId}' in this file`);
272
+ }
273
+ const options = matches[0].arguments[1];
274
+ if (options === undefined || options.type !== 'ObjectExpression') {
275
+ throw new WriteBackSkipped('its options are not a plain object literal');
276
+ }
277
+ if (options.properties.some(property => property.type === 'SpreadElement')) {
278
+ throw new WriteBackSkipped('its options spread another object');
279
+ }
280
+ return options;
281
+ }
282
+ /**
283
+ * The name of the top-level variable the file initialises with its one
284
+ * `new <Class>('<logicalId>', …)`, exported or not, where `<Class>` is bound
285
+ * to one of `exportedNames` from a checkly package. None when the construct
286
+ * is not declared that way (made inside a function or a loop, passed straight
287
+ * to another call, destructured), or when several declarations match.
288
+ */
289
+ export function findConstructVariable({ program }, logicalId, exportedNames) {
290
+ const locals = checklyBindings(program, exportedNames);
291
+ const names = [];
292
+ for (const statement of program.body) {
293
+ const declaration = statement.type === 'ExportNamedDeclaration' ? statement.declaration : statement;
294
+ if (declaration?.type !== 'VariableDeclaration') {
295
+ continue;
296
+ }
297
+ for (const { id, init } of declaration.declarations) {
298
+ if (id.type === 'Identifier' && isConstructCall(init, locals, logicalId)) {
299
+ names.push(id.name);
300
+ }
301
+ }
302
+ }
303
+ return names.length === 1 ? names[0] : undefined;
304
+ }
305
+ /** The name of a plain `key: value` member, or undefined for a spread, method, accessor or computed key. */
306
+ export function memberName(property) {
307
+ if (property.type !== 'Property' || property.computed || property.kind !== 'init' || property.method) {
308
+ return undefined;
309
+ }
310
+ if (property.key.type === 'Identifier') {
311
+ return property.key.name;
312
+ }
313
+ if (property.key.type === 'Literal' && typeof property.key.value === 'string') {
314
+ return property.key.value;
315
+ }
316
+ return undefined;
317
+ }
318
+ /** A value with the TypeScript wrappers that change nothing at run time (`as`, `satisfies`, `!`) taken off. */
319
+ function unwrapped(node) {
320
+ let current = node;
321
+ while (current.type === 'TSAsExpression' || current.type === 'TSSatisfiesExpression'
322
+ || current.type === 'TSNonNullExpression') {
323
+ current = current.expression;
324
+ }
325
+ return current;
326
+ }
327
+ /**
328
+ * The properties a construct's options literal spells out, as the dotted
329
+ * paths `ContextOptions.spelledOut` takes: every plain `key: value` member,
330
+ * the members of an object value under its key, the members of the one
331
+ * object argument of a call or `new` (a builder such as
332
+ * `RetryStrategyBuilder.linearStrategy({ … })`) under the property's key,
333
+ * and, for an object element of an array with a string `key` property, its
334
+ * members under `<path>[<key>]`. Spreads, computed keys, methods and
335
+ * elements without such a key add nothing, and neither do the arguments of a
336
+ * call with several (`AlertEscalationBuilder.runBasedEscalation(1, { … })`):
337
+ * the codegen could not tell which value they stand for.
338
+ */
339
+ export function spelledOutPaths(options) {
340
+ const paths = new Set();
341
+ const visitValue = (value, path) => {
342
+ const node = unwrapped(value);
343
+ if (node.type === 'ObjectExpression') {
344
+ visitObject(node, path);
345
+ }
346
+ else if ((node.type === 'CallExpression' || node.type === 'NewExpression') && node.arguments.length === 1) {
347
+ const argument = unwrapped(node.arguments[0]);
348
+ if (argument.type === 'ObjectExpression') {
349
+ visitObject(argument, path);
350
+ }
351
+ }
352
+ else if (node.type === 'ArrayExpression') {
353
+ for (const element of node.elements) {
354
+ const unwrappedElement = element === null ? null : unwrapped(element);
355
+ if (unwrappedElement?.type !== 'ObjectExpression') {
356
+ continue;
357
+ }
358
+ const keyProperty = unwrappedElement.properties.find(property => memberName(property) === 'key');
359
+ const key = keyProperty === undefined
360
+ ? undefined
361
+ : stringOf(unwrapped(keyProperty.value));
362
+ if (key !== undefined) {
363
+ visitObject(unwrappedElement, `${path}[${key}]`);
364
+ }
365
+ }
366
+ }
367
+ };
368
+ const visitObject = (object, prefix) => {
369
+ for (const property of object.properties) {
370
+ const name = memberName(property);
371
+ if (name === undefined) {
372
+ continue;
373
+ }
374
+ const path = prefix === '' ? name : `${prefix}.${name}`;
375
+ paths.add(path);
376
+ visitValue(property.value, path);
377
+ }
378
+ };
379
+ visitObject(options, '');
380
+ return paths;
381
+ }
382
+ /**
383
+ * Whether `name` is used as an identifier anywhere in the program: a
384
+ * declaration, an import, a reference, a type name. Member and property
385
+ * names (`x.name`, `{ name: 1 }`) are not identifiers of the name. `walk`
386
+ * yields a parent before its children, so the key or property node to
387
+ * ignore is known by the time it comes up.
388
+ */
389
+ /**
390
+ * Whether the program binds `name` at its top level: an import, a variable,
391
+ * function or class declaration. A global such as `Date` that a file binds
392
+ * to something of its own is not the global there.
393
+ */
394
+ export function declaresName(program, name) {
395
+ for (const statement of program.body) {
396
+ const declaration = statement.type === 'ExportNamedDeclaration' ? statement.declaration : statement;
397
+ if (declaration === null || declaration === undefined) {
398
+ continue;
399
+ }
400
+ if (declaration.type === 'ImportDeclaration') {
401
+ if (declaration.specifiers.some(specifier => specifier.local.name === name)) {
402
+ return true;
403
+ }
404
+ }
405
+ else if (declaration.type === 'VariableDeclaration') {
406
+ if (declaration.declarations.some(declarator => usesIdentifier(declarator.id, name))) {
407
+ return true;
408
+ }
409
+ }
410
+ else if ((declaration.type === 'FunctionDeclaration' || declaration.type === 'ClassDeclaration')
411
+ && declaration.id?.name === name) {
412
+ return true;
413
+ }
414
+ }
415
+ return false;
416
+ }
417
+ export function usesIdentifier(root, name) {
418
+ const ignored = new Set();
419
+ for (const node of walk(root)) {
420
+ if (node.type === 'MemberExpression' && !node.computed) {
421
+ ignored.add(node.property);
422
+ }
423
+ if ('key' in node && 'computed' in node && node.computed === false) {
424
+ ignored.add(node.key);
425
+ }
426
+ if (node.type === 'Identifier' && node.name === name && !ignored.has(node)) {
427
+ return true;
428
+ }
429
+ }
430
+ return false;
431
+ }
432
+ //# sourceMappingURL=source-file.js.map