code-auditor-mcp 3.4.12 → 3.4.14

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 (255) hide show
  1. package/CHANGELOG.md +74 -1
  2. package/dist/analyzers/__verify_self_probe.d.ts +2 -0
  3. package/dist/analyzers/__verify_self_probe.d.ts.map +1 -0
  4. package/dist/analyzers/__verify_self_probe.js +5 -0
  5. package/dist/analyzers/__verify_self_probe.js.map +1 -0
  6. package/dist/analyzers/analyzerUtils.d.ts +34 -1
  7. package/dist/analyzers/analyzerUtils.d.ts.map +1 -1
  8. package/dist/analyzers/analyzerUtils.js +61 -22
  9. package/dist/analyzers/analyzerUtils.js.map +1 -1
  10. package/dist/analyzers/cross-language/APIContractAnalyzer.d.ts +18 -23
  11. package/dist/analyzers/cross-language/APIContractAnalyzer.d.ts.map +1 -1
  12. package/dist/analyzers/cross-language/APIContractAnalyzer.js +198 -186
  13. package/dist/analyzers/cross-language/APIContractAnalyzer.js.map +1 -1
  14. package/dist/analyzers/cross-language/DependencyGraphBuilder.d.ts +78 -55
  15. package/dist/analyzers/cross-language/DependencyGraphBuilder.d.ts.map +1 -1
  16. package/dist/analyzers/cross-language/DependencyGraphBuilder.js +244 -243
  17. package/dist/analyzers/cross-language/DependencyGraphBuilder.js.map +1 -1
  18. package/dist/analyzers/cross-language/SchemaValidator.d.ts +27 -37
  19. package/dist/analyzers/cross-language/SchemaValidator.d.ts.map +1 -1
  20. package/dist/analyzers/cross-language/SchemaValidator.js +314 -275
  21. package/dist/analyzers/cross-language/SchemaValidator.js.map +1 -1
  22. package/dist/analyzers/crossDomain/CrossDomainAnalyzer.d.ts +17 -46
  23. package/dist/analyzers/crossDomain/CrossDomainAnalyzer.d.ts.map +1 -1
  24. package/dist/analyzers/crossDomain/CrossDomainAnalyzer.js +620 -523
  25. package/dist/analyzers/crossDomain/CrossDomainAnalyzer.js.map +1 -1
  26. package/dist/analyzers/documentationAnalyzer.d.ts +7 -2
  27. package/dist/analyzers/documentationAnalyzer.d.ts.map +1 -1
  28. package/dist/analyzers/documentationAnalyzer.js +259 -198
  29. package/dist/analyzers/documentationAnalyzer.js.map +1 -1
  30. package/dist/analyzers/invariantsAnalyzer.d.ts.map +1 -1
  31. package/dist/analyzers/invariantsAnalyzer.js +57 -50
  32. package/dist/analyzers/invariantsAnalyzer.js.map +1 -1
  33. package/dist/analyzers/orm/adapterRegistry.d.ts +10 -0
  34. package/dist/analyzers/orm/adapterRegistry.d.ts.map +1 -1
  35. package/dist/analyzers/orm/adapterRegistry.js +10 -0
  36. package/dist/analyzers/orm/adapterRegistry.js.map +1 -1
  37. package/dist/analyzers/orm/drizzleAdapter.d.ts +22 -0
  38. package/dist/analyzers/orm/drizzleAdapter.d.ts.map +1 -1
  39. package/dist/analyzers/orm/drizzleAdapter.js +42 -44
  40. package/dist/analyzers/orm/drizzleAdapter.js.map +1 -1
  41. package/dist/analyzers/orm/prismaAdapter.d.ts +30 -0
  42. package/dist/analyzers/orm/prismaAdapter.d.ts.map +1 -1
  43. package/dist/analyzers/orm/prismaAdapter.js +30 -0
  44. package/dist/analyzers/orm/prismaAdapter.js.map +1 -1
  45. package/dist/analyzers/provenance.d.ts +62 -2
  46. package/dist/analyzers/provenance.d.ts.map +1 -1
  47. package/dist/analyzers/provenance.js +443 -349
  48. package/dist/analyzers/provenance.js.map +1 -1
  49. package/dist/analyzers/reactAnalyzer.d.ts +11 -0
  50. package/dist/analyzers/reactAnalyzer.d.ts.map +1 -1
  51. package/dist/analyzers/reactAnalyzer.js +188 -125
  52. package/dist/analyzers/reactAnalyzer.js.map +1 -1
  53. package/dist/analyzers/ruleRegistry.d.ts +110 -1
  54. package/dist/analyzers/ruleRegistry.d.ts.map +1 -1
  55. package/dist/analyzers/ruleRegistry.js +1714 -124
  56. package/dist/analyzers/ruleRegistry.js.map +1 -1
  57. package/dist/analyzers/ruleTiming.d.ts +54 -0
  58. package/dist/analyzers/ruleTiming.d.ts.map +1 -0
  59. package/dist/analyzers/ruleTiming.js +71 -0
  60. package/dist/analyzers/ruleTiming.js.map +1 -0
  61. package/dist/analyzers/universal/UniversalConventionsAnalyzer.d.ts +13 -0
  62. package/dist/analyzers/universal/UniversalConventionsAnalyzer.d.ts.map +1 -1
  63. package/dist/analyzers/universal/UniversalConventionsAnalyzer.js +362 -283
  64. package/dist/analyzers/universal/UniversalConventionsAnalyzer.js.map +1 -1
  65. package/dist/analyzers/universal/UniversalDRYAnalyzer.d.ts +26 -68
  66. package/dist/analyzers/universal/UniversalDRYAnalyzer.d.ts.map +1 -1
  67. package/dist/analyzers/universal/UniversalDRYAnalyzer.js +430 -391
  68. package/dist/analyzers/universal/UniversalDRYAnalyzer.js.map +1 -1
  69. package/dist/analyzers/universal/UniversalDataAccessAnalyzer.d.ts +17 -202
  70. package/dist/analyzers/universal/UniversalDataAccessAnalyzer.d.ts.map +1 -1
  71. package/dist/analyzers/universal/UniversalDataAccessAnalyzer.js +1073 -1121
  72. package/dist/analyzers/universal/UniversalDataAccessAnalyzer.js.map +1 -1
  73. package/dist/analyzers/universal/UniversalDocumentationAnalyzer.d.ts +3 -49
  74. package/dist/analyzers/universal/UniversalDocumentationAnalyzer.d.ts.map +1 -1
  75. package/dist/analyzers/universal/UniversalDocumentationAnalyzer.js +414 -340
  76. package/dist/analyzers/universal/UniversalDocumentationAnalyzer.js.map +1 -1
  77. package/dist/analyzers/universal/UniversalSOLIDAnalyzer.d.ts +48 -5
  78. package/dist/analyzers/universal/UniversalSOLIDAnalyzer.d.ts.map +1 -1
  79. package/dist/analyzers/universal/UniversalSOLIDAnalyzer.js +262 -134
  80. package/dist/analyzers/universal/UniversalSOLIDAnalyzer.js.map +1 -1
  81. package/dist/analyzers/universal/UniversalSchemaAnalyzer.d.ts +23 -214
  82. package/dist/analyzers/universal/UniversalSchemaAnalyzer.d.ts.map +1 -1
  83. package/dist/analyzers/universal/UniversalSchemaAnalyzer.js +139 -1521
  84. package/dist/analyzers/universal/UniversalSchemaAnalyzer.js.map +1 -1
  85. package/dist/analyzers/universal/UniversalStylesAnalyzer.d.ts +78 -79
  86. package/dist/analyzers/universal/UniversalStylesAnalyzer.d.ts.map +1 -1
  87. package/dist/analyzers/universal/UniversalStylesAnalyzer.js +613 -480
  88. package/dist/analyzers/universal/UniversalStylesAnalyzer.js.map +1 -1
  89. package/dist/analyzers/universal/schema/codeAnalysis.d.ts +307 -0
  90. package/dist/analyzers/universal/schema/codeAnalysis.d.ts.map +1 -0
  91. package/dist/analyzers/universal/schema/codeAnalysis.js +965 -0
  92. package/dist/analyzers/universal/schema/codeAnalysis.js.map +1 -0
  93. package/dist/analyzers/universal/schema/config.d.ts +31 -0
  94. package/dist/analyzers/universal/schema/config.d.ts.map +1 -0
  95. package/dist/analyzers/universal/schema/config.js +57 -0
  96. package/dist/analyzers/universal/schema/config.js.map +1 -0
  97. package/dist/analyzers/universal/schema/discovery.d.ts +167 -0
  98. package/dist/analyzers/universal/schema/discovery.d.ts.map +1 -0
  99. package/dist/analyzers/universal/schema/discovery.js +616 -0
  100. package/dist/analyzers/universal/schema/discovery.js.map +1 -0
  101. package/dist/analyzers/universal/schema/jsonSchema.d.ts +27 -0
  102. package/dist/analyzers/universal/schema/jsonSchema.d.ts.map +1 -0
  103. package/dist/analyzers/universal/schema/jsonSchema.js +368 -0
  104. package/dist/analyzers/universal/schema/jsonSchema.js.map +1 -0
  105. package/dist/analyzers/universal/schema/migrations.d.ts +90 -0
  106. package/dist/analyzers/universal/schema/migrations.d.ts.map +1 -0
  107. package/dist/analyzers/universal/schema/migrations.js +238 -0
  108. package/dist/analyzers/universal/schema/migrations.js.map +1 -0
  109. package/dist/analyzers/universal/schema/types.d.ts +131 -0
  110. package/dist/analyzers/universal/schema/types.d.ts.map +1 -0
  111. package/dist/analyzers/universal/schema/types.js +10 -0
  112. package/dist/analyzers/universal/schema/types.js.map +1 -0
  113. package/dist/analyzers/universal/schema/violations.d.ts +44 -0
  114. package/dist/analyzers/universal/schema/violations.d.ts.map +1 -0
  115. package/dist/analyzers/universal/schema/violations.js +54 -0
  116. package/dist/analyzers/universal/schema/violations.js.map +1 -0
  117. package/dist/auditRunner.d.ts.map +1 -1
  118. package/dist/auditRunner.js +89 -13
  119. package/dist/auditRunner.js.map +1 -1
  120. package/dist/cli.js +315 -40
  121. package/dist/cli.js.map +1 -1
  122. package/dist/config/configLoader.d.ts.map +1 -1
  123. package/dist/config/configLoader.js +9 -7
  124. package/dist/config/configLoader.js.map +1 -1
  125. package/dist/config/defaults.d.ts +12 -3
  126. package/dist/config/defaults.d.ts.map +1 -1
  127. package/dist/config/defaults.js +16 -6
  128. package/dist/config/defaults.js.map +1 -1
  129. package/dist/config/effectiveConfig.d.ts +75 -0
  130. package/dist/config/effectiveConfig.d.ts.map +1 -0
  131. package/dist/config/effectiveConfig.js +213 -0
  132. package/dist/config/effectiveConfig.js.map +1 -0
  133. package/dist/config/pathProfiles.d.ts +7 -4
  134. package/dist/config/pathProfiles.d.ts.map +1 -1
  135. package/dist/config/pathProfiles.js +8 -10
  136. package/dist/config/pathProfiles.js.map +1 -1
  137. package/dist/config/thresholdRationales.d.ts +45 -0
  138. package/dist/config/thresholdRationales.d.ts.map +1 -0
  139. package/dist/config/thresholdRationales.js +67 -0
  140. package/dist/config/thresholdRationales.js.map +1 -0
  141. package/dist/conventions/conventionMiner.d.ts.map +1 -1
  142. package/dist/conventions/conventionMiner.js +6 -2
  143. package/dist/conventions/conventionMiner.js.map +1 -1
  144. package/dist/enforcement/diffGate.d.ts +55 -0
  145. package/dist/enforcement/diffGate.d.ts.map +1 -0
  146. package/dist/enforcement/diffGate.js +136 -0
  147. package/dist/enforcement/diffGate.js.map +1 -0
  148. package/dist/enforcement/gate.d.ts +36 -0
  149. package/dist/enforcement/gate.d.ts.map +1 -0
  150. package/dist/enforcement/gate.js +72 -0
  151. package/dist/enforcement/gate.js.map +1 -0
  152. package/dist/enforcement/suppressions.d.ts +41 -0
  153. package/dist/enforcement/suppressions.d.ts.map +1 -0
  154. package/dist/enforcement/suppressions.js +170 -0
  155. package/dist/enforcement/suppressions.js.map +1 -0
  156. package/dist/fingerprint.d.ts.map +1 -1
  157. package/dist/fingerprint.js +4 -1
  158. package/dist/fingerprint.js.map +1 -1
  159. package/dist/invariants/ruleEngine.d.ts +3 -4
  160. package/dist/invariants/ruleEngine.d.ts.map +1 -1
  161. package/dist/invariants/ruleEngine.js +2 -2
  162. package/dist/invariants/ruleEngine.js.map +1 -1
  163. package/dist/languages/LanguageOrchestrator.d.ts +14 -0
  164. package/dist/languages/LanguageOrchestrator.d.ts.map +1 -1
  165. package/dist/languages/LanguageOrchestrator.js +93 -55
  166. package/dist/languages/LanguageOrchestrator.js.map +1 -1
  167. package/dist/languages/LanguageRegistry.d.ts +8 -0
  168. package/dist/languages/LanguageRegistry.d.ts.map +1 -1
  169. package/dist/languages/LanguageRegistry.js +8 -0
  170. package/dist/languages/LanguageRegistry.js.map +1 -1
  171. package/dist/languages/RuntimeManager.d.ts +82 -60
  172. package/dist/languages/RuntimeManager.d.ts.map +1 -1
  173. package/dist/languages/RuntimeManager.js +404 -349
  174. package/dist/languages/RuntimeManager.js.map +1 -1
  175. package/dist/languages/UniversalAnalyzer.d.ts +51 -6
  176. package/dist/languages/UniversalAnalyzer.d.ts.map +1 -1
  177. package/dist/languages/UniversalAnalyzer.js +127 -88
  178. package/dist/languages/UniversalAnalyzer.js.map +1 -1
  179. package/dist/languages/adapterBridge.d.ts +36 -0
  180. package/dist/languages/adapterBridge.d.ts.map +1 -1
  181. package/dist/languages/adapterBridge.js +89 -35
  182. package/dist/languages/adapterBridge.js.map +1 -1
  183. package/dist/languages/go/GoAdapter.d.ts +66 -23
  184. package/dist/languages/go/GoAdapter.d.ts.map +1 -1
  185. package/dist/languages/go/GoAdapter.js +553 -474
  186. package/dist/languages/go/GoAdapter.js.map +1 -1
  187. package/dist/languages/tree-sitter/TreeSitterCssAdapter.d.ts +33 -4
  188. package/dist/languages/tree-sitter/TreeSitterCssAdapter.d.ts.map +1 -1
  189. package/dist/languages/tree-sitter/TreeSitterCssAdapter.js +101 -66
  190. package/dist/languages/tree-sitter/TreeSitterCssAdapter.js.map +1 -1
  191. package/dist/languages/tree-sitter/converter.d.ts +18 -0
  192. package/dist/languages/tree-sitter/converter.d.ts.map +1 -1
  193. package/dist/languages/tree-sitter/converter.js +18 -0
  194. package/dist/languages/tree-sitter/converter.js.map +1 -1
  195. package/dist/languages/tree-sitter/parser.d.ts +39 -2
  196. package/dist/languages/tree-sitter/parser.d.ts.map +1 -1
  197. package/dist/languages/tree-sitter/parser.js +93 -12
  198. package/dist/languages/tree-sitter/parser.js.map +1 -1
  199. package/dist/languages/types.d.ts +67 -2
  200. package/dist/languages/types.d.ts.map +1 -1
  201. package/dist/languages/typescript/TreeSitterTypeScriptAdapter.d.ts +253 -72
  202. package/dist/languages/typescript/TreeSitterTypeScriptAdapter.d.ts.map +1 -1
  203. package/dist/languages/typescript/TreeSitterTypeScriptAdapter.js +1419 -923
  204. package/dist/languages/typescript/TreeSitterTypeScriptAdapter.js.map +1 -1
  205. package/dist/mcp-tools-shared.d.ts.map +1 -1
  206. package/dist/mcp-tools-shared.js.map +1 -1
  207. package/dist/pipeline.d.ts +13 -5
  208. package/dist/pipeline.d.ts.map +1 -1
  209. package/dist/pipeline.js +381 -200
  210. package/dist/pipeline.js.map +1 -1
  211. package/dist/pipelineAdapters.d.ts +3 -8
  212. package/dist/pipelineAdapters.d.ts.map +1 -1
  213. package/dist/pipelineAdapters.js +149 -94
  214. package/dist/pipelineAdapters.js.map +1 -1
  215. package/dist/presets/presets.d.ts +54 -0
  216. package/dist/presets/presets.d.ts.map +1 -0
  217. package/dist/presets/presets.js +181 -0
  218. package/dist/presets/presets.js.map +1 -0
  219. package/dist/reporting/sarifReportGenerator.d.ts.map +1 -1
  220. package/dist/reporting/sarifReportGenerator.js +6 -3
  221. package/dist/reporting/sarifReportGenerator.js.map +1 -1
  222. package/dist/ruleAliases.d.ts +67 -0
  223. package/dist/ruleAliases.d.ts.map +1 -0
  224. package/dist/ruleAliases.js +102 -0
  225. package/dist/ruleAliases.js.map +1 -0
  226. package/dist/styles/cssAstExtractor.d.ts.map +1 -1
  227. package/dist/styles/cssAstExtractor.js +78 -18
  228. package/dist/styles/cssAstExtractor.js.map +1 -1
  229. package/dist/styles/styleIndexer.d.ts +6 -0
  230. package/dist/styles/styleIndexer.d.ts.map +1 -1
  231. package/dist/styles/styleIndexer.js +26 -4
  232. package/dist/styles/styleIndexer.js.map +1 -1
  233. package/dist/styles/tailwindConfigLoader.d.ts +8 -6
  234. package/dist/styles/tailwindConfigLoader.d.ts.map +1 -1
  235. package/dist/styles/tailwindConfigLoader.js +61 -15
  236. package/dist/styles/tailwindConfigLoader.js.map +1 -1
  237. package/dist/styles/tailwindProbe.d.ts +31 -0
  238. package/dist/styles/tailwindProbe.d.ts.map +1 -1
  239. package/dist/styles/tailwindProbe.js +145 -4
  240. package/dist/styles/tailwindProbe.js.map +1 -1
  241. package/dist/styles/tailwindUtilityExpander.d.ts.map +1 -1
  242. package/dist/styles/tailwindUtilityExpander.js +13 -1
  243. package/dist/styles/tailwindUtilityExpander.js.map +1 -1
  244. package/dist/types.d.ts +181 -1
  245. package/dist/types.d.ts.map +1 -1
  246. package/dist/types.js +8 -0
  247. package/dist/types.js.map +1 -1
  248. package/dist/utils/fileDiscovery.d.ts +9 -0
  249. package/dist/utils/fileDiscovery.d.ts.map +1 -1
  250. package/dist/utils/fileDiscovery.js +21 -0
  251. package/dist/utils/fileDiscovery.js.map +1 -1
  252. package/package.json +5 -3
  253. package/plugin/hooks/hooks.json +1 -1
  254. package/plugin/scripts/hook-audit.sh +25 -7
  255. package/plugin/skills/code-auditor/SKILL.md +5 -5
