phantom-pr 0.5.0 → 0.5.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -11,6 +11,9 @@ import { extractNamedExportsFromJsLike, extractTopLevelDefsFromPy } from '../cod
|
|
|
11
11
|
export { applyUnifiedDiffToTestFiles } from './llm/diffApply.js';
|
|
12
12
|
import { applyUnifiedDiffToTestFiles } from './llm/diffApply.js';
|
|
13
13
|
import { ALLOWED_MATCHERS, MIN_DISTINCT_MATCHERS, SHALLOW_MATCHERS } from './llm/qualityGate.js';
|
|
14
|
+
// AST analysis and smart retry integration (v0.5.0)
|
|
15
|
+
import { extractComponentAnalysis } from '../analysis/index.js';
|
|
16
|
+
import { parseTestErrors } from '../retry/index.js';
|
|
14
17
|
function sha256_8(text) {
|
|
15
18
|
return crypto.createHash('sha256').update(text).digest('hex').slice(0, 8);
|
|
16
19
|
}
|
|
@@ -23,6 +26,121 @@ function clipForPrompt(text, maxChars) {
|
|
|
23
26
|
return { text: t, truncated: false };
|
|
24
27
|
return { text: t.slice(0, maxChars) + '\n...[truncated]\n', truncated: true };
|
|
25
28
|
}
|
|
29
|
+
/**
|
|
30
|
+
* Format AST analysis for inclusion in the LLM prompt.
|
|
31
|
+
* Provides structured insights about branches, effects, and children.
|
|
32
|
+
*/
|
|
33
|
+
function formatAnalysisPromptSection(analysis) {
|
|
34
|
+
if (analysis.branches.length === 0 &&
|
|
35
|
+
analysis.effects.length === 0 &&
|
|
36
|
+
analysis.children.length === 0) {
|
|
37
|
+
return '';
|
|
38
|
+
}
|
|
39
|
+
const lines = [];
|
|
40
|
+
lines.push('## PRE-ANALYZED STRUCTURE (from AST - use this to ensure complete coverage)');
|
|
41
|
+
if (analysis.branches.length > 0) {
|
|
42
|
+
lines.push(`### BRANCHES DETECTED: ${analysis.branches.length} (test BOTH paths for each)`);
|
|
43
|
+
for (const b of analysis.branches.slice(0, 8)) {
|
|
44
|
+
lines.push(` - Line ${b.line}: ${b.kind} → \`${b.condition.slice(0, 60)}\``);
|
|
45
|
+
}
|
|
46
|
+
if (analysis.branches.length > 8) {
|
|
47
|
+
lines.push(` - ... and ${analysis.branches.length - 8} more`);
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
if (analysis.effects.length > 0) {
|
|
51
|
+
lines.push(`### EFFECTS DETECTED: ${analysis.effects.length}`);
|
|
52
|
+
for (const e of analysis.effects) {
|
|
53
|
+
const cleanup = e.hasCleanup ? ' ⚠️ HAS CLEANUP - test unmount!' : '';
|
|
54
|
+
const deps = e.dependencies.length > 0 ? ` deps=[${e.dependencies.slice(0, 3).join(', ')}]` : ' deps=[]';
|
|
55
|
+
lines.push(` - Line ${e.line}: ${e.kind}${deps}${cleanup}`);
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
if (analysis.children.length > 0) {
|
|
59
|
+
lines.push(`### CHILD COMPONENTS TO MOCK: ${analysis.children.length}`);
|
|
60
|
+
for (const c of analysis.children.slice(0, 6)) {
|
|
61
|
+
const conditional = c.isConditional ? ' (conditional)' : '';
|
|
62
|
+
lines.push(` - jest.mock('${c.importPath}', () => ({ ${c.name}: () => <div data-testid="mock-${c.name}" /> }))${conditional}`);
|
|
63
|
+
}
|
|
64
|
+
if (analysis.children.length > 6) {
|
|
65
|
+
lines.push(` - ... and ${analysis.children.length - 6} more`);
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
lines.push('');
|
|
69
|
+
return lines.join('\n');
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* Parse errors from feedback and create targeted fix suggestions.
|
|
73
|
+
* Returns a structured prompt section with specific fixes.
|
|
74
|
+
*/
|
|
75
|
+
function formatParsedErrorFeedback(rawOutput, attempt, exitCode) {
|
|
76
|
+
const errors = parseTestErrors(rawOutput);
|
|
77
|
+
if (errors.length === 0) {
|
|
78
|
+
// Fallback to raw output if no errors parsed
|
|
79
|
+
const clipped = clipForPrompt(rawOutput, 4000);
|
|
80
|
+
return {
|
|
81
|
+
section: [
|
|
82
|
+
'## PREVIOUS ATTEMPT FAILED',
|
|
83
|
+
`Attempt: ${attempt}`,
|
|
84
|
+
`Exit code: ${exitCode}`,
|
|
85
|
+
'',
|
|
86
|
+
'Raw output:',
|
|
87
|
+
clipped.text,
|
|
88
|
+
].join('\n'),
|
|
89
|
+
parsedErrors: [],
|
|
90
|
+
};
|
|
91
|
+
}
|
|
92
|
+
const lines = [];
|
|
93
|
+
lines.push('## PREVIOUS ATTEMPT FAILED - PARSED ERRORS');
|
|
94
|
+
lines.push(`Attempt: ${attempt} | Exit code: ${exitCode} | Errors found: ${errors.length}`);
|
|
95
|
+
lines.push('');
|
|
96
|
+
// Prioritize by error type
|
|
97
|
+
const priorityOrder = {
|
|
98
|
+
import_error: 0,
|
|
99
|
+
undefined_variable: 1,
|
|
100
|
+
type_error: 2,
|
|
101
|
+
mock_not_called: 3,
|
|
102
|
+
mock_wrong_args: 4,
|
|
103
|
+
assertion_mismatch: 5,
|
|
104
|
+
timeout: 6,
|
|
105
|
+
unknown: 7,
|
|
106
|
+
};
|
|
107
|
+
const sorted = [...errors].sort((a, b) => (priorityOrder[a.kind] ?? 99) - (priorityOrder[b.kind] ?? 99));
|
|
108
|
+
for (let i = 0; i < Math.min(sorted.length, 5); i++) {
|
|
109
|
+
const err = sorted[i];
|
|
110
|
+
if (!err)
|
|
111
|
+
continue;
|
|
112
|
+
lines.push(`### Error ${i + 1}: ${err.kind.toUpperCase().replace(/_/g, ' ')}`);
|
|
113
|
+
lines.push(`Test: ${err.testName}`);
|
|
114
|
+
if (err.details.expected !== undefined) {
|
|
115
|
+
lines.push(`Expected: ${err.details.expected}`);
|
|
116
|
+
}
|
|
117
|
+
if (err.details.received !== undefined) {
|
|
118
|
+
lines.push(`Received: ${err.details.received}`);
|
|
119
|
+
}
|
|
120
|
+
if (err.details.callCount !== undefined) {
|
|
121
|
+
lines.push(`Expected calls: ${err.details.callCount.expected}, Received: ${err.details.callCount.received}`);
|
|
122
|
+
}
|
|
123
|
+
if (err.details.missingImport !== undefined) {
|
|
124
|
+
lines.push(`Missing module: ${err.details.missingImport}`);
|
|
125
|
+
}
|
|
126
|
+
if (err.details.variableName !== undefined) {
|
|
127
|
+
lines.push(`Undefined: ${err.details.variableName}`);
|
|
128
|
+
}
|
|
129
|
+
lines.push(`**FIX:** ${err.suggestedFix}`);
|
|
130
|
+
lines.push('');
|
|
131
|
+
}
|
|
132
|
+
if (sorted.length > 5) {
|
|
133
|
+
lines.push(`... and ${sorted.length - 5} more errors`);
|
|
134
|
+
lines.push('');
|
|
135
|
+
}
|
|
136
|
+
lines.push('## INSTRUCTIONS FOR THIS RETRY');
|
|
137
|
+
lines.push('1. Fix the FIRST error above - it is highest priority');
|
|
138
|
+
lines.push('2. Apply the suggested fix exactly');
|
|
139
|
+
lines.push('3. Do NOT change unrelated parts of the test');
|
|
140
|
+
lines.push('4. Output complete corrected test file as unified diff');
|
|
141
|
+
lines.push('');
|
|
142
|
+
return { section: lines.join('\n'), parsedErrors: errors };
|
|
143
|
+
}
|
|
26
144
|
export class LlmGenerator {
|
|
27
145
|
cfg;
|
|
28
146
|
dryRun;
|
|
@@ -129,10 +247,29 @@ export class LlmGenerator {
|
|
|
129
247
|
})();
|
|
130
248
|
const targetAnchors = targetAnchorsResult.anchors;
|
|
131
249
|
const targetSource = targetAnchorsResult.source;
|
|
250
|
+
// AST analysis for React/TypeScript components (v0.5.0)
|
|
251
|
+
const astAnalysis = (() => {
|
|
252
|
+
if (!targetSource)
|
|
253
|
+
return null;
|
|
254
|
+
const ext = path.posix.extname(input.targetPathPosix).toLowerCase();
|
|
255
|
+
// Only analyze JS/TS files (not Python)
|
|
256
|
+
if (!['.ts', '.tsx', '.js', '.jsx', '.mjs', '.cjs'].includes(ext))
|
|
257
|
+
return null;
|
|
258
|
+
try {
|
|
259
|
+
return extractComponentAnalysis(input.targetPathPosix, targetSource);
|
|
260
|
+
}
|
|
261
|
+
catch {
|
|
262
|
+
return null;
|
|
263
|
+
}
|
|
264
|
+
})();
|
|
265
|
+
const analysisPromptSection = astAnalysis ? formatAnalysisPromptSection(astAnalysis) : '';
|
|
132
266
|
const anchorLine = targetAnchors.length > 0
|
|
133
267
|
? `- ANCHORS (you MUST import the target module AND call at least one of these): ${targetAnchors.join(', ')}.`
|
|
134
268
|
: '- Import and exercise the target module.';
|
|
135
|
-
const
|
|
269
|
+
const runnerLower = input.runner.toLowerCase();
|
|
270
|
+
const isPytest = runnerLower === 'pytest';
|
|
271
|
+
const isVitest = runnerLower === 'vitest';
|
|
272
|
+
const isJest = runnerLower === 'jest' || runnerLower === 'unknown'; // Default to Jest for JS/TS
|
|
136
273
|
const runnerRules = isPytest
|
|
137
274
|
? [
|
|
138
275
|
'- Use pytest style: def test_<name>(...) functions at module level.',
|
|
@@ -141,12 +278,22 @@ export class LlmGenerator {
|
|
|
141
278
|
'- Include at least 1 negative/edge case (e.g., invalid input, None, empty, boundary).',
|
|
142
279
|
'- Test file must be named test_*.py under tests/ directory.',
|
|
143
280
|
]
|
|
144
|
-
:
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
281
|
+
: isVitest
|
|
282
|
+
? [
|
|
283
|
+
`- Use at least ${MIN_DISTINCT_MATCHERS} distinct matchers from this allowlist: ${[...ALLOWED_MATCHERS].sort((a, b) => a.localeCompare(b)).join(', ')}.`,
|
|
284
|
+
`- Avoid shallow expectations (e.g. ${[...SHALLOW_MATCHERS].sort((a, b) => a.localeCompare(b)).join(', ')}).`,
|
|
285
|
+
"- VITEST RUNNER: use `import { describe, it, expect } from 'vitest'` with `it(...)`, OR `import { describe, test, expect } from 'vitest'` with `test(...)`.",
|
|
286
|
+
"- VITEST MOCKING: use `vi.fn()` or `vi.spyOn()` and import `vi` from vitest (e.g. `import { vi } from 'vitest'`).",
|
|
287
|
+
"- Do NOT use jest.fn() or jest.mock() - use vi.fn() and vi.mock() instead.",
|
|
288
|
+
]
|
|
289
|
+
: [
|
|
290
|
+
// Jest rules (default for JS/TS)
|
|
291
|
+
`- Use at least ${MIN_DISTINCT_MATCHERS} distinct matchers from this allowlist: ${[...ALLOWED_MATCHERS].sort((a, b) => a.localeCompare(b)).join(', ')}.`,
|
|
292
|
+
`- Avoid shallow expectations (e.g. ${[...SHALLOW_MATCHERS].sort((a, b) => a.localeCompare(b)).join(', ')}).`,
|
|
293
|
+
"- JEST RUNNER: use `describe()`, `it()` or `test()`, and `expect()` from Jest globals (no imports needed).",
|
|
294
|
+
"- JEST MOCKING: use `jest.fn()`, `jest.mock()`, and `jest.spyOn()` for mocking.",
|
|
295
|
+
"- Do NOT import from 'vitest' - this is a Jest project.",
|
|
296
|
+
];
|
|
150
297
|
const systemPrompt = [
|
|
151
298
|
'You are a senior engineer writing behavioral unit tests.',
|
|
152
299
|
'',
|
|
@@ -192,22 +339,15 @@ export class LlmGenerator {
|
|
|
192
339
|
'- Do NOT modify package.json, configs, snapshots, or non-test files.',
|
|
193
340
|
'- Do NOT include explanations or Markdown - unified diff ONLY.',
|
|
194
341
|
].join('\n');
|
|
195
|
-
|
|
342
|
+
// Smart feedback with parsed errors (v0.5.0)
|
|
343
|
+
const feedbackResult = (() => {
|
|
196
344
|
const fb = input.feedback ?? null;
|
|
197
|
-
if (!fb || !fb.rawOutput || fb.rawOutput.trim() === '')
|
|
198
|
-
return null;
|
|
199
|
-
|
|
200
|
-
return
|
|
201
|
-
'PreviousAttempt (metadata + redacted output):',
|
|
202
|
-
`attempt: ${Math.max(1, Math.trunc(fb.attempt))}`,
|
|
203
|
-
`exitCode: ${Math.trunc(fb.exitCode)}`,
|
|
204
|
-
`outputTruncated: ${clipped.truncated ? 'true' : 'false'}`,
|
|
205
|
-
'',
|
|
206
|
-
'RawOutput:',
|
|
207
|
-
clipped.text,
|
|
208
|
-
'',
|
|
209
|
-
].join('\n');
|
|
345
|
+
if (!fb || !fb.rawOutput || fb.rawOutput.trim() === '') {
|
|
346
|
+
return { section: null, parsedErrors: [] };
|
|
347
|
+
}
|
|
348
|
+
return formatParsedErrorFeedback(fb.rawOutput, Math.max(1, Math.trunc(fb.attempt)), Math.trunc(fb.exitCode));
|
|
210
349
|
})();
|
|
350
|
+
const feedbackSection = feedbackResult.section;
|
|
211
351
|
const userPrompt = [
|
|
212
352
|
'Generate one minimal unit test file patch for the target.',
|
|
213
353
|
`targetId: ${input.targetId}`,
|
|
@@ -215,9 +355,12 @@ export class LlmGenerator {
|
|
|
215
355
|
`runner: ${input.runner}`,
|
|
216
356
|
`testCommand: ${input.testCommand ?? 'null'}`,
|
|
217
357
|
'',
|
|
358
|
+
// Include AST analysis for better coverage (v0.5.0)
|
|
359
|
+
analysisPromptSection,
|
|
218
360
|
'ContextPack (JSON):',
|
|
219
361
|
stableStringify(pack),
|
|
220
362
|
'',
|
|
363
|
+
// Include parsed error feedback if this is a retry (v0.5.0)
|
|
221
364
|
feedbackSection ?? '',
|
|
222
365
|
].join('\n');
|
|
223
366
|
const resp = await provider.generate({
|
|
@@ -240,8 +383,20 @@ export class LlmGenerator {
|
|
|
240
383
|
}
|
|
241
384
|
// Use targetAnchors extracted earlier; add fail-closed marker only if read failed
|
|
242
385
|
const targetExportNames = !targetAnchorsResult.ok ? ['__target_read_failed__'] : targetAnchors;
|
|
243
|
-
// Debug: log
|
|
386
|
+
// Debug: log analysis, errors, and LLM response
|
|
244
387
|
if (this.debug) {
|
|
388
|
+
if (astAnalysis) {
|
|
389
|
+
console.error('\n=== AST ANALYSIS ===');
|
|
390
|
+
console.error(`Branches: ${astAnalysis.branches.length}`);
|
|
391
|
+
console.error(`Effects: ${astAnalysis.effects.length} (with cleanup: ${astAnalysis.effects.filter(e => e.hasCleanup).length})`);
|
|
392
|
+
console.error(`Children: ${astAnalysis.children.map(c => c.name).join(', ') || 'none'}`);
|
|
393
|
+
}
|
|
394
|
+
if (feedbackResult.parsedErrors.length > 0) {
|
|
395
|
+
console.error('\n=== PARSED ERRORS ===');
|
|
396
|
+
for (const err of feedbackResult.parsedErrors) {
|
|
397
|
+
console.error(`- ${err.kind}: ${err.suggestedFix.slice(0, 80)}`);
|
|
398
|
+
}
|
|
399
|
+
}
|
|
245
400
|
console.error('\n=== LLM RAW RESPONSE START ===');
|
|
246
401
|
console.error(resp.text);
|
|
247
402
|
console.error('=== LLM RAW RESPONSE END ===\n');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"llmGenerator.js","sourceRoot":"","sources":["../../../src/core/generator/llmGenerator.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"llmGenerator.js","sourceRoot":"","sources":["../../../src/core/generator/llmGenerator.ts"],"names":[],"mappings":"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"}
|