@empiricalrun/test-gen 0.75.0 → 0.77.0
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 +48 -0
- package/dist/agent/base/index.d.ts +32 -21
- package/dist/agent/base/index.d.ts.map +1 -1
- package/dist/agent/base/index.js +100 -57
- package/dist/agent/browsing/run.d.ts +1 -2
- package/dist/agent/browsing/run.d.ts.map +1 -1
- package/dist/agent/browsing/run.js +3 -9
- package/dist/agent/browsing/utils.d.ts +2 -9
- package/dist/agent/browsing/utils.d.ts.map +1 -1
- package/dist/agent/browsing/utils.js +5 -109
- package/dist/agent/chat/agent-loop.d.ts +8 -7
- package/dist/agent/chat/agent-loop.d.ts.map +1 -1
- package/dist/agent/chat/agent-loop.js +7 -18
- package/dist/agent/chat/exports.d.ts +9 -6
- package/dist/agent/chat/exports.d.ts.map +1 -1
- package/dist/agent/chat/exports.js +11 -13
- package/dist/agent/chat/index.d.ts +6 -10
- package/dist/agent/chat/index.d.ts.map +1 -1
- package/dist/agent/chat/index.js +117 -196
- package/dist/agent/chat/models.d.ts +0 -2
- package/dist/agent/chat/models.d.ts.map +1 -1
- package/dist/agent/chat/models.js +12 -26
- 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 +52 -0
- package/dist/agent/chat/prompt/repo.d.ts.map +1 -1
- package/dist/agent/chat/prompt/repo.js +11 -22
- package/dist/agent/chat/prompt/test-case-def.d.ts +2 -0
- package/dist/agent/chat/prompt/test-case-def.d.ts.map +1 -0
- package/dist/agent/chat/prompt/test-case-def.js +44 -0
- package/dist/agent/chat/state.d.ts +8 -8
- package/dist/agent/chat/state.d.ts.map +1 -1
- package/dist/agent/chat/state.js +17 -47
- package/dist/agent/chat/utils.d.ts +4 -5
- package/dist/agent/chat/utils.d.ts.map +1 -1
- package/dist/agent/chat/utils.js +15 -9
- package/dist/agent/cli.d.ts +11 -0
- package/dist/agent/cli.d.ts.map +1 -0
- package/dist/agent/cli.js +213 -0
- package/dist/agent/code-review/executor/index.d.ts +5 -0
- package/dist/agent/code-review/executor/index.d.ts.map +1 -0
- package/dist/agent/code-review/executor/index.js +13 -0
- package/dist/agent/code-review/index.d.ts +12 -0
- package/dist/agent/code-review/index.d.ts.map +1 -0
- package/dist/agent/code-review/index.js +159 -0
- package/dist/agent/code-review/parser.d.ts +5 -0
- package/dist/agent/code-review/parser.d.ts.map +1 -0
- package/dist/agent/code-review/parser.js +70 -0
- package/dist/agent/code-review/types.d.ts +36 -0
- package/dist/agent/code-review/types.d.ts.map +1 -0
- package/dist/agent/code-review/types.js +13 -0
- package/dist/agent/cua/index.d.ts.map +1 -1
- package/dist/agent/cua/index.js +18 -2
- package/dist/agent/cua/model.d.ts.map +1 -1
- package/dist/agent/cua/model.js +4 -1
- package/dist/agent/cua/pw-codegen/pw-pause/index.d.ts.map +1 -1
- package/dist/agent/index.d.ts +10 -0
- package/dist/agent/index.d.ts.map +1 -0
- package/dist/agent/index.js +19 -0
- package/dist/agent/triage/index.d.ts +7 -0
- package/dist/agent/triage/index.d.ts.map +1 -0
- package/dist/agent/triage/index.js +103 -0
- package/dist/agent/video-analysis/executor/index.d.ts +5 -0
- package/dist/agent/video-analysis/executor/index.d.ts.map +1 -0
- package/dist/agent/video-analysis/executor/index.js +10 -0
- package/dist/agent/video-analysis/index.d.ts +7 -0
- package/dist/agent/video-analysis/index.d.ts.map +1 -0
- package/dist/agent/video-analysis/index.js +60 -0
- package/dist/artifacts/index.d.ts +1 -1
- package/dist/artifacts/index.d.ts.map +1 -1
- package/dist/artifacts/index.js +3 -1
- package/dist/artifacts/utils.d.ts.map +1 -1
- package/dist/bin/index.js +68 -23
- package/dist/constants/index.d.ts +14 -0
- package/dist/constants/index.d.ts.map +1 -1
- package/dist/constants/index.js +33 -1
- package/dist/file/server.d.ts +1 -3
- package/dist/file/server.d.ts.map +1 -1
- package/dist/file/server.js +0 -13
- package/dist/file-info/adapters/file-system/index.d.ts.map +1 -1
- package/dist/file-info/adapters/file-system/reader.d.ts.map +1 -1
- package/dist/file-info/adapters/file-system/reader.js +8 -1
- package/dist/file-info/adapters/github/index.d.ts.map +1 -1
- package/dist/file-info/adapters/github/index.js +1 -2
- package/dist/file-info/adapters/github/reader.d.ts +4 -9
- package/dist/file-info/adapters/github/reader.d.ts.map +1 -1
- package/dist/file-info/adapters/github/reader.js +166 -134
- package/dist/index.d.ts.map +1 -1
- package/dist/tools/analyse-video/index.d.ts +5 -0
- package/dist/tools/analyse-video/index.d.ts.map +1 -0
- package/dist/tools/analyse-video/index.js +50 -0
- package/dist/tools/create-pull-request/index.d.ts.map +1 -0
- package/dist/tools/{definitions/commit-and-create-pr.js → create-pull-request/index.js} +28 -1
- package/dist/tools/create-pull-request/utils.d.ts +21 -0
- package/dist/tools/create-pull-request/utils.d.ts.map +1 -0
- package/dist/tools/create-pull-request/utils.js +83 -0
- package/dist/tools/definitions/{fetch-video-analysis.d.ts → analyse-video.d.ts} +17 -12
- package/dist/tools/definitions/analyse-video.d.ts.map +1 -0
- package/dist/tools/definitions/analyse-video.js +60 -0
- package/dist/tools/definitions/review-pull-request.d.ts +3 -0
- package/dist/tools/definitions/review-pull-request.d.ts.map +1 -0
- package/dist/tools/definitions/review-pull-request.js +16 -0
- package/dist/tools/definitions/str_replace_editor.d.ts +1 -0
- package/dist/tools/definitions/str_replace_editor.d.ts.map +1 -1
- package/dist/tools/definitions/str_replace_editor.js +4 -1
- package/dist/tools/definitions/test-gen-browser.d.ts +0 -3
- package/dist/tools/definitions/test-gen-browser.d.ts.map +1 -1
- package/dist/tools/definitions/test-gen-browser.js +33 -8
- package/dist/tools/delete-file/index.d.ts.map +1 -1
- package/dist/tools/delete-file/index.js +1 -19
- package/dist/tools/executor/base.d.ts +32 -0
- package/dist/tools/executor/base.d.ts.map +1 -0
- package/dist/tools/executor/base.js +114 -0
- package/dist/tools/executor/index.d.ts +3 -22
- package/dist/tools/executor/index.d.ts.map +1 -1
- package/dist/tools/executor/index.js +13 -92
- package/dist/tools/executor/utils/checkpoint.d.ts +1 -1
- package/dist/tools/executor/utils/checkpoint.d.ts.map +1 -1
- package/dist/tools/executor/utils/checkpoint.js +6 -2
- package/dist/tools/executor/utils/git.d.ts +2 -2
- package/dist/tools/executor/utils/git.d.ts.map +1 -1
- package/dist/tools/executor/utils/git.js +7 -3
- package/dist/tools/executor/utils/index.d.ts.map +1 -1
- package/dist/tools/executor/utils/index.js +1 -1
- package/dist/tools/fetch-session-diff/index.d.ts +3 -0
- package/dist/tools/fetch-session-diff/index.d.ts.map +1 -0
- package/dist/tools/fetch-session-diff/index.js +46 -0
- package/dist/tools/file-operations/create.d.ts.map +1 -1
- package/dist/tools/file-operations/create.js +1 -4
- 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/index.js +4 -1
- package/dist/tools/file-operations/insert.d.ts +1 -2
- package/dist/tools/file-operations/insert.d.ts.map +1 -1
- package/dist/tools/file-operations/insert.js +1 -4
- package/dist/tools/file-operations/replace.d.ts.map +1 -1
- package/dist/tools/file-operations/replace.js +1 -4
- package/dist/tools/grep/index.d.ts.map +1 -1
- package/dist/tools/grep/index.js +18 -11
- package/dist/tools/index.d.ts +28 -2
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/index.js +52 -33
- package/dist/tools/merge-conflicts/index.d.ts.map +1 -1
- package/dist/tools/merge-conflicts/index.js +1 -1
- package/dist/tools/rename-file/index.js +1 -1
- package/dist/tools/review-pull-request/index.d.ts +3 -0
- package/dist/tools/review-pull-request/index.d.ts.map +1 -0
- package/dist/tools/review-pull-request/index.js +89 -0
- package/dist/tools/run-test.d.ts.map +1 -1
- package/dist/tools/run-test.js +25 -3
- package/dist/tools/test-gen-browser.d.ts.map +1 -1
- package/dist/tools/test-gen-browser.js +51 -47
- package/dist/tools/test-run-fetcher/index.d.ts.map +1 -1
- package/dist/tools/test-run-fetcher/index.js +4 -14
- package/dist/tools/utils/urls.d.ts +5 -0
- package/dist/tools/utils/urls.d.ts.map +1 -0
- package/dist/tools/utils/urls.js +19 -0
- package/dist/tools/view-failed-test-run-report/index.d.ts.map +1 -1
- package/dist/tools/view-failed-test-run-report/index.js +3 -15
- package/dist/utils/artifact-paths.d.ts +20 -0
- package/dist/utils/artifact-paths.d.ts.map +1 -0
- package/dist/utils/artifact-paths.js +16 -0
- package/dist/utils/dedup-image-fs.d.ts +2 -16
- package/dist/utils/dedup-image-fs.d.ts.map +1 -1
- package/dist/utils/dedup-image-fs.js +12 -16
- package/dist/utils/dedup-image.d.ts +1 -14
- package/dist/utils/dedup-image.d.ts.map +1 -1
- package/dist/utils/dedup-image.js +7 -62
- package/dist/{tools/fetch-video-analysis/local-ffmpeg-client.d.ts → utils/ffmpeg/index.d.ts} +9 -6
- package/dist/utils/ffmpeg/index.d.ts.map +1 -0
- package/dist/utils/ffmpeg/index.js +415 -0
- package/dist/utils/file.d.ts +1 -0
- package/dist/utils/file.d.ts.map +1 -1
- package/dist/utils/file.js +45 -1
- package/dist/utils/find-threshold.d.ts +8 -0
- package/dist/utils/find-threshold.d.ts.map +1 -0
- package/dist/utils/find-threshold.js +55 -0
- package/dist/utils/hash.d.ts +2 -0
- package/dist/utils/hash.d.ts.map +1 -0
- package/dist/utils/hash.js +24 -0
- package/dist/utils/model.d.ts +1 -1
- package/dist/utils/model.d.ts.map +1 -1
- package/dist/utils/model.js +7 -5
- package/dist/utils/repo-tree.d.ts +0 -1
- package/dist/utils/repo-tree.d.ts.map +1 -1
- package/dist/utils/repo-tree.js +2 -14
- package/dist/utils/slug.js +1 -1
- package/dist/video-core/agent-orchestrator.d.ts +14 -0
- package/dist/video-core/agent-orchestrator.d.ts.map +1 -0
- package/dist/video-core/agent-orchestrator.js +78 -0
- package/dist/video-core/analysis-server.d.ts +24 -0
- package/dist/video-core/analysis-server.d.ts.map +1 -0
- package/dist/video-core/analysis-server.js +398 -0
- package/dist/video-core/analysis-viewer.html +1374 -0
- package/dist/video-core/index.d.ts +44 -0
- package/dist/video-core/index.d.ts.map +1 -0
- package/dist/video-core/index.js +204 -0
- package/dist/video-core/model-limits.d.ts +4 -0
- package/dist/video-core/model-limits.d.ts.map +1 -0
- package/dist/video-core/model-limits.js +67 -0
- package/dist/video-core/storage-manager.d.ts +5 -0
- package/dist/video-core/storage-manager.d.ts.map +1 -0
- package/dist/video-core/storage-manager.js +55 -0
- package/dist/video-core/types.d.ts +13 -0
- package/dist/video-core/types.d.ts.map +1 -0
- package/dist/video-core/types.js +2 -0
- package/dist/video-core/utils.d.ts +25 -0
- package/dist/video-core/utils.d.ts.map +1 -0
- package/dist/video-core/utils.js +211 -0
- package/dist/video-core/xml-parser.d.ts +3 -0
- package/dist/video-core/xml-parser.d.ts.map +1 -0
- package/dist/video-core/xml-parser.js +27 -0
- package/package.json +5 -6
- package/tsconfig.tsbuildinfo +1 -1
- package/dist/agent/chat/prompt/index.d.ts +0 -5
- package/dist/agent/chat/prompt/index.d.ts.map +0 -1
- package/dist/agent/chat/prompt/index.js +0 -189
- package/dist/agent/chat/utils/tool-calls.d.ts +0 -21
- package/dist/agent/chat/utils/tool-calls.d.ts.map +0 -1
- package/dist/agent/chat/utils/tool-calls.js +0 -64
- package/dist/agent/code-review/prompt.d.ts +0 -2
- package/dist/agent/code-review/prompt.d.ts.map +0 -1
- package/dist/agent/code-review/prompt.js +0 -19
- package/dist/agent/diagnosis-agent/index.d.ts +0 -11
- package/dist/agent/diagnosis-agent/index.d.ts.map +0 -1
- package/dist/agent/diagnosis-agent/index.js +0 -88
- package/dist/agent/diagnosis-agent/strict-mode-violation.d.ts +0 -10
- package/dist/agent/diagnosis-agent/strict-mode-violation.d.ts.map +0 -1
- package/dist/agent/diagnosis-agent/strict-mode-violation.js +0 -30
- package/dist/tools/commit-and-create-pr/index.d.ts.map +0 -1
- package/dist/tools/commit-and-create-pr/index.js +0 -83
- package/dist/tools/definitions/commit-and-create-pr.d.ts +0 -3
- package/dist/tools/definitions/commit-and-create-pr.d.ts.map +0 -1
- package/dist/tools/definitions/fetch-video-analysis.d.ts.map +0 -1
- package/dist/tools/definitions/fetch-video-analysis.js +0 -61
- package/dist/tools/fetch-video-analysis/index.d.ts +0 -5
- package/dist/tools/fetch-video-analysis/index.d.ts.map +0 -1
- package/dist/tools/fetch-video-analysis/index.js +0 -138
- package/dist/tools/fetch-video-analysis/local-ffmpeg-client.d.ts.map +0 -1
- package/dist/tools/fetch-video-analysis/local-ffmpeg-client.js +0 -247
- package/dist/tools/fetch-video-analysis/open-ai.d.ts +0 -6
- package/dist/tools/fetch-video-analysis/open-ai.d.ts.map +0 -1
- package/dist/tools/fetch-video-analysis/open-ai.js +0 -37
- package/dist/tools/fetch-video-analysis/utils.d.ts +0 -13
- package/dist/tools/fetch-video-analysis/utils.d.ts.map +0 -1
- package/dist/tools/fetch-video-analysis/utils.js +0 -98
- package/dist/tools/fetch-video-analysis/video-analysis.d.ts +0 -7
- package/dist/tools/fetch-video-analysis/video-analysis.d.ts.map +0 -1
- package/dist/tools/fetch-video-analysis/video-analysis.js +0 -54
- package/dist/tools/file-operations/shared/git-helper.d.ts +0 -4
- package/dist/tools/file-operations/shared/git-helper.d.ts.map +0 -1
- package/dist/tools/file-operations/shared/git-helper.js +0 -29
- package/eslint.config.mjs +0 -43
- /package/dist/tools/{commit-and-create-pr → create-pull-request}/index.d.ts +0 -0
|
@@ -1,98 +0,0 @@
|
|
|
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.zipAndUploadFramesToR2 = exports.uploadSummaryToR2 = exports.uploadFramesToR2 = exports.safeCleanupDirectory = void 0;
|
|
7
|
-
const r2_uploader_1 = require("@empiricalrun/r2-uploader");
|
|
8
|
-
const child_process_1 = require("child_process");
|
|
9
|
-
const fs_1 = require("fs");
|
|
10
|
-
const path_1 = __importDefault(require("path"));
|
|
11
|
-
const safeCleanupDirectory = async (dirPath, label = "cleanup") => {
|
|
12
|
-
try {
|
|
13
|
-
console.log(`[${label}] Cleaning up directory: ${dirPath}`);
|
|
14
|
-
await fs_1.promises.rm(dirPath, { recursive: true });
|
|
15
|
-
}
|
|
16
|
-
catch (error) {
|
|
17
|
-
console.warn(`[${label}] Failed to cleanup directory ${dirPath}:`, error instanceof Error ? error.message : String(error));
|
|
18
|
-
}
|
|
19
|
-
};
|
|
20
|
-
exports.safeCleanupDirectory = safeCleanupDirectory;
|
|
21
|
-
const uploadFilesToR2 = async (files, videoUrlHash) => {
|
|
22
|
-
const label = `video-analysis-upload:${videoUrlHash}`;
|
|
23
|
-
const start = Date.now();
|
|
24
|
-
console.log(`[${label}] preparing ${files.length} files for upload...`);
|
|
25
|
-
console.log(`[${label}] starting upload of ${files.length} files to video-analysis/${videoUrlHash}/...`);
|
|
26
|
-
const interval = setInterval(() => {
|
|
27
|
-
const secs = Math.round((Date.now() - start) / 1000);
|
|
28
|
-
console.log(`[${label}] uploading... ${secs}s elapsed`);
|
|
29
|
-
}, 1000);
|
|
30
|
-
try {
|
|
31
|
-
await (0, r2_uploader_1.uploadInMemoryFiles)({
|
|
32
|
-
files,
|
|
33
|
-
destinationDir: videoUrlHash,
|
|
34
|
-
uploadBucket: "video-analysis",
|
|
35
|
-
});
|
|
36
|
-
}
|
|
37
|
-
finally {
|
|
38
|
-
clearInterval(interval);
|
|
39
|
-
const secs = Math.round((Date.now() - start) / 1000);
|
|
40
|
-
console.log(`[${label}] upload complete in ${secs}s`);
|
|
41
|
-
}
|
|
42
|
-
};
|
|
43
|
-
const uploadFramesToR2 = async (videoInfo, frames, r2BaseUrl) => {
|
|
44
|
-
const { analysis_id: videoUrlHash } = videoInfo;
|
|
45
|
-
const frameFiles = frames.map((f) => {
|
|
46
|
-
const fileName = `frame_${f.metadata.index}_${videoUrlHash}.png`;
|
|
47
|
-
const buffer = Buffer.from(f.image, "base64");
|
|
48
|
-
return { buffer, fileName, mimeType: "image/png" };
|
|
49
|
-
});
|
|
50
|
-
console.log(`[video-analysis-upload] uploading ${frameFiles.length} frames to video-analysis/${videoUrlHash}/...`);
|
|
51
|
-
await uploadFilesToR2(frameFiles, videoUrlHash);
|
|
52
|
-
return frames.map((f) => ({
|
|
53
|
-
index: f.metadata.index,
|
|
54
|
-
path: f.metadata.path,
|
|
55
|
-
fileName: `frame_${f.metadata.index}_${videoUrlHash}.png`,
|
|
56
|
-
url: `${r2BaseUrl}frame_${f.metadata.index}_${videoUrlHash}.png`,
|
|
57
|
-
}));
|
|
58
|
-
};
|
|
59
|
-
exports.uploadFramesToR2 = uploadFramesToR2;
|
|
60
|
-
const uploadSummaryToR2 = async (videoInfo, r2BaseUrl) => {
|
|
61
|
-
try {
|
|
62
|
-
const { analysis_id: videoUrlHash } = videoInfo;
|
|
63
|
-
const filesToUpload = [
|
|
64
|
-
{
|
|
65
|
-
buffer: Buffer.from(JSON.stringify(videoInfo, null, 2)),
|
|
66
|
-
fileName: "summary.json",
|
|
67
|
-
mimeType: "application/json",
|
|
68
|
-
},
|
|
69
|
-
];
|
|
70
|
-
console.log(`[video-analysis-upload] uploading ${filesToUpload.length} files to video-analysis/${videoUrlHash}/...`);
|
|
71
|
-
await uploadFilesToR2(filesToUpload, videoUrlHash);
|
|
72
|
-
return r2BaseUrl;
|
|
73
|
-
}
|
|
74
|
-
catch (error) {
|
|
75
|
-
console.error("Error uploading video analysis to R2:", error);
|
|
76
|
-
throw error;
|
|
77
|
-
}
|
|
78
|
-
};
|
|
79
|
-
exports.uploadSummaryToR2 = uploadSummaryToR2;
|
|
80
|
-
const zipAndUploadFramesToR2 = async (uniqueFrames, outputZipPath, videoUrlHash) => {
|
|
81
|
-
const filePaths = uniqueFrames.map((u) => u.metadata.path);
|
|
82
|
-
await new Promise((resolve, reject) => {
|
|
83
|
-
(0, child_process_1.execFile)("zip", ["-0", "-j", outputZipPath, ...filePaths], (err) => {
|
|
84
|
-
if (err)
|
|
85
|
-
return reject(err);
|
|
86
|
-
resolve();
|
|
87
|
-
});
|
|
88
|
-
});
|
|
89
|
-
const tempUploadDir = path_1.default.dirname(outputZipPath);
|
|
90
|
-
console.log(`[zip-upload] Uploading zip file: ${outputZipPath} to video-analysis/${videoUrlHash}/`);
|
|
91
|
-
return await (0, r2_uploader_1.uploadDirectory)({
|
|
92
|
-
sourceDir: tempUploadDir,
|
|
93
|
-
fileList: [outputZipPath],
|
|
94
|
-
destinationDir: videoUrlHash,
|
|
95
|
-
uploadBucket: "video-analysis",
|
|
96
|
-
});
|
|
97
|
-
};
|
|
98
|
-
exports.zipAndUploadFramesToR2 = zipAndUploadFramesToR2;
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import { TraceClient } from "@empiricalrun/llm";
|
|
2
|
-
import { SupportedChatModels, Usage } from "@empiricalrun/shared-types";
|
|
3
|
-
export declare function analyzeFramesWithLLM(frameBase64Data: string[], trace?: TraceClient, selectedModel?: SupportedChatModels, apiKey?: string): Promise<{
|
|
4
|
-
analysis: string;
|
|
5
|
-
usage: Usage;
|
|
6
|
-
}>;
|
|
7
|
-
//# sourceMappingURL=video-analysis.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"video-analysis.d.ts","sourceRoot":"","sources":["../../../src/tools/fetch-video-analysis/video-analysis.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,OAAO,EAEL,mBAAmB,EACnB,KAAK,EACN,MAAM,4BAA4B,CAAC;AAIpC,wBAAsB,oBAAoB,CACxC,eAAe,EAAE,MAAM,EAAE,EACzB,KAAK,CAAC,EAAE,WAAW,EACnB,aAAa,CAAC,EAAE,mBAAmB,EACnC,MAAM,CAAC,EAAE,MAAM,GACd,OAAO,CAAC;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,KAAK,CAAA;CAAE,CAAC,CAgE7C"}
|
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.analyzeFramesWithLLM = analyzeFramesWithLLM;
|
|
4
|
-
const chat_1 = require("@empiricalrun/llm/chat");
|
|
5
|
-
const models_1 = require("../../agent/chat/models");
|
|
6
|
-
async function analyzeFramesWithLLM(frameBase64Data, trace, selectedModel, apiKey) {
|
|
7
|
-
const llmSpan = trace?.span({
|
|
8
|
-
name: "llm-frame-analysis",
|
|
9
|
-
input: { frameCount: frameBase64Data.length },
|
|
10
|
-
});
|
|
11
|
-
const selectedChatModel = selectedModel || (0, models_1.getDefaultChatModelId)();
|
|
12
|
-
try {
|
|
13
|
-
// TODO: Move to canonical chat model
|
|
14
|
-
let chatModel = new chat_1.GeminiChatModel(selectedChatModel, [], apiKey || process.env.GOOGLE_API_KEY);
|
|
15
|
-
chatModel.validateEnvVarsForAuth();
|
|
16
|
-
const frameAttachments = frameBase64Data.map((frameBase64, index) => ({
|
|
17
|
-
url: frameBase64,
|
|
18
|
-
contentType: "image/png",
|
|
19
|
-
name: `frame-${index}.png`,
|
|
20
|
-
}));
|
|
21
|
-
const userMessage = `
|
|
22
|
-
Analyze the ${frameBase64Data.length} frames that are extracted from a screen recording.`;
|
|
23
|
-
chatModel.pushUserMessage(userMessage, frameAttachments);
|
|
24
|
-
const systemPrompt = `
|
|
25
|
-
You are given a set of unique frames from a screen recording. Your job is to return a verbose bullet list of what is going on in the video. Don't miss out on anything.
|
|
26
|
-
`;
|
|
27
|
-
// Get LLM response
|
|
28
|
-
const response = await chatModel.getLLMResponse({
|
|
29
|
-
systemPrompt,
|
|
30
|
-
tools: [], // No tools needed for this analysis
|
|
31
|
-
selectedModel: selectedChatModel,
|
|
32
|
-
trace: llmSpan,
|
|
33
|
-
hasThinkingEnabled: false,
|
|
34
|
-
hasInterleavedThinkingEnabled: false,
|
|
35
|
-
});
|
|
36
|
-
if (!response) {
|
|
37
|
-
throw new Error("No response from LLM");
|
|
38
|
-
}
|
|
39
|
-
chatModel.pushMessage(response);
|
|
40
|
-
const usage = chatModel.getUsage();
|
|
41
|
-
const analysisResult = chatModel.getHumanReadableLatestMessage();
|
|
42
|
-
llmSpan?.end({ output: { analysis: analysisResult?.textMessage } });
|
|
43
|
-
return {
|
|
44
|
-
analysis: analysisResult?.textMessage || "No analysis generated",
|
|
45
|
-
usage,
|
|
46
|
-
};
|
|
47
|
-
}
|
|
48
|
-
catch (error) {
|
|
49
|
-
console.error("Error in LLM frame analysis", error);
|
|
50
|
-
llmSpan?.end();
|
|
51
|
-
const message = error instanceof Error ? error.message : String(error);
|
|
52
|
-
throw new Error(`Error analyzing frames with AI: ${message}`);
|
|
53
|
-
}
|
|
54
|
-
}
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
import { CollectArtifacts } from "@empiricalrun/shared-types";
|
|
2
|
-
declare function collectGitPatchArtifact(filePath: string, repoDir: string, operation: "create" | "replace" | "insert", collectArtifacts?: CollectArtifacts): Promise<void>;
|
|
3
|
-
export { collectGitPatchArtifact };
|
|
4
|
-
//# sourceMappingURL=git-helper.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"git-helper.d.ts","sourceRoot":"","sources":["../../../../src/tools/file-operations/shared/git-helper.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,gBAAgB,EACjB,MAAM,4BAA4B,CAAC;AAQpC,iBAAe,uBAAuB,CACpC,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,QAAQ,GAAG,SAAS,GAAG,QAAQ,EAC1C,gBAAgB,CAAC,EAAE,gBAAgB,GAClC,OAAO,CAAC,IAAI,CAAC,CAoBf;AAED,OAAO,EAAE,uBAAuB,EAAE,CAAC"}
|
|
@@ -1,29 +0,0 @@
|
|
|
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.collectGitPatchArtifact = collectGitPatchArtifact;
|
|
7
|
-
const path_1 = __importDefault(require("path"));
|
|
8
|
-
const git_1 = require("../../executor/utils/git");
|
|
9
|
-
async function collectGitPatchArtifact(filePath, repoDir, operation, collectArtifacts) {
|
|
10
|
-
if (!collectArtifacts)
|
|
11
|
-
return;
|
|
12
|
-
try {
|
|
13
|
-
const gitPatch = operation === "create"
|
|
14
|
-
? (0, git_1.getGitDiffForNewFile)(filePath, repoDir)
|
|
15
|
-
: (0, git_1.getGitDiffStaged)(filePath, repoDir);
|
|
16
|
-
if (gitPatch.trim()) {
|
|
17
|
-
const patchArtifact = {
|
|
18
|
-
name: `${path_1.default.basename(filePath, path_1.default.extname(filePath))}_${operation}.patch`,
|
|
19
|
-
contentType: "text/plain",
|
|
20
|
-
data: Buffer.from(gitPatch, "utf-8"),
|
|
21
|
-
};
|
|
22
|
-
collectArtifacts([patchArtifact]);
|
|
23
|
-
}
|
|
24
|
-
}
|
|
25
|
-
catch (error) {
|
|
26
|
-
// Ignore git diff errors, don't fail the operation
|
|
27
|
-
console.warn(`Failed to generate git patch for ${filePath}:`, error);
|
|
28
|
-
}
|
|
29
|
-
}
|
package/eslint.config.mjs
DELETED
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
import libraryConfig from "../eslint-config/library.mjs";
|
|
2
|
-
import tsParser from "@typescript-eslint/parser";
|
|
3
|
-
import js from "@eslint/js";
|
|
4
|
-
|
|
5
|
-
export default [
|
|
6
|
-
...libraryConfig,
|
|
7
|
-
{
|
|
8
|
-
files: ["src/**/*.ts", "src/**/*.tsx"],
|
|
9
|
-
languageOptions: {
|
|
10
|
-
parser: tsParser,
|
|
11
|
-
globals: {
|
|
12
|
-
window: true,
|
|
13
|
-
document: true,
|
|
14
|
-
},
|
|
15
|
-
parserOptions: {
|
|
16
|
-
project: "./tsconfig.lint.json",
|
|
17
|
-
tsconfigRootDir: import.meta.dirname,
|
|
18
|
-
},
|
|
19
|
-
},
|
|
20
|
-
},
|
|
21
|
-
{
|
|
22
|
-
files: ["**/*.js"],
|
|
23
|
-
...js.configs.recommended,
|
|
24
|
-
languageOptions: {
|
|
25
|
-
globals: {
|
|
26
|
-
browser: true,
|
|
27
|
-
},
|
|
28
|
-
parserOptions: {
|
|
29
|
-
ecmaVersion: 2022,
|
|
30
|
-
sourceType: "module",
|
|
31
|
-
},
|
|
32
|
-
},
|
|
33
|
-
rules: {
|
|
34
|
-
"@typescript-eslint/no-floating-promises": "off",
|
|
35
|
-
"@typescript-eslint/no-misused-promises": "off",
|
|
36
|
-
"@typescript-eslint/no-unsafe-assignment": "off",
|
|
37
|
-
"@typescript-eslint/no-unsafe-call": "off",
|
|
38
|
-
"@typescript-eslint/no-unsafe-member-access": "off",
|
|
39
|
-
"@typescript-eslint/no-unsafe-return": "off",
|
|
40
|
-
"no-unused-vars": "warn",
|
|
41
|
-
},
|
|
42
|
-
},
|
|
43
|
-
];
|
|
File without changes
|