code-auditor-mcp 3.4.10 → 3.4.12

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (86) hide show
  1. package/.claude-plugin/marketplace.json +10 -3
  2. package/CHANGELOG.md +141 -1
  3. package/dist/analyzers/documentationAnalyzer.d.ts.map +1 -1
  4. package/dist/analyzers/documentationAnalyzer.js +11 -59
  5. package/dist/analyzers/documentationAnalyzer.js.map +1 -1
  6. package/dist/analyzers/invariantsAnalyzer.d.ts.map +1 -1
  7. package/dist/analyzers/invariantsAnalyzer.js +10 -3
  8. package/dist/analyzers/invariantsAnalyzer.js.map +1 -1
  9. package/dist/analyzers/provenance.d.ts +10 -0
  10. package/dist/analyzers/provenance.d.ts.map +1 -1
  11. package/dist/analyzers/provenance.js +41 -11
  12. package/dist/analyzers/provenance.js.map +1 -1
  13. package/dist/analyzers/ruleRegistry.d.ts +8 -0
  14. package/dist/analyzers/ruleRegistry.d.ts.map +1 -1
  15. package/dist/analyzers/ruleRegistry.js +28 -5
  16. package/dist/analyzers/ruleRegistry.js.map +1 -1
  17. package/dist/analyzers/universal/UniversalConventionsAnalyzer.d.ts.map +1 -1
  18. package/dist/analyzers/universal/UniversalConventionsAnalyzer.js +9 -7
  19. package/dist/analyzers/universal/UniversalConventionsAnalyzer.js.map +1 -1
  20. package/dist/analyzers/universal/UniversalDataAccessAnalyzer.d.ts +85 -0
  21. package/dist/analyzers/universal/UniversalDataAccessAnalyzer.d.ts.map +1 -1
  22. package/dist/analyzers/universal/UniversalDataAccessAnalyzer.js +422 -2
  23. package/dist/analyzers/universal/UniversalDataAccessAnalyzer.js.map +1 -1
  24. package/dist/analyzers/universal/UniversalSchemaAnalyzer.d.ts +2 -0
  25. package/dist/analyzers/universal/UniversalSchemaAnalyzer.d.ts.map +1 -1
  26. package/dist/analyzers/universal/UniversalSchemaAnalyzer.js +3 -0
  27. package/dist/analyzers/universal/UniversalSchemaAnalyzer.js.map +1 -1
  28. package/dist/analyzers/universal/UniversalStylesAnalyzer.d.ts.map +1 -1
  29. package/dist/analyzers/universal/UniversalStylesAnalyzer.js +9 -1
  30. package/dist/analyzers/universal/UniversalStylesAnalyzer.js.map +1 -1
  31. package/dist/auditRunner.d.ts.map +1 -1
  32. package/dist/auditRunner.js +30 -30
  33. package/dist/auditRunner.js.map +1 -1
  34. package/dist/cli.js +33 -0
  35. package/dist/cli.js.map +1 -1
  36. package/dist/conventions/conventionMiner.d.ts +5 -4
  37. package/dist/conventions/conventionMiner.d.ts.map +1 -1
  38. package/dist/conventions/conventionMiner.js +37 -17
  39. package/dist/conventions/conventionMiner.js.map +1 -1
  40. package/dist/grammars/tree-sitter-scss.wasm +0 -0
  41. package/dist/invariants/ruleEngine.d.ts +23 -0
  42. package/dist/invariants/ruleEngine.d.ts.map +1 -1
  43. package/dist/invariants/ruleEngine.js +11 -115
  44. package/dist/invariants/ruleEngine.js.map +1 -1
  45. package/dist/languages/tree-sitter/TreeSitterCssAdapter.d.ts +5 -5
  46. package/dist/languages/tree-sitter/TreeSitterCssAdapter.d.ts.map +1 -1
  47. package/dist/languages/tree-sitter/TreeSitterCssAdapter.js +11 -9
  48. package/dist/languages/tree-sitter/TreeSitterCssAdapter.js.map +1 -1
  49. package/dist/languages/tree-sitter/parser.d.ts.map +1 -1
  50. package/dist/languages/tree-sitter/parser.js +2 -0
  51. package/dist/languages/tree-sitter/parser.js.map +1 -1
  52. package/dist/languages/typescript/TreeSitterTypeScriptAdapter.d.ts +13 -0
  53. package/dist/languages/typescript/TreeSitterTypeScriptAdapter.d.ts.map +1 -1
  54. package/dist/languages/typescript/TreeSitterTypeScriptAdapter.js +242 -24
  55. package/dist/languages/typescript/TreeSitterTypeScriptAdapter.js.map +1 -1
  56. package/dist/mcp-tools/whitelistTools.d.ts +1 -1
  57. package/dist/mcp-tools-shared.d.ts.map +1 -1
  58. package/dist/mcp-tools-shared.js +1 -0
  59. package/dist/mcp-tools-shared.js.map +1 -1
  60. package/dist/mcpAuditJobs.d.ts.map +1 -1
  61. package/dist/mcpAuditJobs.js +1 -0
  62. package/dist/mcpAuditJobs.js.map +1 -1
  63. package/dist/pipeline.d.ts +22 -1
  64. package/dist/pipeline.d.ts.map +1 -1
  65. package/dist/pipeline.js +157 -14
  66. package/dist/pipeline.js.map +1 -1
  67. package/dist/pipelineAdapters.d.ts +10 -0
  68. package/dist/pipelineAdapters.d.ts.map +1 -1
  69. package/dist/pipelineAdapters.js +277 -48
  70. package/dist/pipelineAdapters.js.map +1 -1
  71. package/dist/styles/cssAstExtractor.d.ts +61 -0
  72. package/dist/styles/cssAstExtractor.d.ts.map +1 -0
  73. package/dist/styles/cssAstExtractor.js +617 -0
  74. package/dist/styles/cssAstExtractor.js.map +1 -0
  75. package/dist/styles/styleExtractor.d.ts +2 -2
  76. package/dist/styles/styleExtractor.d.ts.map +1 -1
  77. package/dist/styles/styleExtractor.js +69 -16
  78. package/dist/styles/styleExtractor.js.map +1 -1
  79. package/dist/styles/styleIndexer.d.ts.map +1 -1
  80. package/dist/styles/styleIndexer.js +4 -0
  81. package/dist/styles/styleIndexer.js.map +1 -1
  82. package/dist/types.d.ts +20 -0
  83. package/dist/types.d.ts.map +1 -1
  84. package/dist/types.js.map +1 -1
  85. package/package.json +3 -2
  86. package/plugin/.claude-plugin/plugin.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"pipeline.js","sourceRoot":"","sources":["../src/pipeline.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pipeline.js","sourceRoot":"","sources":["../src/pipeline.ts"],"names":[],"mappings":"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"}
