@kevinrabun/judges 2.2.0 → 3.0.0

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 (330) hide show
  1. package/README.md +203 -20
  2. package/dist/api.d.ts +40 -0
  3. package/dist/api.d.ts.map +1 -0
  4. package/dist/api.js +56 -0
  5. package/dist/api.js.map +1 -0
  6. package/dist/ast/cross-file-taint.d.ts +43 -0
  7. package/dist/ast/cross-file-taint.d.ts.map +1 -0
  8. package/dist/ast/cross-file-taint.js +713 -0
  9. package/dist/ast/cross-file-taint.js.map +1 -0
  10. package/dist/ast/index.d.ts +4 -0
  11. package/dist/ast/index.d.ts.map +1 -1
  12. package/dist/ast/index.js +5 -0
  13. package/dist/ast/index.js.map +1 -1
  14. package/dist/ast/structural-parser.d.ts.map +1 -1
  15. package/dist/ast/structural-parser.js +66 -11
  16. package/dist/ast/structural-parser.js.map +1 -1
  17. package/dist/ast/taint-tracker.d.ts +35 -0
  18. package/dist/ast/taint-tracker.d.ts.map +1 -0
  19. package/dist/ast/taint-tracker.js +518 -0
  20. package/dist/ast/taint-tracker.js.map +1 -0
  21. package/dist/ast/types.d.ts +2 -0
  22. package/dist/ast/types.d.ts.map +1 -1
  23. package/dist/ast/typescript-ast.d.ts.map +1 -1
  24. package/dist/ast/typescript-ast.js +25 -5
  25. package/dist/ast/typescript-ast.js.map +1 -1
  26. package/dist/config.d.ts.map +1 -1
  27. package/dist/config.js +10 -9
  28. package/dist/config.js.map +1 -1
  29. package/dist/dedup.d.ts +19 -0
  30. package/dist/dedup.d.ts.map +1 -0
  31. package/dist/dedup.js +222 -0
  32. package/dist/dedup.js.map +1 -0
  33. package/dist/errors.d.ts +37 -0
  34. package/dist/errors.d.ts.map +1 -0
  35. package/dist/errors.js +57 -0
  36. package/dist/errors.js.map +1 -0
  37. package/dist/evaluators/accessibility.d.ts +1 -1
  38. package/dist/evaluators/accessibility.d.ts.map +1 -1
  39. package/dist/evaluators/accessibility.js +45 -7
  40. package/dist/evaluators/accessibility.js.map +1 -1
  41. package/dist/evaluators/agent-instructions.d.ts +1 -1
  42. package/dist/evaluators/agent-instructions.d.ts.map +1 -1
  43. package/dist/evaluators/agent-instructions.js +60 -2
  44. package/dist/evaluators/agent-instructions.js.map +1 -1
  45. package/dist/evaluators/ai-code-safety.d.ts +9 -0
  46. package/dist/evaluators/ai-code-safety.d.ts.map +1 -0
  47. package/dist/evaluators/ai-code-safety.js +507 -0
  48. package/dist/evaluators/ai-code-safety.js.map +1 -0
  49. package/dist/evaluators/api-design.d.ts +1 -1
  50. package/dist/evaluators/api-design.d.ts.map +1 -1
  51. package/dist/evaluators/api-design.js +33 -17
  52. package/dist/evaluators/api-design.js.map +1 -1
  53. package/dist/evaluators/app-builder.d.ts +34 -0
  54. package/dist/evaluators/app-builder.d.ts.map +1 -0
  55. package/dist/evaluators/app-builder.js +156 -0
  56. package/dist/evaluators/app-builder.js.map +1 -0
  57. package/dist/evaluators/authentication.d.ts +1 -1
  58. package/dist/evaluators/authentication.d.ts.map +1 -1
  59. package/dist/evaluators/authentication.js +69 -75
  60. package/dist/evaluators/authentication.js.map +1 -1
  61. package/dist/evaluators/backwards-compatibility.d.ts +1 -1
  62. package/dist/evaluators/backwards-compatibility.d.ts.map +1 -1
  63. package/dist/evaluators/backwards-compatibility.js +25 -3
  64. package/dist/evaluators/backwards-compatibility.js.map +1 -1
  65. package/dist/evaluators/caching.d.ts +1 -1
  66. package/dist/evaluators/caching.d.ts.map +1 -1
  67. package/dist/evaluators/caching.js +25 -4
  68. package/dist/evaluators/caching.js.map +1 -1
  69. package/dist/evaluators/ci-cd.d.ts +1 -1
  70. package/dist/evaluators/ci-cd.d.ts.map +1 -1
  71. package/dist/evaluators/ci-cd.js +34 -12
  72. package/dist/evaluators/ci-cd.js.map +1 -1
  73. package/dist/evaluators/cloud-readiness.d.ts +1 -1
  74. package/dist/evaluators/cloud-readiness.d.ts.map +1 -1
  75. package/dist/evaluators/cloud-readiness.js +26 -0
  76. package/dist/evaluators/cloud-readiness.js.map +1 -1
  77. package/dist/evaluators/code-structure.d.ts +1 -1
  78. package/dist/evaluators/code-structure.d.ts.map +1 -1
  79. package/dist/evaluators/code-structure.js +19 -6
  80. package/dist/evaluators/code-structure.js.map +1 -1
  81. package/dist/evaluators/compliance.d.ts +1 -1
  82. package/dist/evaluators/compliance.d.ts.map +1 -1
  83. package/dist/evaluators/compliance.js +48 -10
  84. package/dist/evaluators/compliance.js.map +1 -1
  85. package/dist/evaluators/concurrency.d.ts +1 -1
  86. package/dist/evaluators/concurrency.d.ts.map +1 -1
  87. package/dist/evaluators/concurrency.js +29 -4
  88. package/dist/evaluators/concurrency.js.map +1 -1
  89. package/dist/evaluators/configuration-management.d.ts +1 -1
  90. package/dist/evaluators/configuration-management.d.ts.map +1 -1
  91. package/dist/evaluators/configuration-management.js +57 -13
  92. package/dist/evaluators/configuration-management.js.map +1 -1
  93. package/dist/evaluators/cost-effectiveness.d.ts +1 -1
  94. package/dist/evaluators/cost-effectiveness.d.ts.map +1 -1
  95. package/dist/evaluators/cost-effectiveness.js +27 -3
  96. package/dist/evaluators/cost-effectiveness.js.map +1 -1
  97. package/dist/evaluators/cybersecurity.d.ts +1 -1
  98. package/dist/evaluators/cybersecurity.d.ts.map +1 -1
  99. package/dist/evaluators/cybersecurity.js +190 -1
  100. package/dist/evaluators/cybersecurity.js.map +1 -1
  101. package/dist/evaluators/data-security.d.ts +1 -1
  102. package/dist/evaluators/data-security.d.ts.map +1 -1
  103. package/dist/evaluators/data-security.js +114 -66
  104. package/dist/evaluators/data-security.js.map +1 -1
  105. package/dist/evaluators/data-sovereignty.d.ts +1 -1
  106. package/dist/evaluators/data-sovereignty.d.ts.map +1 -1
  107. package/dist/evaluators/data-sovereignty.js +89 -2
  108. package/dist/evaluators/data-sovereignty.js.map +1 -1
  109. package/dist/evaluators/database.d.ts +1 -1
  110. package/dist/evaluators/database.d.ts.map +1 -1
  111. package/dist/evaluators/database.js +35 -9
  112. package/dist/evaluators/database.js.map +1 -1
  113. package/dist/evaluators/dependencies.d.ts +6 -0
  114. package/dist/evaluators/dependencies.d.ts.map +1 -0
  115. package/dist/evaluators/dependencies.js +204 -0
  116. package/dist/evaluators/dependencies.js.map +1 -0
  117. package/dist/evaluators/dependency-health.d.ts +1 -1
  118. package/dist/evaluators/dependency-health.d.ts.map +1 -1
  119. package/dist/evaluators/dependency-health.js +265 -11
  120. package/dist/evaluators/dependency-health.js.map +1 -1
  121. package/dist/evaluators/documentation.d.ts +1 -1
  122. package/dist/evaluators/documentation.d.ts.map +1 -1
  123. package/dist/evaluators/documentation.js +25 -2
  124. package/dist/evaluators/documentation.js.map +1 -1
  125. package/dist/evaluators/error-handling.d.ts +1 -1
  126. package/dist/evaluators/error-handling.d.ts.map +1 -1
  127. package/dist/evaluators/error-handling.js +89 -24
  128. package/dist/evaluators/error-handling.js.map +1 -1
  129. package/dist/evaluators/ethics-bias.d.ts +1 -1
  130. package/dist/evaluators/ethics-bias.d.ts.map +1 -1
  131. package/dist/evaluators/ethics-bias.js +30 -5
  132. package/dist/evaluators/ethics-bias.js.map +1 -1
  133. package/dist/evaluators/framework-safety.d.ts +13 -0
  134. package/dist/evaluators/framework-safety.d.ts.map +1 -0
  135. package/dist/evaluators/framework-safety.js +424 -0
  136. package/dist/evaluators/framework-safety.js.map +1 -0
  137. package/dist/evaluators/index.d.ts +21 -24
  138. package/dist/evaluators/index.d.ts.map +1 -1
  139. package/dist/evaluators/index.js +297 -677
  140. package/dist/evaluators/index.js.map +1 -1
  141. package/dist/evaluators/internationalization.d.ts +1 -1
  142. package/dist/evaluators/internationalization.d.ts.map +1 -1
  143. package/dist/evaluators/internationalization.js +55 -4
  144. package/dist/evaluators/internationalization.js.map +1 -1
  145. package/dist/evaluators/logging-privacy.d.ts +1 -1
  146. package/dist/evaluators/logging-privacy.d.ts.map +1 -1
  147. package/dist/evaluators/logging-privacy.js +68 -30
  148. package/dist/evaluators/logging-privacy.js.map +1 -1
  149. package/dist/evaluators/maintainability.d.ts +1 -1
  150. package/dist/evaluators/maintainability.d.ts.map +1 -1
  151. package/dist/evaluators/maintainability.js +53 -26
  152. package/dist/evaluators/maintainability.js.map +1 -1
  153. package/dist/evaluators/observability.d.ts +1 -1
  154. package/dist/evaluators/observability.d.ts.map +1 -1
  155. package/dist/evaluators/observability.js +22 -1
  156. package/dist/evaluators/observability.js.map +1 -1
  157. package/dist/evaluators/performance.d.ts +1 -1
  158. package/dist/evaluators/performance.d.ts.map +1 -1
  159. package/dist/evaluators/performance.js +209 -2
  160. package/dist/evaluators/performance.js.map +1 -1
  161. package/dist/evaluators/portability.d.ts +1 -1
  162. package/dist/evaluators/portability.d.ts.map +1 -1
  163. package/dist/evaluators/portability.js +24 -1
  164. package/dist/evaluators/portability.js.map +1 -1
  165. package/dist/evaluators/project.d.ts +16 -0
  166. package/dist/evaluators/project.d.ts.map +1 -0
  167. package/dist/evaluators/project.js +353 -0
  168. package/dist/evaluators/project.js.map +1 -0
  169. package/dist/evaluators/rate-limiting.d.ts +1 -1
  170. package/dist/evaluators/rate-limiting.d.ts.map +1 -1
  171. package/dist/evaluators/rate-limiting.js +33 -10
  172. package/dist/evaluators/rate-limiting.js.map +1 -1
  173. package/dist/evaluators/reliability.d.ts +1 -1
  174. package/dist/evaluators/reliability.d.ts.map +1 -1
  175. package/dist/evaluators/reliability.js +20 -0
  176. package/dist/evaluators/reliability.js.map +1 -1
  177. package/dist/evaluators/scalability.d.ts +1 -1
  178. package/dist/evaluators/scalability.d.ts.map +1 -1
  179. package/dist/evaluators/scalability.js +27 -1
  180. package/dist/evaluators/scalability.js.map +1 -1
  181. package/dist/evaluators/shared.d.ts +24 -2
  182. package/dist/evaluators/shared.d.ts.map +1 -1
  183. package/dist/evaluators/shared.js +194 -26
  184. package/dist/evaluators/shared.js.map +1 -1
  185. package/dist/evaluators/software-practices.d.ts +1 -1
  186. package/dist/evaluators/software-practices.d.ts.map +1 -1
  187. package/dist/evaluators/software-practices.js +50 -3
  188. package/dist/evaluators/software-practices.js.map +1 -1
  189. package/dist/evaluators/testing.d.ts +1 -1
  190. package/dist/evaluators/testing.d.ts.map +1 -1
  191. package/dist/evaluators/testing.js +32 -4
  192. package/dist/evaluators/testing.js.map +1 -1
  193. package/dist/evaluators/ux.d.ts +1 -1
  194. package/dist/evaluators/ux.d.ts.map +1 -1
  195. package/dist/evaluators/ux.js +24 -0
  196. package/dist/evaluators/ux.js.map +1 -1
  197. package/dist/evaluators/v2.d.ts +1 -1
  198. package/dist/evaluators/v2.d.ts.map +1 -1
  199. package/dist/evaluators/v2.js +15 -35
  200. package/dist/evaluators/v2.js.map +1 -1
  201. package/dist/formatters/sarif.d.ts +75 -0
  202. package/dist/formatters/sarif.d.ts.map +1 -0
  203. package/dist/formatters/sarif.js +93 -0
  204. package/dist/formatters/sarif.js.map +1 -0
  205. package/dist/index.d.ts +4 -1
  206. package/dist/index.d.ts.map +1 -1
  207. package/dist/index.js +9 -782
  208. package/dist/index.js.map +1 -1
  209. package/dist/judges/accessibility.d.ts +1 -1
  210. package/dist/judges/accessibility.d.ts.map +1 -1
  211. package/dist/judges/agent-instructions.d.ts +1 -1
  212. package/dist/judges/agent-instructions.d.ts.map +1 -1
  213. package/dist/judges/ai-code-safety.d.ts +3 -0
  214. package/dist/judges/ai-code-safety.d.ts.map +1 -0
  215. package/dist/judges/ai-code-safety.js +45 -0
  216. package/dist/judges/ai-code-safety.js.map +1 -0
  217. package/dist/judges/api-design.d.ts +1 -1
  218. package/dist/judges/api-design.d.ts.map +1 -1
  219. package/dist/judges/authentication.d.ts +1 -1
  220. package/dist/judges/authentication.d.ts.map +1 -1
  221. package/dist/judges/backwards-compatibility.d.ts +1 -1
  222. package/dist/judges/backwards-compatibility.d.ts.map +1 -1
  223. package/dist/judges/caching.d.ts +1 -1
  224. package/dist/judges/caching.d.ts.map +1 -1
  225. package/dist/judges/ci-cd.d.ts +1 -1
  226. package/dist/judges/ci-cd.d.ts.map +1 -1
  227. package/dist/judges/cloud-readiness.d.ts +1 -1
  228. package/dist/judges/cloud-readiness.d.ts.map +1 -1
  229. package/dist/judges/code-structure.d.ts +1 -1
  230. package/dist/judges/code-structure.d.ts.map +1 -1
  231. package/dist/judges/compliance.d.ts +1 -1
  232. package/dist/judges/compliance.d.ts.map +1 -1
  233. package/dist/judges/concurrency.d.ts +1 -1
  234. package/dist/judges/concurrency.d.ts.map +1 -1
  235. package/dist/judges/configuration-management.d.ts +1 -1
  236. package/dist/judges/configuration-management.d.ts.map +1 -1
  237. package/dist/judges/cost-effectiveness.d.ts +1 -1
  238. package/dist/judges/cost-effectiveness.d.ts.map +1 -1
  239. package/dist/judges/cybersecurity.d.ts +1 -1
  240. package/dist/judges/cybersecurity.d.ts.map +1 -1
  241. package/dist/judges/data-security.d.ts +1 -1
  242. package/dist/judges/data-security.d.ts.map +1 -1
  243. package/dist/judges/data-sovereignty.d.ts +1 -1
  244. package/dist/judges/data-sovereignty.d.ts.map +1 -1
  245. package/dist/judges/database.d.ts +1 -1
  246. package/dist/judges/database.d.ts.map +1 -1
  247. package/dist/judges/dependency-health.d.ts +1 -1
  248. package/dist/judges/dependency-health.d.ts.map +1 -1
  249. package/dist/judges/documentation.d.ts +1 -1
  250. package/dist/judges/documentation.d.ts.map +1 -1
  251. package/dist/judges/error-handling.d.ts +1 -1
  252. package/dist/judges/error-handling.d.ts.map +1 -1
  253. package/dist/judges/ethics-bias.d.ts +1 -1
  254. package/dist/judges/ethics-bias.d.ts.map +1 -1
  255. package/dist/judges/framework-safety.d.ts +3 -0
  256. package/dist/judges/framework-safety.d.ts.map +1 -0
  257. package/dist/judges/framework-safety.js +25 -0
  258. package/dist/judges/framework-safety.js.map +1 -0
  259. package/dist/judges/index.d.ts +1 -1
  260. package/dist/judges/index.d.ts.map +1 -1
  261. package/dist/judges/index.js +76 -0
  262. package/dist/judges/index.js.map +1 -1
  263. package/dist/judges/internationalization.d.ts +1 -1
  264. package/dist/judges/internationalization.d.ts.map +1 -1
  265. package/dist/judges/logging-privacy.d.ts +1 -1
  266. package/dist/judges/logging-privacy.d.ts.map +1 -1
  267. package/dist/judges/maintainability.d.ts +1 -1
  268. package/dist/judges/maintainability.d.ts.map +1 -1
  269. package/dist/judges/observability.d.ts +1 -1
  270. package/dist/judges/observability.d.ts.map +1 -1
  271. package/dist/judges/performance.d.ts +1 -1
  272. package/dist/judges/performance.d.ts.map +1 -1
  273. package/dist/judges/portability.d.ts +1 -1
  274. package/dist/judges/portability.d.ts.map +1 -1
  275. package/dist/judges/rate-limiting.d.ts +1 -1
  276. package/dist/judges/rate-limiting.d.ts.map +1 -1
  277. package/dist/judges/reliability.d.ts +1 -1
  278. package/dist/judges/reliability.d.ts.map +1 -1
  279. package/dist/judges/scalability.d.ts +1 -1
  280. package/dist/judges/scalability.d.ts.map +1 -1
  281. package/dist/judges/software-practices.d.ts +1 -1
  282. package/dist/judges/software-practices.d.ts.map +1 -1
  283. package/dist/judges/testing.d.ts +1 -1
  284. package/dist/judges/testing.d.ts.map +1 -1
  285. package/dist/judges/ux.d.ts +1 -1
  286. package/dist/judges/ux.d.ts.map +1 -1
  287. package/dist/language-patterns.d.ts +37 -0
  288. package/dist/language-patterns.d.ts.map +1 -1
  289. package/dist/language-patterns.js +59 -4
  290. package/dist/language-patterns.js.map +1 -1
  291. package/dist/patches/index.d.ts +10 -0
  292. package/dist/patches/index.d.ts.map +1 -0
  293. package/dist/patches/index.js +533 -0
  294. package/dist/patches/index.js.map +1 -0
  295. package/dist/reports/public-repo-report.d.ts +3 -1
  296. package/dist/reports/public-repo-report.d.ts.map +1 -1
  297. package/dist/reports/public-repo-report.js +41 -0
  298. package/dist/reports/public-repo-report.js.map +1 -1
  299. package/dist/scoring.d.ts +18 -0
  300. package/dist/scoring.d.ts.map +1 -0
  301. package/dist/scoring.js +178 -0
  302. package/dist/scoring.js.map +1 -0
  303. package/dist/tools/deep-review.d.ts +4 -0
  304. package/dist/tools/deep-review.d.ts.map +1 -0
  305. package/dist/tools/deep-review.js +56 -0
  306. package/dist/tools/deep-review.js.map +1 -0
  307. package/dist/tools/prompts.d.ts +8 -0
  308. package/dist/tools/prompts.d.ts.map +1 -0
  309. package/dist/tools/prompts.js +66 -0
  310. package/dist/tools/prompts.js.map +1 -0
  311. package/dist/tools/register-evaluation.d.ts +7 -0
  312. package/dist/tools/register-evaluation.d.ts.map +1 -0
  313. package/dist/tools/register-evaluation.js +303 -0
  314. package/dist/tools/register-evaluation.js.map +1 -0
  315. package/dist/tools/register-workflow.d.ts +7 -0
  316. package/dist/tools/register-workflow.d.ts.map +1 -0
  317. package/dist/tools/register-workflow.js +395 -0
  318. package/dist/tools/register-workflow.js.map +1 -0
  319. package/dist/tools/register.d.ts +7 -0
  320. package/dist/tools/register.d.ts.map +1 -0
  321. package/dist/tools/register.js +14 -0
  322. package/dist/tools/register.js.map +1 -0
  323. package/dist/tools/schemas.d.ts +26 -0
  324. package/dist/tools/schemas.d.ts.map +1 -0
  325. package/dist/tools/schemas.js +42 -0
  326. package/dist/tools/schemas.js.map +1 -0
  327. package/dist/types.d.ts +53 -2
  328. package/dist/types.d.ts.map +1 -1
  329. package/package.json +42 -3
  330. package/server.json +51 -3
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cross-file-taint.js","sourceRoot":"","sources":["../../src/ast/cross-file-taint.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,9 @@
1
1
  import type { CodeStructure, FunctionInfo } from "./types.js";
