code-auditor-mcp 4.0.0 → 4.0.1

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 (194) hide show
  1. package/.claude-plugin/marketplace.json +1 -1
  2. package/CHANGELOG.md +26 -0
  3. package/dist/__tests__/fixtures/spec-52/item-04-storage-sql-exec-in-loop.d.ts.map +1 -1
  4. package/dist/__tests__/fixtures/spec-52/item-05-upsert-forms.d.ts +4 -4
  5. package/dist/__tests__/fixtures/spec-52/item-05-upsert-forms.d.ts.map +1 -1
  6. package/dist/analyzers/analyzerUtils.d.ts.map +1 -1
  7. package/dist/analyzers/analyzerUtils.js.map +1 -1
  8. package/dist/analyzers/cross-language/APIContractAnalyzer.d.ts.map +1 -1
  9. package/dist/analyzers/cross-language/DependencyGraphBuilder.d.ts.map +1 -1
  10. package/dist/analyzers/cross-language/DependencyGraphBuilder.js.map +1 -1
  11. package/dist/analyzers/cross-language/SchemaValidator.d.ts.map +1 -1
  12. package/dist/analyzers/cross-language/SchemaValidator.js.map +1 -1
  13. package/dist/analyzers/crossDomain/CrossDomainAnalyzer.d.ts.map +1 -1
  14. package/dist/analyzers/crossDomain/CrossDomainAnalyzer.js +23 -2
  15. package/dist/analyzers/crossDomain/CrossDomainAnalyzer.js.map +1 -1
  16. package/dist/analyzers/documentationAnalyzer.js.map +1 -1
  17. package/dist/analyzers/orm/adapterRegistry.d.ts.map +1 -1
  18. package/dist/analyzers/orm/drizzleAdapter.d.ts.map +1 -1
  19. package/dist/analyzers/orm/prismaAdapter.d.ts.map +1 -1
  20. package/dist/analyzers/provenance.d.ts +10 -1
  21. package/dist/analyzers/provenance.d.ts.map +1 -1
  22. package/dist/analyzers/provenance.js +138 -1
  23. package/dist/analyzers/provenance.js.map +1 -1
  24. package/dist/analyzers/reactAnalyzer.js.map +1 -1
  25. package/dist/analyzers/ruleRegistry.js +2 -2
  26. package/dist/analyzers/ruleRegistry.js.map +1 -1
  27. package/dist/analyzers/universal/UniversalConventionsAnalyzer.d.ts.map +1 -1
  28. package/dist/analyzers/universal/UniversalConventionsAnalyzer.js.map +1 -1
  29. package/dist/analyzers/universal/UniversalDRYAnalyzer.d.ts.map +1 -1
  30. package/dist/analyzers/universal/UniversalDRYAnalyzer.js.map +1 -1
  31. package/dist/analyzers/universal/UniversalDataAccessAnalyzer.d.ts.map +1 -1
  32. package/dist/analyzers/universal/UniversalDataAccessAnalyzer.js +244 -37
  33. package/dist/analyzers/universal/UniversalDataAccessAnalyzer.js.map +1 -1
  34. package/dist/analyzers/universal/UniversalDocumentationAnalyzer.d.ts.map +1 -1
  35. package/dist/analyzers/universal/UniversalSOLIDAnalyzer.d.ts.map +1 -1
  36. package/dist/analyzers/universal/UniversalSOLIDAnalyzer.js.map +1 -1
  37. package/dist/analyzers/universal/UniversalSchemaAnalyzer.d.ts.map +1 -1
  38. package/dist/analyzers/universal/UniversalSchemaAnalyzer.js +1 -0
  39. package/dist/analyzers/universal/UniversalSchemaAnalyzer.js.map +1 -1
  40. package/dist/analyzers/universal/UniversalSecretsAnalyzer.d.ts.map +1 -1
  41. package/dist/analyzers/universal/UniversalStylesAnalyzer.d.ts.map +1 -1
  42. package/dist/analyzers/universal/UniversalStylesAnalyzer.js +57 -22
  43. package/dist/analyzers/universal/UniversalStylesAnalyzer.js.map +1 -1
  44. package/dist/analyzers/universal/schema/codeAnalysis.d.ts +21 -21
  45. package/dist/analyzers/universal/schema/codeAnalysis.d.ts.map +1 -1
  46. package/dist/analyzers/universal/schema/codeAnalysis.js +197 -43
  47. package/dist/analyzers/universal/schema/codeAnalysis.js.map +1 -1
  48. package/dist/analyzers/universal/schema/config.d.ts +6 -6
  49. package/dist/analyzers/universal/schema/config.d.ts.map +1 -1
  50. package/dist/analyzers/universal/schema/types.d.ts +10 -0
  51. package/dist/analyzers/universal/schema/types.d.ts.map +1 -1
  52. package/dist/auditRunner.d.ts +1 -1
  53. package/dist/auditRunner.d.ts.map +1 -1
  54. package/dist/auditRunner.js +21 -6
  55. package/dist/auditRunner.js.map +1 -1
  56. package/dist/churn/churnExtractor.js.map +1 -1
  57. package/dist/cli.js +31 -9
  58. package/dist/cli.js.map +1 -1
  59. package/dist/codeIndexDB.d.ts.map +1 -1
  60. package/dist/codeIndexDB.js +19 -3
  61. package/dist/codeIndexDB.js.map +1 -1
  62. package/dist/codeIndexService.d.ts.map +1 -1
  63. package/dist/codeIndexService.js.map +1 -1
  64. package/dist/componentScanner.js.map +1 -1
  65. package/dist/config/defaults.d.ts +2 -2
  66. package/dist/config/defaults.d.ts.map +1 -1
  67. package/dist/config/defaults.js +7 -0
  68. package/dist/config/defaults.js.map +1 -1
  69. package/dist/constants.d.ts +1 -1
  70. package/dist/conventions/conventionMiner.js.map +1 -1
  71. package/dist/coverage/lcovParser.js.map +1 -1
  72. package/dist/daemon/args.js.map +1 -1
  73. package/dist/daemon/core.d.ts.map +1 -1
  74. package/dist/daemon/core.js +18 -9
  75. package/dist/daemon/core.js.map +1 -1
  76. package/dist/daemon/lspServer.d.ts.map +1 -1
  77. package/dist/daemon/main.js.map +1 -1
  78. package/dist/daemon/resolve.js.map +1 -1
  79. package/dist/daemon/socketServer.d.ts.map +1 -1
  80. package/dist/functionScanner.d.ts.map +1 -1
  81. package/dist/generators/AWSQConfigGenerator.d.ts.map +1 -1
  82. package/dist/generators/AiderConfigGenerator.d.ts.map +1 -1
  83. package/dist/generators/BaseConfigGenerator.d.ts.map +1 -1
  84. package/dist/generators/BaseConfigGenerator.js.map +1 -1
  85. package/dist/generators/ClaudeConfigGenerator.d.ts.map +1 -1
  86. package/dist/generators/ClineConfigGenerator.d.ts.map +1 -1
  87. package/dist/generators/CodeiumConfigGenerator.d.ts.map +1 -1
  88. package/dist/generators/CodexConfigGenerator.d.ts.map +1 -1
  89. package/dist/generators/ConfigGeneratorFactory.d.ts.map +1 -1
  90. package/dist/generators/ConfigGeneratorFactory.js.map +1 -1
  91. package/dist/generators/ContinueConfigGenerator.d.ts.map +1 -1
  92. package/dist/generators/CopilotConfigGenerator.d.ts.map +1 -1
  93. package/dist/generators/CursorConfigGenerator.d.ts.map +1 -1
  94. package/dist/generators/GeminiConfigGenerator.d.ts.map +1 -1
  95. package/dist/generators/JetBrainsConfigGenerator.d.ts.map +1 -1
  96. package/dist/generators/VSCodeConfigGenerator.d.ts.map +1 -1
  97. package/dist/generators/ZCodeConfigGenerator.d.ts.map +1 -1
  98. package/dist/graph/importClassification.d.ts +46 -8
  99. package/dist/graph/importClassification.d.ts.map +1 -1
  100. package/dist/graph/importClassification.js +207 -35
  101. package/dist/graph/importClassification.js.map +1 -1
  102. package/dist/graph/outputFormatter.js.map +1 -1
  103. package/dist/hooks/codex.js.map +1 -1
  104. package/dist/hooks/cursor.js.map +1 -1
  105. package/dist/index.d.ts.map +1 -1
  106. package/dist/installer.js.map +1 -1
  107. package/dist/invariants/ruleEngine.js.map +1 -1
  108. package/dist/invariants/ruleValidator.js.map +1 -1
  109. package/dist/languages/LanguageOrchestrator.d.ts.map +1 -1
  110. package/dist/languages/LanguageOrchestrator.js.map +1 -1
  111. package/dist/languages/LanguageRegistry.d.ts.map +1 -1
  112. package/dist/languages/RuntimeManager.d.ts.map +1 -1
  113. package/dist/languages/RuntimeManager.js.map +1 -1
  114. package/dist/languages/UniversalAnalyzer.d.ts.map +1 -1
  115. package/dist/languages/UniversalAnalyzer.js.map +1 -1
  116. package/dist/languages/adapterBridge.js.map +1 -1
  117. package/dist/languages/go/GoAdapter.d.ts.map +1 -1
  118. package/dist/languages/go/GoAdapter.js.map +1 -1
  119. package/dist/languages/goBinary.js.map +1 -1
  120. package/dist/languages/tree-sitter/TreeSitterCssAdapter.d.ts.map +1 -1
  121. package/dist/languages/tree-sitter/TreeSitterCssAdapter.js.map +1 -1
  122. package/dist/languages/tree-sitter/converter.js.map +1 -1
  123. package/dist/languages/tree-sitter/parser.js.map +1 -1
  124. package/dist/languages/types.d.ts +15 -0
  125. package/dist/languages/types.d.ts.map +1 -1
  126. package/dist/languages/typescript/TreeSitterTypeScriptAdapter.d.ts +11 -0
  127. package/dist/languages/typescript/TreeSitterTypeScriptAdapter.d.ts.map +1 -1
  128. package/dist/languages/typescript/TreeSitterTypeScriptAdapter.js +34 -0
  129. package/dist/languages/typescript/TreeSitterTypeScriptAdapter.js.map +1 -1
  130. package/dist/ledger.js.map +1 -1
  131. package/dist/mcp-tools/projectTasks.d.ts +37 -37
  132. package/dist/mcp-tools/projectTasks.js.map +1 -1
  133. package/dist/mcp-tools/whitelistTools.d.ts +17 -17
  134. package/dist/mcp-tools/whitelistTools.d.ts.map +1 -1
  135. package/dist/mcp-tools-shared.d.ts.map +1 -1
  136. package/dist/mcp-ui-simple.js.map +1 -1
  137. package/dist/mcpAuditJobs.js.map +1 -1
  138. package/dist/mcpToolErrors.d.ts.map +1 -1
  139. package/dist/mcpToolErrors.js.map +1 -1
  140. package/dist/native-bootstrap.js.map +1 -1
  141. package/dist/nextFileIncremental.d.ts +7 -0
  142. package/dist/nextFileIncremental.d.ts.map +1 -1
  143. package/dist/nextFileIncremental.js +25 -9
  144. package/dist/nextFileIncremental.js.map +1 -1
  145. package/dist/pipeline.d.ts +2 -2
  146. package/dist/pipeline.d.ts.map +1 -1
  147. package/dist/pipeline.js +35 -0
  148. package/dist/pipeline.js.map +1 -1
  149. package/dist/pipelineAdapters.d.ts.map +1 -1
  150. package/dist/pipelineAdapters.js +80 -22
  151. package/dist/pipelineAdapters.js.map +1 -1
  152. package/dist/reporting/csvReportGenerator.d.ts.map +1 -1
  153. package/dist/reporting/htmlReportGenerator.d.ts.map +1 -1
  154. package/dist/reporting/jsonReportGenerator.d.ts.map +1 -1
  155. package/dist/reporting/reportGenerator.d.ts.map +1 -1
  156. package/dist/reporting/sarifReportGenerator.d.ts.map +1 -1
  157. package/dist/search/QueryParser.d.ts.map +1 -1
  158. package/dist/search/QueryParser.js.map +1 -1
  159. package/dist/services/CodeMapGenerator.d.ts.map +1 -1
  160. package/dist/services/CodeMapGenerator.js.map +1 -1
  161. package/dist/services/ProjectTaskRepository.d.ts.map +1 -1
  162. package/dist/services/ProjectTaskRepository.js.map +1 -1
  163. package/dist/services/auditJobService.js.map +1 -1
  164. package/dist/services/fileAccounting.d.ts.map +1 -1
  165. package/dist/services/projectTaskHelpers.js.map +1 -1
  166. package/dist/services/whitelistService.d.ts.map +1 -1
  167. package/dist/sqlite/betterSqlite3.d.ts.map +1 -1
  168. package/dist/sqlite/betterSqlite3.js.map +1 -1
  169. package/dist/sqlite/nodeSqlite.d.ts.map +1 -1
  170. package/dist/sqlite/nodeSqlite.js.map +1 -1
  171. package/dist/structuralSignature.js.map +1 -1
  172. package/dist/styles/styleExtractor.js.map +1 -1
  173. package/dist/styles/styleIndexer.js.map +1 -1
  174. package/dist/styles/tailwindConfigLoader.js.map +1 -1
  175. package/dist/styles/tailwindProbe.d.ts.map +1 -1
  176. package/dist/styles/tailwindUtilityExpander.d.ts.map +1 -1
  177. package/dist/styles/tailwindUtilityExpander.js.map +1 -1
  178. package/dist/telemetry.js.map +1 -1
  179. package/dist/tool-registry.d.ts.map +1 -1
  180. package/dist/types.d.ts +9 -1
  181. package/dist/types.d.ts.map +1 -1
  182. package/dist/types.js.map +1 -1
  183. package/dist/ui/InteractivePrompts.d.ts.map +1 -1
  184. package/dist/ui/InteractivePrompts.js.map +1 -1
  185. package/dist/utils/componentPatterns.js.map +1 -1
  186. package/dist/utils/fileDiscovery.js.map +1 -1
  187. package/dist/utils/jsDocParser.js.map +1 -1
  188. package/dist/version.generated.d.ts +1 -1
  189. package/dist/version.generated.js +1 -1
  190. package/dist/workers/auditWorker.js.map +1 -1
  191. package/package.json +4 -3
  192. package/plugin/.claude-plugin/plugin.json +1 -1
  193. package/plugin/skills/code-auditor/SKILL.md +1 -1
  194. package/server.json +2 -2
