code-auditor-mcp 3.4.11 → 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 (67) hide show
  1. package/.claude-plugin/marketplace.json +2 -2
  2. package/CHANGELOG.md +74 -1
  3. package/dist/analyzers/invariantsAnalyzer.d.ts.map +1 -1
  4. package/dist/analyzers/invariantsAnalyzer.js +9 -3
  5. package/dist/analyzers/invariantsAnalyzer.js.map +1 -1
  6. package/dist/analyzers/provenance.d.ts +10 -0
  7. package/dist/analyzers/provenance.d.ts.map +1 -1
  8. package/dist/analyzers/provenance.js +41 -11
  9. package/dist/analyzers/provenance.js.map +1 -1
  10. package/dist/analyzers/ruleRegistry.d.ts +8 -0
  11. package/dist/analyzers/ruleRegistry.d.ts.map +1 -1
  12. package/dist/analyzers/ruleRegistry.js +28 -5
  13. package/dist/analyzers/ruleRegistry.js.map +1 -1
  14. package/dist/analyzers/universal/UniversalDataAccessAnalyzer.d.ts +23 -0
  15. package/dist/analyzers/universal/UniversalDataAccessAnalyzer.d.ts.map +1 -1
  16. package/dist/analyzers/universal/UniversalDataAccessAnalyzer.js +70 -2
  17. package/dist/analyzers/universal/UniversalDataAccessAnalyzer.js.map +1 -1
  18. package/dist/analyzers/universal/UniversalSchemaAnalyzer.d.ts +2 -0
  19. package/dist/analyzers/universal/UniversalSchemaAnalyzer.d.ts.map +1 -1
  20. package/dist/analyzers/universal/UniversalSchemaAnalyzer.js +3 -0
  21. package/dist/analyzers/universal/UniversalSchemaAnalyzer.js.map +1 -1
  22. package/dist/analyzers/universal/UniversalStylesAnalyzer.d.ts.map +1 -1
  23. package/dist/analyzers/universal/UniversalStylesAnalyzer.js +9 -1
  24. package/dist/analyzers/universal/UniversalStylesAnalyzer.js.map +1 -1
  25. package/dist/auditRunner.d.ts.map +1 -1
  26. package/dist/auditRunner.js +14 -28
  27. package/dist/auditRunner.js.map +1 -1
  28. package/dist/cli.js +33 -0
  29. package/dist/cli.js.map +1 -1
  30. package/dist/grammars/tree-sitter-scss.wasm +0 -0
  31. package/dist/languages/tree-sitter/TreeSitterCssAdapter.d.ts +5 -5
  32. package/dist/languages/tree-sitter/TreeSitterCssAdapter.d.ts.map +1 -1
  33. package/dist/languages/tree-sitter/TreeSitterCssAdapter.js +11 -9
  34. package/dist/languages/tree-sitter/TreeSitterCssAdapter.js.map +1 -1
  35. package/dist/languages/tree-sitter/parser.d.ts.map +1 -1
  36. package/dist/languages/tree-sitter/parser.js +2 -0
  37. package/dist/languages/tree-sitter/parser.js.map +1 -1
  38. package/dist/languages/typescript/TreeSitterTypeScriptAdapter.d.ts +10 -0
  39. package/dist/languages/typescript/TreeSitterTypeScriptAdapter.d.ts.map +1 -1
  40. package/dist/languages/typescript/TreeSitterTypeScriptAdapter.js +184 -10
  41. package/dist/languages/typescript/TreeSitterTypeScriptAdapter.js.map +1 -1
  42. package/dist/mcp-tools/whitelistTools.d.ts +1 -1
  43. package/dist/mcp-tools-shared.d.ts.map +1 -1
  44. package/dist/mcp-tools-shared.js +1 -0
  45. package/dist/mcp-tools-shared.js.map +1 -1
  46. package/dist/mcpAuditJobs.d.ts.map +1 -1
  47. package/dist/mcpAuditJobs.js +1 -0
  48. package/dist/mcpAuditJobs.js.map +1 -1
  49. package/dist/pipeline.d.ts +22 -1
  50. package/dist/pipeline.d.ts.map +1 -1
  51. package/dist/pipeline.js +157 -14
  52. package/dist/pipeline.js.map +1 -1
  53. package/dist/pipelineAdapters.d.ts +2 -4
  54. package/dist/pipelineAdapters.d.ts.map +1 -1
  55. package/dist/pipelineAdapters.js +26 -6
  56. package/dist/pipelineAdapters.js.map +1 -1
  57. package/dist/styles/cssAstExtractor.d.ts +20 -5
  58. package/dist/styles/cssAstExtractor.d.ts.map +1 -1
  59. package/dist/styles/cssAstExtractor.js +187 -9
  60. package/dist/styles/cssAstExtractor.js.map +1 -1
  61. package/dist/styles/styleIndexer.js +3 -3
  62. package/dist/styles/styleIndexer.js.map +1 -1
  63. package/dist/types.d.ts +20 -0
  64. package/dist/types.d.ts.map +1 -1
  65. package/dist/types.js.map +1 -1
  66. package/package.json +3 -2
  67. package/plugin/.claude-plugin/plugin.json +1 -1