@@ -26,6 +26,9 @@ function assertInitialized() {
26
26
  /**
27
27
  * Parse a file synchronously into an AST.
28
28
  * Returns null on failure (no exceptions for parse errors).
29
+ * @param content
30
+ * @param filePath
31
+ * @returns
29
32
  */
30
33
  export function parseFile(filePath, content) {
31
34
  assertInitialized();
@@ -43,8 +46,14 @@ export function parseFile(filePath, content) {
43
46
  function parseWithTreeSitter(filePath, content) {
44
47
  const isTsx = filePath.endsWith('.tsx') || filePath.endsWith('.jsx');
45
48
  const isGo = filePath.endsWith('.go');
46
- const lang = isGo ? 'go' : isTsx ? 'tsx' : 'typescript';
47
- const grammarKey = isGo ? 'go' : isTsx ? 'tsx' : 'typescript';
49
+ const isCss = filePath.endsWith('.css');
50
+ const isScss = filePath.endsWith('.scss');
51
+ const lang = isGo ? 'go'
52
+ : isTsx ? 'tsx'
53
+ : isCss ? 'css'
54
+ : isScss ? 'scss'
55
+ : 'typescript';
56
+ const grammarKey = lang;
48
57
  const parser = getParser(grammarKey, isTsx && !isGo);
49
58
  const tree = parser.parse(content);
50
59
  if (!tree)
@@ -52,7 +61,7 @@ function parseWithTreeSitter(filePath, content) {
52
61
  const root = toASTNode(tree.rootNode, undefined, lang);
53
62
  const errors = [];
54
63
  collectErrors(tree.rootNode, errors);
55
- return { root, language: lang, filePath, errors };
64
+ return { root, language: lang, filePath, errors, dispose: () => tree.delete() };
56
65
  }
57
66
  function collectErrors(node, errors) {
58
67
  if (node.isError || node.type === 'ERROR') {
@@ -75,6 +84,9 @@ function collectErrors(node, errors) {
75
84
  // ---------------------------------------------------------------------------
76
85
  /**
77
86
  * Walk an AST depth-first, calling visitor for each node.
87
+ * @param depth
88
+ * @param root
89
+ * @param visitor
78
90
  */
79
91
  export function walkAST(root, visitor, depth = 0) {
80
92
  visitor(root, depth);
@@ -86,6 +98,8 @@ export function walkAST(root, visitor, depth = 0) {
86
98
  }
87
99
  /**
88
100
  * Walk a raw TreeSitterNode depth-first.
101
+ * @param node
102
+ * @param visitor
89
103
  */
90
104
  export function walkRaw(node, visitor) {
91
105
  visitor(node);
@@ -98,6 +112,9 @@ export function walkRaw(node, visitor) {
98
112
  // ---------------------------------------------------------------------------
99
113
  /**
100
114
  * Find all ASTNode matching a predicate.
115
+ * @param ast
116
+ * @param predicate
117
+ * @returns
101
118
  */
102
119
  export function findNodes(ast, predicate) {
103
120
  const results = [];
@@ -109,6 +126,9 @@ export function findNodes(ast, predicate) {
109
126
  }
110
127
  /**
111
128
  * Find all TreeSitterNode matching a predicate.
129
+ * @param node
130
+ * @param predicate
131
+ * @returns
112
132
  */
113
133
  export function findRawNodes(node, predicate) {
114
134
  const results = [];
@@ -136,6 +156,8 @@ export function getNodeText(node, sourceCode) {
136
156
  * toSourceLocation() already converts tree-sitter 0-based positions to 1-based,
137
157
  * so no additional +1 compensation is needed here. Adding one would produce
138
158
  * 2-based values (a double compensation).
159
+ * @param node
160
+ * @returns
139
161
  */
140
162
  export function getLineAndColumn(node) {
141
163
  return {
@@ -146,6 +168,9 @@ export function getLineAndColumn(node) {
146
168
  /**
147
169
  * Get line and column from a byte position in source.
148
170
  * This is a fallback for when you don't have an ASTNode.
171
+ * @param position
172
+ * @param sourceCode
173
+ * @returns
149
174
  */
150
175
  export function positionToLineColumn(sourceCode, position) {
151
176
  const lines = sourceCode.slice(0, position).split('\n');
@@ -198,6 +223,9 @@ const MODIFIER_KEYWORDS = new Set([
198
223
  /**
199
224
  * Check if an ASTNode has a specific keyword modifier.
200
225
  * In tree-sitter, modifiers appear as anonymous child nodes.
226
+ * @param modifier
227
+ * @param node
228
+ * @returns
201
229
  */
202
230
  export function hasModifier(node, modifier) {
203
231
  const raw = node.raw;
@@ -211,6 +239,8 @@ export function hasModifier(node, modifier) {
211
239
  }
212
240
  /**
213
241
  * Check if a node is exported.
242
+ * @param node
243
+ * @returns
214
244
  */
215
245
  export function isExported(node) {
216
246
  // Check for `export` keyword among the node's own modifiers
@@ -242,6 +272,8 @@ export function isAsync(node) {
242
272
  * Get the name of an ASTNode if it has one.
243
273
  * For tree-sitter, looks for a `name` property on the raw node,
244
274
  * or finds the first named child that looks like an identifier.
275
+ * @param node
276
+ * @returns
245
277
  */
246
278
  export function getNodeName(node) {
247
279
  const raw = node.raw;
@@ -266,6 +298,8 @@ export function getNodeName(node) {
266
298
  // ---------------------------------------------------------------------------
267
299
  /**
268
300
  * Count parameters of a function-like node.
301
+ * @param node
302
+ * @returns
269
303
  */
270
304
  export function getParameterCount(node) {
271
305
  const raw = node.raw;
@@ -283,6 +317,8 @@ export function getParameterCount(node) {
283
317
  // ---------------------------------------------------------------------------
284
318
  /**
285
319
  * Calculate cyclomatic complexity by counting decision points.
320
+ * @param node
321
+ * @returns
286
322
  */
287
323
  export function calculateComplexity(node) {
288
324
  let complexity = 1;
@@ -315,6 +351,9 @@ export function calculateComplexity(node) {
315
351
  // ---------------------------------------------------------------------------
316
352
  /**
317
353
  * Get the body text of a function-like node.
354
+ * @param node
355
+ * @param sourceCode
356
+ * @returns
318
357
  */
319
358
  export function getFunctionBody(node, sourceCode) {
320
359
  const raw = node.raw;
@@ -332,6 +371,9 @@ export function getFunctionBody(node, sourceCode) {
332
371
  /**
333
372
  * Extract import info from source content.
334
373
  * Uses tree-sitter directly to find import statements.
374
+ * @param content
375
+ * @param filePath
376
+ * @returns
335
377
  */
336
378
  export function extractImports(filePath, content) {
337
379
  assertInitialized();
@@ -343,40 +385,12 @@ export function extractImports(filePath, content) {
343
385
  const importNodes = findNodes(ast.root, (n) => n.type === 'import_statement');
344
386
  for (const imp of importNodes) {
345
387
  const raw = imp.raw;
346
- const importedNames = [];
347
- let isDefault = false;
348
- let isNamespace = false;
349
- // Get module specifier (the string argument)
350
- const stringNodes = raw.namedChildren.filter((c) => c.type === 'string');
351
- const moduleSpecifier = stringNodes.length > 0
352
- ? stringNodes[0].text.replace(/^["']|["']$/g, '')
353
- : '';
388
+ const moduleSpecifier = extractModuleSpecifier(raw);
354
389
  // Get import clause
355
390
  const importClause = raw.namedChildren.find((c) => c.type === 'import_clause');
356
- if (importClause) {
357
- for (const child of importClause.namedChildren) {
358
- if (child.type === 'identifier') {
359
- importedNames.push(child.text);
360
- isDefault = true;
361
- }
362
- else if (child.type === 'namespace_import') {
363
- const ident = child.namedChildren.find((c) => c.type === 'identifier');
364
- if (ident) {
365
- importedNames.push(ident.text);
366
- isNamespace = true;
367
- }
368
- }
369
- else if (child.type === 'named_imports') {
370
- for (const spec of child.namedChildren) {
371
- if (spec.type === 'import_specifier') {
372
- const name = spec.namedChildren.find((c) => c.type === 'identifier');
373
- if (name)
374
- importedNames.push(name.text);
375
- }
376
- }
377
- }
378
- }
379
- }
391
+ const { importedNames, isDefault, isNamespace } = importClause
392
+ ? extractImportClause(importClause)
393
+ : { importedNames: [], isDefault: false, isNamespace: false };
380
394
  results.push({
381
395
  moduleSpecifier,
382
396
  importedNames,
@@ -387,4 +401,44 @@ export function extractImports(filePath, content) {
387
401
  }
388
402
  return results;
389
403
  }
404
+ /**
405
+ * Extract the module specifier (the string argument) from an import node.
406
+ */
407
+ function extractModuleSpecifier(raw) {
408
+ const stringNodes = raw.namedChildren.filter((c) => c.type === 'string');
409
+ return stringNodes.length > 0
410
+ ? stringNodes[0].text.replace(/^["']|["']$/g, '')
411
+ : '';
412
+ }
413
+ /**
414
+ * Extract imported names and default/namespace flags from an import clause.
415
+ */
416
+ function extractImportClause(importClause) {
417
+ const importedNames = [];
418
+ let isDefault = false;
419
+ let isNamespace = false;
420
+ for (const child of importClause.namedChildren) {
421
+ if (child.type === 'identifier') {
422
+ importedNames.push(child.text);
423
+ isDefault = true;
424
+ }
425
+ else if (child.type === 'namespace_import') {
426
+ const ident = child.namedChildren.find((c) => c.type === 'identifier');
427
+ if (ident) {
428
+ importedNames.push(ident.text);
429
+ isNamespace = true;
430
+ }
431
+ }
432
+ else if (child.type === 'named_imports') {
433
+ for (const spec of child.namedChildren) {
434
+ if (spec.type === 'import_specifier') {
435
+ const name = spec.namedChildren.find((c) => c.type === 'identifier');
436
+ if (name)
437
+ importedNames.push(name.text);
438
+ }
439
+ }
440
+ }
441
+ }
442
+ return { importedNames, isDefault, isNamespace };
443
+ }
390
444
  //# sourceMappingURL=adapterBridge.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"adapterBridge.js","sourceRoot":"","sources":["../../src/languages/adapterBridge.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"adapterBridge.js","sourceRoot":"","sources":["../../src/languages/adapterBridge.ts"],"names":[],"mappings":"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"}
@@ -3,9 +3,38 @@
3
3
  *
4
4
  * Provides real AST-based analysis for Go source files. Replaces the previous
5
5
  * regex-based stub that returned empty arrays for most queries.
6
+ *
7
+ * The class is split across a small inheritance chain (Spec-33
8
+ * interface-segregation): each link contributes a cohesive slice of the
9
+ * adapter so no single class exceeds the SOLID class-size threshold. The
10
+ * chain is ordered leaf-first (traversal/name/doc/build helpers) so every
11
+ * method's callee lives in an ancestor class.
6
12
  */
7
- import type { AST, ASTNode, ClassInfo, DynamicPart, ExportInfo, FunctionInfo, ImportInfo, InterfaceInfo, LanguageAdapter, NodePattern, ResolvedConstant, SourceLocation } from '../types.js';
8
- export declare class TreeSitterGoAdapter implements LanguageAdapter {
13
+ import type { Node as TreeSitterNode } from 'web-tree-sitter';
14
+ import type { AST, ASTNode, ClassInfo, DynamicPart, ExportInfo, FunctionInfo, ImportInfo, InterfaceInfo, LanguageAdapter, NodePattern, ParameterInfo, ParseError, ResolvedConstant, SourceLocation } from '../types.js';
15
+ declare class GoTraversalHelpers {
16
+ protected walk(node: ASTNode, visitor: (node: ASTNode) => void): void;
17
+ protected walkRaw(node: TreeSitterNode, visitor: (node: TreeSitterNode) => void): void;
18
+ protected collectErrors(node: TreeSitterNode, errors: ParseError[]): void;
19
+ protected extractName(node: TreeSitterNode): string | null;
20
+ protected cleanCommentText(comment: string): string;
21
+ protected getOperator(node: TreeSitterNode): string | null;
22
+ protected isExportedGo(name: string): boolean;
23
+ protected getReceiverType(node: TreeSitterNode): string | undefined;
24
+ protected getReturnType(node: TreeSitterNode): string | null;
25
+ protected extractParameters(node: TreeSitterNode, _sourceCode: string): ParameterInfo[];
26
+ protected findNamedChildren(node: TreeSitterNode, type: string): TreeSitterNode[];
27
+ }
28
+ declare class GoAnalysis extends GoTraversalHelpers {
29
+ protected matchesPattern(node: ASTNode, pattern: NodePattern): boolean;
30
+ protected extractDocumentation(node: TreeSitterNode): string | null;
31
+ protected calculateComplexity(node: TreeSitterNode): number;
32
+ protected buildFunctionInfo(node: TreeSitterNode, sourceCode: string): FunctionInfo | null;
33
+ protected buildStructAsClass(_typeSpec: TreeSitterNode, nameNode: TreeSitterNode, typeNode: TreeSitterNode, allFunctions: FunctionInfo[]): ClassInfo | null;
34
+ protected buildImportInfo(spec: TreeSitterNode): ImportInfo | null;
35
+ protected buildInterfaceInfo(nameNode: TreeSitterNode, typeNode: TreeSitterNode): InterfaceInfo | null;
36
+ }
37
+ declare class GoParserCore extends GoAnalysis {
9
38
  readonly name = "go";
10
39
  readonly fileExtensions: string[];
11
40
  supportsFile(filePath: string): boolean;
@@ -18,10 +47,14 @@ export declare class TreeSitterGoAdapter implements LanguageAdapter {
18
47
  getNodeText(node: ASTNode, sourceCode: string): string;
19
48
  getNodeName(node: ASTNode): string | null;
20
49
  getNodeLocation(node: ASTNode): SourceLocation;
50
+ }
51
+ declare class GoExtraction extends GoParserCore {
21
52
  extractFunctions(ast: AST): FunctionInfo[];
22
53
  extractClasses(ast: AST): ClassInfo[];
23
54
  extractImports(ast: AST): ImportInfo[];
24
55
  extractExports(ast: AST): ExportInfo[];
56
+ }
57
+ declare class GoPredicates extends GoExtraction {
25
58
  isClass(node: ASTNode): boolean;
26
59
  isFunction(node: ASTNode): boolean;
27
60
  isMethod(node: ASTNode): boolean;
@@ -34,6 +67,8 @@ export declare class TreeSitterGoAdapter implements LanguageAdapter {
34
67
  getTypeInfo(node: ASTNode): string | null;
35
68
  getDocumentation(node: ASTNode): string | null;
36
69
  getComplexity(node: ASTNode): number;
70
+ }
71
+ declare class GoOptionalCapabilities extends GoPredicates {
37
72
  extractInterfaces(ast: AST): InterfaceInfo[];
38
73
  extractRawImports(_filePath: string, content: string): Array<{
39
74
  moduleSpecifier: string;
@@ -46,30 +81,19 @@ export declare class TreeSitterGoAdapter implements LanguageAdapter {
46
81
  name: string;
47
82
  line: number;
48
83
  }>;
49
- private walk;
50
- private walkRaw;
51
- private collectErrors;
52
- private matchesPattern;
53
- private extractName;
54
- private extractDocumentation;
55
- private cleanCommentText;
56
- private calculateComplexity;
57
- private getOperator;
58
- private buildFunctionInfo;
59
- private buildStructAsClass;
60
- private buildImportInfo;
61
- private buildInterfaceInfo;
62
- private extractParameters;
63
- private isExportedGo;
64
- private getReceiverType;
65
- private getReturnType;
66
- private findNamedChildren;
84
+ }
85
+ /**
86
+ * Tree sitter go adapter.
87
+ */
88
+ export declare class TreeSitterGoAdapter extends GoOptionalCapabilities implements LanguageAdapter {
67
89
  /**
68
90
  * Returns true when the node is a dynamically-constructed string in Go:
69
91
  * - call_expression with fmt.Sprintf / fmt.Sprint / fmt.Sprintf / strings.Join
70
92
  * - binary_expression with + operator (string concatenation)
71
93
  * Plain string literals (interpreted_string_literal, raw_string_literal)
72
94
  * are never dynamic.
95
+ * @param node
96
+ * @returns
73
97
  */
74
98
  isDynamicStringConstruction(node: ASTNode): boolean;
75
99
  /**
@@ -77,19 +101,38 @@ export declare class TreeSitterGoAdapter implements LanguageAdapter {
77
101
  * - For fmt.Sprintf: args after the format string are dynamic
78
102
  * - For binary +: non-literal operands are dynamic
79
103
  * - For strings.Join: the parts slice is dynamic
104
+ * @param node
105
+ * @param sourceCode
106
+ * @returns
80
107
  */
81
108
  getDynamicParts(node: ASTNode, sourceCode: string): DynamicPart[];
109
+ /**
110
+ * Finds the first argument of a call_expression that is itself a dynamic
111
+ * string construction, or null if none exists.
112
+ */
113
+ private findFirstDynamicArgument;
114
+ /**
115
+ * Extracts dynamic parts from a call_expression's argument list.
116
+ * fmt.Sprintf("format", arg1...): skips the format string (first arg).
117
+ * strings.Join(parts, "sep"): first arg is dynamic.
118
+ */
119
+ private extractCallDynamicParts;
82
120
  /**
83
121
  * Resolves a Go local constant declaration for an identifier node.
84
122
  * Searches within the enclosing function scope for var/const/:=
85
123
  * declarations. Returns null for unresolvable identifiers.
124
+ * @param ast
125
+ * @param identifierNode
126
+ * @param sourceCode
127
+ * @returns
86
128
  */
87
129
  resolveLocalConstant(identifierNode: ASTNode, ast: AST, sourceCode: string): ResolvedConstant | null;
88
130
  /** Walk parent chain to find enclosing function scope in Go. */
89
- private findEnclosingScopeGo;
131
+ protected findEnclosingScopeGo(node: ASTNode): ASTNode | null;
90
132
  /** Find declaration of targetName within scopeRoot. */
91
- private findDeclInScopeGo;
133
+ protected findDeclInScopeGo(scopeRoot: ASTNode, targetName: string): ASTNode | null;
92
134
  /** Check for reassignment (bare = without :=) of targetName after declLine. */
93
- private hasReassignmentGo;
135
+ protected hasReassignmentGo(scopeRoot: ASTNode, targetName: string, declLine: number): boolean;
94
136
  }
137
+ export {};
95
138
  //# sourceMappingURL=GoAdapter.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"GoAdapter.d.ts","sourceRoot":"","sources":["../../../src/languages/go/GoAdapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"GoAdapter.d.ts","sourceRoot":"","sources":["../../../src/languages/go/GoAdapter.ts"],"names":[],"mappings":"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"}