@empiricalrun/test-gen 0.78.0 → 0.78.2

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 (406) hide show
  1. package/CHANGELOG.md +19 -0
  2. package/dist/actions/index.d.ts +0 -1
  3. package/dist/actions/index.d.ts.map +1 -1
  4. package/dist/actions/index.js +0 -10
  5. package/dist/agent/base/index.d.ts +28 -19
  6. package/dist/agent/base/index.d.ts.map +1 -1
  7. package/dist/agent/base/index.js +25 -14
  8. package/dist/agent/browsing/run.d.ts +1 -1
  9. package/dist/agent/browsing/run.d.ts.map +1 -1
  10. package/dist/agent/chat/agent-loop.d.ts +5 -5
  11. package/dist/agent/chat/agent-loop.d.ts.map +1 -1
  12. package/dist/agent/chat/exports.d.ts +3 -4
  13. package/dist/agent/chat/exports.d.ts.map +1 -1
  14. package/dist/agent/chat/exports.js +5 -11
  15. package/dist/agent/chat/index.d.ts +4 -3
  16. package/dist/agent/chat/index.d.ts.map +1 -1
  17. package/dist/agent/chat/index.js +12 -5
  18. package/dist/agent/chat/models.d.ts +1 -1
  19. package/dist/agent/chat/models.d.ts.map +1 -1
  20. package/dist/agent/chat/models.js +3 -3
  21. package/dist/agent/chat/prompt/pw-utils-docs.d.ts +1 -1
  22. package/dist/agent/chat/prompt/pw-utils-docs.d.ts.map +1 -1
  23. package/dist/agent/chat/prompt/pw-utils-docs.js +42 -0
  24. package/dist/agent/chat/prompt/repo.d.ts +2 -2
  25. package/dist/agent/chat/prompt/repo.d.ts.map +1 -1
  26. package/dist/agent/chat/prompt/repo.js +2 -2
  27. package/dist/agent/chat/state.d.ts +14 -19
  28. package/dist/agent/chat/state.d.ts.map +1 -1
  29. package/dist/agent/chat/state.js +10 -45
  30. package/dist/agent/chat/utils.d.ts +5 -5
  31. package/dist/agent/chat/utils.d.ts.map +1 -1
  32. package/dist/agent/cli.d.ts +2 -2
  33. package/dist/agent/cli.d.ts.map +1 -1
  34. package/dist/agent/cli.js +5 -6
  35. package/dist/agent/code-review/index.d.ts +4 -3
  36. package/dist/agent/code-review/index.d.ts.map +1 -1
  37. package/dist/agent/code-review/index.js +10 -4
  38. package/dist/agent/code-review/types.d.ts +2 -35
  39. package/dist/agent/code-review/types.d.ts.map +1 -1
  40. package/dist/agent/code-review/types.js +4 -11
  41. package/dist/agent/cua/index.d.ts +1 -1
  42. package/dist/agent/cua/index.d.ts.map +1 -1
  43. package/dist/agent/cua/index.js +24 -13
  44. package/dist/agent/cua/pw-codegen/factory.d.ts +15 -0
  45. package/dist/agent/cua/pw-codegen/factory.d.ts.map +1 -0
  46. package/dist/agent/cua/pw-codegen/factory.js +59 -0
  47. package/dist/agent/cua/pw-codegen/index.d.ts +7 -0
  48. package/dist/agent/cua/pw-codegen/index.d.ts.map +1 -0
  49. package/dist/agent/cua/pw-codegen/index.js +14 -0
  50. package/dist/agent/cua/pw-codegen/pw-event-sink/index.d.ts +43 -0
  51. package/dist/agent/cua/pw-codegen/pw-event-sink/index.d.ts.map +1 -0
  52. package/dist/agent/cua/pw-codegen/pw-event-sink/index.js +250 -0
  53. package/dist/agent/cua/pw-codegen/pw-pause/for-recorder.d.ts.map +1 -1
  54. package/dist/agent/cua/pw-codegen/pw-pause/for-recorder.js +0 -3
  55. package/dist/agent/cua/pw-codegen/pw-pause/index.d.ts +1 -1
  56. package/dist/agent/cua/pw-codegen/pw-pause/index.d.ts.map +1 -1
  57. package/dist/agent/cua/pw-codegen/pw-pause/index.js +7 -3
  58. package/dist/agent/cua/pw-codegen/pw-pause/patch.d.ts +15 -3
  59. package/dist/agent/cua/pw-codegen/pw-pause/patch.d.ts.map +1 -1
  60. package/dist/agent/cua/pw-codegen/pw-pause/patch.js +38 -10
  61. package/dist/agent/cua/pw-codegen/version.d.ts +25 -0
  62. package/dist/agent/cua/pw-codegen/version.d.ts.map +1 -0
  63. package/dist/agent/cua/pw-codegen/version.js +86 -0
  64. package/dist/agent/index.d.ts +1 -5
  65. package/dist/agent/index.d.ts.map +1 -1
  66. package/dist/agent/index.js +1 -11
  67. package/dist/agent/master/element-annotation.d.ts +1 -1
  68. package/dist/agent/master/element-annotation.d.ts.map +1 -1
  69. package/dist/agent/master/next-action.d.ts +1 -1
  70. package/dist/agent/master/next-action.d.ts.map +1 -1
  71. package/dist/agent/master/next-action.js +1 -6
  72. package/dist/agent/master/run.d.ts +3 -2
  73. package/dist/agent/master/run.d.ts.map +1 -1
  74. package/dist/agent/master/run.js +0 -26
  75. package/dist/agent/triage/index.d.ts +4 -3
  76. package/dist/agent/triage/index.d.ts.map +1 -1
  77. package/dist/agent/triage/index.js +33 -20
  78. package/dist/artifacts/index.d.ts +1 -1
  79. package/dist/artifacts/index.d.ts.map +1 -1
  80. package/dist/artifacts/utils.d.ts +1 -1
  81. package/dist/artifacts/utils.d.ts.map +1 -1
  82. package/dist/bin/environments.d.ts +1 -1
  83. package/dist/bin/environments.d.ts.map +1 -1
  84. package/dist/bin/index.js +2 -2
  85. package/dist/bin/setup.d.ts +1 -1
  86. package/dist/bin/setup.d.ts.map +1 -1
  87. package/dist/bin/utils/fs/index.d.ts +1 -1
  88. package/dist/bin/utils/fs/index.d.ts.map +1 -1
  89. package/dist/bin/utils/platform/web/index.d.ts +2 -2
  90. package/dist/bin/utils/platform/web/index.d.ts.map +1 -1
  91. package/dist/bin/utils/platform/web/index.js +1 -1
  92. package/dist/bin/utils/scenarios/index.d.ts +1 -1
  93. package/dist/bin/utils/scenarios/index.d.ts.map +1 -1
  94. package/dist/constants/index.d.ts +0 -4
  95. package/dist/constants/index.d.ts.map +1 -1
  96. package/dist/constants/index.js +0 -6
  97. package/dist/dashboard/client.d.ts +1 -1
  98. package/dist/dashboard/client.d.ts.map +1 -1
  99. package/dist/dashboard/index.d.ts +1 -0
  100. package/dist/dashboard/index.d.ts.map +1 -1
  101. package/dist/dashboard/index.js +4 -1
  102. package/dist/dashboard/tool-response.d.ts +5 -0
  103. package/dist/dashboard/tool-response.d.ts.map +1 -0
  104. package/dist/dashboard/tool-response.js +88 -0
  105. package/dist/dashboard/totp.js +1 -1
  106. package/dist/file/server.d.ts +1 -1
  107. package/dist/file/server.d.ts.map +1 -1
  108. package/dist/file/server.js +2 -1
  109. package/dist/file-info/adapters/file-system/index.d.ts +1 -1
  110. package/dist/file-info/adapters/file-system/index.d.ts.map +1 -1
  111. package/dist/file-info/adapters/file-system/reader.d.ts +1 -1
  112. package/dist/file-info/adapters/file-system/reader.d.ts.map +1 -1
  113. package/dist/file-info/adapters/github/index.d.ts +2 -1
  114. package/dist/file-info/adapters/github/index.d.ts.map +1 -1
  115. package/dist/file-info/adapters/github/reader.d.ts +2 -1
  116. package/dist/file-info/adapters/github/reader.d.ts.map +1 -1
  117. package/dist/recorder/index.d.ts.map +1 -1
  118. package/dist/recorder/index.js +9 -3
  119. package/dist/recorder/upload.d.ts +1 -1
  120. package/dist/recorder/upload.d.ts.map +1 -1
  121. package/dist/tools/analyse-video/index.d.ts +1 -1
  122. package/dist/tools/analyse-video/index.d.ts.map +1 -1
  123. package/dist/tools/analyse-video/index.js +20 -13
  124. package/dist/tools/create-pull-request/index.d.ts +1 -1
  125. package/dist/tools/create-pull-request/index.d.ts.map +1 -1
  126. package/dist/tools/create-pull-request/utils.d.ts +3 -2
  127. package/dist/tools/create-pull-request/utils.d.ts.map +1 -1
  128. package/dist/tools/definitions/analyse-video.d.ts +5 -37
  129. package/dist/tools/definitions/analyse-video.d.ts.map +1 -1
  130. package/dist/tools/definitions/analyse-video.js +12 -25
  131. package/dist/tools/definitions/delete-file.d.ts +5 -1
  132. package/dist/tools/definitions/delete-file.d.ts.map +1 -1
  133. package/dist/tools/definitions/delete-file.js +3 -3
  134. package/dist/tools/definitions/download-build.d.ts +2 -6
  135. package/dist/tools/definitions/download-build.d.ts.map +1 -1
  136. package/dist/tools/definitions/grep.d.ts +1 -1
  137. package/dist/tools/definitions/grep.d.ts.map +1 -1
  138. package/dist/tools/definitions/list-tests-and-projects.d.ts +2 -6
  139. package/dist/tools/definitions/list-tests-and-projects.d.ts.map +1 -1
  140. package/dist/tools/definitions/list-tests-and-projects.js +1 -1
  141. package/dist/tools/definitions/merge-conflicts.d.ts +1 -1
  142. package/dist/tools/definitions/merge-conflicts.d.ts.map +1 -1
  143. package/dist/tools/definitions/merge-conflicts.js +2 -2
  144. package/dist/tools/definitions/rename-file.d.ts +1 -1
  145. package/dist/tools/definitions/rename-file.d.ts.map +1 -1
  146. package/dist/tools/definitions/review-pull-request.d.ts +1 -1
  147. package/dist/tools/definitions/review-pull-request.d.ts.map +1 -1
  148. package/dist/tools/definitions/review-pull-request.js +1 -1
  149. package/dist/tools/definitions/run-test.d.ts +3 -15
  150. package/dist/tools/definitions/run-test.d.ts.map +1 -1
  151. package/dist/tools/definitions/safe-bash.d.ts +8 -0
  152. package/dist/tools/definitions/safe-bash.d.ts.map +1 -0
  153. package/dist/tools/definitions/safe-bash.js +32 -0
  154. package/dist/tools/definitions/str_replace_editor.d.ts +1 -1
  155. package/dist/tools/definitions/str_replace_editor.d.ts.map +1 -1
  156. package/dist/tools/definitions/test-gen-browser.d.ts +3 -15
  157. package/dist/tools/definitions/test-gen-browser.d.ts.map +1 -1
  158. package/dist/tools/definitions/upgrade-packages.d.ts +4 -26
  159. package/dist/tools/definitions/upgrade-packages.d.ts.map +1 -1
  160. package/dist/tools/definitions/utils.d.ts +2 -10
  161. package/dist/tools/definitions/utils.d.ts.map +1 -1
  162. package/dist/tools/definitions/utils.js +1 -1
  163. package/dist/tools/delete-file/index.d.ts +1 -1
  164. package/dist/tools/delete-file/index.d.ts.map +1 -1
  165. package/dist/tools/delete-file/index.js +6 -2
  166. package/dist/tools/diagnosis-fetcher.d.ts +1 -1
  167. package/dist/tools/diagnosis-fetcher.d.ts.map +1 -1
  168. package/dist/tools/diagnosis-fetcher.js +92 -47
  169. package/dist/tools/download-build/index.d.ts +1 -1
  170. package/dist/tools/download-build/index.d.ts.map +1 -1
  171. package/dist/tools/executor/base.d.ts +3 -2
  172. package/dist/tools/executor/base.d.ts.map +1 -1
  173. package/dist/tools/executor/base.js +5 -8
  174. package/dist/tools/executor/index.d.ts +3 -0
  175. package/dist/tools/executor/index.d.ts.map +1 -1
  176. package/dist/tools/executor/index.js +12 -10
  177. package/dist/tools/executor/utils/checkpoint.d.ts.map +1 -1
  178. package/dist/tools/executor/utils/checkpoint.js +0 -4
  179. package/dist/tools/executor/utils/git.d.ts +7 -1
  180. package/dist/tools/executor/utils/git.d.ts.map +1 -1
  181. package/dist/tools/executor/utils/git.js +10 -3
  182. package/dist/tools/executor/utils/index.d.ts +1 -2
  183. package/dist/tools/executor/utils/index.d.ts.map +1 -1
  184. package/dist/tools/executor/utils/index.js +0 -20
  185. package/dist/tools/executor/utils/pr-description.d.ts +1 -1
  186. package/dist/tools/executor/utils/pr-description.d.ts.map +1 -1
  187. package/dist/tools/fetch-file/index.d.ts +2 -6
  188. package/dist/tools/fetch-file/index.d.ts.map +1 -1
  189. package/dist/tools/fetch-file/index.js +53 -13
  190. package/dist/tools/fetch-file/utils.d.ts +3 -0
  191. package/dist/tools/fetch-file/utils.d.ts.map +1 -0
  192. package/dist/tools/fetch-file/utils.js +136 -0
  193. package/dist/tools/fetch-session-diff/index.d.ts +1 -1
  194. package/dist/tools/fetch-session-diff/index.d.ts.map +1 -1
  195. package/dist/tools/fetch-session-diff/index.js +26 -2
  196. package/dist/tools/file-operations/create.d.ts +1 -1
  197. package/dist/tools/file-operations/create.d.ts.map +1 -1
  198. package/dist/tools/file-operations/index.d.ts +2 -1
  199. package/dist/tools/file-operations/index.d.ts.map +1 -1
  200. package/dist/tools/file-operations/insert.d.ts +1 -1
  201. package/dist/tools/file-operations/insert.d.ts.map +1 -1
  202. package/dist/tools/file-operations/replace.d.ts +1 -1
  203. package/dist/tools/file-operations/replace.d.ts.map +1 -1
  204. package/dist/tools/file-operations/replace.js +0 -1
  205. package/dist/tools/file-operations/view/index.d.ts +2 -1
  206. package/dist/tools/file-operations/view/index.d.ts.map +1 -1
  207. package/dist/tools/firecrawl-scrape/index.d.ts +9 -0
  208. package/dist/tools/firecrawl-scrape/index.d.ts.map +1 -0
  209. package/dist/tools/firecrawl-scrape/index.js +107 -0
  210. package/dist/tools/grep/index.d.ts +1 -1
  211. package/dist/tools/grep/index.d.ts.map +1 -1
  212. package/dist/tools/grep/index.js +15 -12
  213. package/dist/tools/index.d.ts +5 -24
  214. package/dist/tools/index.d.ts.map +1 -1
  215. package/dist/tools/index.js +21 -42
  216. package/dist/tools/issues-v1/create-issue.d.ts +3 -0
  217. package/dist/tools/issues-v1/create-issue.d.ts.map +1 -0
  218. package/dist/tools/{issues → issues-v1}/create-issue.js +5 -9
  219. package/dist/tools/issues-v1/index.d.ts.map +1 -0
  220. package/dist/tools/issues-v1/list-issues.d.ts +3 -0
  221. package/dist/tools/issues-v1/list-issues.d.ts.map +1 -0
  222. package/dist/tools/issues-v1/update-issue.d.ts +3 -0
  223. package/dist/tools/issues-v1/update-issue.d.ts.map +1 -0
  224. package/dist/tools/{issues → issues-v1}/update-issue.js +1 -9
  225. package/dist/tools/{issues → issues-v1}/utils.d.ts +2 -1
  226. package/dist/tools/issues-v1/utils.d.ts.map +1 -0
  227. package/dist/tools/issues-v2/create-issue.d.ts +3 -0
  228. package/dist/tools/issues-v2/create-issue.d.ts.map +1 -0
  229. package/dist/tools/issues-v2/create-issue.js +82 -0
  230. package/dist/tools/issues-v2/set-issue-description.d.ts +3 -0
  231. package/dist/tools/issues-v2/set-issue-description.d.ts.map +1 -0
  232. package/dist/tools/issues-v2/set-issue-description.js +59 -0
  233. package/dist/tools/issues-v2/update-issue.d.ts +3 -0
  234. package/dist/tools/issues-v2/update-issue.d.ts.map +1 -0
  235. package/dist/tools/issues-v2/update-issue.js +85 -0
  236. package/dist/tools/list-environments.d.ts +1 -1
  237. package/dist/tools/list-environments.d.ts.map +1 -1
  238. package/dist/tools/list-tests-and-projects/index.d.ts +1 -1
  239. package/dist/tools/list-tests-and-projects/index.d.ts.map +1 -1
  240. package/dist/tools/list-tests-and-projects/index.js +14 -4
  241. package/dist/tools/merge-conflicts/index.d.ts +1 -1
  242. package/dist/tools/merge-conflicts/index.d.ts.map +1 -1
  243. package/dist/tools/merge-conflicts/index.js +23 -10
  244. package/dist/tools/rename-file/index.d.ts +1 -1
  245. package/dist/tools/rename-file/index.d.ts.map +1 -1
  246. package/dist/tools/rename-file/index.js +0 -1
  247. package/dist/tools/review-pull-request/index.d.ts +1 -1
  248. package/dist/tools/review-pull-request/index.d.ts.map +1 -1
  249. package/dist/tools/review-pull-request/index.js +5 -4
  250. package/dist/tools/run-test.d.ts +1 -1
  251. package/dist/tools/run-test.d.ts.map +1 -1
  252. package/dist/tools/safe-bash/index.d.ts +3 -0
  253. package/dist/tools/safe-bash/index.d.ts.map +1 -0
  254. package/dist/tools/safe-bash/index.js +128 -0
  255. package/dist/tools/test-gen-browser.d.ts +1 -1
  256. package/dist/tools/test-gen-browser.d.ts.map +1 -1
  257. package/dist/tools/test-gen-browser.js +64 -21
  258. package/dist/tools/test-run-fetcher/index.d.ts +2 -2
  259. package/dist/tools/test-run-fetcher/index.d.ts.map +1 -1
  260. package/dist/tools/test-run-fetcher/index.js +67 -66
  261. package/dist/tools/trace-dot-zip/index.d.ts +1 -1
  262. package/dist/tools/trace-dot-zip/index.d.ts.map +1 -1
  263. package/dist/tools/trace-dot-zip/utils/network-trace.d.ts.map +1 -1
  264. package/dist/tools/trace-dot-zip/utils/network-trace.js +5 -10
  265. package/dist/tools/triage-summary/index.d.ts +1 -1
  266. package/dist/tools/triage-summary/index.d.ts.map +1 -1
  267. package/dist/tools/triage-summary/index.js +5 -2
  268. package/dist/tools/triage-summary/utils.d.ts +1 -1
  269. package/dist/tools/triage-summary/utils.d.ts.map +1 -1
  270. package/dist/tools/upgrade-packages/index.d.ts +1 -1
  271. package/dist/tools/upgrade-packages/index.d.ts.map +1 -1
  272. package/dist/tools/upgrade-packages/index.js +14 -8
  273. package/dist/tools/upgrade-packages/utils.d.ts +9 -5
  274. package/dist/tools/upgrade-packages/utils.d.ts.map +1 -1
  275. package/dist/tools/upgrade-packages/utils.js +56 -16
  276. package/dist/tools/utils/queue.d.ts +1 -1
  277. package/dist/tools/utils/queue.d.ts.map +1 -1
  278. package/dist/tools/utils/validate-schema.d.ts +3 -0
  279. package/dist/tools/utils/validate-schema.d.ts.map +1 -0
  280. package/dist/tools/utils/validate-schema.js +27 -0
  281. package/dist/utils/SQSClient.d.ts +1 -1
  282. package/dist/utils/SQSClient.d.ts.map +1 -1
  283. package/dist/utils/dedup/dedup-image.js +2 -2
  284. package/dist/utils/dedup/find-threshold.d.ts +1 -1
  285. package/dist/utils/dedup/find-threshold.d.ts.map +1 -1
  286. package/dist/utils/dedup/find-threshold.js +2 -2
  287. package/dist/utils/model.d.ts +1 -1
  288. package/dist/utils/model.d.ts.map +1 -1
  289. package/dist/utils/model.js +6 -10
  290. package/dist/utils/playwright-report-parser.d.ts +1 -1
  291. package/dist/utils/playwright-report-parser.d.ts.map +1 -1
  292. package/dist/utils/playwright-test-id.d.ts +8 -0
  293. package/dist/utils/playwright-test-id.d.ts.map +1 -0
  294. package/dist/utils/playwright-test-id.js +21 -0
  295. package/dist/utils/repo-tree.d.ts +1 -1
  296. package/dist/utils/repo-tree.d.ts.map +1 -1
  297. package/dist/utils/slug.d.ts.map +1 -1
  298. package/dist/utils/slug.js +15 -4
  299. package/dist/utils/url-validation.d.ts +2 -0
  300. package/dist/utils/url-validation.d.ts.map +1 -0
  301. package/dist/utils/url-validation.js +16 -0
  302. package/dist/video-core/index.d.ts +7 -24
  303. package/dist/video-core/index.d.ts.map +1 -1
  304. package/dist/video-core/index.js +32 -25
  305. package/dist/video-core/model-limits.d.ts +2 -2
  306. package/dist/video-core/model-limits.d.ts.map +1 -1
  307. package/dist/video-core/model-limits.js +9 -19
  308. package/dist/video-core/storage-manager.d.ts +2 -1
  309. package/dist/video-core/storage-manager.d.ts.map +1 -1
  310. package/dist/video-core/types.d.ts +1 -1
  311. package/dist/video-core/types.d.ts.map +1 -1
  312. package/dist/video-core/utils.d.ts +5 -7
  313. package/dist/video-core/utils.d.ts.map +1 -1
  314. package/dist/video-core/utils.js +39 -132
  315. package/package.json +10 -6
  316. package/tsconfig.tsbuildinfo +1 -1
  317. package/dist/actions/skill.d.ts +0 -21
  318. package/dist/actions/skill.d.ts.map +0 -1
  319. package/dist/actions/skill.js +0 -127
  320. package/dist/agent/chat/filesystem-cache.d.ts +0 -12
  321. package/dist/agent/chat/filesystem-cache.d.ts.map +0 -1
  322. package/dist/agent/chat/filesystem-cache.js +0 -101
  323. package/dist/agent/codegen/create-test-block.d.ts +0 -8
  324. package/dist/agent/codegen/create-test-block.d.ts.map +0 -1
  325. package/dist/agent/codegen/create-test-block.js +0 -47
  326. package/dist/agent/codegen/fix-ts-errors.d.ts +0 -12
  327. package/dist/agent/codegen/fix-ts-errors.d.ts.map +0 -1
  328. package/dist/agent/codegen/fix-ts-errors.js +0 -78
  329. package/dist/agent/codegen/lexical-scoped-vars.d.ts +0 -9
  330. package/dist/agent/codegen/lexical-scoped-vars.d.ts.map +0 -1
  331. package/dist/agent/codegen/lexical-scoped-vars.js +0 -55
  332. package/dist/agent/codegen/skills-retriever.d.ts +0 -26
  333. package/dist/agent/codegen/skills-retriever.d.ts.map +0 -1
  334. package/dist/agent/codegen/skills-retriever.js +0 -93
  335. package/dist/agent/codegen/test-update-feedback.d.ts +0 -12
  336. package/dist/agent/codegen/test-update-feedback.d.ts.map +0 -1
  337. package/dist/agent/codegen/test-update-feedback.js +0 -49
  338. package/dist/agent/codegen/types.d.ts +0 -25
  339. package/dist/agent/codegen/types.d.ts.map +0 -1
  340. package/dist/agent/codegen/types.js +0 -8
  341. package/dist/agent/codegen/update-flow.d.ts +0 -36
  342. package/dist/agent/codegen/update-flow.d.ts.map +0 -1
  343. package/dist/agent/codegen/update-flow.js +0 -259
  344. package/dist/agent/codegen/use-skill.d.ts +0 -11
  345. package/dist/agent/codegen/use-skill.d.ts.map +0 -1
  346. package/dist/agent/codegen/use-skill.js +0 -53
  347. package/dist/agent/codegen/utils.d.ts +0 -110
  348. package/dist/agent/codegen/utils.d.ts.map +0 -1
  349. package/dist/agent/codegen/utils.js +0 -376
  350. package/dist/agent/master/browser-tests/skills.spec.d.ts +0 -2
  351. package/dist/agent/master/browser-tests/skills.spec.d.ts.map +0 -1
  352. package/dist/agent/master/browser-tests/skills.spec.js +0 -112
  353. package/dist/agent/master/execute-skill-action.d.ts +0 -11
  354. package/dist/agent/master/execute-skill-action.d.ts.map +0 -1
  355. package/dist/agent/master/execute-skill-action.js +0 -23
  356. package/dist/agent/video-analysis/executor/index.d.ts +0 -5
  357. package/dist/agent/video-analysis/executor/index.d.ts.map +0 -1
  358. package/dist/agent/video-analysis/executor/index.js +0 -10
  359. package/dist/agent/video-analysis/index.d.ts +0 -7
  360. package/dist/agent/video-analysis/index.d.ts.map +0 -1
  361. package/dist/agent/video-analysis/index.js +0 -60
  362. package/dist/evals/append-create-test-agent.evals.d.ts +0 -4
  363. package/dist/evals/append-create-test-agent.evals.d.ts.map +0 -1
  364. package/dist/evals/append-create-test-agent.evals.js +0 -117
  365. package/dist/evals/fetch-pom-skills-agent.evals.d.ts +0 -4
  366. package/dist/evals/fetch-pom-skills-agent.evals.d.ts.map +0 -1
  367. package/dist/evals/fetch-pom-skills-agent.evals.js +0 -36
  368. package/dist/evals/master-agent.evals.d.ts +0 -4
  369. package/dist/evals/master-agent.evals.d.ts.map +0 -1
  370. package/dist/evals/master-agent.evals.js +0 -35
  371. package/dist/evals/type.d.ts +0 -12
  372. package/dist/evals/type.d.ts.map +0 -1
  373. package/dist/evals/type.js +0 -2
  374. package/dist/evals/update-scenario-agent.evals.d.ts +0 -4
  375. package/dist/evals/update-scenario-agent.evals.d.ts.map +0 -1
  376. package/dist/evals/update-scenario-agent.evals.js +0 -47
  377. package/dist/tools/fetch-last-successful-test-run/index.d.ts +0 -3
  378. package/dist/tools/fetch-last-successful-test-run/index.d.ts.map +0 -1
  379. package/dist/tools/fetch-last-successful-test-run/index.js +0 -60
  380. package/dist/tools/issues/create-issue.d.ts +0 -3
  381. package/dist/tools/issues/create-issue.d.ts.map +0 -1
  382. package/dist/tools/issues/index.d.ts.map +0 -1
  383. package/dist/tools/issues/list-issues.d.ts +0 -3
  384. package/dist/tools/issues/list-issues.d.ts.map +0 -1
  385. package/dist/tools/issues/metadata-schema.d.ts +0 -24
  386. package/dist/tools/issues/metadata-schema.d.ts.map +0 -1
  387. package/dist/tools/issues/metadata-schema.js +0 -22
  388. package/dist/tools/issues/update-issue.d.ts +0 -3
  389. package/dist/tools/issues/update-issue.d.ts.map +0 -1
  390. package/dist/tools/issues/utils.d.ts.map +0 -1
  391. package/dist/tools/utils/urls.d.ts +0 -5
  392. package/dist/tools/utils/urls.d.ts.map +0 -1
  393. package/dist/tools/utils/urls.js +0 -19
  394. package/dist/tools/view-failed-test-run-report/index.d.ts +0 -12
  395. package/dist/tools/view-failed-test-run-report/index.d.ts.map +0 -1
  396. package/dist/tools/view-failed-test-run-report/index.js +0 -151
  397. package/dist/video-core/agent-orchestrator.d.ts +0 -13
  398. package/dist/video-core/agent-orchestrator.d.ts.map +0 -1
  399. package/dist/video-core/agent-orchestrator.js +0 -59
  400. package/dist/video-core/xml-parser.d.ts +0 -3
  401. package/dist/video-core/xml-parser.d.ts.map +0 -1
  402. package/dist/video-core/xml-parser.js +0 -27
  403. /package/dist/tools/{issues → issues-v1}/index.d.ts +0 -0
  404. /package/dist/tools/{issues → issues-v1}/index.js +0 -0
  405. /package/dist/tools/{issues → issues-v1}/list-issues.js +0 -0
  406. /package/dist/tools/{issues → issues-v1}/utils.js +0 -0
