lacuna-cli 0.1.7 → 0.1.9

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 (57) hide show
  1. package/README.md +41 -8
  2. package/dist/agent/context.d.ts +1 -0
  3. package/dist/agent/context.d.ts.map +1 -1
  4. package/dist/agent/context.js +141 -6
  5. package/dist/agent/context.js.map +1 -1
  6. package/dist/agent/fix-loop.d.ts.map +1 -1
  7. package/dist/agent/fix-loop.js +135 -20
  8. package/dist/agent/fix-loop.js.map +1 -1
  9. package/dist/agent/generator.d.ts +2 -0
  10. package/dist/agent/generator.d.ts.map +1 -1
  11. package/dist/agent/generator.js +63 -22
  12. package/dist/agent/generator.js.map +1 -1
  13. package/dist/agent/loop.d.ts +1 -1
  14. package/dist/agent/loop.d.ts.map +1 -1
  15. package/dist/agent/loop.js +81 -4
  16. package/dist/agent/loop.js.map +1 -1
  17. package/dist/agent/prompts/index.d.ts +2 -0
  18. package/dist/agent/prompts/index.d.ts.map +1 -1
  19. package/dist/agent/prompts/index.js +145 -31
  20. package/dist/agent/prompts/index.js.map +1 -1
  21. package/dist/agent/prompts/react-native.d.ts.map +1 -1
  22. package/dist/agent/prompts/react-native.js +15 -4
  23. package/dist/agent/prompts/react-native.js.map +1 -1
  24. package/dist/agent/prompts/react.js +1 -1
  25. package/dist/agent/prompts/runners/vitest.js +1 -1
  26. package/dist/commands/analyze.d.ts.map +1 -1
  27. package/dist/commands/analyze.js +4 -0
  28. package/dist/commands/analyze.js.map +1 -1
  29. package/dist/commands/fix.d.ts.map +1 -1
  30. package/dist/commands/fix.js +9 -0
  31. package/dist/commands/fix.js.map +1 -1
  32. package/dist/commands/generate.d.ts.map +1 -1
  33. package/dist/commands/generate.js +9 -0
  34. package/dist/commands/generate.js.map +1 -1
  35. package/dist/commands/run.d.ts.map +1 -1
  36. package/dist/commands/run.js +4 -0
  37. package/dist/commands/run.js.map +1 -1
  38. package/dist/lib/config.d.ts +6 -0
  39. package/dist/lib/config.d.ts.map +1 -1
  40. package/dist/lib/config.js +9 -0
  41. package/dist/lib/config.js.map +1 -1
  42. package/dist/lib/extract-error.d.ts.map +1 -1
  43. package/dist/lib/extract-error.js +8 -2
  44. package/dist/lib/extract-error.js.map +1 -1
  45. package/dist/lib/feedback.d.ts +3 -0
  46. package/dist/lib/feedback.d.ts.map +1 -0
  47. package/dist/lib/feedback.js +27 -0
  48. package/dist/lib/feedback.js.map +1 -0
  49. package/dist/lib/reporter.d.ts.map +1 -1
  50. package/dist/lib/reporter.js +11 -1
  51. package/dist/lib/reporter.js.map +1 -1
  52. package/dist/lib/validate.d.ts +25 -0
  53. package/dist/lib/validate.d.ts.map +1 -1
  54. package/dist/lib/validate.js +561 -0
  55. package/dist/lib/validate.js.map +1 -1
  56. package/package.json +9 -4
  57. package/oclif.manifest.json +0 -309
