@empiricalrun/test-gen 0.23.0 → 0.23.3

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 CHANGED
@@ -1,5 +1,24 @@
1
1
  # @empiricalrun/test-gen
2
2
 
3
+ ## 0.23.3
4
+
5
+ ### Patch Changes
6
+
7
+ - Updated dependencies [f02f7a7]
8
+ - @empiricalrun/llm@0.7.3
9
+
10
+ ## 0.23.2
11
+
12
+ ### Patch Changes
13
+
14
+ - f6f488d: feat: add support for cancelling generation
15
+
16
+ ## 0.23.1
17
+
18
+ ### Patch Changes
19
+
20
+ - 108ee1b: fix: encode testGenToken before btoa
21
+
3
22
  ## 0.23.0
4
23
 
5
24
  ### Minor Changes
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/agent/browsing/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAYlC,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAMnD,KAAK,oBAAoB,GAAG,OAAO,CAAC,oBAAoB,CAAC,GAAG;IAC1D,YAAY,CAAC,EAAE;QACb,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC;KAC9B,CAAC;CACH,CAAC;AAEF,wBAAsB,6BAA6B,CACjD,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,oBAAoB,mBA2K9B;AAED,wBAAsB,aAAa,CACjC,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,oBAAoB,mBAqG9B"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/agent/browsing/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAYlC,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAMnD,KAAK,oBAAoB,GAAG,OAAO,CAAC,oBAAoB,CAAC,GAAG;IAC1D,YAAY,CAAC,EAAE;QACb,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC;KAC9B,CAAC;CACH,CAAC;AAEF,wBAAsB,6BAA6B,CACjD,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,oBAAoB,mBA0L9B;AAED,wBAAsB,aAAa,CACjC,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,oBAAoB,mBAqG9B"}
@@ -50,6 +50,11 @@ async function browsingAgentUsingMasterAgent(task, page, options) {
50
50
  break;
51
51
  }
52
52
  }
53
+ const sessionState = await (0, session_1.getSessionState)();
54
+ if (sessionState === "request_complete") {
55
+ await testgenUpdatesReporter.sendMessage("Aborting task, marking the task as done.");
56
+ break;
57
+ }
53
58
  const { action, reason } = await (0, run_1.masterAgent)(task, page, masterAgentActions, masterAgentSpan, llm, options);
54
59
  logger.log(`Next action: ${action} \n reason: ${reason}`);
