@empiricalrun/test-gen 0.64.2 → 0.65.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.
Files changed (73) hide show
  1. package/CHANGELOG.md +32 -0
  2. package/dist/agent/browsing/run.d.ts +6 -4
  3. package/dist/agent/browsing/run.d.ts.map +1 -1
  4. package/dist/agent/browsing/run.js +9 -9
  5. package/dist/agent/chat/agent-loop.d.ts +2 -1
  6. package/dist/agent/chat/agent-loop.d.ts.map +1 -1
  7. package/dist/agent/chat/exports.d.ts +2 -2
  8. package/dist/agent/chat/exports.d.ts.map +1 -1
  9. package/dist/agent/chat/index.d.ts +1 -1
  10. package/dist/agent/chat/index.d.ts.map +1 -1
  11. package/dist/agent/chat/index.js +16 -1
  12. package/dist/agent/chat/models.d.ts +1 -1
  13. package/dist/agent/chat/models.d.ts.map +1 -1
  14. package/dist/agent/chat/state.d.ts +2 -2
  15. package/dist/agent/chat/state.d.ts.map +1 -1
  16. package/dist/agent/chat/utils.d.ts +2 -1
  17. package/dist/agent/chat/utils.d.ts.map +1 -1
  18. package/dist/agent/cua/computer.js +1 -1
  19. package/dist/agent/cua/index.d.ts +10 -3
  20. package/dist/agent/cua/index.d.ts.map +1 -1
  21. package/dist/agent/cua/index.js +61 -29
  22. package/dist/agent/cua/model.d.ts +7 -0
  23. package/dist/agent/cua/model.d.ts.map +1 -1
  24. package/dist/agent/cua/model.js +10 -0
  25. package/dist/bin/index.js +2 -2
  26. package/dist/bin/utils/index.d.ts +1 -1
  27. package/dist/bin/utils/index.d.ts.map +1 -1
  28. package/dist/bin/utils/index.js +3 -3
  29. package/dist/file/client.d.ts +2 -8
  30. package/dist/file/client.d.ts.map +1 -1
  31. package/dist/file/client.js +2 -23
  32. package/dist/file/server.d.ts +15 -3
  33. package/dist/file/server.d.ts.map +1 -1
  34. package/dist/file/server.js +17 -28
  35. package/dist/index.d.ts.map +1 -1
  36. package/dist/index.js +6 -13
  37. package/dist/tool-call-service/index.d.ts +3 -3
  38. package/dist/tool-call-service/index.d.ts.map +1 -1
  39. package/dist/tool-call-service/index.js +4 -3
  40. package/dist/tool-call-service/utils.d.ts +3 -10
  41. package/dist/tool-call-service/utils.d.ts.map +1 -1
  42. package/dist/tool-call-service/utils.js +21 -5
  43. package/dist/tools/commit-and-create-pr.d.ts.map +1 -1
  44. package/dist/tools/commit-and-create-pr.js +5 -13
  45. package/dist/tools/diagnosis-fetcher.d.ts.map +1 -1
  46. package/dist/tools/diagnosis-fetcher.js +1 -0
  47. package/dist/tools/download-build.d.ts.map +1 -1
  48. package/dist/tools/download-build.js +1 -0
  49. package/dist/tools/grep/index.d.ts.map +1 -1
  50. package/dist/tools/grep/index.js +1 -0
  51. package/dist/tools/list-environments.d.ts +3 -0
  52. package/dist/tools/list-environments.d.ts.map +1 -0
  53. package/dist/tools/list-environments.js +49 -0
  54. package/dist/tools/str_replace_editor.d.ts.map +1 -1
  55. package/dist/tools/str_replace_editor.js +4 -0
  56. package/dist/tools/test-gen-browser.d.ts +1 -1
  57. package/dist/tools/test-gen-browser.d.ts.map +1 -1
  58. package/dist/tools/test-gen-browser.js +50 -12
  59. package/dist/tools/test-run-fetcher/index.d.ts.map +1 -1
  60. package/dist/tools/test-run-fetcher/index.js +1 -0
  61. package/dist/tools/test-run.d.ts.map +1 -1
  62. package/dist/tools/test-run.js +4 -1
  63. package/dist/utils/index.d.ts +1 -0
  64. package/dist/utils/index.d.ts.map +1 -1
  65. package/dist/utils/index.js +3 -1
  66. package/dist/utils/json.d.ts +2 -0
  67. package/dist/utils/json.d.ts.map +1 -0
  68. package/dist/utils/json.js +24 -0
  69. package/package.json +3 -3
  70. package/tsconfig.tsbuildinfo +1 -1
  71. package/dist/tools/environment-crud.d.ts +0 -4
  72. package/dist/tools/environment-crud.d.ts.map +0 -1
  73. package/dist/tools/environment-crud.js +0 -100
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AACnE,OAAO,EAAE,kBAAkB,EAAE,MAAM,QAAQ,CAAC"}
@@ -1,5 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getTypescriptTestBlock = void 0;
3
+ exports.truncateJsonValues = exports.getTypescriptTestBlock = void 0;
4
4
  var web_1 = require("../bin/utils/platform/web");