@@ -10,7 +10,7 @@
10
10
  "name": "code-auditor",
11
11
  "source": "./plugin",
12
12
  "description": "Diff-scoped code quality auditing on every edit. Indexes your codebase, enforces invariants, and feeds violations back to the agent so fixes happen inline.",
13
- "version": "3.4.11",
13
+ "version": "3.4.13",
14
14
  "author": {
15
15
  "name": "Ben Hammond"
16
16
  },
@@ -23,5 +23,5 @@
23
23
  ]
24
24
  }
25
25
  ],
26
- "version": "3.4.11"
26
+ "version": "3.4.12"
27
27
  }
package/CHANGELOG.md CHANGED
@@ -2,7 +2,80 @@
2
2
 
3
3
  All notable changes to the Code Auditor MCP project.
4
4
 
5
- ## [3.4.11] — unreleased
5
+ ## [3.4.13] — 2026-08-09
6
+
7
+ ### Accuracy fix — `unknown-table` silently off when configuring `schemas`
8
+
9
+ The pipeline schema reducer (`createSchemaReducer`) built its known-tables catalog
10
+ from `schemaConfig.knownTables` (a flat `string[]`) only. It did not read
11
+ `schemaConfig.schemas` — the documented, structured `{name, tables}` shape that
12
+ the standalone `UniversalSchemaAnalyzer.analyze()` path uses. A user who configured
13
+ only `schemas` in `.codeauditor.json` got `knownTables.size === 0`, triggering the
14
+ fail-open gate, and `unknown-table` violations silently never fired.
15
+
16
+ **Fix**: `createSchemaReducer` now flattens `schemaConfig.schemas` into the catalog
17
+ the same way the standalone analyzer does, so both config shapes work in both code
18
+ paths.
19
+
20
+ ### Fixture corpus — 7 known-answer regression guard suites
21
+
22
+ Systematic fixture corpus: small projects with known-answer inputs and exact
23
+ violation-count assertions. Each suite copies to a temp dir and runs cold
24
+ through the real CLI — no mocks between config and report.
25
+
26
+ | Suite | Directory | What it guards |
27
+ |-------|-----------|---------------|
28
+ | Invariant rules | `tests/fixtures/invariant-rules/` | All 5 rule kinds: import-ban, naming, call-constraint, module-boundary, ast-pattern |
29
+ | Data-access rules | `tests/fixtures/data-access-rules/` | unfiltered-query, loop-query, missing-org-filter, complex-query; pool.length non-DB receiver guard |
30
+ | SQL FP guards | `tests/fixtures/sql-fp-guards/` | 10 safe-pattern files (prepare-bind, escapeSql, wrapper-bind, etc.) + 1 true positive; 15 documented acknowledged FPs |
31
+ | Conventions | `tests/fixtures/conventions/` | export-shape majority-rule detection (named-majority vs all-named) |
32
+ | Cross-domain | `tests/fixtures/cross-domain/` | written-never-read on INSERT-only table, transaction-boundary on multi-table write |
33
+ | SQL CTE | `tests/fixtures/sql-cte/` | CTE names excluded from table references; inner tables extracted |
34
+ | SQL subquery | `tests/fixtures/sql-subquery-alias/` | Subquery aliases excluded; column alias near-miss guard |
35
+
36
+ ### Other fixes
37
+ - **`dbWrapperNames` passthrough**: schema-code visitor config wasn't forwarding
38
+ `dbWrapperNames`, so locally-defined wrapper functions weren't recognized in
39
+ the pipeline path (only the standalone analyzer saw them).
40
+ - **Non-DB `pool` receiver guard**: `pool.length` on array variables is no longer
41
+ mistaken for a database pool operation.
42
+ - **SQL CTE / subquery-alias parser regression guards** (v3.4.8 regression): CTE
43
+ names and subquery aliases correctly excluded from table reference extraction.
44
+ Confirmed via integration tests.
45
+
46
+ ### Open
47
+ - **15 documented `sql-injection-risk` false positives**: each mechanism named
48
+ in `docs/sql-injection-fp-defect.md`. The FP-guard fixture tests use
49
+ `toBeLessThanOrEqual(currentCount)` assertions — improvements drop the count
50
+ without breaking; regressions that spike it are caught.
51
+
52
+ ### Adjudication release — Spec 26 findings confirmed
53
+
54
+ All Spec 26 findings adjudicated against recall-protocol cold run (119 styles,
55
+ 116 conventions, 1256 data-access). No code changes — every finding verified
56
+ individually.
57
+
58
+ #### Styles (frosted-prism.css delta)
59
+ - 9 token-bypass REAL: `#06131c` vs `--active-ink` (token consumed in 8 selectors)
60
+ - 4 token-bypass RULE BUG: `#fff` vs `--health-base` (cross-file discovery without semantic scoping — `#fff` is universal color used for Discord/YouTube elements unrelated to health bars)
61
+ - 15 declaration-set-similarity REAL: verified every pair (5-11/11 declarations identical)
62
+ - 1 z-index-sprawl REAL: 10 distinct z-index values in one file
63
+ - Failure construct identified: one-liner `@keyframes {...{...}...}` with nested braces immediately followed by `@media {...}` — `{[^}]*}` regex matches first nested `}`, confusing brace-counting state machine
64
+
65
+ #### SQL injection (18 survivors)
66
+ - 2 REAL: hero-data-agent.ts:232, :241 — `opts.gameMode` (RPC user input) interpolated into `.exec()` SQL with only quote-escaping
67
+ - 1 RULE BUG: store.ts:422 — `table` is fixed internal literal (documented)
68
+ - 15 FALSE POSITIVES: all `.prepare()` calls interpolate compile-time constants (OFFICIAL_HEROES_SQL, EFFECT_FLAGS, CATALOG_SOURCES_SQL, allowlist-guarded values)
69
+ - Zero SQL-keyword receiver false positives (confirmed)
70
+
71
+ #### Conventions
72
+ - +1 export-shape: AdminModerationShell.tsx uses `export default` in 97%-named directory (AST `extractExports` correctly identified)
73
+
74
+ #### Recall-protocol tickets
75
+ - generation_queue: 8 unknown-table violations, table dropped in migration 0198
76
+ - hero-data-agent.ts: user-input interpolation into `.exec()` SQL
77
+
78
+ ## [3.4.11] — 2026-08-07
6
79
 
