@empiricalrun/test-gen 0.51.6 → 0.52.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +20 -0
- package/dist/agent/chat/index.d.ts +1 -1
- package/dist/agent/chat/index.d.ts.map +1 -1
- package/dist/agent/chat/index.js +19 -13
- package/dist/agent/master/browser-tests/fixtures.d.ts.map +1 -1
- package/dist/agent/master/browser-tests/fixtures.js +6 -3
- package/dist/bin/index.js +2 -1
- package/dist/bin/utils/index.d.ts +1 -1
- package/dist/bin/utils/index.d.ts.map +1 -1
- package/package.json +4 -4
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,25 @@
|
|
|
1
1
|
# @empiricalrun/test-gen
|
|
2
2
|
|
|
3
|
+
## 0.52.1
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- be00f0b: feat: update overlay dismissal to support multiple overlays at once
|
|
8
|
+
|
|
9
|
+
## 0.52.0
|
|
10
|
+
|
|
11
|
+
### Minor Changes
|
|
12
|
+
|
|
13
|
+
- a399a57: feat: added Gemini support to chat agent
|
|
14
|
+
|
|
15
|
+
### Patch Changes
|
|
16
|
+
|
|
17
|
+
- 1b8d273: fix: clean up backup files
|
|
18
|
+
- Updated dependencies [a399a57]
|
|
19
|
+
- Updated dependencies [1b8d273]
|
|
20
|
+
- Updated dependencies [99b0826]
|
|
21
|
+
- @empiricalrun/llm@0.12.0
|
|
22
|
+
|
|
3
23
|
## 0.51.6
|
|
4
24
|
|
|
5
25
|
### Patch Changes
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export declare function chatAgent({ selectedModel, useDiskForChatState, }: {
|
|
2
|
-
selectedModel?: "claude-3-7-sonnet-20250219" | "claude-3-5-sonnet-20241022";
|
|
2
|
+
selectedModel?: "claude-3-7-sonnet-20250219" | "claude-3-5-sonnet-20241022" | "gemini-2.5-pro-exp-03-25";
|
|
3
3
|
useDiskForChatState?: boolean;
|
|
4
4
|
}): Promise<string>;
|
|
5
5
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/agent/chat/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/agent/chat/index.ts"],"names":[],"mappings":"AA4DA,wBAAsB,SAAS,CAAC,EAC9B,aAA4C,EAC5C,mBAA2B,GAC5B,EAAE;IACD,aAAa,CAAC,EACV,4BAA4B,GAC5B,4BAA4B,GAC5B,0BAA0B,CAAC;IAC/B,mBAAmB,CAAC,EAAE,OAAO,CAAC;CAC/B,mBA2FA"}
|
package/dist/agent/chat/index.js
CHANGED
|
@@ -27,13 +27,27 @@ function createChatModel(useDiskForChatState, selectedModel) {
|
|
|
27
27
|
if (selectedModel.startsWith("claude")) {
|
|
28
28
|
return new chat_1.ClaudeChatModel(useDiskForChatState);
|
|
29
29
|
}
|
|
30
|
+
if (selectedModel.startsWith("gemini")) {
|
|
31
|
+
return new chat_1.GeminiChatModel();
|
|
32
|
+
}
|
|
30
33
|
throw new Error(`Unsupported model: ${selectedModel}`);
|
|
31
34
|
}
|
|
35
|
+
function getModelName(model) {
|
|
36
|
+
if (model.startsWith("claude"))
|
|
37
|
+
return "Claude";
|
|
38
|
+
if (model.startsWith("gemini"))
|
|
39
|
+
return "Gemini";
|
|
40
|
+
return "AI";
|
|
41
|
+
}
|
|
42
|
+
function concludeAgent(usageSummary) {
|
|
43
|
+
console.log(`\n${(0, picocolors_1.gray)("Usage summary -> " + usageSummary)}`);
|
|
44
|
+
(0, chat_1.cleanupBackupFiles)(process.cwd());
|
|
45
|
+
}
|
|
32
46
|
async function chatAgent({ selectedModel = "claude-3-7-sonnet-20250219", useDiskForChatState = false, }) {
|
|
33
47
|
let chatModel = createChatModel(useDiskForChatState, selectedModel);
|
|
34
48
|
let userPrompt = undefined;
|
|
35
49
|
const handleSigInt = () => {
|
|
36
|
-
|
|
50
|
+
concludeAgent(chatModel.getUsageSummary());
|
|
37
51
|
process.exit(0);
|
|
38
52
|
};
|
|
39
53
|
process.once("SIGINT", handleSigInt);
|
|
@@ -57,20 +71,12 @@ async function chatAgent({ selectedModel = "claude-3-7-sonnet-20250219", useDisk
|
|
|
57
71
|
catch (e) {
|
|
58
72
|
// https://github.com/SBoudrias/Inquirer.js/issues/1502#issuecomment-2275991680
|
|
59
73
|
if (e instanceof Error && e.name === "ExitPromptError") {
|
|
60
|
-
|
|
74
|
+
concludeAgent(chatModel.getUsageSummary());
|
|
61
75
|
process.exit(0);
|
|
62
76
|
}
|
|
63
77
|
throw e;
|
|
64
78
|
}
|
|
65
|
-
chatModel.
|
|
66
|
-
role: "user",
|
|
67
|
-
content: [
|
|
68
|
-
{
|
|
69
|
-
type: "text",
|
|
70
|
-
text: userPrompt,
|
|
71
|
-
},
|
|
72
|
-
],
|
|
73
|
-
});
|
|
79
|
+
chatModel.pushUserMessage(userPrompt);
|
|
74
80
|
continue;
|
|
75
81
|
}
|
|
76
82
|
const toolUse = chatModel.getPendingToolCall();
|
|
@@ -100,7 +106,7 @@ async function chatAgent({ selectedModel = "claude-3-7-sonnet-20250219", useDisk
|
|
|
100
106
|
});
|
|
101
107
|
continue;
|
|
102
108
|
}
|
|
103
|
-
const spinner = ora(
|
|
109
|
+
const spinner = ora(`${getModelName(selectedModel)} is working...`).start();
|
|
104
110
|
const response = await chatModel.getLLMResponse({
|
|
105
111
|
systemPrompt,
|
|
106
112
|
tools: tools.map((tool) => (0, zod_schema_1.zodToOpenAITool)(tool.schema)),
|
|
@@ -117,7 +123,7 @@ async function chatAgent({ selectedModel = "claude-3-7-sonnet-20250219", useDisk
|
|
|
117
123
|
}
|
|
118
124
|
}
|
|
119
125
|
const usageSummary = chatModel.getUsageSummary();
|
|
120
|
-
|
|
126
|
+
concludeAgent(usageSummary);
|
|
121
127
|
return usageSummary;
|
|
122
128
|
}
|
|
123
129
|
exports.chatAgent = chatAgent;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fixtures.d.ts","sourceRoot":"","sources":["../../../../src/agent/master/browser-tests/fixtures.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"fixtures.d.ts","sourceRoot":"","sources":["../../../../src/agent/master/browser-tests/fixtures.ts"],"names":[],"mappings":"AAKA,MAAM,MAAM,aAAa,GAAG;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,eAAO,MAAM,MAAM,uCAAc,CAAC;AAClC,eAAO,MAAM,IAAI;YAA6B,aAAa;EAwBzD,CAAC"}
|
|
@@ -5,16 +5,19 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.test = exports.expect = void 0;
|
|
7
7
|
const test_1 = require("@playwright/test");
|
|
8
|
-
const
|
|
8
|
+
const http_1 = __importDefault(require("http"));
|
|
9
9
|
const path_1 = __importDefault(require("path"));
|
|
10
|
+
const serve_handler_1 = __importDefault(require("serve-handler"));
|
|
10
11
|
exports.expect = test_1.test.expect;
|
|
11
12
|
exports.test = test_1.test.extend({
|
|
12
13
|
server: [
|
|
13
14
|
// eslint-disable-next-line no-empty-pattern
|
|
14
15
|
async ({}, use, workerInfo) => {
|
|
15
16
|
const port = 2345 + workerInfo.workerIndex;
|
|
16
|
-
const server =
|
|
17
|
-
|
|
17
|
+
const server = http_1.default.createServer((request, response) => {
|
|
18
|
+
return (0, serve_handler_1.default)(request, response, {
|
|
19
|
+
public: path_1.default.join(process.cwd(), "test-data"),
|
|
20
|
+
});
|
|
18
21
|
});
|
|
19
22
|
await new Promise((resolve) => {
|
|
20
23
|
server.listen(port, () => {
|
package/dist/bin/index.js
CHANGED
|
@@ -41,6 +41,7 @@ async function runChatAgent(modelInput, useDiskForChatState) {
|
|
|
41
41
|
"3-7": "claude-3-7-sonnet-20250219",
|
|
42
42
|
"claude-3-5": "claude-3-5-sonnet-20241022",
|
|
43
43
|
"3-5": "claude-3-5-sonnet-20241022",
|
|
44
|
+
"gemini-2.5-pro-exp-03-25": "gemini-2.5-pro-exp-03-25",
|
|
44
45
|
};
|
|
45
46
|
if (modelInput && !MODEL_MAPPING[modelInput]) {
|
|
46
47
|
throw new Error(`Invalid chat model: ${modelInput}`);
|
|
@@ -186,7 +187,7 @@ async function runAgentsWorkflow(testGenConfig, testGenToken) {
|
|
|
186
187
|
.option("--suites <suites>", "Comma separated list of describe blocks")
|
|
187
188
|
.option("--use-chat", "Use chat agent (and not the workflow)")
|
|
188
189
|
.option("--use-disk-for-chat-state", "Save and load chat state from disk")
|
|
189
|
-
.option("--chat-model <model>", "Chat model to use (claude-3-7-sonnet-20250219 or claude-3-5-sonnet-20241022)")
|
|
190
|
+
.option("--chat-model <model>", "Chat model to use (claude-3-7-sonnet-20250219 or claude-3-5-sonnet-20241022 or gemini-2.5-pro-exp-03-25)")
|
|
190
191
|
.parse(process.argv);
|
|
191
192
|
const options = program.opts();
|
|
192
193
|
const completedOptions = await (0, utils_2.validateAndCompleteCliOptions)(options);
|
|
@@ -6,7 +6,7 @@ export interface CliOptions {
|
|
|
6
6
|
suites?: string;
|
|
7
7
|
useChat?: boolean;
|
|
8
8
|
useDiskForChatState?: boolean;
|
|
9
|
-
chatModel?: "claude-3-7" | "3-7" | "claude-3-5" | "3-5" | "claude-3-7-sonnet-20250219" | "claude-3-5-sonnet-20241022";
|
|
9
|
+
chatModel?: "claude-3-7" | "3-7" | "claude-3-5" | "3-5" | "claude-3-7-sonnet-20250219" | "claude-3-5-sonnet-20241022" | "gemini-2.5-pro-exp-03-25";
|
|
10
10
|
}
|
|
11
11
|
export declare function validateAndCompleteCliOptions(options: CliOptions): Promise<CliOptions>;
|
|
12
12
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/bin/utils/index.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,UAAU;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,SAAS,CAAC,EACN,YAAY,GACZ,KAAK,GACL,YAAY,GACZ,KAAK,GACL,4BAA4B,GAC5B,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/bin/utils/index.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,UAAU;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,SAAS,CAAC,EACN,YAAY,GACZ,KAAK,GACL,YAAY,GACZ,KAAK,GACL,4BAA4B,GAC5B,4BAA4B,GAC5B,0BAA0B,CAAC;CAChC;AAQD,wBAAsB,6BAA6B,CACjD,OAAO,EAAE,UAAU,GAClB,OAAO,CAAC,UAAU,CAAC,CAyDrB"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@empiricalrun/test-gen",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.52.1",
|
|
4
4
|
"publishConfig": {
|
|
5
5
|
"registry": "https://registry.npmjs.org/",
|
|
6
6
|
"access": "public"
|
|
@@ -75,7 +75,7 @@
|
|
|
75
75
|
"tsx": "^4.16.2",
|
|
76
76
|
"typescript": "^5.3.3",
|
|
77
77
|
"zod": "^3.23.8",
|
|
78
|
-
"@empiricalrun/llm": "^0.
|
|
78
|
+
"@empiricalrun/llm": "^0.12.0",
|
|
79
79
|
"@empiricalrun/r2-uploader": "^0.3.8",
|
|
80
80
|
"@empiricalrun/test-run": "^0.7.6"
|
|
81
81
|
},
|
|
@@ -85,13 +85,13 @@
|
|
|
85
85
|
"@types/detect-port": "^1.3.5",
|
|
86
86
|
"@types/express": "^4.17.21",
|
|
87
87
|
"@types/fs-extra": "^11.0.4",
|
|
88
|
-
"@types/http-server": "^0.12.4",
|
|
89
88
|
"@types/js-levenshtein": "^1.1.3",
|
|
90
89
|
"@types/jsdom": "^21.1.7",
|
|
91
90
|
"@types/md5": "^2.3.5",
|
|
92
|
-
"
|
|
91
|
+
"@types/serve-handler": "^6.1.4",
|
|
93
92
|
"js-levenshtein": "^1.1.6",
|
|
94
93
|
"playwright": "1.47.1",
|
|
94
|
+
"serve-handler": "^6.1.6",
|
|
95
95
|
"ts-patch": "^3.3.0",
|
|
96
96
|
"@empiricalrun/shared-types": "0.0.7"
|
|
97
97
|
},
|