2
2
  export type { CodeStructure, FunctionInfo };
3
+ export { analyzeTaintFlows } from "./taint-tracker.js";
4
+ export type { TaintFlow, TaintSourceKind, TaintSinkKind } from "./taint-tracker.js";
5
+ export { analyzeCrossFileTaint } from "./cross-file-taint.js";
6
+ export type { CrossFileTaintFlow } from "./cross-file-taint.js";
3
7
  /**
4
8
  * Analyse source code structurally. For JavaScript/TypeScript this uses the
5
9
  * TypeScript compiler API (full AST). For Python, Rust, Go, Java, and C# it
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/ast/index.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE9D,YAAY,EAAE,aAAa,EAAE,YAAY,EAAE,CAAC;AAE5C;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,GACf,aAAa,CA4Bf"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/ast/index.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE9D,YAAY,EAAE,aAAa,EAAE,YAAY,EAAE,CAAC;AAG5C,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACvD,YAAY,EAAE,SAAS,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAGpF,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,YAAY,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAEhE;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,aAAa,CA6B9E"}
package/dist/ast/index.js CHANGED
@@ -7,6 +7,10 @@
7
7
  import { normalizeLanguage } from "../language-patterns.js";
8
8
  import { analyzeTypeScript } from "./typescript-ast.js";
9
9
  import { analyzeStructurally } from "./structural-parser.js";
10
+ // Re-export taint analysis
11
+ export { analyzeTaintFlows } from "./taint-tracker.js";
12
+ // Re-export cross-file taint analysis
13
+ export { analyzeCrossFileTaint } from "./cross-file-taint.js";
10
14
  /**
11
15
  * Analyse source code structurally. For JavaScript/TypeScript this uses the
12
16
  * TypeScript compiler API (full AST). For Python, Rust, Go, Java, and C# it
@@ -38,6 +42,7 @@ export function analyzeStructure(code, language) {
38
42
  deadCodeLines: [],
39
43
  deepNestLines: [],
40
44
  typeAnyLines: [],
45
+ imports: [],
41
46
  };
42
47
  }
43
48
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/ast/index.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAChF,qCAAqC;AACrC,gFAAgF;AAChF,8EAA8E;AAC9E,wDAAwD;AACxD,gFAAgF;AAEhF,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAK7D;;;;;;;GAOG;AACH,MAAM,UAAU,gBAAgB,CAC9B,IAAY,EACZ,QAAgB;IAEhB,MAAM,IAAI,GAAG,iBAAiB,CAAC,QAAQ,CAAC,CAAC;IAEzC,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,YAAY,CAAC;QAClB,KAAK,YAAY;YACf,OAAO,iBAAiB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAEvC,KAAK,QAAQ,CAAC;QACd,KAAK,MAAM,CAAC;QACZ,KAAK,IAAI,CAAC;QACV,KAAK,MAAM,CAAC;QACZ,KAAK,QAAQ;YACX,OAAO,mBAAmB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAEzC;YACE,gDAAgD;YAChD,OAAO;gBACL,QAAQ,EAAE,IAAI;gBACd,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM;gBACnC,SAAS,EAAE,EAAE;gBACb,wBAAwB,EAAE,CAAC;gBAC3B,eAAe,EAAE,CAAC;gBAClB,aAAa,EAAE,EAAE;gBACjB,aAAa,EAAE,EAAE;gBACjB,YAAY,EAAE,EAAE;aACjB,CAAC;IACN,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/ast/index.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAChF,qCAAqC;AACrC,gFAAgF;AAChF,8EAA8E;AAC9E,wDAAwD;AACxD,gFAAgF;AAEhF,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAK7D,2BAA2B;AAC3B,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAGvD,sCAAsC;AACtC,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAG9D;;;;;;;GAOG;AACH,MAAM,UAAU,gBAAgB,CAAC,IAAY,EAAE,QAAgB;IAC7D,MAAM,IAAI,GAAG,iBAAiB,CAAC,QAAQ,CAAC,CAAC;IAEzC,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,YAAY,CAAC;QAClB,KAAK,YAAY;YACf,OAAO,iBAAiB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAEvC,KAAK,QAAQ,CAAC;QACd,KAAK,MAAM,CAAC;QACZ,KAAK,IAAI,CAAC;QACV,KAAK,MAAM,CAAC;QACZ,KAAK,QAAQ;YACX,OAAO,mBAAmB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAEzC;YACE,gDAAgD;YAChD,OAAO;gBACL,QAAQ,EAAE,IAAI;gBACd,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM;gBACnC,SAAS,EAAE,EAAE;gBACb,wBAAwB,EAAE,CAAC;gBAC3B,eAAe,EAAE,CAAC;gBAClB,aAAa,EAAE,EAAE;gBACjB,aAAa,EAAE,EAAE;gBACjB,YAAY,EAAE,EAAE;gBAChB,OAAO,EAAE,EAAE;aACZ,CAAC;IACN,CAAC;AACH,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"structural-parser.d.ts","sourceRoot":"","sources":["../../src/ast/structural-parser.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAgB,aAAa,EAAE,MAAM,YAAY,CAAC;AAI9D,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,GACf,aAAa,CA8Bf"}
1
+ {"version":3,"file":"structural-parser.d.ts","sourceRoot":"","sources":["../../src/ast/structural-parser.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAgB,aAAa,EAAE,MAAM,YAAY,CAAC;AAI9D,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,aAAa,CA0BjF"}
@@ -11,12 +11,11 @@ export function analyzeStructurally(code, language) {
11
11
  const lines = code.split("\n");
12
12
  const totalLines = lines.length;
13
13
  const isPython = language === "python";
14
- const functions = isPython
15
- ? extractPythonFunctions(lines)
16
- : extractBraceFunctions(lines, language);
14
+ const functions = isPython ? extractPythonFunctions(lines) : extractBraceFunctions(lines, language);
17
15
  const deadCodeLines = detectDeadCode(lines, language);
18
16
  const deepNestLines = detectDeepNesting(lines, isPython);
19
17
  const typeAnyLines = detectWeakTypes(lines, language);
18
+ const imports = extractImports(lines, language);
20
19
  const fileCyclomaticComplexity = functions.reduce((sum, f) => sum + f.cyclomaticComplexity, 0) || 1;
21
20
  const maxNestingDepth = functions.reduce((max, f) => Math.max(max, f.maxNestingDepth), 0);
22
21
  return {
@@ -28,6 +27,7 @@ export function analyzeStructurally(code, language) {
28
27
  deadCodeLines,
29
28
  deepNestLines,
30
29
  typeAnyLines,
30
+ imports,
31
31
  };
32
32
  }
33
33
  // ─── Brace-Language Function Extraction (Rust, Go, Java, C#) ─────────────────
@@ -161,10 +161,7 @@ function computeComplexityFromLines(lines, language) {
161
161
  for (const line of lines) {
162
162
  // Skip comments
163
163
  const trimmed = line.trim();
164
- if (trimmed.startsWith("//") ||
165
- trimmed.startsWith("#") ||
166
- trimmed.startsWith("*") ||
167
- trimmed.startsWith("/*"))
164
+ if (trimmed.startsWith("//") || trimmed.startsWith("#") || trimmed.startsWith("*") || trimmed.startsWith("/*"))
168
165
  continue;
169
166
  // Reset lastIndex for global regex
170
167
  pattern.lastIndex = 0;
@@ -179,7 +176,7 @@ function computeComplexityFromLines(lines, language) {
179
176
  function computeNestingFromLines(lines, isPython) {
180
177
  if (isPython) {
181
178
  // Track indent levels as nesting
182
- const baseIndent = (lines[0]?.search(/\S/) ?? 0);
179
+ const baseIndent = lines[0]?.search(/\S/) ?? 0;
183
180
  let maxDepth = 0;
184
181
  for (const line of lines) {
185
182
  if (line.trim() === "" || line.trim().startsWith("#"))
@@ -321,9 +318,7 @@ function detectWeakTypes(lines, language) {
321
318
  return weakLines;
322
319
  for (let i = 0; i < lines.length; i++) {
323
320
  const trimmed = lines[i].trim();
324
- if (trimmed.startsWith("//") ||
325
- trimmed.startsWith("#") ||
326
- trimmed.startsWith("/*"))
321
+ if (trimmed.startsWith("//") || trimmed.startsWith("#") || trimmed.startsWith("/*"))
327
322
  continue;
328
323
  if (pattern.test(lines[i])) {
329
324
  weakLines.push(i + 1);
@@ -331,4 +326,64 @@ function detectWeakTypes(lines, language) {
331
326
  }
332
327
  return weakLines;
333
328
  }
329
+ // ─── Import Extraction ───────────────────────────────────────────────────────
330
+ /**
331
+ * Extract imported module/package names from source code.
332
+ * Handles import syntax for Python, Go, Java, C#, and Rust.
333
+ */
334
+ function extractImports(lines, language) {
335
+ const imports = [];
336
+ const patterns = {
337
+ python: [
338
+ /^\s*import\s+([\w.]+)/, // import os, import os.path
339
+ /^\s*from\s+([\w.]+)\s+import/, // from flask import Flask
340
+ ],
341
+ go: [
342
+ /^\s*import\s+"([^"]+)"/, // import "fmt"
343
+ /^\s*"([^"]+)"\s*$/, // inside import ( ... ) block
344
+ ],
345
+ java: [
346
+ /^\s*import\s+(?:static\s+)?([\w.]+)/, // import com.example.Foo
347
+ ],
348
+ csharp: [
349
+ /^\s*using\s+([\w.]+)\s*;/, // using System.IO;
350
+ ],
351
+ rust: [
352
+ /^\s*use\s+([\w:]+)/, // use std::io
353
+ /^\s*extern\s+crate\s+(\w+)/, // extern crate serde
354
+ ],
355
+ };
356
+ const langPatterns = patterns[language];
357
+ if (!langPatterns)
358
+ return imports;
359
+ let inGoImportBlock = false;
360
+ for (const line of lines) {
361
+ const trimmed = line.trim();
362
+ // Handle Go multi-line import blocks: import ( ... )
363
+ if (language === "go") {
364
+ if (/^\s*import\s*\(\s*$/.test(line)) {
365
+ inGoImportBlock = true;
366
+ continue;
367
+ }
368
+ if (inGoImportBlock) {
369
+ if (trimmed === ")") {
370
+ inGoImportBlock = false;
371
+ continue;
372
+ }
373
+ const m = trimmed.match(/^"([^"]+)"$/);
374
+ if (m)
375
+ imports.push(m[1]);
376
+ continue;
377
+ }
378
+ }
379
+ for (const pattern of langPatterns) {
380
+ const match = line.match(pattern);
381
+ if (match) {
382
+ imports.push(match[1]);
383
+ break;
384
+ }
385
+ }
386
+ }
387
+ return imports;
388
+ }
334
389
  //# sourceMappingURL=structural-parser.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"structural-parser.js","sourceRoot":"","sources":["../../src/ast/structural-parser.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAChF,4EAA4E;AAC5E,gFAAgF;AAChF,4EAA4E;AAC5E,wEAAwE;AACxE,sEAAsE;AACtE,sEAAsE;AACtE,gFAAgF;AAIhF,gFAAgF;AAEhF,MAAM,UAAU,mBAAmB,CACjC,IAAY,EACZ,QAAgB;IAEhB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC/B,MAAM,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC;IAEhC,MAAM,QAAQ,GAAG,QAAQ,KAAK,QAAQ,CAAC;IACvC,MAAM,SAAS,GAAG,QAAQ;QACxB,CAAC,CAAC,sBAAsB,CAAC,KAAK,CAAC;QAC/B,CAAC,CAAC,qBAAqB,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IAE3C,MAAM,aAAa,GAAG,cAAc,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IACtD,MAAM,aAAa,GAAG,iBAAiB,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IACzD,MAAM,YAAY,GAAG,eAAe,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IAEtD,MAAM,wBAAwB,GAC5B,SAAS,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,oBAAoB,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;IACrE,MAAM,eAAe,GAAG,SAAS,CAAC,MAAM,CACtC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,eAAe,CAAC,EAC5C,CAAC,CACF,CAAC;IAEF,OAAO;QACL,QAAQ;QACR,UAAU;QACV,SAAS;QACT,wBAAwB;QACxB,eAAe;QACf,aAAa;QACb,aAAa;QACb,YAAY;KACb,CAAC;AACJ,CAAC;AAED,gFAAgF;AAEhF,mEAAmE;AACnE,MAAM,aAAa,GAA2B;IAC5C,IAAI,EAAE,qEAAqE;IAC3E,EAAE,EAAE,iDAAiD;IACrD,IAAI,EAAE,mHAAmH;IACzH,MAAM,EAAE,yIAAyI;CAClJ,CAAC;AAEF,SAAS,qBAAqB,CAC5B,KAAe,EACf,QAAgB;IAEhB,MAAM,OAAO,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAC;IACxC,IAAI,CAAC,OAAO;QAAE,OAAO,EAAE,CAAC;IAExB,MAAM,SAAS,GAAmB,EAAE,CAAC;IACrC,IAAI,CAAC,GAAG,CAAC,CAAC;IAEV,OAAO,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;QACxB,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACtC,IAAI,KAAK,EAAE,CAAC;YACV,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YACtB,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YAC/B,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC;YACtE,MAAM,SAAS,GAAG,CAAC,GAAG,CAAC,CAAC;YAExB,uDAAuD;YACvD,IAAI,UAAU,GAAG,CAAC,CAAC;YACnB,OAAO,UAAU,GAAG,KAAK,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;gBACrE,UAAU,EAAE,CAAC;YACf,CAAC;YACD,IAAI,UAAU,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;gBAC/B,CAAC,EAAE,CAAC;gBACJ,SAAS;YACX,CAAC;YAED,6CAA6C;YAC7C,IAAI,KAAK,GAAG,CAAC,CAAC;YACd,IAAI,MAAM,GAAG,UAAU,CAAC;YACxB,KAAK,IAAI,CAAC,GAAG,UAAU,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC/C,KAAK,MAAM,EAAE,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC1B,IAAI,EAAE,KAAK,GAAG;wBAAE,KAAK,EAAE,CAAC;oBACxB,IAAI,EAAE,KAAK,GAAG;wBAAE,KAAK,EAAE,CAAC;gBAC1B,CAAC;gBACD,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;oBACf,MAAM,GAAG,CAAC,CAAC;oBACX,MAAM;gBACR,CAAC;YACH,CAAC;YAED,MAAM,OAAO,GAAG,MAAM,GAAG,CAAC,CAAC;YAC3B,MAAM,SAAS,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC,CAAC;YAC7C,MAAM,UAAU,GAAG,0BAA0B,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;YACnE,MAAM,UAAU,GAAG,uBAAuB,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;YAE7D,SAAS,CAAC,IAAI,CAAC;gBACb,IAAI;gBACJ,SAAS;gBACT,OAAO;gBACP,SAAS,EAAE,OAAO,GAAG,SAAS,GAAG,CAAC;gBAClC,cAAc,EAAE,UAAU;gBAC1B,oBAAoB,EAAE,UAAU;gBAChC,eAAe,EAAE,UAAU;aAC5B,CAAC,CAAC;YAEH,CAAC,GAAG,MAAM,GAAG,CAAC,CAAC;QACjB,CAAC;aAAM,CAAC;YACN,CAAC,EAAE,CAAC;QACN,CAAC;IACH,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,+EAA+E;AAE/E,MAAM,WAAW,GACf,8EAA8E,CAAC;AAEjF,SAAS,sBAAsB,CAAC,KAAe;IAC7C,MAAM,SAAS,GAAmB,EAAE,CAAC;IAErC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACtC,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QAC1C,IAAI,CAAC,KAAK;YAAE,SAAS;QAErB,MAAM,UAAU,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;QACnC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QACtB,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAC/B,+CAA+C;QAC/C,MAAM,SAAS,GAAG,MAAM;aACrB,KAAK,CAAC,GAAG,CAAC;aACV,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;aACpB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,KAAK,MAAM,IAAI,CAAC,KAAK,KAAK,CAAC,CAAC;QAC9D,MAAM,UAAU,GAAG,SAAS,CAAC,MAAM,CAAC;QACpC,MAAM,SAAS,GAAG,CAAC,GAAG,CAAC,CAAC;QAExB,yEAAyE;QACzE,6CAA6C;QAC7C,IAAI,MAAM,GAAG,CAAC,GAAG,CAAC,CAAC;QACnB,OAAO,MAAM,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;YAC7B,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;YAC3B,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC7C,MAAM,EAAE,CAAC;gBACT,SAAS;YACX,CAAC;YACD,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YACjC,IAAI,MAAM,IAAI,UAAU;gBAAE,MAAM;YAChC,MAAM,EAAE,CAAC;QACX,CAAC;QACD,mDAAmD;QACnD,MAAM,OAAO,GAAG,MAAM,CAAC;QACvB,MAAM,SAAS,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;QACzC,MAAM,UAAU,GAAG,0BAA0B,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;QACnE,MAAM,UAAU,GAAG,uBAAuB,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;QAE5D,SAAS,CAAC,IAAI,CAAC;YACb,IAAI;YACJ,SAAS;YACT,OAAO;YACP,SAAS,EAAE,OAAO,GAAG,SAAS;YAC9B,cAAc,EAAE,UAAU;YAC1B,oBAAoB,EAAE,UAAU;YAChC,eAAe,EAAE,UAAU;SAC5B,CAAC,CAAC;IACL,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,gFAAgF;AAEhF,MAAM,eAAe,GAA2B;IAC9C,MAAM,EACJ,gEAAgE;IAClE,IAAI,EACF,0EAA0E;IAC5E,EAAE,EACA,oDAAoD;IACtD,IAAI,EACF,wDAAwD;IAC1D,MAAM,EACJ,gEAAgE;CACnE,CAAC;AAEF,SAAS,0BAA0B,CACjC,KAAe,EACf,QAAgB;IAEhB,IAAI,UAAU,GAAG,CAAC,CAAC,CAAC,YAAY;IAChC,MAAM,OAAO,GAAG,eAAe,CAAC,QAAQ,CAAC,CAAC;IAC1C,IAAI,CAAC,OAAO;QAAE,OAAO,UAAU,CAAC;IAEhC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,gBAAgB;QAChB,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QAC5B,IACE,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC;YACxB,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC;YACvB,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC;YACvB,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC;YAExB,SAAS;QAEX,mCAAmC;QACnC,OAAO,CAAC,SAAS,GAAG,CAAC,CAAC;QACtB,IAAI,KAAK,CAAC;QACV,OAAO,CAAC,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;YAC7C,UAAU,EAAE,CAAC;QACf,CAAC;IACH,CAAC;IAED,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,gFAAgF;AAEhF,SAAS,uBAAuB,CAC9B,KAAe,EACf,QAAiB;IAEjB,IAAI,QAAQ,EAAE,CAAC;QACb,iCAAiC;QACjC,MAAM,UAAU,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QACjD,IAAI,QAAQ,GAAG,CAAC,CAAC;QACjB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC;gBAAE,SAAS;YAChE,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YACjC,kDAAkD;YAClD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC;YACpD,IAAI,KAAK,GAAG,QAAQ;gBAAE,QAAQ,GAAG,KAAK,CAAC;QACzC,CAAC;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,sBAAsB;IACtB,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,IAAI,QAAQ,GAAG,CAAC,CAAC;IACjB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,KAAK,MAAM,EAAE,IAAI,IAAI,EAAE,CAAC;YACtB,IAAI,EAAE,KAAK,GAAG,EAAE,CAAC;gBACf,KAAK,EAAE,CAAC;gBACR,IAAI,KAAK,GAAG,QAAQ;oBAAE,QAAQ,GAAG,KAAK,CAAC;YACzC,CAAC;YACD,IAAI,EAAE,KAAK,GAAG;gBAAE,KAAK,EAAE,CAAC;QAC1B,CAAC;IACH,CAAC;IACD,2EAA2E;IAC3E,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,GAAG,CAAC,CAAC,CAAC;AACnC,CAAC;AAED,+EAA+E;AAE/E,SAAS,cAAc,CAAC,KAAe,EAAE,QAAgB;IACvD,MAAM,SAAS,GAAa,EAAE,CAAC;IAC/B,MAAM,QAAQ,GAAG,QAAQ,KAAK,QAAQ,CAAC;IAEvC,gDAAgD;IAChD,MAAM,gBAAgB,GAAG,QAAQ;QAC/B,CAAC,CAAC,oDAAoD;QACtD,CAAC,CAAC,4FAA4F,CAAC;IAEjG,+CAA+C;IAC/C,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,IAAI,kBAAkB,GAAG,CAAC,CAAC,CAAC;IAE5B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACtC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QACtB,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QAE5B,6BAA6B;QAC7B,IACE,OAAO,KAAK,EAAE;YACd,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC;YACxB,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC;YACvB,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC;YACxB,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC;YAEvB,SAAS;QAEX,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,oBAAoB;YACpB,KAAK,MAAM,EAAE,IAAI,IAAI,EAAE,CAAC;gBACtB,IAAI,EAAE,KAAK,GAAG;oBAAE,KAAK,EAAE,CAAC;gBACxB,IAAI,EAAE,KAAK,GAAG,EAAE,CAAC;oBACf,IAAI,kBAAkB,KAAK,KAAK,EAAE,CAAC;wBACjC,kBAAkB,GAAG,CAAC,CAAC,CAAC,CAAC,qBAAqB;oBAChD,CAAC;oBACD,KAAK,EAAE,CAAC;gBACV,CAAC;YACH,CAAC;QACH,CAAC;QAED,kDAAkD;QAClD,IAAI,kBAAkB,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,KAAK,IAAI,kBAAkB,CAAC,EAAE,CAAC;YACzE,0CAA0C;YAC1C,IAAI,OAAO,KAAK,GAAG,EAAE,CAAC;gBACpB,+CAA+C;gBAC/C,IAAI,QAAQ,EAAE,CAAC;oBACb,uCAAuC;oBACvC,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;oBACjC,IAAI,MAAM,IAAI,CAAC,kBAAkB,GAAG,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;wBAC3C,kBAAkB,GAAG,CAAC,CAAC,CAAC;wBACxB,SAAS;oBACX,CAAC;gBACH,CAAC;gBACD,SAAS,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YACxB,CAAC;YACD,SAAS;QACX,CAAC;QAED,6CAA6C;QAC7C,IAAI,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;YACnC,IAAI,QAAQ,EAAE,CAAC;gBACb,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;gBACjC,kBAAkB,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;YAClD,CAAC;iBAAM,CAAC;gBACN,kBAAkB,GAAG,KAAK,CAAC;YAC7B,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,+EAA+E;AAE/E,SAAS,iBAAiB,CACxB,KAAe,EACf,QAAiB;IAEjB,MAAM,SAAS,GAAa,EAAE,CAAC;IAE/B,IAAI,QAAQ,EAAE,CAAC;QACb,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACtC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YACtB,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC;gBAAE,SAAS;YAChE,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YACjC,IAAI,MAAM,IAAI,EAAE,EAAE,CAAC;gBACjB,4CAA4C;gBAC5C,SAAS,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YACxB,CAAC;QACH,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,uBAAuB;IACvB,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACtC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QACtB,KAAK,MAAM,EAAE,IAAI,IAAI,EAAE,CAAC;YACtB,IAAI,EAAE,KAAK,GAAG;gBAAE,KAAK,EAAE,CAAC;YACxB,IAAI,EAAE,KAAK,GAAG;gBAAE,KAAK,EAAE,CAAC;QAC1B,CAAC;QACD,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QAC5B,IAAI,KAAK,GAAG,CAAC,IAAI,OAAO,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YAC7D,SAAS,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QACxB,CAAC;IACH,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,+EAA+E;AAE/E,SAAS,eAAe,CAAC,KAAe,EAAE,QAAgB;IACxD,MAAM,SAAS,GAAa,EAAE,CAAC;IAE/B,MAAM,QAAQ,GAA2B;QACvC,MAAM,EAAE,qCAAqC;QAC7C,IAAI,EAAE,qCAAqC;QAC3C,EAAE,EAAE,+BAA+B;QACnC,IAAI,EAAE,sCAAsC;QAC5C,MAAM,EAAE,wBAAwB;KACjC,CAAC;IAEF,MAAM,OAAO,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC;IACnC,IAAI,CAAC,OAAO;QAAE,OAAO,SAAS,CAAC;IAE/B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACtC,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAChC,IACE,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC;YACxB,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC;YACvB,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC;YAExB,SAAS;QACX,IAAI,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAC3B,SAAS,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QACxB,CAAC;IACH,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC"}