@@ -52,10 +52,20 @@ export interface ReactVisitorBundle {
52
52
  finalizeCrossComponent: (config: any) => Promise<Violation[]>;
53
53
  }
54
54
  export declare function createReactVisitor(): ReactVisitorBundle;
55
+ /**
56
+ * Styles CSS visitor — extracts declarations, tokens, and class usage from
57
+ * tree-sitter-css and tree-sitter-scss parsed ASTs. Replaces the regex-based
58
+ * CSS/SCSS extraction in styleExtractor.ts for .css and .scss files.
59
+ */
60
+ export declare function createStylesCssVisitor(): Stage2Visitor;
55
61
  /**
56
62
  * Styles reducer — runs all style detectors on existing style_* tables.
57
63
  * Uses the analyzer.analyze([]) pattern: passes an empty file list so the
58
64
  * analyzer skips file iteration and only queries the DB.
65
+ *
66
+ * Spec 26 Phase 2: CSS facts from the styles-css visitor are inserted into
67
+ * the DB before the analyzer runs. For .css files, the AST extraction replaces
68
+ * the regex-based styleIndexer path (which now skips .css files).
59
69
  */
60
70
  export declare function createStylesReducer(): Stage3Reducer;
61
71
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"pipelineAdapters.d.ts","sourceRoot":"","sources":["../src/pipelineAdapters.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAIH,OAAO,KAAK,EAEV,aAAa,EACb,aAAa,EACb,aAAa,EACb,SAAS,EAGV,MAAM,YAAY,CAAC;AA0CpB;;;;GAIG;AACH,wBAAgB,wBAAwB,IAAI,aAAa,CAgBxD;AAID,wBAAgB,kBAAkB,IAAI,aAAa,CAyBlD;AAID,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,aAAa,CAAC;IACvB,wEAAwE;IACxE,WAAW,EAAE,MAAM,OAAO,CAAC,KAAK,CAAC;QAC/B,eAAe,EAAE,MAAM,CAAC;QACxB,KAAK,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAC;QACpE,KAAK,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAC;QACpE,UAAU,EAAE,MAAM,CAAC;KACpB,CAAC,CAAC,CAAC;CACL;AAED,wBAAgB,gBAAgB,CAAC,iBAAiB,CAAC,EAAE,GAAG,EAAE,GAAG,gBAAgB,CAqC5E;AAID,wBAAgB,uBAAuB,IAAI,aAAa,CAsBvD;AAID,wBAAgB,0BAA0B,IAAI,aAAa,CAsB1D;AAiCD,wBAAgB,0BAA0B,IAAI,aAAa,CAoP1D;AAID,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,aAAa,CAAC;IACvB;;;OAGG;IACH,sBAAsB,EAAE,CAAC,MAAM,EAAE,GAAG,KAAK,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC;CAC/D;AAED,wBAAgB,kBAAkB,IAAI,kBAAkB,CAgFvD;AAID;;;;GAIG;AACH,wBAAgB,mBAAmB,IAAI,aAAa,CA0BnD;AAID;;;;GAIG;AACH,wBAAgB,wBAAwB,IAAI,aAAa,CA8BxD;AAID;;;;GAIG;AACH,wBAAgB,wBAAwB,IAAI,aAAa,CA6BxD;AAID;;;;GAIG;AACH,wBAAgB,uBAAuB,IAAI,aAAa,CAuCvD;AAaD;;;GAGG;AACH,wBAAgB,sBAAsB,IAAI,aAAa,CAgBtD;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,IAAI,aAAa,CAuHvD;AAED;;GAEG;AACH,wBAAgB,yBAAyB,IAAI,aAAa,CAsBzD;AAED;;GAEG;AACH,wBAAgB,uBAAuB,IAAI,aAAa,CAsBvD;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,IAAI,aAAa,CAuInD"}
1
+ {"version":3,"file":"pipelineAdapters.d.ts","sourceRoot":"","sources":["../src/pipelineAdapters.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAKH,OAAO,KAAK,EAEV,aAAa,EACb,aAAa,EACb,aAAa,EACb,SAAS,EAGV,MAAM,YAAY,CAAC;AA0CpB;;;;GAIG;AACH,wBAAgB,wBAAwB,IAAI,aAAa,CAgBxD;AAID,wBAAgB,kBAAkB,IAAI,aAAa,CAyBlD;AAID,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,aAAa,CAAC;IACvB,wEAAwE;IACxE,WAAW,EAAE,MAAM,OAAO,CAAC,KAAK,CAAC;QAC/B,eAAe,EAAE,MAAM,CAAC;QACxB,KAAK,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAC;QACpE,KAAK,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAC;QACpE,UAAU,EAAE,MAAM,CAAC;KACpB,CAAC,CAAC,CAAC;CACL;AAED,wBAAgB,gBAAgB,CAAC,iBAAiB,CAAC,EAAE,GAAG,EAAE,GAAG,gBAAgB,CAqC5E;AAID,wBAAgB,uBAAuB,IAAI,aAAa,CAsBvD;AAID,wBAAgB,0BAA0B,IAAI,aAAa,CAsB1D;AAiCD,wBAAgB,0BAA0B,IAAI,aAAa,CAmU1D;AAID,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,aAAa,CAAC;IACvB;;;OAGG;IACH,sBAAsB,EAAE,CAAC,MAAM,EAAE,GAAG,KAAK,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC;CAC/D;AAED,wBAAgB,kBAAkB,IAAI,kBAAkB,CAgFvD;AAMD;;;;GAIG;AACH,wBAAgB,sBAAsB,IAAI,aAAa,CA6BtD;AAED;;;;;;;;GAQG;AACH,wBAAgB,mBAAmB,IAAI,aAAa,CAqFnD;AAID;;;;GAIG;AACH,wBAAgB,wBAAwB,IAAI,aAAa,CA0CxD;AAID;;;;GAIG;AACH,wBAAgB,wBAAwB,IAAI,aAAa,CA6BxD;AAID;;;;GAIG;AACH,wBAAgB,uBAAuB,IAAI,aAAa,CAwFvD;AAaD;;;GAGG;AACH,wBAAgB,sBAAsB,IAAI,aAAa,CAgBtD;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,IAAI,aAAa,CAyIvD;AAED;;GAEG;AACH,wBAAgB,yBAAyB,IAAI,aAAa,CAsBzD;AAED;;GAEG;AACH,wBAAgB,uBAAuB,IAAI,aAAa,CAsBvD;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,IAAI,aAAa,CA+KnD"}
@@ -16,6 +16,7 @@
16
16
  * - Invariants: Stage 3 reducer — receives full file list, runs rule engine
17
17
  */
18
18
  import { createHash } from 'crypto';
19
+ import path from 'path';
19
20
  import { RULE_REGISTRY } from './analyzers/ruleRegistry.js';
20
21
  import { walkAST, isExported, getLineAndColumn, calculateComplexity, getFunctionBody, } from './languages/adapterBridge.js';
21
22
  import { buildImportMap, extractFunctionCalls, } from './utils/dependencyExtractor.js';
@@ -379,10 +380,70 @@ export function createFunctionIndexVisitor() {
379
380
  conflictKey: 'name, file_path, line_number',
380
381
  });
