@autobe/agent 0.9.0 → 0.9.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.
Files changed (62) hide show
  1. package/lib/AutoBeAgent.js +7 -1
  2. package/lib/AutoBeAgent.js.map +1 -1
  3. package/lib/constants/AutoBeSystemPromptConstant.d.ts +5 -3
  4. package/lib/constants/AutoBeSystemPromptConstant.js.map +1 -1
  5. package/lib/context/IAutoBeApplicationProps.d.ts +0 -61
  6. package/lib/factory/createAutoBeApplication.js +15 -135
  7. package/lib/factory/createAutoBeApplication.js.map +1 -1
  8. package/lib/index.mjs +1054 -1037
  9. package/lib/index.mjs.map +1 -1
  10. package/lib/orchestrate/analyze/orchestrateAnalyze.js +4 -30
  11. package/lib/orchestrate/analyze/orchestrateAnalyze.js.map +1 -1
  12. package/lib/orchestrate/interface/orchestrateInterface.js +9 -3
  13. package/lib/orchestrate/interface/orchestrateInterface.js.map +1 -1
  14. package/lib/orchestrate/test/compileTestScenario.d.ts +5 -0
  15. package/lib/orchestrate/test/compileTestScenario.js +57 -0
  16. package/lib/orchestrate/test/compileTestScenario.js.map +1 -0
  17. package/lib/orchestrate/test/filterTestFileName.d.ts +1 -0
  18. package/lib/orchestrate/test/filterTestFileName.js +13 -0
  19. package/lib/orchestrate/test/filterTestFileName.js.map +1 -0
  20. package/lib/orchestrate/test/orchestrateTest.js +6 -3
  21. package/lib/orchestrate/test/orchestrateTest.js.map +1 -1
  22. package/lib/orchestrate/test/orchestrateTestCorrect.d.ts +2 -2
  23. package/lib/orchestrate/test/orchestrateTestCorrect.js +172 -87
  24. package/lib/orchestrate/test/orchestrateTestCorrect.js.map +1 -1
  25. package/lib/orchestrate/test/orchestrateTestScenario.js +98 -83
  26. package/lib/orchestrate/test/orchestrateTestScenario.js.map +1 -1
  27. package/lib/orchestrate/test/orchestrateTestWrite.d.ts +4 -0
  28. package/lib/orchestrate/test/{orchestrateTestProgress.js → orchestrateTestWrite.js} +27 -54
  29. package/lib/orchestrate/test/orchestrateTestWrite.js.map +1 -0
  30. package/lib/orchestrate/test/structures/IAutoBeTestScenarioApplication.d.ts +18 -20
  31. package/lib/orchestrate/test/structures/IAutoBeTestScenarioArtifacts.d.ts +7 -0
  32. package/lib/orchestrate/test/structures/IAutoBeTestScenarioArtifacts.js +3 -0
  33. package/lib/orchestrate/test/structures/IAutoBeTestScenarioArtifacts.js.map +1 -0
  34. package/lib/orchestrate/test/transformTestCorrectHistories.d.ts +2 -2
  35. package/lib/orchestrate/test/transformTestCorrectHistories.js +38 -16
  36. package/lib/orchestrate/test/transformTestCorrectHistories.js.map +1 -1
  37. package/lib/orchestrate/test/transformTestWriteHistories.d.ts +7 -0
  38. package/lib/orchestrate/test/transformTestWriteHistories.js +59 -0
  39. package/lib/orchestrate/test/transformTestWriteHistories.js.map +1 -0
  40. package/lib/structures/IAutoBeProps.d.ts +12 -1
  41. package/package.json +4 -5
  42. package/src/AutoBeAgent.ts +14 -2
  43. package/src/constants/AutoBeSystemPromptConstant.ts +5 -3
  44. package/src/context/IAutoBeApplicationProps.ts +0 -62
  45. package/src/orchestrate/analyze/orchestrateAnalyze.ts +4 -34
  46. package/src/orchestrate/interface/orchestrateInterface.ts +7 -0
  47. package/src/orchestrate/test/compileTestScenario.ts +64 -0
  48. package/src/orchestrate/test/filterTestFileName.ts +9 -0
  49. package/src/orchestrate/test/orchestrateTest.ts +15 -9
  50. package/src/orchestrate/test/orchestrateTestCorrect.ts +288 -128
  51. package/src/orchestrate/test/orchestrateTestScenario.ts +23 -6
  52. package/src/orchestrate/test/{orchestrateTestProgress.ts → orchestrateTestWrite.ts} +56 -87
  53. package/src/orchestrate/test/structures/IAutoBeTestScenarioApplication.ts +18 -20
  54. package/src/orchestrate/test/structures/IAutoBeTestScenarioArtifacts.ts +8 -0
  55. package/src/orchestrate/test/transformTestCorrectHistories.ts +41 -17
  56. package/src/orchestrate/test/{transformTestProgressHistories.ts → transformTestWriteHistories.ts} +21 -10
  57. package/src/structures/IAutoBeProps.ts +17 -1
  58. package/lib/orchestrate/test/orchestrateTestProgress.d.ts +0 -5
  59. package/lib/orchestrate/test/orchestrateTestProgress.js.map +0 -1
  60. package/lib/orchestrate/test/transformTestProgressHistories.d.ts +0 -8
  61. package/lib/orchestrate/test/transformTestProgressHistories.js +0 -47
  62. package/lib/orchestrate/test/transformTestProgressHistories.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"orchestrateTest.js","sourceRoot":"","sources":["../../../src/orchestrate/test/orchestrateTest.ts"],"names":[],"mappings":";;;;;;;;;;;;AAMA,+BAA0B;AAI1B,qEAAkE;AAClE,uEAAoE;AACpE,uEAAoE;AAE7D,MAAM,eAAe,GAC1B,CAAiC,GAAyB,EAAE,EAAE,CAC9D,CACE,KAA8B,EAC8B,EAAE;;IAC9D,MAAM,KAAK,GAAS,IAAI,IAAI,EAAE,CAAC;IAC/B,GAAG,CAAC,QAAQ,CAAC;QACX,IAAI,EAAE,WAAW;QACjB,UAAU,EAAE,KAAK,CAAC,WAAW,EAAE;QAC/B,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,IAAI,EAAE,MAAA,MAAA,GAAG,CAAC,KAAK,EAAE,CAAC,OAAO,0CAAE,IAAI,mCAAI,CAAC;KACrC,CAAC,CAAC;IAEH,MAAM,UAAU,GAAG,MAAA,MAAA,GAAG,CAAC,KAAK,EAAE,CAAC,SAAS,0CAAE,QAAQ,CAAC,UAAU,mCAAI,EAAE,CAAC;IACpE,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC5B,MAAM,OAAO,GAAkC;YAC7C,EAAE,EAAE,IAAA,SAAE,GAAE;YACR,IAAI,EAAE,kBAAkB;YACxB,UAAU,EAAE,KAAK,CAAC,WAAW,EAAE;YAC/B,YAAY,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YACtC,IAAI,EACF,6DAA6D;gBAC7D,gDAAgD;SACnD,CAAC;QAEF,GAAG,CAAC,SAAS,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC9B,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QAEtB,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,OAAO;IACP,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,IAAA,iDAAuB,EAAC,GAAG,CAAC,CAAC;IAEzD,YAAY;IACZ,MAAM,KAAK,GAA2B,MAAM,IAAA,iDAAuB,EACjE,GAAG,EACH,SAAS,CACV,CAAC;IAEF,MAAM,OAAO,GAAG,MAAM,IAAA,+CAAsB,EAAC,GAAG,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC;IAEpE,MAAM,OAAO,GAAsB;QACjC,IAAI,EAAE,MAAM;QACZ,EAAE,EAAE,IAAA,SAAE,GAAE;QACR,YAAY,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QACtC,UAAU,EAAE,KAAK,CAAC,WAAW,EAAE;QAC/B,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,QAAQ,EAAE,OAAO,CAAC,MAAM;QACxB,MAAM,EAAE,uDAAuD;QAC/D,IAAI,EAAE,MAAA,MAAA,GAAG,CAAC,KAAK,EAAE,CAAC,SAAS,0CAAE,IAAI,mCAAI,CAAC;KACvC,CAAC;IAEF,GAAG,CAAC,QAAQ,CAAC;QACX,IAAI,EAAE,cAAc;QACpB,UAAU,EAAE,KAAK,CAAC,WAAW,EAAE;QAC/B,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,IAAI,EAAE,MAAA,MAAA,GAAG,CAAC,KAAK,EAAE,CAAC,SAAS,0CAAE,IAAI,mCAAI,CAAC;KACvC,CAAC,CAAC;IAEH,GAAG,CAAC,KAAK,EAAE,CAAC,IAAI,GAAG,OAAO,CAAC;IAC3B,GAAG,CAAC,SAAS,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAE9B,OAAO,OAAO,CAAC;AACjB,CAAC,CAAA,CAAC;AAhES,QAAA,eAAe,mBAgExB"}
