code-auditor-mcp 4.0.0 → 4.0.2

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 (279) hide show
  1. package/.claude-plugin/marketplace.json +1 -1
  2. package/CHANGELOG.md +80 -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 +2 -2
  8. package/dist/analyzers/analyzerUtils.js.map +1 -1
  9. package/dist/analyzers/applicability.d.ts +13 -0
  10. package/dist/analyzers/applicability.d.ts.map +1 -1
  11. package/dist/analyzers/applicability.js +1 -1
  12. package/dist/analyzers/applicability.js.map +1 -1
  13. package/dist/analyzers/cross-language/APIContractAnalyzer.d.ts.map +1 -1
  14. package/dist/analyzers/cross-language/DependencyGraphBuilder.d.ts +1 -1
  15. package/dist/analyzers/cross-language/DependencyGraphBuilder.d.ts.map +1 -1
  16. package/dist/analyzers/cross-language/DependencyGraphBuilder.js +3 -3
  17. package/dist/analyzers/cross-language/DependencyGraphBuilder.js.map +1 -1
  18. package/dist/analyzers/cross-language/SchemaValidator.d.ts.map +1 -1
  19. package/dist/analyzers/cross-language/SchemaValidator.js.map +1 -1
  20. package/dist/analyzers/crossDomain/CrossDomainAnalyzer.d.ts +1 -1
  21. package/dist/analyzers/crossDomain/CrossDomainAnalyzer.d.ts.map +1 -1
  22. package/dist/analyzers/crossDomain/CrossDomainAnalyzer.js +28 -7
  23. package/dist/analyzers/crossDomain/CrossDomainAnalyzer.js.map +1 -1
  24. package/dist/analyzers/documentationAnalyzer.js +5 -5
  25. package/dist/analyzers/documentationAnalyzer.js.map +1 -1
  26. package/dist/analyzers/orm/adapterRegistry.d.ts.map +1 -1
  27. package/dist/analyzers/orm/drizzleAdapter.d.ts.map +1 -1
  28. package/dist/analyzers/orm/prismaAdapter.d.ts.map +1 -1
  29. package/dist/analyzers/provenance.d.ts +10 -1
  30. package/dist/analyzers/provenance.d.ts.map +1 -1
  31. package/dist/analyzers/provenance.js +138 -1
  32. package/dist/analyzers/provenance.js.map +1 -1
  33. package/dist/analyzers/reactAnalyzer.js +8 -8
  34. package/dist/analyzers/reactAnalyzer.js.map +1 -1
  35. package/dist/analyzers/ruleRegistry.js +2 -2
  36. package/dist/analyzers/ruleRegistry.js.map +1 -1
  37. package/dist/analyzers/universal/UniversalConventionsAnalyzer.d.ts +2 -2
  38. package/dist/analyzers/universal/UniversalConventionsAnalyzer.d.ts.map +1 -1
  39. package/dist/analyzers/universal/UniversalConventionsAnalyzer.js +7 -7
  40. package/dist/analyzers/universal/UniversalConventionsAnalyzer.js.map +1 -1
  41. package/dist/analyzers/universal/UniversalDRYAnalyzer.d.ts +4 -4
  42. package/dist/analyzers/universal/UniversalDRYAnalyzer.d.ts.map +1 -1
  43. package/dist/analyzers/universal/UniversalDRYAnalyzer.js +10 -10
  44. package/dist/analyzers/universal/UniversalDRYAnalyzer.js.map +1 -1
  45. package/dist/analyzers/universal/UniversalDataAccessAnalyzer.d.ts.map +1 -1
  46. package/dist/analyzers/universal/UniversalDataAccessAnalyzer.js +283 -39
  47. package/dist/analyzers/universal/UniversalDataAccessAnalyzer.js.map +1 -1
  48. package/dist/analyzers/universal/UniversalDocumentationAnalyzer.d.ts +1 -1
  49. package/dist/analyzers/universal/UniversalDocumentationAnalyzer.d.ts.map +1 -1
  50. package/dist/analyzers/universal/UniversalDocumentationAnalyzer.js +7 -7
  51. package/dist/analyzers/universal/UniversalDocumentationAnalyzer.js.map +1 -1
  52. package/dist/analyzers/universal/UniversalSOLIDAnalyzer.d.ts +18 -0
  53. package/dist/analyzers/universal/UniversalSOLIDAnalyzer.d.ts.map +1 -1
  54. package/dist/analyzers/universal/UniversalSOLIDAnalyzer.js +57 -11
  55. package/dist/analyzers/universal/UniversalSOLIDAnalyzer.js.map +1 -1
  56. package/dist/analyzers/universal/UniversalSchemaAnalyzer.d.ts.map +1 -1
  57. package/dist/analyzers/universal/UniversalSchemaAnalyzer.js +1 -0
  58. package/dist/analyzers/universal/UniversalSchemaAnalyzer.js.map +1 -1
  59. package/dist/analyzers/universal/UniversalSecretsAnalyzer.d.ts.map +1 -1
  60. package/dist/analyzers/universal/UniversalStylesAnalyzer.d.ts +1 -1
  61. package/dist/analyzers/universal/UniversalStylesAnalyzer.d.ts.map +1 -1
  62. package/dist/analyzers/universal/UniversalStylesAnalyzer.js +66 -31
  63. package/dist/analyzers/universal/UniversalStylesAnalyzer.js.map +1 -1
  64. package/dist/analyzers/universal/schema/codeAnalysis.d.ts +21 -21
  65. package/dist/analyzers/universal/schema/codeAnalysis.d.ts.map +1 -1
  66. package/dist/analyzers/universal/schema/codeAnalysis.js +199 -45
  67. package/dist/analyzers/universal/schema/codeAnalysis.js.map +1 -1
  68. package/dist/analyzers/universal/schema/config.d.ts +6 -6
  69. package/dist/analyzers/universal/schema/config.d.ts.map +1 -1
  70. package/dist/analyzers/universal/schema/jsonSchema.js +1 -1
  71. package/dist/analyzers/universal/schema/jsonSchema.js.map +1 -1
  72. package/dist/analyzers/universal/schema/types.d.ts +10 -0
  73. package/dist/analyzers/universal/schema/types.d.ts.map +1 -1
  74. package/dist/analyzers/universal/schema/violations.d.ts +1 -1
  75. package/dist/analyzers/universal/schema/violations.d.ts.map +1 -1
  76. package/dist/auditRouter.js +2 -2
  77. package/dist/auditRouter.js.map +1 -1
  78. package/dist/auditRunner.d.ts +1 -1
  79. package/dist/auditRunner.d.ts.map +1 -1
  80. package/dist/auditRunner.js +46 -13
  81. package/dist/auditRunner.js.map +1 -1
  82. package/dist/churn/churnExtractor.js.map +1 -1
  83. package/dist/cli.js +93 -28
  84. package/dist/cli.js.map +1 -1
  85. package/dist/codeIndexDB.d.ts.map +1 -1
  86. package/dist/codeIndexDB.js +19 -3
  87. package/dist/codeIndexDB.js.map +1 -1
  88. package/dist/codeIndexService.d.ts.map +1 -1
  89. package/dist/codeIndexService.js.map +1 -1
  90. package/dist/componentScanner.js.map +1 -1
  91. package/dist/config/configLoader.js +1 -1
  92. package/dist/config/configLoader.js.map +1 -1
  93. package/dist/config/defaults.d.ts +2 -2
  94. package/dist/config/defaults.d.ts.map +1 -1
  95. package/dist/config/defaults.js +10 -3
  96. package/dist/config/defaults.js.map +1 -1
  97. package/dist/constants.d.ts +1 -1
  98. package/dist/conventions/conventionMiner.js.map +1 -1
  99. package/dist/coverage/lcovParser.js.map +1 -1
  100. package/dist/daemon/args.js.map +1 -1
  101. package/dist/daemon/core.d.ts.map +1 -1
  102. package/dist/daemon/core.js +18 -9
  103. package/dist/daemon/core.js.map +1 -1
  104. package/dist/daemon/lspServer.d.ts.map +1 -1
  105. package/dist/daemon/lspServer.js +1 -1
  106. package/dist/daemon/lspServer.js.map +1 -1
  107. package/dist/daemon/main.js.map +1 -1
  108. package/dist/daemon/resolve.js.map +1 -1
  109. package/dist/daemon/socketServer.d.ts.map +1 -1
  110. package/dist/enforcement/gate.js +2 -2
  111. package/dist/functionScanner.d.ts.map +1 -1
  112. package/dist/generators/AWSQConfigGenerator.d.ts.map +1 -1
  113. package/dist/generators/AiderConfigGenerator.d.ts.map +1 -1
  114. package/dist/generators/BaseConfigGenerator.d.ts.map +1 -1
  115. package/dist/generators/BaseConfigGenerator.js.map +1 -1
  116. package/dist/generators/ClaudeConfigGenerator.d.ts.map +1 -1
  117. package/dist/generators/ClineConfigGenerator.d.ts.map +1 -1
  118. package/dist/generators/CodeiumConfigGenerator.d.ts.map +1 -1
  119. package/dist/generators/CodexConfigGenerator.d.ts.map +1 -1
  120. package/dist/generators/ConfigGeneratorFactory.d.ts.map +1 -1
  121. package/dist/generators/ConfigGeneratorFactory.js.map +1 -1
  122. package/dist/generators/ContinueConfigGenerator.d.ts.map +1 -1
  123. package/dist/generators/CopilotConfigGenerator.d.ts.map +1 -1
  124. package/dist/generators/CursorConfigGenerator.d.ts.map +1 -1
  125. package/dist/generators/GeminiConfigGenerator.d.ts.map +1 -1
  126. package/dist/generators/JetBrainsConfigGenerator.d.ts.map +1 -1
  127. package/dist/generators/VSCodeConfigGenerator.d.ts.map +1 -1
  128. package/dist/generators/ZCodeConfigGenerator.d.ts.map +1 -1
  129. package/dist/graph/importClassification.d.ts +46 -8
  130. package/dist/graph/importClassification.d.ts.map +1 -1
  131. package/dist/graph/importClassification.js +207 -35
  132. package/dist/graph/importClassification.js.map +1 -1
  133. package/dist/graph/outputFormatter.js.map +1 -1
  134. package/dist/hooks/codex.d.ts.map +1 -1
  135. package/dist/hooks/codex.js +1 -1
  136. package/dist/hooks/codex.js.map +1 -1
  137. package/dist/hooks/core.d.ts +1 -1
  138. package/dist/hooks/core.d.ts.map +1 -1
  139. package/dist/hooks/core.js +4 -4
  140. package/dist/hooks/core.js.map +1 -1
  141. package/dist/hooks/cursor.d.ts.map +1 -1
  142. package/dist/hooks/cursor.js +2 -2
  143. package/dist/hooks/cursor.js.map +1 -1
  144. package/dist/index.d.ts.map +1 -1
  145. package/dist/installer.js.map +1 -1
  146. package/dist/invariants/invariant-rules.schema.json +1 -1
  147. package/dist/invariants/ruleEngine.js.map +1 -1
  148. package/dist/invariants/ruleValidator.js +1 -1
  149. package/dist/invariants/ruleValidator.js.map +1 -1
  150. package/dist/invariants/types.d.ts +1 -1
  151. package/dist/invariants/types.d.ts.map +1 -1
  152. package/dist/languages/LanguageOrchestrator.d.ts +2 -2
  153. package/dist/languages/LanguageOrchestrator.d.ts.map +1 -1
  154. package/dist/languages/LanguageOrchestrator.js.map +1 -1
  155. package/dist/languages/LanguageRegistry.d.ts.map +1 -1
  156. package/dist/languages/RuntimeManager.d.ts.map +1 -1
  157. package/dist/languages/RuntimeManager.js +2 -2
  158. package/dist/languages/RuntimeManager.js.map +1 -1
  159. package/dist/languages/UniversalAnalyzer.d.ts.map +1 -1
  160. package/dist/languages/UniversalAnalyzer.js.map +1 -1
  161. package/dist/languages/adapterBridge.js.map +1 -1
  162. package/dist/languages/go/GoAdapter.d.ts.map +1 -1
  163. package/dist/languages/go/GoAdapter.js.map +1 -1
  164. package/dist/languages/go/analyzer +0 -0
  165. package/dist/languages/go/analyzer-src/analyzer.go +3 -3
  166. package/dist/languages/go/analyzer-src/solid.go +5 -5
  167. package/dist/languages/goBinary.js.map +1 -1
  168. package/dist/languages/tree-sitter/TreeSitterCssAdapter.d.ts.map +1 -1
  169. package/dist/languages/tree-sitter/TreeSitterCssAdapter.js.map +1 -1
  170. package/dist/languages/tree-sitter/converter.js.map +1 -1
  171. package/dist/languages/tree-sitter/parser.js.map +1 -1
  172. package/dist/languages/types.d.ts +15 -0
  173. package/dist/languages/types.d.ts.map +1 -1
  174. package/dist/languages/typescript/TreeSitterTypeScriptAdapter.d.ts +11 -0
  175. package/dist/languages/typescript/TreeSitterTypeScriptAdapter.d.ts.map +1 -1
  176. package/dist/languages/typescript/TreeSitterTypeScriptAdapter.js +34 -0
  177. package/dist/languages/typescript/TreeSitterTypeScriptAdapter.js.map +1 -1
  178. package/dist/ledger.js +1 -1
  179. package/dist/ledger.js.map +1 -1
  180. package/dist/mcp-tools/projectTasks.d.ts +37 -37
  181. package/dist/mcp-tools/projectTasks.js +2 -2
  182. package/dist/mcp-tools/projectTasks.js.map +1 -1
  183. package/dist/mcp-tools/whitelistTools.d.ts +17 -17
  184. package/dist/mcp-tools/whitelistTools.d.ts.map +1 -1
  185. package/dist/mcp-tools/workflowGuide.js +3 -3
  186. package/dist/mcp-tools/workflowGuide.js.map +1 -1
  187. package/dist/mcp-tools-shared.d.ts.map +1 -1
  188. package/dist/mcp-tools-shared.js +13 -13
  189. package/dist/mcp-tools-shared.js.map +1 -1
  190. package/dist/mcp-ui-simple.js +6 -6
  191. package/dist/mcp-ui-simple.js.map +1 -1
  192. package/dist/mcp.js +14 -14
  193. package/dist/mcp.js.map +1 -1
  194. package/dist/mcpAuditJobs.js +7 -7
  195. package/dist/mcpAuditJobs.js.map +1 -1
  196. package/dist/mcpAutoIndex.js +1 -1
  197. package/dist/mcpAutoIndex.js.map +1 -1
  198. package/dist/mcpToolErrors.d.ts.map +1 -1
  199. package/dist/mcpToolErrors.js.map +1 -1
  200. package/dist/native-bootstrap.js.map +1 -1
  201. package/dist/nextFile.d.ts +2 -2
  202. package/dist/nextFile.d.ts.map +1 -1
  203. package/dist/nextFile.js +3 -3
  204. package/dist/nextFile.js.map +1 -1
  205. package/dist/nextFileIncremental.d.ts +9 -2
  206. package/dist/nextFileIncremental.d.ts.map +1 -1
  207. package/dist/nextFileIncremental.js +41 -23
  208. package/dist/nextFileIncremental.js.map +1 -1
  209. package/dist/pipeline.d.ts +2 -2
  210. package/dist/pipeline.d.ts.map +1 -1
  211. package/dist/pipeline.js +45 -0
  212. package/dist/pipeline.js.map +1 -1
  213. package/dist/pipelineAdapters.d.ts +39 -2
  214. package/dist/pipelineAdapters.d.ts.map +1 -1
  215. package/dist/pipelineAdapters.js +230 -29
  216. package/dist/pipelineAdapters.js.map +1 -1
  217. package/dist/reporting/csvReportGenerator.d.ts.map +1 -1
  218. package/dist/reporting/csvReportGenerator.js +6 -6
  219. package/dist/reporting/csvReportGenerator.js.map +1 -1
  220. package/dist/reporting/htmlReportGenerator.d.ts.map +1 -1
  221. package/dist/reporting/htmlReportGenerator.js +11 -11
  222. package/dist/reporting/htmlReportGenerator.js.map +1 -1
  223. package/dist/reporting/jsonReportGenerator.d.ts.map +1 -1
  224. package/dist/reporting/jsonReportGenerator.js +1 -1
  225. package/dist/reporting/jsonReportGenerator.js.map +1 -1
  226. package/dist/reporting/reportGenerator.d.ts.map +1 -1
  227. package/dist/reporting/sarifReportGenerator.d.ts.map +1 -1
  228. package/dist/reporting/sarifReportGenerator.js +1 -1
  229. package/dist/reporting/sarifReportGenerator.js.map +1 -1
  230. package/dist/reporting/sizeDistribution.d.ts +17 -0
  231. package/dist/reporting/sizeDistribution.d.ts.map +1 -0
  232. package/dist/reporting/sizeDistribution.js +93 -0
  233. package/dist/reporting/sizeDistribution.js.map +1 -0
  234. package/dist/scripts/benchmarkWorkers.js +1 -1
  235. package/dist/scripts/benchmarkWorkers.js.map +1 -1
  236. package/dist/search/QueryParser.d.ts.map +1 -1
  237. package/dist/search/QueryParser.js.map +1 -1
  238. package/dist/services/CodeMapGenerator.d.ts.map +1 -1
  239. package/dist/services/CodeMapGenerator.js.map +1 -1
  240. package/dist/services/ProjectTaskRepository.d.ts.map +1 -1
  241. package/dist/services/ProjectTaskRepository.js.map +1 -1
  242. package/dist/services/auditJobService.js.map +1 -1
  243. package/dist/services/fileAccounting.d.ts.map +1 -1
  244. package/dist/services/projectTaskHelpers.js.map +1 -1
  245. package/dist/services/whitelistService.d.ts.map +1 -1
  246. package/dist/sqlite/betterSqlite3.d.ts.map +1 -1
  247. package/dist/sqlite/betterSqlite3.js.map +1 -1
  248. package/dist/sqlite/nodeSqlite.d.ts.map +1 -1
  249. package/dist/sqlite/nodeSqlite.js.map +1 -1
  250. package/dist/structuralSignature.js.map +1 -1
  251. package/dist/styles/styleExtractor.js.map +1 -1
  252. package/dist/styles/styleIndexer.js.map +1 -1
  253. package/dist/styles/tailwindConfigLoader.js.map +1 -1
  254. package/dist/styles/tailwindProbe.d.ts.map +1 -1
  255. package/dist/styles/tailwindUtilityExpander.d.ts.map +1 -1
  256. package/dist/styles/tailwindUtilityExpander.js.map +1 -1
  257. package/dist/telemetry.d.ts +1 -1
  258. package/dist/telemetry.d.ts.map +1 -1
  259. package/dist/telemetry.js.map +1 -1
  260. package/dist/tool-registry.d.ts.map +1 -1
  261. package/dist/types/crossLanguage.d.ts +1 -1
  262. package/dist/types/crossLanguage.d.ts.map +1 -1
  263. package/dist/types.d.ts +99 -5
  264. package/dist/types.d.ts.map +1 -1
  265. package/dist/types.js +3 -3
  266. package/dist/types.js.map +1 -1
  267. package/dist/ui/InteractivePrompts.d.ts.map +1 -1
  268. package/dist/ui/InteractivePrompts.js.map +1 -1
  269. package/dist/utils/componentPatterns.js.map +1 -1
  270. package/dist/utils/fileDiscovery.js.map +1 -1
  271. package/dist/utils/jsDocParser.js.map +1 -1
  272. package/dist/version.generated.d.ts +1 -1
  273. package/dist/version.generated.js +1 -1
  274. package/dist/workers/auditWorker.js.map +1 -1
  275. package/package.json +4 -3
  276. package/plugin/.claude-plugin/plugin.json +1 -1
  277. package/plugin/skills/code-auditor/SKILL-RULE-KINDS.md +7 -7
  278. package/plugin/skills/code-auditor/SKILL.md +9 -9
  279. package/server.json +2 -2
