lacuna-cli 0.1.2 → 0.1.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/README.md +13 -4
- package/dist/agent/fix-loop.d.ts.map +1 -1
- package/dist/agent/fix-loop.js +24 -6
- package/dist/agent/fix-loop.js.map +1 -1
- package/dist/agent/loop.d.ts.map +1 -1
- package/dist/agent/loop.js +25 -6
- package/dist/agent/loop.js.map +1 -1
- package/dist/agent/prompts.d.ts.map +1 -1
- package/dist/agent/prompts.js +153 -11
- package/dist/agent/prompts.js.map +1 -1
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +300 -80
- package/dist/commands/init.js.map +1 -1
- package/dist/lib/validate.d.ts +9 -0
- package/dist/lib/validate.d.ts.map +1 -1
- package/dist/lib/validate.js +151 -0
- package/dist/lib/validate.js.map +1 -1
- package/oclif.manifest.json +1 -1
- package/package.json +4 -2
package/README.md
CHANGED
|
@@ -49,8 +49,11 @@ npm install -g lacuna-cli
|
|
|
49
49
|
## Quick start
|
|
50
50
|
|
|
51
51
|
```bash
|
|
52
|
+
lacuna --version # or -V
|
|
53
|
+
lacuna --help # or -h
|
|
54
|
+
|
|
52
55
|
cd your-project
|
|
53
|
-
lacuna init # interactive setup wizard
|
|
56
|
+
lacuna init # interactive setup wizard — installs test runner if missing
|
|
54
57
|
lacuna analyze # see what's uncovered (read-only)
|
|
55
58
|
lacuna generate # AI fills the gaps
|
|
56
59
|
```
|
|
@@ -60,8 +63,14 @@ lacuna generate # AI fills the gaps
|
|
|
60
63
|
## Commands
|
|
61
64
|
|
|
62
65
|
### `lacuna init`
|
|
63
|
-
Interactive setup wizard. Configures your model, test runner, coverage threshold, and mock file.
|
|
64
|
-
|
|
66
|
+
Interactive setup wizard. Configures your model, test runner, source directory, coverage threshold, and mock file. Creates `.lacuna.json` in your project root.
|
|
67
|
+
|
|
68
|
+
Works from any subdirectory — lacuna finds the project root automatically.
|
|
69
|
+
|
|
70
|
+
For **React and Next.js** projects, `lacuna init` also:
|
|
71
|
+
- Installs `@testing-library/react`, `@testing-library/jest-dom`, `@testing-library/user-event`, and `jsdom`
|
|
72
|
+
- Creates `vitest.config.ts` with the correct `environment: 'jsdom'` and `@/` alias (read from your `tsconfig.json`)
|
|
73
|
+
- Creates a setup file pre-loaded with global `vi.mock()` calls for `next/navigation`, `next/headers`, and `next/cache` so individual tests don't need to mock them
|
|
65
74
|
|
|
66
75
|
```bash
|
|
67
76
|
lacuna init
|
|
@@ -157,7 +166,7 @@ Created by `lacuna init`. All fields are optional with sensible defaults.
|
|
|
157
166
|
| `testRunner` | auto-detect | `jest` \| `vitest` \| `pytest` \| `mocha` \| `go-test` |
|
|
158
167
|
| `coverageFormat` | `lcov` | `lcov` \| `json-summary` |
|
|
159
168
|
| `coverageDir` | `coverage` | Where your test runner writes coverage |
|
|
160
|
-
| `sourceDir` | `src` | Root directory of source files |
|
|
169
|
+
| `sourceDir` | `src` | Root directory of source files — set during `lacuna init` |
|
|
161
170
|
| `threshold` | `80` | Minimum line coverage % to pass |
|
|
162
171
|
| `maxIterations` | `3` | How many times to retry a failing generated test |
|
|
163
172
|
| `coverageTimeout` | `300` | Seconds before the test suite is killed (prevents hanging on open handles) |
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fix-loop.d.ts","sourceRoot":"","sources":["../../src/agent/fix-loop.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAA;AACpD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAA;AAe7D,MAAM,WAAW,UAAU;IACzB,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;AAoCD,MAAM,WAAW,SAAS;IACxB,cAAc,EAAE,MAAM,CAAA;IACtB,UAAU,EAAE,MAAM,CAAA;IAClB,MAAM,EAAE,MAAM,EAAE,CAAA;CACjB;
|
|
1
|
+
{"version":3,"file":"fix-loop.d.ts","sourceRoot":"","sources":["../../src/agent/fix-loop.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAA;AACpD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAA;AAe7D,MAAM,WAAW,UAAU;IACzB,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;AAoCD,MAAM,WAAW,SAAS;IACxB,cAAc,EAAE,MAAM,CAAA;IACtB,UAAU,EAAE,MAAM,CAAA;IAClB,MAAM,EAAE,MAAM,EAAE,CAAA;CACjB;AA6UD,wBAAsB,UAAU,CAAC,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,SAAS,CAAC,CAgIxE"}
|
package/dist/agent/fix-loop.js
CHANGED
|
@@ -11,7 +11,7 @@ import { TestGenerator, TruncatedOutputError, OscillationError, TRUNCATION_RETRY
|
|
|
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 } from '../lib/validate.js';
|
|
14
|
+
import { hasTestFunctions, enrichNoTestsError, isZeroTestsOutput, parsePassCount, buildStructureBrokenMessage, buildRegressionMessage, sanitizeMocksContent, stripLeadingProse, mergeMocksContent } from '../lib/validate.js';
|
|
15
15
|
import { extractTestFailure } from '../lib/extract-error.js';
|
|
16
16
|
import { StreamingFileViewer } from '../lib/streaming-viewer.js';
|
|
17
17
|
// ─── Failing-files cache ──────────────────────────────────────────────────────
|
|
@@ -223,6 +223,13 @@ async function fixFile(testFilePath, options, generator, onStatus, projectMemory
|
|
|
223
223
|
onStatus?.({ phase: 'passed', file: shortPath });
|
|
224
224
|
return { success: true };
|
|
225
225
|
}
|
|
226
|
+
// Strip thinking/prose that leaked before the first real code line.
|
|
227
|
+
const { code: cleanFixed, stripped: bleedText } = stripLeadingProse(fixed);
|
|
228
|
+
if (bleedText !== null) {
|
|
229
|
+
if (!onStatus)
|
|
230
|
+
log(chalk.yellow(` ⚠ Thinking bleed detected — stripped: "${bleedText.slice(0, 80)}…"`));
|
|
231
|
+
fixed = cleanFixed;
|
|
232
|
+
}
|
|
226
233
|
// Split out mocks file if AI returned one
|
|
227
234
|
const MOCKS_SEPARATOR = '// ---MOCKS_FILE---';
|
|
228
235
|
let testFileContent = fixed;
|
|
@@ -230,11 +237,22 @@ async function fixFile(testFilePath, options, generator, onStatus, projectMemory
|
|
|
230
237
|
const [newTestCode, newMocksCode] = fixed.split(MOCKS_SEPARATOR);
|
|
231
238
|
testFileContent = newTestCode.trim();
|
|
232
239
|
if (newMocksCode?.trim()) {
|
|
233
|
-
const
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
if (
|
|
237
|
-
|
|
240
|
+
const { code: safeMocks, stripped } = sanitizeMocksContent(newMocksCode.trim());
|
|
241
|
+
if (stripped && !onStatus)
|
|
242
|
+
log(chalk.yellow(` ⚠ Mocks file contained test blocks — stripped before writing`));
|
|
243
|
+
if (safeMocks) {
|
|
244
|
+
const absoluteMocksFile = join(cwd, config.mocksFile);
|
|
245
|
+
await mkdir(dirname(absoluteMocksFile), { recursive: true });
|
|
246
|
+
let existing = '';
|
|
247
|
+
try {
|
|
248
|
+
existing = await readFile(absoluteMocksFile, 'utf-8');
|
|
249
|
+
}
|
|
250
|
+
catch { /* new file */ }
|
|
251
|
+
const merged = existing ? mergeMocksContent(existing, safeMocks) : safeMocks;
|
|
252
|
+
await writeFile(absoluteMocksFile, merged, 'utf-8');
|
|
253
|
+
if (!onStatus)
|
|
254
|
+
log(chalk.dim(` Updated mocks file: ${config.mocksFile}`));
|
|
255
|
+
}
|
|
238
256
|
}
|
|
239
257
|
}
|
|
240
258
|
// Catch empty test files before writing
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fix-loop.js","sourceRoot":"","sources":["../../src/agent/fix-loop.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"fix-loop.js","sourceRoot":"","sources":["../../src/agent/fix-loop.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAChE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,MAAM,CAAA;AACvD,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,aAAa,CAAA;AAC1C,OAAO,KAAK,MAAM,OAAO,CAAA;AAGzB,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAC7C,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAA;AACjE,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAA;AAExD,OAAO,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,uBAAuB,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAA;AACnJ,OAAO,EAAE,aAAa,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,wBAAwB,EAAE,MAAM,gBAAgB,CAAA;AAChH,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AACnD,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAC3E,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AACnD,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,cAAc,EAAE,2BAA2B,EAAE,sBAAsB,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAA;AAC7N,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAA;AAC5D,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAA;AAchE,iFAAiF;AAEjF,MAAM,eAAe,GAAG,IAAI,CAAA,CAAC,aAAa;AAE1C,SAAS,YAAY,CAAC,GAAW;IAC/B,OAAO,IAAI,CAAC,GAAG,EAAE,wBAAwB,CAAC,CAAA;AAC5C,CAAC;AAED,KAAK,UAAU,YAAY,CAAC,GAAW;IACrC,IAAI,CAAC;QACH,MAAM,SAAS,GAAG,YAAY,CAAC,GAAG,CAAC,CAAA;QACnC,MAAM,CAAC,GAAG,EAAE,QAAQ,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAA;QAC1F,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAwB,CAAA;QACxD,MAAM,UAAU,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,IAAI,CAAA;QACzD,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,CAAA;IAC9B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAA;IACb,CAAC;AACH,CAAC;AAED,KAAK,UAAU,YAAY,CAAC,GAAW,EAAE,KAAe;IACtD,IAAI,CAAC;QACH,MAAM,SAAS,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,CAAC,CAAA;IACxE,CAAC;IAAC,MAAM,CAAC;QACP,mCAAmC;IACrC,CAAC;AACH,CAAC;AAED,KAAK,UAAU,aAAa,CAAC,GAAW;IACtC,IAAI,CAAC;QACH,MAAM,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAA;IACjC,CAAC;IAAC,MAAM,CAAC,CAAC,yBAAyB,CAAC,CAAC;AACvC,CAAC;AAQD,iFAAiF;AAEjF,MAAM,YAAY,GAAG,mDAAmD,CAAA;AAExE,SAAS,qBAAqB,CAAC,MAAc,EAAE,MAAc;IAC3D,MAAM,KAAK,GAAG,IAAI,GAAG,EAAU,CAAA;IAC/B,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;IAEhC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,iBAAiB,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAA;QAExD,gGAAgG;QAChG,IAAI,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YAChD,MAAM,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,iBAAiB,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;YAC1E,IAAI,CAAC,EAAE,CAAC;gBAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBAAC,SAAQ;YAAC,CAAC;QACtC,CAAC;QAED,wEAAwE;QACxE,IAAI,MAAM,KAAK,MAAM,IAAI,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACrE,MAAM,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,aAAa,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;YACtE,IAAI,CAAC,EAAE,CAAC;gBAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBAAC,SAAQ;YAAC,CAAC;QACtC,CAAC;IACH,CAAC;IAED,mFAAmF;IACnF,sFAAsF;IACtF,4FAA4F;IAC5F,IAAI,KAAK,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;QACrB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,iBAAiB,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAA;YACxD,wEAAwE;YACxE,MAAM,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,QAAQ,YAAY,CAAC,MAAM,QAAQ,CAAC,CAAC,CAAA;YACtE,IAAI,CAAC;gBAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;QACxB,CAAC;IACH,CAAC;IAED,OAAO,CAAC,GAAG,KAAK,CAAC,CAAA;AACnB,CAAC;AAED,gFAAgF;AAEhF,KAAK,UAAU,cAAc,CAAC,YAAoB,EAAE,GAAW;IAC7D,MAAM,GAAG,GAAG,OAAO,CAAC,YAAY,CAAC,CAAA;IACjC,MAAM,IAAI,GAAG,QAAQ,CAAC,YAAY,EAAE,GAAG,CAAC,CAAA;IACxC,MAAM,GAAG,GAAG,OAAO,CAAC,YAAY,CAAC,CAAA;IAEjC,gEAAgE;IAChE,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,gBAAgB,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAA;IACjG,+CAA+C;IAC/C,MAAM,SAAS,GAAG,QAAQ,CAAC,GAAG,CAAC,KAAK,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAA;IAEpE,MAAM,IAAI,GAAG,CAAC,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,CAAA;IAChD,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;QACrB,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,SAAS,EAAE,GAAG,UAAU,GAAG,CAAC,EAAE,CAAC,CAAA;QAC3D,IAAI,CAAC;YAAC,MAAM,MAAM,CAAC,SAAS,CAAC,CAAC;YAAC,OAAO,SAAS,CAAA;QAAC,CAAC;QAAC,MAAM,CAAC,CAAC,cAAc,CAAC,CAAC;IAC5E,CAAC;IACD,OAAO,IAAI,CAAA;AACb,CAAC;AAED,iFAAiF;AAEjF,KAAK,UAAU,OAAO,CACpB,YAAoB,EACpB,OAAmB,EACnB,SAAwB,EACxB,QAAuC,EACvC,aAA6B;IAE7B,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG,OAAO,CAAA;IAC1D,MAAM,SAAS,GAAG,YAAY,CAAC,OAAO,CAAC,GAAG,GAAG,GAAG,EAAE,EAAE,CAAC,CAAA;IACrD,MAAM,WAAW,GAAG,YAAY,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,YAAY,CAAC,CAAA;IAEzF,IAAI,CAAC,QAAQ;QAAE,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,eAAe,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAA;IACtE,QAAQ,EAAE,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAA;IAEjD,sDAAsD;IACtD,MAAM,QAAQ,GAAG,MAAM,UAAU,CAAC,eAAe,CAAC,GAAG,EAAE,WAAW,CAAC,EAAE,GAAG,EAAE,MAAM,CAAC,CAAA;IACjF,IAAI,QAAQ,CAAC,OAAO,EAAE,CAAC;QACrB,IAAI,CAAC,QAAQ;YAAE,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAC,CAAA;QAChE,QAAQ,EAAE,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAA;QAChD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAA;IAC1B,CAAC;IAED,IAAI,WAAW,GAAG,kBAAkB,CAAC,QAAQ,CAAC,MAAM,GAAG,IAAI,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAA;IAC9E,MAAM,kBAAkB,GAAG,WAAW,CAAA;IACtC,MAAM,iBAAiB,GAAG,cAAc,CAAC,QAAQ,CAAC,MAAM,GAAG,IAAI,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAA;IAElF,0BAA0B;IAC1B,IAAI,QAAgB,CAAA;IACpB,IAAI,CAAC;QACH,QAAQ,GAAG,MAAM,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC,CAAA;IACjD,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,GAAG,GAAG,6BAA6B,SAAS,EAAE,CAAA;QACpD,IAAI,CAAC,QAAQ;YAAE,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,GAAG,EAAE,CAAC,CAAC,CAAA;QACzC,QAAQ,EAAE,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAA;QAChD,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,CAAA;IACvC,CAAC;IAED,6CAA6C;IAC7C,MAAM,cAAc,GAAG,MAAM,cAAc,CAAC,YAAY,EAAE,GAAG,CAAC,CAAA;IAC9D,IAAI,UAAU,GAAkB,IAAI,CAAA;IACpC,IAAI,cAAc,EAAE,CAAC;QACnB,UAAU,GAAG,MAAM,QAAQ,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAA;IACxE,CAAC;IAED,MAAM,gBAAgB,GAAG,cAAc,CAAC,CAAC,CAAC,qBAAqB,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;IAEnG,8EAA8E;IAC9E,MAAM,CAAC,eAAe,EAAE,gBAAgB,EAAE,iBAAiB,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QAC/E,UAAU,IAAI,cAAc;YAC1B,CAAC,CAAC,sBAAsB,CAAC,UAAU,EAAE,cAAc,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC;YAC3E,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC;QACzB,UAAU,IAAI,cAAc;YAC1B,CAAC,CAAC,uBAAuB,CAAC,UAAU,EAAE,cAAc,EAAE,WAAW,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC;YACzF,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC;QACzB,uBAAuB,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC;KAC/C,CAAC,CAAA;IAEF,kEAAkE;IAClE,MAAM,GAAG,GAAG,MAAM,mBAAmB,CAAC,WAAW,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAA;IAEjF,IAAI,CAAC,QAAQ;QAAE,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,gBAAgB,MAAM,CAAC,KAAK,gBAAgB,CAAC,CAAC,CAAA;IAC3E,QAAQ,EAAE,CAAC,EAAE,KAAK,EAAE,YAAY,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAA;IAEpD,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,IAAI,MAAM,CAAC,aAAa,EAAE,OAAO,EAAE,EAAE,CAAC;QACjE,IAAI,OAAO,GAAG,CAAC,EAAE,CAAC;YAChB,IAAI,CAAC,QAAQ;gBAAE,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,aAAa,OAAO,IAAI,MAAM,CAAC,aAAa,KAAK,CAAC,CAAC,CAAA;YACnF,QAAQ,EAAE,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,CAAC,aAAa,EAAE,CAAC,CAAA;QACxF,CAAC;QAED,IAAI,MAAuC,CAAA;QAC3C,IAAI,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC;YACzB,MAAM,GAAG,IAAI,mBAAmB,CAAC,SAAS,CAAC,CAAA;YAC3C,SAAS,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,CAAC,MAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAA;YAClD,MAAM,CAAC,KAAK,EAAE,CAAA;QAChB,CAAC;QAED,IAAI,KAAa,CAAA;QACjB,IAAI,CAAC;YACH,KAAK,GAAG,OAAO,KAAK,CAAC;gBACnB,CAAC,CAAC,MAAM,SAAS,CAAC,GAAG,CAAC;oBAClB,QAAQ,EAAE,SAAS;oBACnB,QAAQ;oBACR,UAAU,EAAE,cAAc,EAAE,OAAO,CAAC,GAAG,GAAG,GAAG,EAAE,EAAE,CAAC,IAAI,IAAI;oBAC1D,UAAU;oBACV,gBAAgB;oBAChB,WAAW;oBACX,SAAS,EAAE,GAAG,EAAE,SAAS,IAAI,IAAI;oBACjC,eAAe,EAAE,GAAG,EAAE,eAAe,IAAI,IAAI;oBAC7C,aAAa,EAAE,GAAG,EAAE,aAAa,IAAI,IAAI;oBACzC,WAAW,EAAE,GAAG,EAAE,WAAW,IAAI,IAAI;oBACrC,aAAa,EAAE,GAAG,EAAE,aAAa,IAAI,IAAI;oBACzC,eAAe;oBACf,gBAAgB;oBAChB,iBAAiB;oBACjB,aAAa;iBACd,CAAC;gBACJ,CAAC,CAAC,MAAM,SAAS,CAAC,KAAK,CAAC,WAAW,CAAC,CAAA;QACxC,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,EAAE,IAAI,EAAE,CAAA;YACd,SAAS,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAA;YACrC,IAAI,GAAG,YAAY,oBAAoB,EAAE,CAAC;gBACxC,WAAW,GAAG,wBAAwB,CAAA;gBACtC,IAAI,CAAC,QAAQ;oBAAE,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,gEAAgE,CAAC,CAAC,CAAA;gBAClG,QAAQ,EAAE,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,CAAC,aAAa,EAAE,CAAC,CAAA;gBACtF,SAAQ;YACV,CAAC;YACD,IAAI,GAAG,YAAY,gBAAgB,EAAE,CAAC;gBACpC,IAAI,CAAC,QAAQ;oBAAE,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,qFAAqF,CAAC,CAAC,CAAA;gBACpH,QAAQ,EAAE,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAA;gBAChD,MAAM,SAAS,CAAC,WAAW,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAA;gBAC/D,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,CAAC,OAAO,EAAE,CAAA;YAC/C,CAAC;YACD,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;YAC5D,IAAI,CAAC,QAAQ;gBAAE,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,kBAAkB,GAAG,EAAE,CAAC,CAAC,CAAA;YACtD,QAAQ,EAAE,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAA;YAChD,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,CAAA;QACvC,CAAC;QAED,MAAM,EAAE,IAAI,EAAE,CAAA;QACd,SAAS,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAA;QAErC,IAAI,MAAM,EAAE,CAAC;YACX,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,4BAA4B,CAAC,CAAC,CAAA;gBAC/C,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;YAClF,CAAC;YACD,QAAQ,EAAE,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAA;YAChD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAA;QAC1B,CAAC;QAED,oEAAoE;QACpE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAA;QAC1E,IAAI,SAAS,KAAK,IAAI,EAAE,CAAC;YACvB,IAAI,CAAC,QAAQ;gBAAE,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,4CAA4C,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,CAAA;YACxG,KAAK,GAAG,UAAU,CAAA;QACpB,CAAC;QAED,0CAA0C;QAC1C,MAAM,eAAe,GAAG,qBAAqB,CAAA;QAC7C,IAAI,eAAe,GAAG,KAAK,CAAA;QAC3B,IAAI,KAAK,CAAC,QAAQ,CAAC,eAAe,CAAC,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;YACxD,MAAM,CAAC,WAAW,EAAE,YAAY,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,eAAe,CAAC,CAAA;YAChE,eAAe,GAAG,WAAW,CAAC,IAAI,EAAE,CAAA;YACpC,IAAI,YAAY,EAAE,IAAI,EAAE,EAAE,CAAC;gBACzB,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,oBAAoB,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC,CAAA;gBAC/E,IAAI,QAAQ,IAAI,CAAC,QAAQ;oBAAE,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,gEAAgE,CAAC,CAAC,CAAA;gBAC9G,IAAI,SAAS,EAAE,CAAC;oBACd,MAAM,iBAAiB,GAAG,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,SAAS,CAAC,CAAA;oBACrD,MAAM,KAAK,CAAC,OAAO,CAAC,iBAAiB,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;oBAC5D,IAAI,QAAQ,GAAG,EAAE,CAAA;oBACjB,IAAI,CAAC;wBAAC,QAAQ,GAAG,MAAM,QAAQ,CAAC,iBAAiB,EAAE,OAAO,CAAC,CAAA;oBAAC,CAAC;oBAAC,MAAM,CAAC,CAAC,cAAc,CAAC,CAAC;oBACtF,MAAM,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC,iBAAiB,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;oBAC5E,MAAM,SAAS,CAAC,iBAAiB,EAAE,MAAM,EAAE,OAAO,CAAC,CAAA;oBACnD,IAAI,CAAC,QAAQ;wBAAE,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,yBAAyB,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC,CAAA;gBAC5E,CAAC;YACH,CAAC;QACH,CAAC;QAED,wCAAwC;QACxC,IAAI,CAAC,gBAAgB,CAAC,eAAe,CAAC,EAAE,CAAC;YACvC,WAAW;gBACT,sFAAsF;oBACtF,gFAAgF;oBAChF,mGAAmG;oBACnG,+CAA+C,CAAA;YACjD,IAAI,CAAC,QAAQ;gBAAE,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,6CAA6C,CAAC,CAAC,CAAA;YAC/E,QAAQ,EAAE,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,CAAC,aAAa,EAAE,CAAC,CAAA;YACtF,SAAQ;QACV,CAAC;QAED,QAAQ,EAAE,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAA;QACjD,MAAM,SAAS,CAAC,WAAW,EAAE,eAAe,EAAE,OAAO,CAAC,CAAA;QAEtD,IAAI,CAAC,QAAQ;YAAE,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC,CAAA;QAC5D,QAAQ,EAAE,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAA;QAEjD,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,eAAe,CAAC,GAAG,EAAE,WAAW,CAAC,EAAE,GAAG,EAAE,MAAM,CAAC,CAAA;QAE/E,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YACnB,MAAM,UAAU,GAAG,MAAM,aAAa,CAAC,WAAW,EAAE,GAAG,EAAE,GAAG,CAAC,CAAA;YAC7D,IAAI,UAAU,EAAE,CAAC;gBACf,WAAW,GAAG,wDAAwD,UAAU,+DAA+D,CAAA;gBAC/I,IAAI,CAAC,QAAQ;oBAAE,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,mCAAmC,CAAC,CAAC,CAAA;gBACrE,QAAQ,EAAE,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,CAAC,aAAa,EAAE,CAAC,CAAA;gBACtF,SAAQ;YACV,CAAC;YACD,IAAI,CAAC,QAAQ;gBAAE,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAA;YAC3C,QAAQ,EAAE,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAA;YAChD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAA;QAC1B,CAAC;QAED,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,GAAG,IAAI,GAAG,MAAM,CAAC,MAAM,CAAA;QACzD,MAAM,SAAS,GAAG,kBAAkB,CAAC,kBAAkB,CAAC,YAAY,CAAC,CAAC,CAAA;QACtE,MAAM,eAAe,GAAG,iBAAiB,CAAC,YAAY,CAAC,CAAA;QACvD,MAAM,gBAAgB,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,YAAY,CAAC,CAAA;QAE3E,IAAI,eAAe,EAAE,CAAC;YACpB,WAAW,GAAG,2BAA2B,CAAC,kBAAkB,EAAE,SAAS,CAAC,CAAA;YACxE,IAAI,CAAC,QAAQ;gBAAE,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,2DAA2D,OAAO,IAAI,MAAM,CAAC,aAAa,GAAG,CAAC,CAAC,CAAA;QAC9H,CAAC;aAAM,IAAI,gBAAgB,GAAG,iBAAiB,EAAE,CAAC;YAChD,WAAW,GAAG,sBAAsB,CAAC,kBAAkB,EAAE,SAAS,EAAE,iBAAiB,EAAE,gBAAgB,CAAC,CAAA;YACxG,IAAI,CAAC,QAAQ;gBAAE,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,4BAA4B,iBAAiB,MAAM,gBAAgB,qBAAqB,OAAO,IAAI,MAAM,CAAC,aAAa,GAAG,CAAC,CAAC,CAAA;QAC3J,CAAC;aAAM,CAAC;YACN,WAAW,GAAG,SAAS,CAAA;YACvB,IAAI,CAAC,QAAQ;gBAAE,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,4BAA4B,OAAO,IAAI,MAAM,CAAC,aAAa,GAAG,CAAC,CAAC,CAAA;QAC/F,CAAC;QACD,IAAI,CAAC,QAAQ,IAAI,OAAO;YAAE,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IAC3F,CAAC;IAED,kEAAkE;IAClE,MAAM,SAAS,CAAC,WAAW,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAA;IAC/D,QAAQ,EAAE,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAA;IAChD,OAAO;QACL,OAAO,EAAE,KAAK;QACd,KAAK,EAAE,uBAAuB,MAAM,CAAC,aAAa,2BAA2B,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE;KAC1G,CAAA;AACH,CAAC;AAED,iFAAiF;AAEjF,KAAK,UAAU,aAAa,CAC1B,SAAmB,EACnB,OAAmB,EACnB,WAAmB,EACnB,aAA4B;IAE5B,MAAM,KAAK,GAAG,CAAC,GAAG,SAAS,CAAC,CAAA;IAC5B,IAAI,cAAc,GAAG,CAAC,CAAA;IACtB,IAAI,UAAU,GAAG,CAAC,CAAA;IAClB,MAAM,MAAM,GAAa,EAAE,CAAA;IAC3B,MAAM,iBAAiB,GAAa,EAAE,CAAA;IAEtC,MAAM,IAAI,GAAG,aAAa,CAAC;QACzB,OAAO,EAAE,WAAW;QACpB,UAAU,EAAE,OAAO,CAAC,UAAU;QAC9B,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,KAAK;QAC3B,SAAS,EAAE,OAAO,CAAC,MAAM,CAAC,SAAS;QACnC,SAAS,EAAE,OAAO,CAAC,MAAM,CAAC,SAAS;QACnC,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM;QAC7B,OAAO,EAAE,KAAK;KACf,CAAC,CAAA;IACF,MAAM,OAAO,GAAG,IAAI,aAAa,CAAC,WAAW,EAAE,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,CAAA;IAC/E,OAAO,CAAC,KAAK,EAAE,CAAA;IAEf,MAAM,OAAO,CAAC,GAAG,CACf,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE;QAClD,MAAM,SAAS,GAAG,IAAI,aAAa,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,CAAA;QACjF,OAAO,IAAI,EAAE,CAAC;YACZ,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,EAAE,CAAA;YAC1B,IAAI,CAAC,IAAI;gBAAE,MAAK;YAChB,MAAM,QAAQ,GAAG,CAAC,KAAkB,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,CAAA;YAClE,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,IAAI,EAAE,EAAE,GAAG,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,GAAE,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAA;YACrH,cAAc,EAAE,CAAA;YAChB,IAAI,MAAM,CAAC,OAAO;gBAAE,UAAU,EAAE,CAAA;iBAC3B,CAAC;gBACJ,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;gBAC5B,IAAI,MAAM,CAAC,KAAK;oBAAE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;YAC7C,CAAC;QACH,CAAC;IACH,CAAC,CAAC,CACH,CAAA;IAED,OAAO,CAAC,MAAM,EAAE,CAAA;IAChB,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,EAAE,iBAAiB,EAAE,CAAA;AAClE,CAAC;AAED,iFAAiF;AAEjF,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,OAAmB;IAClD,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,OAAO,CAAA;IACzC,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,CAAA;IACnE,MAAM,QAAQ,GAAG,WAAW,GAAG,CAAC,CAAA;IAEhC,IAAI,YAAsB,CAAA;IAE1B,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;QACvB,4EAA4E;QAC5E,MAAM,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,UAAU,CAAC,GAAG,CAAC;YAClD,CAAC,CAAC,OAAO,CAAC,UAAU;YACpB,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,OAAO,CAAC,UAAU,CAAC,CAAA;QACjC,MAAM,OAAO,GAAG,oBAAoB,CAAC,KAAK,CAAC,GAAG,CAAC,cAAc,OAAO,CAAC,UAAU,KAAK,CAAC,EAAE,GAAG,CAAC,UAAU,CAAC,CAAA;QACtG,MAAM,UAAU,GAAG,MAAM,UAAU,CAAC,eAAe,CAAC,GAAG,EAAE,SAAS,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,CAAA;QACjG,OAAO,CAAC,IAAI,EAAE,CAAA;QAEd,IAAI,UAAU,CAAC,OAAO,EAAE,CAAC;YACvB,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,6CAA6C,CAAC,CAAC,CAAA;YAC/D,OAAO,EAAE,cAAc,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAA;QACzD,CAAC;QAED,YAAY,GAAG,CAAC,SAAS,CAAC,CAAA;IAC5B,CAAC;SAAM,CAAC;QACN,wDAAwD;QACxD,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,YAAY,CAAC,GAAG,CAAC,CAAA;QAC5D,MAAM,SAAS,GAAG,KAAK,KAAK,IAAI,IAAI,KAAK,CAAC,UAAU,GAAG,eAAe,CAAA;QAEtE,IAAI,SAAS,EAAE,CAAC;YACd,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,6BAA6B,IAAI,CAAC,KAAK,CAAC,KAAM,CAAC,UAAU,CAAC,UAAU,KAAM,CAAC,KAAK,CAAC,MAAM,kEAAkE,CAAC,CAAC,CAAA;YACzK,YAAY,GAAG,KAAM,CAAC,KAAK,CAAA;QAC7B,CAAC;aAAM,CAAC;YACN,MAAM,OAAO,GAAG,oBAAoB,CAAC,KAAK,CAAC,GAAG,CAAC,0CAA0C,CAAC,EAAE,GAAG,CAAC,UAAU,CAAC,CAAA;YAC3G,MAAM,WAAW,GAAG,MAAM,UAAU,CAAC,GAAG,CAAC,WAAW,EAAE,GAAG,EAAE,MAAM,CAAC,eAAe,GAAG,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,CAAA;YACzG,OAAO,CAAC,IAAI,EAAE,CAAA;YAEd,IAAI,WAAW,CAAC,QAAQ,EAAE,CAAC;gBACzB,MAAM,IAAI,KAAK,CACb,8BAA8B,MAAM,CAAC,eAAe,MAAM;oBAC1D,qDAAqD,MAAM,CAAC,eAAe,GAAG,CAAC,IAAI,CACpF,CAAA;YACH,CAAC;YAED,IAAI,WAAW,CAAC,OAAO,EAAE,CAAC;gBACxB,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,6CAA6C,CAAC,CAAC,CAAA;gBAC/D,OAAO,EAAE,cAAc,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAA;YACzD,CAAC;YAED,YAAY,GAAG,qBAAqB,CAAC,WAAW,CAAC,MAAM,GAAG,WAAW,CAAC,MAAM,EAAE,GAAG,CAAC,UAAU,CAAC,CAAA;YAC7F,YAAY,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE;gBACvC,MAAM,GAAG,GAAG,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAA;gBAChD,OAAO,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAA;YAC7D,CAAC,CAAC,CAAA;YAEF,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC9B,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,gEAAgE,CAAC,CAAC,CAAA;gBACnF,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,iBAAiB,GAAG,CAAC,WAAW,kCAAkC,CAAC,CAAC,CAAA;gBAClF,MAAM,SAAS,GAAG,CAAC,WAAW,CAAC,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC;qBACxD,KAAK,CAAC,IAAI,CAAC;qBACX,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;qBACvB,KAAK,CAAC,CAAC,EAAE,CAAC;qBACV,IAAI,CAAC,IAAI,CAAC,CAAA;gBACb,IAAI,SAAS;oBAAE,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,0BAA0B,GAAG,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;gBACnH,OAAO,EAAE,cAAc,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAA;YACzD,CAAC;YAED,MAAM,YAAY,CAAC,GAAG,EAAE,YAAY,CAAC,CAAA;QACvC,CAAC;IACH,CAAC;IAED,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,YAAY,CAAC,MAAM,wBAAwB,CAAC,CAAC,CAAA;IACzE,IAAI,QAAQ,EAAE,CAAC;QACb,IAAI,OAAO,CAAC,OAAO;YAAE,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,0FAA0F,CAAC,CAAC,CAAA;QAC/H,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,gBAAgB,WAAW,IAAI,CAAC,CAAC,CAAA;IACjD,CAAC;IAED,MAAM,MAAM,GAAG,IAAI,aAAa,EAAE,CAAA;IAClC,MAAM,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,EAAE,MAAM,CAAC,CAAA;IACzC,MAAM,cAAc,GAAG,MAAM,CAAC,eAAe,EAAE,CAAA;IAE/C,IAAI,cAAsB,CAAA;IAC1B,IAAI,UAAkB,CAAA;IACtB,IAAI,MAAgB,CAAA;IACpB,IAAI,iBAA2B,CAAA;IAE/B,IAAI,QAAQ,EAAE,CAAC;QACb,CAAC;QAAA,CAAC,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,EAAE,iBAAiB,EAAE,GAAG,MAAM,aAAa,CAAC,YAAY,EAAE,OAAO,EAAE,WAAW,EAAE,cAAc,CAAC,CAAC,CAAA;IACxI,CAAC;SAAM,CAAC;QACN,cAAc,GAAG,CAAC,CAAA;QAClB,UAAU,GAAG,CAAC,CAAA;QACd,MAAM,GAAG,EAAE,CAAA;QACX,iBAAiB,GAAG,EAAE,CAAA;QACtB,MAAM,SAAS,GAAG,IAAI,aAAa,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAA;QACpD,MAAM,IAAI,GAAG,aAAa,CAAC;YACzB,OAAO,EAAE,CAAC;YACV,UAAU,EAAE,OAAO,CAAC,UAAU;YAC9B,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,SAAS,EAAE,MAAM,CAAC,SAAS;YAC3B,SAAS,EAAE,MAAM,CAAC,SAAS;YAC3B,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,OAAO,EAAE,KAAK;SACf,CAAC,CAAA;QACF,MAAM,OAAO,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAA;QACtC,KAAK,MAAM,IAAI,IAAI,YAAY,EAAE,CAAC;YAChC,MAAM,GAAG,GAAG,OAAO,EAAE,CAAA;YACrB,IAAI,GAAG;gBAAE,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAA;YAC5B,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,CAAA;YAC7D,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,CAAC,eAAe,EAAE,CAAC,CAAA;YAC9F,cAAc,EAAE,CAAA;YAChB,IAAI,MAAM,CAAC,OAAO;gBAAE,UAAU,EAAE,CAAA;iBAC3B,CAAC;gBACJ,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;gBAC5B,IAAI,MAAM,CAAC,KAAK;oBAAE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;YAC7C,CAAC;QACH,CAAC;IACH,CAAC;IAED,2DAA2D;IAC3D,iFAAiF;IACjF,+EAA+E;IAC/E,sCAAsC;IACtC,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;QACxB,IAAI,iBAAiB,CAAC,MAAM,GAAG,CAAC;YAAE,MAAM,YAAY,CAAC,GAAG,EAAE,iBAAiB,CAAC,CAAA;;YACvE,MAAM,aAAa,CAAC,GAAG,CAAC,CAAA;IAC/B,CAAC;IAED,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,EAAE,CAAA;AAC/C,CAAC"}
|
package/dist/agent/loop.d.ts.map
CHANGED
|
@@ -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;AAiB7D,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;
|
|
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;AAiB7D,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;AAkSD,wBAAsB,YAAY,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC,CAyJ5E"}
|
package/dist/agent/loop.js
CHANGED
|
@@ -11,7 +11,7 @@ import { TestGenerator, TruncatedOutputError, OscillationError, TRUNCATION_RETRY
|
|
|
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 } from '../lib/validate.js';
|
|
14
|
+
import { hasTestFunctions, enrichNoTestsError, isZeroTestsOutput, parsePassCount, buildStructureBrokenMessage, buildRegressionMessage, sanitizeMocksContent, stripLeadingProse, mergeMocksContent } 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) {
|
|
@@ -122,17 +122,36 @@ async function processGap(gap, options, generator, parallel, onStatus, projectMe
|
|
|
122
122
|
onStatus?.({ phase: 'passed', file: shortPath });
|
|
123
123
|
return { success: true, testCode: generatedCode };
|
|
124
124
|
}
|
|
125
|
+
// Strip thinking/prose that leaked before the first real code line.
|
|
126
|
+
// Happens under retry pressure when the model bleeds reasoning into <code_output>.
|
|
127
|
+
const { code: cleanCode, stripped: bleedText } = stripLeadingProse(generatedCode);
|
|
128
|
+
if (bleedText !== null) {
|
|
129
|
+
if (!onStatus)
|
|
130
|
+
log(chalk.yellow(` ⚠ Thinking bleed detected — stripped: "${bleedText.slice(0, 80)}…"`));
|
|
131
|
+
generatedCode = cleanCode;
|
|
132
|
+
}
|
|
125
133
|
const MOCKS_SEPARATOR = '// ---MOCKS_FILE---';
|
|
126
134
|
let testCode = generatedCode;
|
|
127
135
|
if (generatedCode.includes(MOCKS_SEPARATOR) && config.mocksFile) {
|
|
128
136
|
const [newTestCode, newMocksCode] = generatedCode.split(MOCKS_SEPARATOR);
|
|
129
137
|
testCode = newTestCode.trim();
|
|
130
138
|
if (newMocksCode?.trim()) {
|
|
131
|
-
const
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
if (
|
|
135
|
-
|
|
139
|
+
const { code: safeMocks, stripped } = sanitizeMocksContent(newMocksCode.trim());
|
|
140
|
+
if (stripped && !onStatus)
|
|
141
|
+
log(chalk.yellow(` ⚠ Mocks file contained test blocks — stripped before writing`));
|
|
142
|
+
if (safeMocks) {
|
|
143
|
+
const absoluteMocksFile = join(cwd, config.mocksFile);
|
|
144
|
+
await mkdir(dirname(absoluteMocksFile), { recursive: true });
|
|
145
|
+
let existing = '';
|
|
146
|
+
try {
|
|
147
|
+
existing = await readFile(absoluteMocksFile, 'utf-8');
|
|
148
|
+
}
|
|
149
|
+
catch { /* new file */ }
|
|
150
|
+
const merged = existing ? mergeMocksContent(existing, safeMocks) : safeMocks;
|
|
151
|
+
await writeFile(absoluteMocksFile, merged, 'utf-8');
|
|
152
|
+
if (!onStatus)
|
|
153
|
+
log(chalk.dim(` Updated mocks file: ${config.mocksFile}`));
|
|
154
|
+
}
|
|
136
155
|
}
|
|
137
156
|
}
|
|
138
157
|
// Catch empty test files before writing — no point running a file with no tests
|
package/dist/agent/loop.js.map
CHANGED
|
@@ -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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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prompts.d.ts","sourceRoot":"","sources":["../../src/agent/prompts.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAA;
|
|
1
|
+
{"version":3,"file":"prompts.d.ts","sourceRoot":"","sources":["../../src/agent/prompts.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAA;AAwU7D,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,mBAAmB,GAAG,MAAM,CAwElE;AAED,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,iBAAiB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACjC,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAC9B,GAAG,MAAM,CAqHT;AAED,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,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,CAkIT;AAED,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,CA4CpG"}
|
package/dist/agent/prompts.js
CHANGED
|
@@ -1,4 +1,58 @@
|
|
|
1
1
|
import { buildSourceSkeleton, shouldUseSkeleton } from '../lib/skeleton.js';
|
|
2
|
+
// Extracts module names that are already globally mocked in the setup file.
|
|
3
|
+
// Used to tell the agent "don't mock these again" to avoid double-mock conflicts.
|
|
4
|
+
function extractGlobalNextMocks(setupCode) {
|
|
5
|
+
const mocked = [];
|
|
6
|
+
for (const m of setupCode.matchAll(/vi\.mock\(['"]([^'"]+)['"]/g)) {
|
|
7
|
+
mocked.push(m[1]);
|
|
8
|
+
}
|
|
9
|
+
return [...new Set(mocked)];
|
|
10
|
+
}
|
|
11
|
+
function analyzeNextJs(sourceCode) {
|
|
12
|
+
const hasNavigation = /from\s+['"]next\/navigation['"]/.test(sourceCode);
|
|
13
|
+
const hasHeaders = /from\s+['"]next\/headers['"]/.test(sourceCode);
|
|
14
|
+
const hasCache = /from\s+['"]next\/cache['"]/.test(sourceCode);
|
|
15
|
+
const clientModules = [];
|
|
16
|
+
for (const m of sourceCode.matchAll(/from\s+['"]([^'"]+\.client)['"]/g))
|
|
17
|
+
clientModules.push(m[1]);
|
|
18
|
+
const serverModules = [];
|
|
19
|
+
for (const m of sourceCode.matchAll(/from\s+['"]([^'"]+\.server)['"]/g))
|
|
20
|
+
serverModules.push(m[1]);
|
|
21
|
+
const sessionProviders = [];
|
|
22
|
+
for (const m of sourceCode.matchAll(/from\s+['"]([^'"]*(?:session|auth)[^'"]*)['"]/gi)) {
|
|
23
|
+
const p = m[1];
|
|
24
|
+
if (!p.startsWith('next-auth') && !p.startsWith('@auth'))
|
|
25
|
+
sessionProviders.push(p);
|
|
26
|
+
}
|
|
27
|
+
return { hasNavigation, hasHeaders, hasCache, clientModules, serverModules, sessionProviders };
|
|
28
|
+
}
|
|
29
|
+
function buildNextJsGuidance(a) {
|
|
30
|
+
if (!a.hasNavigation && !a.hasHeaders && !a.hasCache && !a.clientModules.length && !a.serverModules.length && !a.sessionProviders.length)
|
|
31
|
+
return null;
|
|
32
|
+
const lines = [
|
|
33
|
+
'NEXT.JS MOCKING (critical — Vitest cannot resolve these modules without explicit mocks):',
|
|
34
|
+
];
|
|
35
|
+
if (a.hasNavigation) {
|
|
36
|
+
lines.push("Mock next/navigation — required for any component that uses useRouter, usePathname, useSearchParams, or useParams (skip if already listed as globally mocked above):", " vi.mock('next/navigation', () => ({", " useRouter: vi.fn(() => ({ push: vi.fn(), replace: vi.fn(), back: vi.fn(), forward: vi.fn() })),", " usePathname: vi.fn(() => '/'),", " useSearchParams: vi.fn(() => new URLSearchParams()),", " useParams: vi.fn(() => ({})),", " redirect: vi.fn(),", " }))");
|
|
37
|
+
}
|
|
38
|
+
if (a.hasHeaders) {
|
|
39
|
+
lines.push("Mock next/headers — it is server-only and will throw in Vitest:", " vi.mock('next/headers', () => ({", " cookies: vi.fn(() => ({ get: vi.fn(), set: vi.fn(), delete: vi.fn(), has: vi.fn() })),", " headers: vi.fn(() => new Headers()),", " }))");
|
|
40
|
+
}
|
|
41
|
+
if (a.hasCache) {
|
|
42
|
+
lines.push("Mock next/cache — revalidatePath, revalidateTag, unstable_cache are no-ops in tests:", " vi.mock('next/cache', () => ({", " revalidatePath: vi.fn(),", " revalidateTag: vi.fn(),", " unstable_cache: vi.fn((fn: () => unknown) => fn),", " }))");
|
|
43
|
+
}
|
|
44
|
+
if (a.clientModules.length > 0) {
|
|
45
|
+
lines.push(`The source imports .client boundary files that Vitest cannot resolve: ${a.clientModules.join(', ')}`, "Mock each one by its EXACT import path as it appears in the source file. Export every function the source uses as a vi.fn():", ...a.clientModules.map(p => ` vi.mock('${p}', () => ({ /* each exported function: myFn: vi.fn() */ }))`), "Do not try to import the real .client file — it will always fail in Vitest.");
|
|
46
|
+
}
|
|
47
|
+
if (a.serverModules.length > 0) {
|
|
48
|
+
lines.push(`The source imports .server boundary files that Vitest cannot resolve: ${a.serverModules.join(', ')}`, "Mock each one the same way as .client files:", ...a.serverModules.map(p => ` vi.mock('${p}', () => ({ /* each exported function: myFn: vi.fn() */ }))`));
|
|
49
|
+
}
|
|
50
|
+
if (a.sessionProviders.length > 0) {
|
|
51
|
+
lines.push(`The source imports session/auth providers: ${a.sessionProviders.join(', ')}`, "Mock them and return a controlled session object:", ` vi.mock('${a.sessionProviders[0]}', () => ({`, " useSession: vi.fn(() => ({ user: { id: 'user-1', email: 'test@example.com' }, status: 'authenticated' })),", " getSession: vi.fn(() => Promise.resolve({ user: { id: 'user-1' } })),", " }))");
|
|
52
|
+
}
|
|
53
|
+
lines.push("If Vitest still reports 'Failed to resolve import', the mock path does not exactly match the import in the source. Copy it character-for-character.");
|
|
54
|
+
return lines.join('\n');
|
|
55
|
+
}
|
|
2
56
|
// Matches both directory-level patterns (/api/, /services/) and file-level names
|
|
3
57
|
// (../../lib/api, ../apiClient, ./httpService) so axios instance files aren't missed.
|
|
4
58
|
const API_IMPORT_RE = /\/(?:api|services?|requests?|http|client|network)\/|\/(?:api|axios|http|request)(?:Client|Config|Instance|Service|Helper)?(?:\/|$)|[/.]api(?:[./]|$)/i;
|
|
@@ -16,6 +70,59 @@ function analyzeNetworkDeps(sourceCode) {
|
|
|
16
70
|
}
|
|
17
71
|
return { usesAxios, usesFetch, usesCustomInstance, apiModuleImports };
|
|
18
72
|
}
|
|
73
|
+
// Detects thinking-bleed parse errors: model wrote reasoning inside <code_output>
|
|
74
|
+
// causing the file to start with prose instead of TypeScript.
|
|
75
|
+
function detectThinkingBleed(errorOutput) {
|
|
76
|
+
// Vitest/esbuild parse errors at line 1 with non-code content are a strong signal
|
|
77
|
+
const parseErr = errorOutput.match(/PARSE_ERROR|Unexpected token|SyntaxError.*\b1:\d+\b/);
|
|
78
|
+
if (!parseErr)
|
|
79
|
+
return null;
|
|
80
|
+
// Check if the error context shows non-TypeScript at the file start
|
|
81
|
+
const contextLine = errorOutput.match(/^\s*1\s*[│|]\s*(.+)/m);
|
|
82
|
+
if (!contextLine)
|
|
83
|
+
return null;
|
|
84
|
+
const firstLine = contextLine[1].trim();
|
|
85
|
+
// If first line looks like prose (no import/export/const/vi./etc.)
|
|
86
|
+
if (/^(import|export|const|let|var|\/\/|\/\*|describe|it\s*\(|test\s*\(|vi\.|jest\.)/.test(firstLine))
|
|
87
|
+
return null;
|
|
88
|
+
return [
|
|
89
|
+
`THINKING BLEED DETECTED — your previous response had reasoning text inside <code_output>.`,
|
|
90
|
+
`The file started with: "${firstLine.slice(0, 80)}"`,
|
|
91
|
+
`This is not valid TypeScript and caused a parse error at line 1.`,
|
|
92
|
+
`RULE: finish ALL reasoning inside <thinking> first. Once <code_output> opens, the very first character must be valid code — an import, function definition, comment (//, #), or similar construct for the project's language.`,
|
|
93
|
+
`Do NOT continue thinking inside <code_output> under any circumstances.`,
|
|
94
|
+
].join('\n');
|
|
95
|
+
}
|
|
96
|
+
// Scans error output for Next.js import resolution failures (Failed to resolve import).
|
|
97
|
+
function detectNextJsImportError(errorOutput) {
|
|
98
|
+
const failedImport = errorOutput.match(/Failed to resolve import "([^"]+)"/);
|
|
99
|
+
if (!failedImport)
|
|
100
|
+
return null;
|
|
101
|
+
const importPath = failedImport[1];
|
|
102
|
+
const isAlias = importPath.startsWith('@/');
|
|
103
|
+
const isClient = importPath.endsWith('.client');
|
|
104
|
+
const isServer = importPath.endsWith('.server');
|
|
105
|
+
const isNextInternal = importPath.startsWith('next/');
|
|
106
|
+
const isProviderOrSession = /session|auth|provider/i.test(importPath);
|
|
107
|
+
if (!isAlias && !isClient && !isServer && !isNextInternal && !isProviderOrSession)
|
|
108
|
+
return null;
|
|
109
|
+
const lines = [
|
|
110
|
+
`IMPORT RESOLUTION ERROR — Vitest cannot resolve "${importPath}".`,
|
|
111
|
+
];
|
|
112
|
+
if (isAlias) {
|
|
113
|
+
lines.push(`The "@/" alias is not configured in vitest.config.ts — you cannot fix this by changing the test file.`, `WORKAROUND: use the pre-computed relative paths from LOCAL IMPORT PATHS in your vi.mock() calls instead of "@/" paths.`, ` WRONG: vi.mock('@/components/ui/button', ...)`, ` CORRECT: vi.mock('../../../components/ui/button', ...) ← use the relative path from LOCAL IMPORT PATHS`, `Do NOT attempt to add resolve aliases inside the test file — that does not work.`, `Do NOT switch import statements to relative paths — only vi.mock() calls need to change.`);
|
|
114
|
+
}
|
|
115
|
+
else if (isClient || isServer) {
|
|
116
|
+
lines.push(`This is a Next.js ${isClient ? 'client' : 'server'} boundary file. Vitest never resolves these — mock it with the exact import path from the source file:`, ` vi.mock('${importPath}', () => ({`, ` // each function the source imports: myFn: vi.fn()`, ` }))`);
|
|
117
|
+
}
|
|
118
|
+
else if (isNextInternal) {
|
|
119
|
+
lines.push(`${importPath} is a Next.js internal that does not work in Vitest. Mock it:`, ` vi.mock('${importPath}', () => ({ /* relevant exports as vi.fn() */ }))`);
|
|
120
|
+
}
|
|
121
|
+
else if (isProviderOrSession) {
|
|
122
|
+
lines.push(`This looks like a session or auth provider that Vitest cannot resolve. Mock it:`, ` vi.mock('${importPath}', () => ({`, ` useSession: vi.fn(() => ({ user: { id: 'user-1', email: 'test@example.com' }, status: 'authenticated' })),`, ` }))`);
|
|
123
|
+
}
|
|
124
|
+
return lines.join('\n');
|
|
125
|
+
}
|
|
19
126
|
// Scans error output for an unhandled rejection caused by mockRejectedValueOnce.
|
|
20
127
|
// Vitest surfaces this as a top-level "Unhandled Rejection" or "Vitest caught N unhandled error(s)"
|
|
21
128
|
// even when the component catches the error internally — the test never awaited the error state.
|
|
@@ -100,11 +207,16 @@ Your tests catch real bugs. You think about what could go wrong — null inputs,
|
|
|
100
207
|
RULES — follow every one:
|
|
101
208
|
1. Write tests that verify real behavior: correctness, edge cases, boundary values, and error handling. Never write empty or trivial assertions (e.g. expect(true).toBe(true)).
|
|
102
209
|
2. Match the EXACT import style shown in the existing test file or PROJECT TEST EXAMPLES. If none exists, use the style from the source file.
|
|
103
|
-
3. Use path aliases from the PROJECT TYPESCRIPT CONFIG section (e.g. "@/components/Button" not "../../components/Button").
|
|
210
|
+
3. Use path aliases from the PROJECT TYPESCRIPT CONFIG section in IMPORT statements (e.g. "@/components/Button" not "../../components/Button").
|
|
211
|
+
EXCEPTION — vi.mock() call paths: use the exact same path string that appears in the SOURCE FILE'S import statement.
|
|
212
|
+
If a LOCAL IMPORT PATHS section is provided, use those pre-computed relative paths in vi.mock() calls — they are the fallback when aliases cannot be resolved by Vitest.
|
|
213
|
+
Never second-guess the pre-computed paths. Never convert them back to @/ aliases in vi.mock() calls.
|
|
104
214
|
4. Only import from packages listed in PROJECT DEPENDENCIES. Do not invent packages that are not listed.
|
|
105
215
|
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 (by name, type, or domain). Import and use ALL of those mocks. Never re-create inline vi.fn() / jest.fn() for anything already exported from the mocks file.
|
|
216
|
+
CRITICAL — never rename or change the casing of existing mock exports. If the mocks file has mockValidationError, use exactly mockValidationError — do NOT change it to MockValidationError or any other variant. Renaming an existing mock breaks every test that already imports it by the original name.
|
|
106
217
|
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---
|
|
107
218
|
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.
|
|
219
|
+
CRITICAL — the mocks file must contain ONLY: vi.fn()/jest.fn() mock definitions, vi.mock() module stubs, shared mock objects/constants, and beforeEach reset hooks. NEVER write describe(), it(), test(), or expect() calls in the mocks file. Those belong exclusively in the test file. A mocks file that contains test blocks will break the entire test suite.
|
|
108
220
|
8. If a TEST SETUP FILE is shown, assume its globals and matchers are already available (e.g. expect(...).toBeInTheDocument()). Do NOT import or re-declare them.
|
|
109
221
|
9. TypeScript type safety: all test code must compile without type errors.
|
|
110
222
|
- Check PROJECT TYPESCRIPT CONFIG for strict flags — if strict or noImplicitAny is set, every value must be properly typed.
|
|
@@ -123,8 +235,18 @@ RULES — follow every one:
|
|
|
123
235
|
<code_output>
|
|
124
236
|
// complete test file here
|
|
125
237
|
</code_output>
|
|
238
|
+
CRITICAL: Once you open <code_output>, ALL remaining output must be code. Never continue reasoning, writing bullet points,
|
|
239
|
+
or restating the problem inside <code_output>. If you are still uncertain, finish your reasoning inside <thinking> first,
|
|
240
|
+
then commit to a solution and write only code inside <code_output>. Thinking inside <code_output> corrupts the output file.
|
|
126
241
|
12. Inside <code_output>: do NOT wrap in markdown code fences.
|
|
127
242
|
13. Inside <code_output>: output ONLY the test file content (or test file // ---MOCKS_FILE--- mocks file).
|
|
243
|
+
If you use // ---MOCKS_FILE---, everything AFTER the separator is the mocks file. The mocks file must contain ONLY:
|
|
244
|
+
vi.fn()/jest.fn() mock definitions, vi.mock() module stubs, shared constants, and beforeEach resets.
|
|
245
|
+
NEVER put describe(), it(), test(), or expect() calls after the separator — those belong BEFORE it, in the test file.
|
|
246
|
+
Writing test blocks in the mocks section corrupts the shared mock file for every other test in the project.
|
|
247
|
+
14. NEVER output vitest.config.ts, jest.config.js, or any framework configuration. If an import cannot be resolved,
|
|
248
|
+
fix it by mocking it with vi.mock() — NOT by modifying the test runner configuration. You cannot modify config
|
|
249
|
+
files from here, and outputting them will cause the entire mocks file to be discarded.
|
|
128
250
|
|
|
129
251
|
A good test suite you write will have:
|
|
130
252
|
- A happy-path test that confirms the main behavior works
|
|
@@ -171,7 +293,7 @@ export function buildGeneratePrompt(args) {
|
|
|
171
293
|
parts.push(tsconfigPaths);
|
|
172
294
|
}
|
|
173
295
|
if (localImportPaths && localImportPaths.length > 0) {
|
|
174
|
-
parts.push('\nLOCAL IMPORT PATHS (pre-computed relative to the test file — use these
|
|
296
|
+
parts.push('\nLOCAL IMPORT PATHS (pre-computed relative to the test file — use EXACTLY these strings in vi.mock() calls, even if the source file uses @/ aliases. Vitest resolves vi.mock() paths relative to the test file, not via tsconfig aliases. Do NOT convert these back to @/ paths in vi.mock(). Do NOT recount directory levels yourself.):');
|
|
175
297
|
for (const p of localImportPaths)
|
|
176
298
|
parts.push(` ${p}`);
|
|
177
299
|
}
|
|
@@ -182,7 +304,11 @@ export function buildGeneratePrompt(args) {
|
|
|
182
304
|
parts.push('```');
|
|
183
305
|
}
|
|
184
306
|
if (setupFileCode) {
|
|
185
|
-
|
|
307
|
+
const nextMocked = extractGlobalNextMocks(setupFileCode);
|
|
308
|
+
const setupNote = nextMocked.length > 0
|
|
309
|
+
? `\nTEST SETUP FILE (already loaded before every test — do NOT import it again):\nThe following modules are ALREADY mocked globally in this setup file — do NOT add vi.mock() for them in the test: ${nextMocked.join(', ')}`
|
|
310
|
+
: `\nTEST SETUP FILE (already loaded before every test — do NOT import it again):`;
|
|
311
|
+
parts.push(setupNote);
|
|
186
312
|
parts.push('```');
|
|
187
313
|
parts.push(setupFileCode);
|
|
188
314
|
parts.push('```');
|
|
@@ -193,20 +319,22 @@ export function buildGeneratePrompt(args) {
|
|
|
193
319
|
parts.push(`\nSHARED MOCK FILE (import from: '${mocksImportPath}')`);
|
|
194
320
|
if (exports.length > 0) {
|
|
195
321
|
parts.push(`Available exports: ${exports.join(', ')}`);
|
|
196
|
-
parts.push(`↑ 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.`);
|
|
322
|
+
parts.push(`↑ 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.`);
|
|
197
323
|
}
|
|
198
324
|
parts.push('```');
|
|
199
325
|
parts.push(mocksCode);
|
|
200
326
|
parts.push('```');
|
|
201
327
|
}
|
|
202
328
|
else {
|
|
203
|
-
parts.push(`\nSHARED MOCK FILE (does not exist yet) — create it if you need mocks, return it via the // ---MOCKS_FILE--- separator. Path: '${mocksImportPath}'
|
|
329
|
+
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 vi.fn()/vi.mock() definitions and beforeEach resets — NEVER describe/it/test/expect blocks.`);
|
|
204
330
|
}
|
|
205
331
|
}
|
|
206
332
|
const networkGuidance = buildNetworkMockingGuidance(analyzeNetworkDeps(sourceCode), sourceFile);
|
|
207
|
-
if (networkGuidance)
|
|
333
|
+
if (networkGuidance)
|
|
208
334
|
parts.push(`\n${networkGuidance}`);
|
|
209
|
-
|
|
335
|
+
const nextGuidance = buildNextJsGuidance(analyzeNextJs(sourceCode));
|
|
336
|
+
if (nextGuidance)
|
|
337
|
+
parts.push(`\n${nextGuidance}`);
|
|
210
338
|
const displaySource = buildSourceSkeleton(sourceCode, uncoveredFunctions);
|
|
211
339
|
const skeletonized = shouldUseSkeleton(sourceCode);
|
|
212
340
|
parts.push(`\nSOURCE FILE: ${sourceFile}${skeletonized ? ' (large file — bodies of already-covered functions collapsed; uncovered functions shown in full)' : ''}`);
|
|
@@ -257,7 +385,7 @@ export function buildFixPrompt(args) {
|
|
|
257
385
|
parts.push(tsconfigPaths);
|
|
258
386
|
}
|
|
259
387
|
if (localImportPaths && localImportPaths.length > 0) {
|
|
260
|
-
parts.push('\nLOCAL IMPORT PATHS (pre-computed relative to the test file — use these
|
|
388
|
+
parts.push('\nLOCAL IMPORT PATHS (pre-computed relative to the test file — use EXACTLY these strings in vi.mock() calls, even if the source file uses @/ aliases. Vitest resolves vi.mock() paths relative to the test file, not via tsconfig aliases. Do NOT convert these back to @/ paths in vi.mock(). Do NOT recount directory levels yourself.):');
|
|
261
389
|
for (const p of localImportPaths)
|
|
262
390
|
parts.push(` ${p}`);
|
|
263
391
|
}
|
|
@@ -286,14 +414,16 @@ export function buildFixPrompt(args) {
|
|
|
286
414
|
parts.push('```');
|
|
287
415
|
}
|
|
288
416
|
else {
|
|
289
|
-
parts.push(`\nSHARED MOCK FILE (does not exist yet) — create it if you need mocks, return it via the // ---MOCKS_FILE--- separator. Path: '${mocksImportPath}'
|
|
417
|
+
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 vi.fn()/vi.mock() definitions and beforeEach resets — NEVER describe/it/test/expect blocks.`);
|
|
290
418
|
}
|
|
291
419
|
}
|
|
292
420
|
if (sourceFile && sourceCode) {
|
|
293
421
|
const networkGuidance = buildNetworkMockingGuidance(analyzeNetworkDeps(sourceCode), sourceFile);
|
|
294
|
-
if (networkGuidance)
|
|
422
|
+
if (networkGuidance)
|
|
295
423
|
parts.push(`\n${networkGuidance}`);
|
|
296
|
-
|
|
424
|
+
const nextGuidance = buildNextJsGuidance(analyzeNextJs(sourceCode));
|
|
425
|
+
if (nextGuidance)
|
|
426
|
+
parts.push(`\n${nextGuidance}`);
|
|
297
427
|
// For fix: skeleton with no function expansion — the test already tells the AI
|
|
298
428
|
// which function matters; showing signatures is enough to understand the API.
|
|
299
429
|
const FIX_SKELETON_THRESHOLD = 150;
|
|
@@ -323,6 +453,12 @@ export function buildFixPrompt(args) {
|
|
|
323
453
|
const rejectionWarning = detectUnhandledRejection(errorOutput);
|
|
324
454
|
if (rejectionWarning)
|
|
325
455
|
parts.push(`\n⚠️ ${rejectionWarning}`);
|
|
456
|
+
const nextImportWarning = detectNextJsImportError(errorOutput);
|
|
457
|
+
if (nextImportWarning)
|
|
458
|
+
parts.push(`\n⚠️ ${nextImportWarning}`);
|
|
459
|
+
const bleedWarning = detectThinkingBleed(errorOutput);
|
|
460
|
+
if (bleedWarning)
|
|
461
|
+
parts.push(`\n⚠️ ${bleedWarning}`);
|
|
326
462
|
// Detect wrong mock pattern: test uses vi.mock('axios') but source uses axios.create()
|
|
327
463
|
const testHasAxiosMock = /vi\.mock\(['"]axios['"]\)/.test(testCode);
|
|
328
464
|
const sourceHasCustomInstance = sourceCode != null && /axios\.create\s*\(/.test(sourceCode);
|
|
@@ -359,6 +495,12 @@ export function buildRetryPrompt(failureOutput, failedAttempts = []) {
|
|
|
359
495
|
const rejectionWarning = detectUnhandledRejection(failureOutput);
|
|
360
496
|
if (rejectionWarning)
|
|
361
497
|
parts.push(`\n⚠️ ${rejectionWarning}`);
|
|
498
|
+
const nextImportWarning = detectNextJsImportError(failureOutput);
|
|
499
|
+
if (nextImportWarning)
|
|
500
|
+
parts.push(`\n⚠️ ${nextImportWarning}`);
|
|
501
|
+
const bleedWarning = detectThinkingBleed(failureOutput);
|
|
502
|
+
if (bleedWarning)
|
|
503
|
+
parts.push(`\n⚠️ ${bleedWarning}`);
|
|
362
504
|
parts.push('');
|
|
363
505
|
parts.push('Common causes:');
|
|
364
506
|
parts.push('- Wrong import path — check the path aliases and dependency list from the original prompt');
|