@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
|
@@ -1,12 +1,8 @@
|
|
|
1
|
-
import { Tool } from "@empiricalrun/shared-types";
|
|
1
|
+
import { Tool } from "@empiricalrun/shared-types/chat-agent";
|
|
2
2
|
import { z } from "zod";
|
|
3
3
|
declare const fetchFileSchema: z.ZodObject<{
|
|
4
4
|
url: z.ZodString;
|
|
5
|
-
},
|
|
6
|
-
url: string;
|
|
7
|
-
}, {
|
|
8
|
-
url: string;
|
|
9
|
-
}>;
|
|
5
|
+
}, z.core.$strip>;
|
|
10
6
|
export declare const fetchFileTool: Tool<z.infer<typeof fetchFileSchema>>;
|
|
11
7
|
export {};
|
|
12
8
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/tools/fetch-file/index.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/tools/fetch-file/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,IAAI,EAGL,MAAM,uCAAuC,CAAC;AAC/C,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAYxB,QAAA,MAAM,eAAe;;iBAEnB,CAAC;AAEH,eAAO,MAAM,aAAa,EAAE,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAoI/D,CAAC"}
|
|
@@ -2,6 +2,8 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.fetchFileTool = void 0;
|
|
4
4
|
const zod_1 = require("zod");
|
|
5
|
+
const url_validation_1 = require("../../utils/url-validation");
|
|
6
|
+
const utils_1 = require("./utils");
|
|
5
7
|
const SUPPORTED_IMAGE_TYPES = [
|
|
6
8
|
"image/png",
|
|
7
9
|
"image/jpeg",
|
|
@@ -16,7 +18,7 @@ exports.fetchFileTool = {
|
|
|
16
18
|
schema: {
|
|
17
19
|
name: "fetchFile",
|
|
18
20
|
description: `Use this tool to fetch file data from any valid URL that responds with an image (PNG, JPEG, GIF, WebP) or markdown file.
|
|
19
|
-
For images, it returns the image in base64 format for you to view or
|
|
21
|
+
For images, it returns the image in base64 format for you to view or analyse. For markdown files, it returns the text content for you to read and process.
|
|
20
22
|
|
|
21
23
|
## Caveats
|
|
22
24
|
1. This will not work to fetch markdown files from a repo due to access control issues. Use file view tools for that.
|
|
@@ -30,20 +32,32 @@ time of test failures. Both of these are available in the attachments section of
|
|
|
30
32
|
},
|
|
31
33
|
needsBrowser: false,
|
|
32
34
|
isInlineTool: true,
|
|
33
|
-
execute: async ({ input }) => {
|
|
35
|
+
execute: async ({ input, logger, }) => {
|
|
34
36
|
const { url } = input;
|
|
37
|
+
logger.info("Starting file fetch", {
|
|
38
|
+
tool: "fetchFileTool",
|
|
39
|
+
url,
|
|
40
|
+
});
|
|
35
41
|
try {
|
|
36
|
-
const
|
|
37
|
-
if (!
|
|
38
|
-
|
|
42
|
+
const headResponse = await (0, url_validation_1.validateUrlAccess)(url);
|
|
43
|
+
if (!headResponse.ok) {
|
|
44
|
+
logger.error("Failed to fetch file", {
|
|
45
|
+
tool: "fetchFileTool",
|
|
46
|
+
url,
|
|
47
|
+
statusText: headResponse.statusText,
|
|
48
|
+
});
|
|
39
49
|
return {
|
|
40
|
-
result: `Failed to fetch file from ${url}: ${
|
|
50
|
+
result: `Failed to fetch file from ${url}: ${headResponse.statusText}`,
|
|
41
51
|
isError: true,
|
|
42
52
|
};
|
|
43
53
|
}
|
|
44
|
-
const contentType =
|
|
54
|
+
const contentType = headResponse.headers.get("content-type");
|
|
45
55
|
if (!contentType) {
|
|
46
56
|
const errorMessage = `No content type header found. URL must return an image or markdown file.`;
|
|
57
|
+
logger.warn("No content type header found", {
|
|
58
|
+
tool: "fetchFileTool",
|
|
59
|
+
url,
|
|
60
|
+
});
|
|
47
61
|
return {
|
|
48
62
|
result: errorMessage,
|
|
49
63
|
isError: true,
|
|
@@ -51,17 +65,33 @@ time of test failures. Both of these are available in the attachments section of
|
|
|
51
65
|
}
|
|
52
66
|
const isImage = SUPPORTED_IMAGE_TYPES.some((type) => contentType.startsWith(type));
|
|
53
67
|
const isText = SUPPORTED_TEXT_TYPES.some((type) => contentType.startsWith(type));
|
|
68
|
+
const isVideo = contentType.startsWith("video");
|
|
54
69
|
if (!isImage && !isText) {
|
|
55
|
-
const errorMessage =
|
|
56
|
-
|
|
70
|
+
const errorMessage = isVideo
|
|
71
|
+
? `This tool does not support content type: ${contentType}. Try analyseVideo tool instead for video files.`
|
|
72
|
+
: `Invalid content type: ${contentType}. URL must return an image (PNG, JPEG, GIF, WebP) or markdown file.`;
|
|
73
|
+
logger.warn("Unsupported content type", {
|
|
74
|
+
tool: "fetchFileTool",
|
|
75
|
+
url,
|
|
76
|
+
contentType,
|
|
77
|
+
isVideo,
|
|
78
|
+
});
|
|
57
79
|
return {
|
|
58
80
|
result: errorMessage,
|
|
59
81
|
isError: true,
|
|
60
82
|
};
|
|
61
83
|
}
|
|
84
|
+
const contentResponse = await fetch(url);
|
|
62
85
|
if (isImage) {
|
|
63
|
-
const buffer = await
|
|
64
|
-
const
|
|
86
|
+
const buffer = await contentResponse.arrayBuffer();
|
|
87
|
+
const processedBuffer = await (0, utils_1.downscaleImageIfNeeded)(buffer, logger);
|
|
88
|
+
const base64 = Buffer.from(processedBuffer).toString("base64");
|
|
89
|
+
logger.info("Successfully fetched image file", {
|
|
90
|
+
tool: "fetchFileTool",
|
|
91
|
+
url,
|
|
92
|
+
contentType,
|
|
93
|
+
size: processedBuffer.byteLength,
|
|
94
|
+
});
|
|
65
95
|
return {
|
|
66
96
|
result: [
|
|
67
97
|
{
|
|
@@ -74,7 +104,13 @@ time of test failures. Both of these are available in the attachments section of
|
|
|
74
104
|
}
|
|
75
105
|
else {
|
|
76
106
|
// Handle text/markdown files
|
|
77
|
-
const text = await
|
|
107
|
+
const text = await contentResponse.text();
|
|
108
|
+
logger.info("Successfully fetched text file", {
|
|
109
|
+
tool: "fetchFileTool",
|
|
110
|
+
url,
|
|
111
|
+
contentType,
|
|
112
|
+
size: text.length,
|
|
113
|
+
});
|
|
78
114
|
return {
|
|
79
115
|
result: [
|
|
80
116
|
{
|
|
@@ -87,7 +123,11 @@ time of test failures. Both of these are available in the attachments section of
|
|
|
87
123
|
}
|
|
88
124
|
}
|
|
89
125
|
catch (error) {
|
|
90
|
-
|
|
126
|
+
logger.error("Error fetching file", {
|
|
127
|
+
tool: "fetchFileTool",
|
|
128
|
+
url,
|
|
129
|
+
error,
|
|
130
|
+
});
|
|
91
131
|
return {
|
|
92
132
|
result: `Error fetching file: ${error}`,
|
|
93
133
|
isError: true,
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/tools/fetch-file/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,uCAAuC,CAAC;AA6I/D,wBAAsB,sBAAsB,CAC1C,MAAM,EAAE,WAAW,EACnB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,WAAW,CAAC,CAWtB"}
|
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.downscaleImageIfNeeded = downscaleImageIfNeeded;
|
|
4
|
+
const MAX_IMAGE_DIMENSION = 1440;
|
|
5
|
+
function detectImageFormat(buffer) {
|
|
6
|
+
const arr = new Uint8Array(buffer.slice(0, 12));
|
|
7
|
+
// PNG: 89 50 4E 47
|
|
8
|
+
if (arr[0] === 0x89 &&
|
|
9
|
+
arr[1] === 0x50 &&
|
|
10
|
+
arr[2] === 0x4e &&
|
|
11
|
+
arr[3] === 0x47) {
|
|
12
|
+
return "png";
|
|
13
|
+
}
|
|
14
|
+
// JPEG: FF D8 FF
|
|
15
|
+
if (arr[0] === 0xff && arr[1] === 0xd8 && arr[2] === 0xff) {
|
|
16
|
+
return "jpeg";
|
|
17
|
+
}
|
|
18
|
+
// WebP: RIFF ... WEBP
|
|
19
|
+
if (arr[0] === 0x52 &&
|
|
20
|
+
arr[1] === 0x49 &&
|
|
21
|
+
arr[2] === 0x46 &&
|
|
22
|
+
arr[3] === 0x46 &&
|
|
23
|
+
arr[8] === 0x57 &&
|
|
24
|
+
arr[9] === 0x45 &&
|
|
25
|
+
arr[10] === 0x42 &&
|
|
26
|
+
arr[11] === 0x50) {
|
|
27
|
+
return "webp";
|
|
28
|
+
}
|
|
29
|
+
// GIF: 47 49 46
|
|
30
|
+
if (arr[0] === 0x47 && arr[1] === 0x49 && arr[2] === 0x46) {
|
|
31
|
+
return "gif";
|
|
32
|
+
}
|
|
33
|
+
return null;
|
|
34
|
+
}
|
|
35
|
+
async function downscaleWithJsquash(buffer, logger) {
|
|
36
|
+
const format = detectImageFormat(buffer);
|
|
37
|
+
if (!format) {
|
|
38
|
+
logger.warn("Unable to detect image format for downscaling", {
|
|
39
|
+
tool: "fetchFileTool",
|
|
40
|
+
});
|
|
41
|
+
return buffer;
|
|
42
|
+
}
|
|
43
|
+
try {
|
|
44
|
+
let imageData;
|
|
45
|
+
if (format === "png") {
|
|
46
|
+
const { decode } = await import("@jsquash/png");
|
|
47
|
+
imageData = await decode(buffer);
|
|
48
|
+
}
|
|
49
|
+
else if (format === "jpeg") {
|
|
50
|
+
const { decode } = await import("@jsquash/jpeg");
|
|
51
|
+
imageData = await decode(buffer);
|
|
52
|
+
}
|
|
53
|
+
else if (format === "webp") {
|
|
54
|
+
const { decode } = await import("@jsquash/webp");
|
|
55
|
+
imageData = await decode(buffer);
|
|
56
|
+
}
|
|
57
|
+
else if (format === "gif") {
|
|
58
|
+
logger.warn("GIF resizing not supported in edge environment", {
|
|
59
|
+
tool: "fetchFileTool",
|
|
60
|
+
});
|
|
61
|
+
return buffer;
|
|
62
|
+
}
|
|
63
|
+
else {
|
|
64
|
+
logger.warn("Unsupported format for edge resizing", {
|
|
65
|
+
tool: "fetchFileTool",
|
|
66
|
+
format,
|
|
67
|
+
});
|
|
68
|
+
return buffer;
|
|
69
|
+
}
|
|
70
|
+
const { width, height } = imageData;
|
|
71
|
+
const maxDimension = Math.max(width, height);
|
|
72
|
+
if (maxDimension <= MAX_IMAGE_DIMENSION) {
|
|
73
|
+
logger.info("Image dimensions within limits, no downscaling needed", {
|
|
74
|
+
tool: "fetchFileTool",
|
|
75
|
+
width,
|
|
76
|
+
height,
|
|
77
|
+
});
|
|
78
|
+
return buffer;
|
|
79
|
+
}
|
|
80
|
+
const scale = MAX_IMAGE_DIMENSION / maxDimension;
|
|
81
|
+
const newWidth = Math.round(width * scale);
|
|
82
|
+
const newHeight = Math.round(height * scale);
|
|
83
|
+
const resize = (await import("@jsquash/resize")).default;
|
|
84
|
+
const resizedImageData = await resize(imageData, {
|
|
85
|
+
width: newWidth,
|
|
86
|
+
height: newHeight,
|
|
87
|
+
});
|
|
88
|
+
let encodedBuffer;
|
|
89
|
+
if (format === "png") {
|
|
90
|
+
const { encode } = await import("@jsquash/png");
|
|
91
|
+
encodedBuffer = await encode(resizedImageData);
|
|
92
|
+
}
|
|
93
|
+
else if (format === "jpeg") {
|
|
94
|
+
const { encode } = await import("@jsquash/jpeg");
|
|
95
|
+
encodedBuffer = await encode(resizedImageData);
|
|
96
|
+
}
|
|
97
|
+
else if (format === "webp") {
|
|
98
|
+
const { encode } = await import("@jsquash/webp");
|
|
99
|
+
encodedBuffer = await encode(resizedImageData);
|
|
100
|
+
}
|
|
101
|
+
else {
|
|
102
|
+
return buffer;
|
|
103
|
+
}
|
|
104
|
+
logger.info("Image downscaled with jsquash", {
|
|
105
|
+
tool: "fetchFileTool",
|
|
106
|
+
originalWidth: width,
|
|
107
|
+
originalHeight: height,
|
|
108
|
+
newWidth,
|
|
109
|
+
newHeight,
|
|
110
|
+
scale,
|
|
111
|
+
format,
|
|
112
|
+
});
|
|
113
|
+
return encodedBuffer;
|
|
114
|
+
}
|
|
115
|
+
catch (error) {
|
|
116
|
+
logger.error("Error downscaling with jsquash", {
|
|
117
|
+
tool: "fetchFileTool",
|
|
118
|
+
error,
|
|
119
|
+
format,
|
|
120
|
+
});
|
|
121
|
+
return buffer;
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
async function downscaleImageIfNeeded(buffer, logger) {
|
|
125
|
+
try {
|
|
126
|
+
return await downscaleWithJsquash(buffer, logger);
|
|
127
|
+
}
|
|
128
|
+
catch (error) {
|
|
129
|
+
logger.error("Error processing image for downscaling", {
|
|
130
|
+
tool: "fetchFileTool",
|
|
131
|
+
error,
|
|
132
|
+
});
|
|
133
|
+
// Return original buffer if processing fails
|
|
134
|
+
return buffer;
|
|
135
|
+
}
|
|
136
|
+
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/tools/fetch-session-diff/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/tools/fetch-session-diff/index.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,IAAI,EAEL,MAAM,uCAAuC,CAAC;AAO/C,eAAO,MAAM,oBAAoB,EAAE,IA6ElC,CAAC"}
|
|
@@ -13,30 +13,54 @@ exports.fetchSessionDiffTool = {
|
|
|
13
13
|
},
|
|
14
14
|
needsBrowser: false,
|
|
15
15
|
isInlineTool: true,
|
|
16
|
-
execute: async ({ input, apiClient }) => {
|
|
16
|
+
execute: async ({ input, apiClient, logger, }) => {
|
|
17
|
+
logger.info("Starting session diff fetch", {
|
|
18
|
+
tool: "fetchSessionDiffTool",
|
|
19
|
+
url: input.url,
|
|
20
|
+
});
|
|
17
21
|
try {
|
|
18
22
|
const sessionUrl = input.url;
|
|
19
23
|
if (!sessionUrl) {
|
|
24
|
+
logger.warn("No session URL provided", {
|
|
25
|
+
tool: "fetchSessionDiffTool",
|
|
26
|
+
});
|
|
20
27
|
return {
|
|
21
28
|
isError: true,
|
|
22
29
|
result: "No session URL provided",
|
|
23
30
|
};
|
|
24
31
|
}
|
|
25
32
|
if (!apiClient) {
|
|
33
|
+
logger.error("Dashboard API client not available", {
|
|
34
|
+
tool: "fetchSessionDiffTool",
|
|
35
|
+
url: sessionUrl,
|
|
36
|
+
});
|
|
26
37
|
throw new Error("Dashboard API client is not available.");
|
|
27
38
|
}
|
|
28
39
|
const sessionId = sessionUrl.split("/").pop();
|
|
29
40
|
const sessionDiffApiUrl = `/api/chat-sessions/${sessionId}/diff?is_line_annotated=true`;
|
|
41
|
+
logger.info("Fetching session diff from API", {
|
|
42
|
+
tool: "fetchSessionDiffTool",
|
|
43
|
+
sessionId,
|
|
44
|
+
apiUrl: sessionDiffApiUrl,
|
|
45
|
+
});
|
|
30
46
|
const sessionDiff = await apiClient.request(sessionDiffApiUrl, {
|
|
31
47
|
method: "GET",
|
|
32
48
|
});
|
|
49
|
+
logger.info("Successfully fetched session diff", {
|
|
50
|
+
tool: "fetchSessionDiffTool",
|
|
51
|
+
sessionId,
|
|
52
|
+
});
|
|
33
53
|
return {
|
|
34
54
|
isError: false,
|
|
35
55
|
result: JSON.stringify(sessionDiff, null, 2),
|
|
36
56
|
};
|
|
37
57
|
}
|
|
38
58
|
catch (error) {
|
|
39
|
-
|
|
59
|
+
logger.error("Error fetching session diff", {
|
|
60
|
+
tool: "fetchSessionDiffTool",
|
|
61
|
+
url: input.url,
|
|
62
|
+
error,
|
|
63
|
+
});
|
|
40
64
|
return {
|
|
41
65
|
isError: true,
|
|
42
66
|
result: error instanceof Error ? error.message : String(error),
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { CollectArtifacts, ToolResult } from "@empiricalrun/shared-types";
|
|
1
|
+
import { CollectArtifacts, ToolResult } from "@empiricalrun/shared-types/chat-agent";
|
|
2
2
|
import type { StrReplaceInputParams } from "./shared/helpers";
|
|
3
3
|
declare function fileCreateExecutor({ input, filePath, absoluteFilePath, repoDir, collectArtifacts, }: {
|
|
4
4
|
input: StrReplaceInputParams;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../../../src/tools/file-operations/create.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../../../src/tools/file-operations/create.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,EAChB,UAAU,EACX,MAAM,uCAAuC,CAAC;AAO/C,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAE9D,iBAAe,kBAAkB,CAAC,EAChC,KAAK,EACL,QAAQ,EACR,gBAAgB,EAChB,OAAO,EACP,gBAAgB,GACjB,EAAE;IACD,KAAK,EAAE,qBAAqB,CAAC;IAC7B,QAAQ,EAAE,MAAM,CAAC;IACjB,gBAAgB,EAAE,MAAM,CAAC;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;CACrC,GAAG,OAAO,CAAC,UAAU,CAAC,CAuDtB;AAED,OAAO,EAAE,kBAAkB,EAAE,CAAC"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { IDashboardAPIClient } from "@empiricalrun/shared-types/api/base";
|
|
2
|
+
import { CollectArtifacts, Tool, ToolResult } from "@empiricalrun/shared-types/chat-agent";
|
|
2
3
|
import { StrReplaceInputParams } from "./shared/helpers";
|
|
3
4
|
/**
|
|
4
5
|
* Our implementation of Claude's built-in text editor tool
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/tools/file-operations/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,EAChB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/tools/file-operations/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAC;AAC1E,OAAO,EACL,gBAAgB,EAChB,IAAI,EAEJ,UAAU,EACX,MAAM,uCAAuC,CAAC;AAQ/C,OAAO,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAGzD;;;GAGG;AACH,iBAAe,wBAAwB,CAAC,EACtC,KAAK,EACL,QAAQ,EACR,gBAAgB,EAChB,SAAS,GACV,EAAE;IACD,KAAK,EAAE,qBAAqB,CAAC;IAC7B,QAAQ,EAAE,MAAM,CAAC;IACjB,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;IACpC,SAAS,CAAC,EAAE,mBAAmB,CAAC;CACjC,GAAG,OAAO,CAAC,UAAU,CAAC,CAoDtB;AAgFD,QAAA,MAAM,eAAe,EAAE,IAAI,EAK1B,CAAC;AAEF,QAAA,MAAM,aAAa,EAAE,IAAI,EAAmB,CAAC;AAE7C,OAAO,EAAE,wBAAwB,EAAE,eAAe,EAAE,aAAa,EAAE,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { CollectArtifacts, ToolResult } from "@empiricalrun/shared-types";
|
|
1
|
+
import { CollectArtifacts, ToolResult } from "@empiricalrun/shared-types/chat-agent";
|
|
2
2
|
import { StrReplaceInputParams } from "./shared/helpers";
|
|
3
3
|
export declare function fileInsertExecutor({ input, filePath, absoluteFilePath, repoDir, collectArtifacts, }: {
|
|
4
4
|
input: StrReplaceInputParams;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"insert.d.ts","sourceRoot":"","sources":["../../../src/tools/file-operations/insert.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"insert.d.ts","sourceRoot":"","sources":["../../../src/tools/file-operations/insert.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,EAChB,UAAU,EACX,MAAM,uCAAuC,CAAC;AAM/C,OAAO,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAEzD,wBAAsB,kBAAkB,CAAC,EACvC,KAAK,EACL,QAAQ,EACR,gBAAgB,EAChB,OAAO,EACP,gBAAgB,GACjB,EAAE;IACD,KAAK,EAAE,qBAAqB,CAAC;IAC7B,QAAQ,EAAE,MAAM,CAAC;IACjB,gBAAgB,EAAE,MAAM,CAAC;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;CACrC,GAAG,OAAO,CAAC,UAAU,CAAC,CAqDtB"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { CollectArtifacts, ToolResult } from "@empiricalrun/shared-types";
|
|
1
|
+
import { CollectArtifacts, ToolResult } from "@empiricalrun/shared-types/chat-agent";
|
|
2
2
|
import type { StrReplaceInputParams } from "./shared/helpers";
|
|
3
3
|
declare function fileStrReplaceExecutor({ input, filePath, absoluteFilePath, repoDir, collectArtifacts, }: {
|
|
4
4
|
input: StrReplaceInputParams;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"replace.d.ts","sourceRoot":"","sources":["../../../src/tools/file-operations/replace.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"replace.d.ts","sourceRoot":"","sources":["../../../src/tools/file-operations/replace.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,EAChB,UAAU,EACX,MAAM,uCAAuC,CAAC;AAM/C,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAG9D,iBAAe,sBAAsB,CAAC,EACpC,KAAK,EACL,QAAQ,EACR,gBAAgB,EAChB,OAAO,EACP,gBAAgB,GACjB,EAAE;IACD,KAAK,EAAE,qBAAqB,CAAC;IAC7B,QAAQ,EAAE,MAAM,CAAC;IACjB,gBAAgB,EAAE,MAAM,CAAC;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;CACrC,GAAG,OAAO,CAAC,UAAU,CAAC,CAqEtB;AAED,OAAO,EAAE,sBAAsB,EAAE,CAAC"}
|
|
@@ -60,7 +60,6 @@ async function fileStrReplaceExecutor({ input, filePath, absoluteFilePath, repoD
|
|
|
60
60
|
else {
|
|
61
61
|
const newContent = parts.join(input.new_str);
|
|
62
62
|
fs_1.default.writeFileSync(absoluteFilePath, newContent);
|
|
63
|
-
// Stage the file
|
|
64
63
|
(0, child_process_1.execSync)(`git add "${filePath}"`, { cwd: repoDir });
|
|
65
64
|
let tscResult = await (0, web_1.runTypescriptCompiler)(repoDir);
|
|
66
65
|
if (!tscResult.success) {
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import { IDashboardAPIClient
|
|
1
|
+
import { IDashboardAPIClient } from "@empiricalrun/shared-types/api/base";
|
|
2
|
+
import { ToolResult } from "@empiricalrun/shared-types/chat-agent";
|
|
2
3
|
import type { StrReplaceInputParams } from "../shared/helpers";
|
|
3
4
|
type FileViewExecutorParams = {
|
|
4
5
|
input: StrReplaceInputParams;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/tools/file-operations/view/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,UAAU,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/tools/file-operations/view/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAC;AAC1E,OAAO,EAAE,UAAU,EAAE,MAAM,uCAAuC,CAAC;AAInE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAG/D,KAAK,sBAAsB,GAAG;IAC5B,KAAK,EAAE,qBAAqB,CAAC;IAC7B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,mBAAmB,CAAC;IAChC,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,wBAAsB,gBAAgB,CACpC,MAAM,EAAE,sBAAsB,GAC7B,OAAO,CAAC,UAAU,CAAC,CA4BrB"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { Tool } from "@empiricalrun/shared-types/chat-agent";
|
|
2
|
+
import { z } from "zod";
|
|
3
|
+
declare const ScrapeHtmlInputSchema: z.ZodObject<{
|
|
4
|
+
url: z.ZodString;
|
|
5
|
+
}, z.core.$strip>;
|
|
6
|
+
type ScrapeHtmlInput = z.infer<typeof ScrapeHtmlInputSchema>;
|
|
7
|
+
export declare const scrapeHtmlTool: Tool<ScrapeHtmlInput>;
|
|
8
|
+
export {};
|
|
9
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/tools/firecrawl-scrape/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAc,MAAM,uCAAuC,CAAC;AAC9E,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,QAAA,MAAM,qBAAqB;;iBAEzB,CAAC;AAEH,KAAK,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAQ7D,eAAO,MAAM,cAAc,EAAE,IAAI,CAAC,eAAe,CA+GhD,CAAC"}
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.scrapeHtmlTool = void 0;
|
|
4
|
+
const zod_1 = require("zod");
|
|
5
|
+
const ScrapeHtmlInputSchema = zod_1.z.object({
|
|
6
|
+
url: zod_1.z.string().describe("The URL of the web page to scrape"),
|
|
7
|
+
});
|
|
8
|
+
exports.scrapeHtmlTool = {
|
|
9
|
+
schema: {
|
|
10
|
+
name: "scrapeHtml",
|
|
11
|
+
description: `Use this tool to scrape the content of a web page and return it as markdown.
|
|
12
|
+
|
|
13
|
+
## When to use this tool
|
|
14
|
+
- When you need to read documentation from external websites
|
|
15
|
+
- When you need to understand content from a web page that is not part of the repository
|
|
16
|
+
- When the user provides a URL and asks you to read or analyze its content`,
|
|
17
|
+
parameters: ScrapeHtmlInputSchema,
|
|
18
|
+
},
|
|
19
|
+
needsBrowser: false,
|
|
20
|
+
isInlineTool: true,
|
|
21
|
+
execute: async ({ input, logger, environmentOverrides, }) => {
|
|
22
|
+
const { url } = input;
|
|
23
|
+
logger?.info("Starting HTML scrape", {
|
|
24
|
+
tool: "scrapeHtmlTool",
|
|
25
|
+
url,
|
|
26
|
+
});
|
|
27
|
+
const apiKey = environmentOverrides?.FIRECRAWL_API_KEY;
|
|
28
|
+
if (!apiKey) {
|
|
29
|
+
logger?.error("Scrape API key not configured", {
|
|
30
|
+
tool: "scrapeHtmlTool",
|
|
31
|
+
});
|
|
32
|
+
return {
|
|
33
|
+
isError: true,
|
|
34
|
+
result: "Scrape API key is not configured",
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
try {
|
|
38
|
+
const response = await fetch("https://api.firecrawl.dev/v2/scrape", {
|
|
39
|
+
method: "POST",
|
|
40
|
+
headers: {
|
|
41
|
+
Authorization: `Bearer ${apiKey}`,
|
|
42
|
+
"Content-Type": "application/json",
|
|
43
|
+
},
|
|
44
|
+
body: JSON.stringify({
|
|
45
|
+
url,
|
|
46
|
+
onlyMainContent: false,
|
|
47
|
+
maxAge: 172800000,
|
|
48
|
+
formats: ["markdown"],
|
|
49
|
+
}),
|
|
50
|
+
});
|
|
51
|
+
if (!response.ok) {
|
|
52
|
+
const errorText = await response.text();
|
|
53
|
+
logger?.error("Scrape API request failed", {
|
|
54
|
+
tool: "scrapeHtmlTool",
|
|
55
|
+
url,
|
|
56
|
+
status: response.status,
|
|
57
|
+
error: errorText,
|
|
58
|
+
});
|
|
59
|
+
return {
|
|
60
|
+
isError: true,
|
|
61
|
+
result: `Scrape API error: ${response.status} - ${errorText}`,
|
|
62
|
+
};
|
|
63
|
+
}
|
|
64
|
+
const data = await response.json();
|
|
65
|
+
if (!data.success) {
|
|
66
|
+
logger?.error("HTML scrape failed", {
|
|
67
|
+
tool: "scrapeHtmlTool",
|
|
68
|
+
url,
|
|
69
|
+
error: data.error,
|
|
70
|
+
});
|
|
71
|
+
return {
|
|
72
|
+
isError: true,
|
|
73
|
+
result: `HTML scrape failed: ${data.error || "Unknown error"}`,
|
|
74
|
+
};
|
|
75
|
+
}
|
|
76
|
+
if (!data.data) {
|
|
77
|
+
logger?.warn("No data returned", {
|
|
78
|
+
tool: "scrapeHtmlTool",
|
|
79
|
+
url,
|
|
80
|
+
});
|
|
81
|
+
return {
|
|
82
|
+
isError: true,
|
|
83
|
+
result: "No data returned from scrape",
|
|
84
|
+
};
|
|
85
|
+
}
|
|
86
|
+
logger?.info("Successfully scraped web page", {
|
|
87
|
+
tool: "scrapeHtmlTool",
|
|
88
|
+
url,
|
|
89
|
+
});
|
|
90
|
+
return {
|
|
91
|
+
isError: false,
|
|
92
|
+
result: JSON.stringify(data.data, null, 2),
|
|
93
|
+
};
|
|
94
|
+
}
|
|
95
|
+
catch (error) {
|
|
96
|
+
logger?.error("Error during HTML scrape", {
|
|
97
|
+
tool: "scrapeHtmlTool",
|
|
98
|
+
url,
|
|
99
|
+
error,
|
|
100
|
+
});
|
|
101
|
+
return {
|
|
102
|
+
isError: true,
|
|
103
|
+
result: `Error scraping URL: ${error}`,
|
|
104
|
+
};
|
|
105
|
+
}
|
|
106
|
+
},
|
|
107
|
+
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/tools/grep/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/tools/grep/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,IAAI,EAEL,MAAM,uCAAuC,CAAC;AAwI/C,eAAO,MAAM,QAAQ,EAAE,IAYtB,CAAC"}
|
package/dist/tools/grep/index.js
CHANGED
|
@@ -65,8 +65,11 @@ async function usingSystemGrep(input, repoPath, logger) {
|
|
|
65
65
|
}
|
|
66
66
|
}
|
|
67
67
|
catch (error) {
|
|
68
|
-
logger
|
|
69
|
-
|
|
68
|
+
logger.error("Error executing grep", {
|
|
69
|
+
tool: "grepTool",
|
|
70
|
+
method: "usingSystemGrep",
|
|
71
|
+
error: error instanceof Error ? error.message : String(error),
|
|
72
|
+
});
|
|
70
73
|
return {
|
|
71
74
|
isError: true,
|
|
72
75
|
result: error instanceof Error ? error.message : String(error),
|
|
@@ -77,8 +80,8 @@ async function usingRipgrep(input, repoPath, logger) {
|
|
|
77
80
|
try {
|
|
78
81
|
const dir = path_1.default.join(repoPath, input.directory || "");
|
|
79
82
|
const escapedPattern = input.pattern
|
|
80
|
-
.replace(/[.*+?^${}()|[\]\\]/g, "\\$&") // Escape special characters that have meaning in regex/grep
|
|
81
|
-
.replace(/[
|
|
83
|
+
.replace(/[.*+?^${}()|[\]\\"'`]/g, "\\$&") // Escape special characters that have meaning in regex/grep/shell
|
|
84
|
+
.replace(/[&;<>]/g, "\\$&") // Escape shell special characters
|
|
82
85
|
.replace(/\s+/g, "\\ "); // Handle spaces
|
|
83
86
|
const results = (0, ripgrep_1.ripgrep)(dir, {
|
|
84
87
|
string: escapedPattern,
|
|
@@ -110,8 +113,11 @@ All paths are relative to the current working directory.`;
|
|
|
110
113
|
};
|
|
111
114
|
}
|
|
112
115
|
catch (error) {
|
|
113
|
-
logger
|
|
114
|
-
|
|
116
|
+
logger.error("Error executing ripgrep", {
|
|
117
|
+
tool: "grepTool",
|
|
118
|
+
method: "usingRipgrep",
|
|
119
|
+
error: error instanceof Error ? error.message : String(error),
|
|
120
|
+
});
|
|
115
121
|
return {
|
|
116
122
|
isError: true,
|
|
117
123
|
result: error instanceof ripgrep_1.RipGrepError ? error.message : String(error),
|
|
@@ -125,12 +131,9 @@ exports.grepTool = {
|
|
|
125
131
|
return usingRipgrep(input, repoPath, logger);
|
|
126
132
|
}
|
|
127
133
|
else {
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
}
|
|
131
|
-
else {
|
|
132
|
-
console.warn("ripgrep is not available, falling back to system grep.");
|
|
133
|
-
}
|
|
134
|
+
logger.warn("ripgrep is not available, falling back to system grep.", {
|
|
135
|
+
tool: "grepTool",
|
|
136
|
+
});
|
|
134
137
|
return usingSystemGrep(input, repoPath, logger);
|
|
135
138
|
}
|
|
136
139
|
},
|