@@ -1 +1 @@
1
- {"version":3,"file":"generator.js","sourceRoot":"","sources":["../../src/agent/generator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generator.js","sourceRoot":"","sources":["../../src/agent/generator.ts"],"names":[],"mappings":"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"}
@@ -22,7 +22,7 @@ export interface LoopResult {
22
22
  hasCoverage: boolean;
23
23
  errors: string[];
24
24
  }
25
- export declare function processGap(gap: CoverageGap, options: LoopOptions, generator: TestGenerator, parallel: boolean, onStatus?: (state: WorkerState) => void, projectMemory?: string | null): Promise<{
25
+ export declare function processGap(gap: CoverageGap, options: LoopOptions, generator: TestGenerator, parallel: boolean, onStatus?: (state: WorkerState) => void, projectMemory?: string | null, overrideTestFile?: string): Promise<{
26
26
  success: boolean;
27
27
  error?: string;
28
28
  testCode?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"loop.d.ts","sourceRoot":"","sources":["../../src/agent/loop.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAA;AACpD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAA;AAI7D,OAAO,KAAK,EAAE,WAAW,EAAkB,MAAM,0BAA0B,CAAA;AAE3E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAA;AAG3D,OAAO,EAAE,aAAa,EAAiH,MAAM,gBAAgB,CAAA;AAQ7J,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,YAAY,CAAA;IACpB,GAAG,EAAE,mBAAmB,CAAA;IACxB,GAAG,EAAE,MAAM,CAAA;IACX,MAAM,EAAE,OAAO,CAAA;IACf,OAAO,EAAE,OAAO,CAAA;IAChB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,GAAG,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAA;CAC3B;AAED,MAAM,WAAW,UAAU;IACzB,cAAc,EAAE,MAAM,CAAA;IACtB,YAAY,EAAE,MAAM,CAAA;IACpB,cAAc,EAAE,MAAM,CAAA;IACtB,aAAa,EAAE,MAAM,CAAA;IACrB,WAAW,EAAE,OAAO,CAAA;IACpB,MAAM,EAAE,MAAM,EAAE,CAAA;CACjB;AAWD,wBAAsB,UAAU,CAC9B,GAAG,EAAE,WAAW,EAChB,OAAO,EAAE,WAAW,EACpB,SAAS,EAAE,aAAa,EACxB,QAAQ,EAAE,OAAO,EACjB,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,WAAW,KAAK,IAAI,EACvC,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,GAC5B,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAwOlE;AA0ED,wBAAsB,YAAY,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC,CA8L5E"}
1
+ {"version":3,"file":"loop.d.ts","sourceRoot":"","sources":["../../src/agent/loop.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAA;AACpD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAA;AAI7D,OAAO,KAAK,EAAE,WAAW,EAAkB,MAAM,0BAA0B,CAAA;AAE3E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAA;AAG3D,OAAO,EAAE,aAAa,EAAiH,MAAM,gBAAgB,CAAA;AAQ7J,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,YAAY,CAAA;IACpB,GAAG,EAAE,mBAAmB,CAAA;IACxB,GAAG,EAAE,MAAM,CAAA;IACX,MAAM,EAAE,OAAO,CAAA;IACf,OAAO,EAAE,OAAO,CAAA;IAChB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,GAAG,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAA;CAC3B;AAED,MAAM,WAAW,UAAU;IACzB,cAAc,EAAE,MAAM,CAAA;IACtB,YAAY,EAAE,MAAM,CAAA;IACpB,cAAc,EAAE,MAAM,CAAA;IACtB,aAAa,EAAE,MAAM,CAAA;IACrB,WAAW,EAAE,OAAO,CAAA;IACpB,MAAM,EAAE,MAAM,EAAE,CAAA;CACjB;AAWD,wBAAsB,UAAU,CAC9B,GAAG,EAAE,WAAW,EAChB,OAAO,EAAE,WAAW,EACpB,SAAS,EAAE,aAAa,EACxB,QAAQ,EAAE,OAAO,EACjB,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,WAAW,KAAK,IAAI,EACvC,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,EAC7B,gBAAgB,CAAC,EAAE,MAAM,GACxB,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CA+SlE;AA0ED,wBAAsB,YAAY,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC,CA8L5E"}
@@ -11,7 +11,7 @@ import { TestGenerator, TruncatedOutputError, OscillationError, ModelStallError,
11
11
  import { ProjectMemory } from './project-memory.js';
12
12
  import { getActiveTips, createTipRotator, formatTip } from '../lib/tips.js';
13
13
  import { typeCheckFile } from '../lib/typecheck.js';
14
- import { hasTestFunctions, enrichNoTestsError, isZeroTestsOutput, parsePassCount, buildStructureBrokenMessage, buildRegressionMessage, sanitizeMocksContent, stripLeadingProse, mergeMocksContent, deduplicateViMocks } from '../lib/validate.js';
14
+ import { hasTestFunctions, hasPlaceholderBodies, enrichNoTestsError, isZeroTestsOutput, parsePassCount, buildStructureBrokenMessage, buildRegressionMessage, sanitizeMocksContent, stripLeadingProse, mergeMocksContent, deduplicateViMocks, tryApplyPatch, tryApplyMocksPatch } from '../lib/validate.js';
15
15
  import { extractTestFailure } from '../lib/extract-error.js';
16
16
  import { StreamingFileViewer } from '../lib/streaming-viewer.js';
17
17
  async function getCoverageRate(config, cwd) {
@@ -23,7 +23,7 @@ async function getCoverageRate(config, cwd) {
23
23
  return 0;
24
24
  }
25
25
  }
26
- export async function processGap(gap, options, generator, parallel, onStatus, projectMemory) {
26
+ export async function processGap(gap, options, generator, parallel, onStatus, projectMemory, overrideTestFile) {
27
27
  const { config, env, cwd, dryRun, verbose, log } = options;
28
28
  const shortPath = gap.filePath.replace(cwd + '/', '');
29
29
  if (!onStatus) {
@@ -43,6 +43,14 @@ export async function processGap(gap, options, generator, parallel, onStatus, pr
43
43
  onStatus?.({ phase: 'failed', file: shortPath });
44
44
  return { success: false, error: msg };
45
45
  }
46
+ // When called from regenerateFile the original test was deleted so inferTestFilePath
47
+ // mirrors the source path (including any extra segments like lib/) instead of using
48
+ // the real test location. The caller passes the original path to pin the write target.
49
+ if (overrideTestFile) {
50
+ context.suggestedTestFile = overrideTestFile;
51
+ context.existingTestCode = null;
52
+ context.existingTestFile = null;
53
+ }
46
54
  if (!onStatus) {
47
55
  log(chalk.dim(` ${context.existingTestFile ? 'Updating' : 'Creating'}: ${context.suggestedTestFile.replace(cwd + '/', '')}`));
48
56
  }
@@ -149,6 +157,28 @@ export async function processGap(gap, options, generator, parallel, onStatus, pr
149
157
  onStatus?.({ phase: 'passed', file: shortPath });
150
158
  return { success: true, testCode: generatedCode };
151
159
  }
160
+ // Patch mode: model returned surgical edits — apply them to get the complete file
161
+ if (generator.isPatch && context.existingTestCode) {
162
+ const patched = tryApplyPatch(context.existingTestCode, generatedCode);
163
+ if (patched !== null) {
164
+ generatedCode = patched;
165
+ }
166
+ else {
167
+ // Anchor(s) not found — do NOT write raw patch markers to disk
168
+ lastError =
169
+ 'PATCH APPLICATION FAILED: one or more anchor strings in your patch were not found in the test file.\n' +
170
+ 'Anchors must be copied character-for-character (including quote style) from the CURRENT TEST FILE shown above.\n' +
171
+ 'Checklist:\n' +
172
+ ' • REPLACE_TEST / DELETE_TEST anchor = exact it/test name already in the file\n' +
173
+ ' • ADD_AFTER_DESCRIBE anchor = exact describe() name already in the file\n' +
174
+ ' • For a brand-new test, use ADD_AFTER_DESCRIBE with the enclosing describe name\n' +
175
+ 'Re-read the test file, find the exact anchor names, and rewrite your patch.';
176
+ if (!onStatus)
177
+ log(chalk.yellow(` Patch anchors not found — retrying...`));
178
+ onStatus?.({ phase: 'retrying', file: shortPath, attempt, max: config.maxIterations });
179
+ continue;
180
+ }
181
+ }
152
182
  // Strip thinking/prose that leaked before the first real code line.
153
183
  // Happens under retry pressure when the model bleeds reasoning into <code_output>.
154
184
  const { code: cleanCode, stripped: bleedText } = stripLeadingProse(generatedCode);
@@ -158,8 +188,39 @@ export async function processGap(gap, options, generator, parallel, onStatus, pr
158
188
  generatedCode = cleanCode;
159
189
  }
160
190
  const MOCKS_SEPARATOR = '// ---MOCKS_FILE---';
191
+ const MOCKS_PATCH_SEPARATOR = '// ---MOCKS_PATCH---';
161
192
  let testCode = generatedCode;
162
- if (generatedCode.includes(MOCKS_SEPARATOR) && config.mocksFile) {
193
+ if (generatedCode.includes(MOCKS_PATCH_SEPARATOR) && config.mocksFile) {
194
+ // Surgical patch mode: model only emits the changed sections
195
+ const [newTestCode, patchContent] = generatedCode.split(MOCKS_PATCH_SEPARATOR);
196
+ testCode = newTestCode.trim();
197
+ if (patchContent?.trim()) {
198
+ const absoluteMocksFile = join(cwd, config.mocksFile);
199
+ let existing = '';
200
+ try {
201
+ existing = await readFile(absoluteMocksFile, 'utf-8');
202
+ }
203
+ catch { /* new file — patch can't apply */ }
204
+ if (existing) {
205
+ const applied = tryApplyMocksPatch(existing, patchContent.trim());
206
+ if (applied) {
207
+ if (applied.failedOps.length > 0) {
208
+ const anchors = applied.failedOps.map(op => `"${op.oldText.slice(0, 60).replace(/\n/g, '↵')}"`).join(', ');
209
+ lastError = `MOCKS PATCH FAILED: the following REPLACE anchor(s) were not found in the mock file:\n${anchors}\nAnchors must be copied character-for-character from the SHARED MOCK FILE shown above. Re-read it and rewrite your ---MOCKS_PATCH--- block.`;
210
+ if (!onStatus)
211
+ log(chalk.yellow(` ⚠ Mock patch anchors not found — retrying...`));
212
+ onStatus?.({ phase: 'retrying', file: shortPath, attempt, max: config.maxIterations });
213
+ continue;
214
+ }
215
+ await writeFile(absoluteMocksFile, applied.result, 'utf-8');
216
+ if (!onStatus)
217
+ log(chalk.dim(` Patched mocks file: ${config.mocksFile}`));
218
+ }
219
+ }
220
+ }
221
+ }
222
+ else if (generatedCode.includes(MOCKS_SEPARATOR) && config.mocksFile) {
223
+ // Full-rewrite mode (new mock file or explicit full replacement)
163
224
  const [newTestCode, newMocksCode] = generatedCode.split(MOCKS_SEPARATOR);
164
225
  testCode = newTestCode.trim();
165
226
  if (newMocksCode?.trim()) {
@@ -202,6 +263,22 @@ export async function processGap(gap, options, generator, parallel, onStatus, pr
202
263
  onStatus?.({ phase: 'running', file: shortPath });
203
264
  const runResult = await runCommand(testCmd, cwd);
204
265
  if (runResult.success) {
266
+ // Reject placeholder test bodies — `{ // body }` passes vitest (no assertions)
267
+ // but produces zero coverage value. Force a retry with an explicit error.
268
+ if (hasPlaceholderBodies(testCode)) {
269
+ lastError =
270
+ 'ERROR: One or more test bodies contain placeholder comments (e.g. `// body`, `// TODO`) with no real assertions.\n' +
271
+ 'Every test must have complete, working expectations:\n' +
272
+ ' it(\'description\', async () => {\n' +
273
+ ' const result = await subject.doThing(...);\n' +
274
+ ' expect(result).toEqual(expectedValue);\n' +
275
+ ' })\n' +
276
+ 'Replace every `// body` placeholder with real arrange-act-assert code.';
277
+ if (!onStatus)
278
+ log(chalk.yellow(` Placeholder test bodies detected — retrying...`));
279
+ onStatus?.({ phase: 'retrying', file: shortPath, attempt, max: config.maxIterations });
280
+ continue;
281
+ }
205
282
  const typeErrors = await typeCheckFile(context.suggestedTestFile, cwd, env);
206
283
  if (typeErrors) {
207
284
  if (attempt < config.maxIterations) {
@@ -260,7 +337,7 @@ export async function processGap(gap, options, generator, parallel, onStatus, pr
260
337
  else {
261
338
  // New file — keep the last attempt on disk so `lacuna fix` can repair it
262
339
  if (!onStatus)
263
- log(chalk.yellow(`\n Last attempt kept at ${shortPath} — run ${chalk.cyan('lacuna fix')} to repair it`));
340
+ log(chalk.yellow(`\n Last attempt kept at ${context.suggestedTestFile.replace(cwd + '/', '')} — run ${chalk.cyan('lacuna fix')} to repair it`));
264
341
  }
265
342
  return {
266
343
  success: false,
@@ -1 +1 @@
1
- {"version":3,"file":"loop.js","sourceRoot":"","sources":["../../src/agent/loop.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"loop.js","sourceRoot":"","sources":["../../src/agent/loop.ts"],"names":[],"mappings":"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"}
@@ -18,6 +18,7 @@ export declare function buildGeneratePrompt(args: {
18
18
  localImportContents?: string | null;
19
19
  reactMajorVersion?: number | null;
20
20
  projectMemory?: string | null;
21
+ existingTestLineCount?: number;
21
22
  }): string;
22
23
  export declare function buildFixPrompt(args: {
23
24
  testFile: string;
@@ -36,6 +37,7 @@ export declare function buildFixPrompt(args: {
36
37
  localImportPaths?: string[] | null;
37
38
  reactMajorVersion?: number | null;
38
39
  projectMemory?: string | null;
40
+ existingTestLineCount?: number;
39
41
  }): string;
40
42
  export declare function buildPollutionFixPrompt(args: {
41
43
  pollutorFile: string;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/agent/prompts/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAA;AA0QhE,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,mBAAmB,GAAG,MAAM,CAgHlE;AAID,wBAAgB,mBAAmB,CAAC,IAAI,EAAE;IACxC,UAAU,EAAE,MAAM,CAAA;IAClB,UAAU,EAAE,MAAM,CAAA;IAClB,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAA;IAC/B,kBAAkB,EAAE,MAAM,EAAE,CAAA;IAC5B,cAAc,EAAE,MAAM,EAAE,CAAA;IACxB,GAAG,EAAE,mBAAmB,CAAA;IACxB,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAChC,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACzB,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC/B,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC7B,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC3B,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC7B,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC/B,gBAAgB,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,CAAA;IAClC,mBAAmB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACnC,iBAAiB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACjC,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAC9B,GAAG,MAAM,CAiIT;AAID,wBAAgB,cAAc,CAAC,IAAI,EAAE;IACnC,QAAQ,EAAE,MAAM,CAAA;IAChB,QAAQ,EAAE,MAAM,CAAA;IAChB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAA;IACzB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAA;IACzB,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAChC,WAAW,EAAE,MAAM,CAAA;IACnB,GAAG,EAAE,mBAAmB,CAAA;IACxB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACzB,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC/B,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC7B,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC3B,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC7B,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC/B,gBAAgB,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,CAAA;IAClC,iBAAiB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACjC,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAC9B,GAAG,MAAM,CAkJT;AAID,wBAAgB,uBAAuB,CAAC,IAAI,EAAE;IAC5C,YAAY,EAAE,MAAM,CAAA;IACpB,YAAY,EAAE,MAAM,CAAA;IACpB,UAAU,EAAE,MAAM,CAAA;IAClB,UAAU,EAAE,MAAM,CAAA;IAClB,WAAW,EAAE,MAAM,CAAA;IACnB,GAAG,EAAE,mBAAmB,CAAA;CACzB,GAAG,MAAM,CA8CT;AAID,MAAM,WAAW,aAAa;IAC5B,aAAa,EAAE,MAAM,CAAA;IACrB,UAAU,EAAE,MAAM,CAAA;IAClB,aAAa,EAAE,MAAM,CAAA;CACtB;AAED,wBAAgB,gBAAgB,CAAC,aAAa,EAAE,MAAM,EAAE,cAAc,GAAE,aAAa,EAAO,GAAG,MAAM,CA2DpG"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/agent/prompts/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAA;AA0QhE,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,mBAAmB,GAAG,MAAM,CA+HlE;AAID,wBAAgB,mBAAmB,CAAC,IAAI,EAAE;IACxC,UAAU,EAAE,MAAM,CAAA;IAClB,UAAU,EAAE,MAAM,CAAA;IAClB,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAA;IAC/B,kBAAkB,EAAE,MAAM,EAAE,CAAA;IAC5B,cAAc,EAAE,MAAM,EAAE,CAAA;IACxB,GAAG,EAAE,mBAAmB,CAAA;IACxB,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAChC,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACzB,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC/B,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC7B,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC3B,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC7B,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC/B,gBAAgB,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,CAAA;IAClC,mBAAmB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACnC,iBAAiB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACjC,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC7B,qBAAqB,CAAC,EAAE,MAAM,CAAA;CAC/B,GAAG,MAAM,CAqLT;AAID,wBAAgB,cAAc,CAAC,IAAI,EAAE;IACnC,QAAQ,EAAE,MAAM,CAAA;IAChB,QAAQ,EAAE,MAAM,CAAA;IAChB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAA;IACzB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAA;IACzB,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAChC,WAAW,EAAE,MAAM,CAAA;IACnB,GAAG,EAAE,mBAAmB,CAAA;IACxB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACzB,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC/B,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC7B,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC3B,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC7B,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC/B,gBAAgB,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,CAAA;IAClC,iBAAiB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACjC,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC7B,qBAAqB,CAAC,EAAE,MAAM,CAAA;CAC/B,GAAG,MAAM,CAgMT;AAID,wBAAgB,uBAAuB,CAAC,IAAI,EAAE;IAC5C,YAAY,EAAE,MAAM,CAAA;IACpB,YAAY,EAAE,MAAM,CAAA;IACpB,UAAU,EAAE,MAAM,CAAA;IAClB,UAAU,EAAE,MAAM,CAAA;IAClB,WAAW,EAAE,MAAM,CAAA;IACnB,GAAG,EAAE,mBAAmB,CAAA;CACzB,GAAG,MAAM,CA8CT;AAID,MAAM,WAAW,aAAa;IAC5B,aAAa,EAAE,MAAM,CAAA;IACrB,UAAU,EAAE,MAAM,CAAA;IAClB,aAAa,EAAE,MAAM,CAAA;CACtB;AAED,wBAAgB,gBAAgB,CAAC,aAAa,EAAE,MAAM,EAAE,cAAc,GAAE,aAAa,EAAO,GAAG,MAAM,CA2DpG"}
@@ -247,21 +247,36 @@ export function buildSystemPrompt(env) {
247
247
  4. Only import from packages listed in PROJECT DEPENDENCIES. Do not invent packages that are not listed.
248
248
  5. When a SHARED MOCK FILE is provided, its exported names are listed under "Available exports". Before writing the test, go through that list and identify every mock that relates to what the source file does. Import and use ALL of those mocks. Never re-create inline ${mockApi}.fn() for anything already exported from the mocks file.
249
249
  CRITICAL — never rename or change the casing of existing mock exports.
250
- 6. If you need a mock that is missing from the shared mock file, add it to that file AND import it in the test. Return BOTH files separated by exactly one line containing only: // ---MOCKS_FILE---
251
- CRITICAL if you have NO new mocks to add, OMIT the // ---MOCKS_FILE--- separator entirely. Do NOT write a comment-only or placeholder mock file (e.g. "// No mocks needed"). Either add real code or omit the separator.
252
- CRITICAL — when writing the mocks file, you receive the FULL EXISTING content. You MUST write the complete merged result. Never add a second import statement for a module that is already imported — merge all named imports from the same module into one statement. WRONG: line 2 has \`import { View } from 'react-native'\` and you add line 28 \`import { View, Text } from 'react-native'\`. RIGHT: update line 2 to \`import { View, Text } from 'react-native'\` and omit the duplicate.
253
- 7. If a SHARED MOCK FILE (does not exist yet) section is shown — create it for any mocks you need and return it using the // ---MOCKS_FILE--- separator.
250
+ 6. If you need to add or change mocks in the shared mock file:
251
+ - When the SHARED MOCK FILE already EXISTS: use // ---MOCKS_PATCH--- (surgical patch preferred, avoids rewriting the whole file).
252
+ After the separator, emit only the sections that change using these operations:
253
+ // @@@ REPLACE:
254
+ <exact existing text copied verbatim from the mock file>
255
+ // @@@ WITH:
256
+ <replacement text>
257
+ // @@@ END
258
+ // @@@ APPEND_EXPORT:
259
+ export const mockNewThing = ${mockApi}.fn()
260
+ // @@@ END
261
+ // @@@ ADD_TO_BEFOREEACH:
262
+ mockNewThing.mockReset()
263
+ // @@@ END
264
+ REPLACE anchor must match character-for-character — copy it from the SHARED MOCK FILE shown above.
265
+ If you have NO changes to the mock file, OMIT both separators entirely.
266
+ - When the SHARED MOCK FILE does NOT exist yet: use // ---MOCKS_FILE--- to return the full new file content.
254
267
  CRITICAL — the mocks file must contain ONLY: ${mockApi}.fn() mock definitions, ${mockApi}.mock() module stubs, shared mock objects/constants, and beforeEach reset hooks. NEVER write describe(), it(), test(), or expect() calls in the mocks file.
268
+ 7. If a SHARED MOCK FILE (does not exist yet) section is shown — create it for any mocks you need and return it using the // ---MOCKS_FILE--- separator.
255
269
  8. If a TEST SETUP FILE is shown, assume its globals and matchers are already available. Do NOT import or re-declare them.` : `
256
270
  3. Use the project's import conventions as shown in the source file and existing tests.
257
271
  4. Only import from packages listed in PROJECT DEPENDENCIES. Do not invent packages that are not listed.`;
258
272
  const tsRule = isTS ? buildTsRule(mockApi) : '';
259
273
  const ruleCount = isTS ? 10 : (isJS ? 9 : 6);
260
274
  const jsOutputRules = isJS ? `
261
- ${ruleCount + 2}. Inside <code_output>: output ONLY the test file content (or test file // ---MOCKS_FILE--- mocks file).
262
- If you use // ---MOCKS_FILE---, everything AFTER the separator is the mocks file. The mocks file must contain ONLY:
263
- ${mockApi}.fn() mock definitions, ${mockApi}.mock() module stubs, shared constants, and beforeEach resets.
264
- NEVER put describe(), it(), test(), or expect() calls after the separator.
275
+ ${ruleCount + 2}. Inside <code_output>: output ONLY the test file, optionally followed by mock file changes.
276
+ - To patch an EXISTING mock file: append // ---MOCKS_PATCH--- then the patch ops (REPLACE/APPEND_EXPORT/ADD_TO_BEFOREEACH blocks).
277
+ - To create a NEW mock file: append // ---MOCKS_FILE--- then the full file content.
278
+ - If no mock changes needed: omit both separators.
279
+ NEVER put describe(), it(), test(), or expect() calls after either separator.
265
280
  ${ruleCount + 3}. NEVER output vitest.config.ts, jest.config.js, or any framework configuration. If an import cannot be resolved,
266
281
  fix it by mocking it with ${mockApi}.mock() — NOT by modifying the test runner configuration.` : '';
267
282
  const universalCauses = `- Wrong import paths (use the project's conventions — aliases where configured, relative paths otherwise)
@@ -310,7 +325,7 @@ You MUST wrap your reasoning inside <thinking> tags and your complete file outpu
310
325
  }
311
326
  // ─── Generate prompt ──────────────────────────────────────────────────────────
312
327
  export function buildGeneratePrompt(args) {
313
- const { sourceFile, env, existingTestCode, uncoveredFunctions, uncoveredLines, sourceImportPath, mocksCode, mocksImportPath, setupFileCode, packageDeps, tsconfigPaths, typeDefinitions, localImportPaths, localImportContents, reactMajorVersion, projectMemory, } = args;
328
+ const { sourceFile, env, existingTestCode, uncoveredFunctions, uncoveredLines, sourceImportPath, mocksCode, mocksImportPath, setupFileCode, packageDeps, tsconfigPaths, typeDefinitions, localImportPaths, localImportContents, reactMajorVersion, projectMemory, existingTestLineCount, } = args;
314
329
  const sourceCode = compressSource(args.sourceCode);
315
330
  const mockApi = env.testRunner === 'vitest' ? 'vi' : 'jest';
316
331
  const parts = [];
@@ -343,7 +358,7 @@ export function buildGeneratePrompt(args) {
343
358
  parts.push('```');
344
359
  }
345
360
  if (localImportContents) {
346
- parts.push('\nUSED SYMBOL DEFINITIONS (extracted from files the component imports — only the specific symbols used, with function bodies collapsed to signature + return and class bodies collapsed to method signatures. Use this to find exact hook return shapes, service method names, and type definitions. Cross-check every hook mock against the hook\'s actual return statement here):');
361
+ parts.push('\nUSED SYMBOL DEFINITIONS (extracted from files the component imports — only the specific symbols used, with function bodies collapsed to signature + return and class bodies collapsed to method signatures. Use this to find exact hook return shapes, service method names, and type definitions. Cross-check every hook mock against the hook\'s actual return statement here):\nCRITICAL — when writing mocks for any service class or hook: list ONLY the methods/keys that appear in this section. Do NOT invent method names based on what sounds plausible. A fabricated method name causes "X.method is not a function" or "undefined.then(...)" crashes that break every test in the file.');
347
362
  parts.push('```typescript');
348
363
  parts.push(localImportContents);
349
364
  parts.push('```');
@@ -364,7 +379,7 @@ export function buildGeneratePrompt(args) {
364
379
  parts.push(`\nSHARED MOCK FILE (import from: '${mocksImportPath}')`);
365
380
  if (exports.length > 0) {
366
381
  parts.push(`Available exports: ${exports.join(', ')}`);
367
- parts.push(`↑ Every name above ALREADY EXISTS in the mock file — do NOT re-declare any of them in a ---MOCKS_FILE--- block. Only declare names that do NOT appear in this list.\n↑ Before writing the test, identify which of these match the source file's domain and import every relevant one. Do NOT create inline mocks for anything already in this list.\n↑ NAMES ARE FROZEN — use each export exactly as spelled above. Never rename, recase, or restructure an existing mock (e.g. do not change mockFoo → MockFoo or const → class). Renaming breaks every other test that imports the original name.`);
382
+ parts.push(`↑ Every name above ALREADY EXISTS in the mock file — do NOT re-declare any of them. Only declare names that do NOT appear in this list.\n↑ Before writing the test, identify which of these match the source file's domain and import every relevant one. Do NOT create inline mocks for anything already in this list.\n↑ NAMES ARE FROZEN — use each export exactly as spelled above. Never rename, recase, or restructure an existing mock (e.g. do not change mockFoo → MockFoo or const → class). Renaming breaks every other test that imports the original name.\n↑ CLASS MOCKS (Mock-prefixed exports, e.g. MockWalletService) are the canonical mock for their named service. If the source imports WalletService, import and use MockWalletService — do NOT create an inline mock. If the source calls a method not present on the class, add it to the class via REPLACE (see MOCK EDITING RULES below).`);
368
383
  }
369
384
  const inventory = parseMockInventory(mocksCode);
370
385
  if (inventory.length > 0) {
@@ -375,17 +390,22 @@ export function buildGeneratePrompt(args) {
375
390
  const exp = entry.exports.length > 0 ? entry.exports.join(', ') : '(no simple key exports)';
376
391
  parts.push(` ${path} → ${exp}`);
377
392
  }
378
- parts.push('MOCK EDITING RULES — follow exactly when returning a ---MOCKS_FILE--- block:');
379
- parts.push(`• A module in the inventory is ALREADY mocked. To add a new export: write ONE updated ${mockApi}.mock() block with ALL existing exports PLUS the new one. NEVER write a second ${mockApi}.mock() for the same path — the second block silently wipes every export from the first.`);
380
- parts.push(`• New export const mockFoo = ${mockApi}.fn(): declare it near other exports of the same domain. Add its .mockReset() or .mockClear() to the EXISTING beforeEach — do NOT create an extra beforeEach for one variable.`);
381
- parts.push(`• New module (not in inventory): append a new ${mockApi}.mock() at the END of the file, before the final beforeEach.`);
382
393
  }
394
+ parts.push(`MOCK EDITING RULES — use // ---MOCKS_PATCH--- to make surgical changes (preferred over full rewrite):`);
395
+ parts.push(`• To add a new export (function/const) or a new ${mockApi}.mock() block: use APPEND_EXPORT + ADD_TO_BEFOREEACH for the reset.`);
396
+ parts.push(`• To add a method to an existing class mock (e.g. MockWalletService): use REPLACE — copy the entire class definition verbatim from the file below as the anchor, then emit the same class with the new method(s) added.`);
397
+ parts.push(`• To update an existing ${mockApi}.mock() block or any other section: use REPLACE with the old block as anchor, WITH the updated version.`);
398
+ parts.push(`• Never write a second ${mockApi}.mock() for the same path — the second block silently wipes every export from the first.`);
399
+ parts.push(`• If the source imports a service/hook that has NO mock here yet: add it via APPEND_EXPORT. Never leave it as an inline ${mockApi}.fn() object in the test — put it in this shared file so all tests use the same mock.`);
400
+ // Show the full mock file — the model needs to read exact text to write accurate
401
+ // REPLACE anchors in ---MOCKS_PATCH--- blocks. Truncating would make anchors impossible
402
+ // for anything past the cut-off. filterMockFileForSource already reduces size by keeping
403
+ // only vi.mock() blocks relevant to the source's imports; if nothing matched it returns
404
+ // the full file. Either way, show it all.
383
405
  const relevantMocks = filterMockFileForSource(mocksCode, sourceCode);
384
- if (relevantMocks !== mocksCode || relevantMocks.split('\n').length < 80) {
385
- parts.push('```');
386
- parts.push(relevantMocks);
387
- parts.push('```');
388
- }
406
+ parts.push('```');
407
+ parts.push(relevantMocks);
408
+ parts.push('```');
389
409
  }
390
410
  else {
391
411
  parts.push(`\nSHARED MOCK FILE (does not exist yet) — create it if you need mocks, return it via the // ---MOCKS_FILE--- separator. Path: '${mocksImportPath}'\n⚠ Mocks file must contain ONLY ${mockApi}.fn()/${mockApi}.mock() definitions and beforeEach resets — NEVER describe/it/test/expect blocks.`);
@@ -401,9 +421,23 @@ export function buildGeneratePrompt(args) {
401
421
  parts.push(`\n${buildReactNativeGuidance()}`);
402
422
  else if (detectVue(packageDeps ?? null))
403
423
  parts.push(`\n${buildVueGuidance()}`);
404
- const displaySource = buildSourceSkeleton(sourceCode, uncoveredFunctions);
405
- const skeletonized = shouldUseSkeleton(sourceCode);
406
- parts.push(`\nSOURCE FILE: ${sourceFile}${skeletonized ? ' (large file bodies of already-covered functions collapsed; uncovered functions shown in full)' : ''}`);
424
+ // Skeleton strategy:
425
+ // coverage-driven (uncoveredFunctions non-empty): collapse covered bodies, expand uncovered ones.
426
+ // single-file / all-uncovered (uncoveredFunctions empty):
427
+ // ≤ 600 lines → full source (model needs implementations to write good tests)
428
+ // > 600 lines → skeleton with signatures only + note to rely on USED SYMBOL DEFINITIONS
429
+ const FULL_SOURCE_LINE_LIMIT = 600;
430
+ const sourceLineCount = sourceCode.split('\n').length;
431
+ const skeletonized = uncoveredFunctions.length > 0
432
+ ? shouldUseSkeleton(sourceCode)
433
+ : sourceLineCount > FULL_SOURCE_LINE_LIMIT;
434
+ const displaySource = skeletonized ? buildSourceSkeleton(sourceCode, uncoveredFunctions) : sourceCode;
435
+ const largeFileNote = skeletonized && uncoveredFunctions.length === 0
436
+ ? ` (${sourceLineCount}-line file — function bodies collapsed to signatures. Use the USED SYMBOL DEFINITIONS section and existing tests to infer which functions are already covered and what the implementations do.)`
437
+ : skeletonized
438
+ ? ' (large file — bodies of already-covered functions collapsed; uncovered functions shown in full)'
439
+ : '';
440
+ parts.push(`\nSOURCE FILE: ${sourceFile}${largeFileNote}`);
407
441
  if (sourceImportPath) {
408
442
  parts.push(`SOURCE FILE IMPORT PATH: when importing the source in your test file, use exactly: '${sourceImportPath}'`);
409
443
  }
@@ -425,12 +459,45 @@ export function buildGeneratePrompt(args) {
425
459
  if (uncoveredLines.length > 0) {
426
460
  parts.push(`\nUNCOVERED LINES: ${uncoveredLines.slice(0, 30).join(', ')}${uncoveredLines.length > 30 ? '…' : ''}`);
427
461
  }
428
- parts.push('\nWrite the complete test file now.');
462
+ const patchMode = existingTestLineCount !== undefined && existingTestLineCount > 300;
463
+ if (patchMode) {
464
+ parts.push(`\n⚠ PATCH MODE — this test file already has ${existingTestLineCount} lines. DO NOT rewrite the whole file. Use <code_patch> tags (NOT <code_output>) with these operations:
465
+
466
+ // @@@ ADD_AFTER_DESCRIBE: "exact describe block name"
467
+ it('new test name', async () => {
468
+ // body
469
+ })
470
+ // @@@ END
471
+
472
+ // @@@ ADD_IMPORT:
473
+ import { NewThing } from './path'
474
+ // @@@ END
475
+
476
+ // @@@ ADD_AFTER_IMPORTS:
477
+ vi.mock('./some/module', () => ({ default: vi.fn() }))
478
+ // @@@ END
479
+
480
+ // @@@ REPLACE:
481
+ import { render, screen } from '@testing-library/react-native'
482
+ // @@@ WITH:
483
+ import { render, screen, waitFor } from '@testing-library/react-native'
484
+ // @@@ END
485
+
486
+ Rules:
487
+ - ADD_IMPORT: appends a new import line. Use REPLACE instead when you need to add to an EXISTING import from the same module — never write a second import from the same module.
488
+ - ADD_AFTER_IMPORTS: for vi.mock() / module-level setup that must go AFTER all imports.
489
+ - REPLACE: exact old_string → new_string for any section (imports, beforeEach, helpers). Copy old text verbatim from the CURRENT TEST FILE above — character-for-character including quotes and whitespace. First occurrence only.
490
+ - ADD_AFTER_DESCRIBE anchor must exactly match the describe() name in the file.
491
+ - Do NOT output <code_output> tags in patch mode.`);
492
+ }
493
+ else {
494
+ parts.push('\nWrite the complete test file now.');
495
+ }
429
496
  return parts.join('\n');
430
497
  }
431
498
  // ─── Fix prompt ───────────────────────────────────────────────────────────────
432
499
  export function buildFixPrompt(args) {
433
- const { testFile, testCode, sourceFile, sourceImportPath, errorOutput, env, mocksCode, mocksImportPath, setupFileCode, packageDeps, tsconfigPaths, typeDefinitions, localImportPaths, reactMajorVersion, projectMemory } = args;
500
+ const { testFile, testCode, sourceFile, sourceImportPath, errorOutput, env, mocksCode, mocksImportPath, setupFileCode, packageDeps, tsconfigPaths, typeDefinitions, localImportPaths, reactMajorVersion, projectMemory, existingTestLineCount } = args;
434
501
  const sourceCode = args.sourceCode ? compressSource(args.sourceCode) : null;
435
502
  const mockApi = env.testRunner === 'vitest' ? 'vi' : 'jest';
436
503
  const parts = [];
@@ -477,7 +544,7 @@ export function buildFixPrompt(args) {
477
544
  parts.push(`\nSHARED MOCK FILE (import from: '${mocksImportPath}')`);
478
545
  if (exports.length > 0) {
479
546
  parts.push(`Available exports: ${exports.join(', ')}`);
480
- parts.push(`↑ Every name above ALREADY EXISTS in the mock file — do NOT re-declare any of them in a ---MOCKS_FILE--- block. Only declare names that do NOT appear in this list.\n↑ Import every mock that matches the source file's domain. Do NOT create inline mocks for anything already in this list.`);
547
+ parts.push(`↑ Every name above ALREADY EXISTS in the mock file — do NOT re-declare any of them. Only declare names that do NOT appear in this list.\n↑ Import every mock that matches the source file's domain. Do NOT create inline mocks for anything already in this list.\n↑ CLASS MOCKS (Mock-prefixed exports, e.g. MockWalletService) are the canonical mock for their named service. If the source imports WalletService, import and use MockWalletService — do NOT create an inline mock. If the source calls a method not present on the class, add it to the class via REPLACE (see MOCK EDITING RULES below).`);
481
548
  }
482
549
  const inventory = parseMockInventory(compressed);
483
550
  if (inventory.length > 0) {
@@ -488,11 +555,13 @@ export function buildFixPrompt(args) {
488
555
  const exp = entry.exports.length > 0 ? entry.exports.join(', ') : '(no simple key exports)';
489
556
  parts.push(` Line ${String(entry.lineNumber).padStart(4)}: ${path} → ${exp}`);
490
557
  }
491
- parts.push('MOCK EDITING RULES — follow exactly when returning a ---MOCKS_FILE--- block:');
492
- parts.push(`• A module in the inventory is ALREADY mocked. To add a new export: write ONE updated ${mockApi}.mock() block with ALL existing exports PLUS the new one. NEVER write a second ${mockApi}.mock() for the same path — the second block silently wipes every export from the first.`);
493
- parts.push(`• New export const mockFoo = ${mockApi}.fn(): declare it near other exports of the same domain. Add its .mockReset() or .mockClear() to the EXISTING beforeEach — do NOT create an extra beforeEach for one variable.`);
494
- parts.push(`• New module (not in inventory): append a new ${mockApi}.mock() at the END of the file, before the final beforeEach.`);
495
558
  }
559
+ parts.push(`MOCK EDITING RULES — use // ---MOCKS_PATCH--- to make surgical changes (preferred over full rewrite):`);
560
+ parts.push(`• To add a new export (function/const) or a new ${mockApi}.mock() block: use APPEND_EXPORT + ADD_TO_BEFOREEACH for the reset.`);
561
+ parts.push(`• To add a method to an existing class mock (e.g. MockWalletService): use REPLACE — copy the entire class definition verbatim from the file below as the anchor, then emit the same class with the new method(s) added.`);
562
+ parts.push(`• To update an existing ${mockApi}.mock() block or any other section: use REPLACE with the old block as anchor, WITH the updated version.`);
563
+ parts.push(`• Never write a second ${mockApi}.mock() for the same path — the second block silently wipes every export from the first.`);
564
+ parts.push(`• If the source imports a service/hook that has NO mock here yet: add it via APPEND_EXPORT. Never leave it as an inline ${mockApi}.fn() object in the test — put it in this shared file so all tests use the same mock.`);
496
565
  parts.push('```');
497
566
  parts.push(compressed);
498
567
  parts.push('```');
@@ -563,7 +632,52 @@ export function buildFixPrompt(args) {
563
632
  parts.push('- Async code not awaited');
564
633
  parts.push('- Component/function API changed — check the source file');
565
634
  parts.push('- Unhandled rejection: if the error output says "Unhandled Rejection" or "Vitest caught 1 unhandled error", a mockRejectedValueOnce promise is escaping the test scope. Fix by adding await waitFor(() => expect(errorElement).toBeInTheDocument()) after the triggering action, so the rejection is fully resolved inside the test.');
566
- parts.push('\nReturn your response in the required <thinking> + <code_output> format.');
635
+ const patchMode = existingTestLineCount !== undefined && existingTestLineCount > 300;
636
+ if (patchMode) {
637
+ parts.push(`\n⚠ PATCH MODE — this test file has ${existingTestLineCount} lines. DO NOT rewrite the whole file — the output token limit will cut it off. Instead:
638
+ 1. Identify ONLY the failing/broken tests from the error output above.
639
+ 2. Output a patch inside <code_patch> tags (NOT <code_output>) using this exact format:
640
+
641
+ // @@@ REPLACE_TEST: "exact it/test description string"
642
+ it('exact it/test description string', async () => {
643
+ // fixed body
644
+ })
645
+ // @@@ END
646
+
647
+ // @@@ DELETE_TEST: "exact test name to remove"
648
+ // @@@ END
649
+
650
+ // @@@ ADD_AFTER_DESCRIBE: "exact describe block name"
651
+ it('new test', async () => {
652
+ // body
653
+ })
654
+ // @@@ END
655
+
656
+ // @@@ ADD_IMPORT:
657
+ import { NewThing } from './path'
658
+ // @@@ END
659
+
660
+ // @@@ ADD_AFTER_IMPORTS:
661
+ vi.mock('./some/module', () => ({ default: vi.fn() }))
662
+ // @@@ END
663
+
664
+ // @@@ REPLACE:
665
+ import { render, screen } from '@testing-library/react-native'
666
+ // @@@ WITH:
667
+ import { render, screen, waitFor } from '@testing-library/react-native'
668
+ // @@@ END
669
+
670
+ Rules:
671
+ - REPLACE_TEST / DELETE_TEST / ADD_AFTER_DESCRIBE anchors must exactly match what appears in the test file — copy verbatim, same quotes.
672
+ - REPLACE: use for any section that isn't an entire it/test block — imports, beforeEach, helpers. Copy old text verbatim from the CURRENT TEST FILE. Use instead of ADD_IMPORT when adding to an existing import from the same module.
673
+ - Only include operations for what actually needs to change. Do not restate passing tests.
674
+ - ADD_IMPORT: appends a new import line — only for modules not yet imported at all.
675
+ - ADD_AFTER_IMPORTS: for vi.mock() / module-level setup that must go AFTER all imports.
676
+ - Do NOT output <code_output> tags in patch mode. Use <code_patch> only.`);
677
+ }
678
+ else {
679
+ parts.push('\nReturn your response in the required <thinking> + <code_output> format.');
680
+ }
567
681
  return parts.join('\n');
568
682
  }
569
683
  // ─── Pollution fix prompt ─────────────────────────────────────────────────────