@@ -0,0 +1,250 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.PlaywrightEventSinkCodegen = void 0;
7
+ exports.prepareEventSinkCodegen = prepareEventSinkCodegen;
8
+ exports.canUseEventSinkCodegen = canUseEventSinkCodegen;
9
+ exports.hasEventSinkSupport = hasEventSinkSupport;
10
+ /**
11
+ * Playwright Codegen using RecorderEventSink API (Playwright 1.57.0+)
12
+ *
13
+ * This implementation uses Playwright's internal RecorderEventSink interface
14
+ * to capture generated code without patching any files.
15
+ *
16
+ * How it works:
17
+ * 1. Call _enableRecorder() with mode: 'recording' and recorderMode: 'api'
18
+ * 2. Playwright's Recorder captures all user actions
19
+ * 3. Events flow to our eventSink callbacks with generated code
20
+ * 4. No inspector UI opens (recorderMode: 'api' skips UI)
21
+ *
22
+ * Requirements:
23
+ * - Playwright 1.57.0 or higher
24
+ * - RUN_PLAYWRIGHT_HEADED=true (recorder needs headed mode)
25
+ * - A small patch to recorderApp.js to allow recorderMode: 'api' with PW_CODEGEN_NO_INSPECTOR
26
+ */
27
+ const fs_1 = __importDefault(require("fs"));
28
+ const logger_1 = require("../../../../logger");
29
+ const patch_1 = require("../pw-pause/patch");
30
+ const CUSTOM_PATCH_COMMENT = `// Custom patch code set by @empiricalrun/test-gen`;
31
+ /**
32
+ * Prepares Playwright 1.57+ for event-sink codegen by patching recorderApp.js
33
+ * to allow recorderMode: 'api' even when PW_CODEGEN_NO_INSPECTOR is set.
34
+ */
35
+ async function prepareEventSinkCodegen(repoDir) {
36
+ const npmListOutput = await (0, patch_1.runNpmList)(repoDir);
37
+ if (!npmListOutput) {
38
+ return;
39
+ }
40
+ const pwCorePath = (0, patch_1.getPlaywrightCorePath)(npmListOutput);
41
+ const pathToRecorderApp = await (0, patch_1.getPathToRecorderApp)(pwCorePath);
42
+ const currentFileContents = fs_1.default.readFileSync(pathToRecorderApp, "utf-8");
43
+ // Check if already patched
44
+ if (currentFileContents.includes(CUSTOM_PATCH_COMMENT)) {
45
+ logger_1.logger.debug("Playwright recorder app already patched for event-sink");
46
+ return;
47
+ }
48
+ // Patch RecorderApp.show() to allow recorderMode: 'api' with PW_CODEGEN_NO_INSPECTOR
49
+ const original = `if (process.env.PW_CODEGEN_NO_INSPECTOR)
50
+ return;`;
51
+ const replacement = `${CUSTOM_PATCH_COMMENT}
52
+ if (process.env.PW_CODEGEN_NO_INSPECTOR && params.recorderMode !== 'api')
53
+ return;`;
54
+ if (!currentFileContents.includes(original)) {
55
+ throw new Error("Could not find expected code pattern in recorderApp.js for 1.57+");
56
+ }
57
+ await (0, patch_1.createFileBackup)(pathToRecorderApp);
58
+ const newCode = currentFileContents.replace(original, replacement);
59
+ fs_1.default.writeFileSync(pathToRecorderApp, newCode);
60
+ logger_1.logger.debug(`Patched Playwright recorder app for event-sink at ${pathToRecorderApp}`);
61
+ }
62
+ async function canUseEventSinkCodegen() {
63
+ const isRunningHeaded = process.env.RUN_PLAYWRIGHT_HEADED &&
64
+ process.env.RUN_PLAYWRIGHT_HEADED === "true";
65
+ if (!isRunningHeaded) {
66
+ logger_1.logger.error("Cannot use event sink codegen because RUN_PLAYWRIGHT_HEADED is not true");
67
+ return false;
68
+ }
69
+ return true;
70
+ }
71
+ function hasEventSinkSupport(context) {
72
+ return typeof context._enableRecorder === "function";
73
+ }
74
+ class PlaywrightEventSinkCodegen {
75
+ page;
76
+ codeBuffer = [];
77
+ lastActionPromise;
78
+ resolveLastAction;
79
+ lastReturnedEntry;
80
+ isGettingLastAction = false;
81
+ eventSink = {
82
+ actionAdded: (_page, _action, code) => {
83
+ const actionData = _action;
84
+ const pageAlias = actionData.frame?.pageAlias || "page";
85
+ console.log(`[PlaywrightEventSinkCodegen] Received code from Playwright: ${code}`);
86
+ this.codeBuffer.push({ code, pageAlias, pendingSignals: [] });
87
+ this.notifyActionReceived();
88
+ },
89
+ actionUpdated: (_page, _action, code) => {
90
+ const actionData = _action;
91
+ const pageAlias = actionData.frame?.pageAlias || "page";
92
+ console.log(`[PlaywrightEventSinkCodegen] Updated code from Playwright: ${code}`);
93
+ const lastEntry = this.codeBuffer[this.codeBuffer.length - 1];
94
+ if (lastEntry) {
95
+ lastEntry.code = code;
96
+ lastEntry.pageAlias = pageAlias;
97
+ }
98
+ else {
99
+ this.codeBuffer.push({ code, pageAlias, pendingSignals: [] });
100
+ }
101
+ this.notifyActionReceived();
102
+ },
103
+ signalAdded: (_page, signalContext) => {
104
+ const { signal, frame } = signalContext;
105
+ console.log(`[PlaywrightEventSinkCodegen] Signal: ${signal.name}`);
106
+ if (signal.name === "popup" ||
107
+ signal.name === "download" ||
108
+ signal.name === "dialog") {
109
+ const signalPageAlias = frame.pageAlias;
110
+ // Find most recent action with matching pageAlias
111
+ const targetEntry = [...this.codeBuffer]
112
+ .reverse()
113
+ .find((e) => e.pageAlias === signalPageAlias) ||
114
+ (this.lastReturnedEntry?.pageAlias === signalPageAlias
115
+ ? this.lastReturnedEntry
116
+ : undefined);
117
+ if (targetEntry) {
118
+ targetEntry.pendingSignals.push(signal);
119
+ }
120
+ }
121
+ },
122
+ };
123
+ notifyActionReceived() {
124
+ if (this.resolveLastAction) {
125
+ this.resolveLastAction();
126
+ this.resolveLastAction = undefined;
127
+ this.lastActionPromise = undefined;
128
+ }
129
+ }
130
+ waitForNextAction() {
131
+ if (!this.lastActionPromise) {
132
+ this.lastActionPromise = new Promise((resolve) => {
133
+ this.resolveLastAction = resolve;
134
+ });
135
+ }
136
+ return this.lastActionPromise;
137
+ }
138
+ async initialize(page) {
139
+ this.page = page;
140
+ this.codeBuffer = [];
141
+ const context = page.context();
142
+ if (!hasEventSinkSupport(context)) {
143
+ throw new Error("Playwright version does not support _enableRecorder API. " +
144
+ "This codegen requires Playwright 1.57.0 or higher.");
145
+ }
146
+ logger_1.logger.debug("[EventSinkCodegen] Enabling recorder with event sink");
147
+ await context._enableRecorder({
148
+ mode: "recording",
149
+ recorderMode: "api",
150
+ language: "javascript",
151
+ }, this.eventSink);
152
+ logger_1.logger.debug("[EventSinkCodegen] Recorder enabled, ready to capture actions");
153
+ }
154
+ async recordAction() {
155
+ // No-op: Playwright's recorder automatically captures actions
156
+ // when they are performed on the page
157
+ }
158
+ async getCodeForLastAction() {
159
+ // Guard against concurrent calls
160
+ if (this.isGettingLastAction) {
161
+ throw new Error("getCodeForLastAction must not be called concurrently");
162
+ }
163
+ this.isGettingLastAction = true;
164
+ try {
165
+ // If we already have code buffered, wait briefly for any signals that may arrive
166
+ if (this.codeBuffer.length > 0) {
167
+ const entry = this.codeBuffer.pop();
168
+ this.lastReturnedEntry = entry;
169
+ await this.waitForPendingSignals();
170
+ this.lastReturnedEntry = undefined;
171
+ const finalCode = this.wrapCodeWithSignals(entry);
172
+ console.log(`[PlaywrightEventSinkCodegen] Generated code:\n${finalCode}`);
173
+ return finalCode;
174
+ }
175
+ // Wait for an action to be recorded, with timeout
176
+ const timeoutMs = 5000;
177
+ const timeoutPromise = new Promise((_, reject) => {
178
+ setTimeout(() => reject(new Error("Timeout waiting for recorded action")), timeoutMs);
179
+ });
180
+ try {
181
+ await Promise.race([this.waitForNextAction(), timeoutPromise]);
182
+ }
183
+ catch (error) {
184
+ throw new Error("No code for last action: " + error.message);
185
+ }
186
+ if (this.codeBuffer.length === 0) {
187
+ throw new Error("No code for last action");
188
+ }
189
+ const entry = this.codeBuffer.pop();
190
+ this.lastReturnedEntry = entry;
191
+ // Wait briefly for signals that may arrive after the action
192
+ await this.waitForPendingSignals();
193
+ this.lastReturnedEntry = undefined;
194
+ const finalCode = this.wrapCodeWithSignals(entry);
195
+ console.log(`[PlaywrightEventSinkCodegen] Generated code:\n${finalCode}`);
196
+ return finalCode;
197
+ }
198
+ finally {
199
+ this.isGettingLastAction = false;
200
+ }
201
+ }
202
+ async waitForPendingSignals() {
203
+ // Wait a fixed time window to capture signals that arrive after the action
204
+ // Signals typically arrive within a few hundred ms
205
+ const timeoutMs = 500;
206
+ await new Promise((resolve) => setTimeout(resolve, timeoutMs));
207
+ }
208
+ wrapCodeWithSignals(entry) {
209
+ const { code, pageAlias, pendingSignals } = entry;
210
+ if (pendingSignals.length === 0) {
211
+ return code;
212
+ }
213
+ const lines = [];
214
+ let popup;
215
+ let download;
216
+ let dialog;
217
+ for (const signal of pendingSignals) {
218
+ if (signal.name === "popup") {
219
+ popup = signal;
220
+ }
221
+ else if (signal.name === "download") {
222
+ download = signal;
223
+ }
224
+ else if (signal.name === "dialog") {
225
+ dialog = signal;
226
+ }
227
+ }
228
+ if (dialog) {
229
+ lines.push(` ${pageAlias}.once('dialog', dialog => {
230
+ console.log(\`Dialog message: \${dialog.message()}\`);
231
+ dialog.dismiss().catch(() => {});
232
+ });`);
233
+ }
234
+ if (popup) {
235
+ lines.push(`const ${popup.popupAlias}Promise = ${pageAlias}.waitForEvent('popup');`);
236
+ }
237
+ if (download) {
238
+ lines.push(`const download${download.downloadAlias}Promise = ${pageAlias}.waitForEvent('download');`);
239
+ }
240
+ lines.push(code);
241
+ if (popup) {
242
+ lines.push(`const ${popup.popupAlias} = await ${popup.popupAlias}Promise;`);
243
+ }
244
+ if (download) {
245
+ lines.push(`const download${download.downloadAlias} = await download${download.downloadAlias}Promise;`);
246
+ }
247
+ return lines.join("\n");
248
+ }
249
+ }
250
+ exports.PlaywrightEventSinkCodegen = PlaywrightEventSinkCodegen;
@@ -1 +1 @@
1
- {"version":3,"file":"for-recorder.d.ts","sourceRoot":"","sources":["../../../../../src/agent/cua/pw-codegen/pw-pause/for-recorder.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAIvC,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAGzC,qBAAa,iCAAiC;IAO1C,OAAO,CAAC,eAAe;IANzB,OAAO,CAAC,IAAI,CAAa;IACzB,OAAO,CAAC,IAAI,CAAmB;IAC/B,OAAO,CAAC,MAAM,CAA4C;IAC1D,OAAO,CAAC,iBAAiB,CAAqB;gBAGpC,eAAe,EAAE,CAAC,IAAI,EAAE,cAAc,EAAE,KAAK,OAAO,CAAC,IAAI,CAAC;YAKtD,QAAQ;IAWhB,UAAU,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAkBrC,sBAAsB,CAAC,IAAI,EAAE,IAAI;CA0CxC"}
1
+ {"version":3,"file":"for-recorder.d.ts","sourceRoot":"","sources":["../../../../../src/agent/cua/pw-codegen/pw-pause/for-recorder.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAIvC,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAGzC,qBAAa,iCAAiC;IAO1C,OAAO,CAAC,eAAe;IANzB,OAAO,CAAC,IAAI,CAAa;IACzB,OAAO,CAAC,IAAI,CAAmB;IAC/B,OAAO,CAAC,MAAM,CAA4C;IAC1D,OAAO,CAAC,iBAAiB,CAAqB;gBAGpC,eAAe,EAAE,CAAC,IAAI,EAAE,cAAc,EAAE,KAAK,OAAO,CAAC,IAAI,CAAC;YAKtD,QAAQ;IAQhB,UAAU,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAkBrC,sBAAsB,CAAC,IAAI,EAAE,IAAI;CA0CxC"}
@@ -21,9 +21,6 @@ class PlaywrightPauseCodegenForRecorder {
21
21
  async saveCode(code) {
22
22
  const generatedCode = code.map((c) => c.actions.join("\n")).join("\n");
23
23
  if (generatedCode) {
24
- // console.log(
25
- // `[PlaywrightPauseCodegen] Received code from Playwright: ${generatedCode}`,
26
- // );
27
24
  this.codeForLastAction = generatedCode;
28
25
  await this.sourcesCallback(code);
29
26
  }
@@ -1,6 +1,6 @@
1
1
  import type { Page } from "playwright";
2
2
  import { BasePlaywrightCodegen } from "../types";
3
- export { preparePlaywrightForCodegen, revertToOriginalPwCode } from "./patch";
3
+ export { createFileBackup, getPathToRecorderApp, getPlaywrightCorePath, preparePatchCodegen, revertToOriginalPwCode, runNpmList, } from "./patch";
4
4
  export declare function canUsePauseCodegen(repoDir: string): Promise<boolean>;
5
5
  export declare class PlaywrightPauseCodegen implements BasePlaywrightCodegen {
6
6
  private port;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/agent/cua/pw-codegen/pw-pause/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAGvC,OAAO,EAAE,qBAAqB,EAAE,MAAM,UAAU,CAAC;AAMjD,OAAO,EAAE,2BAA2B,EAAE,sBAAsB,EAAE,MAAM,SAAS,CAAC;AAE9E,wBAAsB,kBAAkB,CAAC,OAAO,EAAE,MAAM,oBAwCvD;AAED,qBAAa,sBAAuB,YAAW,qBAAqB;IAClE,OAAO,CAAC,IAAI,CAAa;IACzB,OAAO,CAAC,IAAI,CAAmB;IAC/B,OAAO,CAAC,MAAM,CAA4C;IAC1D,OAAO,CAAC,iBAAiB,CAAqB;;YAMhC,QAAQ;IAUhB,UAAU,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAkBrC,sBAAsB,CAAC,IAAI,EAAE,IAAI;IAqBjC,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;IAI7B,oBAAoB,IAAI,OAAO,CAAC,MAAM,CAAC;CAU9C"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/agent/cua/pw-codegen/pw-pause/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAGvC,OAAO,EAAE,qBAAqB,EAAE,MAAM,UAAU,CAAC;AAMjD,OAAO,EACL,gBAAgB,EAChB,oBAAoB,EACpB,qBAAqB,EACrB,mBAAmB,EACnB,sBAAsB,EACtB,UAAU,GACX,MAAM,SAAS,CAAC;AAEjB,wBAAsB,kBAAkB,CAAC,OAAO,EAAE,MAAM,oBAwCvD;AAED,qBAAa,sBAAuB,YAAW,qBAAqB;IAClE,OAAO,CAAC,IAAI,CAAa;IACzB,OAAO,CAAC,IAAI,CAAmB;IAC/B,OAAO,CAAC,MAAM,CAA4C;IAC1D,OAAO,CAAC,iBAAiB,CAAqB;;YAMhC,QAAQ;IAUhB,UAAU,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAkBrC,sBAAsB,CAAC,IAAI,EAAE,IAAI;IAqBjC,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;IAI7B,oBAAoB,IAAI,OAAO,CAAC,MAAM,CAAC;CAU9C"}
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.PlaywrightPauseCodegen = exports.revertToOriginalPwCode = exports.preparePlaywrightForCodegen = void 0;
6
+ exports.PlaywrightPauseCodegen = exports.runNpmList = exports.revertToOriginalPwCode = exports.preparePatchCodegen = exports.getPlaywrightCorePath = exports.getPathToRecorderApp = exports.createFileBackup = void 0;
7
7
  exports.canUsePauseCodegen = canUsePauseCodegen;
8
8
  const express_1 = __importDefault(require("express"));
9
9
  const logger_1 = require("../../../../logger");
@@ -11,8 +11,12 @@ const ipc_1 = require("./ipc");
11
11
  const patch_1 = require("./patch");
12
12
  const utils_1 = require("./utils");
13
13
  var patch_2 = require("./patch");
14
- Object.defineProperty(exports, "preparePlaywrightForCodegen", { enumerable: true, get: function () { return patch_2.preparePlaywrightForCodegen; } });
14
+ Object.defineProperty(exports, "createFileBackup", { enumerable: true, get: function () { return patch_2.createFileBackup; } });
15
+ Object.defineProperty(exports, "getPathToRecorderApp", { enumerable: true, get: function () { return patch_2.getPathToRecorderApp; } });
16
+ Object.defineProperty(exports, "getPlaywrightCorePath", { enumerable: true, get: function () { return patch_2.getPlaywrightCorePath; } });
17
+ Object.defineProperty(exports, "preparePatchCodegen", { enumerable: true, get: function () { return patch_2.preparePatchCodegen; } });
15
18
  Object.defineProperty(exports, "revertToOriginalPwCode", { enumerable: true, get: function () { return patch_2.revertToOriginalPwCode; } });
19
+ Object.defineProperty(exports, "runNpmList", { enumerable: true, get: function () { return patch_2.runNpmList; } });
16
20
  async function canUsePauseCodegen(repoDir) {
17
21
  const hasPatchedPwCode = await (0, patch_1.hasPatchedRecorderApp)(repoDir);
18
22
  if (!hasPatchedPwCode) {
@@ -101,7 +105,7 @@ class PlaywrightPauseCodegen {
101
105
  }
102
106
  async getCodeForLastAction() {
103
107
  // Wait for the server to send the code
104
- await new Promise((resolve) => setTimeout(resolve, 1000));
108
+ await new Promise((resolve) => setTimeout(resolve, 1_500));
105
109
  let codeToReturn = this.codeForLastAction;
106
110
  this.codeForLastAction = undefined;
107
111
  if (!codeToReturn) {
@@ -1,12 +1,24 @@
1
- export declare function preparePlaywrightForCodegen(repoDir: string): Promise<void>;
1
+ /**
2
+ * Prepares Playwright 1.47/1.53 for patch-based codegen by patching
3
+ * setSources() to POST generated code to a local HTTP server.
4
+ */
5
+ export declare function preparePatchCodegen(repoDir: string): Promise<void>;
2
6
  export declare function getPathToRecorderApp(pwCorePath: string): Promise<string>;
3
7
  export declare function runNpmList(repoDir: string): Promise<string | undefined>;
8
+ export type PatchableVersion = "1.47" | "1.53";
9
+ /**
10
+ * Gets the path to playwright-core from npm list output.
11
+ * This is used by event-sink codegen which doesn't need version validation.
12
+ */
13
+ export declare function getPlaywrightCorePath(output: string): string;
14
+ /**
15
+ * Gets the path and version for patch-based codegen (1.47/1.53 only).
16
+ */
4
17
  export declare function getPlaywrightCoreFromNpmList(output: string): {
5
18
  path: string;
6
- version: "1.47" | "1.53";
19
+ version: PatchableVersion;
7
20
  };
8
21
  export declare function hasPatchedRecorderApp(repoDir: string): Promise<boolean | undefined>;
9
22
  export declare function revertToOriginalPwCode(repoDir: string): Promise<void>;
10
23
  export declare function createFileBackup(pathToFile: string): Promise<void>;
11
- export declare function patchPwCode(pwVersion: "1.47" | "1.53", pathToRecorderApp: string, port: number): Promise<void>;
12
24
  //# sourceMappingURL=patch.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"patch.d.ts","sourceRoot":"","sources":["../../../../../src/agent/cua/pw-codegen/pw-pause/patch.ts"],"names":[],"mappings":"AAoBA,wBAAsB,2BAA2B,CAAC,OAAO,EAAE,MAAM,iBAehE;AAED,wBAAsB,oBAAoB,CAAC,UAAU,EAAE,MAAM,mBAgB5D;AAED,wBAAsB,UAAU,CAAC,OAAO,EAAE,MAAM,+BAgB/C;AAED,wBAAgB,4BAA4B,CAAC,MAAM,EAAE,MAAM,GAAG;IAC5D,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,GAAG,MAAM,CAAC;CAC1B,CA8BA;AAED,wBAAsB,qBAAqB,CAAC,OAAO,EAAE,MAAM,gCAkB1D;AAED,wBAAsB,sBAAsB,CAAC,OAAO,EAAE,MAAM,iBAoB3D;AAED,wBAAsB,gBAAgB,CAAC,UAAU,EAAE,MAAM,iBAGxD;AAED,wBAAsB,WAAW,CAC/B,SAAS,EAAE,MAAM,GAAG,MAAM,EAC1B,iBAAiB,EAAE,MAAM,EACzB,IAAI,EAAE,MAAM,iBA2Bb"}
1
+ {"version":3,"file":"patch.d.ts","sourceRoot":"","sources":["../../../../../src/agent/cua/pw-codegen/pw-pause/patch.ts"],"names":[],"mappings":"AAoBA;;;GAGG;AACH,wBAAsB,mBAAmB,CAAC,OAAO,EAAE,MAAM,iBAexD;AAED,wBAAsB,oBAAoB,CAAC,UAAU,EAAE,MAAM,mBAgB5D;AAED,wBAAsB,UAAU,CAAC,OAAO,EAAE,MAAM,+BAgB/C;AAED,MAAM,MAAM,gBAAgB,GAAG,MAAM,GAAG,MAAM,CAAC;AAE/C;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAe5D;AAED;;GAEG;AACH,wBAAgB,4BAA4B,CAAC,MAAM,EAAE,MAAM,GAAG;IAC5D,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,gBAAgB,CAAC;CAC3B,CAuBA;AAED,wBAAsB,qBAAqB,CAAC,OAAO,EAAE,MAAM,gCAkB1D;AAED,wBAAsB,sBAAsB,CAAC,OAAO,EAAE,MAAM,iBAuB3D;AAED,wBAAsB,gBAAgB,CAAC,UAAU,EAAE,MAAM,iBAGxD"}
@@ -3,14 +3,14 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.preparePlaywrightForCodegen = preparePlaywrightForCodegen;
6
+ exports.preparePatchCodegen = preparePatchCodegen;
7
7
  exports.getPathToRecorderApp = getPathToRecorderApp;
8
8
  exports.runNpmList = runNpmList;
9
+ exports.getPlaywrightCorePath = getPlaywrightCorePath;
9
10
  exports.getPlaywrightCoreFromNpmList = getPlaywrightCoreFromNpmList;
10
11
  exports.hasPatchedRecorderApp = hasPatchedRecorderApp;
11
12
  exports.revertToOriginalPwCode = revertToOriginalPwCode;
12
13
  exports.createFileBackup = createFileBackup;
13
- exports.patchPwCode = patchPwCode;
14
14
  const child_process_1 = require("child_process");
15
15
  const fs_1 = __importDefault(require("fs"));
16
16
  const path_1 = __importDefault(require("path"));
@@ -27,7 +27,11 @@ const ipc_1 = require("./ipc");
27
27
  *
28
28
  */
29
29
  const CUSTOM_PATCH_COMMENT = `// Custom patch code set by @empiricalrun/test-gen`;
30
- async function preparePlaywrightForCodegen(repoDir) {
30
+ /**
31
+ * Prepares Playwright 1.47/1.53 for patch-based codegen by patching
32
+ * setSources() to POST generated code to a local HTTP server.
33
+ */
34
+ async function preparePatchCodegen(repoDir) {
31
35
  try {
32
36
  const npmListOutput = await runNpmList(repoDir);
33
37
  if (!npmListOutput) {
@@ -68,10 +72,12 @@ async function runNpmList(repoDir) {
68
72
  logger_1.logger.error(`npm ls failed with error: ${error.message} and status: ${error.status}`);
69
73
  }
70
74
  }
71
- function getPlaywrightCoreFromNpmList(output) {
75
+ /**
76
+ * Gets the path to playwright-core from npm list output.
77
+ * This is used by event-sink codegen which doesn't need version validation.
78
+ */
79
+ function getPlaywrightCorePath(output) {
72
80
  const result = JSON.parse(output);
73
- // We expect to find playwright-core as a dependency of playwright, which is
74
- // a dependency of @playwright/test
75
81
  const { dependencies } = result;
76
82
  const playwrightTest = dependencies["@playwright/test"];
77
83
  if (!playwrightTest) {
@@ -82,6 +88,17 @@ function getPlaywrightCoreFromNpmList(output) {
82
88
  if (!playwrightCoreDep) {
83
89
  throw new Error("Could not find playwright-core in @playwright/test dependencies");
84
90
  }
91
+ return playwrightCoreDep.path;
92
+ }
93
+ /**
94
+ * Gets the path and version for patch-based codegen (1.47/1.53 only).
95
+ */
96
+ function getPlaywrightCoreFromNpmList(output) {
97
+ const corePath = getPlaywrightCorePath(output);
98
+ const result = JSON.parse(output);
99
+ const playwrightTest = result.dependencies["@playwright/test"];
100
+ const playwrightDeps = playwrightTest.dependencies["playwright"];
101
+ const playwrightCoreDep = playwrightDeps.dependencies["playwright-core"];
85
102
  function extractMinorVersion(version) {
86
103
  const minorVersion = version.split(".").slice(0, 2).join(".");
87
104
  if (minorVersion === "1.47") {
@@ -91,11 +108,11 @@ function getPlaywrightCoreFromNpmList(output) {
91
108
  return "1.53";
92
109
  }
93
110
  else {
94
- throw new Error(`Unsupported Playwright version: ${minorVersion}`);
111
+ throw new Error(`Unsupported Playwright version for patch codegen: ${minorVersion}`);
95
112
  }
96
113
  }
97
114
  return {
98
- path: playwrightCoreDep.path,
115
+ path: corePath,
99
116
  version: extractMinorVersion(playwrightCoreDep.version),
100
117
  };
101
118
  }
@@ -125,9 +142,12 @@ async function revertToOriginalPwCode(repoDir) {
125
142
  if (!npmListOutput) {
126
143
  return;
127
144
  }
128
- const { path: pwCorePath } = getPlaywrightCoreFromNpmList(npmListOutput);
145
+ const pwCorePath = getPlaywrightCorePath(npmListOutput);
129
146
  const pathToRecorderApp = path_1.default.join(pwCorePath, "lib", "server", "recorder", "recorderApp.js");
130
147
  const backupPath = `${pathToRecorderApp}.backup`;
148
+ if (!fs_1.default.existsSync(backupPath)) {
149
+ return;
150
+ }
131
151
  fs_1.default.copyFileSync(backupPath, pathToRecorderApp);
132
152
  fs_1.default.unlinkSync(backupPath);
133
153
  }
@@ -139,8 +159,16 @@ async function createFileBackup(pathToFile) {
139
159
  const backupPath = `${pathToFile}.backup`;
140
160
  fs_1.default.copyFileSync(pathToFile, backupPath);
141
161
  }
162
+ /**
163
+ * Patches setSources() for 1.47/1.53 to POST generated code to a local HTTP server.
164
+ */
142
165
  async function patchPwCode(pwVersion, pathToRecorderApp, port) {
143
166
  const currentFileContents = fs_1.default.readFileSync(pathToRecorderApp, "utf-8");
167
+ // Check if already patched
168
+ if (currentFileContents.includes(CUSTOM_PATCH_COMMENT)) {
169
+ logger_1.logger.debug("Playwright recorder app already patched");
170
+ return;
171
+ }
144
172
  let original;
145
173
  if (pwVersion === "1.47") {
146
174
  original = `async setSources(sources) {}`;
@@ -149,7 +177,7 @@ async function patchPwCode(pwVersion, pathToRecorderApp, port) {
149
177
  original = `async setSources(sources, primaryPageURL) {\n }`;
150
178
  }
151
179
  else {
152
- throw new Error(`Unsupported Playwright version: ${pwVersion}`);
180
+ throw new Error(`Unsupported Playwright version for patch codegen: ${pwVersion}`);
153
181
  }
154
182
  const replacement = `async setSources(sources) {
155
183
  ${CUSTOM_PATCH_COMMENT}
@@ -0,0 +1,25 @@
1
+ /**
2
+ * Playwright version detection utilities
3
+ *
4
+ * Supported codegen approaches by version:
5
+ * - 1.47.x, 1.53.x: Patch-based (patches recorderApp.js)
6
+ * - 1.57.0+: EventSink-based (uses _enableRecorder API)
7
+ */
8
+ export type PlaywrightVersion = {
9
+ full: string;
10
+ major: number;
11
+ minor: number;
12
+ patch: number;
13
+ path: string;
14
+ };
15
+ export type CodegenApproach = "patch" | "event-sink" | "unsupported";
16
+ export declare function parseVersion(versionString: string): {
17
+ major: number;
18
+ minor: number;
19
+ patch: number;
20
+ };
21
+ export declare function getCodegenApproach(version: PlaywrightVersion): CodegenApproach;
22
+ export declare function runNpmList(repoDir: string): Promise<string | undefined>;
23
+ export declare function getPlaywrightVersionFromNpmList(output: string): PlaywrightVersion;
24
+ export declare function detectPlaywrightVersion(repoDir: string): Promise<PlaywrightVersion | undefined>;
25
+ //# sourceMappingURL=version.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../../../../src/agent/cua/pw-codegen/version.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAMH,MAAM,MAAM,iBAAiB,GAAG;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG,OAAO,GAAG,YAAY,GAAG,aAAa,CAAC;AAErE,wBAAgB,YAAY,CAAC,aAAa,EAAE,MAAM,GAAG;IACnD,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf,CAOA;AAED,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,iBAAiB,GACzB,eAAe,CAWjB;AAED,wBAAsB,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAiB7E;AAED,wBAAgB,+BAA+B,CAC7C,MAAM,EAAE,MAAM,GACb,iBAAiB,CA+BnB;AAED,wBAAsB,uBAAuB,CAC3C,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,iBAAiB,GAAG,SAAS,CAAC,CAYxC"}
@@ -0,0 +1,86 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.parseVersion = parseVersion;
4
+ exports.getCodegenApproach = getCodegenApproach;
5
+ exports.runNpmList = runNpmList;
6
+ exports.getPlaywrightVersionFromNpmList = getPlaywrightVersionFromNpmList;
7
+ exports.detectPlaywrightVersion = detectPlaywrightVersion;
8
+ /**
9
+ * Playwright version detection utilities
10
+ *
11
+ * Supported codegen approaches by version:
12
+ * - 1.47.x, 1.53.x: Patch-based (patches recorderApp.js)
13
+ * - 1.57.0+: EventSink-based (uses _enableRecorder API)
14
+ */
15
+ const child_process_1 = require("child_process");
16
+ const logger_1 = require("../../../logger");
17
+ function parseVersion(versionString) {
18
+ const parts = versionString.split(".");
19
+ return {
20
+ major: parseInt(parts[0] || "0", 10),
21
+ minor: parseInt(parts[1] || "0", 10),
22
+ patch: parseInt(parts[2] || "0", 10),
23
+ };
24
+ }
25
+ function getCodegenApproach(version) {
26
+ const { major, minor } = version;
27
+ if (major >= 1 && minor >= 57) {
28
+ // 1.57.0+ supports RecorderEventSink
29
+ return "event-sink";
30
+ }
31
+ if (major === 1 && (minor === 47 || minor === 53)) {
32
+ // 1.47.x and 1.53.x support patch-based approach
33
+ return "patch";
34
+ }
35
+ return "unsupported";
36
+ }
37
+ async function runNpmList(repoDir) {
38
+ try {
39
+ const output = (0, child_process_1.execSync)("npm ls playwright-core --json --long --production=false", {
40
+ cwd: repoDir,
41
+ encoding: "utf-8",
42
+ stdio: ["pipe", "pipe", "pipe"],
43
+ });
44
+ return output;
45
+ }
46
+ catch (error) {
47
+ logger_1.logger.error(`npm ls failed with error: ${error.message} and status: ${error.status}`);
48
+ return undefined;
49
+ }
50
+ }
51
+ function getPlaywrightVersionFromNpmList(output) {
52
+ const result = JSON.parse(output);
53
+ const { dependencies } = result;
54
+ const playwrightTest = dependencies["@playwright/test"];
55
+ if (!playwrightTest) {
56
+ throw new Error("Could not find @playwright/test in npm dependencies");
57
+ }
58
+ const playwrightDeps = playwrightTest.dependencies["playwright"];
59
+ if (!playwrightDeps) {
60
+ throw new Error("Could not find playwright in @playwright/test dependencies");
61
+ }
62
+ const playwrightCoreDep = playwrightDeps.dependencies["playwright-core"];
63
+ if (!playwrightCoreDep) {
64
+ throw new Error("Could not find playwright-core in playwright dependencies");
65
+ }
66
+ const versionString = playwrightCoreDep.version;
67
+ const parsed = parseVersion(versionString);
68
+ return {
69
+ full: versionString,
70
+ ...parsed,
71
+ path: playwrightCoreDep.path,
72
+ };
73
+ }
74
+ async function detectPlaywrightVersion(repoDir) {
75
+ const npmListOutput = await runNpmList(repoDir);
76
+ if (!npmListOutput) {
77
+ return undefined;
78
+ }
79
+ try {
80
+ return getPlaywrightVersionFromNpmList(npmListOutput);
81
+ }
82
+ catch (error) {
83
+ logger_1.logger.error(`Failed to parse Playwright version: ${error}`);
84
+ return undefined;
85
+ }
86
+ }
@@ -1,10 +1,6 @@
1
- import type { AgentModeEnum } from "@empiricalrun/shared-types";
2
1
  import { type AgentParams, BaseAgent } from "./base";
3
2
  import { ChatAgent } from "./chat";
4
- import { CodeReviewAgent } from "./code-review";
5
3
  import { TriageAgent } from "./triage";
6
- import { VideoAnalysisAgent } from "./video-analysis";
7
- export declare const MODE_TO_AGENT_MAP: Record<AgentModeEnum, (params: AgentParams) => BaseAgent>;
8
- export { BaseAgent, ChatAgent, CodeReviewAgent, TriageAgent, VideoAnalysisAgent, };
4
+ export { BaseAgent, ChatAgent, TriageAgent };
9
5
  export type { AgentParams };
10
6
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/agent/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAEhE,OAAO,EAAE,KAAK,WAAW,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AACrD,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AACnC,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AACvC,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAEtD,eAAO,MAAM,iBAAiB,EAAE,MAAM,CACpC,aAAa,EACb,CAAC,MAAM,EAAE,WAAW,KAAK,SAAS,CAMnC,CAAC;AAEF,OAAO,EACL,SAAS,EACT,SAAS,EACT,eAAe,EACf,WAAW,EACX,kBAAkB,GACnB,CAAC;AACF,YAAY,EAAE,WAAW,EAAE,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/agent/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,WAAW,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AACrD,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AACnC,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAEvC,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,WAAW,EAAE,CAAC;AAC7C,YAAY,EAAE,WAAW,EAAE,CAAC"}
@@ -1,19 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.VideoAnalysisAgent = exports.TriageAgent = exports.CodeReviewAgent = exports.ChatAgent = exports.BaseAgent = exports.MODE_TO_AGENT_MAP = void 0;
3
+ exports.TriageAgent = exports.ChatAgent = exports.BaseAgent = void 0;
4
4
  const base_1 = require("./base");
5
5
  Object.defineProperty(exports, "BaseAgent", { enumerable: true, get: function () { return base_1.BaseAgent; } });
6
6
  const chat_1 = require("./chat");
7
7
  Object.defineProperty(exports, "ChatAgent", { enumerable: true, get: function () { return chat_1.ChatAgent; } });
8
- const code_review_1 = require("./code-review");
9
- Object.defineProperty(exports, "CodeReviewAgent", { enumerable: true, get: function () { return code_review_1.CodeReviewAgent; } });
10
8
  const triage_1 = require("./triage");
11
9
  Object.defineProperty(exports, "TriageAgent", { enumerable: true, get: function () { return triage_1.TriageAgent; } });
12
- const video_analysis_1 = require("./video-analysis");
13
- Object.defineProperty(exports, "VideoAnalysisAgent", { enumerable: true, get: function () { return video_analysis_1.VideoAnalysisAgent; } });
14
- exports.MODE_TO_AGENT_MAP = {
15
- triage: (params) => new triage_1.TriageAgent(params),
16
- chat: (params) => new chat_1.ChatAgent(params),
17
- video: (params) => new video_analysis_1.VideoAnalysisAgent(params),
18
- "code-review": (params) => new code_review_1.CodeReviewAgent(params),
19
- };
@@ -1,5 +1,5 @@
1
1
  import { LLM, TraceClient } from "@empiricalrun/llm";
2
- import { TestGenConfigOptions } from "@empiricalrun/shared-types";
2
+ import { TestGenConfigOptions } from "@empiricalrun/shared-types/agent-workflow";
3
3
  import { Page } from "playwright";
4
4
  import { ActionType } from "./action-tool-calls";
5
5
  export declare function getElementAnnotation({ elementDescription, annotations, annotatedScreenshot, trace, llm, options, preference, }: {
@@ -1 +1 @@
1
- {"version":3,"file":"element-annotation.d.ts","sourceRoot":"","sources":["../../../src/agent/master/element-annotation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,GAAG,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACpE,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAClE,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAQlC,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AA2DjD,wBAAsB,oBAAoB,CAAC,EACzC,kBAAkB,EAClB,WAAW,EACX,mBAAmB,EACnB,KAAK,EACL,GAAG,EACH,OAAO,EACP,UAAU,GACX,EAAE;IACD,kBAAkB,EAAE,MAAM,CAAC;IAC3B,WAAW,EAAE,MAAM,CAAC;IACpB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,KAAK,CAAC,EAAE,WAAW,CAAC;IACpB,GAAG,CAAC,EAAE,GAAG,CAAC;IACV,OAAO,CAAC,EAAE,oBAAoB,CAAC;IAC/B,UAAU,EAAE,oBAAoB,CAAC;CAClC,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CA8C9B;AAED,MAAM,MAAM,oBAAoB,GAAG;IACjC,UAAU,EACN,KAAK,GACL,UAAU,CAAC,IAAI,GACf,UAAU,CAAC,WAAW,GACtB,UAAU,CAAC,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACpC,CAAC;AAgBF,wBAAsB,iBAAiB,CAAC,EACtC,IAAI,EACJ,UAAU,EACV,KAAK,GACN,EAAE;IACD,IAAI,EAAE,IAAI,CAAC;IACX,UAAU,EAAE,oBAAoB,CAAC;IACjC,KAAK,CAAC,EAAE,WAAW,CAAC;CACrB,GAAG,OAAO,CAAC;IACV,cAAc,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IACtD,gBAAgB,EAAE,MAAM,CAAC;IACzB,uBAAuB,EAAE,MAAM,CAAC;CACjC,CAAC,CAmFD"}
1
+ {"version":3,"file":"element-annotation.d.ts","sourceRoot":"","sources":["../../../src/agent/master/element-annotation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,GAAG,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACpE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAQlC,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AA2DjD,wBAAsB,oBAAoB,CAAC,EACzC,kBAAkB,EAClB,WAAW,EACX,mBAAmB,EACnB,KAAK,EACL,GAAG,EACH,OAAO,EACP,UAAU,GACX,EAAE;IACD,kBAAkB,EAAE,MAAM,CAAC;IAC3B,WAAW,EAAE,MAAM,CAAC;IACpB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,KAAK,CAAC,EAAE,WAAW,CAAC;IACpB,GAAG,CAAC,EAAE,GAAG,CAAC;IACV,OAAO,CAAC,EAAE,oBAAoB,CAAC;IAC/B,UAAU,EAAE,oBAAoB,CAAC;CAClC,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CA8C9B;AAED,MAAM,MAAM,oBAAoB,GAAG;IACjC,UAAU,EACN,KAAK,GACL,UAAU,CAAC,IAAI,GACf,UAAU,CAAC,WAAW,GACtB,UAAU,CAAC,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACpC,CAAC;AAgBF,wBAAsB,iBAAiB,CAAC,EACtC,IAAI,EACJ,UAAU,EACV,KAAK,GACN,EAAE;IACD,IAAI,EAAE,IAAI,CAAC;IACX,UAAU,EAAE,oBAAoB,CAAC;IACjC,KAAK,CAAC,EAAE,WAAW,CAAC;CACrB,GAAG,OAAO,CAAC;IACV,cAAc,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IACtD,gBAAgB,EAAE,MAAM,CAAC;IACzB,uBAAuB,EAAE,MAAM,CAAC;CACjC,CAAC,CAmFD"}
@@ -1,5 +1,5 @@
1
1
  import { LLM, TraceClient } from "@empiricalrun/llm";
2
- import { TestGenConfigOptions } from "@empiricalrun/shared-types";
2
+ import { TestGenConfigOptions } from "@empiricalrun/shared-types/agent-workflow";
3
3
  import { Page } from "playwright";
4
4
  import { PlaywrightActions } from "../../actions";
5
5
  import { CustomLogger } from "../../bin/logger";