381
382
  }
382
- return { violations: [], facts: {}, indexFacts };
383
+ // ── Extract imports and exports from AST for downstream consumers ──
384
+ // B1: Replaces regex-based extractImports()/extractExportedSymbols() in
385
+ // ruleEngine.ts. Also consumed by conventions (B2: detectExportForm).
386
+ const langAdapter = _adapter;
387
+ const langAst = ast;
388
+ // Static imports via the adapter's canonical extractImports()
389
+ const staticImportInfos = langAdapter.extractImports(langAst);
390
+ const staticImports = staticImportInfos.map((imp) => ({
391
+ moduleSpecifier: imp.source,
392
+ isStatic: true,
393
+ isDynamic: false,
394
+ isRequire: false,
395
+ line: imp.location.start.line,
396
+ }));
397
+ // Dynamic import() and require() — first attempt with pure NodePattern
398
+ // Plan note: import keyword is an anonymous tree-sitter node, so
399
+ // hasChild cannot see it. We use `custom` with raw node access.
400
+ const dynamicCallNodes = langAdapter.findNodes(langAst, {
401
+ type: 'call_expression',
402
+ custom: (node) => {
403
+ const raw = node.raw;
404
+ const fn = raw?.firstChild;
405
+ return (fn?.type === 'import') ||
406
+ (fn?.type === 'identifier' && fn.text === 'require');
407
+ },
408
+ });
409
+ const dynamicImports = [];
410
+ for (const node of dynamicCallNodes) {
411
+ const raw = node.raw;
412
+ const fn = raw?.firstChild;
413
+ const isImport = fn?.type === 'import';
414
+ const isRequire = !isImport && (fn?.type === 'identifier' && fn.text === 'require');
415
+ // Walk the raw tree to find the string argument
416
+ const argsNode = raw?.children?.find((c) => c.type === 'arguments');
417
+ const stringNode = argsNode?.children?.find((c) => c.type === 'string');
418
+ if (stringNode) {
419
+ const text = stringNode.text;
420
+ if (text.length >= 2) {
421
+ dynamicImports.push({
422
+ moduleSpecifier: text.slice(1, -1), // strip quotes
423
+ isStatic: false,
424
+ isDynamic: isImport,
425
+ isRequire,
426
+ line: node.location.start.line,
427
+ });
428
+ }
429
+ }
430
+ }
431
+ // Exports via the adapter's canonical extractExports()
432
+ // Returns ExportInfo[] with isDefault — used by both invariants and conventions (B2)
433
+ const exportInfos = langAdapter.extractExports(langAst);
434
+ return {
435
+ violations: [],
436
+ facts: {
437
+ [filePath]: {
438
+ imports: [...staticImports, ...dynamicImports],
439
+ exports: exportInfos,
440
+ },
441
+ },
442
+ indexFacts,
443
+ };
383
444
  },