55
60
  if (!action) {
@@ -64,6 +69,10 @@ async function browsingAgentUsingMasterAgent(task, page, options) {
64
69
  const browsingAgentSpan = masterAgentSpan.span({
65
70
  name: `browsing-agent`,
66
71
  });
72
+ const sessionState = await (0, session_1.getSessionState)();
73
+ if (sessionState === "request_complete") {
74
+ break;
75
+ }
67
76
  const pageContentSpan = browsingAgentSpan.span({ name: "page-content" });
68
77
  const pageContent = await page.content();
69
78
  pageContentSpan.end({ output: { pageContent } });
@@ -118,6 +127,10 @@ async function browsingAgentUsingMasterAgent(task, page, options) {
118
127
  const toolCallsSpan = browsingAgentSpan.span({ name: "tool-calls" });
119
128
  for (const i in toolCalls) {
120
129
  const toolCall = toolCalls[i];
130
+ const sessionState = await (0, session_1.getSessionState)();
131
+ if (sessionState === "request_complete") {
132
+ break;
133
+ }
121
134
  try {
122
135
  await actions.executeAction(toolCall.function.name, JSON.parse(toolCall.function.arguments));
123
136
  executedActions.push({
package/dist/bin/index.js CHANGED
@@ -11,6 +11,7 @@ const utils_1 = require("../agent/browsing/utils");
11
11
  const run_2 = require("../agent/codegen/run");
12
12
  const reporter_1 = require("../reporter");
13
13
  const ci_1 = require("../reporter/ci");
14
+ const session_1 = require("../session");
14
15
  const logger_1 = require("./logger");
15
16
  const utils_2 = require("./utils");
16
17
  dotenv_1.default.config({
@@ -20,7 +21,7 @@ process.on("beforeExit", async () => await (0, llm_1.flushAllTraces)());
20
21
  process.on("exit", async () => await (0, llm_1.flushAllTraces)());
21
22
  process.on("SIGINT", async () => await (0, llm_1.flushAllTraces)());
22
23
  process.on("SIGTERM", async () => await (0, llm_1.flushAllTraces)());
23
- async function runAgent(sourceFile, testGenConfig) {
24
+ async function runAgent(testGenConfig) {
24
25
  const logger = new logger_1.CustomLogger();
25
26
  const { specPath, testCase } = testGenConfig;
26
27
  if (testGenConfig.options?.agent !== "code") {
@@ -39,22 +40,29 @@ async function runAgent(sourceFile, testGenConfig) {
39
40
  }
40
41
  }
41
42
  (async function main() {
43
+ // this is where test gen starts executing on giving the command from ci
42
44
  const logger = new logger_1.CustomLogger({ useReporter: false });
43
45
  if (process.argv.length < 3) {
44
46
  logger.error("Please provide path to scenarios using command:", "npx @empiricalrun/test-gen <TEST_GEN_TOKEN>");
45
47
  process.exit(1);
46
48
  }
47
- const { sourceFile, testGenConfig } = await (0, utils_2.parseCliArgs)();
49
+ const { testGenConfig } = await (0, utils_2.parseCliArgs)();
48
50
  (0, reporter_1.setReporterConfig)({
49
51
  testCaseName: testGenConfig.testCase.name,
50
52
  testGroup: testGenConfig.testCase.group,
51
53
  projectRepoName: testGenConfig.options?.metadata.projectRepoName,
52
54
  testSessionId: testGenConfig.options?.metadata.testSessionId,
55
+ generationId: testGenConfig.options?.metadata.generationId,
53
56
  });
54
- await runAgent(sourceFile, testGenConfig);
57
+ (0, session_1.setSessionDetails)({
58
+ sessionId: testGenConfig.options?.metadata.testSessionId,
59
+ generationId: testGenConfig.options?.metadata.generationId,
60
+ });
61
+ await runAgent(testGenConfig);
55
62
  // TODO: move these reporters to a better lifecycle
56
63
  await (0, ci_1.reportOnCI)(testGenConfig.testCase);
57
64
  await (0, llm_1.flushAllTraces)();
58
65
  await (0, logger_1.waitForLogsToFlush)();
66
+ await (0, session_1.endSession)();
59
67
  process.exit(0);
60
68
  })();
@@ -1,6 +1,5 @@
1
1
  import { TestGenConfig } from "../../types";
2
2
  export declare function parseCliArgs(scenarioOrScenariosPath?: string): Promise<{
3
- sourceFile: string;
4
3
  testGenConfig: TestGenConfig;
5
4
  }>;
6
5
  export declare function getTestConfigCliArg(): string;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/bin/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAG5C,wBAAsB,YAAY,CAChC,uBAAuB,GAAE,MAA8B;;;GASxD;AAED,wBAAgB,mBAAmB,IAAI,MAAM,CAE5C"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/bin/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAG5C,wBAAsB,YAAY,CAChC,uBAAuB,GAAE,MAA8B;;GAQxD;AAED,wBAAgB,mBAAmB,IAAI,MAAM,CAE5C"}
@@ -5,7 +5,6 @@ const scenarios_1 = require("./scenarios");
5
5
  async function parseCliArgs(scenarioOrScenariosPath = getTestConfigCliArg()) {
6
6
  const testGenConfig = await (0, scenarios_1.loadTestConfigs)(scenarioOrScenariosPath);
7
7
  return {
8
- sourceFile: scenarioOrScenariosPath,
9
8
  testGenConfig,
10
9
  };
11
10
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/bin/utils/scenarios/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAwB,MAAM,gBAAgB,CAAC;AASrE,iBAAe,eAAe,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,CAa5E;AAED,OAAO,EAAE,eAAe,EAAE,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/bin/utils/scenarios/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAwB,MAAM,gBAAgB,CAAC;AASrE,iBAAe,eAAe,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,CAc5E;AAED,OAAO,EAAE,eAAe,EAAE,CAAC"}
@@ -2,7 +2,8 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.loadTestConfigs = void 0;
4
4
  async function loadTestConfigs(scenariosPath) {
5
- const str = atob(scenariosPath);
5
+ // scenariosPath is the testGenToken passed from ci
6
+ const str = decodeURIComponent(atob(scenariosPath));
6
7
  const config = JSON.parse(str);
7
8
  const specPath = `./tests/${config.group || "index"}.spec.ts`;
8
9
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAYlC,wBAAsB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,iBA0BnE"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAalC,wBAAsB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,iBA+BnE"}
package/dist/index.js CHANGED
@@ -9,6 +9,7 @@ const browsing_1 = require("./agent/browsing");
9
9
  const utils_1 = require("./bin/utils");
10
10
  const client_1 = __importDefault(require("./file/client"));
11
11
  const reporter_1 = require("./reporter");
12
+ const session_1 = require("./session");
12
13
  process.on("beforeExit", async () => await (0, llm_1.flushAllTraces)());
13
14
  process.on("exit", async () => await (0, llm_1.flushAllTraces)());
14
15
  process.on("SIGINT", async () => await (0, llm_1.flushAllTraces)());
@@ -22,6 +23,11 @@ async function createTest(task, page, test) {
22
23
  testGroup: testGenConfig.testCase.group,
23
24
  projectRepoName: testGenConfig.options?.metadata.projectRepoName,
24
25
  testSessionId: testGenConfig.options?.metadata.testSessionId,
26
+ generationId: testGenConfig.options?.metadata.generationId,
27
+ });
28
+ (0, session_1.setSessionDetails)({
29
+ sessionId: testGenConfig.options?.metadata.testSessionId,
30
+ generationId: testGenConfig.options?.metadata.generationId,
25
31
  });
26
32
  const fileService = new client_1.default(Number(port));
27
33
  test.setTimeout(900000);
@@ -1,6 +1,7 @@
1
1
  import { Reporter } from "@empiricalrun/reporter";
2
2
  type ReporterConfigType = {
3
3
  testSessionId: number;
4
+ generationId: number;
4
5
  projectRepoName: string;
5
6
  testCaseName: string;
6
7
  testGroup: string;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/reporter/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAA4B,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAc5E,KAAK,kBAAkB,GAAG;IACxB,aAAa,EAAE,MAAM,CAAC;IACtB,eAAe,EAAE,MAAM,CAAC;IACxB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAKF,wBAAgB,WAAW,IAAI,QAAQ,GAAG,SAAS,CAUlD;AAED;;;;;;;;;GASG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,kBAAkB,GAAG,IAAI,CAGlE;AAED,qBAAa,sBAAsB;;IAE3B,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAK1C,eAAe,CAAC,EACpB,eAAe,EACf,QAAQ,GACT,EAAE;QACD,eAAe,EAAE,MAAM,CAAC;QACxB,QAAQ,EAAE,MAAM,CAAC;KAClB;IAkCK,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA2B9C,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAUlD"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/reporter/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAA4B,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAc5E,KAAK,kBAAkB,GAAG;IACxB,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,EAAE,MAAM,CAAC;IACxB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAKF,wBAAgB,WAAW,IAAI,QAAQ,GAAG,SAAS,CAUlD;AAED;;;;;;;;;GASG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,kBAAkB,GAAG,IAAI,CAGlE;AAED,qBAAa,sBAAsB;;IAE3B,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAK1C,eAAe,CAAC,EACpB,eAAe,EACf,QAAQ,GACT,EAAE;QACD,eAAe,EAAE,MAAM,CAAC;QACxB,QAAQ,EAAE,MAAM,CAAC;KAClB;IAkCK,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA2B9C,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAUlD"}
@@ -1,6 +1,12 @@
1
1
  declare function getSessionDetails(): {
2
- id: `${string}-${string}-${string}-${string}-${string}`;
2
+ id: string;
3
3
  version: string;
4
4
  };
5
+ export declare function setSessionDetails({ sessionId, generationId, }: {
6
+ sessionId: number;
7
+ generationId: number;
8
+ }): void;
9
+ export declare function getSessionState(): Promise<"started" | "completed" | "request_complete">;
10
+ export declare function endSession(): Promise<void>;
5
11
  export { getSessionDetails };
6
12
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/session/index.ts"],"names":[],"mappings":"AAKA,iBAAS,iBAAiB;;;EAKzB;AAED,OAAO,EAAE,iBAAiB,EAAE,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/session/index.ts"],"names":[],"mappings":"AAeA,iBAAS,iBAAiB;;;EAKzB;AAED,wBAAgB,iBAAiB,CAAC,EAChC,SAAS,EACT,YAAY,GACb,EAAE;IACD,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;CACtB,QAGA;AAED,wBAAsB,eAAe,0DAkBpC;AAED,wBAAsB,UAAU,kBAmB/B;AAED,OAAO,EAAE,iBAAiB,EAAE,CAAC"}
@@ -3,14 +3,59 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.getSessionDetails = void 0;
7
- const crypto_1 = __importDefault(require("crypto"));
6
+ exports.getSessionDetails = exports.endSession = exports.getSessionState = exports.setSessionDetails = void 0;
8
7
  const package_json_1 = __importDefault(require("./../../package.json"));
9
- const sessionId = crypto_1.default.randomUUID();
8
+ const sessionDetails = {
9
+ sessionId: undefined,
10
+ version: package_json_1.default.version,
11
+ generationId: undefined,
12
+ };
13
+ const DASHBOARD_DOMAIN = process.env.DASHBOARD_DOMAIN || "https://dash.empirical.run";
10
14
  function getSessionDetails() {
11
15
  return {
12
- id: sessionId,
16
+ id: `${sessionDetails.generationId}`,
13
17
  version: package_json_1.default.version,
14
18
  };
15
19
  }
16
20
  exports.getSessionDetails = getSessionDetails;
21
+ function setSessionDetails({ sessionId, generationId, }) {
22
+ sessionDetails.sessionId = sessionId;
23
+ sessionDetails.generationId = generationId;
24
+ }
25
+ exports.setSessionDetails = setSessionDetails;
26
+ async function getSessionState() {
27
+ const apiPath = `${DASHBOARD_DOMAIN}/api/sessions/${sessionDetails.sessionId}/generation?generation_id=${sessionDetails.generationId}`;
28
+ const response = await fetch(apiPath, {
29
+ method: "GET",
30
+ headers: {
31
+ "Content-Type": "application/json",
32
+ Authorization: "weQPMWKT",
33
+ },
34
+ });
35
+ const generationStateData = (await response.json());
36
+ // TODO: fix this heirarchy
37
+ return generationStateData.data.state.state;
38
+ }
39
+ exports.getSessionState = getSessionState;
40
+ async function endSession() {
41
+ const apiPath = `${DASHBOARD_DOMAIN}/api/sessions/${sessionDetails.sessionId}/generation?generation_id=${sessionDetails.generationId}`;
42
+ try {
43
+ await fetch(apiPath, {
44
+ method: "POST",
45
+ headers: {
46
+ "Content-Type": "application/json",
47
+ Authorization: "weQPMWKT",
48
+ },
49
+ body: JSON.stringify({
50
+ generationId: sessionDetails.generationId,
51
+ state: {
52
+ state: "completed",
53
+ },
54
+ }),
55
+ });
56
+ }
57
+ catch (error) {
58
+ console.error("Failed to end session:", error);
59
+ }
60
+ }
61
+ exports.endSession = endSession;
@@ -12,6 +12,7 @@ export type TestGenConfigOptions = {
12
12
  modelParameters?: ModelParameters;
13
13
  metadata: {
14
14
  testSessionId: number;
15
+ generationId: number;
15
16
  testCaseName: string;
16
17
  projectRepoName: string;
17
18
  projectName: string;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAC3E,OAAO,MAAM,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAElC,MAAM,MAAM,WAAW,GAAG;IACxB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG;IACjC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,QAAQ,CAAC;IACrC,KAAK,EAAE,QAAQ,CAAC;IAChB,aAAa,EAAE,WAAW,CAAC;IAC3B,eAAe,CAAC,EAAE,eAAe,CAAC;IAClC,QAAQ,EAAE;QACR,aAAa,EAAE,MAAM,CAAC;QACtB,YAAY,EAAE,MAAM,CAAC;QACrB,eAAe,EAAE,MAAM,CAAC;QACxB,WAAW,EAAE,MAAM,CAAC;QACpB,WAAW,EAAE,aAAa,GAAG,YAAY,CAAC;KAC3C,CAAC;CACH,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,QAAQ,CAAC;IACnB,OAAO,CAAC,EAAE,oBAAoB,CAAC;CAChC,CAAC;AAEF,MAAM,MAAM,QAAQ,GAAG;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,MAAM,MAAM,yBAAyB,GAAG,CAAC,IAAI,EAAE,IAAI,KAAK,MAAM,CAAC;AAE/D,MAAM,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,kBAAkB,CAAC;AAEtE,MAAM,MAAM,MAAM,GAAG;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,YAAY,CAAC;IACrB,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,OAAO,CAAC;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC,CAAC;IAC5E,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,OAAO,EAAE;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,KAAK,MAAM,CAAC;CAC/E,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAC3E,OAAO,MAAM,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAElC,MAAM,MAAM,WAAW,GAAG;IACxB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG;IACjC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,QAAQ,CAAC;IACrC,KAAK,EAAE,QAAQ,CAAC;IAChB,aAAa,EAAE,WAAW,CAAC;IAC3B,eAAe,CAAC,EAAE,eAAe,CAAC;IAClC,QAAQ,EAAE;QACR,aAAa,EAAE,MAAM,CAAC;QACtB,YAAY,EAAE,MAAM,CAAC;QACrB,YAAY,EAAE,MAAM,CAAC;QACrB,eAAe,EAAE,MAAM,CAAC;QACxB,WAAW,EAAE,MAAM,CAAC;QACpB,WAAW,EAAE,aAAa,GAAG,YAAY,CAAC;KAC3C,CAAC;CACH,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,QAAQ,CAAC;IACnB,OAAO,CAAC,EAAE,oBAAoB,CAAC;CAChC,CAAC;AAEF,MAAM,MAAM,QAAQ,GAAG;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,MAAM,MAAM,yBAAyB,GAAG,CAAC,IAAI,EAAE,IAAI,KAAK,MAAM,CAAC;AAE/D,MAAM,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,kBAAkB,CAAC;AAEtE,MAAM,MAAM,MAAM,GAAG;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,YAAY,CAAC;IACrB,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,OAAO,CAAC;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC,CAAC;IAC5E,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,OAAO,EAAE;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,KAAK,MAAM,CAAC;CAC/E,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@empiricalrun/test-gen",
3
- "version": "0.23.0",
3
+ "version": "0.23.3",
4
4
  "publishConfig": {
5
5
  "registry": "https://registry.npmjs.org/",
6
6
  "access": "public"
@@ -41,7 +41,7 @@
41
41
  "ts-morph": "^23.0.0",
42
42
  "tsx": "^4.16.2",
43
43
  "typescript": "^5.3.3",
44
- "@empiricalrun/llm": "^0.7.2",
44
+ "@empiricalrun/llm": "^0.7.3",
45
45
  "@empiricalrun/reporter": "^0.17.5"
46
46
  },
47
47
  "devDependencies": {