@@ -41,6 +41,8 @@ export function findTableReferences(ast, adapter, sourceCode, ctx) {
41
41
  }
42
42
  // (4) Spec 15 R2 — ORM-aware extraction (Drizzle + Prisma)
43
43
  references.push(...extractOrmRefs(ast, adapter, sourceCode));
44
+ // (5) knex-style query-builder reads — db('table').select(...) / .where(...) / .first(...)
45
+ references.push(...extractQueryBuilderRefs(ast, adapter, sourceCode, ctx));
44
46
  return { references, unresolved };
45
47
  }
46
48
  /**
@@ -163,6 +165,89 @@ function extractOrmRefs(ast, adapter, sourceCode) {
163
165
  }
164
166
  return references;
165
167
  }
168
+ /**
169
+ * Strategy (5): knex-style fluent builder *reads* — the query-builder form
170
+ * `db('table').select(...)` / `db('table').where(...)` / `db('table').first(...)`.
171
+ *
172
+ * The table selector is a *receiver call* (`db('table')`) whose first argument
173
+ * is a string-literal table name — distinct from the `db.method(sql)` member-call
174
+ * form strategy (2) handles. This is the same blindness the ORM adapters close
175
+ * for Drizzle/Prisma: a fluent builder call carries the table in a receiver-call
176
+ * argument, not a SQL keyword, so `parseSqlTables` never sees it. Without this,
177
+ * a knex `db('cp_test').select('name')` leaves `cp_test` "written (create) but
178
+ * never read" — a live written-never-read false positive.
179
+ *
180
+ * Only *reads* are recorded. Writes (`insert`/`update`/`del`) and the
181
+ * schema-builder `createTable` form are deliberately left unrecorded: they are
182
+ * overwhelmingly scratch/negative-test fixtures in a test-heavy corpus, and
183
+ * recording them floods the cross-domain lifecycle rules with one-sided
184
+ * `create`/`write` usages whose matching read is unparseable (`ages` in a
185
+ * create-and-drop transaction test has no read at all). The query-builder read
186
+ * is enough to *balance* a non-builder write/create (the cp_test case) — and a
187
+ * fluent-only table is exempted from the one-sided lifecycle rules by the
188
+ * `origin` discriminator in the cross-domain analyzer, so the read does not
189
+ * mirror into a `read-never-written` flood.
190
+ *
191
+ * References are tagged `origin: 'query-builder'` so the naming-convention,
192
+ * unknown-table, and (via the cross-domain discriminator) lifecycle checks skip
193
+ * them — a scratch/test table name carried in a fluent builder call is not a
194
+ * schema violation, and feeding it into unknown-table floods a test-heavy corpus
195
+ * and flips the fail-open ratio.
196
+ */
197
+ /** Extra knex/transaction receiver names beyond the configured DB receivers. */
198
+ const QUERY_BUILDER_RECEIVER_NAMES = ['trx', 'knex'];
199
+ function extractQueryBuilderRefs(ast, adapter, sourceCode, ctx) {
200
+ const references = [];
201
+ const receivers = new Set([
202
+ ...(ctx.config.dbReceiverNames ?? [...DB_RECEIVER_NAMES]),
203
+ ...QUERY_BUILDER_RECEIVER_NAMES,
204
+ ]);
205
+ const calls = adapter.findNodes(ast, { type: 'call_expression' });
206
+ for (const call of calls) {
207
+ // Only the outermost call of a query chain carries the complete text and the
208
+ // terminal method; the inner `db('table')` receiver call is its object. A
209
+ // call that is itself the object of a parent member_expression is chained
210
+ // further, so its text would truncate the terminal method and misclassify.
211
+ if (isChainedFurther(call, adapter))
212
+ continue;
213
+ const text = adapter.getNodeText(call, sourceCode);
214
+ // `receiver('table')` as the leftmost call, followed by a chained method
215
+ // call (the `.method(` is required — a bare `db('table')` is ambiguous).
216
+ const m = /^([A-Za-z_$][\w$]*)\s*\(\s*['"]([^'"]+)['"]\s*\)\s*\.\s*[A-Za-z_$][\w$]*\s*\(/.exec(text);
217
+ if (!m)
218
+ continue;
219
+ const [, receiver, rawTable] = m;
220
+ if (!receivers.has(receiver))
221
+ continue;
222
+ const table = normalizeQueryBuilderTable(rawTable);
223
+ references.push({
224
+ table,
225
+ type: 'select',
226
+ location: call.location.start,
227
+ context: `${receiver}(${table})`,
228
+ origin: 'query-builder',
229
+ });
230
+ }
231
+ return references;
232
+ }
233
+ /** Strip a SQL alias from a query-builder table selector — `accounts as a1` →
234
+ * `accounts`. Bare table names (and knex's deliberately-weird test names like
235
+ * `CREATE TABLE`) pass through unchanged. */
236
+ function normalizeQueryBuilderTable(table) {
237
+ return table.split(/\s+as\s+/i)[0].trim();
238
+ }
239
+ /** True when `call` is the object of a parent member_expression (it is chained
240
+ * into a further `.method(...)`), so it is not the outermost call of its chain. */
241
+ function isChainedFurther(call, adapter) {
242
+ const parent = adapter.getParent(call);
243
+ if (!parent || adapter.getNodeType(parent) !== 'member_expression')
244
+ return false;
245
+ const object = adapter.getChildren(parent).find((c) => {
246
+ const t = adapter.getNodeType(c);
247
+ return t !== 'property_identifier' && t !== 'field_identifier' && t !== '.';
248
+ });
249
+ return object === call;
250
+ }
166
251
  /**
167
252
  * SQL patterns anchored to SQL keywords (not arbitrary substrings).
168
253
  *
@@ -224,11 +309,28 @@ function matchSqlPatterns(ctx) {
224
309
  // Skip common false positives: common variable names, keywords
225
310
  if (isSqlKeyword(table))
226
311
  continue;
227
- // Calculate position in original source
312
+ // Calculate position in original source. Anchor against `sqlText` — the
313
+ // original SQL, which appears verbatim in the source — NOT `cleaned`, which
314
+ // carries `__TMPL__` sentinels for `${…}` substitutions that never appear
315
+ // in the source. `sourceCode.indexOf(cleaned)` returns -1 for any
316
+ // interpolated template, collapsing every anchor to a plausible-but-wrong
317
+ // line. An `indexOf` that returns -1 is a bug, not a fallback — throw
318
+ // rather than mis-place (same guard the severity lookup uses for `undefined`).
319
+ if (match[0].includes('__TMPL__')) {
320
+ // The match overlaps a template substitution (a templated table name);
321
+ // there is no verbatim anchor to point at, and the reference is filtered
322
+ // out downstream — skip it rather than fabricate a location.
323
+ continue;
324
+ }
325
+ const sqlAbs = sourceCode.indexOf(sqlText);
326
+ if (sqlAbs < 0) {
327
+ throw new Error(`parseSqlTables: SQL text not found in source — a table reference that cannot be anchored is a bug, not something to mis-place.`);
328
+ }
228
329
  const offset = sqlText.indexOf(match[0]);
229
- const location = offset >= 0
230
- ? offsetToLocation(sourceCode, sourceCode.indexOf(cleaned) + offset, baseLocation)
231
- : baseLocation;
330
+ if (offset < 0) {
331
+ throw new Error(`parseSqlTables: match "${match[0]}" not found in SQL text — a table reference that cannot be anchored is a bug, not something to mis-place.`);
332
+ }
333
+ const location = offsetToLocation(sourceCode, sqlAbs + offset, baseLocation);
232
334
  references.push({
233
335
  table,
234
336
  type,
@@ -395,6 +497,11 @@ export function levenshteinDistance(a, b) {
395
497
  export function checkNamingConventions(references, filePath) {
396
498
  const violations = [];
397
499
  for (const ref of references) {
500
+ // Fluent-builder references carry a dynamic table string whose name is a
501
+ // test/scratch fixture, not a declared schema name — naming conformance
502
+ // (snake_case / reserved-word) is a property of the schema, not the call.
503
+ if (ref.origin === 'query-builder')
504
+ continue;
398
505
  // Conformance check instead of an uppercase-proxy: a table name is valid
399
506
  // when it is snake_case (`/^[a-z][a-z0-9_]*$/`), or when it is an ORM
400
507
  // class name following the `Table`-suffix policy (e.g. `UsersTable` for
@@ -587,7 +694,10 @@ function isAllDynamicPartsSafe(callNode, ast, adapter, sourceCode) {
587
694
  */
588
695
  export function checkMissingReferences(references, allTables, filePath) {
589
696
  const violations = [];
590
- const unknownRefs = references.filter(ref => !allTables.has(ref.table) && !isSystemTable(ref.table) && !isTableValuedFunction(ref.table));
697
+ const unknownRefs = references.filter(ref => ref.origin !== 'query-builder' &&
698
+ !allTables.has(ref.table) &&
699
+ !isSystemTable(ref.table) &&
700
+ !isTableValuedFunction(ref.table));
591
701
  const knownCount = allTables.size;
592
702
  const unknownCount = unknownRefs.length;
593
703
  if (knownCount === 0 || unknownCount / Math.max(knownCount, 1) > 10) {
@@ -968,61 +1078,105 @@ export function isModuleImportFrom(sqlText, fromIndex) {
968
1078
  return /(?:^|[\n;])\s*(?:import|export)\b/m.test(prefix);
969
1079
  }
970
1080
  /**
971
- * Count the number of DB queries a function body issues.
1081
+ * SQL statement keyword patterns that mark a query. Shared by the standalone
1082
+ * SQL-keyword pass and the `.exec`-body probe so the two can never drift. A
1083
+ * bare `UPDATE` keyword is counted, but not the `DO UPDATE` / `KEY UPDATE`
1084
+ * clause of an upsert (`INSERT … ON CONFLICT … DO UPDATE` /
1085
+ * `INSERT … ON DUPLICATE KEY UPDATE`) — that clause is part of the one INSERT
1086
+ * statement, not a second query (Spec 52 R2).
1087
+ */
1088
+ const SQL_QUERY_PATTERNS = [
1089
+ /SELECT\s+/gi,
1090
+ /INSERT(?:\s+OR\s+(?:IGNORE|REPLACE))?\s+INTO|REPLACE\s+INTO/gi,
1091
+ /(?<!DO\s)(?<!KEY\s)UPDATE\s+/gi,
1092
+ /DELETE\s+FROM/gi,
1093
+ ];
1094
+ /** Number of SQL-statement keyword occurrences a text slice contains. */
1095
+ function countSqlKeywordOccurrences(text) {
1096
+ let count = 0;
1097
+ for (const pattern of SQL_QUERY_PATTERNS) {
1098
+ const matches = text.match(pattern);
1099
+ if (matches)
1100
+ count += matches.length;
1101
+ }
1102
+ return count;
1103
+ }
1104
+ /**
1105
+ * Count the number of DB queries a function body issues — by *call site*, not
1106
+ * by SQL literal (defect #47: counting literals made parameterizing a query into
1107
+ * a ternary of three template strings read as three queries).
1108
+ *
1109
+ * - An eager execution method call (`.run()`/`.all()`/`.first()`/`.raw()`/
1110
+ * `.batch()`, plus the generic `.query()`/`.execute()` wrappers) is one query.
1111
+ * - Each `.exec()` whose body carries a SQL keyword is one query. `.exec` is
1112
+ * matched this way — not as a bare eager method — because `regex.exec()` and
1113
+ * `child_process.exec()` are too common to distinguish by name; the SQL-keyword
1114
+ * probe keeps those at zero while collapsing a parameterized
1115
+ * `db.exec(a ? 'SELECT x' : b ? 'SELECT y' : 'SELECT z')` to a single call site.
1116
+ * - A standalone SQL keyword outside any recognized DB-call body is one query.
972
1117
  *
973
- * An eager execution method call (`.run()`/`.all()`/`.first()`/`.raw()`/
974
- * `.batch()`, plus the generic `.query()`/`.execute()` wrappers) is one query;
975
- * each standalone SQL keyword (SELECT, INSERT [OR …] INTO / REPLACE INTO,
976
- * UPDATE, DELETE FROM) outside such a call is also one query. SQL keywords
977
- * inside a call's argument are not counted separately — otherwise a single
978
- * `run('SELECT ...')` call is counted twice (once for the call, once for the
979
- * SQL it carries). `.prepare()` bodies are likewise stripped (Spec 52 R1):
980
- * preparation is statement construction, not execution, so its SQL is not a
981
- * query the function issues — but a `db.prepare(sql).bind(x).run()` chain still
982
- * counts one query for the eager `.run()`. `Promise.all(...)` is not a query
983
- * and is excluded from the `.all()` count. Optional TypeScript type arguments
984
- * (`.all<Row>()`/`.first<Row>()`) are matched. `.exec()` is deliberately
985
- * omitted: `regex.exec()`/`child_process.exec()` are too common to distinguish
986
- * from `db.exec()` in a text heuristic, and a `db.exec('SELECT …')` literal is
987
- * still counted via its bare SQL keyword. A bare `UPDATE` keyword is counted,
988
- * but not the `DO UPDATE` / `KEY UPDATE` clause of an upsert
989
- * (`INSERT … ON CONFLICT … DO UPDATE` / `INSERT … ON DUPLICATE KEY UPDATE`) —
990
- * that clause is part of the one INSERT statement, not a second query
991
- * (Spec 52 R2).
1118
+ * SQL keywords inside a recognized call's argument are NOT counted separately —
1119
+ * otherwise a single `run('SELECT ...')` is counted twice (once for the call,
1120
+ * once for the SQL it carries). `.prepare()` bodies are stripped too (Spec 52
1121
+ * R1): preparation is statement construction, not execution, so its SQL is not
1122
+ * a query — but `db.prepare(sql).bind(x).run()` still counts one for the eager
1123
+ * `.run()`. `Promise.all(...)` is not a query and is excluded from the `.all()`
1124
+ * count. Optional TypeScript type arguments (`.all<Row>()`/`.first<Row>()`) are
1125
+ * matched.
992
1126
  *
993
1127
  * @param text The function body text.
994
1128
  * @returns The number of DB queries the function issues.
995
1129
  */
996
1130
  export function countQueries(text) {
997
1131
  const callCount = (text.match(/\.(?:query|execute|run|first|raw|batch)\b[^()\n]*\(|(?<!Promise)\.all\b[^()\n]*\(/g) || []).length;
1132
+ const execCount = countExecCallsWithSql(text);
998
1133
  const bodyless = stripQueryCallBodies(text);
999
- const sqlPatterns = [
1000
- /SELECT\s+/gi,
1001
- /INSERT(?:\s+OR\s+(?:IGNORE|REPLACE))?\s+INTO|REPLACE\s+INTO/gi,
1002
- /(?<!DO\s)(?<!KEY\s)UPDATE\s+/gi,
1003
- /DELETE\s+FROM/gi,
1004
- ];
1005
- let sqlCount = 0;
1006
- for (const pattern of sqlPatterns) {
1007
- const matches = bodyless.match(pattern);
1008
- if (matches)
1009
- sqlCount += matches.length;
1134
+ const sqlCount = countSqlKeywordOccurrences(bodyless);
1135
+ return callCount + execCount + sqlCount;
1136
+ }
1137
+ /**
1138
+ * Count `.exec(...)` calls whose balanced body carries a SQL statement keyword.
1139
+ * This is the only way `.exec` is counted: `db.exec('SELECT …')` is one query,
1140
+ * while `regex.exec(str)` and `child_process.exec('ls')` carry no SQL keyword and
1141
+ * stay at zero. A parameterized ternary (`db.exec(a ? 'SELECT x' : b ? 'SELECT y' : 'SELECT z')`)
1142
+ * is one call site, so its three literals collapse to a single count.
1143
+ */
1144
+ function countExecCallsWithSql(text) {
1145
+ const re = /\.exec\b[^()\n]*\(/g;
1146
+ let count = 0;
1147
+ let m;
1148
+ while ((m = re.exec(text)) !== null) {
1149
+ const openParen = m.index + m[0].length;
1150
+ let depth = 1;
1151
+ let i = openParen;
1152
+ while (i < text.length && depth > 0) {
1153
+ if (text[i] === '(')
1154
+ depth++;
1155
+ else if (text[i] === ')')
1156
+ depth--;
1157
+ i++;
1158
+ }
1159
+ if (countSqlKeywordOccurrences(text.slice(openParen, i - 1)) > 0)
1160
+ count++;
1161
+ re.lastIndex = i;
1010
1162
  }
1011
- return callCount + sqlCount;
1163
+ return count;
1012
1164
  }
1013
1165
  /**
1014
1166
  * Blank out the bodies of eager execution method calls (`.run()`/`.all()`/
1015
1167
  * `.first()`/`.raw()`/`.batch()`/`.query()`/`.execute()`) and of `.prepare()`
1016
- * calls (balanced-paren aware) so SQL keywords inside their arguments are not
1017
- * double-counted. `.prepare()` carries SQL but does not execute it (Spec 52
1018
- * R1), so its body is stripped too. `Promise.all(...)` is not a query and is
1019
- * left intact so the DB calls it contains stay visible.
1168
+ * and `.exec()` calls (balanced-paren aware) so SQL keywords inside their
1169
+ * arguments are not double-counted. `.prepare()` carries SQL but does not
1170
+ * execute it (Spec 52 R1), so its body is stripped too. `.exec()` is stripped
1171
+ * because its SQL is counted by `countExecCallsWithSql` instead of leaking into
1172
+ * the standalone-keyword pass. `Promise.all(...)` is not a query and is left
1173
+ * intact so the DB calls it contains stay visible.
1020
1174
  *
1021
1175
  * @param text The function body text.
1022
- * @returns The text with eager/`query`/`execute`/`prepare` call bodies replaced by spaces.
1176
+ * @returns The text with eager/`query`/`execute`/`prepare`/`exec` call bodies replaced by spaces.
1023
1177
  */
1024
1178
  function stripQueryCallBodies(text) {
1025
- const re = /\.(?:query|execute|prepare|run|first|raw|batch)\b[^()\n]*\(|(?<!Promise)\.all\b[^()\n]*\(/g;
1179
+ const re = /\.(?:query|execute|exec|prepare|run|first|raw|batch)\b[^()\n]*\(|(?<!Promise)\.all\b[^()\n]*\(/g;
1026
1180
  let result = '';
1027
1181
  let last = 0;
1028
1182
  let m;
@@ -1 +1 @@
1
- {"version":3,"file":"codeAnalysis.js","sourceRoot":"","sources":["../../../../src/analyzers/universal/schema/codeAnalysis.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"codeAnalysis.js","sourceRoot":"","sources":["../../../../src/analyzers/universal/schema/codeAnalysis.ts"],"names":[],"mappings":"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"}
@@ -18,8 +18,8 @@ import type { SchemaAnalyzerConfig } from './types.js';
18
18
  * non-DB code (WebSocket, Map, jQuery, vector stores), causing phantom
19
19
  * cross-domain lifecycle violations. See CHANGELOG 3.4.9 accuracy fix.
20
20
  */
21
- export declare const DB_RECEIVER_NAMES: readonly ['db', 'database', 'sql', 'stmt'];
22
- export declare const DB_CALL_METHOD_NAMES: readonly ['exec', 'prepare', 'batch', 'run', 'all', 'first'];
21
+ export declare const DB_RECEIVER_NAMES: readonly ["db", "database", "sql", "stmt"];
22
+ export declare const DB_CALL_METHOD_NAMES: readonly ["exec", "prepare", "batch", "run", "all", "first"];
23
23
  /**
24
24
  * DB-call methods whose first argument is SQL text (as opposed to bound
25
25
  * parameters, prepared statements, or a batch array). `extractDbCallRefs` only
@@ -27,10 +27,10 @@ export declare const DB_CALL_METHOD_NAMES: readonly ['exec', 'prepare', 'batch',
27
27
  * `first` take a statements array or parameter object, so their first argument
28
28
  * is never SQL and must not be reported as an unresolvable query (Spec 58 R1).
29
29
  */
30
- export declare const SQL_CARRYING_METHOD_NAMES: readonly ['exec', 'prepare', 'query', 'raw', 'execute'];
31
- export declare const DB_BINDING_NAMES: readonly ['env.DB'];
32
- export declare const DB_WRAPPER_NAMES: readonly ['d1Query', 'd1Exec'];
33
- export declare const SQL_TAG_NAMES: readonly ['sql', 'db'];
30
+ export declare const SQL_CARRYING_METHOD_NAMES: readonly ["exec", "prepare", "query", "raw", "execute"];
31
+ export declare const DB_BINDING_NAMES: readonly ["env.DB"];
32
+ export declare const DB_WRAPPER_NAMES: readonly ["d1Query", "d1Exec"];
33
+ export declare const SQL_TAG_NAMES: readonly ["sql", "db"];
34
34
  export declare const DEFAULT_SCHEMA_CONFIG: SchemaAnalyzerConfig;
35
35
  /**
36
36
  * Escape regex special characters in a string.
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../../src/analyzers/universal/schema/config.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAEvD;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,iBAAiB,YAAI,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,CAAU,CAAC;AAC5E,eAAO,MAAM,oBAAoB,YAAI,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,CAAU,CAAC;AACjG;;;;;;GAMG;AACH,eAAO,MAAM,yBAAyB,YAAI,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,CAAU,CAAC;AACjG,eAAO,MAAM,gBAAgB,YAAI,QAAQ,CAAU,CAAC;AACpD,eAAO,MAAM,gBAAgB,YAAI,SAAS,EAAE,QAAQ,CAAU,CAAC;AAC/D,eAAO,MAAM,aAAa,YAAI,KAAK,EAAE,IAAI,CAAU,CAAC;AAEpD,eAAO,MAAM,qBAAqB,EAAE,oBA2BnC,CAAC;AAEF;;GAEG;AACH,wBAAgB,WAAW,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAE7C"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../../src/analyzers/universal/schema/config.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAEvD;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,iBAAiB,4CAA6C,CAAC;AAC5E,eAAO,MAAM,oBAAoB,8DAA+D,CAAC;AACjG;;;;;;GAMG;AACH,eAAO,MAAM,yBAAyB,yDAA0D,CAAC;AACjG,eAAO,MAAM,gBAAgB,qBAAsB,CAAC;AACpD,eAAO,MAAM,gBAAgB,gCAAiC,CAAC;AAC/D,eAAO,MAAM,aAAa,wBAAyB,CAAC;AAEpD,eAAO,MAAM,qBAAqB,EAAE,oBA2BnC,CAAC;AAEF;;GAEG;AACH,wBAAgB,WAAW,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAE7C"}
@@ -65,6 +65,16 @@ export interface TableReference {
65
65
  column: number;
66
66
  };
67
67
  context: string;
68
+ /**
69
+ * When set, the reference came from the knex-style fluent builder form
70
+ * (`db('t').select(...)`, `db('t').where(...)`, `db('t').first(...)`).
71
+ * These carry a dynamic table string whose name is only meaningful to the
72
+ * lifecycle (schema_usage) rules — the naming-convention and unknown-table
73
+ * checks skip them because a scratch/test table name is not a schema violation,
74
+ * and the cross-domain lifecycle rules exempt tables that are *entirely*
75
+ * query-builder.
76
+ */
77
+ origin?: 'query-builder';
68
78
  }
69
79
  /**
70
80
  * Registry entry for declarative table-source detection.
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/analyzers/universal/schema/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/analyzers/universal/schema/types.ts"],"names":[],"mappings":"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"}
@@ -25,7 +25,7 @@ export interface DiagnosticWarning {
25
25
  * Pass 2: Every analyzer with a result entry but filesProcessed === 0 and no
26
26
  * errors fires a warning — the analyzer ran but matched zero source files.
27
27
  */
28
- export declare function runZeroFilesDiagnostics(enabledAnalyzers: string[], analyzerResults: Record<string, AnalyzerResult>, totalFiles?: number): DiagnosticWarning[];
28
+ export declare function runZeroFilesDiagnostics(enabledAnalyzers: string[], analyzerResults: Record<string, AnalyzerResult>, totalFiles?: number, hasGoFiles?: boolean): DiagnosticWarning[];
29
29
  /**
30
30
  * Run audit with default runner (convenience function)
31
31
  */
@@ -1 +1 @@
1
- {"version":3,"file":"auditRunner.d.ts","sourceRoot":"","sources":["../src/auditRunner.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAMH,OAAO,EACL,WAAW,EACX,kBAAkB,EAClB,cAAc,EAWf,MAAM,YAAY,CAAC;AAuEpB;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,GAAE,kBAAuB;oCAQnB,MAAM,KAAG,OAAO,CAAC,kBAAkB,CAAC;uBAQjD,kBAAkB,KAAG,OAAO,CAAC,WAAW,CAAC;6BAinC1B,WAAW,UAAU,MAAM,KAAG,OAAO,CAAC,MAAM,CAAC;EAS7F;AAySD,MAAM,WAAW,iBAAiB;IAChC,YAAY,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,WAAW,GAAG,YAAY,CAAC;IACjC,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;;;GAQG;AACH,wBAAgB,uBAAuB,CACrC,gBAAgB,EAAE,MAAM,EAAE,EAC1B,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,EAC/C,UAAU,CAAC,EAAE,MAAM,GAClB,iBAAiB,EAAE,CA0CrB;AAED;;GAEG;AACH,wBAAsB,QAAQ,CAAC,OAAO,CAAC,EAAE,kBAAkB,GAAG,OAAO,CAAC,WAAW,CAAC,CAGjF;AAED,YAAY,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"auditRunner.d.ts","sourceRoot":"","sources":["../src/auditRunner.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAMH,OAAO,EACL,WAAW,EACX,kBAAkB,EAClB,cAAc,EAWf,MAAM,YAAY,CAAC;AAuEpB;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,GAAE,kBAAuB;oCAQnB,MAAM,KAAG,OAAO,CAAC,kBAAkB,CAAC;uBAQjD,kBAAkB,KAAG,OAAO,CAAC,WAAW,CAAC;6BAwnC1B,WAAW,UAAU,MAAM,KAAG,OAAO,CAAC,MAAM,CAAC;EAS7F;AAySD,MAAM,WAAW,iBAAiB;IAChC,YAAY,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,WAAW,GAAG,YAAY,CAAC;IACjC,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;;;GAQG;AACH,wBAAgB,uBAAuB,CACrC,gBAAgB,EAAE,MAAM,EAAE,EAC1B,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,EAC/C,UAAU,CAAC,EAAE,MAAM,EACnB,UAAU,CAAC,EAAE,OAAO,GACnB,iBAAiB,EAAE,CAgDrB;AAED;;GAEG;AACH,wBAAsB,QAAQ,CAAC,OAAO,CAAC,EAAE,kBAAkB,GAAG,OAAO,CAAC,WAAW,CAAC,CAGjF;AAED,YAAY,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC"}
@@ -22,7 +22,7 @@ import { isMcpDebugEnabled, logMcpDebug, logMcpInfo } from './mcpDiagnostics.js'
22
22
  import { loadBaseline, matchFindings, hashBaseline } from './baseline.js';
23
23
  import { applyDismissals } from './dismissals.js';
24
24
  import { computeImpact, LATENCY_BUDGET_MS } from './graph/blastRadius.js';
25
- import { readTsconfigAliases, DEFAULT_VIRTUAL_MODULES } from './graph/importClassification.js';
25
+ import { readTsconfigAliases, readPackageEntryPoints, DEFAULT_VIRTUAL_MODULES } from './graph/importClassification.js';
26
26
  // Import universal analyzers
27
27
  import { initializeLanguages } from './languages/index.js';
28
28
  import { initializeOrmAdapters } from './analyzers/orm/index.js';
@@ -583,11 +583,17 @@ export function createAuditRunner(options = {}) {
583
583
  // is too narrow).
584
584
  corpusFiles,
585
585
  // Spec 60.1 — virtual-module list (config, default ['.blitz']) and the
586
- // project's tsconfig `paths` patterns (alias classification only, no
587
- // resolution). Threaded here so the function-index visitor reads them
588
- // once per run rather than re-reading tsconfig per file.
586
+ // project's tsconfig `paths` + `baseUrl` (alias classification *and*
587
+ // resolution). Threaded here so the function-index visitor and the
588
+ // reachability reducer read them once per run rather than re-reading
589
+ // tsconfig per file.
589
590
  importVirtualModules: mergedOptions.importVirtualModules ?? DEFAULT_VIRTUAL_MODULES,
590
591
  tsconfigAliases: readTsconfigAliases(root),
592
+ // Files reachable only through package.json (main/module/types/bin/exports
593
+ // + their sibling facades) are entry points, not dead modules — knex's
594
+ // `knex.mjs` / `knex.d.mts` beside `main: knex.js` were flagged
595
+ // `unreferenced-module` because no in-tree import reaches them.
596
+ packageEntryPoints: readPackageEntryPoints(root).entryPaths,
591
597
  };
592
598
  const pipelineConfig = {
593
599
  projectRoot: root,
@@ -717,7 +723,8 @@ export function createAuditRunner(options = {}) {
717
723
  // Extracted to runZeroFilesDiagnostics() for testability. Runs against the
718
724
  // raw analyzerResults before truthiness filtering so the "no result" pass
719
725
  // catches analyzers skipped by the registry, abort, or handoff exceptions.
720
- const zeroFilesDiagnostics = runZeroFilesDiagnostics(enabledAnalyzers, analyzerResults, files.length);
726
+ const hasGoFiles = files.some((f) => f.endsWith('.go'));
727
+ const zeroFilesDiagnostics = runZeroFilesDiagnostics(enabledAnalyzers, analyzerResults, files.length, hasGoFiles);
721
728
  for (const w of zeroFilesDiagnostics) {
722
729
  console.warn(w.message);
723
730
  }
@@ -1343,7 +1350,7 @@ function mergeLintUnderProject(lintFragment, projectConfig) {
1343
1350
  * Pass 2: Every analyzer with a result entry but filesProcessed === 0 and no
1344
1351
  * errors fires a warning — the analyzer ran but matched zero source files.
1345
1352
  */
1346
- export function runZeroFilesDiagnostics(enabledAnalyzers, analyzerResults, totalFiles) {
1353
+ export function runZeroFilesDiagnostics(enabledAnalyzers, analyzerResults, totalFiles, hasGoFiles) {
1347
1354
  // When there were zero files to process, zero-files is expected, not a bug.
1348
1355
  if (totalFiles === 0)
1349
1356
  return [];
@@ -1351,6 +1358,12 @@ export function runZeroFilesDiagnostics(enabledAnalyzers, analyzerResults, total
1351
1358
  // Pass 1: enabled but absent from results
1352
1359
  for (const analyzerName of enabledAnalyzers) {
1353
1360
  if (!analyzerResults[analyzerName]) {
1361
+ // The `go` analyzer is a polyglot subprocess reached only via
1362
+ // `runAuditDispatch` when `.go` files exist. On a TypeScript-only corpus
1363
+ // it is legitimately notApplicable, not a dropped analyzer (defect #50) —
1364
+ // zero `.go` files means there was nothing for it to run on.
1365
+ if (analyzerName === 'go' && hasGoFiles === false)
1366
+ continue;
1354
1367
  warnings.push({
1355
1368
  analyzerName,
1356
1369
  kind: 'no-result',
@@ -1365,6 +1378,8 @@ export function runZeroFilesDiagnostics(enabledAnalyzers, analyzerResults, total
1365
1378
  // files and still shows visitor-ran + 0 files is broken — whether it errored or
1366
1379
  // silently returned.
1367
1380
  for (const [analyzerName, result] of Object.entries(analyzerResults)) {
1381
+ if (analyzerName === 'go' && hasGoFiles === false)
1382
+ continue;
1368
1383
  if (isVisitorStatus(result.status) && getFilesProcessed(result.status) === 0) {
1369
1384
  const errCount = result.errors?.length ?? 0;
1370
1385
  const errDetail = errCount > 0 ? ` (${errCount} file error(s))` : '';