384
445
  defaultConfig: {},
385
- description: 'Indexes function definitions for conventions and cross-domain analysis',
446
+ description: 'Indexes function definitions and extracts imports/exports for downstream analyzers',
386
447
  category: 'infrastructure',
387
448
  };
388
449
  }
@@ -457,10 +518,48 @@ export function createReactVisitor() {
457
518
  };
458
519
  }
459
520
  // ── Styles reducer (stage 3) ─────────────────────────────────────────────────
521
+ // ── Styles CSS visitor (Spec 26 Phase 2) ───────────────────────────────────────
522
+ /**
523
+ * Styles CSS visitor — extracts declarations, tokens, and class usage from
524
+ * tree-sitter-css and tree-sitter-scss parsed ASTs. Replaces the regex-based
525
+ * CSS/SCSS extraction in styleExtractor.ts for .css and .scss files.
526
+ */
527
+ export function createStylesCssVisitor() {
528
+ return {
529
+ name: 'styles-css',
530
+ stage: 'visitor',
531
+ extensions: ['.css', '.scss'],
532
+ getRuleIds: () => [],
533
+ async visit(ast, adapter, context, sourceCode) {
534
+ // Lazy-load to avoid circular dependency issues at module load time
535
+ const { extractDeclarationsFromCSSAst, extractTokensFromCSSAst, extractClassUsageFromCSSAst } = await import('./styles/cssAstExtractor.js');
536
+ const cssAst = ast;
537
+ const cssAdapter = adapter;
538
+ const filePath = context.filePath;
539
+ return {
540
+ violations: [],
541
+ facts: {
542
+ [filePath]: {
543
+ declarations: extractDeclarationsFromCSSAst(cssAst, cssAdapter, filePath, sourceCode),
544
+ tokens: extractTokensFromCSSAst(cssAst, cssAdapter, filePath),
545
+ classUsage: extractClassUsageFromCSSAst(cssAst, cssAdapter, filePath),
546
+ },
547
+ },
548
+ };
549
+ },
550
+ defaultConfig: {},
551
+ description: 'Extracts CSS declarations from tree-sitter ASTs (.css and .scss)',
552
+ category: 'style',
553
+ };
554
+ }
460
555
  /**
461
556
  * Styles reducer — runs all style detectors on existing style_* tables.
462
557
  * Uses the analyzer.analyze([]) pattern: passes an empty file list so the
463
558
  * analyzer skips file iteration and only queries the DB.
559
+ *
560
+ * Spec 26 Phase 2: CSS facts from the styles-css visitor are inserted into
561
+ * the DB before the analyzer runs. For .css files, the AST extraction replaces
562
+ * the regex-based styleIndexer path (which now skips .css files).
464
563
  */
