code-auditor-mcp 3.4.10 → 3.4.11

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 (47) hide show
  1. package/.claude-plugin/marketplace.json +10 -3
  2. package/CHANGELOG.md +68 -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 +1 -0
  8. package/dist/analyzers/invariantsAnalyzer.js.map +1 -1
  9. package/dist/analyzers/universal/UniversalConventionsAnalyzer.d.ts.map +1 -1
  10. package/dist/analyzers/universal/UniversalConventionsAnalyzer.js +9 -7
  11. package/dist/analyzers/universal/UniversalConventionsAnalyzer.js.map +1 -1
  12. package/dist/analyzers/universal/UniversalDataAccessAnalyzer.d.ts +62 -0
  13. package/dist/analyzers/universal/UniversalDataAccessAnalyzer.d.ts.map +1 -1
  14. package/dist/analyzers/universal/UniversalDataAccessAnalyzer.js +352 -0
  15. package/dist/analyzers/universal/UniversalDataAccessAnalyzer.js.map +1 -1
  16. package/dist/auditRunner.d.ts.map +1 -1
  17. package/dist/auditRunner.js +16 -2
  18. package/dist/auditRunner.js.map +1 -1
  19. package/dist/conventions/conventionMiner.d.ts +5 -4
  20. package/dist/conventions/conventionMiner.d.ts.map +1 -1
  21. package/dist/conventions/conventionMiner.js +37 -17
  22. package/dist/conventions/conventionMiner.js.map +1 -1
  23. package/dist/invariants/ruleEngine.d.ts +23 -0
  24. package/dist/invariants/ruleEngine.d.ts.map +1 -1
  25. package/dist/invariants/ruleEngine.js +11 -115
  26. package/dist/invariants/ruleEngine.js.map +1 -1
  27. package/dist/languages/typescript/TreeSitterTypeScriptAdapter.d.ts +3 -0
  28. package/dist/languages/typescript/TreeSitterTypeScriptAdapter.d.ts.map +1 -1
  29. package/dist/languages/typescript/TreeSitterTypeScriptAdapter.js +60 -16
  30. package/dist/languages/typescript/TreeSitterTypeScriptAdapter.js.map +1 -1
  31. package/dist/pipelineAdapters.d.ts +12 -0
  32. package/dist/pipelineAdapters.d.ts.map +1 -1
  33. package/dist/pipelineAdapters.js +258 -49
  34. package/dist/pipelineAdapters.js.map +1 -1
  35. package/dist/styles/cssAstExtractor.d.ts +46 -0
  36. package/dist/styles/cssAstExtractor.d.ts.map +1 -0
  37. package/dist/styles/cssAstExtractor.js +439 -0
  38. package/dist/styles/cssAstExtractor.js.map +1 -0
  39. package/dist/styles/styleExtractor.d.ts +2 -2
  40. package/dist/styles/styleExtractor.d.ts.map +1 -1
  41. package/dist/styles/styleExtractor.js +69 -16
  42. package/dist/styles/styleExtractor.js.map +1 -1
  43. package/dist/styles/styleIndexer.d.ts.map +1 -1
  44. package/dist/styles/styleIndexer.js +4 -0
  45. package/dist/styles/styleIndexer.js.map +1 -1
  46. package/package.json +1 -1
  47. package/plugin/.claude-plugin/plugin.json +1 -1
@@ -10,11 +10,18 @@
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.9",
13
+ "version": "3.4.11",
14
14
  "author": {
15
15
  "name": "Ben Hammond"
16
16
  },
17
- "keywords": ["code-quality", "audit", "solid", "linting", "invariants"]
17
+ "keywords": [
18
+ "code-quality",
19
+ "audit",
20
+ "solid",
21
+ "linting",
22
+ "invariants"
23
+ ]
18
24
  }
19
- ]
25
+ ],
26
+ "version": "3.4.11"
20
27
  }