1
+ {"version":3,"file":"structural-parser.js","sourceRoot":"","sources":["../../src/ast/structural-parser.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAChF,4EAA4E;AAC5E,gFAAgF;AAChF,4EAA4E;AAC5E,wEAAwE;AACxE,sEAAsE;AACtE,sEAAsE;AACtE,gFAAgF;AAIhF,gFAAgF;AAEhF,MAAM,UAAU,mBAAmB,CAAC,IAAY,EAAE,QAAgB;IAChE,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC/B,MAAM,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC;IAEhC,MAAM,QAAQ,GAAG,QAAQ,KAAK,QAAQ,CAAC;IACvC,MAAM,SAAS,GAAG,QAAQ,CAAC,CAAC,CAAC,sBAAsB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,qBAAqB,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IAEpG,MAAM,aAAa,GAAG,cAAc,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IACtD,MAAM,aAAa,GAAG,iBAAiB,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IACzD,MAAM,YAAY,GAAG,eAAe,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IACtD,MAAM,OAAO,GAAG,cAAc,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IAEhD,MAAM,wBAAwB,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,oBAAoB,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;IACpG,MAAM,eAAe,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC,CAAC;IAE1F,OAAO;QACL,QAAQ;QACR,UAAU;QACV,SAAS;QACT,wBAAwB;QACxB,eAAe;QACf,aAAa;QACb,aAAa;QACb,YAAY;QACZ,OAAO;KACR,CAAC;AACJ,CAAC;AAED,gFAAgF;AAEhF,mEAAmE;AACnE,MAAM,aAAa,GAA2B;IAC5C,IAAI,EAAE,qEAAqE;IAC3E,EAAE,EAAE,iDAAiD;IACrD,IAAI,EAAE,mHAAmH;IACzH,MAAM,EACJ,yIAAyI;CAC5I,CAAC;AAEF,SAAS,qBAAqB,CAAC,KAAe,EAAE,QAAgB;IAC9D,MAAM,OAAO,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAC;IACxC,IAAI,CAAC,OAAO;QAAE,OAAO,EAAE,CAAC;IAExB,MAAM,SAAS,GAAmB,EAAE,CAAC;IACrC,IAAI,CAAC,GAAG,CAAC,CAAC;IAEV,OAAO,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;QACxB,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACtC,IAAI,KAAK,EAAE,CAAC;YACV,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YACtB,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YAC/B,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC;YACtE,MAAM,SAAS,GAAG,CAAC,GAAG,CAAC,CAAC;YAExB,uDAAuD;YACvD,IAAI,UAAU,GAAG,CAAC,CAAC;YACnB,OAAO,UAAU,GAAG,KAAK,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;gBACrE,UAAU,EAAE,CAAC;YACf,CAAC;YACD,IAAI,UAAU,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;gBAC/B,CAAC,EAAE,CAAC;gBACJ,SAAS;YACX,CAAC;YAED,6CAA6C;YAC7C,IAAI,KAAK,GAAG,CAAC,CAAC;YACd,IAAI,MAAM,GAAG,UAAU,CAAC;YACxB,KAAK,IAAI,CAAC,GAAG,UAAU,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC/C,KAAK,MAAM,EAAE,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC1B,IAAI,EAAE,KAAK,GAAG;wBAAE,KAAK,EAAE,CAAC;oBACxB,IAAI,EAAE,KAAK,GAAG;wBAAE,KAAK,EAAE,CAAC;gBAC1B,CAAC;gBACD,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;oBACf,MAAM,GAAG,CAAC,CAAC;oBACX,MAAM;gBACR,CAAC;YACH,CAAC;YAED,MAAM,OAAO,GAAG,MAAM,GAAG,CAAC,CAAC;YAC3B,MAAM,SAAS,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC,CAAC;YAC7C,MAAM,UAAU,GAAG,0BAA0B,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;YACnE,MAAM,UAAU,GAAG,uBAAuB,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;YAE7D,SAAS,CAAC,IAAI,CAAC;gBACb,IAAI;gBACJ,SAAS;gBACT,OAAO;gBACP,SAAS,EAAE,OAAO,GAAG,SAAS,GAAG,CAAC;gBAClC,cAAc,EAAE,UAAU;gBAC1B,oBAAoB,EAAE,UAAU;gBAChC,eAAe,EAAE,UAAU;aAC5B,CAAC,CAAC;YAEH,CAAC,GAAG,MAAM,GAAG,CAAC,CAAC;QACjB,CAAC;aAAM,CAAC;YACN,CAAC,EAAE,CAAC;QACN,CAAC;IACH,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,+EAA+E;AAE/E,MAAM,WAAW,GAAG,8EAA8E,CAAC;AAEnG,SAAS,sBAAsB,CAAC,KAAe;IAC7C,MAAM,SAAS,GAAmB,EAAE,CAAC;IAErC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACtC,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QAC1C,IAAI,CAAC,KAAK;YAAE,SAAS;QAErB,MAAM,UAAU,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;QACnC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QACtB,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAC/B,+CAA+C;QAC/C,MAAM,SAAS,GAAG,MAAM;aACrB,KAAK,CAAC,GAAG,CAAC;aACV,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;aACpB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,KAAK,MAAM,IAAI,CAAC,KAAK,KAAK,CAAC,CAAC;QAC9D,MAAM,UAAU,GAAG,SAAS,CAAC,MAAM,CAAC;QACpC,MAAM,SAAS,GAAG,CAAC,GAAG,CAAC,CAAC;QAExB,yEAAyE;QACzE,6CAA6C;QAC7C,IAAI,MAAM,GAAG,CAAC,GAAG,CAAC,CAAC;QACnB,OAAO,MAAM,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;YAC7B,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;YAC3B,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC7C,MAAM,EAAE,CAAC;gBACT,SAAS;YACX,CAAC;YACD,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YACjC,IAAI,MAAM,IAAI,UAAU;gBAAE,MAAM;YAChC,MAAM,EAAE,CAAC;QACX,CAAC;QACD,mDAAmD;QACnD,MAAM,OAAO,GAAG,MAAM,CAAC;QACvB,MAAM,SAAS,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;QACzC,MAAM,UAAU,GAAG,0BAA0B,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;QACnE,MAAM,UAAU,GAAG,uBAAuB,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;QAE5D,SAAS,CAAC,IAAI,CAAC;YACb,IAAI;YACJ,SAAS;YACT,OAAO;YACP,SAAS,EAAE,OAAO,GAAG,SAAS;YAC9B,cAAc,EAAE,UAAU;YAC1B,oBAAoB,EAAE,UAAU;YAChC,eAAe,EAAE,UAAU;SAC5B,CAAC,CAAC;IACL,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,gFAAgF;AAEhF,MAAM,eAAe,GAA2B;IAC9C,MAAM,EAAE,gEAAgE;IACxE,IAAI,EAAE,0EAA0E;IAChF,EAAE,EAAE,oDAAoD;IACxD,IAAI,EAAE,wDAAwD;IAC9D,MAAM,EAAE,gEAAgE;CACzE,CAAC;AAEF,SAAS,0BAA0B,CAAC,KAAe,EAAE,QAAgB;IACnE,IAAI,UAAU,GAAG,CAAC,CAAC,CAAC,YAAY;IAChC,MAAM,OAAO,GAAG,eAAe,CAAC,QAAQ,CAAC,CAAC;IAC1C,IAAI,CAAC,OAAO;QAAE,OAAO,UAAU,CAAC;IAEhC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,gBAAgB;QAChB,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QAC5B,IAAI,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC;YAC5G,SAAS;QAEX,mCAAmC;QACnC,OAAO,CAAC,SAAS,GAAG,CAAC,CAAC;QACtB,IAAI,KAAK,CAAC;QACV,OAAO,CAAC,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;YAC7C,UAAU,EAAE,CAAC;QACf,CAAC;IACH,CAAC;IAED,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,gFAAgF;AAEhF,SAAS,uBAAuB,CAAC,KAAe,EAAE,QAAiB;IACjE,IAAI,QAAQ,EAAE,CAAC;QACb,iCAAiC;QACjC,MAAM,UAAU,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC/C,IAAI,QAAQ,GAAG,CAAC,CAAC;QACjB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC;gBAAE,SAAS;YAChE,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YACjC,kDAAkD;YAClD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC;YACpD,IAAI,KAAK,GAAG,QAAQ;gBAAE,QAAQ,GAAG,KAAK,CAAC;QACzC,CAAC;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,sBAAsB;IACtB,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,IAAI,QAAQ,GAAG,CAAC,CAAC;IACjB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,KAAK,MAAM,EAAE,IAAI,IAAI,EAAE,CAAC;YACtB,IAAI,EAAE,KAAK,GAAG,EAAE,CAAC;gBACf,KAAK,EAAE,CAAC;gBACR,IAAI,KAAK,GAAG,QAAQ;oBAAE,QAAQ,GAAG,KAAK,CAAC;YACzC,CAAC;YACD,IAAI,EAAE,KAAK,GAAG;gBAAE,KAAK,EAAE,CAAC;QAC1B,CAAC;IACH,CAAC;IACD,2EAA2E;IAC3E,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,GAAG,CAAC,CAAC,CAAC;AACnC,CAAC;AAED,+EAA+E;AAE/E,SAAS,cAAc,CAAC,KAAe,EAAE,QAAgB;IACvD,MAAM,SAAS,GAAa,EAAE,CAAC;IAC/B,MAAM,QAAQ,GAAG,QAAQ,KAAK,QAAQ,CAAC;IAEvC,gDAAgD;IAChD,MAAM,gBAAgB,GAAG,QAAQ;QAC/B,CAAC,CAAC,oDAAoD;QACtD,CAAC,CAAC,4FAA4F,CAAC;IAEjG,+CAA+C;IAC/C,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,IAAI,kBAAkB,GAAG,CAAC,CAAC,CAAC;IAE5B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACtC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QACtB,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QAE5B,6BAA6B;QAC7B,IACE,OAAO,KAAK,EAAE;YACd,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC;YACxB,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC;YACvB,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC;YACxB,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC;YAEvB,SAAS;QAEX,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,oBAAoB;YACpB,KAAK,MAAM,EAAE,IAAI,IAAI,EAAE,CAAC;gBACtB,IAAI,EAAE,KAAK,GAAG;oBAAE,KAAK,EAAE,CAAC;gBACxB,IAAI,EAAE,KAAK,GAAG,EAAE,CAAC;oBACf,IAAI,kBAAkB,KAAK,KAAK,EAAE,CAAC;wBACjC,kBAAkB,GAAG,CAAC,CAAC,CAAC,CAAC,qBAAqB;oBAChD,CAAC;oBACD,KAAK,EAAE,CAAC;gBACV,CAAC;YACH,CAAC;QACH,CAAC;QAED,kDAAkD;QAClD,IAAI,kBAAkB,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,KAAK,IAAI,kBAAkB,CAAC,EAAE,CAAC;YACzE,0CAA0C;YAC1C,IAAI,OAAO,KAAK,GAAG,EAAE,CAAC;gBACpB,+CAA+C;gBAC/C,IAAI,QAAQ,EAAE,CAAC;oBACb,uCAAuC;oBACvC,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;oBACjC,IAAI,MAAM,IAAI,CAAC,kBAAkB,GAAG,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;wBAC3C,kBAAkB,GAAG,CAAC,CAAC,CAAC;wBACxB,SAAS;oBACX,CAAC;gBACH,CAAC;gBACD,SAAS,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YACxB,CAAC;YACD,SAAS;QACX,CAAC;QAED,6CAA6C;QAC7C,IAAI,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;YACnC,IAAI,QAAQ,EAAE,CAAC;gBACb,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;gBACjC,kBAAkB,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;YAClD,CAAC;iBAAM,CAAC;gBACN,kBAAkB,GAAG,KAAK,CAAC;YAC7B,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,+EAA+E;AAE/E,SAAS,iBAAiB,CAAC,KAAe,EAAE,QAAiB;IAC3D,MAAM,SAAS,GAAa,EAAE,CAAC;IAE/B,IAAI,QAAQ,EAAE,CAAC;QACb,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACtC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YACtB,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC;gBAAE,SAAS;YAChE,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YACjC,IAAI,MAAM,IAAI,EAAE,EAAE,CAAC;gBACjB,4CAA4C;gBAC5C,SAAS,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YACxB,CAAC;QACH,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,uBAAuB;IACvB,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACtC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QACtB,KAAK,MAAM,EAAE,IAAI,IAAI,EAAE,CAAC;YACtB,IAAI,EAAE,KAAK,GAAG;gBAAE,KAAK,EAAE,CAAC;YACxB,IAAI,EAAE,KAAK,GAAG;gBAAE,KAAK,EAAE,CAAC;QAC1B,CAAC;QACD,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QAC5B,IAAI,KAAK,GAAG,CAAC,IAAI,OAAO,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YAC7D,SAAS,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QACxB,CAAC;IACH,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,+EAA+E;AAE/E,SAAS,eAAe,CAAC,KAAe,EAAE,QAAgB;IACxD,MAAM,SAAS,GAAa,EAAE,CAAC;IAE/B,MAAM,QAAQ,GAA2B;QACvC,MAAM,EAAE,qCAAqC;QAC7C,IAAI,EAAE,qCAAqC;QAC3C,EAAE,EAAE,+BAA+B;QACnC,IAAI,EAAE,sCAAsC;QAC5C,MAAM,EAAE,wBAAwB;KACjC,CAAC;IAEF,MAAM,OAAO,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC;IACnC,IAAI,CAAC,OAAO;QAAE,OAAO,SAAS,CAAC;IAE/B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACtC,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAChC,IAAI,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC;YAAE,SAAS;QAC9F,IAAI,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAC3B,SAAS,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QACxB,CAAC;IACH,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,gFAAgF;AAEhF;;;GAGG;AACH,SAAS,cAAc,CAAC,KAAe,EAAE,QAAgB;IACvD,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,MAAM,QAAQ,GAA6B;QACzC,MAAM,EAAE;YACN,uBAAuB,EAAE,4BAA4B;YACrD,8BAA8B,EAAE,0BAA0B;SAC3D;QACD,EAAE,EAAE;YACF,wBAAwB,EAAE,eAAe;YACzC,mBAAmB,EAAE,8BAA8B;SACpD;QACD,IAAI,EAAE;YACJ,qCAAqC,EAAE,yBAAyB;SACjE;QACD,MAAM,EAAE;YACN,0BAA0B,EAAE,mBAAmB;SAChD;QACD,IAAI,EAAE;YACJ,oBAAoB,EAAE,cAAc;YACpC,4BAA4B,EAAE,qBAAqB;SACpD;KACF,CAAC;IAEF,MAAM,YAAY,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC;IACxC,IAAI,CAAC,YAAY;QAAE,OAAO,OAAO,CAAC;IAElC,IAAI,eAAe,GAAG,KAAK,CAAC;IAC5B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QAE5B,qDAAqD;QACrD,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;YACtB,IAAI,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;gBACrC,eAAe,GAAG,IAAI,CAAC;gBACvB,SAAS;YACX,CAAC;YACD,IAAI,eAAe,EAAE,CAAC;gBACpB,IAAI,OAAO,KAAK,GAAG,EAAE,CAAC;oBACpB,eAAe,GAAG,KAAK,CAAC;oBACxB,SAAS;gBACX,CAAC;gBACD,MAAM,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;gBACvC,IAAI,CAAC;oBAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC1B,SAAS;YACX,CAAC;QACH,CAAC;QAED,KAAK,MAAM,OAAO,IAAI,YAAY,EAAE,CAAC;YACnC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YAClC,IAAI,KAAK,EAAE,CAAC;gBACV,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;gBACvB,MAAM;YACR,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC"}
@@ -0,0 +1,35 @@
1
+ /**
2
+ * A confirmed data-flow path from untrusted input to a dangerous sink.
3
+ */
4
+ export interface TaintFlow {
5
+ /** Where the untrusted data originates */
6
+ source: {
7
+ line: number;
8
+ expression: string;
9
+ kind: TaintSourceKind;
10
+ };
11
+ /** Where the tainted data is consumed unsafely */
12
+ sink: {
13
+ line: number;
14
+ api: string;
15
+ kind: TaintSinkKind;
16
+ };
17
+ /** Variable assignments connecting source to sink */
18
+ intermediates: Array<{
19
+ line: number;
20
+ variable: string;
21
+ }>;
22
+ /** Confidence score — reduced by guard clauses, boosted by direct flows */
23
+ confidence?: number;
24
+ }
25
+ export type TaintSourceKind = "http-param" | "user-input" | "environment" | "url-param" | "external-data";
26
+ export type TaintSinkKind = "code-execution" | "command-exec" | "sql-query" | "xss" | "path-traversal" | "redirect" | "template" | "deserialization";
27
+ /**
28
+ * Analyze a source file for taint flows: paths from untrusted input to
29
+ * dangerous sinks through variable assignments and string concatenation.
30
+ *
31
+ * For JS/TS, uses the TypeScript compiler AST for precise variable tracking.
32
+ * For other languages, falls back to regex-based lightweight analysis.
33
+ */
34
+ export declare function analyzeTaintFlows(code: string, language: string): TaintFlow[];
35
+ //# sourceMappingURL=taint-tracker.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"taint-tracker.d.ts","sourceRoot":"","sources":["../../src/ast/taint-tracker.ts"],"names":[],"mappings":"AAmBA;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB,0CAA0C;IAC1C,MAAM,EAAE;QACN,IAAI,EAAE,MAAM,CAAC;QACb,UAAU,EAAE,MAAM,CAAC;QACnB,IAAI,EAAE,eAAe,CAAC;KACvB,CAAC;IACF,kDAAkD;IAClD,IAAI,EAAE;QACJ,IAAI,EAAE,MAAM,CAAC;QACb,GAAG,EAAE,MAAM,CAAC;QACZ,IAAI,EAAE,aAAa,CAAC;KACrB,CAAC;IACF,qDAAqD;IACrD,aAAa,EAAE,KAAK,CAAC;QACnB,IAAI,EAAE,MAAM,CAAC;QACb,QAAQ,EAAE,MAAM,CAAC;KAClB,CAAC,CAAC;IACH,2EAA2E;IAC3E,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,MAAM,eAAe,GACvB,YAAY,GACZ,YAAY,GACZ,aAAa,GACb,WAAW,GACX,eAAe,CAAC;AAEpB,MAAM,MAAM,aAAa,GACrB,gBAAgB,GAChB,cAAc,GACd,WAAW,GACX,KAAK,GACL,gBAAgB,GAChB,UAAU,GACV,UAAU,GACV,iBAAiB,CAAC;AA+OtB;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,SAAS,EAAE,CAU7E"}