5
5
  Object.defineProperty(exports, "getTypescriptTestBlock", { enumerable: true, get: function () { return web_1.getTypescriptTestBlock; } });
6
+ var json_1 = require("./json");
7
+ Object.defineProperty(exports, "truncateJsonValues", { enumerable: true, get: function () { return json_1.truncateJsonValues; } });
@@ -0,0 +1,2 @@
1
+ export declare function truncateJsonValues(obj: any, maxLength?: number): any;
2
+ //# sourceMappingURL=json.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"json.d.ts","sourceRoot":"","sources":["../../src/utils/json.ts"],"names":[],"mappings":"AAAA,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,GAAG,EAAE,SAAS,GAAE,MAAa,GAAG,GAAG,CAuB1E"}
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.truncateJsonValues = truncateJsonValues;
4
+ function truncateJsonValues(obj, maxLength = 1000) {
5
+ if (typeof obj === "string") {
6
+ if (obj.length > maxLength) {
7
+ const suffix = "...[truncated]";
8
+ const truncateAt = maxLength - suffix.length;
9
+ return obj.substring(0, truncateAt) + suffix;
10
+ }
11
+ return obj;
12
+ }
13
+ if (Array.isArray(obj)) {
14
+ return obj.map((item) => truncateJsonValues(item, maxLength));
15
+ }
16
+ if (obj !== null && typeof obj === "object") {
17
+ const truncated = {};
18
+ for (const [key, value] of Object.entries(obj)) {
19
+ truncated[key] = truncateJsonValues(value, maxLength);
20
+ }
21
+ return truncated;
22
+ }
23
+ return obj;
24
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@empiricalrun/test-gen",
3
- "version": "0.64.2",
3
+ "version": "0.65.0",
4
4
  "publishConfig": {
5
5
  "registry": "https://registry.npmjs.org/",
6
6
  "access": "public"
@@ -62,7 +62,7 @@
62
62
  "tsx": "^4.16.2",
63
63
  "typescript": "^5.3.3",
64
64
  "zod": "^3.23.8",
65
- "@empiricalrun/llm": "^0.17.3",
65
+ "@empiricalrun/llm": "^0.18.0",
66
66
  "@empiricalrun/r2-uploader": "^0.3.9",
67
67
  "@empiricalrun/test-run": "^0.10.1"
68
68
  },
@@ -79,7 +79,7 @@
79
79
  "playwright": "1.47.1",
80
80
  "serve-handler": "^6.1.6",
81
81
  "ts-patch": "^3.3.0",
82
- "@empiricalrun/shared-types": "0.4.2"
82
+ "@empiricalrun/shared-types": "0.5.0"
83
83
  },