package/CHANGELOG.md CHANGED
@@ -2,7 +2,74 @@
2
2
 
3
3
  All notable changes to the Code Auditor MCP project.
4
4
 
5
- ## [3.4.9] — unreleased
5
+ ## [3.4.11] — unreleased
6
+
7
+ ### Spec 26: Consume the ASTs We Already Produce
8
+
9
+ Stage 1 parses every `.css` file into a tree-sitter AST, but all CSS analysis
10
+ operated via regex on raw source text. Spec 26 converts CSS extraction and
11
+ several TypeScript subsystems to walk the AST via adapter methods — the regex
12
+ only classifies tokens; the AST discovers structure.
13
+
14
+ #### Phase 2 — CSS AST extraction (`cssAstExtractor.ts`)
15
+
16
+ CSS declarations, class names, and custom-property tokens are now extracted from
17
+ tree-sitter-css ASTs via three pure functions: `extractDeclarationsFromCSSAst`,
18
+ `extractClassUsageFromCSSAst`, `extractTokensFromCSSAst`. `.scss` files stay on
19
+ the regex path (tree-sitter-css is not an SCSS grammar).
20
+
21
+ Five parser bugs in the retired regex path are eliminated by AST structure:
22
+
23
+ - **Bug 1** (whitespace before `@`-rules): `at_rule` nodes are always correct
24
+ - **Bug 2** (`@apply` in rule sets): handled via ERROR/postcss_statement/at_rule children
25
+ - **Bug 3** (nested `@`-rule brace): tree-sitter handles brace matching
26
+ - **Bug 4** (backward-scan boundary): no backward scanning — selectors from `selectors` child
27
+ - **Bug 5** (CSS comments as class names): comment nodes are typed, naturally excluded
28
+
29
+ The `;` stripping fix in `getPropertyAndValue()` (tree-sitter-css includes the
30
+ trailing semicolon in declaration node text) uncovered 53 legitimate
31
+ cross-mechanism violations previously hidden: 14 token-bypass + 39
32
+ mechanism-fragmentation. Styles total: 119 (was 66).
33
+
34
+ Also fixed: `extractClassUsageFromCSSAst` filters by parent type `class_selector`
35
+ to exclude pseudo-classes (`:hover`, `:focus`) and pseudo-elements.
36
+
37
+ #### Phase 1 — TypeScript subsystems
38
+
39
+ - **Invariants** (`ruleEngine.ts`): `extractImports()` and `extractExportedSymbols()`
40
+ regex functions deleted. `function-index` visitor now emits `imports`,
41
+ `dynamicImports`, and `exports` facts per file — invariants reducer consumes
42
+ them via `fileData` instead of re-extracting from source.
43
+ - **Conventions** (`conventionMiner.ts`): `detectExportForm()` now accepts
44
+ `ExportInfo[]` from `extractExports(ast)` instead of 6 regexes on raw source.
45
+ Export-shape detection found one additional legitimate violation
46
+ (`AdminModerationShell`) the regex path missed.
47
+ - **Documentation** (`documentationAnalyzer.ts`): `getJSDocText()` and
48
+ `getPrecedingJSDocComments()` replaced by `adapter.getDocumentation()`.
49
+
50
+ ### SQL injection parameterization detection
51
+
52
+ Four new methods in `UniversalDataAccessAnalyzer.ts` detect safe parameterized
53
+ SQL patterns before the keyword/dynamic-part check:
54
+
55
+ - `isInPrepareBindChain`: detects `.prepare().bind()` chains including the
56
+ two-statement pattern (`const stmt = db.prepare(sql); stmt.bind(x).all()`)
57
+ - `isInExecChain`: detects safe DO `.exec()` with spread binds
58
+ - `isD1ConvenienceCall`: detects D1 convenience methods (`.all()`, `.first()`,
59
+ `.run()`) with bind parameters
60
+
61
+ 18 legitimate `sql-injection-risk` violations remain (down from ~55 false
62
+ positives): 3 DO `.exec()` calls without detectable parameterization, 15
63
+ `prepare()` calls where the bind chain cannot be verified (dynamic table/column
64
+ names not bind-able).
65
+
66
+ ### unknown-table = 8 (all generation_queue)
67
+
68
+ The DO DDL visitor correctly identifies 8 references to the `generation_queue`
69
+ table in `src/pages/api/admin/generation/queue.ts`. The table was dropped in
70
+ migration 0198 — a dead admin page referencing a removed table.
71
+
72
+ ## [3.4.10] — 2026-07-31
6
73
 