1
+ {"version":3,"file":"orchestrateTest.js","sourceRoot":"","sources":["../../../src/orchestrate/test/orchestrateTest.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { AutoBeTestScenarioEvent, AutoBeTestValidateEvent, AutoBeTestWriteEvent } from "@autobe/interface";
1
+ import { AutoBeTestScenario, AutoBeTestValidateEvent, AutoBeTestWriteEvent } from "@autobe/interface";
2
2
  import { ILlmSchema } from "@samchon/openapi";
3
3
  import { AutoBeContext } from "../../context/AutoBeContext";
4
- export declare function orchestrateTestCorrect<Model extends ILlmSchema.Model>(ctx: AutoBeContext<Model>, codes: AutoBeTestWriteEvent[], scenarios: AutoBeTestScenarioEvent.IScenario[], life?: number): Promise<AutoBeTestValidateEvent>;
4
+ export declare function orchestrateTestCorrect<Model extends ILlmSchema.Model>(ctx: AutoBeContext<Model>, codes: AutoBeTestWriteEvent[], scenarios: AutoBeTestScenario[], life?: number): Promise<AutoBeTestValidateEvent>;
@@ -52,40 +52,40 @@ const typia_1 = __importDefault(require("typia"));
52
52
  const assertSchemaModel_1 = require("../../context/assertSchemaModel");
53
53
  const backoffRetry_1 = require("../../utils/backoffRetry");
54
54
  const enforceToolCall_1 = require("../../utils/enforceToolCall");
55
- const orchestrateTestProgress_1 = require("./orchestrateTestProgress");
55
+ const compileTestScenario_1 = require("./compileTestScenario");
56
+ const filterTestFileName_1 = require("./filterTestFileName");
56
57
  const transformTestCorrectHistories_1 = require("./transformTestCorrectHistories");
57
58
  function orchestrateTestCorrect(ctx_1, codes_1, scenarios_1) {
58
59
  return __awaiter(this, arguments, void 0, function* (ctx, codes, scenarios, life = 4) {
59
60
  var _a, _b;
60
- const scenarioMap = new Map();
61
- codes.forEach(({ filename }, index) => {
62
- scenarioMap.set(filename, scenarios[index]);
61
+ const files = codes.map(({ filename, content }, index) => {
62
+ const scenario = scenarios[index];
63
+ return { location: filename, content, scenario };
63
64
  });
64
65
  // 1) Build map of new test files from progress events
65
- const testFiles = codes
66
- .map(({ filename, content }) => {
67
- return {
68
- [`test/features/api/${filename}`]: content,
69
- };
70
- })
71
- .reduce((acc, cur) => Object.assign(acc, cur), {});
66
+ const testFiles = Object.fromEntries(codes.map((c) => [c.filename, c.content]));
72
67
  // 2) Keep only files outside the test directory from current state
73
- const retainedFiles = Object.entries((_b = (_a = ctx.state().interface) === null || _a === void 0 ? void 0 : _a.files) !== null && _b !== void 0 ? _b : {})
74
- .filter(([filename]) => {
75
- return !filename.startsWith("test/features/api");
76
- })
77
- .map(([filename, content]) => {
78
- return { [filename]: content };
79
- })
80
- .reduce((acc, cur) => Object.assign(acc, cur), {});
68
+ const retainedFiles = Object.fromEntries(Object.entries((_b = (_a = ctx.state().interface) === null || _a === void 0 ? void 0 : _a.files) !== null && _b !== void 0 ? _b : {}).filter(([key]) => (0, filterTestFileName_1.filterTestFileName)(key)));
81
69
  // 3) Merge and filter: keep .ts/.json, drop anything under "benchmark"
82
- const mergedFiles = Object.assign(Object.assign({}, retainedFiles), testFiles);
83
- const files = Object.fromEntries(Object.entries(mergedFiles).filter(([filename]) => (filename.endsWith(".ts") && !filename.startsWith("test/benchmark/")) ||
84
- filename.endsWith(".json")));
70
+ const external = (location) => __awaiter(this, void 0, void 0, function* () {
71
+ const content = yield ctx.compiler.typescript.getExternal(location);
72
+ if (content === undefined)
73
+ throw new Error(`File not found: ${location}`);
74
+ return { [location]: content };
75
+ });
76
+ const mergedFiles = Object.assign(Object.assign(Object.assign(Object.assign({}, retainedFiles), testFiles), (yield external("node_modules/@nestia/e2e/lib/TestValidator.d.ts"))), (yield external("node_modules/@nestia/fetcher/lib/IConnection.d.ts")));
85
77
  // 4) Ask the LLM to correct the filtered file set
86
- const response = yield step(ctx, files, scenarioMap, life);
78
+ const response = yield step(ctx, mergedFiles, files, life);
87
79
  // 5) Combine original + corrected files and dispatch event
88
- const event = Object.assign(Object.assign({}, response), { type: "testValidate", files: Object.assign(Object.assign({}, mergedFiles), response.files) });
80
+ const event = Object.assign(Object.assign({}, response), { type: "testValidate", files: [
81
+ ...Object.entries(mergedFiles).map(([filename, content]) => {
82
+ return {
83
+ location: filename,
84
+ content,
85
+ };
86
+ }),
87
+ ...response.files,
88
+ ] });
89
89
  return event;
90
90
  });
91
91
  }
@@ -99,24 +99,27 @@ function orchestrateTestCorrect(ctx_1, codes_1, scenarios_1) {
99
99
  * all generated test files are syntactically correct and compilable.
100
100
  *
101
101
  * @param ctx AutoBe context object
102
- * @param files Map of files to compile (filename: content)
102
+ * @param entireFiles Map of all files to compile (filename: content)
103
+ * @param testFiles Map of files to compile (filename: content)
103
104
  * @param life Number of remaining retry attempts
104
105
  * @returns Event object containing successful compilation result and modified
105
106
  * files
106
107
  */
107
- function step(ctx, files, scenarioMap, life) {
108
+ function step(ctx, entireFiles, testFiles, life) {
108
109
  return __awaiter(this, void 0, void 0, function* () {
109
- // COMPILE TEST CODE
110
110
  var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
111
+ // COMPILE TEST CODE
111
112
  const result = yield ctx.compiler.typescript.compile({
112
- files,
113
+ files: Object.assign(Object.assign({}, entireFiles), testFiles
114
+ .map((el) => ({ [el.location]: el.content }))
115
+ .reduce((acc, cur) => Object.assign(acc, cur), {})),
113
116
  });
114
117
  if (result.type === "success") {
115
118
  // SUCCESS
116
119
  return {
117
120
  type: "testValidate",
118
121
  created_at: new Date().toISOString(),
119
- files,
122
+ files: testFiles,
120
123
  result,
121
124
  step: (_b = (_a = ctx.state().interface) === null || _a === void 0 ? void 0 : _a.step) !== null && _b !== void 0 ? _b : 0,
122
125
  };
@@ -126,7 +129,7 @@ function step(ctx, files, scenarioMap, life) {
126
129
  ctx.dispatch({
127
130
  type: "testValidate",
128
131
  created_at: new Date().toISOString(),
129
- files,
132
+ files: testFiles,
130
133
  result,
131
134
  step: (_d = (_c = ctx.state().interface) === null || _c === void 0 ? void 0 : _c.step) !== null && _d !== void 0 ? _d : 0,
132
135
  });
@@ -150,7 +153,7 @@ function step(ctx, files, scenarioMap, life) {
150
153
  return {
151
154
  type: "testValidate",
152
155
  created_at: new Date().toISOString(),
153
- files,
156
+ files: testFiles,
154
157
  result: Object.assign(Object.assign({}, result), { type: "success" }),
155
158
  step: (_f = (_e = ctx.state().interface) === null || _e === void 0 ? void 0 : _e.step) !== null && _f !== void 0 ? _f : 0,
156
159
  };
@@ -159,7 +162,7 @@ function step(ctx, files, scenarioMap, life) {
159
162
  ctx.dispatch({
160
163
  type: "testValidate",
161
164
  created_at: new Date().toISOString(),
162
- files,
165
+ files: testFiles,
163
166
  result,
164
167
  step: (_h = (_g = ctx.state().interface) === null || _g === void 0 ? void 0 : _g.step) !== null && _h !== void 0 ? _h : 0,
165
168
  });
@@ -167,31 +170,46 @@ function step(ctx, files, scenarioMap, life) {
167
170
  return {
168
171
  type: "testValidate",
169
172
  created_at: new Date().toISOString(),
170
- files,
173
+ files: testFiles,
171
174
  result,
172
175
  step: (_k = (_j = ctx.state().interface) === null || _j === void 0 ? void 0 : _j.step) !== null && _k !== void 0 ? _k : 0,
173
176
  };
174
177
  // VALIDATION FAILED
175
- const validate = yield Promise.all(Object.entries(diagnostics).map((_a) => __awaiter(this, [_a], void 0, function* ([filename, d]) {
178
+ const validatedFiles = yield Promise.all(Object.entries(diagnostics).map((_a) => __awaiter(this, [_a], void 0, function* ([filename, d]) {
176
179
  var _b, _c;
177
- const scenario = scenarioMap.get(filename);
178
- const code = files[filename];
180
+ const file = testFiles.find((f) => f.location === filename);
181
+ const code = file === null || file === void 0 ? void 0 : file.content;
182
+ const scenario = file === null || file === void 0 ? void 0 : file.scenario;
179
183
  const response = yield process(ctx, d, code, scenario);
180
184
  ctx.dispatch({
181
185
  type: "testCorrect",
182
186
  created_at: new Date().toISOString(),
183
- files: Object.assign(Object.assign({}, files), { [filename]: response.content }),
187
+ files: Object.assign(Object.assign({}, testFiles), { [filename]: response.content }),
184
188
  result,
185
189
  solution: response.solution,
186
190
  think_without_compile_error: response.think_without_compile_error,
187
191
  think_again_with_compile_error: response.think_again_with_compile_error,
188
192
  step: (_c = (_b = ctx.state().interface) === null || _b === void 0 ? void 0 : _b.step) !== null && _c !== void 0 ? _c : 0,
189
193
  });
190
- // Return [filename, modified code]
191
- return [filename, response.content];
194
+ return {
195
+ location: filename,
196
+ content: response.content,
197
+ scenario: scenario,
198
+ };
192
199
  })));
193
- const newFiles = Object.assign(Object.assign({}, files), Object.fromEntries(validate));
194
- return step(ctx, newFiles, scenarioMap, life - 1);
200
+ return step(ctx, Object.entries(entireFiles)
201
+ .map(([filename, content]) => {
202
+ const overwritten = validatedFiles.find((el) => el.location === filename);
203
+ return overwritten
204
+ ? { [overwritten.location]: overwritten.content }
205
+ : {
206
+ [filename]: content,
207
+ };
208
+ })
209
+ .reduce((acc, cur) => Object.assign(acc, cur), {}), testFiles.map((f) => {
210
+ const validated = validatedFiles.find((v) => v.location === f.location);
211
+ return validated ? validated : f;
212
+ }), life - 1);
195
213
  });
196
214
  }
197
215
  /**
@@ -210,29 +228,26 @@ function process(ctx, diagnostics, code, scenario) {
210
228
  const pointer = {
211
229
  value: null,
212
230
  };
213
- let document = null;
214
- if (scenario) {
215
- document = (0, orchestrateTestProgress_1.filterDocument)(scenario, ctx.state().interface.document);
216
- }
217
- // const apiFiles = Object.entries(ctx.state().interface?.files ?? {})
218
- // .filter(([filename]) => {
219
- // return filename.startsWith("src/api/");
220
- // })
221
- // .reduce<Record<string, string>>((acc, [filename, content]) => {
222
- // return Object.assign(acc, { [filename]: content });
223
- // }, {});
224
- // const dtoFiles = Object.entries(ctx.state().interface?.files ?? {})
225
- // .filter(([filename]) => {
226
- // return filename.startsWith("src/api/structures/");
227
- // })
228
- // .reduce<Record<string, string>>((acc, [filename, content]) => {
229
- // return Object.assign(acc, { [filename]: content });
230
- // }, {});
231
+ const artifacts = yield (0, compileTestScenario_1.compileTestScenario)(ctx, scenario);
232
+ const lines = code.split("\n").map((line, num, arr) => {
233
+ const start = arr
234
+ .slice(0, num)
235
+ .map((el) => el.length + 1)
236
+ .reduce((acc, cur) => acc + cur, 0);
237
+ return {
238
+ line: num + 1,
239
+ text: line,
240
+ start: start,
241
+ end: start + line.length + 1, // exclusive
242
+ };
243
+ });
231
244
  const agentica = new core_1.MicroAgentica({
232
245
  model: ctx.model,
233
246
  vendor: Object.assign({}, ctx.vendor),
234
247
  config: Object.assign({}, ((_a = ctx.config) !== null && _a !== void 0 ? _a : {})),
235
- histories: (0, transformTestCorrectHistories_1.transformTestCorrectHistories)(document),
248
+ histories: (0, transformTestCorrectHistories_1.transformTestCorrectHistories)(code, artifacts, diagnostics.map((diagnostic) => diagnostic.start === undefined || diagnostic.length === undefined
249
+ ? ""
250
+ : formatDiagnostic(code, lines, diagnostic))),
236
251
  controllers: [
237
252
  createApplication({
238
253
  model: ctx.model,
@@ -246,33 +261,7 @@ function process(ctx, diagnostics, code, scenario) {
246
261
  (0, enforceToolCall_1.enforceToolCall)(agentica);
247
262
  yield (0, backoffRetry_1.randomBackoffRetry)(() => __awaiter(this, void 0, void 0, function* () {
248
263
  yield agentica.conversate([
249
- "Fix the compilation error in the provided code.",
250
- "",
251
- "## Original Code",
252
- "```typescript",
253
- code,
254
- "```",
255
- "",
256
- diagnostics.map((diagnostic) => {
257
- if (diagnostic.start === undefined || diagnostic.length === undefined)
258
- return "";
259
- const checkDtoRegexp = `Cannot find module '@ORGANIZATION/template-api/lib/structures/IBbsArticleComment' or its corresponding type declarations.`;
260
- const [group] = [
261
- ...checkDtoRegexp.matchAll(/Cannot find module '(.*lib\/structures\/.*)'/g),
262
- ];
263
- const [_, filename] = group !== null && group !== void 0 ? group : [];
264
- return [
265
- "## Error Information",
266
- `- Position: Characters ${diagnostic.start} to ${diagnostic.start + diagnostic.length}`,
267
- `- Error Message: ${diagnostic.messageText}`,
268
- `- Problematic Code: \`${code.substring(diagnostic.start, diagnostic.start + diagnostic.length)}\``,
269
- filename
270
- ? `The type files located under **/lib/structures are declared in '@ORGANIZATION/PROJECT-api/lib/structures'.\n` +
271
- `Note: '@ORGANIZATION/PROJECT-api' must be written exactly as is and should not be replaced.\n`
272
- : "",
273
- ].join("\n");
274
- }),
275
- "## Instructions",
264
+ "# Instructions",
276
265
  "1. Focus on the specific error location and message",
277
266
  "2. Provide the corrected TypeScript code",
278
267
  "3. Ensure the fix resolves the compilation error",
@@ -282,9 +271,105 @@ function process(ctx, diagnostics, code, scenario) {
282
271
  }));
283
272
  if (pointer.value === null)
284
273
  throw new Error("Failed to modify test code.");
274
+ const typeReferences = Array.from(new Set(Object.keys(artifacts.document.components.schemas).map((key) => key.split(".")[0])));
275
+ pointer.value.content = pointer.value.content
276
+ .replace(/^[ \t]*import\b[\s\S]*?;[ \t]*$/gm, "")
277
+ .trim();
278
+ pointer.value.content = [
279
+ `import { TestValidator } from "@nestia/e2e";`,
280
+ `import typia, { tags } from "typia";`,
281
+ "",
282
+ `import api from "@ORGANIZATION/PROJECT-api";`,
283
+ ...typeReferences.map((ref) => `import type { ${ref} } from "@ORGANIZATION/PROJECT-api/lib/structures/${ref}";`),
284
+ "",
285
+ pointer.value.content,
286
+ ].join("\n");
287
+ pointer.value.content = pointer.value.content.replaceAll('string & Format<"uuid">', 'string & tags.Format<"uuid">');
285
288
  return pointer.value;
286
289
  });
287
290
  }
291
+ function formatDiagnostic(code, lines, diagnostic) {
292
+ var _a, _b, _c;
293
+ const { start, length, messageText } = diagnostic;
294
+ const message = messageText;
295
+ if (typeof start === "number" && typeof length === "number") {
296
+ const end = start + length;
297
+ const problematicCode = code.substring(start, end);
298
+ const errorLine = (_a = lines.find((line) => line.end > start)) !== null && _a !== void 0 ? _a : null;
299
+ const lineText = (_b = errorLine === null || errorLine === void 0 ? void 0 : errorLine.text) !== null && _b !== void 0 ? _b : "";
300
+ const hints = getHints(message, lineText);
301
+ function createAdjustedArray(n) {
302
+ let start = n - 2;
303
+ // 시작 값이 음수라면, 0부터 시작해서 5개의 숫자 생성
304
+ if (start < 0) {
305
+ start = 0;
306
+ }
307
+ return Array.from({ length: 5 }, (_, i) => start + i);
308
+ }
309
+ const errorLines = createAdjustedArray((_c = errorLine === null || errorLine === void 0 ? void 0 : errorLine.line) !== null && _c !== void 0 ? _c : 0);
310
+ const context = errorLines
311
+ .map((num) => {
312
+ var _a, _b;
313
+ if (num === (errorLine === null || errorLine === void 0 ? void 0 : errorLine.line)) {
314
+ if (lines[num - 1]) {
315
+ return `${(_a = lines[num - 1]) === null || _a === void 0 ? void 0 : _a.text} // <- ERROR LINE (line:${num})`;
316
+ }
317
+ }
318
+ if (lines[num - 1]) {
319
+ return (_b = lines[num - 1]) === null || _b === void 0 ? void 0 : _b.text;
320
+ }
321
+ return null;
322
+ })
323
+ .filter((el) => el !== null);
324
+ return [
325
+ "## Error Information",
326
+ `- Position: Characters ${start} to ${end}`,
327
+ `- Error Message: ${message}`,
328
+ `- Error Lines: \n${context.length
329
+ ? [
330
+ "\t```ts", //
331
+ ...context.map((el) => `\t${el}`),
332
+ "\t```",
333
+ ].join("\n")
334
+ : "(none)"}`,
335
+ `- Problematic Code: ${problematicCode.length > 0 ? `\`${problematicCode}\`` : "(none)"}`,
336
+ ...hints.map((hint) => `- Hint: ${hint}`),
337
+ ].join("\n");
338
+ }
339
+ return ["## Error Information", `- Error Message: ${message}`].join("\n");
340
+ }
341
+ function getHints(message, lineText) {
342
+ const isTestValidator = lineText.includes("TestValidator");
343
+ const isTypia = message === "Cannot find name 'Format'. Did you mean 'FormData'?";
344
+ const isJest = message === "Cannot find name 'expect'.";
345
+ const isCurrying = isTestValidator && message === "Expected 1 arguments, but got 2";
346
+ const isAssignability = /Argument of type '([^']+)' is not assignable to parameter of type '([^']+)'/.test(message);
347
+ const hints = [];
348
+ if (isTypia) {
349
+ hints.push("If you want to use typia tags, use `tags.Format` instead of `Format`.");
350
+ }
351
+ if (isJest) {
352
+ hints.push('Detected invalid `expect` usage. Use `TestValidator.equals("description")(expected)(actual)`.');
353
+ }
354
+ if (isCurrying) {
355
+ hints.push("`TestValidator.equals` is a curried function and must be called in **three steps**: `title → expected → actual`.");
356
+ }
357
+ else if (isTestValidator) {
358
+ hints.push("The second argument `expected` must be assignable from the type of `actual`. Consider swapping the order if you get a type error.");
359
+ }
360
+ if (isAssignability && isTestValidator) {
361
+ const match = lineText
362
+ .trim()
363
+ .match(/TestValidator\.equals\("([^"]+)"\)\(([^)]+)\)\(([^)]+)\)/);
364
+ if (match) {
365
+ const [, title, expected, actual] = match;
366
+ if (actual.includes(expected)) {
367
+ hints.push(`You can try rearranging the order like this: TestValidator.equals("${title}")(${actual})(${expected})`);
368
+ }
369
+ }
370
+ }
371
+ return hints;
372
+ }
288
373
  function createApplication(props) {
289
374
  (0, assertSchemaModel_1.assertSchemaModel)(props.model);
290
375
  const application = collection[props.model];
@@ -1 +1 @@
1
- {"version":3,"file":"orchestrateTestCorrect.js","sourceRoot":"","sources":["../../../src/orchestrate/test/orchestrateTestCorrect.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAmBA,wDA4DC;;AA/ED,yCAAoE;AAUpE,kDAA0B;AAG1B,uEAAoE;AACpE,2DAA8D;AAC9D,iEAA8D;AAC9D,uEAA2D;AAC3D,mFAAgF;AAEhF,SAAsB,sBAAsB;yDAC1C,GAAyB,EACzB,KAA6B,EAC7B,SAA8C,EAC9C,OAAe,CAAC;;QAEhB,MAAM,WAAW,GAAmD,IAAI,GAAG,EAAE,CAAC;QAC9E,KAAK,CAAC,OAAO,CAAC,CAAC,EAAE,QAAQ,EAAE,EAAE,KAAK,EAAE,EAAE;YACpC,WAAW,CAAC,GAAG,CAAC,QAAQ,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;QAC9C,CAAC,CAAC,CAAC;QAEH,sDAAsD;QACtD,MAAM,SAAS,GAA2B,KAAK;aAC5C,GAAG,CAAC,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,EAAE;YAC7B,OAAO;gBACL,CAAC,qBAAqB,QAAQ,EAAE,CAAC,EAAE,OAAO;aAC3C,CAAC;QACJ,CAAC,CAAC;aACD,MAAM,CAAyB,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC;QAE7E,mEAAmE;QACnE,MAAM,aAAa,GAA2B,MAAM,CAAC,OAAO,CAC1D,MAAA,MAAA,GAAG,CAAC,KAAK,EAAE,CAAC,SAAS,0CAAE,KAAK,mCAAI,EAAE,CACnC;aACE,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,EAAE;YACrB,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,mBAAmB,CAAC,CAAC;QACnD,CAAC,CAAC;aACD,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,OAAO,CAAC,EAAE,EAAE;YAC3B,OAAO,EAAE,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAE,CAAC;QACjC,CAAC,CAAC;aACD,MAAM,CAAyB,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC;QAE7E,uEAAuE;QACvE,MAAM,WAAW,mCACZ,aAAa,GACb,SAAS,CACb,CAAC;QACF,MAAM,KAAK,GAA2B,MAAM,CAAC,WAAW,CACtD,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,MAAM,CAChC,CAAC,CAAC,QAAQ,CAAC,EAAE,EAAE,CACb,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC;YACrE,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,CAC7B,CACF,CAAC;QAEF,kDAAkD;QAClD,MAAM,QAAQ,GAA4B,MAAM,IAAI,CAClD,GAAG,EACH,KAAK,EACL,WAAW,EACX,IAAI,CACL,CAAC;QAEF,2DAA2D;QAC3D,MAAM,KAAK,mCACN,QAAQ,KACX,IAAI,EAAE,cAAc,EACpB,KAAK,kCAAO,WAAW,GAAK,QAAQ,CAAC,KAAK,IAC3C,CAAC;QACF,OAAO,KAAK,CAAC;IACf,CAAC;CAAA;AAED;;;;;;;;;;;;;;GAcG;AACH,SAAe,IAAI,CACjB,GAAyB,EACzB,KAA6B,EAC7B,WAA2D,EAC3D,IAAY;;QAEZ,oBAAoB;;QAEpB,MAAM,MAAM,GACV,MAAM,GAAG,CAAC,QAAQ,CAAC,UAAU,CAAC,OAAO,CAAC;YACpC,KAAK;SACN,CAAC,CAAC;QACL,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YAC9B,UAAU;YACV,OAAO;gBACL,IAAI,EAAE,cAAc;gBACpB,UAAU,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;gBACpC,KAAK;gBACL,MAAM;gBACN,IAAI,EAAE,MAAA,MAAA,GAAG,CAAC,KAAK,EAAE,CAAC,SAAS,0CAAE,IAAI,mCAAI,CAAC;aACvC,CAAC;QACJ,CAAC;QAED,kBAAkB;QAClB,IAAI,MAAM,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;YAChC,GAAG,CAAC,QAAQ,CAAC;gBACX,IAAI,EAAE,cAAc;gBACpB,UAAU,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;gBACpC,KAAK;gBACL,MAAM;gBACN,IAAI,EAAE,MAAA,MAAA,GAAG,CAAC,KAAK,EAAE,CAAC,SAAS,0CAAE,IAAI,mCAAI,CAAC;aACvC,CAAC,CAAC;YACH,MAAM,IAAI,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QACzD,CAAC;QAED,0FAA0F;QAC1F,MAAM,WAAW,GAGb,EAAE,CAAC;QAEP,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;;YAC/B,IAAI,CAAC,CAAC,IAAI,KAAK,IAAI;gBAAE,OAAO;YAE5B,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,MAAA,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,mCAAI,EAAE,CAAC;YAChD,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC9B,CAAC,CAAC,CAAC;QAEH,IAAI,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC1C;;;;eAIG;YACH,OAAO;gBACL,IAAI,EAAE,cAAc;gBACpB,UAAU,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;gBACpC,KAAK;gBACL,MAAM,kCACD,MAAM,KACT,IAAI,EAAE,SAAS,GAChB;gBACD,IAAI,EAAE,MAAA,MAAA,GAAG,CAAC,KAAK,EAAE,CAAC,SAAS,0CAAE,IAAI,mCAAI,CAAC;aACvC,CAAC;QACJ,CAAC;QAED,iBAAiB;QACjB,GAAG,CAAC,QAAQ,CAAC;YACX,IAAI,EAAE,cAAc;YACpB,UAAU,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YACpC,KAAK;YACL,MAAM;YACN,IAAI,EAAE,MAAA,MAAA,GAAG,CAAC,KAAK,EAAE,CAAC,SAAS,0CAAE,IAAI,mCAAI,CAAC;SACvC,CAAC,CAAC;QAEH,IAAI,IAAI,IAAI,CAAC;YACX,OAAO;gBACL,IAAI,EAAE,cAAc;gBACpB,UAAU,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;gBACpC,KAAK;gBACL,MAAM;gBACN,IAAI,EAAE,MAAA,MAAA,GAAG,CAAC,KAAK,EAAE,CAAC,SAAS,0CAAE,IAAI,mCAAI,CAAC;aACvC,CAAC;QAEJ,oBAAoB;QACpB,MAAM,QAAQ,GAAuB,MAAM,OAAO,CAAC,GAAG,CACpD,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,KAAsB,EAAE,0CAAjB,CAAC,QAAQ,EAAE,CAAC,CAAC;;YAClD,MAAM,QAAQ,GACZ,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAE,CAAC;YAC7B,MAAM,IAAI,GAAW,KAAK,CAAC,QAAQ,CAAC,CAAC;YACrC,MAAM,QAAQ,GAA8B,MAAM,OAAO,CACvD,GAAG,EACH,CAAC,EACD,IAAI,EACJ,QAAQ,CACT,CAAC;YACF,GAAG,CAAC,QAAQ,CAAC;gBACX,IAAI,EAAE,aAAa;gBACnB,UAAU,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;gBACpC,KAAK,kCAAO,KAAK,KAAE,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC,OAAO,GAAE;gBACjD,MAAM;gBACN,QAAQ,EAAE,QAAQ,CAAC,QAAQ;gBAC3B,2BAA2B,EAAE,QAAQ,CAAC,2BAA2B;gBACjE,8BAA8B,EAAE,QAAQ,CAAC,8BAA8B;gBACvE,IAAI,EAAE,MAAA,MAAA,GAAG,CAAC,KAAK,EAAE,CAAC,SAAS,0CAAE,IAAI,mCAAI,CAAC;aACvC,CAAC,CAAC;YAEH,mCAAmC;YACnC,OAAO,CAAC,QAAQ,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC;QACtC,CAAC,CAAA,CAAC,CACH,CAAC;QAEF,MAAM,QAAQ,mCACT,KAAK,GACL,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,CAChC,CAAC;QACF,OAAO,IAAI,CAAC,GAAG,EAAE,QAAQ,EAAE,WAAW,EAAE,IAAI,GAAG,CAAC,CAAC,CAAC;IACpD,CAAC;CAAA;AAED;;;;;;;;;GASG;AACH,SAAe,OAAO,CACpB,GAAyB,EACzB,WAA0D,EAC1D,IAAY,EACZ,QAA2C;;;QAE3C,MAAM,OAAO,GAA+C;YAC1D,KAAK,EAAE,IAAI;SACZ,CAAC;QAEF,IAAI,QAAQ,GAAmC,IAAI,CAAC;QACpD,IAAI,QAAQ,EAAE,CAAC;YACb,QAAQ,GAAG,IAAA,wCAAc,EAAC,QAAQ,EAAE,GAAG,CAAC,KAAK,EAAE,CAAC,SAAU,CAAC,QAAQ,CAAC,CAAC;QACvE,CAAC;QAED,sEAAsE;QACtE,8BAA8B;QAC9B,8CAA8C;QAC9C,OAAO;QACP,oEAAoE;QACpE,0DAA0D;QAC1D,YAAY;QAEZ,sEAAsE;QACtE,8BAA8B;QAC9B,yDAAyD;QACzD,OAAO;QACP,oEAAoE;QACpE,0DAA0D;QAC1D,YAAY;QAEZ,MAAM,QAAQ,GAAG,IAAI,oBAAa,CAAC;YACjC,KAAK,EAAE,GAAG,CAAC,KAAK;YAChB,MAAM,oBAAO,GAAG,CAAC,MAAM,CAAE;YACzB,MAAM,oBACD,CAAC,MAAA,GAAG,CAAC,MAAM,mCAAI,EAAE,CAAC,CACtB;YACD,SAAS,EAAE,IAAA,6DAA6B,EAAC,QAAQ,CAAC;YAClD,WAAW,EAAE;gBACX,iBAAiB,CAAC;oBAChB,KAAK,EAAE,GAAG,CAAC,KAAK;oBAChB,KAAK,EAAE,CAAC,IAAI,EAAE,EAAE;wBACd,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC;oBACvB,CAAC;iBACF,CAAC;aACH;YACD,UAAU,EAAE,GAAG,CAAC,KAAK,EAAE;SACxB,CAAC,CAAC;QACH,IAAA,iCAAe,EAAC,QAAQ,CAAC,CAAC;QAE1B,MAAM,IAAA,iCAAkB,EAAC,GAAS,EAAE;YAClC,MAAM,QAAQ,CAAC,UAAU,CACvB;gBACE,iDAAiD;gBACjD,EAAE;gBACF,kBAAkB;gBAClB,eAAe;gBACf,IAAI;gBACJ,KAAK;gBACL,EAAE;gBACF,WAAW,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE;oBAC7B,IAAI,UAAU,CAAC,KAAK,KAAK,SAAS,IAAI,UAAU,CAAC,MAAM,KAAK,SAAS;wBACnE,OAAO,EAAE,CAAC;oBAEZ,MAAM,cAAc,GAAG,2HAA2H,CAAC;oBACnJ,MAAM,CAAC,KAAK,CAAC,GAAG;wBACd,GAAG,cAAc,CAAC,QAAQ,CACxB,+CAA+C,CAChD;qBACF,CAAC;oBAEF,MAAM,CAAC,CAAC,EAAE,QAAQ,CAAC,GAAG,KAAK,aAAL,KAAK,cAAL,KAAK,GAAI,EAAE,CAAC;oBAElC,OAAO;wBACL,sBAAsB;wBACtB,0BAA0B,UAAU,CAAC,KAAK,OAAO,UAAU,CAAC,KAAK,GAAG,UAAU,CAAC,MAAM,EAAE;wBACvF,oBAAoB,UAAU,CAAC,WAAW,EAAE;wBAC5C,yBAAyB,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,KAAK,EAAE,UAAU,CAAC,KAAK,GAAG,UAAU,CAAC,MAAM,CAAC,IAAI;wBACnG,QAAQ;4BACN,CAAC,CAAC,8GAA8G;gCAC9G,+FAA+F;4BACjG,CAAC,CAAC,EAAE;qBACP,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACf,CAAC,CAAC;gBACF,iBAAiB;gBACjB,qDAAqD;gBACrD,0CAA0C;gBAC1C,kDAAkD;gBAClD,EAAE;gBACF,kDAAkD;aACnD,CAAC,IAAI,CAAC,IAAI,CAAC,CACb,CAAC;QACJ,CAAC,CAAA,CAAC,CAAC;QACH,IAAI,OAAO,CAAC,KAAK,KAAK,IAAI;YAAE,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;QAC3E,OAAO,OAAO,CAAC,KAAK,CAAC;IACvB,CAAC;CAAA;AAED,SAAS,iBAAiB,CAAiC,KAG1D;IACC,IAAA,qCAAiB,EAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAE/B,MAAM,WAAW,GAA2B,UAAU,CACpD,KAAK,CAAC,KAAK,CACyB,CAAC;IACvC,OAAO;QACL,QAAQ,EAAE,OAAO;QACjB,IAAI,EAAE,kBAAkB;QACxB,WAAW;QACX,OAAO,EAAE;YACP,eAAe,EAAE,CAAC,IAAI,EAAE,EAAE;gBACxB,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YACpB,CAAC;SACqB;KACzB,CAAC;AACJ,CAAC;AAED,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAMT,CAAC;AACJ,MAAM,UAAU,GAAG;IACjB,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAIJ;IACH,MAAM;IACN,KAAK,EAAE,MAAM;IACb,QAAQ,EAAE,MAAM;IAChB,KAAK,EAAE,MAAM;IACb,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAA8C;CACpD,CAAC"}
1
+ {"version":3,"file":"orchestrateTestCorrect.js","sourceRoot":"","sources":["../../../src/orchestrate/test/orchestrateTestCorrect.ts"],"names":[],"mappings":"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"}