7
80
  ### Spec 26: Consume the ASTs We Already Produce
8
81
 
@@ -1 +1 @@
1
- {"version":3,"file":"invariantsAnalyzer.d.ts","sourceRoot":"","sources":["../../src/analyzers/invariantsAnalyzer.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAwD,MAAM,aAAa,CAAC;AAoD1G;;GAEG;AACH,eAAO,MAAM,iBAAiB,EAAE,gBA+E/B,CAAC"}
1
+ {"version":3,"file":"invariantsAnalyzer.d.ts","sourceRoot":"","sources":["../../src/analyzers/invariantsAnalyzer.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAwD,MAAM,aAAa,CAAC;AAoD1G;;GAEG;AACH,eAAO,MAAM,iBAAiB,EAAE,gBAqF/B,CAAC"}
@@ -38,8 +38,8 @@ function loadRules(config, _projectDir) {
38
38
  function toViolation(rv) {
39
39
  return {
40
40
  file: rv.file,
41
- line: rv.line,
42
- column: rv.column,
41
+ line: rv.line ?? 1,
42
+ column: rv.column ?? 1,
43
43
  severity: rv.severity,
44
44
  message: rv.message,
45
45
  rule: rv.ruleId,
@@ -70,9 +70,13 @@ export const analyzeInvariants = async (files, config, options, _progressCallbac
70
70
  };
71
71
  }
72
72
  const { rules, errors } = ruleData;
73
- // If there are validation errors, return them as violations
73
+ // If there are validation errors, return them as violations.
74
+ // line: 1 anchors file-level errors (no specific line to point at).
75
+ // Required by validateHookContract: every violation needs file + line ≥ 1.
74
76
  const errorViolations = errors.map(err => ({
75
77
  file: '.codeauditor.json',
78
+ line: 1,
79
+ column: 1,
76
80
  severity: 'critical',
77
81
  message: err,
78
82
  rule: 'config-error',
@@ -106,6 +110,8 @@ export const analyzeInvariants = async (files, config, options, _progressCallbac
106
110
  ...result.violations.map(toViolation),
107
111
  ...result.errors.map(err => ({
108
112
  file: '.codeauditor.json',
113
+ line: 1,
114
+ column: 1,
109
115
  severity: 'warning',
110
116
  message: err,
111
117
  rule: 'engine-error',
@@ -1 +1 @@
1
- {"version":3,"file":"invariantsAnalyzer.js","sourceRoot":"","sources":["../../src/analyzers/invariantsAnalyzer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"invariantsAnalyzer.js","sourceRoot":"","sources":["../../src/analyzers/invariantsAnalyzer.ts"],"names":[],"mappings":"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"}
@@ -90,6 +90,16 @@ export interface BuildProvenanceContextOptions {
90
90
  dbReceiverNames?: string[];
91
91
  dbBindingNames?: string[];
92
92
  dbCallMethods?: string[];
93
+ /**
94
+ * Known DB wrapper function names — e.g. d1Query, d1Exec.
95
+ * These are project-specific functions that wrap D1/DB API calls
96
+ * (e.g. function d1Query(sql) { return d1.prepare(sql).all(); }).
97
+ * When imported from a local module (not a known DB package), provenance
98
+ * can't trace through the import chain. These names provide a hybrid-mode
99
+ * fallback: any call to an identifier matching this list is treated as
100
+ * DB-provenanced.
101
+ */
102
+ dbWrapperNames?: string[];
93
103
  /** Validator package list override (defaults to VALIDATOR_PACKAGES) */
94
104
  validatorPackageList?: string[];
95
105
  }
@@ -1 +1 @@
1
- {"version":3,"file":"provenance.d.ts","sourceRoot":"","sources":["../../src/analyzers/provenance.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"provenance.d.ts","sourceRoot":"","sources":["../../src/analyzers/provenance.ts"],"names":[],"mappings":"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"}
@@ -510,8 +510,10 @@ function getMemberExpressionReceiver(node, adapter, sourceCode) {
510
510
  firstChild.type !== 'property_identifier' && firstChild.type !== 'field_identifier') {
511
511
  if (firstChild.type === 'member_expression' ||
512
512
  firstChild.type === 'selector_expression') {
513
- current = firstChild;
514
- continue;
513
+ // Compound receiver: env.DB.prepare → receiver is "env.DB", not "env".
514
+ // Return the full text of the inner member expression so fallback
515
+ // entries like dbBindingNames: ['env.DB'] match the provenance check.
516
+ return adapter.getNodeText(firstChild, sourceCode);
515
517
  }
516
518
  if (firstChild.type === 'identifier') {
517
519
  return adapter.getNodeText(firstChild, sourceCode);
@@ -608,11 +610,11 @@ export function buildProvenanceContext(ast, adapter, sourceCode, options) {
608
610
  // 3. Fallback: in hybrid mode, add identifiers that match name lists
609
611
  // but weren't caught by provenance (R3)
610
612
  if (mode === 'hybrid') {
611
- dbProvenanced = addNameListFallbacks(dbProvenanced, sourceCode, options.dbReceiverNames ?? [], options.dbBindingNames ?? []);
613
+ dbProvenanced = addNameListFallbacks(dbProvenanced, sourceCode, options.dbReceiverNames ?? [], options.dbBindingNames ?? [], options.dbWrapperNames ?? []);
612
614
  }
613
615
  // 4. In names mode, use ONLY name lists
614
616
  if (mode === 'names') {
615
- dbProvenanced = buildNamesOnlyProvenance(sourceCode, options.dbReceiverNames ?? [], options.dbBindingNames ?? []);
617
+ dbProvenanced = buildNamesOnlyProvenance(sourceCode, options.dbReceiverNames ?? [], options.dbBindingNames ?? [], options.dbWrapperNames ?? []);
616
618
  }
617
619
  return {
618
620
  dbProvenanced,
@@ -627,7 +629,7 @@ export function buildProvenanceContext(ast, adapter, sourceCode, options) {
627
629
  * These entries carry `reason: 'fallback'` — visible in config detection
628
630
  * so users can audit and tighten their chains.
629
631
  */
630
- function addNameListFallbacks(provenanceMap, sourceCode, dbReceiverNames, dbBindingNames) {
632
+ function addNameListFallbacks(provenanceMap, sourceCode, dbReceiverNames, dbBindingNames, dbWrapperNames) {
631
633
  const result = new Map(provenanceMap);
632
634
  // Scan for DB receiver names used as identifiers
633
635
  for (const name of dbReceiverNames) {
@@ -668,13 +670,26 @@ function addNameListFallbacks(provenanceMap, sourceCode, dbReceiverNames, dbBind
668
670
  }
669
671
  }
670
672
  }
673
+ // Scan for DB wrapper function names (e.g. d1Query, d1Exec)
674
+ for (const name of dbWrapperNames) {
675
+ if (result.has(name))
676
+ continue;
677
+ if (identifierAppearsInSource(sourceCode, name)) {
678
+ result.set(name, {
679
+ identifier: name,
680
+ reason: 'fallback',
681
+ source: `name list match: dbWrapperNames contains "${name}"`,
682
+ chain: [],
683
+ });
684
+ }
685
+ }
671
686
  return result;
672
687
  }
673
688
  /**
674
689
  * Build a provenance map using ONLY name lists (for names mode).
675
690
  */
676
- function buildNamesOnlyProvenance(sourceCode, dbReceiverNames, dbBindingNames) {
677
- return addNameListFallbacks(new Map(), sourceCode, dbReceiverNames, dbBindingNames);
691
+ function buildNamesOnlyProvenance(sourceCode, dbReceiverNames, dbBindingNames, dbWrapperNames) {
692
+ return addNameListFallbacks(new Map(), sourceCode, dbReceiverNames, dbBindingNames, dbWrapperNames);
678
693
  }
679
694
  /** Check if an identifier name appears as a standalone identifier in source. */
680
695
  function identifierAppearsInSource(sourceCode, name) {
@@ -750,8 +765,11 @@ function isMemberExpressionDBProvenanced(node, adapter, sourceCode, context, met
750
765
  break;
751
766
  }
752
767
  if (firstChild.type === 'member_expression' || firstChild.type === 'selector_expression') {
753
- current = firstChild;
754
- continue;
768
+ // Compound receiver: env.DB.prepare → root is "env.DB", not "env".
769
+ // Returning the full text of the inner member expression ensures
770
+ // fallback entries match (e.g. dbBindingNames: ['env.DB']).
771
+ rootReceiver = adapter.getNodeText(firstChild, sourceCode);
772
+ break;
755
773
  }
756
774
  // this.db.prepare → root is a chain on `this`, check `this.xxx`
757
775
  if (firstChild.type === 'this' || firstChild.type === 'super') {
@@ -766,8 +784,20 @@ function isMemberExpressionDBProvenanced(node, adapter, sourceCode, context, met
766
784
  if (context.mode === 'names') {
767
785
  return isDBMethodCall(node, adapter, sourceCode, context, methods);
768
786
  }
769
- // Check if the root receiver is DB-provenanced
770
- if (!context.dbProvenanced.has(rootReceiver)) {
787
+ // Check if the root receiver is DB-provenanced.
788
+ // Compound receivers (e.g. "db.users" or "env.DB") need to match both
789
+ // the full text (for bindings like "env.DB") and each sub-identifier
790
+ // (for receivers like "db.users" where "db" is in dbReceiverNames).
791
+ const matchesProvenance = (r) => {
792
+ if (context.dbProvenanced.has(r))
793
+ return true;
794
+ for (const part of r.split('.')) {
795
+ if (context.dbProvenanced.has(part))
796
+ return true;
797
+ }
798
+ return false;
799
+ };
800
+ if (!matchesProvenance(rootReceiver)) {
771
801
  if (rootReceiver !== 'this')
772
802
  return false;
773
803
  // For `this.xxx`, check if the method chain itself suggests DB usage
@@ -1 +1 @@
1
- {"version":3,"file":"provenance.js","sourceRoot":"","sources":["../../src/analyzers/provenance.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"provenance.js","sourceRoot":"","sources":["../../src/analyzers/provenance.ts"],"names":[],"mappings":"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"}
@@ -26,6 +26,14 @@ export interface RuleRegistryEntry {
26
26
  analyzer: string;
27
27
  /** The field on the Violation object that holds this ID. */
28
28
  field: 'rule' | 'principle' | 'violationType' | 'type' | 'contractType' | 'ruleId' | 'special';
29
+ /**
30
+ * Optional dot-separated path to a config boolean within the analyzer's namespace.
31
+ * When the config value is `false`, the rule is `notApplicable` (explicitly disabled).
32
+ *
33
+ * Example: `checkStructuralSimilarity` → looked up as config.config.dry.checkStructuralSimilarity.
34
+ * The path is relative to the analyzer namespace (config.config[analyzer]).
35
+ */
36
+ configGate?: string;
29
37
  }
30
38
  /**
31
39
  * Every known rule/violation-type ID → analyzer.
@@ -1 +1 @@
1
- {"version":3,"file":"ruleRegistry.d.ts","sourceRoot":"","sources":["../../src/analyzers/ruleRegistry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,MAAM,WAAW,iBAAiB;IAChC,4CAA4C;IAC5C,QAAQ,EAAE,MAAM,CAAC;IACjB,4DAA4D;IAC5D,KAAK,EAAE,MAAM,GAAG,WAAW,GAAG,eAAe,GAAG,MAAM,GAAG,cAAc,GAAG,QAAQ,GAAG,SAAS,CAAC;CAChG;AAED;;;;;;GAMG;AACH,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,iBAAiB,CAAC,CAwGrE,CAAC"}
1
+ {"version":3,"file":"ruleRegistry.d.ts","sourceRoot":"","sources":["../../src/analyzers/ruleRegistry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,MAAM,WAAW,iBAAiB;IAChC,4CAA4C;IAC5C,QAAQ,EAAE,MAAM,CAAC;IACjB,4DAA4D;IAC5D,KAAK,EAAE,MAAM,GAAG,WAAW,GAAG,eAAe,GAAG,MAAM,GAAG,cAAc,GAAG,QAAQ,GAAG,SAAS,CAAC;IAC/F;;;;;;OAMG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;;;;;GAMG;AACH,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,iBAAiB,CAAC,CAkIrE,CAAC"}
@@ -39,9 +39,9 @@ export const RULE_REGISTRY = {
39
39
  'dependency-inversion': { analyzer: 'solid', field: 'rule' },
40
40
  // ── dry (UniversalDRYAnalyzer) ──────────────────────────────────────────
41
41
  'dry/duplicate': { analyzer: 'dry', field: 'rule' },
42
- 'dry/structural-similarity': { analyzer: 'dry', field: 'rule' },
43
- 'duplicate-string-literal': { analyzer: 'dry', field: 'rule' },
44
- 'duplicate-import': { analyzer: 'dry', field: 'rule' },
42
+ 'dry/structural-similarity': { analyzer: 'dry', field: 'rule', configGate: 'checkStructuralSimilarity' },
43
+ 'duplicate-string-literal': { analyzer: 'dry', field: 'rule', configGate: 'checkStrings' },
44
+ 'duplicate-import': { analyzer: 'dry', field: 'rule', configGate: 'checkImports' },
45
45
  // ── data-access (UniversalDataAccessAnalyzer) ───────────────────────────
46
46
  'sql-injection-risk': { analyzer: 'data-access', field: 'rule' },
47
47
  'missing-org-filter': { analyzer: 'data-access', field: 'rule' },
@@ -79,9 +79,9 @@ export const RULE_REGISTRY = {
79
79
  // ── react (reactAnalyzer) ───────────────────────────────────────────────
80
80
  'hooks-naming': { analyzer: 'react', field: 'rule' },
81
81
  'complexity': { analyzer: 'react', field: 'rule' },
82
- 'missing-props': { analyzer: 'react', field: 'rule' },
82
+ 'missing-props': { analyzer: 'react', field: 'rule', configGate: 'requirePropTypes' },
83
83
  'no-error-boundary': { analyzer: 'react', field: 'rule' },
84
- 'performance': { analyzer: 'react', field: 'rule' },
84
+ 'performance': { analyzer: 'react', field: 'rule', configGate: 'requireMemoization' },
85
85
  'accessibility': { analyzer: 'react', field: 'rule' },
86
86
  'raw-element': { analyzer: 'react', field: 'rule' },
87
87
  // ── invariants (invariantsAnalyzer) — fixed internal IDs only ──────────
@@ -120,5 +120,28 @@ export const RULE_REGISTRY = {
120
120
  'split-responsibilities': { analyzer: 'dependency-graph', field: 'type' },
121
121
  'orphaned-nodes': { analyzer: 'dependency-graph', field: 'type' },
122
122
  'review-orphans': { analyzer: 'dependency-graph', field: 'type' },
123
+ // ── styles (UniversalStylesAnalyzer) ─────────────────────────────────────
124
+ 'styles/value-drift': { analyzer: 'styles', field: 'rule' },
125
+ 'styles/off-scale': { analyzer: 'styles', field: 'rule' },
126
+ 'styles/undefined-class': { analyzer: 'styles', field: 'rule' },
127
+ 'styles/undefined-class-disabled': { analyzer: 'styles', field: 'rule' },
128
+ 'styles/token-bypass': { analyzer: 'styles', field: 'rule' },
129
+ 'styles/mechanism-fragmentation': { analyzer: 'styles', field: 'rule' },
130
+ 'styles/mechanism-mixing': { analyzer: 'styles', field: 'rule' },
131
+ 'styles/declaration-set-similarity': { analyzer: 'styles', field: 'rule' },
132
+ 'styles/z-index-sprawl': { analyzer: 'styles', field: 'rule' },
133
+ 'styles/z-index-singleton': { analyzer: 'styles', field: 'rule' },
134
+ // ── conventions (UniversalConventionsAnalyzer) ───────────────────────────
135
+ 'conventions/usage-pair': { analyzer: 'conventions', field: 'rule' },
136
+ 'conventions/import-form': { analyzer: 'conventions', field: 'rule' },
137
+ 'conventions/error-handling': { analyzer: 'conventions', field: 'rule' },
138
+ 'conventions/export-shape': { analyzer: 'conventions', field: 'rule' },
139
+ 'conventions/naming': { analyzer: 'conventions', field: 'rule' },
140
+ // ── cross-domain (CrossDomainAnalyzer) ────────────────────────────────────
141
+ 'cross-domain/written-never-read': { analyzer: 'cross-domain', field: 'rule' },
142
+ 'cross-domain/read-never-written': { analyzer: 'cross-domain', field: 'rule' },
143
+ 'cross-domain/transaction-boundary': { analyzer: 'cross-domain', field: 'rule' },
144
+ 'cross-domain/validation-bypass': { analyzer: 'cross-domain', field: 'rule' },
145
+ 'cross-domain/uncovered-risk': { analyzer: 'cross-domain', field: 'rule' },
123
146
  };
124
147
  //# sourceMappingURL=ruleRegistry.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ruleRegistry.js","sourceRoot":"","sources":["../../src/analyzers/ruleRegistry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ruleRegistry.js","sourceRoot":"","sources":["../../src/analyzers/ruleRegistry.ts"],"names":[],"mappings":"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"}
@@ -47,6 +47,15 @@ export interface DataAccessAnalyzerConfig {
47
47
  sqlInjectionRisks?: string[];
48
48
  parameterizedQueries?: string[];
49
49
  };
50
+ /** DB wrapper function names that represent parameterized calls (e.g. d1Query, d1Exec).
51
+ * These functions accept a SQL template + bind params array — same pattern as
52
+ * .prepare().bind() but expressed as a simple function call rather than a method chain.
53
+ * @see DEFAULT_SCHEMA_CONFIG.dbWrapperNames */
54
+ dbWrapperNames?: string[];
55
+ /** SQL sanitizer function names — interpolation wrapped in one of these
56
+ * (e.g. escapeSql(x)) is not raw. Kept in sync with the provenance system's
57
+ * dbWrapperNames: any list the detector learns about, the FP guards must also consult. */
58
+ sanitizerNames?: string[];
50
59
  }
51
60
  export declare const DEFAULT_DATA_ACCESS_CONFIG: DataAccessAnalyzerConfig;
52
61
  export declare class UniversalDataAccessAnalyzer extends UniversalAnalyzer {
@@ -147,6 +156,20 @@ export declare class UniversalDataAccessAnalyzer extends UniversalAnalyzer {
147
156
  * (the bind params), the call is fully parameterized and safe.
148
157
  */
149
158
  private isD1ConvenienceCall;
159
+ /**
160
+ * Detect simple-function-call DB wrappers with bind parameters.
161
+ *
162
+ * dbWrapperNames (d1Query, d1Exec) are function wrappers that accept
163
+ * (sqlTemplate, bindParams) — the same pattern as .prepare().bind() but
164
+ * expressed as a direct function call rather than a method chain.
165
+ *
166
+ * `d1Query(\`SELECT ... WHERE x = ?\`, [value])` — bind params as second arg
167
+ * means the call is fully parameterized, even though the template literal
168
+ * text contains `${}` interpolation for table/column names.
169
+ *
170
+ * Entry point: a template_string inside the wrapper's arguments.
171
+ */
172
+ private isWrapperFunctionWithBindParams;
150
173
  /**
151
174
  * Check the two-statement prepare→bind pattern: db.prepare() is assigned to
152
175
  * a variable whose value is later .bind()'ed in the same function scope.
@@ -1 +1 @@
1
- {"version":3,"file":"UniversalDataAccessAnalyzer.d.ts","sourceRoot":"","sources":["../../../src/analyzers/universal/UniversalDataAccessAnalyzer.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,iBAAiB,EAAE,MAAM,sCAAsC,CAAC;AACzE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,KAAK,EAAE,GAAG,EAAE,eAAe,EAAW,MAAM,0BAA0B,CAAC;AAU9E;;GAEG;AACH,MAAM,WAAW,wBAAwB;IAEvC,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAI5B,SAAS,CAAC,EAAE;QACV,CAAC,GAAG,EAAE,MAAM,GAAG;YACb,IAAI,EAAE,MAAM,CAAC;YACb,cAAc,EAAE,MAAM,EAAE,CAAC;YACzB,aAAa,EAAE,MAAM,EAAE,CAAC;YACxB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;SACxB,CAAC;KACH,CAAC;IAGF,oBAAoB,CAAC,EAAE,MAAM,EAAE,CAAC;IAIhC,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAE3B,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;IAE5B,OAAO,CAAC,EAAE,KAAK,CAAC;QACd,IAAI,EAAE,MAAM,CAAC;QACb,MAAM,EAAE,KAAK,CAAC;YACZ,IAAI,EAAE,MAAM,CAAC;YACb,OAAO,EAAE,KAAK,CAAC;gBAAE,IAAI,EAAE,MAAM,CAAC;gBAAC,IAAI,EAAE,MAAM,CAAC;aAAE,CAAC,CAAC;SACjD,CAAC,CAAC;KACJ,CAAC,CAAC;IAGH,aAAa,CAAC,EAAE;QACd,GAAG,CAAC,EAAE,MAAM,EAAE,CAAC;QACf,GAAG,CAAC,EAAE,MAAM,EAAE,CAAC;QACf,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;KACzB,CAAC;IAGF,qBAAqB,CAAC,EAAE;QACtB,iBAAiB,CAAC,EAAE,MAAM,CAAC;QAC3B,oBAAoB,CAAC,EAAE,MAAM,CAAC;QAC9B,gBAAgB,CAAC,EAAE,MAAM,CAAC;KAC3B,CAAC;IAGF,gBAAgB,CAAC,EAAE;QACjB,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC;QAC7B,oBAAoB,CAAC,EAAE,MAAM,EAAE,CAAC;KACjC,CAAC;CACH;AAED,eAAO,MAAM,0BAA0B,EAAE,wBAgDxC,CAAC;AAyBF,qBAAa,2BAA4B,SAAQ,iBAAiB;IAChE,QAAQ,CAAC,IAAI,iBAAiB;IAC9B,QAAQ,CAAC,WAAW,mEAAmE;IACvF,QAAQ,CAAC,QAAQ,cAAc;IAE/B,UAAgB,UAAU,CACxB,GAAG,EAAE,GAAG,EACR,OAAO,EAAE,eAAe,EACxB,MAAM,EAAE,wBAAwB,EAChC,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,SAAS,EAAE,CAAC,CA0CtB;IAED;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAoB1B;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAyI5B;;OAEG;IACH,OAAO,CAAC,YAAY;IAiCpB;;OAEG;IACH,OAAO,CAAC,eAAe;IAgFvB;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAwC5B;;OAEG;IACH,OAAO,CAAC,cAAc;IAKtB,OAAO,CAAC,iBAAiB;IAIzB,OAAO,CAAC,oBAAoB;IAO5B,OAAO,CAAC,mBAAmB;IAM3B;;;;;;;;;;OAUG;IACH,OAAO,CAAC,oBAAoB;IAO5B;;;;;;;;;;OAUG;IACH,OAAO,CAAC,6BAA6B;IA2BrC;;;;;;;;;;;;;;;;;;OAkBG;IACH,OAAO,CAAC,oBAAoB;IAsF5B;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,aAAa;IAuErB;;;;;;;OAOG;IACH,OAAO,CAAC,mBAAmB;IA8D3B;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,2BAA2B;IAkDnC;;;;OAIG;IACH,OAAO,CAAC,yBAAyB;IAoBjC,OAAO,CAAC,YAAY;IAgCpB,OAAO,CAAC,cAAc;IAItB,OAAO,CAAC,aAAa;IAyCrB,OAAO,CAAC,qBAAqB;IAuD7B,OAAO,CAAC,kBAAkB;IAuG1B,OAAO,CAAC,2BAA2B;IAiCnC,OAAO,CAAC,iBAAiB;IA4BzB;;;;;;;;;;;;;;;;OAgBG;IACH,OAAO,CAAC,iBAAiB;IAmCzB,OAAO,CAAC,eAAe;IAIvB,OAAO,CAAC,kBAAkB;IAc1B;;;OAGG;IACH,OAAO,CAAC,gBAAgB;IA8DxB;;;OAGG;IACH;;;;;OAKG;IACH,OAAO,CAAC,YAAY;IA6CpB;;;;;;;OAOG;IACH,OAAO,CAAC,iBAAiB;IAmCzB;;;;OAIG;IACH,OAAO,CAAC,kBAAkB;IA4B1B;;OAEG;IACH,OAAO,CAAC,eAAe;IAevB;;;;;;OAMG;IACH,OAAO,CAAC,yBAAyB;IA4BjC;;OAEG;IACH,OAAO,CAAC,WAAW;CAwBpB"}
1
+ {"version":3,"file":"UniversalDataAccessAnalyzer.d.ts","sourceRoot":"","sources":["../../../src/analyzers/universal/UniversalDataAccessAnalyzer.ts"],"names":[],"mappings":"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"}