465
564
  export function createStylesReducer() {
466
565
  return {
@@ -472,6 +571,33 @@ export function createStylesReducer() {
472
571
  if (!context.indexHandle)
473
572
  return { violations: [], facts: {} };
474
573
  try {
574
+ // ── Insert CSS visitor facts into style_* tables ──────────────────────
575
+ const cssFacts = _allFacts['styles-css'];
576
+ if (cssFacts) {
577
+ const run = context.indexHandle.run.bind(context.indexHandle);
578
+ for (const [filePath, facts] of Object.entries(cssFacts)) {
579
+ // Delete old entries for this file (replaces the styleIndexer path)
580
+ run('DELETE FROM style_declarations WHERE file_path = ?', [filePath]);
581
+ run('DELETE FROM style_tokens WHERE file_path = ?', [filePath]);
582
+ run('DELETE FROM style_class_usage WHERE file_path = ?', [filePath]);
583
+ // Compute content hash for the file
584
+ const contentStr = JSON.stringify({ declarations: facts.declarations.length, tokens: facts.tokens.length, classUsage: facts.classUsage.length });
585
+ const contentHash = createHash('sha256').update(contentStr).digest('hex').slice(0, 16);
586
+ // Insert declarations
587
+ for (const decl of facts.declarations) {
588
+ run('INSERT INTO style_declarations (property, raw_value, normalized_value, mechanism, file_path, line, context, variant_context, token_ref, content_hash) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)', [decl.property, decl.rawValue, JSON.stringify(decl.normalizedValue), decl.mechanism, decl.filePath, decl.line, decl.context, decl.variantContext, decl.tokenRef, contentHash]);
589
+ }
590
+ // Insert tokens
591
+ for (const tok of facts.tokens) {
592
+ run('INSERT INTO style_tokens (name, value, file_path, mechanism) VALUES (?, ?, ?, ?)', [tok.name, tok.value, tok.filePath, tok.mechanism]);
593
+ }
594
+ // Insert class usage
595
+ for (const cu of facts.classUsage) {
596
+ run('INSERT INTO style_class_usage (class_name, file_path, line, mechanism, unresolvable) VALUES (?, ?, ?, ?, ?)', [cu.className, cu.filePath, cu.line, cu.mechanism, cu.unresolvable ? 1 : 0]);
597
+ }
598
+ }
599
+ }
600
+ // ── Run the analyzer (queries the now-populated style_* tables) ───────
475
601
  const { UniversalStylesAnalyzer } = await import('./analyzers/universal/UniversalStylesAnalyzer.js');
476
602
  const analyzer = new UniversalStylesAnalyzer();
477
603
  const result = await analyzer.analyze([], { ...context.config, indexHandle: context.indexHandle });
@@ -512,7 +638,14 @@ export function createConventionsReducer() {
512
638
  const sourceMap = fileSources
513
639
  ? new Map(Object.entries(fileSources))
514
640
  : undefined;
515
- const config = { ...context.config, indexHandle: context.indexHandle, projectRoot: context.projectRoot, sourceMap };
641
+ // B2: Build exports map from function-index visitor facts (AST-extracted)
642
+ const functionIndexFacts = _allFacts['function-index'];
643
+ const exportsMap = functionIndexFacts
644
+ ? new Map(Object.entries(functionIndexFacts)
645
+ .filter(([, data]) => data?.exports?.length)
646
+ .map(([filePath, data]) => [filePath, data.exports]))
647
+ : undefined;
648
+ const config = { ...context.config, indexHandle: context.indexHandle, projectRoot: context.projectRoot, sourceMap, exportsMap };
516
649
  const result = await analyzer.analyze([], config);
517
650
  const factsConsumed = context.indexHandle.count('conventions');
518
651
  return { violations: result.violations ?? [], facts: {}, factsConsumed };
@@ -582,6 +715,17 @@ export function createInvariantsReducer() {
582
715
  getRuleIds: () => getRuleIdsFor('invariants'),
583
716
  async reduce(_allFacts, context) {
584
717
  try {
718
+ // Auto-disable when no rules are configured — signal notRun to the
719
+ // pipeline so coverage reports invariants rules as notApplicable with
720
+ // an accurate reason (Spec 05 R3.1, Spec 27 criterion 5).
721
+ const rules = context.config.rules;
722
+ if (!rules || (Array.isArray(rules) && rules.length === 0)) {
723
+ return {
724
+ violations: [],
725
+ facts: {},
726
+ notRunReason: 'invariants disabled — no rules configured',
727
+ };
728
+ }
585
729
  const { analyzeInvariants } = await import('./analyzers/invariantsAnalyzer.js');
586
730
  // Full file list is in _infra.files (merged into context.config via pipeline)
587
731
  const files = context.config.files ?? [];
@@ -593,7 +737,36 @@ export function createInvariantsReducer() {
593
737
  const knownFiles = sourceMap
594
738
  ? new Set(sourceMap.keys())
595
739
  : undefined;
596
- const result = await analyzeInvariants(files, { ...context.config, sourceMap, knownFiles }, { projectRoot: context.projectRoot, indexHandle: context.indexHandle });
740
+ // B1: Build fileData from the function-index visitor's AST-extracted
741
+ // imports/exports — replaces regex-based extractImports/extractExportedSymbols
742
+ const functionIndexFacts = _allFacts['function-index'];
743
+ let fileData;
744
+ if (functionIndexFacts) {
745
+ fileData = new Map();
746
+ const projectRoot = context.projectRoot;
747
+ for (const [filePath, data] of Object.entries(functionIndexFacts)) {
748
+ if (data && (data.imports || data.exports)) {
749
+ // Normalize absolute paths to project-relative (matching checkRules normalization)
750
+ const normalized = path.isAbsolute(filePath)
751
+ ? path.relative(projectRoot, filePath)
752
+ : filePath;
753
+ fileData.set(normalized, {
754
+ imports: (data.imports || []).map((imp) => ({
755
+ moduleSpecifier: imp.moduleSpecifier,
756
+ isStatic: imp.isStatic,
757
+ isDynamic: imp.isDynamic,
758
+ isRequire: imp.isRequire,
759
+ line: imp.line,
760
+ })),
761
+ exports: (data.exports || []).map((exp) => ({
762
+ name: exp.name,
763
+ line: exp.location?.start?.line ?? 0,
764
+ })),
765
+ });
766
+ }
767
+ }
768
+ }
769
+ const result = await analyzeInvariants(files, { ...context.config, sourceMap, knownFiles, fileData }, { projectRoot: context.projectRoot, indexHandle: context.indexHandle });
597
770
  return {
598
771
  violations: result.violations ?? [],
599
772
  facts: {},
@@ -665,6 +838,24 @@ export function createSchemaCodeVisitor() {
665
838
  while ((dm = drizzleRe.exec(sourceCode)) !== null) {
666
839
  ormTables.push(dm[1]);
667
840
  }
841
+ // Extract DDL from sql.exec(...) string literals inside Durable Object classes.
842
+ // These are CREATE TABLE / DROP TABLE statements at runtime that migration
843
+ // discovery never sees. Extracting them completes the authoritative catalog
844
+ // so unknown-table doesn't false-positive on DO-local tables.
845
+ const doDDL = [];
846
+ const doTemplateDDL = /`([^`]*(?:CREATE|DROP|ALTER)\s+(?:TABLE|VIRTUAL\s+TABLE)\s+[^`]+)`/gis;
847
+ const doStringDDL = /(["'])((?:\s*(?:CREATE|DROP|ALTER)\s+(?:TABLE|VIRTUAL\s+TABLE)\s+[^"']+))\1/gis;
848
+ let ddlMatch;
849
+ while ((ddlMatch = doTemplateDDL.exec(sourceCode)) !== null) {
850
+ const sql = ddlMatch[1].trim();
851
+ if (sql)
852
+ doDDL.push(sql);
853
+ }
854
+ while ((ddlMatch = doStringDDL.exec(sourceCode)) !== null) {
855
+ const sql = ddlMatch[2].trim();
856
+ if (sql)
857
+ doDDL.push(sql);
858
+ }
668
859
  // Build provenance context for this file — defaults from DEFAULT_SCHEMA_CONFIG
669
860
  const schemaConfig = (context.config ?? {});
670
861
  const detectionMode = schemaConfig.detection?.mode ?? 'hybrid';
@@ -673,13 +864,14 @@ export function createSchemaCodeVisitor() {
673
864
  dbReceiverNames: schemaConfig.dbReceiverNames ?? defaults.dbReceiverNames,
674
865
  dbBindingNames: schemaConfig.dbBindingNames ?? defaults.dbBindingNames,
675
866
  dbCallMethods: schemaConfig.dbCallMethods ?? defaults.dbCallMethods,
867
+ dbWrapperNames: schemaConfig.dbWrapperNames ?? defaults.dbWrapperNames,
676
868
  });
677
869
  // File gate — skip files without DB usage
678
870
  if (!a.passesFileGate(context.filePath, sourceCode, schemaConfig, provenanceContext)) {
679
- return {
680
- violations: [],
681
- facts: { [context.filePath]: { tableRefs: [], ormTables } },
682
- };
871
+ const facts = { [context.filePath]: { tableRefs: [], ormTables } };
872
+ if (doDDL.length > 0)
873
+ facts[context.filePath].ddlSource = doDDL.join(';\n');
874
+ return { violations: [], facts };
683
875
  }
684
876
  // Build known-tables set from schemas config (pre-pipeline + DB-loaded schemas)
685
877
  const schemas = schemaConfig.schemas ?? [];
@@ -728,20 +920,21 @@ export function createSchemaCodeVisitor() {
728
920
  // Check SQL injection
729
921
  violations.push(...a.checkSQLInjection(ast, adapter, sourceCode));
730
922
  // Emit facts for the Stage 3 reducer
923
+ const fileFacts = {
924
+ tableRefs: tableRefs.map((r) => ({
925
+ table: r.table,
926
+ type: r.type,
927
+ line: r.location.line,
928
+ column: r.location.column,
929
+ context: r.context,
930
+ })),
931
+ ormTables,
932
+ };
933
+ if (doDDL.length > 0)
934
+ fileFacts.ddlSource = doDDL.join(';\n');
731
935
  return {
732
936
  violations,
733
- facts: {
734
- [context.filePath]: {
735
- tableRefs: tableRefs.map((r) => ({
736
- table: r.table,
737
- type: r.type,
738
- line: r.location.line,
739
- column: r.location.column,
740
- context: r.context,
741
- })),
742
- ormTables,
743
- },
744
- },
937
+ facts: { [context.filePath]: fileFacts },
745
938
  indexFacts: indexFacts.length > 0 ? indexFacts : undefined,
746
939
  };
747
940
  },
@@ -795,7 +988,7 @@ export function createSchemaJsonVisitor() {
795
988
  }
796
989
  return {
797
990
  violations: [],
798
- facts: { [context.filePath]: { jsonParsed: parsed !== null, jsonRaw: sourceCode } },
991
+ facts: { [context.filePath]: { jsonParsed: parsed, jsonRaw: sourceCode } },
799
992
  };
800
993
  },
801
994
  defaultConfig: {},
@@ -875,32 +1068,62 @@ export function createSchemaReducer() {
875
1068
  knownTables.add(m);
876
1069
  }
877
1070
  // ── 2. Unknown-table detection ────────────────────────────────────────
878
- // Collect all table references across all files
879
- const allTableRefs = [];
880
- for (const [filePath, fact] of perFile()) {
881
- const refs = fact.tableRefs ?? [];
882
- for (const ref of refs) {
883
- allTableRefs.push({ file: filePath, ...ref });
1071
+ //
1072
+ // Fail-open guardrail: we can only accuse when the table catalog is
1073
+ // built from authoritative sources. Empty catalog → cannot accuse.
1074
+ //
1075
+ // Authoritative sources (independent of query sites, not circular):
1076
+ // • SQL migration files via schema-sql (step 1a)
1077
+ // • ORM model definitions via schema-code (step 1b)
1078
+ // • Prisma schemas via schema-prisma (step 1c)
1079
+ //
1080
+ // External config tables (schemas from CodeIndexDB, wrangler.toml
1081
+ // pre-discovered tables) are added as a bonus but are not required.
1082
+ //
1083
+ // NOT authoritative: tables inferred from query-text alone. Those
1084
+ // never enter the catalog (table refs are for checking, not building).
1085
+ // Merge external tables from config (bonus, not required).
1086
+ const externalKnownTables = schemaConfig.knownTables ?? [];
1087
+ for (const t of externalKnownTables)
1088
+ knownTables.add(t);
1089
+ // Also read the documented schemas config (structured {name, tables} objects).
1090
+ // The standalone UniversalSchemaAnalyzer.analyze() path reads schemas; the
1091
+ // pipeline reducer must read it too, otherwise configuring only schemas
1092
+ // silently triggers fail-open (knownTables.size === 0).
1093
+ const externalSchemas = schemaConfig.schemas ?? [];
1094
+ for (const schema of externalSchemas) {
1095
+ for (const table of schema.tables) {
1096
+ knownTables.add(table.name);
884
1097
  }
885
1098
  }
886
- // 10:1 fail-open ratio guard
887
- const unknownRefs = allTableRefs.filter(ref => !knownTables.has(ref.table));
888
- if (knownTables.size > 0 && unknownRefs.length / Math.max(knownTables.size, 1) <= 10) {
889
- for (const ref of unknownRefs) {
890
- const suggestions = a.getNearestTableSuggestions(ref.table, knownTables, 2);
891
- const msg = suggestions.length > 0
892
- ? `Reference to unknown table '${ref.table}' (${ref.type}). Did you mean: ${suggestions.join(', ')}?`
893
- : `Reference to unknown table '${ref.table}' (${ref.type})`;
894
- violations.push({
895
- file: ref.file,
896
- line: ref.line,
897
- column: ref.column,
898
- severity: 'suggestion',
899
- message: msg,
900
- rule: 'unknown-table',
901
- analyzer: 'schema',
902
- symbol: ref.table,
903
- });
1099
+ if (knownTables.size > 0) {
1100
+ // Collect all table references across all files
1101
+ const allTableRefs = [];
1102
+ for (const [filePath, fact] of perFile()) {
1103
+ const refs = fact.tableRefs ?? [];
1104
+ for (const ref of refs) {
1105
+ allTableRefs.push({ file: filePath, ...ref });
1106
+ }
1107
+ }
1108
+ // 10:1 fail-open ratio guard
1109
+ const unknownRefs = allTableRefs.filter(ref => !knownTables.has(ref.table));
1110
+ if (unknownRefs.length / Math.max(knownTables.size, 1) <= 10) {
1111
+ for (const ref of unknownRefs) {
1112
+ const suggestions = a.getNearestTableSuggestions(ref.table, knownTables, 2);
1113
+ const msg = suggestions.length > 0
1114
+ ? `Reference to unknown table '${ref.table}' (${ref.type}). Did you mean: ${suggestions.join(', ')}?`
1115
+ : `Reference to unknown table '${ref.table}' (${ref.type})`;
1116
+ violations.push({
1117
+ file: ref.file,
1118
+ line: ref.line,
1119
+ column: ref.column,
1120
+ severity: 'suggestion',
1121
+ message: msg,
1122
+ rule: 'unknown-table',
1123
+ analyzer: 'schema',
1124
+ symbol: ref.table,
1125
+ });
1126
+ }
904
1127
  }
905
1128
  }
906
1129
  // ── 3. JSON schema validation ──────────────────────────────────────────
@@ -908,10 +1131,16 @@ export function createSchemaReducer() {
908
1131
  try {
909
1132
  // Build content Map from json facts for the refactored analyzeJsonSchemas
910
1133
  const jsonContents = new Map();
1134
+ let jsonFactCount = 0;
911
1135
  for (const [filePath, fact] of perFile()) {
912
1136
  if ('jsonParsed' in fact) {
1137
+ jsonFactCount++;
1138
+ const raw = (fact.jsonParsed ?? null);
1139
+ // parsed is the result of JSON.parse: null on failure, or the
1140
+ // deserialized value. Only accept objects as usable parsed content.
1141
+ const parsed = raw !== null && typeof raw === 'object' ? raw : null;
913
1142
  jsonContents.set(filePath, {
914
- parsed: (fact.jsonParsed ?? null),
1143
+ parsed,
915
1144
  raw: (fact.jsonRaw ?? fact.sourceCode ?? ''),
916
1145
  });
917
1146
  }
@@ -919,8 +1148,8 @@ export function createSchemaReducer() {
919
1148
  const jsonResult = a.analyzeJsonSchemas(jsonContents, schemaConfig);
920
1149
  violations.push(...(jsonResult?.violations ?? []));
921
1150
  }
922
- catch {
923
- // JSON schema validation is best-effort
1151
+ catch (e) {
1152
+ // JSON schema validation is best-effort (non-fatal)
924
1153
  }
925
1154
  }
926
1155
  return {