84
84
  "scripts": {
85
85
  "dev": "tspc --build --watch",
@@ -1 +1 @@
1
- {"root":["./src/index.ts","./src/actions/assert.ts","./src/actions/click.ts","./src/actions/done.ts","./src/actions/fill.ts","./src/actions/goto.ts","./src/actions/hover.ts","./src/actions/index.ts","./src/actions/next-task.ts","./src/actions/press.ts","./src/actions/skill.ts","./src/actions/text-content.ts","./src/actions/constants/index.ts","./src/actions/utils/index.ts","./src/agent/browsing/index.ts","./src/agent/browsing/run.ts","./src/agent/browsing/utils.ts","./src/agent/chat/agent-loop.ts","./src/agent/chat/exports.ts","./src/agent/chat/index.ts","./src/agent/chat/models.ts","./src/agent/chat/prompt.ts","./src/agent/chat/repo.ts","./src/agent/chat/state.ts","./src/agent/chat/types.ts","./src/agent/chat/utils.ts","./src/agent/codegen/create-test-block.ts","./src/agent/codegen/fix-ts-errors.ts","./src/agent/codegen/generate-code-apply-changes.ts","./src/agent/codegen/lexical-scoped-vars.ts","./src/agent/codegen/repo-edit.ts","./src/agent/codegen/run.ts","./src/agent/codegen/skills-retriever.ts","./src/agent/codegen/test-update-feedback.ts","./src/agent/codegen/types.ts","./src/agent/codegen/update-flow.ts","./src/agent/codegen/use-skill.ts","./src/agent/codegen/utils.ts","./src/agent/cua/computer.ts","./src/agent/cua/index.ts","./src/agent/cua/model.ts","./src/agent/cua/pw-codegen/element-from-point.ts","./src/agent/cua/pw-codegen/types.ts","./src/agent/cua/pw-codegen/pw-pause/index.ts","./src/agent/cua/pw-codegen/pw-pause/utils.ts","./src/agent/diagnosis-agent/index.ts","./src/agent/diagnosis-agent/strict-mode-violation.ts","./src/agent/enrich-prompt/index.ts","./src/agent/enrich-prompt/utils.ts","./src/agent/infer-agent/index.ts","./src/agent/master/action-tool-calls.ts","./src/agent/master/element-annotation.ts","./src/agent/master/execute-browser-action.ts","./src/agent/master/execute-skill-action.ts","./src/agent/master/next-action.ts","./src/agent/master/planner.ts","./src/agent/master/run.ts","./src/agent/master/scroller.ts","./src/agent/master/with-hints.ts","./src/agent/master/browser-tests/cua.spec.ts","./src/agent/master/browser-tests/fixtures.ts","./src/agent/master/browser-tests/index.spec.ts","./src/agent/master/browser-tests/skills.spec.ts","./src/agent/master/icon-descriptor/index.ts","./src/agent/master/icon-descriptor/normalize-svg.ts","./src/agent/planner/run-time-planner.ts","./src/agent/planner/run.ts","./src/artifacts/index.ts","./src/artifacts/utils.ts","./src/bin/index.ts","./src/bin/logger/index.ts","./src/bin/utils/context.ts","./src/bin/utils/index.ts","./src/bin/utils/fs/index.ts","./src/bin/utils/platform/web/index.ts","./src/bin/utils/platform/web/test-files/ts-path-import-validate.ts","./src/bin/utils/scenarios/index.ts","./src/browser-injected-scripts/annotate-elements.spec.ts","./src/constants/index.ts","./src/errors/index.ts","./src/evals/add-scenario-agent.evals.ts","./src/evals/append-create-test-agent.evals.ts","./src/evals/fetch-pom-skills-agent.evals.ts","./src/evals/infer-master-or-code-agent.evals.ts","./src/evals/master-agent.evals.ts","./src/evals/type.ts","./src/evals/update-scenario-agent.evals.ts","./src/file/client.ts","./src/file/server.ts","./src/human-in-the-loop/cli.ts","./src/human-in-the-loop/index.ts","./src/human-in-the-loop/ipc.ts","./src/page/index.ts","./src/prompts/lib/ts-transformer.ts","./src/reporter/index.ts","./src/reporter/lib.ts","./src/session/index.ts","./src/test-build/index.ts","./src/tool-call-service/index.ts","./src/tool-call-service/utils.ts","./src/tools/commit-and-create-pr.ts","./src/tools/diagnosis-fetcher.ts","./src/tools/download-build.ts","./src/tools/environment-crud.ts","./src/tools/str_replace_editor.ts","./src/tools/test-gen-browser.ts","./src/tools/test-run.ts","./src/tools/grep/index.ts","./src/tools/grep/ripgrep/index.ts","./src/tools/grep/ripgrep/types.ts","./src/tools/test-run-fetcher/index.ts","./src/tools/test-run-fetcher/types.ts","./src/tools/utils/index.ts","./src/types/handlebars.d.ts","./src/types/index.ts","./src/uploader/index.ts","./src/uploader/utils.ts","./src/utils/checkpoint.ts","./src/utils/env.ts","./src/utils/exec.ts","./src/utils/file-tree.ts","./src/utils/file.ts","./src/utils/git.ts","./src/utils/html.ts","./src/utils/index.ts","./src/utils/repo-tree.ts","./src/utils/slug.ts","./src/utils/string.ts","./src/utils/stripAnsi.ts"],"version":"5.8.3"}
1
+ {"root":["./src/index.ts","./src/actions/assert.ts","./src/actions/click.ts","./src/actions/done.ts","./src/actions/fill.ts","./src/actions/goto.ts","./src/actions/hover.ts","./src/actions/index.ts","./src/actions/next-task.ts","./src/actions/press.ts","./src/actions/skill.ts","./src/actions/text-content.ts","./src/actions/constants/index.ts","./src/actions/utils/index.ts","./src/agent/browsing/index.ts","./src/agent/browsing/run.ts","./src/agent/browsing/utils.ts","./src/agent/chat/agent-loop.ts","./src/agent/chat/exports.ts","./src/agent/chat/index.ts","./src/agent/chat/models.ts","./src/agent/chat/prompt.ts","./src/agent/chat/repo.ts","./src/agent/chat/state.ts","./src/agent/chat/types.ts","./src/agent/chat/utils.ts","./src/agent/codegen/create-test-block.ts","./src/agent/codegen/fix-ts-errors.ts","./src/agent/codegen/generate-code-apply-changes.ts","./src/agent/codegen/lexical-scoped-vars.ts","./src/agent/codegen/repo-edit.ts","./src/agent/codegen/run.ts","./src/agent/codegen/skills-retriever.ts","./src/agent/codegen/test-update-feedback.ts","./src/agent/codegen/types.ts","./src/agent/codegen/update-flow.ts","./src/agent/codegen/use-skill.ts","./src/agent/codegen/utils.ts","./src/agent/cua/computer.ts","./src/agent/cua/index.ts","./src/agent/cua/model.ts","./src/agent/cua/pw-codegen/element-from-point.ts","./src/agent/cua/pw-codegen/types.ts","./src/agent/cua/pw-codegen/pw-pause/index.ts","./src/agent/cua/pw-codegen/pw-pause/utils.ts","./src/agent/diagnosis-agent/index.ts","./src/agent/diagnosis-agent/strict-mode-violation.ts","./src/agent/enrich-prompt/index.ts","./src/agent/enrich-prompt/utils.ts","./src/agent/infer-agent/index.ts","./src/agent/master/action-tool-calls.ts","./src/agent/master/element-annotation.ts","./src/agent/master/execute-browser-action.ts","./src/agent/master/execute-skill-action.ts","./src/agent/master/next-action.ts","./src/agent/master/planner.ts","./src/agent/master/run.ts","./src/agent/master/scroller.ts","./src/agent/master/with-hints.ts","./src/agent/master/browser-tests/cua.spec.ts","./src/agent/master/browser-tests/fixtures.ts","./src/agent/master/browser-tests/index.spec.ts","./src/agent/master/browser-tests/skills.spec.ts","./src/agent/master/icon-descriptor/index.ts","./src/agent/master/icon-descriptor/normalize-svg.ts","./src/agent/planner/run-time-planner.ts","./src/agent/planner/run.ts","./src/artifacts/index.ts","./src/artifacts/utils.ts","./src/bin/index.ts","./src/bin/logger/index.ts","./src/bin/utils/context.ts","./src/bin/utils/index.ts","./src/bin/utils/fs/index.ts","./src/bin/utils/platform/web/index.ts","./src/bin/utils/platform/web/test-files/ts-path-import-validate.ts","./src/bin/utils/scenarios/index.ts","./src/browser-injected-scripts/annotate-elements.spec.ts","./src/constants/index.ts","./src/errors/index.ts","./src/evals/add-scenario-agent.evals.ts","./src/evals/append-create-test-agent.evals.ts","./src/evals/fetch-pom-skills-agent.evals.ts","./src/evals/infer-master-or-code-agent.evals.ts","./src/evals/master-agent.evals.ts","./src/evals/type.ts","./src/evals/update-scenario-agent.evals.ts","./src/file/client.ts","./src/file/server.ts","./src/human-in-the-loop/cli.ts","./src/human-in-the-loop/index.ts","./src/human-in-the-loop/ipc.ts","./src/page/index.ts","./src/prompts/lib/ts-transformer.ts","./src/reporter/index.ts","./src/reporter/lib.ts","./src/session/index.ts","./src/test-build/index.ts","./src/tool-call-service/index.ts","./src/tool-call-service/utils.ts","./src/tools/commit-and-create-pr.ts","./src/tools/diagnosis-fetcher.ts","./src/tools/download-build.ts","./src/tools/list-environments.ts","./src/tools/str_replace_editor.ts","./src/tools/test-gen-browser.ts","./src/tools/test-run.ts","./src/tools/grep/index.ts","./src/tools/grep/ripgrep/index.ts","./src/tools/grep/ripgrep/types.ts","./src/tools/test-run-fetcher/index.ts","./src/tools/test-run-fetcher/types.ts","./src/tools/utils/index.ts","./src/types/handlebars.d.ts","./src/types/index.ts","./src/uploader/index.ts","./src/uploader/utils.ts","./src/utils/checkpoint.ts","./src/utils/env.ts","./src/utils/exec.ts","./src/utils/file-tree.ts","./src/utils/file.ts","./src/utils/git.ts","./src/utils/html.ts","./src/utils/index.ts","./src/utils/json.ts","./src/utils/repo-tree.ts","./src/utils/slug.ts","./src/utils/string.ts","./src/utils/stripAnsi.ts"],"version":"5.8.3"}
@@ -1,4 +0,0 @@
1
- import type { Tool } from "@empiricalrun/shared-types";
2
- export declare const getEnvironmentTool: Tool;
3
- export declare const environmentTools: Tool[];
4
- //# sourceMappingURL=environment-crud.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"environment-crud.d.ts","sourceRoot":"","sources":["../../src/tools/environment-crud.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,IAAI,EAEL,MAAM,4BAA4B,CAAC;AA6DpC,eAAO,MAAM,kBAAkB,EAAE,IAoFhC,CAAC;AAGF,eAAO,MAAM,gBAAgB,EAAE,IAAI,EAAyB,CAAC"}
@@ -1,100 +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.environmentTools = exports.getEnvironmentTool = void 0;
7
- const fs_1 = __importDefault(require("fs"));
8
- const path_1 = __importDefault(require("path"));
9
- const zod_1 = require("zod");
10
- const utils_1 = require("./utils");
11
- const getProjectRepoName = (repoPath) => {
12
- const packageJson = fs_1.default.readFileSync(path_1.default.join(repoPath, "package.json"), "utf8");
13
- if (!packageJson) {
14
- throw new Error("Could not find or read package.json file");
15
- }
16
- const packageJsonData = JSON.parse(packageJson);
17
- if (!packageJsonData.name) {
18
- throw new Error("package.json does not contain a name field");
19
- }
20
- return packageJsonData.name;
21
- };
22
- const GetEnvironmentSchema = zod_1.z.object({
23
- environment_slug: zod_1.z
24
- .string()
25
- .describe("The unique identifier (slug) for the environment you want to fetch details for. This is typically a URL-friendly version of the environment name."),
26
- });
27
- // Get Environment Tool
28
- exports.getEnvironmentTool = {
29
- schema: {
30
- name: "getEnvironment",
31
- description: "Fetch details of an existing environment",
32
- parameters: GetEnvironmentSchema,
33
- },
34
- execute: async ({ input, repoPath, apiKey, }) => {
35
- // Get project repo name
36
- let projectRepoName;
37
- try {
38
- projectRepoName = getProjectRepoName(repoPath);
39
- }
40
- catch (error) {
41
- return {
42
- isError: true,
43
- result: `Failed to get project repository name from package.json: ${error instanceof Error ? error.message : String(error)}`,
44
- };
45
- }
46
- // Make API request
47
- let response;
48
- try {
49
- const queryParams = new URLSearchParams({
50
- project_repo_name: projectRepoName,
51
- environment_slug: input.environment_slug,
52
- });
53
- response = await (0, utils_1.makeDashboardRequest)({
54
- path: `/api/environments?${queryParams.toString()}`,
55
- method: "GET",
56
- apiKey,
57
- });
58
- }
59
- catch (error) {
60
- return {
61
- isError: true,
62
- result: `Failed to make API request to fetch environment: ${error instanceof Error ? error.message : String(error)}`,
63
- };
64
- }
65
- // Parse and validate response
66
- try {
67
- const data = response;
68
- if (data.error) {
69
- return {
70
- isError: true,
71
- result: `API returned error while fetching environment: ${data.error.message}`,
72
- data: data.error,
73
- };
74
- }
75
- if (!data.data?.environment) {
76
- return {
77
- isError: true,
78
- result: `Environment "${input.environment_slug}" not found in project "${projectRepoName}"`,
79
- data: data.data,
80
- };
81
- }
82
- return {
83
- result: JSON.stringify({
84
- message: `Successfully fetched environment "${input.environment_slug}"`,
85
- data: data.data,
86
- }),
87
- isError: false,
88
- data: data.data,
89
- };
90
- }
91
- catch (error) {
92
- return {
93
- isError: true,
94
- result: `Failed to parse or validate environment response data: ${error instanceof Error ? error.message : String(error)}`,
95
- };
96
- }
97
- },
98
- };
99
- // Export all environment tools as a single array
100
- exports.environmentTools = [exports.getEnvironmentTool];