@@ -292,27 +292,27 @@ export declare function isSqlKeyword(word: string): boolean;
292
292
  export declare function isDeleteFrom(sqlText: string, fromIndex: number): boolean;
293
293
  export declare function isModuleImportFrom(sqlText: string, fromIndex: number): boolean;
294
294
  /**
295
- * Count the number of DB queries a function body issues.
296
- *
297
- * An eager execution method call (`.run()`/`.all()`/`.first()`/`.raw()`/
298
- * `.batch()`, plus the generic `.query()`/`.execute()` wrappers) is one query;
299
- * each standalone SQL keyword (SELECT, INSERT [OR …] INTO / REPLACE INTO,
300
- * UPDATE, DELETE FROM) outside such a call is also one query. SQL keywords
301
- * inside a call's argument are not counted separately — otherwise a single
302
- * `run('SELECT ...')` call is counted twice (once for the call, once for the
303
- * SQL it carries). `.prepare()` bodies are likewise stripped (Spec 52 R1):
304
- * preparation is statement construction, not execution, so its SQL is not a
305
- * query the function issues — but a `db.prepare(sql).bind(x).run()` chain still
306
- * counts one query for the eager `.run()`. `Promise.all(...)` is not a query
307
- * and is excluded from the `.all()` count. Optional TypeScript type arguments
308
- * (`.all<Row>()`/`.first<Row>()`) are matched. `.exec()` is deliberately
309
- * omitted: `regex.exec()`/`child_process.exec()` are too common to distinguish
310
- * from `db.exec()` in a text heuristic, and a `db.exec('SELECT …')` literal is
311
- * still counted via its bare SQL keyword. A bare `UPDATE` keyword is counted,
312
- * but not the `DO UPDATE` / `KEY UPDATE` clause of an upsert
313
- * (`INSERT … ON CONFLICT … DO UPDATE` / `INSERT … ON DUPLICATE KEY UPDATE`) —
314
- * that clause is part of the one INSERT statement, not a second query
315
- * (Spec 52 R2).
295
+ * Count the number of DB queries a function body issues — by *call site*, not
296
+ * by SQL literal (defect #47: counting literals made parameterizing a query into
297
+ * a ternary of three template strings read as three queries).
298
+ *
299
+ * - An eager execution method call (`.run()`/`.all()`/`.first()`/`.raw()`/
300
+ * `.batch()`, plus the generic `.query()`/`.execute()` wrappers) is one query.
301
+ * - Each `.exec()` whose body carries a SQL keyword is one query. `.exec` is
302
+ * matched this way — not as a bare eager method — because `regex.exec()` and
303
+ * `child_process.exec()` are too common to distinguish by name; the SQL-keyword
304
+ * probe keeps those at zero while collapsing a parameterized
305
+ * `db.exec(a ? 'SELECT x' : b ? 'SELECT y' : 'SELECT z')` to a single call site.
306
+ * - A standalone SQL keyword outside any recognized DB-call body is one query.
307
+ *
308
+ * SQL keywords inside a recognized call's argument are NOT counted separately —
309
+ * otherwise a single `run('SELECT ...')` is counted twice (once for the call,
310
+ * once for the SQL it carries). `.prepare()` bodies are stripped too (Spec 52
311
+ * R1): preparation is statement construction, not execution, so its SQL is not
312
+ * a query — but `db.prepare(sql).bind(x).run()` still counts one for the eager
313
+ * `.run()`. `Promise.all(...)` is not a query and is excluded from the `.all()`
314
+ * count. Optional TypeScript type arguments (`.all<Row>()`/`.first<Row>()`) are
315
+ * matched.
316
316
  *
317
317
  * @param text The function body text.
318
318
  * @returns The number of DB queries the function issues.
@@ -1 +1 @@
1
- {"version":3,"file":"codeAnalysis.d.ts","sourceRoot":"","sources":["../../../../src/analyzers/universal/schema/codeAnalysis.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"codeAnalysis.d.ts","sourceRoot":"","sources":["../../../../src/analyzers/universal/schema/codeAnalysis.ts"],"names":[],"mappings":"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"}
@@ -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
@@ -402,7 +509,7 @@ export function checkNamingConventions(references, filePath) {
402
509
  const isSnakeCase = /^[a-z][a-z0-9_]*$/.test(ref.table);
403
510
  const isTableSuffix = ref.table.endsWith('Table');
404
511
  if (!isSnakeCase && !isTableSuffix) {
405
- violations.push(createSchemaViolation(filePath, ref.location, `Table name '${ref.table}' should use snake_case convention`, { severity: 'advisory', rule: 'table-naming-convention', symbol: ref.table }));
512
+ violations.push(createSchemaViolation(filePath, ref.location, `Table name '${ref.table}' should use snake_case convention`, { severity: 'high', rule: 'table-naming-convention', symbol: ref.table }));
406
513
  }
407
514
  const reserved = ['user', 'order', 'group', 'table', 'column', 'index'];
408
515
  if (reserved.includes(ref.table.toLowerCase())) {
@@ -439,7 +546,7 @@ export function checkQueryPatterns(ast, adapter, sourceCode, config) {
439
546
  const funcText = adapter.getNodeText(funcNode, sourceCode);
440
547
  const queryCount = countQueries(funcText);
441
548
  if (queryCount > maxQueries) {
442
- violations.push(createSchemaViolation(ast.filePath, func.location.start, `Function '${func.name}' has ${queryCount} queries, exceeding the maximum of ${maxQueries}`, { severity: 'advisory', rule: 'too-many-queries', symbol: func.name }));
549
+ violations.push(createSchemaViolation(ast.filePath, func.location.start, `Function '${func.name}' has ${queryCount} queries, exceeding the maximum of ${maxQueries}`, { severity: 'high', rule: 'too-many-queries', symbol: func.name }));
443
550
  }
444
551
  }
445
552
  // N+1 query detection is handled by the data-access analyzer (loop-query rule).
@@ -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"}
@@ -132,7 +132,7 @@ function validateDiscoveredData(dataFiles, unknownJsonFiles, schemas, scan) {
132
132
  function validateJsonSchema(schema, filePath, config) {
133
133
  const ctx = { filePath, config, violations: [] };
134
134
  if (!schema.$schema && config.jsonSchemaVersion) {
135
- emit(ctx, 'advisory', 'missing-schema-declaration', 'JSON Schema missing $schema declaration');
135
+ emit(ctx, 'high', 'missing-schema-declaration', 'JSON Schema missing $schema declaration');
136
136
  }
137
137
  validateSchemaTypes(schema, ctx);
138
138
  if (schema.type === 'object' && schema.properties) {