7
74
  ### Accuracy fix: Phantom cross-domain lifecycle violations from over-broad DB detection defaults
8
75
 
@@ -1 +1 @@
1
- {"version":3,"file":"documentationAnalyzer.d.ts","sourceRoot":"","sources":["../../src/analyzers/documentationAnalyzer.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH,OAAO,EAEL,cAAc,EACd,YAAY,EACZ,gBAAgB,EACjB,MAAM,aAAa,CAAC;AA+GrB;;GAEG;AACH,MAAM,WAAW,2BAA2B;IAC1C,mBAAmB,EAAE,OAAO,CAAC;IAC7B,oBAAoB,EAAE,OAAO,CAAC;IAC9B,eAAe,EAAE,OAAO,CAAC;IACzB,gBAAgB,EAAE,OAAO,CAAC;IAC1B,iBAAiB,EAAE,OAAO,CAAC;IAC3B,oBAAoB,EAAE,MAAM,CAAC;IAC7B,iBAAiB,EAAE,OAAO,CAAC;IAC3B,cAAc,EAAE,MAAM,EAAE,CAAC;CAC1B;AAED,eAAO,MAAM,4BAA4B,EAAE,2BAW1C,CAAC;AAEF;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,cAAc,EAAE,MAAM,CAAC;IACvB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,eAAe,EAAE,MAAM,CAAC;IACxB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,UAAU,EAAE,MAAM,CAAC;IACnB,gBAAgB,EAAE,MAAM,CAAC;IACzB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,gBAAgB,EAAE,MAAM,CAAC;IACzB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,aAAa,EAAE,MAAM,CAAC;IACtB,mBAAmB,EAAE,MAAM,EAAE,CAAC;IAC9B,qBAAqB,EAAE,MAAM,EAAE,CAAC;CACjC;AAuQD;;;GAGG;AACH,wBAAsB,oBAAoB,CACxC,KAAK,EAAE,MAAM,EAAE,EACf,MAAM,GAAE,OAAO,CAAC,2BAA2B,CAAM,EACjD,OAAO,GAAE,YAAiB,EAC1B,gBAAgB,CAAC,EAAE,gBAAgB,GAClC,OAAO,CAAC,cAAc,CAAC,CAiHzB"}
1
+ {"version":3,"file":"documentationAnalyzer.d.ts","sourceRoot":"","sources":["../../src/analyzers/documentationAnalyzer.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH,OAAO,EAEL,cAAc,EACd,YAAY,EACZ,gBAAgB,EACjB,MAAM,aAAa,CAAC;AAyDrB;;GAEG;AACH,MAAM,WAAW,2BAA2B;IAC1C,mBAAmB,EAAE,OAAO,CAAC;IAC7B,oBAAoB,EAAE,OAAO,CAAC;IAC9B,eAAe,EAAE,OAAO,CAAC;IACzB,gBAAgB,EAAE,OAAO,CAAC;IAC1B,iBAAiB,EAAE,OAAO,CAAC;IAC3B,oBAAoB,EAAE,MAAM,CAAC;IAC7B,iBAAiB,EAAE,OAAO,CAAC;IAC3B,cAAc,EAAE,MAAM,EAAE,CAAC;CAC1B;AAED,eAAO,MAAM,4BAA4B,EAAE,2BAW1C,CAAC;AAEF;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,cAAc,EAAE,MAAM,CAAC;IACvB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,eAAe,EAAE,MAAM,CAAC;IACxB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,UAAU,EAAE,MAAM,CAAC;IACnB,gBAAgB,EAAE,MAAM,CAAC;IACzB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,gBAAgB,EAAE,MAAM,CAAC;IACzB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,aAAa,EAAE,MAAM,CAAC;IACtB,mBAAmB,EAAE,MAAM,EAAE,CAAC;IAC9B,qBAAqB,EAAE,MAAM,EAAE,CAAC;CACjC;AA2QD;;;GAGG;AACH,wBAAsB,oBAAoB,CACxC,KAAK,EAAE,MAAM,EAAE,EACf,MAAM,GAAE,OAAO,CAAC,2BAA2B,CAAM,EACjD,OAAO,GAAE,YAAiB,EAC1B,gBAAgB,CAAC,EAAE,gBAAgB,GAClC,OAAO,CAAC,cAAc,CAAC,CAiHzB"}
@@ -5,6 +5,7 @@
5
5
  * Migrated from TypeScript Compiler API to tree-sitter AST patterns.
6
6
  */
7
7
  import { walkAST, isExported as adapterIsExported } from '../languages/adapterBridge.js';
8
+ import { LanguageRegistry } from '../languages/LanguageRegistry.js';
8
9
  import { makeVisitorStatus, getFilesProcessed } from '../pipeline.js';
9
10
  import { getNodePosition, findNodesOfType, getNodeName, processFiles } from './analyzerUtils.js';
10
11
  import { isReactComponent, getComponentName } from '../utils/reactDetection.js';
@@ -15,57 +16,6 @@ import { isReactComponent, getComponentName } from '../utils/reactDetection.js';
15
16
  const rawText = (node) => node.raw?.text ?? '';
16
17
  /** Find the first child of a given type. */
17
18
  const findChild = (node, type) => node.children?.find(c => c.type === type);
18
- /**
19
- * Get preceding comment nodes that are JSDoc-style (/** ... *​/).
20
- * Looks at siblings in the raw tree-sitter parent, walking backwards from
21
- * the given node until a non-comment sibling is found.
22
- */
23
- function getPrecedingJSDocComments(node) {
24
- const raw = node.raw;
25
- if (!raw?.parent)
26
- return [];
27
- const parentRaw = raw.parent;
28
- const parentAST = node.parent;
29
- if (!parentAST?.children)
30
- return [];
31
- // Find our position in the parent AST children
32
- const ourIndex = parentAST.children.findIndex(c => c.range[0] === node.range[0] && c.range[1] === node.range[1]);
33
- if (ourIndex < 0)
34
- return [];
35
- // Walk backwards collecting adjacent comment nodes
36
- const comments = [];
37
- for (let i = ourIndex - 1; i >= 0; i--) {
38
- const sibling = parentAST.children[i];
39
- if (sibling.type === 'comment') {
40
- const text = rawText(sibling);
41
- if (text.includes('/**')) {
42
- comments.unshift(sibling);
43
- }
44
- else {
45
- // Non-JSDoc comment — stop looking
46
- break;
47
- }
48
- }
49
- else {
50
- break;
51
- }
52
- }
53
- return comments;
54
- }
55
- /**
56
- * Extract the cleaned JSDoc comment text from preceding comment nodes.
57
- * Strips leading /**, trailing *​/, and leading * on each line.
58
- */
59
- function getJSDocText(node) {
60
- const comments = getPrecedingJSDocComments(node);
61
- if (comments.length === 0)
62
- return null;
63
- const combined = comments.map(c => rawText(c)).join('\n');
64
- return combined
65
- .replace(/\/\*\*|\*\/|\s*\*\s?/g, ' ')
66
- .replace(/\s+/g, ' ')
67
- .trim();
68
- }
69
19
  /**
70
20
  * Parse @param tag details from JSDoc comment text.
71
21
  * Returns array of documented parameter names.
@@ -133,12 +83,12 @@ function getFilePurpose(rootNode) {
133
83
  /**
134
84
  * Analyzes JSDoc parameter documentation for a function-like node.
135
85
  */
136
- function analyzeParamDocumentation(node) {
86
+ function analyzeParamDocumentation(node, adapter) {
137
87
  const totalParams = countParameters(node);
138
88
  if (totalParams === 0) {
139
89
  return { totalParams: 0, documentedParams: 0 };
140
90
  }
141
- const jsDocText = getJSDocText(node);
91
+ const jsDocText = adapter.getDocumentation(node);
142
92
  if (!jsDocText) {
143
93
  return { totalParams, documentedParams: 0 };
144
94
  }
@@ -151,8 +101,8 @@ function analyzeParamDocumentation(node) {
151
101
  /**
152
102
  * Checks if function has @returns or @return documentation in its JSDoc.
153
103
  */
154
- function hasReturnDocumentation(node) {
155
- const jsDocText = getJSDocText(node);
104
+ function hasReturnDocumentation(node, adapter) {
105
+ const jsDocText = adapter.getDocumentation(node);
156
106
  if (!jsDocText)
157
107
  return false;
158
108
  return /@returns?\b/i.test(jsDocText);
@@ -171,6 +121,8 @@ function hasReturnDocumentation(node) {
171
121
  function analyzeFileDocumentation(ast, filePath, sourceCode, config) {
172
122
  const violations = [];
173
123
  const fileName = filePath;
124
+ // B3: Get the language adapter for this file type
125
+ const adapter = LanguageRegistry.getInstance().getAdapterForFile(filePath);
174
126
  let totalFunctions = 0;
175
127
  let documentedFunctions = 0;
176
128
  let totalComponents = 0;
@@ -205,7 +157,7 @@ function analyzeFileDocumentation(ast, filePath, sourceCode, config) {
205
157
  const nodeExported = adapterIsExported(node);
206
158
  const shouldCheck = !config.checkExportedOnly || nodeExported;
207
159
  if (shouldCheck) {
208
- const jsDoc = getJSDocText(node);
160
+ const jsDoc = adapter?.getDocumentation(node) ?? null;
209
161
  const hasGoodDoc = jsDoc ? jsDoc.length >= config.minDescriptionLength : false;
210
162
  if (hasGoodDoc) {
211
163
  documentedFunctions++;
@@ -227,7 +179,7 @@ function analyzeFileDocumentation(ast, filePath, sourceCode, config) {
227
179
  }
228
180
  // Check parameter documentation
229
181
  if (node.type === 'function_declaration' || node.type === 'function_expression') {
230
- const paramAnalysis = analyzeParamDocumentation(node);
182
+ const paramAnalysis = analyzeParamDocumentation(node, adapter);
231
183
  if (paramAnalysis.totalParams > 0) {
232
184
  functionsWithParams++;
233
185
  if (paramAnalysis.documentedParams === paramAnalysis.totalParams) {
@@ -258,7 +210,7 @@ function analyzeFileDocumentation(ast, filePath, sourceCode, config) {
258
210
  const hasReturn = hasReturnType || hasReturnStatements;
259
211
  if (hasReturn) {
260
212
  functionsWithReturns++;
261
- if (hasReturnDocumentation(node)) {
213
+ if (hasReturnDocumentation(node, adapter)) {
262
214
  returnsDocumented++;
263
215
  }
264
216
  else if (config.requireReturnDocs && hasGoodDoc) {
@@ -286,7 +238,7 @@ function analyzeFileDocumentation(ast, filePath, sourceCode, config) {
286
238
  const componentExported = adapterIsExported(node);
287
239
  const shouldCheck = !config.checkExportedOnly || componentExported;
288
240
  if (shouldCheck) {
289
- const jsDoc = getJSDocText(node);
241
+ const jsDoc = adapter?.getDocumentation(node) ?? null;
290
242
  const hasGoodDoc = jsDoc ? jsDoc.length >= config.minDescriptionLength : false;
291
243
  if (hasGoodDoc) {
292
244
  documentedComponents++;
@@ -1 +1 @@
1
- {"version":3,"file":"documentationAnalyzer.js","sourceRoot":"","sources":["../../src/analyzers/documentationAnalyzer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"documentationAnalyzer.js","sourceRoot":"","sources":["../../src/analyzers/documentationAnalyzer.ts"],"names":[],"mappings":"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"}
@@ -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,gBA8E/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,gBA+E/B,CAAC"}
@@ -99,6 +99,7 @@ export const analyzeInvariants = async (files, config, options, _progressCallbac
99
99
  projectDir,
100
100
  sourceMap: config.sourceMap,
101
101
  knownFiles: config.knownFiles,
102
+ fileData: config.fileData,
102
103
  });
103
104
  const violations = [
104
105
  ...errorViolations,
@@ -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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"}
@@ -1 +1 @@
1
- {"version":3,"file":"UniversalConventionsAnalyzer.d.ts","sourceRoot":"","sources":["../../../src/analyzers/universal/UniversalConventionsAnalyzer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAGH,OAAO,EAAE,iBAAiB,EAAE,MAAM,sCAAsC,CAAC;AACzE,OAAO,KAAK,EAAE,cAAc,EAAa,yBAAyB,EAAE,MAAM,gBAAgB,CAAC;AAe3F,eAAO,MAAM,0BAA0B,EAAE,yBAKxC,CAAC;AAyCF,qBAAa,4BAA6B,SAAQ,iBAAiB;IACjE,QAAQ,CAAC,IAAI,iBAAiB;IAC9B,QAAQ,CAAC,WAAW,4EACuD;IAC3E,QAAQ,CAAC,QAAQ,WAAW;IAE5B;;;OAGG;IACG,OAAO,CACX,KAAK,EAAE,MAAM,EAAE,EACf,MAAM,GAAE,GAAQ,EAChB,OAAO,GAAE,GAAQ,GAChB,OAAO,CAAC,cAAc,CAAC,CA+FzB;IAED,yCAAyC;IACnC,UAAU,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC,CAEjC;IAID;;;OAGG;IACH,OAAO,CAAC,yBAAyB;IA+EjC;;;OAGG;IACH,OAAO,CAAC,0BAA0B;IA+FlC;;;;;OAKG;IACH,OAAO,CAAC,6BAA6B;IAqErC;;;OAGG;IACH,OAAO,CAAC,2BAA2B;IAiEnC;;;;OAIG;IACH,OAAO,CAAC,sBAAsB;CA8F/B"}
1
+ {"version":3,"file":"UniversalConventionsAnalyzer.d.ts","sourceRoot":"","sources":["../../../src/analyzers/universal/UniversalConventionsAnalyzer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAGH,OAAO,EAAE,iBAAiB,EAAE,MAAM,sCAAsC,CAAC;AACzE,OAAO,KAAK,EAAE,cAAc,EAAa,yBAAyB,EAAE,MAAM,gBAAgB,CAAC;AAgB3F,eAAO,MAAM,0BAA0B,EAAE,yBAKxC,CAAC;AAyCF,qBAAa,4BAA6B,SAAQ,iBAAiB;IACjE,QAAQ,CAAC,IAAI,iBAAiB;IAC9B,QAAQ,CAAC,WAAW,4EACuD;IAC3E,QAAQ,CAAC,QAAQ,WAAW;IAE5B;;;OAGG;IACG,OAAO,CACX,KAAK,EAAE,MAAM,EAAE,EACf,MAAM,GAAE,GAAQ,EAChB,OAAO,GAAE,GAAQ,GAChB,OAAO,CAAC,cAAc,CAAC,CAiGzB;IAED,yCAAyC;IACnC,UAAU,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC,CAEjC;IAID;;;OAGG;IACH,OAAO,CAAC,yBAAyB;IA+EjC;;;OAGG;IACH,OAAO,CAAC,0BAA0B;IA+FlC;;;;;OAKG;IACH,OAAO,CAAC,6BAA6B;IAqErC;;;OAGG;IACH,OAAO,CAAC,2BAA2B;IAgEnC;;;;OAIG;IACH,OAAO,CAAC,sBAAsB;CA8F/B"}
@@ -62,9 +62,11 @@ export class UniversalConventionsAnalyzer extends UniversalAnalyzer {
62
62
  metrics: { filesAnalyzed: files.length, totalViolations: 0, executionTime: Date.now() - startTime },
63
63
  };
64
64
  }
65
- // Extract project root and source map from config
65
+ // Extract project root, source map, and exports map from config
66
66
  const projectRoot = config.projectRoot;
67
67
  const sourceMap = config.sourceMap;
68
+ // B2: exportsMap comes from function-index visitor facts (AST-extracted)
69
+ const exportsMap = config.exportsMap;
68
70
  // Group conventions by domain for efficient detection
69
71
  const byDomain = new Map();
70
72
  for (const c of conventions) {
@@ -85,7 +87,7 @@ export class UniversalConventionsAnalyzer extends UniversalAnalyzer {
85
87
  violations.push(...this.detectErrorHandlingViolations(indexHandle, domainConventions));
86
88
  break;
87
89
  case 'export-shape':
88
- violations.push(...this.detectExportShapeViolations(indexHandle, domainConventions, projectRoot, sourceMap));
90
+ violations.push(...this.detectExportShapeViolations(indexHandle, domainConventions, exportsMap));
89
91
  break;
90
92
  case 'naming':
91
93
  violations.push(...this.detectNamingViolations(indexHandle, domainConventions));
@@ -318,7 +320,7 @@ export class UniversalConventionsAnalyzer extends UniversalAnalyzer {
318
320
  * For each export-shape convention, find exported functions in that
319
321
  * directory that use a minority export form.
320
322
  */
321
- detectExportShapeViolations(indexHandle, conventions, projectRoot, sourceMap) {
323
+ detectExportShapeViolations(indexHandle, conventions, exportsMap) {
322
324
  const violations = [];
323
325
  // directory → dominantForm
324
326
  const dirForms = new Map();
@@ -342,11 +344,11 @@ export class UniversalConventionsAnalyzer extends UniversalAnalyzer {
342
344
  const conv = dirForms.get(directory);
343
345
  if (!conv)
344
346
  continue;
345
- const fullPath = projectRoot ? path.join(projectRoot, row.file_path) : row.file_path;
346
- const sourceCode = sourceMap?.get(fullPath);
347
- if (sourceCode === undefined)
347
+ // B2: Use AST-extracted ExportInfo[] from function-index facts
348
+ const fileExports = exportsMap?.get(row.file_path);
349
+ if (!fileExports)
348
350
  continue;
349
- const form = detectExportForm(fullPath, row.name, sourceCode);
351
+ const form = detectExportForm(row.name, fileExports);
350
352
  if (!form || form === conv.form)
351
353
  continue;
352
354
  const pct = Math.round(conv.confidence * 100);
@@ -1 +1 @@
1
- {"version":3,"file":"UniversalConventionsAnalyzer.js","sourceRoot":"","sources":["../../../src/analyzers/universal/UniversalConventionsAnalyzer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"UniversalConventionsAnalyzer.js","sourceRoot":"","sources":["../../../src/analyzers/universal/UniversalConventionsAnalyzer.ts"],"names":[],"mappings":"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"}
@@ -105,11 +105,73 @@ export declare class UniversalDataAccessAnalyzer extends UniversalAnalyzer {
105
105
  * analysis, which is outside the product's stated scope per Spec 15 R3).
106
106
  */
107
107
  private isTemplateInDBProvenancedCall;
108
+ /**
109
+ * Detect that a node sits inside a D1 .prepare() call — the standard safe
110
+ * pattern for SQL in Cloudflare Workers.
111
+ *
112
+ * D1's parameterized API is `db.prepare(sql).bind(a, b, c).first()`.
113
+ * This method also recognises `.prepare()` WITHOUT a subsequent `.bind()`
114
+ * as safe: a prepared statement with no bind step has zero runtime
115
+ * parameters, so template interpolation in the SQL text is query
116
+ * composition with compile-time constants, not user input.
117
+ *
118
+ * Handles these patterns:
119
+ * • Direct chain: `db.prepare(sql).bind(a).all()`
120
+ * • Two-statement: `const stmt = db.prepare(sql); stmt.bind(a).all();`
121
+ * • No-param: `db.prepare(sql).first()` (no bind needed)
122
+ *
123
+ * Entry points:
124
+ * - a `template_string` node inside prepare()'s arguments
125
+ * - the prepare() call_expression itself
126
+ */
127
+ private isInPrepareBindChain;
128
+ /**
129
+ * Detect that a node sits inside a Durable Object .exec() call —
130
+ * Cloudflare's internal SQLite interface for Durable Objects.
131
+ *
132
+ * `storage.sql.exec(query, ...bindings)` accepts *spread* bind parameters
133
+ * after the query string. A call WITH spread binds is fully parameterized
134
+ * and safe. A call WITHOUT spread binds has no runtime parameters, so
135
+ * template interpolation is query-composition-time.
136
+ *
137
+ * Entry points: same as isInPrepareBindChain — a template_string inside
138
+ * the arguments, or the call_expression itself.
139
+ */
140
+ private isInExecChain;
141
+ /**
142
+ * Detect D1's convenience SQL methods — .all(), .first(), .run() —
143
+ * called with bind parameters as a second argument.
144
+ *
145
+ * `db.all(query, ...params)` is shorthand for
146
+ * `db.prepare(query).bind(...params).all()`. If there's a second argument
147
+ * (the bind params), the call is fully parameterized and safe.
148
+ */
149
+ private isD1ConvenienceCall;
150
+ /**
151
+ * Check the two-statement prepare→bind pattern: db.prepare() is assigned to
152
+ * a variable whose value is later .bind()'ed in the same function scope.
153
+ *
154
+ * const stmt = db.prepare(sql);
155
+ * const result = stmt.bind(x).all();
156
+ *
157
+ * The direct-chain check (isInPrepareBindChain Step 3) only catches the
158
+ * single-expression form `db.prepare(sql).bind(x).all()`. This method
159
+ * catches the common idiom where the prepared statement is stored in a local
160
+ * before being bound.
161
+ */
162
+ private isPrepareAssignedToVariable;
163
+ /**
164
+ * Walk up the AST to find the enclosing function node (function_declaration,
165
+ * arrow_function, or method_definition). Returns null if we reach the
166
+ * program root.
167
+ */
168
+ private findEnclosingFunctionNode;
108
169
  private isOrmPattern;
109
170
  private isDatabaseCall;
110
171
  private extractTables;
111
172
  private hasOrganizationFilter;
112
173
  private checkQuerySecurity;
174
+ private extractCallExpressionMethod;
113
175
  private extractMethodName;
114
176
  /**
115
177
  * Spec 21 R6.2: Three-tier org-filter detection.
@@ -1 +1 @@
1
- {"version":3,"file":"UniversalDataAccessAnalyzer.d.ts","sourceRoot":"","sources":["../../../src/analyzers/universal/UniversalDataAccessAnalyzer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"UniversalDataAccessAnalyzer.d.ts","sourceRoot":"","sources":["../../../src/analyzers/universal/UniversalDataAccessAnalyzer.ts"],"names":[],"mappings":"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"}