@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.
- package/CHANGELOG.md +19 -0
- package/dist/actions/index.d.ts +0 -1
- package/dist/actions/index.d.ts.map +1 -1
- package/dist/actions/index.js +0 -10
- package/dist/agent/base/index.d.ts +28 -19
- package/dist/agent/base/index.d.ts.map +1 -1
- package/dist/agent/base/index.js +25 -14
- package/dist/agent/browsing/run.d.ts +1 -1
- package/dist/agent/browsing/run.d.ts.map +1 -1
- package/dist/agent/chat/agent-loop.d.ts +5 -5
- package/dist/agent/chat/agent-loop.d.ts.map +1 -1
- package/dist/agent/chat/exports.d.ts +3 -4
- package/dist/agent/chat/exports.d.ts.map +1 -1
- package/dist/agent/chat/exports.js +5 -11
- package/dist/agent/chat/index.d.ts +4 -3
- package/dist/agent/chat/index.d.ts.map +1 -1
- package/dist/agent/chat/index.js +12 -5
- package/dist/agent/chat/models.d.ts +1 -1
- package/dist/agent/chat/models.d.ts.map +1 -1
- package/dist/agent/chat/models.js +3 -3
- package/dist/agent/chat/prompt/pw-utils-docs.d.ts +1 -1
- package/dist/agent/chat/prompt/pw-utils-docs.d.ts.map +1 -1
- package/dist/agent/chat/prompt/pw-utils-docs.js +42 -0
- package/dist/agent/chat/prompt/repo.d.ts +2 -2
- package/dist/agent/chat/prompt/repo.d.ts.map +1 -1
- package/dist/agent/chat/prompt/repo.js +2 -2
- package/dist/agent/chat/state.d.ts +14 -19
- package/dist/agent/chat/state.d.ts.map +1 -1
- package/dist/agent/chat/state.js +10 -45
- package/dist/agent/chat/utils.d.ts +5 -5
- package/dist/agent/chat/utils.d.ts.map +1 -1
- package/dist/agent/cli.d.ts +2 -2
- package/dist/agent/cli.d.ts.map +1 -1
- package/dist/agent/cli.js +5 -6
- package/dist/agent/code-review/index.d.ts +4 -3
- package/dist/agent/code-review/index.d.ts.map +1 -1
- package/dist/agent/code-review/index.js +10 -4
- package/dist/agent/code-review/types.d.ts +2 -35
- package/dist/agent/code-review/types.d.ts.map +1 -1
- package/dist/agent/code-review/types.js +4 -11
- package/dist/agent/cua/index.d.ts +1 -1
- package/dist/agent/cua/index.d.ts.map +1 -1
- package/dist/agent/cua/index.js +24 -13
- package/dist/agent/cua/pw-codegen/factory.d.ts +15 -0
- package/dist/agent/cua/pw-codegen/factory.d.ts.map +1 -0
- package/dist/agent/cua/pw-codegen/factory.js +59 -0
- package/dist/agent/cua/pw-codegen/index.d.ts +7 -0
- package/dist/agent/cua/pw-codegen/index.d.ts.map +1 -0
- package/dist/agent/cua/pw-codegen/index.js +14 -0
- package/dist/agent/cua/pw-codegen/pw-event-sink/index.d.ts +43 -0
- package/dist/agent/cua/pw-codegen/pw-event-sink/index.d.ts.map +1 -0
- package/dist/agent/cua/pw-codegen/pw-event-sink/index.js +250 -0
- package/dist/agent/cua/pw-codegen/pw-pause/for-recorder.d.ts.map +1 -1
- package/dist/agent/cua/pw-codegen/pw-pause/for-recorder.js +0 -3
- package/dist/agent/cua/pw-codegen/pw-pause/index.d.ts +1 -1
- package/dist/agent/cua/pw-codegen/pw-pause/index.d.ts.map +1 -1
- package/dist/agent/cua/pw-codegen/pw-pause/index.js +7 -3
- package/dist/agent/cua/pw-codegen/pw-pause/patch.d.ts +15 -3
- package/dist/agent/cua/pw-codegen/pw-pause/patch.d.ts.map +1 -1
- package/dist/agent/cua/pw-codegen/pw-pause/patch.js +38 -10
- package/dist/agent/cua/pw-codegen/version.d.ts +25 -0
- package/dist/agent/cua/pw-codegen/version.d.ts.map +1 -0
- package/dist/agent/cua/pw-codegen/version.js +86 -0
- package/dist/agent/index.d.ts +1 -5
- package/dist/agent/index.d.ts.map +1 -1
- package/dist/agent/index.js +1 -11
- package/dist/agent/master/element-annotation.d.ts +1 -1
- package/dist/agent/master/element-annotation.d.ts.map +1 -1
- package/dist/agent/master/next-action.d.ts +1 -1
- package/dist/agent/master/next-action.d.ts.map +1 -1
- package/dist/agent/master/next-action.js +1 -6
- package/dist/agent/master/run.d.ts +3 -2
- package/dist/agent/master/run.d.ts.map +1 -1
- package/dist/agent/master/run.js +0 -26
- package/dist/agent/triage/index.d.ts +4 -3
- package/dist/agent/triage/index.d.ts.map +1 -1
- package/dist/agent/triage/index.js +33 -20
- package/dist/artifacts/index.d.ts +1 -1
- package/dist/artifacts/index.d.ts.map +1 -1
- package/dist/artifacts/utils.d.ts +1 -1
- package/dist/artifacts/utils.d.ts.map +1 -1
- package/dist/bin/environments.d.ts +1 -1
- package/dist/bin/environments.d.ts.map +1 -1
- package/dist/bin/index.js +2 -2
- package/dist/bin/setup.d.ts +1 -1
- package/dist/bin/setup.d.ts.map +1 -1
- package/dist/bin/utils/fs/index.d.ts +1 -1
- package/dist/bin/utils/fs/index.d.ts.map +1 -1
- package/dist/bin/utils/platform/web/index.d.ts +2 -2
- package/dist/bin/utils/platform/web/index.d.ts.map +1 -1
- package/dist/bin/utils/platform/web/index.js +1 -1
- package/dist/bin/utils/scenarios/index.d.ts +1 -1
- package/dist/bin/utils/scenarios/index.d.ts.map +1 -1
- package/dist/constants/index.d.ts +0 -4
- package/dist/constants/index.d.ts.map +1 -1
- package/dist/constants/index.js +0 -6
- package/dist/dashboard/client.d.ts +1 -1
- package/dist/dashboard/client.d.ts.map +1 -1
- package/dist/dashboard/index.d.ts +1 -0
- package/dist/dashboard/index.d.ts.map +1 -1
- package/dist/dashboard/index.js +4 -1
- package/dist/dashboard/tool-response.d.ts +5 -0
- package/dist/dashboard/tool-response.d.ts.map +1 -0
- package/dist/dashboard/tool-response.js +88 -0
- package/dist/dashboard/totp.js +1 -1
- package/dist/file/server.d.ts +1 -1
- package/dist/file/server.d.ts.map +1 -1
- package/dist/file/server.js +2 -1
- package/dist/file-info/adapters/file-system/index.d.ts +1 -1
- package/dist/file-info/adapters/file-system/index.d.ts.map +1 -1
- package/dist/file-info/adapters/file-system/reader.d.ts +1 -1
- package/dist/file-info/adapters/file-system/reader.d.ts.map +1 -1
- package/dist/file-info/adapters/github/index.d.ts +2 -1
- package/dist/file-info/adapters/github/index.d.ts.map +1 -1
- package/dist/file-info/adapters/github/reader.d.ts +2 -1
- package/dist/file-info/adapters/github/reader.d.ts.map +1 -1
- package/dist/recorder/index.d.ts.map +1 -1
- package/dist/recorder/index.js +9 -3
- package/dist/recorder/upload.d.ts +1 -1
- package/dist/recorder/upload.d.ts.map +1 -1
- package/dist/tools/analyse-video/index.d.ts +1 -1
- package/dist/tools/analyse-video/index.d.ts.map +1 -1
- package/dist/tools/analyse-video/index.js +20 -13
- package/dist/tools/create-pull-request/index.d.ts +1 -1
- package/dist/tools/create-pull-request/index.d.ts.map +1 -1
- package/dist/tools/create-pull-request/utils.d.ts +3 -2
- package/dist/tools/create-pull-request/utils.d.ts.map +1 -1
- package/dist/tools/definitions/analyse-video.d.ts +5 -37
- package/dist/tools/definitions/analyse-video.d.ts.map +1 -1
- package/dist/tools/definitions/analyse-video.js +12 -25
- package/dist/tools/definitions/delete-file.d.ts +5 -1
- package/dist/tools/definitions/delete-file.d.ts.map +1 -1
- package/dist/tools/definitions/delete-file.js +3 -3
- package/dist/tools/definitions/download-build.d.ts +2 -6
- package/dist/tools/definitions/download-build.d.ts.map +1 -1
- package/dist/tools/definitions/grep.d.ts +1 -1
- package/dist/tools/definitions/grep.d.ts.map +1 -1
- package/dist/tools/definitions/list-tests-and-projects.d.ts +2 -6
- package/dist/tools/definitions/list-tests-and-projects.d.ts.map +1 -1
- package/dist/tools/definitions/list-tests-and-projects.js +1 -1
- package/dist/tools/definitions/merge-conflicts.d.ts +1 -1
- package/dist/tools/definitions/merge-conflicts.d.ts.map +1 -1
- package/dist/tools/definitions/merge-conflicts.js +2 -2
- package/dist/tools/definitions/rename-file.d.ts +1 -1
- package/dist/tools/definitions/rename-file.d.ts.map +1 -1
- package/dist/tools/definitions/review-pull-request.d.ts +1 -1
- package/dist/tools/definitions/review-pull-request.d.ts.map +1 -1
- package/dist/tools/definitions/review-pull-request.js +1 -1
- package/dist/tools/definitions/run-test.d.ts +3 -15
- package/dist/tools/definitions/run-test.d.ts.map +1 -1
- package/dist/tools/definitions/safe-bash.d.ts +8 -0
- package/dist/tools/definitions/safe-bash.d.ts.map +1 -0
- package/dist/tools/definitions/safe-bash.js +32 -0
- package/dist/tools/definitions/str_replace_editor.d.ts +1 -1
- package/dist/tools/definitions/str_replace_editor.d.ts.map +1 -1
- package/dist/tools/definitions/test-gen-browser.d.ts +3 -15
- package/dist/tools/definitions/test-gen-browser.d.ts.map +1 -1
- package/dist/tools/definitions/upgrade-packages.d.ts +4 -26
- package/dist/tools/definitions/upgrade-packages.d.ts.map +1 -1
- package/dist/tools/definitions/utils.d.ts +2 -10
- package/dist/tools/definitions/utils.d.ts.map +1 -1
- package/dist/tools/definitions/utils.js +1 -1
- package/dist/tools/delete-file/index.d.ts +1 -1
- package/dist/tools/delete-file/index.d.ts.map +1 -1
- package/dist/tools/delete-file/index.js +6 -2
- package/dist/tools/diagnosis-fetcher.d.ts +1 -1
- package/dist/tools/diagnosis-fetcher.d.ts.map +1 -1
- package/dist/tools/diagnosis-fetcher.js +92 -47
- package/dist/tools/download-build/index.d.ts +1 -1
- package/dist/tools/download-build/index.d.ts.map +1 -1
- package/dist/tools/executor/base.d.ts +3 -2
- package/dist/tools/executor/base.d.ts.map +1 -1
- package/dist/tools/executor/base.js +5 -8
- package/dist/tools/executor/index.d.ts +3 -0
- package/dist/tools/executor/index.d.ts.map +1 -1
- package/dist/tools/executor/index.js +12 -10
- package/dist/tools/executor/utils/checkpoint.d.ts.map +1 -1
- package/dist/tools/executor/utils/checkpoint.js +0 -4
- package/dist/tools/executor/utils/git.d.ts +7 -1
- package/dist/tools/executor/utils/git.d.ts.map +1 -1
- package/dist/tools/executor/utils/git.js +10 -3
- package/dist/tools/executor/utils/index.d.ts +1 -2
- package/dist/tools/executor/utils/index.d.ts.map +1 -1
- package/dist/tools/executor/utils/index.js +0 -20
- package/dist/tools/executor/utils/pr-description.d.ts +1 -1
- package/dist/tools/executor/utils/pr-description.d.ts.map +1 -1
- package/dist/tools/fetch-file/index.d.ts +2 -6
- package/dist/tools/fetch-file/index.d.ts.map +1 -1
- package/dist/tools/fetch-file/index.js +53 -13
- package/dist/tools/fetch-file/utils.d.ts +3 -0
- package/dist/tools/fetch-file/utils.d.ts.map +1 -0
- package/dist/tools/fetch-file/utils.js +136 -0
- package/dist/tools/fetch-session-diff/index.d.ts +1 -1
- package/dist/tools/fetch-session-diff/index.d.ts.map +1 -1
- package/dist/tools/fetch-session-diff/index.js +26 -2
- package/dist/tools/file-operations/create.d.ts +1 -1
- package/dist/tools/file-operations/create.d.ts.map +1 -1
- package/dist/tools/file-operations/index.d.ts +2 -1
- package/dist/tools/file-operations/index.d.ts.map +1 -1
- package/dist/tools/file-operations/insert.d.ts +1 -1
- package/dist/tools/file-operations/insert.d.ts.map +1 -1
- package/dist/tools/file-operations/replace.d.ts +1 -1
- package/dist/tools/file-operations/replace.d.ts.map +1 -1
- package/dist/tools/file-operations/replace.js +0 -1
- package/dist/tools/file-operations/view/index.d.ts +2 -1
- package/dist/tools/file-operations/view/index.d.ts.map +1 -1
- package/dist/tools/firecrawl-scrape/index.d.ts +9 -0
- package/dist/tools/firecrawl-scrape/index.d.ts.map +1 -0
- package/dist/tools/firecrawl-scrape/index.js +107 -0
- package/dist/tools/grep/index.d.ts +1 -1
- package/dist/tools/grep/index.d.ts.map +1 -1
- package/dist/tools/grep/index.js +15 -12
- package/dist/tools/index.d.ts +5 -24
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/index.js +21 -42
- package/dist/tools/issues-v1/create-issue.d.ts +3 -0
- package/dist/tools/issues-v1/create-issue.d.ts.map +1 -0
- package/dist/tools/{issues → issues-v1}/create-issue.js +5 -9
- package/dist/tools/issues-v1/index.d.ts.map +1 -0
- package/dist/tools/issues-v1/list-issues.d.ts +3 -0
- package/dist/tools/issues-v1/list-issues.d.ts.map +1 -0
- package/dist/tools/issues-v1/update-issue.d.ts +3 -0
- package/dist/tools/issues-v1/update-issue.d.ts.map +1 -0
- package/dist/tools/{issues → issues-v1}/update-issue.js +1 -9
- package/dist/tools/{issues → issues-v1}/utils.d.ts +2 -1
- package/dist/tools/issues-v1/utils.d.ts.map +1 -0
- package/dist/tools/issues-v2/create-issue.d.ts +3 -0
- package/dist/tools/issues-v2/create-issue.d.ts.map +1 -0
- package/dist/tools/issues-v2/create-issue.js +82 -0
- package/dist/tools/issues-v2/set-issue-description.d.ts +3 -0
- package/dist/tools/issues-v2/set-issue-description.d.ts.map +1 -0
- package/dist/tools/issues-v2/set-issue-description.js +59 -0
- package/dist/tools/issues-v2/update-issue.d.ts +3 -0
- package/dist/tools/issues-v2/update-issue.d.ts.map +1 -0
- package/dist/tools/issues-v2/update-issue.js +85 -0
- package/dist/tools/list-environments.d.ts +1 -1
- package/dist/tools/list-environments.d.ts.map +1 -1
- package/dist/tools/list-tests-and-projects/index.d.ts +1 -1
- package/dist/tools/list-tests-and-projects/index.d.ts.map +1 -1
- package/dist/tools/list-tests-and-projects/index.js +14 -4
- package/dist/tools/merge-conflicts/index.d.ts +1 -1
- package/dist/tools/merge-conflicts/index.d.ts.map +1 -1
- package/dist/tools/merge-conflicts/index.js +23 -10
- package/dist/tools/rename-file/index.d.ts +1 -1
- package/dist/tools/rename-file/index.d.ts.map +1 -1
- package/dist/tools/rename-file/index.js +0 -1
- package/dist/tools/review-pull-request/index.d.ts +1 -1
- package/dist/tools/review-pull-request/index.d.ts.map +1 -1
- package/dist/tools/review-pull-request/index.js +5 -4
- package/dist/tools/run-test.d.ts +1 -1
- package/dist/tools/run-test.d.ts.map +1 -1
- package/dist/tools/safe-bash/index.d.ts +3 -0
- package/dist/tools/safe-bash/index.d.ts.map +1 -0
- package/dist/tools/safe-bash/index.js +128 -0
- package/dist/tools/test-gen-browser.d.ts +1 -1
- package/dist/tools/test-gen-browser.d.ts.map +1 -1
- package/dist/tools/test-gen-browser.js +64 -21
- package/dist/tools/test-run-fetcher/index.d.ts +2 -2
- package/dist/tools/test-run-fetcher/index.d.ts.map +1 -1
- package/dist/tools/test-run-fetcher/index.js +67 -66
- package/dist/tools/trace-dot-zip/index.d.ts +1 -1
- package/dist/tools/trace-dot-zip/index.d.ts.map +1 -1
- package/dist/tools/trace-dot-zip/utils/network-trace.d.ts.map +1 -1
- package/dist/tools/trace-dot-zip/utils/network-trace.js +5 -10
- package/dist/tools/triage-summary/index.d.ts +1 -1
- package/dist/tools/triage-summary/index.d.ts.map +1 -1
- package/dist/tools/triage-summary/index.js +5 -2
- package/dist/tools/triage-summary/utils.d.ts +1 -1
- package/dist/tools/triage-summary/utils.d.ts.map +1 -1
- package/dist/tools/upgrade-packages/index.d.ts +1 -1
- package/dist/tools/upgrade-packages/index.d.ts.map +1 -1
- package/dist/tools/upgrade-packages/index.js +14 -8
- package/dist/tools/upgrade-packages/utils.d.ts +9 -5
- package/dist/tools/upgrade-packages/utils.d.ts.map +1 -1
- package/dist/tools/upgrade-packages/utils.js +56 -16
- package/dist/tools/utils/queue.d.ts +1 -1
- package/dist/tools/utils/queue.d.ts.map +1 -1
- package/dist/tools/utils/validate-schema.d.ts +3 -0
- package/dist/tools/utils/validate-schema.d.ts.map +1 -0
- package/dist/tools/utils/validate-schema.js +27 -0
- package/dist/utils/SQSClient.d.ts +1 -1
- package/dist/utils/SQSClient.d.ts.map +1 -1
- package/dist/utils/dedup/dedup-image.js +2 -2
- package/dist/utils/dedup/find-threshold.d.ts +1 -1
- package/dist/utils/dedup/find-threshold.d.ts.map +1 -1
- package/dist/utils/dedup/find-threshold.js +2 -2
- package/dist/utils/model.d.ts +1 -1
- package/dist/utils/model.d.ts.map +1 -1
- package/dist/utils/model.js +6 -10
- package/dist/utils/playwright-report-parser.d.ts +1 -1
- package/dist/utils/playwright-report-parser.d.ts.map +1 -1
- package/dist/utils/playwright-test-id.d.ts +8 -0
- package/dist/utils/playwright-test-id.d.ts.map +1 -0
- package/dist/utils/playwright-test-id.js +21 -0
- package/dist/utils/repo-tree.d.ts +1 -1
- package/dist/utils/repo-tree.d.ts.map +1 -1
- package/dist/utils/slug.d.ts.map +1 -1
- package/dist/utils/slug.js +15 -4
- package/dist/utils/url-validation.d.ts +2 -0
- package/dist/utils/url-validation.d.ts.map +1 -0
- package/dist/utils/url-validation.js +16 -0
- package/dist/video-core/index.d.ts +7 -24
- package/dist/video-core/index.d.ts.map +1 -1
- package/dist/video-core/index.js +32 -25
- package/dist/video-core/model-limits.d.ts +2 -2
- package/dist/video-core/model-limits.d.ts.map +1 -1
- package/dist/video-core/model-limits.js +9 -19
- package/dist/video-core/storage-manager.d.ts +2 -1
- package/dist/video-core/storage-manager.d.ts.map +1 -1
- package/dist/video-core/types.d.ts +1 -1
- package/dist/video-core/types.d.ts.map +1 -1
- package/dist/video-core/utils.d.ts +5 -7
- package/dist/video-core/utils.d.ts.map +1 -1
- package/dist/video-core/utils.js +39 -132
- package/package.json +10 -6
- package/tsconfig.tsbuildinfo +1 -1
- package/dist/actions/skill.d.ts +0 -21
- package/dist/actions/skill.d.ts.map +0 -1
- package/dist/actions/skill.js +0 -127
- package/dist/agent/chat/filesystem-cache.d.ts +0 -12
- package/dist/agent/chat/filesystem-cache.d.ts.map +0 -1
- package/dist/agent/chat/filesystem-cache.js +0 -101
- package/dist/agent/codegen/create-test-block.d.ts +0 -8
- package/dist/agent/codegen/create-test-block.d.ts.map +0 -1
- package/dist/agent/codegen/create-test-block.js +0 -47
- package/dist/agent/codegen/fix-ts-errors.d.ts +0 -12
- package/dist/agent/codegen/fix-ts-errors.d.ts.map +0 -1
- package/dist/agent/codegen/fix-ts-errors.js +0 -78
- package/dist/agent/codegen/lexical-scoped-vars.d.ts +0 -9
- package/dist/agent/codegen/lexical-scoped-vars.d.ts.map +0 -1
- package/dist/agent/codegen/lexical-scoped-vars.js +0 -55
- package/dist/agent/codegen/skills-retriever.d.ts +0 -26
- package/dist/agent/codegen/skills-retriever.d.ts.map +0 -1
- package/dist/agent/codegen/skills-retriever.js +0 -93
- package/dist/agent/codegen/test-update-feedback.d.ts +0 -12
- package/dist/agent/codegen/test-update-feedback.d.ts.map +0 -1
- package/dist/agent/codegen/test-update-feedback.js +0 -49
- package/dist/agent/codegen/types.d.ts +0 -25
- package/dist/agent/codegen/types.d.ts.map +0 -1
- package/dist/agent/codegen/types.js +0 -8
- package/dist/agent/codegen/update-flow.d.ts +0 -36
- package/dist/agent/codegen/update-flow.d.ts.map +0 -1
- package/dist/agent/codegen/update-flow.js +0 -259
- package/dist/agent/codegen/use-skill.d.ts +0 -11
- package/dist/agent/codegen/use-skill.d.ts.map +0 -1
- package/dist/agent/codegen/use-skill.js +0 -53
- package/dist/agent/codegen/utils.d.ts +0 -110
- package/dist/agent/codegen/utils.d.ts.map +0 -1
- package/dist/agent/codegen/utils.js +0 -376
- package/dist/agent/master/browser-tests/skills.spec.d.ts +0 -2
- package/dist/agent/master/browser-tests/skills.spec.d.ts.map +0 -1
- package/dist/agent/master/browser-tests/skills.spec.js +0 -112
- package/dist/agent/master/execute-skill-action.d.ts +0 -11
- package/dist/agent/master/execute-skill-action.d.ts.map +0 -1
- package/dist/agent/master/execute-skill-action.js +0 -23
- package/dist/agent/video-analysis/executor/index.d.ts +0 -5
- package/dist/agent/video-analysis/executor/index.d.ts.map +0 -1
- package/dist/agent/video-analysis/executor/index.js +0 -10
- package/dist/agent/video-analysis/index.d.ts +0 -7
- package/dist/agent/video-analysis/index.d.ts.map +0 -1
- package/dist/agent/video-analysis/index.js +0 -60
- package/dist/evals/append-create-test-agent.evals.d.ts +0 -4
- package/dist/evals/append-create-test-agent.evals.d.ts.map +0 -1
- package/dist/evals/append-create-test-agent.evals.js +0 -117
- package/dist/evals/fetch-pom-skills-agent.evals.d.ts +0 -4
- package/dist/evals/fetch-pom-skills-agent.evals.d.ts.map +0 -1
- package/dist/evals/fetch-pom-skills-agent.evals.js +0 -36
- package/dist/evals/master-agent.evals.d.ts +0 -4
- package/dist/evals/master-agent.evals.d.ts.map +0 -1
- package/dist/evals/master-agent.evals.js +0 -35
- package/dist/evals/type.d.ts +0 -12
- package/dist/evals/type.d.ts.map +0 -1
- package/dist/evals/type.js +0 -2
- package/dist/evals/update-scenario-agent.evals.d.ts +0 -4
- package/dist/evals/update-scenario-agent.evals.d.ts.map +0 -1
- package/dist/evals/update-scenario-agent.evals.js +0 -47
- package/dist/tools/fetch-last-successful-test-run/index.d.ts +0 -3
- package/dist/tools/fetch-last-successful-test-run/index.d.ts.map +0 -1
- package/dist/tools/fetch-last-successful-test-run/index.js +0 -60
- package/dist/tools/issues/create-issue.d.ts +0 -3
- package/dist/tools/issues/create-issue.d.ts.map +0 -1
- package/dist/tools/issues/index.d.ts.map +0 -1
- package/dist/tools/issues/list-issues.d.ts +0 -3
- package/dist/tools/issues/list-issues.d.ts.map +0 -1
- package/dist/tools/issues/metadata-schema.d.ts +0 -24
- package/dist/tools/issues/metadata-schema.d.ts.map +0 -1
- package/dist/tools/issues/metadata-schema.js +0 -22
- package/dist/tools/issues/update-issue.d.ts +0 -3
- package/dist/tools/issues/update-issue.d.ts.map +0 -1
- package/dist/tools/issues/utils.d.ts.map +0 -1
- package/dist/tools/utils/urls.d.ts +0 -5
- package/dist/tools/utils/urls.d.ts.map +0 -1
- package/dist/tools/utils/urls.js +0 -19
- package/dist/tools/view-failed-test-run-report/index.d.ts +0 -12
- package/dist/tools/view-failed-test-run-report/index.d.ts.map +0 -1
- package/dist/tools/view-failed-test-run-report/index.js +0 -151
- package/dist/video-core/agent-orchestrator.d.ts +0 -13
- package/dist/video-core/agent-orchestrator.d.ts.map +0 -1
- package/dist/video-core/agent-orchestrator.js +0 -59
- package/dist/video-core/xml-parser.d.ts +0 -3
- package/dist/video-core/xml-parser.d.ts.map +0 -1
- package/dist/video-core/xml-parser.js +0 -27
- /package/dist/tools/{issues → issues-v1}/index.d.ts +0 -0
- /package/dist/tools/{issues → issues-v1}/index.js +0 -0
- /package/dist/tools/{issues → issues-v1}/list-issues.js +0 -0
- /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;
|
|
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 {
|
|
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,
|
|
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.
|
|
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, "
|
|
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,
|
|
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
|
-
|
|
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:
|
|
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,
|
|
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.
|
|
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
|
-
|
|
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
|
-
|
|
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:
|
|
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
|
|
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
|
+
}
|
package/dist/agent/index.d.ts
CHANGED
|
@@ -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
|
-
|
|
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,
|
|
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"}
|
package/dist/agent/index.js
CHANGED
|
@@ -1,19 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
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,
|
|
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";
|