tryassay 0.17.0 → 0.18.0
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/dist/runtime/__tests__/check-loop.test.js +127 -2
- package/dist/runtime/__tests__/check-loop.test.js.map +1 -1
- package/dist/runtime/check-definitions.d.ts +12 -0
- package/dist/runtime/check-definitions.js +156 -0
- package/dist/runtime/check-definitions.js.map +1 -1
- package/dist/runtime/failure-classifier.js +21 -0
- package/dist/runtime/failure-classifier.js.map +1 -1
- package/dist/runtime/integration-verifier.d.ts +9 -1
- package/dist/runtime/integration-verifier.js +118 -1
- package/dist/runtime/integration-verifier.js.map +1 -1
- package/dist/runtime/types.d.ts +12 -3
- package/package.json +1 -1
|
@@ -383,8 +383,133 @@ async function runTests() {
|
|
|
383
383
|
assert(matchesGlob('src/renderer/pages/Home.tsx', '**/pages/**/*.{tsx,jsx}'), 'Should match pages with brace');
|
|
384
384
|
}
|
|
385
385
|
console.log('');
|
|
386
|
-
// ── Test 9:
|
|
387
|
-
console.log('Test 9:
|
|
386
|
+
// ── Test 9: CheckExecutor runs ResponseShapeStrategy ──────
|
|
387
|
+
console.log('Test 9: CheckExecutor runs ResponseShapeStrategy (response shape consistency)');
|
|
388
|
+
{
|
|
389
|
+
const executor = new CheckExecutor();
|
|
390
|
+
const responseShapeDef = {
|
|
391
|
+
id: 'test_response_shape',
|
|
392
|
+
name: 'Response Shape Consistency',
|
|
393
|
+
type: 'response_shape',
|
|
394
|
+
strategy: {
|
|
395
|
+
type: 'response_shape',
|
|
396
|
+
preloadGlob: '**/preload/**/*.{ts,tsx,js,jsx}',
|
|
397
|
+
handlerGlob: '**/main/**/*.{ts,tsx,js,jsx}',
|
|
398
|
+
invokePattern: "ipcRenderer\\.invoke\\(\\s*['\"`]([^'\"`]+)['\"`]",
|
|
399
|
+
handlePattern: "ipcMain\\.handle\\(\\s*['\"`]([^'\"`]+)['\"`]",
|
|
400
|
+
wrappedReturnPattern: "return\\s*\\{\\s*success:\\s*true,\\s*data:",
|
|
401
|
+
unwrapAccessPattern: "\\.(data)\\b",
|
|
402
|
+
},
|
|
403
|
+
severity: 'critical',
|
|
404
|
+
frameworks: ['electron'],
|
|
405
|
+
status: 'active',
|
|
406
|
+
createdAt: new Date().toISOString(),
|
|
407
|
+
evidenceTemplate: "Channel '{channel}' in {preloadFile}: {issue} (handler: {handlerFile})",
|
|
408
|
+
};
|
|
409
|
+
const results = await executor.execute(responseShapeDef, posticoPath);
|
|
410
|
+
assert(results.length > 0, 'Should produce response shape check results');
|
|
411
|
+
// The postico-clone has been fixed — so we expect PASSes now
|
|
412
|
+
// But some channels may still show mismatches depending on the fix approach
|
|
413
|
+
const passResults = results.filter(r => r.verdict === 'PASS');
|
|
414
|
+
const failResults = results.filter(r => r.verdict === 'FAIL');
|
|
415
|
+
assert(results.length > 0, `Found ${passResults.length} PASS and ${failResults.length} FAIL response shape checks`);
|
|
416
|
+
// Evidence should mention channels
|
|
417
|
+
const hasChannelEvidence = results.some(r => r.evidence.includes('Channel'));
|
|
418
|
+
assert(hasChannelEvidence || results.length === 0, 'Evidence should reference channel names');
|
|
419
|
+
}
|
|
420
|
+
console.log('');
|
|
421
|
+
// ── Test 10: FailureClassifier produces response_shape strategy ─
|
|
422
|
+
console.log('Test 10: FailureClassifier produces response_shape strategy');
|
|
423
|
+
{
|
|
424
|
+
const classifier = new FailureClassifier();
|
|
425
|
+
// Feed it a response shape failure
|
|
426
|
+
const shapeFailure = {
|
|
427
|
+
type: 'response_shape',
|
|
428
|
+
verdict: 'FAIL',
|
|
429
|
+
evidence: "Channel 'query:execute': handler wraps response but preload passes it through without unwrapping .data.",
|
|
430
|
+
file: 'src/preload/index.ts',
|
|
431
|
+
severity: 'critical',
|
|
432
|
+
};
|
|
433
|
+
const proposal = await classifier.classify(shapeFailure, posticoPath, []);
|
|
434
|
+
assert(proposal !== null, 'Should produce a proposal for response shape failure');
|
|
435
|
+
if (proposal) {
|
|
436
|
+
assertEqual(proposal.strategy.type, 'response_shape', 'Should propose response_shape strategy');
|
|
437
|
+
assertEqual(proposal.status, 'proposed', 'Proposal status should be proposed');
|
|
438
|
+
// Verify all regexes compile
|
|
439
|
+
if (proposal.strategy.type === 'response_shape') {
|
|
440
|
+
const s = proposal.strategy;
|
|
441
|
+
try {
|
|
442
|
+
new RegExp(s.invokePattern);
|
|
443
|
+
new RegExp(s.handlePattern);
|
|
444
|
+
new RegExp(s.wrappedReturnPattern);
|
|
445
|
+
new RegExp(s.unwrapAccessPattern);
|
|
446
|
+
assert(true, 'All response_shape regexes compile');
|
|
447
|
+
}
|
|
448
|
+
catch {
|
|
449
|
+
assert(false, 'All response_shape regexes should compile');
|
|
450
|
+
}
|
|
451
|
+
}
|
|
452
|
+
// Test duplicate detection
|
|
453
|
+
const duplicate = await classifier.classify(shapeFailure, posticoPath, [proposal]);
|
|
454
|
+
assertEqual(duplicate, null, 'Should return null for duplicate response_shape failure');
|
|
455
|
+
}
|
|
456
|
+
// Also test heuristic triggers via evidence keywords
|
|
457
|
+
const evidenceTriggered = {
|
|
458
|
+
type: 'unknown_type',
|
|
459
|
+
verdict: 'FAIL',
|
|
460
|
+
evidence: "Preload passthrough without unwrap causes shape mismatch.",
|
|
461
|
+
file: 'src/preload/index.ts',
|
|
462
|
+
severity: 'critical',
|
|
463
|
+
};
|
|
464
|
+
const evidenceProposal = await classifier.classify(evidenceTriggered, posticoPath, []);
|
|
465
|
+
assert(evidenceProposal !== null, 'Should match on evidence keywords (passthrough/shape mismatch)');
|
|
466
|
+
if (evidenceProposal) {
|
|
467
|
+
assertEqual(evidenceProposal.strategy.type, 'response_shape', 'Evidence-triggered should propose response_shape');
|
|
468
|
+
}
|
|
469
|
+
}
|
|
470
|
+
console.log('');
|
|
471
|
+
// ── Test 11: Full loop with response_shape failure ────────
|
|
472
|
+
console.log('Test 11: Full loop with response_shape failure');
|
|
473
|
+
{
|
|
474
|
+
const tmpDir = await mkdtemp(join(tmpdir(), 'check-loop-shape-'));
|
|
475
|
+
const storePath = join(tmpDir, 'shape-checks.json');
|
|
476
|
+
const syntheticResult = {
|
|
477
|
+
checks: [
|
|
478
|
+
{
|
|
479
|
+
type: 'response_shape',
|
|
480
|
+
verdict: 'FAIL',
|
|
481
|
+
evidence: "Channel 'query:execute': handler wraps but preload passthrough without unwrapping .data.",
|
|
482
|
+
file: 'src/preload/index.ts',
|
|
483
|
+
severity: 'critical',
|
|
484
|
+
},
|
|
485
|
+
{
|
|
486
|
+
type: 'response_shape',
|
|
487
|
+
verdict: 'PASS',
|
|
488
|
+
evidence: "Channel 'connection:list': shapes are consistent.",
|
|
489
|
+
file: 'src/preload/index.ts',
|
|
490
|
+
severity: 'critical',
|
|
491
|
+
},
|
|
492
|
+
],
|
|
493
|
+
passedCount: 1,
|
|
494
|
+
failedCount: 1,
|
|
495
|
+
verdict: 'FAIL',
|
|
496
|
+
framework: 'electron',
|
|
497
|
+
totalDurationMs: 50,
|
|
498
|
+
};
|
|
499
|
+
const store = new CheckStore(storePath);
|
|
500
|
+
const classifier = new FailureClassifier();
|
|
501
|
+
const loop = new CheckLoop({ store, classifier });
|
|
502
|
+
const loopResult = await loop.onFailure(syntheticResult, posticoPath);
|
|
503
|
+
assertEqual(loopResult.proposedChecks.length, 1, 'Should propose 1 check for response_shape failure');
|
|
504
|
+
assertEqual(loopResult.classificationErrors, 0, 'Should have 0 classification errors');
|
|
505
|
+
if (loopResult.proposedChecks.length > 0) {
|
|
506
|
+
assertEqual(loopResult.proposedChecks[0].strategy.type, 'response_shape', 'Proposed check should use response_shape strategy');
|
|
507
|
+
}
|
|
508
|
+
await rm(tmpDir, { recursive: true });
|
|
509
|
+
}
|
|
510
|
+
console.log('');
|
|
511
|
+
// ── Test 12: Integration verifier loads dynamic checks ─────
|
|
512
|
+
console.log('Test 12: Integration verifier loads dynamic checks from store');
|
|
388
513
|
{
|
|
389
514
|
const tmpDir = await mkdtemp(join(tmpdir(), 'verifier-dynamic-'));
|
|
390
515
|
const storePath = join(tmpDir, 'checks.json');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"check-loop.test.js","sourceRoot":"","sources":["../../../src/runtime/__tests__/check-loop.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"check-loop.test.js","sourceRoot":"","sources":["../../../src/runtime/__tests__/check-loop.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -32,5 +32,17 @@ export declare class CheckExecutor {
|
|
|
32
32
|
* from the file containing entryPattern.
|
|
33
33
|
*/
|
|
34
34
|
private executeImportReachability;
|
|
35
|
+
/**
|
|
36
|
+
* Cross-reference preload invoke handling against handler return shapes.
|
|
37
|
+
* Detects the mismatch: handler wraps in { success, data } but preload
|
|
38
|
+
* passes through without unwrapping .data.
|
|
39
|
+
*/
|
|
40
|
+
private executeResponseShape;
|
|
41
|
+
/**
|
|
42
|
+
* Build a map of IPC_CHANNELS constant references to their string values.
|
|
43
|
+
* Scans shared/types files for patterns like: CONSTANT_NAME: 'channel:name'
|
|
44
|
+
* Returns map: 'IPC_CHANNELS.CONSTANT_NAME' -> 'channel:name'
|
|
45
|
+
*/
|
|
46
|
+
private buildChannelConstantMap;
|
|
35
47
|
private formatEvidence;
|
|
36
48
|
}
|
|
@@ -23,6 +23,8 @@ export class CheckExecutor {
|
|
|
23
23
|
return this.executeCrossReference(definition, definition.strategy, projectPath);
|
|
24
24
|
case 'import_reachability':
|
|
25
25
|
return this.executeImportReachability(definition, definition.strategy, projectPath);
|
|
26
|
+
case 'response_shape':
|
|
27
|
+
return this.executeResponseShape(definition, definition.strategy, projectPath);
|
|
26
28
|
default:
|
|
27
29
|
return [];
|
|
28
30
|
}
|
|
@@ -226,6 +228,160 @@ export class CheckExecutor {
|
|
|
226
228
|
}
|
|
227
229
|
return checks;
|
|
228
230
|
}
|
|
231
|
+
// ── Response Shape Strategy ──────────────────────────────
|
|
232
|
+
/**
|
|
233
|
+
* Cross-reference preload invoke handling against handler return shapes.
|
|
234
|
+
* Detects the mismatch: handler wraps in { success, data } but preload
|
|
235
|
+
* passes through without unwrapping .data.
|
|
236
|
+
*/
|
|
237
|
+
async executeResponseShape(def, strategy, projectPath) {
|
|
238
|
+
const allFiles = await findFiles(projectPath, /\.(tsx?|jsx?|js|ts)$/);
|
|
239
|
+
const preloadFiles = allFiles.filter(f => matchesGlob(relative(projectPath, f), strategy.preloadGlob));
|
|
240
|
+
const handlerFiles = allFiles.filter(f => matchesGlob(relative(projectPath, f), strategy.handlerGlob));
|
|
241
|
+
if (preloadFiles.length === 0 || handlerFiles.length === 0)
|
|
242
|
+
return [];
|
|
243
|
+
const invokeRegex = new RegExp(strategy.invokePattern, 'g');
|
|
244
|
+
const handleRegex = new RegExp(strategy.handlePattern, 'g');
|
|
245
|
+
const wrappedReturnRegex = new RegExp(strategy.wrappedReturnPattern);
|
|
246
|
+
const unwrapRegex = new RegExp(strategy.unwrapAccessPattern);
|
|
247
|
+
// Build constant→string-value map from IPC_CHANNELS definitions
|
|
248
|
+
const constantMap = await this.buildChannelConstantMap(allFiles, projectPath);
|
|
249
|
+
// Step 1: Classify preload invoke calls — does the code unwrap .data?
|
|
250
|
+
// Map: channel -> { file, unwraps }
|
|
251
|
+
const preloadChannels = new Map();
|
|
252
|
+
for (const file of preloadFiles) {
|
|
253
|
+
const relPath = relative(projectPath, file);
|
|
254
|
+
const content = await readFile(file, 'utf-8');
|
|
255
|
+
const lines = content.split('\n');
|
|
256
|
+
let match;
|
|
257
|
+
while ((match = invokeRegex.exec(content)) !== null) {
|
|
258
|
+
const channel = match[1];
|
|
259
|
+
if (!channel)
|
|
260
|
+
continue;
|
|
261
|
+
// Look at the ~20 lines after the invoke call for unwrap patterns
|
|
262
|
+
const lineIndex = content.slice(0, match.index).split('\n').length - 1;
|
|
263
|
+
const surroundingLines = lines.slice(lineIndex, lineIndex + 20).join('\n');
|
|
264
|
+
const unwraps = unwrapRegex.test(surroundingLines);
|
|
265
|
+
preloadChannels.set(channel, { file: relPath, unwraps });
|
|
266
|
+
}
|
|
267
|
+
}
|
|
268
|
+
if (preloadChannels.size === 0)
|
|
269
|
+
return [];
|
|
270
|
+
// Step 2: Classify handler return shapes — does the handler wrap in { success, data }?
|
|
271
|
+
// Map: channel -> { file, wrapped }
|
|
272
|
+
const handlerChannels = new Map();
|
|
273
|
+
for (const file of handlerFiles) {
|
|
274
|
+
const relPath = relative(projectPath, file);
|
|
275
|
+
const content = await readFile(file, 'utf-8');
|
|
276
|
+
// Try string-literal handle pattern first
|
|
277
|
+
let match;
|
|
278
|
+
while ((match = handleRegex.exec(content)) !== null) {
|
|
279
|
+
const channel = match[1];
|
|
280
|
+
if (!channel)
|
|
281
|
+
continue;
|
|
282
|
+
const lineIndex = content.slice(0, match.index).split('\n').length - 1;
|
|
283
|
+
const lines = content.split('\n');
|
|
284
|
+
const handlerLines = lines.slice(lineIndex, lineIndex + 60).join('\n');
|
|
285
|
+
const wrapped = wrappedReturnRegex.test(handlerLines);
|
|
286
|
+
handlerChannels.set(channel, { file: relPath, wrapped });
|
|
287
|
+
}
|
|
288
|
+
// Also check for constant-based registrations: ipcMain.handle(IPC_CHANNELS.CONST, ...)
|
|
289
|
+
const constHandleRegex = /ipcMain\.handle\(\s*([\w.]+)\s*,/g;
|
|
290
|
+
while ((match = constHandleRegex.exec(content)) !== null) {
|
|
291
|
+
const constRef = match[1];
|
|
292
|
+
const resolvedChannel = constantMap.get(constRef);
|
|
293
|
+
if (!resolvedChannel)
|
|
294
|
+
continue;
|
|
295
|
+
if (handlerChannels.has(resolvedChannel))
|
|
296
|
+
continue; // Already found via string literal
|
|
297
|
+
const lineIndex = content.slice(0, match.index).split('\n').length - 1;
|
|
298
|
+
const lines = content.split('\n');
|
|
299
|
+
const handlerLines = lines.slice(lineIndex, lineIndex + 60).join('\n');
|
|
300
|
+
const wrapped = wrappedReturnRegex.test(handlerLines);
|
|
301
|
+
handlerChannels.set(resolvedChannel, { file: relPath, wrapped });
|
|
302
|
+
}
|
|
303
|
+
}
|
|
304
|
+
// Step 3: Cross-reference — detect mismatches
|
|
305
|
+
const checks = [];
|
|
306
|
+
for (const [channel, preload] of preloadChannels) {
|
|
307
|
+
const handler = handlerChannels.get(channel);
|
|
308
|
+
if (!handler)
|
|
309
|
+
continue; // No handler found — covered by IPC handler coverage check
|
|
310
|
+
if (handler.wrapped && !preload.unwraps) {
|
|
311
|
+
// The bug: handler wraps response but preload doesn't unwrap
|
|
312
|
+
checks.push({
|
|
313
|
+
type: def.type,
|
|
314
|
+
verdict: 'FAIL',
|
|
315
|
+
evidence: this.formatEvidence(def.evidenceTemplate, {
|
|
316
|
+
channel,
|
|
317
|
+
preloadFile: preload.file,
|
|
318
|
+
handlerFile: handler.file,
|
|
319
|
+
issue: 'wrapped handler + passthrough preload',
|
|
320
|
+
}),
|
|
321
|
+
file: preload.file,
|
|
322
|
+
severity: def.severity,
|
|
323
|
+
});
|
|
324
|
+
}
|
|
325
|
+
else if (!handler.wrapped && preload.unwraps) {
|
|
326
|
+
// Inverse mismatch: handler returns raw but preload tries to unwrap .data
|
|
327
|
+
checks.push({
|
|
328
|
+
type: def.type,
|
|
329
|
+
verdict: 'FAIL',
|
|
330
|
+
evidence: this.formatEvidence(def.evidenceTemplate, {
|
|
331
|
+
channel,
|
|
332
|
+
preloadFile: preload.file,
|
|
333
|
+
handlerFile: handler.file,
|
|
334
|
+
issue: 'unwrapped handler + data-unwrapping preload',
|
|
335
|
+
}),
|
|
336
|
+
file: preload.file,
|
|
337
|
+
severity: def.severity,
|
|
338
|
+
});
|
|
339
|
+
}
|
|
340
|
+
else {
|
|
341
|
+
// Matching shapes — either both wrap/unwrap or both raw/passthrough
|
|
342
|
+
checks.push({
|
|
343
|
+
type: def.type,
|
|
344
|
+
verdict: 'PASS',
|
|
345
|
+
evidence: this.formatEvidence(def.evidenceTemplate, {
|
|
346
|
+
channel,
|
|
347
|
+
preloadFile: preload.file,
|
|
348
|
+
handlerFile: handler.file,
|
|
349
|
+
issue: 'shapes match',
|
|
350
|
+
}),
|
|
351
|
+
file: preload.file,
|
|
352
|
+
severity: def.severity,
|
|
353
|
+
});
|
|
354
|
+
}
|
|
355
|
+
}
|
|
356
|
+
return checks;
|
|
357
|
+
}
|
|
358
|
+
// ── Channel Constant Resolution ──────────────────────────
|
|
359
|
+
/**
|
|
360
|
+
* Build a map of IPC_CHANNELS constant references to their string values.
|
|
361
|
+
* Scans shared/types files for patterns like: CONSTANT_NAME: 'channel:name'
|
|
362
|
+
* Returns map: 'IPC_CHANNELS.CONSTANT_NAME' -> 'channel:name'
|
|
363
|
+
*/
|
|
364
|
+
async buildChannelConstantMap(allFiles, projectPath) {
|
|
365
|
+
const constantMap = new Map();
|
|
366
|
+
for (const file of allFiles) {
|
|
367
|
+
const relPath = relative(projectPath, file);
|
|
368
|
+
if (!relPath.includes('shared') && !relPath.includes('types') && !relPath.includes('constants'))
|
|
369
|
+
continue;
|
|
370
|
+
const content = await readFile(file, 'utf-8');
|
|
371
|
+
if (!content.includes('IPC_CHANNELS'))
|
|
372
|
+
continue;
|
|
373
|
+
// Match constant definitions like: CONSTANT_NAME: 'channel:name'
|
|
374
|
+
const constDefRegex = /(\w+)\s*:\s*['"`]([^'"`]+)['"`]/g;
|
|
375
|
+
let match;
|
|
376
|
+
while ((match = constDefRegex.exec(content)) !== null) {
|
|
377
|
+
const constName = match[1];
|
|
378
|
+
const value = match[2];
|
|
379
|
+
// Store as IPC_CHANNELS.CONSTANT_NAME -> value
|
|
380
|
+
constantMap.set(`IPC_CHANNELS.${constName}`, value);
|
|
381
|
+
}
|
|
382
|
+
}
|
|
383
|
+
return constantMap;
|
|
384
|
+
}
|
|
229
385
|
// ── Evidence Formatting ───────────────────────────────────
|
|
230
386
|
formatEvidence(template, vars) {
|
|
231
387
|
let result = template;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"check-definitions.js","sourceRoot":"","sources":["../../src/runtime/check-definitions.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"check-definitions.js","sourceRoot":"","sources":["../../src/runtime/check-definitions.ts"],"names":[],"mappings":"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"}
|
|
@@ -132,6 +132,18 @@ export class FailureClassifier {
|
|
|
132
132
|
pattern: 'async\\s*\\([^)]*\\)\\s*(?::\\s*Promise<[^>]+>)?\\s*=>\\s*\\{\\s*return\\s+\\{[^}]*\\}\\s*;?\\s*\\}',
|
|
133
133
|
};
|
|
134
134
|
}
|
|
135
|
+
// Response shape mismatch failures → response_shape strategy
|
|
136
|
+
if (failure.type === 'response_shape' || evidence.includes('unwrap') || evidence.includes('shape mismatch') || evidence.includes('passthrough')) {
|
|
137
|
+
return {
|
|
138
|
+
type: 'response_shape',
|
|
139
|
+
preloadGlob: '**/preload/**/*.{ts,tsx,js,jsx}',
|
|
140
|
+
handlerGlob: '**/main/**/*.{ts,tsx,js,jsx}',
|
|
141
|
+
invokePattern: "ipcRenderer\\.invoke\\(\\s*['\"`]([^'\"`]+)['\"`]",
|
|
142
|
+
handlePattern: "ipcMain\\.handle\\(\\s*['\"`]([^'\"`]+)['\"`]",
|
|
143
|
+
wrappedReturnPattern: "return\\s*\\{\\s*success:\\s*true,\\s*data:",
|
|
144
|
+
unwrapAccessPattern: "\\.(data)\\b",
|
|
145
|
+
};
|
|
146
|
+
}
|
|
135
147
|
return null;
|
|
136
148
|
}
|
|
137
149
|
/** Validate that a proposed strategy has valid patterns. */
|
|
@@ -154,6 +166,12 @@ export class FailureClassifier {
|
|
|
154
166
|
case 'import_reachability':
|
|
155
167
|
new RegExp(strategy.entryPattern);
|
|
156
168
|
return true;
|
|
169
|
+
case 'response_shape':
|
|
170
|
+
new RegExp(strategy.invokePattern);
|
|
171
|
+
new RegExp(strategy.handlePattern);
|
|
172
|
+
new RegExp(strategy.wrappedReturnPattern);
|
|
173
|
+
new RegExp(strategy.unwrapAccessPattern);
|
|
174
|
+
return true;
|
|
157
175
|
default:
|
|
158
176
|
return false;
|
|
159
177
|
}
|
|
@@ -178,6 +196,9 @@ export class FailureClassifier {
|
|
|
178
196
|
if (evidence.includes('stub')) {
|
|
179
197
|
return "Stub function found: {match} in {sourceFile}.";
|
|
180
198
|
}
|
|
199
|
+
if (evidence.includes('unwrap') || evidence.includes('shape') || evidence.includes('passthrough')) {
|
|
200
|
+
return "Channel '{channel}' in {preloadFile}: {issue} (handler in {handlerFile}).";
|
|
201
|
+
}
|
|
181
202
|
return "Check '{match}': {found}.";
|
|
182
203
|
}
|
|
183
204
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"failure-classifier.js","sourceRoot":"","sources":["../../src/runtime/failure-classifier.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"failure-classifier.js","sourceRoot":"","sources":["../../src/runtime/failure-classifier.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* IntegrationVerifier — deterministic wiring checks for generated applications.
|
|
3
3
|
*
|
|
4
|
-
* Catches
|
|
4
|
+
* Catches five classes of integration failure that compile clean but don't work:
|
|
5
5
|
* 1. Missing Router provider (pages use react-router hooks but no Router wraps them)
|
|
6
6
|
* 2. Missing IPC handlers (preload invokes channels with no main-process handler)
|
|
7
7
|
* 3. Stub functions (async functions that return literal objects without doing real work)
|
|
8
8
|
* 4. Unreachable pages (page files exist but are never imported from the entry point)
|
|
9
|
+
* 5. Response shape mismatch (handler wraps in {success, data} but preload doesn't unwrap)
|
|
9
10
|
*
|
|
10
11
|
* Zero LLM calls. Deterministic. Uses only node:fs/promises, node:path, and regex.
|
|
11
12
|
*/
|
|
@@ -37,6 +38,13 @@ export declare class IntegrationVerifier {
|
|
|
37
38
|
* Report any page file not transitively imported.
|
|
38
39
|
*/
|
|
39
40
|
checkUnreachablePages(): Promise<IntegrationCheck[]>;
|
|
41
|
+
/**
|
|
42
|
+
* Electron only. Cross-reference preload invoke handling against handler return shapes.
|
|
43
|
+
* Detects the mismatch where a handler wraps its response in { success, data }
|
|
44
|
+
* but the preload passes the raw IPC result through without unwrapping .data.
|
|
45
|
+
* This causes renderer code to access result.rows when actual data is at result.data.rows.
|
|
46
|
+
*/
|
|
47
|
+
checkResponseShapeConsistency(): Promise<IntegrationCheck[]>;
|
|
40
48
|
/** Check if the project has preload files (indicating Electron). */
|
|
41
49
|
private hasPreloadFiles;
|
|
42
50
|
}
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* IntegrationVerifier — deterministic wiring checks for generated applications.
|
|
3
3
|
*
|
|
4
|
-
* Catches
|
|
4
|
+
* Catches five classes of integration failure that compile clean but don't work:
|
|
5
5
|
* 1. Missing Router provider (pages use react-router hooks but no Router wraps them)
|
|
6
6
|
* 2. Missing IPC handlers (preload invokes channels with no main-process handler)
|
|
7
7
|
* 3. Stub functions (async functions that return literal objects without doing real work)
|
|
8
8
|
* 4. Unreachable pages (page files exist but are never imported from the entry point)
|
|
9
|
+
* 5. Response shape mismatch (handler wraps in {success, data} but preload doesn't unwrap)
|
|
9
10
|
*
|
|
10
11
|
* Zero LLM calls. Deterministic. Uses only node:fs/promises, node:path, and regex.
|
|
11
12
|
*/
|
|
@@ -29,6 +30,7 @@ export class IntegrationVerifier {
|
|
|
29
30
|
if (this.framework === 'electron' || await this.hasPreloadFiles()) {
|
|
30
31
|
checks.push(...await this.checkIpcHandlerCoverage());
|
|
31
32
|
checks.push(...await this.checkStubFunctions());
|
|
33
|
+
checks.push(...await this.checkResponseShapeConsistency());
|
|
32
34
|
}
|
|
33
35
|
checks.push(...await this.checkUnreachablePages());
|
|
34
36
|
// Dynamic checks from CheckStore
|
|
@@ -297,6 +299,121 @@ export class IntegrationVerifier {
|
|
|
297
299
|
}
|
|
298
300
|
return checks;
|
|
299
301
|
}
|
|
302
|
+
// ── Check 5: Response Shape Consistency ─────────────────────
|
|
303
|
+
/**
|
|
304
|
+
* Electron only. Cross-reference preload invoke handling against handler return shapes.
|
|
305
|
+
* Detects the mismatch where a handler wraps its response in { success, data }
|
|
306
|
+
* but the preload passes the raw IPC result through without unwrapping .data.
|
|
307
|
+
* This causes renderer code to access result.rows when actual data is at result.data.rows.
|
|
308
|
+
*/
|
|
309
|
+
async checkResponseShapeConsistency() {
|
|
310
|
+
const allFiles = await findFiles(this.projectPath, /\.(ts|tsx|js|jsx)$/);
|
|
311
|
+
// Build constant→string-value map from IPC_CHANNELS definitions
|
|
312
|
+
const constantMap = new Map();
|
|
313
|
+
for (const file of allFiles) {
|
|
314
|
+
const relPath = relative(this.projectPath, file);
|
|
315
|
+
if (!relPath.includes('shared') && !relPath.includes('types') && !relPath.includes('constants'))
|
|
316
|
+
continue;
|
|
317
|
+
const content = await readFile(file, 'utf-8');
|
|
318
|
+
if (!content.includes('IPC_CHANNELS'))
|
|
319
|
+
continue;
|
|
320
|
+
const constDefRegex = /(\w+)\s*:\s*['"`]([^'"`]+)['"`]/g;
|
|
321
|
+
let m;
|
|
322
|
+
while ((m = constDefRegex.exec(content)) !== null) {
|
|
323
|
+
constantMap.set(`IPC_CHANNELS.${m[1]}`, m[2]);
|
|
324
|
+
}
|
|
325
|
+
}
|
|
326
|
+
// Classify preload invoke calls
|
|
327
|
+
const invokePattern = /ipcRenderer\.invoke\(\s*['"`]([^'"`]+)['"`]/g;
|
|
328
|
+
const preloadChannels = new Map();
|
|
329
|
+
for (const file of allFiles) {
|
|
330
|
+
const relPath = relative(this.projectPath, file);
|
|
331
|
+
if (!relPath.includes('preload'))
|
|
332
|
+
continue;
|
|
333
|
+
const content = await readFile(file, 'utf-8');
|
|
334
|
+
const lines = content.split('\n');
|
|
335
|
+
let match;
|
|
336
|
+
while ((match = invokePattern.exec(content)) !== null) {
|
|
337
|
+
const channel = match[1];
|
|
338
|
+
const lineIndex = content.slice(0, match.index).split('\n').length - 1;
|
|
339
|
+
// Look at surrounding context (~20 lines after) for .data access
|
|
340
|
+
const surroundingLines = lines.slice(lineIndex, lineIndex + 20).join('\n');
|
|
341
|
+
// Check if the code accesses .data on the result (unwrapping the wrapper)
|
|
342
|
+
const unwraps = /\.(data)\b/.test(surroundingLines);
|
|
343
|
+
preloadChannels.set(channel, { file: relPath, unwraps });
|
|
344
|
+
}
|
|
345
|
+
}
|
|
346
|
+
if (preloadChannels.size === 0)
|
|
347
|
+
return [];
|
|
348
|
+
// Classify handler return shapes
|
|
349
|
+
const handlePattern = /ipcMain\.handle\(\s*['"`]([^'"`]+)['"`]/g;
|
|
350
|
+
const constHandlePattern = /ipcMain\.handle\(\s*([\w.]+)\s*,/g;
|
|
351
|
+
const handlerChannels = new Map();
|
|
352
|
+
for (const file of allFiles) {
|
|
353
|
+
const relPath = relative(this.projectPath, file);
|
|
354
|
+
if (!relPath.includes('main') && !relPath.includes('ipc') && !relPath.includes('handler'))
|
|
355
|
+
continue;
|
|
356
|
+
const content = await readFile(file, 'utf-8');
|
|
357
|
+
const lines = content.split('\n');
|
|
358
|
+
// String-literal handle registrations
|
|
359
|
+
let match;
|
|
360
|
+
while ((match = handlePattern.exec(content)) !== null) {
|
|
361
|
+
const channel = match[1];
|
|
362
|
+
const lineIndex = content.slice(0, match.index).split('\n').length - 1;
|
|
363
|
+
const handlerLines = lines.slice(lineIndex, lineIndex + 60).join('\n');
|
|
364
|
+
const wrapped = /return\s*\{\s*success:\s*true,\s*data:/.test(handlerLines);
|
|
365
|
+
handlerChannels.set(channel, { file: relPath, wrapped });
|
|
366
|
+
}
|
|
367
|
+
// Constant-based handle registrations (e.g., ipcMain.handle(IPC_CHANNELS.QUERY_EXECUTE, ...))
|
|
368
|
+
while ((match = constHandlePattern.exec(content)) !== null) {
|
|
369
|
+
const constRef = match[1];
|
|
370
|
+
const resolvedChannel = constantMap.get(constRef);
|
|
371
|
+
if (!resolvedChannel)
|
|
372
|
+
continue;
|
|
373
|
+
if (handlerChannels.has(resolvedChannel))
|
|
374
|
+
continue;
|
|
375
|
+
const lineIndex = content.slice(0, match.index).split('\n').length - 1;
|
|
376
|
+
const handlerLines = lines.slice(lineIndex, lineIndex + 60).join('\n');
|
|
377
|
+
const wrapped = /return\s*\{\s*success:\s*true,\s*data:/.test(handlerLines);
|
|
378
|
+
handlerChannels.set(resolvedChannel, { file: relPath, wrapped });
|
|
379
|
+
}
|
|
380
|
+
}
|
|
381
|
+
// Cross-reference
|
|
382
|
+
const checks = [];
|
|
383
|
+
for (const [channel, preload] of preloadChannels) {
|
|
384
|
+
const handler = handlerChannels.get(channel);
|
|
385
|
+
if (!handler)
|
|
386
|
+
continue; // Missing handlers caught by checkIpcHandlerCoverage
|
|
387
|
+
if (handler.wrapped && !preload.unwraps) {
|
|
388
|
+
checks.push({
|
|
389
|
+
type: 'response_shape',
|
|
390
|
+
verdict: 'FAIL',
|
|
391
|
+
evidence: `Channel '${channel}': handler in ${handler.file} wraps response in { success, data } but preload in ${preload.file} passes it through without unwrapping .data. Renderer will see { success, data: {...} } instead of the inner data.`,
|
|
392
|
+
file: preload.file,
|
|
393
|
+
severity: 'critical',
|
|
394
|
+
});
|
|
395
|
+
}
|
|
396
|
+
else if (!handler.wrapped && preload.unwraps) {
|
|
397
|
+
checks.push({
|
|
398
|
+
type: 'response_shape',
|
|
399
|
+
verdict: 'FAIL',
|
|
400
|
+
evidence: `Channel '${channel}': handler in ${handler.file} returns raw data but preload in ${preload.file} tries to unwrap .data. Renderer will get undefined.`,
|
|
401
|
+
file: preload.file,
|
|
402
|
+
severity: 'critical',
|
|
403
|
+
});
|
|
404
|
+
}
|
|
405
|
+
else {
|
|
406
|
+
checks.push({
|
|
407
|
+
type: 'response_shape',
|
|
408
|
+
verdict: 'PASS',
|
|
409
|
+
evidence: `Channel '${channel}': handler (${handler.file}) and preload (${preload.file}) response shapes are consistent.`,
|
|
410
|
+
file: preload.file,
|
|
411
|
+
severity: 'critical',
|
|
412
|
+
});
|
|
413
|
+
}
|
|
414
|
+
}
|
|
415
|
+
return checks;
|
|
416
|
+
}
|
|
300
417
|
// ── Helpers ────────────────────────────────────────────────
|
|
301
418
|
/** Check if the project has preload files (indicating Electron). */
|
|
302
419
|
async hasPreloadFiles() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"integration-verifier.js","sourceRoot":"","sources":["../../src/runtime/integration-verifier.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"integration-verifier.js","sourceRoot":"","sources":["../../src/runtime/integration-verifier.ts"],"names":[],"mappings":"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"}
|
package/dist/runtime/types.d.ts
CHANGED
|
@@ -1434,7 +1434,7 @@ export interface CrossFeatureCheck {
|
|
|
1434
1434
|
readonly verdict: 'PASS' | 'FAIL';
|
|
1435
1435
|
readonly evidence: string;
|
|
1436
1436
|
}
|
|
1437
|
-
export type IntegrationCheckType = 'routing_provider' | 'ipc_handler_coverage' | 'stub_function' | 'unreachable_page';
|
|
1437
|
+
export type IntegrationCheckType = 'routing_provider' | 'ipc_handler_coverage' | 'stub_function' | 'unreachable_page' | 'response_shape';
|
|
1438
1438
|
export interface IntegrationCheck {
|
|
1439
1439
|
readonly type: IntegrationCheckType;
|
|
1440
1440
|
readonly verdict: 'PASS' | 'FAIL';
|
|
@@ -1496,7 +1496,7 @@ export interface AppCreateOptions {
|
|
|
1496
1496
|
readonly maxBuildRepairAttempts?: number;
|
|
1497
1497
|
readonly skipBuildVerification?: boolean;
|
|
1498
1498
|
}
|
|
1499
|
-
export type CheckStrategyType = 'pattern_presence' | 'pattern_absence' | 'cross_reference' | 'import_reachability';
|
|
1499
|
+
export type CheckStrategyType = 'pattern_presence' | 'pattern_absence' | 'cross_reference' | 'import_reachability' | 'response_shape';
|
|
1500
1500
|
export interface PatternPresenceStrategy {
|
|
1501
1501
|
readonly type: 'pattern_presence';
|
|
1502
1502
|
readonly fileGlob: string;
|
|
@@ -1523,7 +1523,16 @@ export interface ImportReachabilityStrategy {
|
|
|
1523
1523
|
readonly pageGlob: string;
|
|
1524
1524
|
readonly entryPattern: string;
|
|
1525
1525
|
}
|
|
1526
|
-
export
|
|
1526
|
+
export interface ResponseShapeStrategy {
|
|
1527
|
+
readonly type: 'response_shape';
|
|
1528
|
+
readonly preloadGlob: string;
|
|
1529
|
+
readonly handlerGlob: string;
|
|
1530
|
+
readonly invokePattern: string;
|
|
1531
|
+
readonly handlePattern: string;
|
|
1532
|
+
readonly wrappedReturnPattern: string;
|
|
1533
|
+
readonly unwrapAccessPattern: string;
|
|
1534
|
+
}
|
|
1535
|
+
export type CheckStrategy = PatternPresenceStrategy | PatternAbsenceStrategy | CrossReferenceStrategy | ImportReachabilityStrategy | ResponseShapeStrategy;
|
|
1527
1536
|
export interface IntegrationCheckDefinition {
|
|
1528
1537
|
readonly id: string;
|
|
1529
1538
|
readonly name: string;
|