ai-first-cli 1.2.3 → 1.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (467) hide show
  1. package/.github/workflows/publish.yml +4 -1
  2. package/CHANGELOG.md +292 -6
  3. package/README.md +24 -4
  4. package/dist/analyzers/symbols.d.ts.map +1 -1
  5. package/dist/analyzers/symbols.js +9 -7
  6. package/dist/analyzers/symbols.js.map +1 -1
  7. package/dist/analyzers/techStack.d.ts.map +1 -1
  8. package/dist/analyzers/techStack.js +198 -3
  9. package/dist/analyzers/techStack.js.map +1 -1
  10. package/dist/commands/ai-first.d.ts.map +1 -1
  11. package/dist/commands/ai-first.js +14 -13
  12. package/dist/commands/ai-first.js.map +1 -1
  13. package/dist/core/analysis/architectureDetector.d.ts +37 -0
  14. package/dist/core/analysis/architectureDetector.d.ts.map +1 -0
  15. package/dist/core/analysis/architectureDetector.js +316 -0
  16. package/dist/core/analysis/architectureDetector.js.map +1 -0
  17. package/dist/core/analysis/callGraphBuilder.d.ts +37 -0
  18. package/dist/core/analysis/callGraphBuilder.d.ts.map +1 -0
  19. package/dist/core/analysis/callGraphBuilder.js +101 -0
  20. package/dist/core/analysis/callGraphBuilder.js.map +1 -0
  21. package/dist/core/analysis/dependencyAnalyzer.d.ts +45 -0
  22. package/dist/core/analysis/dependencyAnalyzer.d.ts.map +1 -0
  23. package/dist/core/analysis/dependencyAnalyzer.js +98 -0
  24. package/dist/core/analysis/dependencyAnalyzer.js.map +1 -0
  25. package/dist/core/analysis/index.d.ts +5 -0
  26. package/dist/core/analysis/index.d.ts.map +1 -0
  27. package/dist/core/analysis/index.js +5 -0
  28. package/dist/core/analysis/index.js.map +1 -0
  29. package/dist/core/analysis/inheritanceAnalyzer.d.ts +35 -0
  30. package/dist/core/analysis/inheritanceAnalyzer.d.ts.map +1 -0
  31. package/dist/core/analysis/inheritanceAnalyzer.js +115 -0
  32. package/dist/core/analysis/inheritanceAnalyzer.js.map +1 -0
  33. package/dist/core/ccp.d.ts.map +1 -1
  34. package/dist/core/ccp.js +3 -2
  35. package/dist/core/ccp.js.map +1 -1
  36. package/dist/core/generation/aiContextGenerator.d.ts +71 -0
  37. package/dist/core/generation/aiContextGenerator.d.ts.map +1 -0
  38. package/dist/core/generation/aiContextGenerator.js +217 -0
  39. package/dist/core/generation/aiContextGenerator.js.map +1 -0
  40. package/dist/core/generation/architectureGenerator.d.ts +17 -0
  41. package/dist/core/generation/architectureGenerator.d.ts.map +1 -0
  42. package/dist/core/generation/architectureGenerator.js +160 -0
  43. package/dist/core/generation/architectureGenerator.js.map +1 -0
  44. package/dist/core/generation/flowGenerator.d.ts +52 -0
  45. package/dist/core/generation/flowGenerator.d.ts.map +1 -0
  46. package/dist/core/generation/flowGenerator.js +164 -0
  47. package/dist/core/generation/flowGenerator.js.map +1 -0
  48. package/dist/core/generation/index.d.ts +4 -0
  49. package/dist/core/generation/index.d.ts.map +1 -0
  50. package/dist/core/generation/index.js +4 -0
  51. package/dist/core/generation/index.js.map +1 -0
  52. package/dist/core/hierarchyGenerator.d.ts.map +1 -1
  53. package/dist/core/hierarchyGenerator.js +3 -2
  54. package/dist/core/hierarchyGenerator.js.map +1 -1
  55. package/dist/core/parsers/index.d.ts +20 -0
  56. package/dist/core/parsers/index.d.ts.map +1 -0
  57. package/dist/core/parsers/index.js +76 -0
  58. package/dist/core/parsers/index.js.map +1 -0
  59. package/dist/core/parsers/pythonParser.d.ts +37 -0
  60. package/dist/core/parsers/pythonParser.d.ts.map +1 -0
  61. package/dist/core/parsers/pythonParser.js +229 -0
  62. package/dist/core/parsers/pythonParser.js.map +1 -0
  63. package/dist/core/parsers/typescriptParser.d.ts +54 -0
  64. package/dist/core/parsers/typescriptParser.d.ts.map +1 -0
  65. package/dist/core/parsers/typescriptParser.js +291 -0
  66. package/dist/core/parsers/typescriptParser.js.map +1 -0
  67. package/dist/core/pipeline.d.ts +42 -0
  68. package/dist/core/pipeline.d.ts.map +1 -0
  69. package/dist/core/pipeline.js +172 -0
  70. package/dist/core/pipeline.js.map +1 -0
  71. package/dist/core/semanticContexts.js +1 -1
  72. package/dist/core/semanticContexts.js.map +1 -1
  73. package/dist/utils/constants.d.ts +46 -0
  74. package/dist/utils/constants.d.ts.map +1 -0
  75. package/dist/utils/constants.js +67 -0
  76. package/dist/utils/constants.js.map +1 -0
  77. package/package.json +1 -1
  78. package/run-all-tests.sh +184 -0
  79. package/src/analyzers/symbols.ts +12 -7
  80. package/src/analyzers/techStack.ts +203 -3
  81. package/src/commands/ai-first.ts +14 -13
  82. package/src/core/analysis/architectureDetector.ts +487 -0
  83. package/src/core/analysis/callGraphBuilder.ts +158 -0
  84. package/src/core/analysis/dependencyAnalyzer.ts +167 -0
  85. package/src/core/analysis/index.ts +28 -0
  86. package/src/core/analysis/inheritanceAnalyzer.ts +169 -0
  87. package/src/core/ccp.ts +3 -2
  88. package/src/core/generation/aiContextGenerator.ts +335 -0
  89. package/src/core/generation/architectureGenerator.ts +200 -0
  90. package/src/core/generation/flowGenerator.ts +238 -0
  91. package/src/core/generation/index.ts +16 -0
  92. package/src/core/hierarchyGenerator.ts +3 -2
  93. package/src/core/parsers/index.ts +99 -0
  94. package/src/core/parsers/pythonParser.ts +302 -0
  95. package/src/core/parsers/typescriptParser.ts +445 -0
  96. package/src/core/pipeline.ts +241 -0
  97. package/src/core/semanticContexts.ts +1 -1
  98. package/src/utils/constants.ts +78 -0
  99. package/test-ai-context-understanding.sh +21 -0
  100. package/test_adapters.mjs +11 -11
  101. package/tests/analysis.test.ts +283 -0
  102. package/tests/architectureDetector.test.ts +137 -0
  103. package/tests/generation.test.ts +216 -0
  104. package/tests/parserRegistry.test.ts +139 -0
  105. package/tests/pipeline.integration.test.ts +245 -0
  106. package/tests/pythonParser.test.ts +210 -0
  107. package/tests/typescriptParser.test.ts +197 -0
  108. package/.ai-dev/index.db +0 -0
  109. package/BUGS.md +0 -455
  110. package/PLAN_MEJORAS.md +0 -216
  111. package/STATUS_ADAPTADORES +0 -126
  112. package/TEST_RESULTS_PHASE1.md +0 -420
  113. package/ai/dependencies.json +0 -15
  114. package/ai/graph/knowledge-graph.json +0 -12
  115. package/ai-context/ai_context.md +0 -130
  116. package/ai-context/ai_rules.md +0 -54
  117. package/ai-context/architecture.md +0 -136
  118. package/ai-context/cache.json +0 -2349
  119. package/ai-context/ccp/jira-123/context.json +0 -7
  120. package/ai-context/context/features/commands.json +0 -18
  121. package/ai-context/context/features/src.json +0 -61
  122. package/ai-context/context/features/test-projects.json +0 -69
  123. package/ai-context/context/flows/account.json +0 -9
  124. package/ai-context/context/flows/ai-first.json +0 -9
  125. package/ai-context/context/flows/api.json +0 -9
  126. package/ai-context/context/flows/auth.json +0 -13
  127. package/ai-context/context/flows/category.json +0 -12
  128. package/ai-context/context/flows/comment.json +0 -16
  129. package/ai-context/context/flows/dashboard.json +0 -9
  130. package/ai-context/context/flows/doctor.json +0 -9
  131. package/ai-context/context/flows/explore.json +0 -9
  132. package/ai-context/context/flows/login.json +0 -9
  133. package/ai-context/context/flows/opportunity.json +0 -9
  134. package/ai-context/context/flows/post.json +0 -18
  135. package/ai-context/context/flows/routes.json +0 -19
  136. package/ai-context/context/flows/user.json +0 -20
  137. package/ai-context/context/flows/users.json +0 -9
  138. package/ai-context/context/flows/views.json +0 -14
  139. package/ai-context/context/repo.json +0 -56
  140. package/ai-context/context/utils.json +0 -7
  141. package/ai-context/conventions.md +0 -53
  142. package/ai-context/dependencies.json +0 -2978
  143. package/ai-context/embeddings.json +0 -23828
  144. package/ai-context/entrypoints.md +0 -42
  145. package/ai-context/files.json +0 -2944
  146. package/ai-context/git/commit-activity.json +0 -8646
  147. package/ai-context/git/recent-features.json +0 -1
  148. package/ai-context/git/recent-files.json +0 -52
  149. package/ai-context/git/recent-flows.json +0 -1
  150. package/ai-context/graph/knowledge-graph.json +0 -44129
  151. package/ai-context/graph/module-graph.json +0 -866
  152. package/ai-context/graph/symbol-graph.json +0 -200622
  153. package/ai-context/graph/symbol-references.json +0 -6778
  154. package/ai-context/hierarchy.json +0 -20
  155. package/ai-context/index-state.json +0 -4487
  156. package/ai-context/index.db +0 -0
  157. package/ai-context/modules.json +0 -933
  158. package/ai-context/project.json +0 -30
  159. package/ai-context/repo_map.json +0 -9116
  160. package/ai-context/repo_map.md +0 -2061
  161. package/ai-context/schema.json +0 -5
  162. package/ai-context/summary.md +0 -47
  163. package/ai-context/symbols.json +0 -65351
  164. package/ai-context/tech_stack.md +0 -47
  165. package/ai-context/tools.json +0 -10
  166. package/test-projects/django-app/.ai-dev/index.db +0 -0
  167. package/test-projects/django-app/ai-context/ai_context.md +0 -92
  168. package/test-projects/django-app/ai-context/ai_rules.md +0 -47
  169. package/test-projects/django-app/ai-context/architecture.md +0 -57
  170. package/test-projects/django-app/ai-context/cache.json +0 -169
  171. package/test-projects/django-app/ai-context/context/flows/views.json +0 -10
  172. package/test-projects/django-app/ai-context/conventions.md +0 -51
  173. package/test-projects/django-app/ai-context/dependencies.json +0 -312
  174. package/test-projects/django-app/ai-context/entrypoints.md +0 -4
  175. package/test-projects/django-app/ai-context/files.json +0 -209
  176. package/test-projects/django-app/ai-context/graph/knowledge-graph.json +0 -36
  177. package/test-projects/django-app/ai-context/graph/module-graph.json +0 -145
  178. package/test-projects/django-app/ai-context/graph/symbol-graph.json +0 -1488
  179. package/test-projects/django-app/ai-context/graph/symbol-references.json +0 -1
  180. package/test-projects/django-app/ai-context/index-state.json +0 -294
  181. package/test-projects/django-app/ai-context/index.db +0 -0
  182. package/test-projects/django-app/ai-context/modules.json +0 -35
  183. package/test-projects/django-app/ai-context/project.json +0 -11
  184. package/test-projects/django-app/ai-context/repo_map.json +0 -412
  185. package/test-projects/django-app/ai-context/repo_map.md +0 -105
  186. package/test-projects/django-app/ai-context/schema.json +0 -5
  187. package/test-projects/django-app/ai-context/summary.md +0 -15
  188. package/test-projects/django-app/ai-context/symbols.json +0 -1
  189. package/test-projects/django-app/ai-context/tech_stack.md +0 -32
  190. package/test-projects/django-app/ai-context/tools.json +0 -10
  191. package/test-projects/express-api/ai-context/ai_context.md +0 -112
  192. package/test-projects/express-api/ai-context/ai_rules.md +0 -50
  193. package/test-projects/express-api/ai-context/architecture.md +0 -62
  194. package/test-projects/express-api/ai-context/context/features/controllers.json +0 -13
  195. package/test-projects/express-api/ai-context/context/features/services.json +0 -13
  196. package/test-projects/express-api/ai-context/context/flows/auth.json +0 -12
  197. package/test-projects/express-api/ai-context/context/flows/user.json +0 -13
  198. package/test-projects/express-api/ai-context/conventions.md +0 -51
  199. package/test-projects/express-api/ai-context/dependencies.json +0 -54
  200. package/test-projects/express-api/ai-context/entrypoints.md +0 -17
  201. package/test-projects/express-api/ai-context/modules.json +0 -30
  202. package/test-projects/express-api/ai-context/project.json +0 -15
  203. package/test-projects/express-api/ai-context/repo_map.json +0 -100
  204. package/test-projects/express-api/ai-context/repo_map.md +0 -36
  205. package/test-projects/express-api/ai-context/schema.json +0 -5
  206. package/test-projects/express-api/ai-context/summary.md +0 -14
  207. package/test-projects/express-api/ai-context/symbols.json +0 -7
  208. package/test-projects/express-api/ai-context/tech_stack.md +0 -38
  209. package/test-projects/express-api/ai-context/tools.json +0 -10
  210. package/test-projects/fastapi-app/.ai-dev/index.db +0 -0
  211. package/test-projects/fastapi-app/ai-context/ai_context.md +0 -89
  212. package/test-projects/fastapi-app/ai-context/ai_rules.md +0 -47
  213. package/test-projects/fastapi-app/ai-context/architecture.md +0 -39
  214. package/test-projects/fastapi-app/ai-context/cache.json +0 -125
  215. package/test-projects/fastapi-app/ai-context/conventions.md +0 -51
  216. package/test-projects/fastapi-app/ai-context/dependencies.json +0 -244
  217. package/test-projects/fastapi-app/ai-context/entrypoints.md +0 -4
  218. package/test-projects/fastapi-app/ai-context/files.json +0 -154
  219. package/test-projects/fastapi-app/ai-context/graph/knowledge-graph.json +0 -15
  220. package/test-projects/fastapi-app/ai-context/graph/module-graph.json +0 -78
  221. package/test-projects/fastapi-app/ai-context/graph/symbol-graph.json +0 -1724
  222. package/test-projects/fastapi-app/ai-context/graph/symbol-references.json +0 -51
  223. package/test-projects/fastapi-app/ai-context/index-state.json +0 -217
  224. package/test-projects/fastapi-app/ai-context/index.db +0 -0
  225. package/test-projects/fastapi-app/ai-context/modules.json +0 -16
  226. package/test-projects/fastapi-app/ai-context/project.json +0 -9
  227. package/test-projects/fastapi-app/ai-context/repo_map.json +0 -298
  228. package/test-projects/fastapi-app/ai-context/repo_map.md +0 -74
  229. package/test-projects/fastapi-app/ai-context/schema.json +0 -5
  230. package/test-projects/fastapi-app/ai-context/summary.md +0 -12
  231. package/test-projects/fastapi-app/ai-context/symbols.json +0 -1
  232. package/test-projects/fastapi-app/ai-context/tech_stack.md +0 -32
  233. package/test-projects/fastapi-app/ai-context/tools.json +0 -10
  234. package/test-projects/flask-app/.ai-dev/index.db +0 -0
  235. package/test-projects/flask-app/ai-context/ai_context.md +0 -94
  236. package/test-projects/flask-app/ai-context/ai_rules.md +0 -47
  237. package/test-projects/flask-app/ai-context/architecture.md +0 -49
  238. package/test-projects/flask-app/ai-context/cache.json +0 -157
  239. package/test-projects/flask-app/ai-context/context/features/app.json +0 -25
  240. package/test-projects/flask-app/ai-context/context/flows/routes.json +0 -14
  241. package/test-projects/flask-app/ai-context/conventions.md +0 -51
  242. package/test-projects/flask-app/ai-context/dependencies.json +0 -298
  243. package/test-projects/flask-app/ai-context/entrypoints.md +0 -4
  244. package/test-projects/flask-app/ai-context/files.json +0 -194
  245. package/test-projects/flask-app/ai-context/graph/knowledge-graph.json +0 -60
  246. package/test-projects/flask-app/ai-context/graph/module-graph.json +0 -95
  247. package/test-projects/flask-app/ai-context/graph/symbol-graph.json +0 -1448
  248. package/test-projects/flask-app/ai-context/graph/symbol-references.json +0 -45
  249. package/test-projects/flask-app/ai-context/index-state.json +0 -273
  250. package/test-projects/flask-app/ai-context/index.db +0 -0
  251. package/test-projects/flask-app/ai-context/modules.json +0 -21
  252. package/test-projects/flask-app/ai-context/project.json +0 -13
  253. package/test-projects/flask-app/ai-context/repo_map.json +0 -400
  254. package/test-projects/flask-app/ai-context/repo_map.md +0 -98
  255. package/test-projects/flask-app/ai-context/schema.json +0 -5
  256. package/test-projects/flask-app/ai-context/summary.md +0 -13
  257. package/test-projects/flask-app/ai-context/symbols.json +0 -1
  258. package/test-projects/flask-app/ai-context/tech_stack.md +0 -32
  259. package/test-projects/flask-app/ai-context/tools.json +0 -10
  260. package/test-projects/laravel-app/.ai-dev/index.db +0 -0
  261. package/test-projects/laravel-app/ai-context/ai_context.md +0 -97
  262. package/test-projects/laravel-app/ai-context/ai_rules.md +0 -47
  263. package/test-projects/laravel-app/ai-context/architecture.md +0 -60
  264. package/test-projects/laravel-app/ai-context/cache.json +0 -161
  265. package/test-projects/laravel-app/ai-context/context/features/app.json +0 -21
  266. package/test-projects/laravel-app/ai-context/context/flows/.json +0 -9
  267. package/test-projects/laravel-app/ai-context/context/flows/category.json +0 -12
  268. package/test-projects/laravel-app/ai-context/context/flows/comment.json +0 -12
  269. package/test-projects/laravel-app/ai-context/context/flows/post.json +0 -12
  270. package/test-projects/laravel-app/ai-context/context/flows/unnamed.json +0 -9
  271. package/test-projects/laravel-app/ai-context/conventions.md +0 -51
  272. package/test-projects/laravel-app/ai-context/dependencies.json +0 -6
  273. package/test-projects/laravel-app/ai-context/entrypoints.md +0 -4
  274. package/test-projects/laravel-app/ai-context/files.json +0 -199
  275. package/test-projects/laravel-app/ai-context/graph/knowledge-graph.json +0 -98
  276. package/test-projects/laravel-app/ai-context/graph/module-graph.json +0 -30
  277. package/test-projects/laravel-app/ai-context/graph/symbol-graph.json +0 -5
  278. package/test-projects/laravel-app/ai-context/graph/symbol-references.json +0 -1
  279. package/test-projects/laravel-app/ai-context/index-state.json +0 -280
  280. package/test-projects/laravel-app/ai-context/index.db +0 -0
  281. package/test-projects/laravel-app/ai-context/modules.json +0 -29
  282. package/test-projects/laravel-app/ai-context/project.json +0 -17
  283. package/test-projects/laravel-app/ai-context/repo_map.json +0 -419
  284. package/test-projects/laravel-app/ai-context/repo_map.md +0 -106
  285. package/test-projects/laravel-app/ai-context/schema.json +0 -5
  286. package/test-projects/laravel-app/ai-context/summary.md +0 -15
  287. package/test-projects/laravel-app/ai-context/symbols.json +0 -1
  288. package/test-projects/laravel-app/ai-context/tech_stack.md +0 -34
  289. package/test-projects/laravel-app/ai-context/tools.json +0 -10
  290. package/test-projects/nestjs-backend/.ai-dev/index.db +0 -0
  291. package/test-projects/nestjs-backend/ai-context/ai_context.md +0 -111
  292. package/test-projects/nestjs-backend/ai-context/ai_rules.md +0 -52
  293. package/test-projects/nestjs-backend/ai-context/architecture.md +0 -49
  294. package/test-projects/nestjs-backend/ai-context/cache.json +0 -169
  295. package/test-projects/nestjs-backend/ai-context/context/features/src.json +0 -23
  296. package/test-projects/nestjs-backend/ai-context/context/flows/auth.controller.json +0 -14
  297. package/test-projects/nestjs-backend/ai-context/context/flows/auth.json +0 -10
  298. package/test-projects/nestjs-backend/ai-context/context/flows/users..json +0 -10
  299. package/test-projects/nestjs-backend/ai-context/context/flows/users.controller.json +0 -14
  300. package/test-projects/nestjs-backend/ai-context/context/flows/users.json +0 -10
  301. package/test-projects/nestjs-backend/ai-context/conventions.md +0 -52
  302. package/test-projects/nestjs-backend/ai-context/dependencies.json +0 -152
  303. package/test-projects/nestjs-backend/ai-context/entrypoints.md +0 -18
  304. package/test-projects/nestjs-backend/ai-context/files.json +0 -209
  305. package/test-projects/nestjs-backend/ai-context/graph/knowledge-graph.json +0 -132
  306. package/test-projects/nestjs-backend/ai-context/graph/module-graph.json +0 -29
  307. package/test-projects/nestjs-backend/ai-context/graph/symbol-graph.json +0 -304
  308. package/test-projects/nestjs-backend/ai-context/graph/symbol-references.json +0 -5
  309. package/test-projects/nestjs-backend/ai-context/index-state.json +0 -294
  310. package/test-projects/nestjs-backend/ai-context/index.db +0 -0
  311. package/test-projects/nestjs-backend/ai-context/modules.json +0 -19
  312. package/test-projects/nestjs-backend/ai-context/project.json +0 -18
  313. package/test-projects/nestjs-backend/ai-context/repo_map.json +0 -427
  314. package/test-projects/nestjs-backend/ai-context/repo_map.md +0 -104
  315. package/test-projects/nestjs-backend/ai-context/schema.json +0 -5
  316. package/test-projects/nestjs-backend/ai-context/summary.md +0 -13
  317. package/test-projects/nestjs-backend/ai-context/symbols.json +0 -1
  318. package/test-projects/nestjs-backend/ai-context/tech_stack.md +0 -38
  319. package/test-projects/nestjs-backend/ai-context/tools.json +0 -10
  320. package/test-projects/python-cli/.ai-dev/index.db +0 -0
  321. package/test-projects/python-cli/ai-context/ai_context.md +0 -95
  322. package/test-projects/python-cli/ai-context/ai_rules.md +0 -47
  323. package/test-projects/python-cli/ai-context/architecture.md +0 -55
  324. package/test-projects/python-cli/ai-context/cache.json +0 -149
  325. package/test-projects/python-cli/ai-context/context/features/cli.json +0 -16
  326. package/test-projects/python-cli/ai-context/context/flows/list_.json +0 -9
  327. package/test-projects/python-cli/ai-context/context/flows/remove_.json +0 -9
  328. package/test-projects/python-cli/ai-context/conventions.md +0 -51
  329. package/test-projects/python-cli/ai-context/dependencies.json +0 -66
  330. package/test-projects/python-cli/ai-context/entrypoints.md +0 -4
  331. package/test-projects/python-cli/ai-context/files.json +0 -184
  332. package/test-projects/python-cli/ai-context/graph/knowledge-graph.json +0 -83
  333. package/test-projects/python-cli/ai-context/graph/module-graph.json +0 -31
  334. package/test-projects/python-cli/ai-context/graph/symbol-graph.json +0 -358
  335. package/test-projects/python-cli/ai-context/graph/symbol-references.json +0 -11
  336. package/test-projects/python-cli/ai-context/index-state.json +0 -259
  337. package/test-projects/python-cli/ai-context/index.db +0 -0
  338. package/test-projects/python-cli/ai-context/modules.json +0 -21
  339. package/test-projects/python-cli/ai-context/project.json +0 -15
  340. package/test-projects/python-cli/ai-context/repo_map.json +0 -367
  341. package/test-projects/python-cli/ai-context/repo_map.md +0 -93
  342. package/test-projects/python-cli/ai-context/schema.json +0 -5
  343. package/test-projects/python-cli/ai-context/summary.md +0 -14
  344. package/test-projects/python-cli/ai-context/symbols.json +0 -1
  345. package/test-projects/python-cli/ai-context/tech_stack.md +0 -32
  346. package/test-projects/python-cli/ai-context/tools.json +0 -10
  347. package/test-projects/rails-app/.ai-dev/index.db +0 -0
  348. package/test-projects/rails-app/ai-context/ai_context.md +0 -94
  349. package/test-projects/rails-app/ai-context/ai_rules.md +0 -47
  350. package/test-projects/rails-app/ai-context/architecture.md +0 -49
  351. package/test-projects/rails-app/ai-context/cache.json +0 -193
  352. package/test-projects/rails-app/ai-context/context/features/app.json +0 -24
  353. package/test-projects/rails-app/ai-context/context/features/config.json +0 -13
  354. package/test-projects/rails-app/ai-context/context/flows/application.json +0 -9
  355. package/test-projects/rails-app/ai-context/context/flows/application_.json +0 -9
  356. package/test-projects/rails-app/ai-context/context/flows/comments.json +0 -11
  357. package/test-projects/rails-app/ai-context/context/flows/comments_.json +0 -11
  358. package/test-projects/rails-app/ai-context/context/flows/posts.json +0 -11
  359. package/test-projects/rails-app/ai-context/context/flows/posts_.json +0 -11
  360. package/test-projects/rails-app/ai-context/context/flows/routes.json +0 -9
  361. package/test-projects/rails-app/ai-context/context/flows/users.json +0 -11
  362. package/test-projects/rails-app/ai-context/context/flows/users_.json +0 -11
  363. package/test-projects/rails-app/ai-context/conventions.md +0 -51
  364. package/test-projects/rails-app/ai-context/dependencies.json +0 -6
  365. package/test-projects/rails-app/ai-context/entrypoints.md +0 -4
  366. package/test-projects/rails-app/ai-context/files.json +0 -239
  367. package/test-projects/rails-app/ai-context/graph/knowledge-graph.json +0 -130
  368. package/test-projects/rails-app/ai-context/graph/module-graph.json +0 -27
  369. package/test-projects/rails-app/ai-context/graph/symbol-graph.json +0 -5
  370. package/test-projects/rails-app/ai-context/graph/symbol-references.json +0 -1
  371. package/test-projects/rails-app/ai-context/index-state.json +0 -336
  372. package/test-projects/rails-app/ai-context/index.db +0 -0
  373. package/test-projects/rails-app/ai-context/modules.json +0 -26
  374. package/test-projects/rails-app/ai-context/project.json +0 -22
  375. package/test-projects/rails-app/ai-context/repo_map.json +0 -486
  376. package/test-projects/rails-app/ai-context/repo_map.md +0 -117
  377. package/test-projects/rails-app/ai-context/schema.json +0 -5
  378. package/test-projects/rails-app/ai-context/summary.md +0 -13
  379. package/test-projects/rails-app/ai-context/symbols.json +0 -1
  380. package/test-projects/rails-app/ai-context/tech_stack.md +0 -32
  381. package/test-projects/rails-app/ai-context/tools.json +0 -10
  382. package/test-projects/react-app/.ai-dev/index.db +0 -0
  383. package/test-projects/react-app/ai-context/ai_context.md +0 -96
  384. package/test-projects/react-app/ai-context/ai_rules.md +0 -49
  385. package/test-projects/react-app/ai-context/architecture.md +0 -39
  386. package/test-projects/react-app/ai-context/cache.json +0 -153
  387. package/test-projects/react-app/ai-context/context/features/src.json +0 -18
  388. package/test-projects/react-app/ai-context/context/flows/UsersPage.json +0 -14
  389. package/test-projects/react-app/ai-context/context/flows/dashboard.json +0 -9
  390. package/test-projects/react-app/ai-context/context/flows/login.json +0 -9
  391. package/test-projects/react-app/ai-context/context/flows/users.json +0 -9
  392. package/test-projects/react-app/ai-context/conventions.md +0 -52
  393. package/test-projects/react-app/ai-context/dependencies.json +0 -128
  394. package/test-projects/react-app/ai-context/entrypoints.md +0 -4
  395. package/test-projects/react-app/ai-context/files.json +0 -189
  396. package/test-projects/react-app/ai-context/graph/knowledge-graph.json +0 -112
  397. package/test-projects/react-app/ai-context/graph/module-graph.json +0 -31
  398. package/test-projects/react-app/ai-context/graph/symbol-graph.json +0 -868
  399. package/test-projects/react-app/ai-context/graph/symbol-references.json +0 -31
  400. package/test-projects/react-app/ai-context/index-state.json +0 -266
  401. package/test-projects/react-app/ai-context/index.db +0 -0
  402. package/test-projects/react-app/ai-context/modules.json +0 -17
  403. package/test-projects/react-app/ai-context/project.json +0 -16
  404. package/test-projects/react-app/ai-context/repo_map.json +0 -391
  405. package/test-projects/react-app/ai-context/repo_map.md +0 -94
  406. package/test-projects/react-app/ai-context/schema.json +0 -5
  407. package/test-projects/react-app/ai-context/summary.md +0 -13
  408. package/test-projects/react-app/ai-context/symbols.json +0 -1
  409. package/test-projects/react-app/ai-context/tech_stack.md +0 -39
  410. package/test-projects/react-app/ai-context/tools.json +0 -10
  411. package/test-projects/salesforce-cli/.ai-dev/index.db +0 -0
  412. package/test-projects/salesforce-cli/ai-context/ai_context.md +0 -89
  413. package/test-projects/salesforce-cli/ai-context/ai_rules.md +0 -47
  414. package/test-projects/salesforce-cli/ai-context/architecture.md +0 -39
  415. package/test-projects/salesforce-cli/ai-context/cache.json +0 -125
  416. package/test-projects/salesforce-cli/ai-context/context/features/force-app.json +0 -14
  417. package/test-projects/salesforce-cli/ai-context/context/flows/account.json +0 -9
  418. package/test-projects/salesforce-cli/ai-context/context/flows/opportunity.json +0 -9
  419. package/test-projects/salesforce-cli/ai-context/conventions.md +0 -51
  420. package/test-projects/salesforce-cli/ai-context/dependencies.json +0 -6
  421. package/test-projects/salesforce-cli/ai-context/entrypoints.md +0 -4
  422. package/test-projects/salesforce-cli/ai-context/files.json +0 -154
  423. package/test-projects/salesforce-cli/ai-context/graph/knowledge-graph.json +0 -64
  424. package/test-projects/salesforce-cli/ai-context/graph/module-graph.json +0 -13
  425. package/test-projects/salesforce-cli/ai-context/graph/symbol-graph.json +0 -148
  426. package/test-projects/salesforce-cli/ai-context/graph/symbol-references.json +0 -1
  427. package/test-projects/salesforce-cli/ai-context/index-state.json +0 -217
  428. package/test-projects/salesforce-cli/ai-context/index.db +0 -0
  429. package/test-projects/salesforce-cli/ai-context/modules.json +0 -12
  430. package/test-projects/salesforce-cli/ai-context/project.json +0 -14
  431. package/test-projects/salesforce-cli/ai-context/repo_map.json +0 -328
  432. package/test-projects/salesforce-cli/ai-context/repo_map.md +0 -80
  433. package/test-projects/salesforce-cli/ai-context/schema.json +0 -5
  434. package/test-projects/salesforce-cli/ai-context/summary.md +0 -13
  435. package/test-projects/salesforce-cli/ai-context/symbols.json +0 -1
  436. package/test-projects/salesforce-cli/ai-context/tech_stack.md +0 -31
  437. package/test-projects/salesforce-cli/ai-context/tools.json +0 -10
  438. package/test-projects/spring-boot-app/.ai-dev/index.db +0 -0
  439. package/test-projects/spring-boot-app/ai-context/ai_context.md +0 -91
  440. package/test-projects/spring-boot-app/ai-context/ai_rules.md +0 -48
  441. package/test-projects/spring-boot-app/ai-context/architecture.md +0 -39
  442. package/test-projects/spring-boot-app/ai-context/cache.json +0 -173
  443. package/test-projects/spring-boot-app/ai-context/context/features/src.json +0 -26
  444. package/test-projects/spring-boot-app/ai-context/context/flows/PostController.json +0 -19
  445. package/test-projects/spring-boot-app/ai-context/context/flows/UserController.json +0 -19
  446. package/test-projects/spring-boot-app/ai-context/context/flows/comment.json +0 -11
  447. package/test-projects/spring-boot-app/ai-context/context/flows/post.json +0 -14
  448. package/test-projects/spring-boot-app/ai-context/context/flows/user.json +0 -14
  449. package/test-projects/spring-boot-app/ai-context/conventions.md +0 -52
  450. package/test-projects/spring-boot-app/ai-context/dependencies.json +0 -326
  451. package/test-projects/spring-boot-app/ai-context/entrypoints.md +0 -4
  452. package/test-projects/spring-boot-app/ai-context/files.json +0 -214
  453. package/test-projects/spring-boot-app/ai-context/graph/knowledge-graph.json +0 -231
  454. package/test-projects/spring-boot-app/ai-context/graph/module-graph.json +0 -22
  455. package/test-projects/spring-boot-app/ai-context/graph/symbol-graph.json +0 -794
  456. package/test-projects/spring-boot-app/ai-context/graph/symbol-references.json +0 -70
  457. package/test-projects/spring-boot-app/ai-context/index-state.json +0 -301
  458. package/test-projects/spring-boot-app/ai-context/index.db +0 -0
  459. package/test-projects/spring-boot-app/ai-context/modules.json +0 -21
  460. package/test-projects/spring-boot-app/ai-context/project.json +0 -17
  461. package/test-projects/spring-boot-app/ai-context/repo_map.json +0 -461
  462. package/test-projects/spring-boot-app/ai-context/repo_map.md +0 -109
  463. package/test-projects/spring-boot-app/ai-context/schema.json +0 -5
  464. package/test-projects/spring-boot-app/ai-context/summary.md +0 -12
  465. package/test-projects/spring-boot-app/ai-context/symbols.json +0 -1
  466. package/test-projects/spring-boot-app/ai-context/tech_stack.md +0 -32
  467. package/test-projects/spring-boot-app/ai-context/tools.json +0 -10
@@ -0,0 +1,4 @@
1
+ export { AIContextGenerator, aiContextGenerator, type EnrichedContext, } from "./aiContextGenerator.js";
2
+ export { FlowGenerator, flowGenerator, type EnrichedFlow, } from "./flowGenerator.js";
3
+ export { ArchitectureGenerator, architectureGenerator, } from "./architectureGenerator.js";
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/core/generation/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,EAClB,kBAAkB,EAClB,KAAK,eAAe,GACrB,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EACL,aAAa,EACb,aAAa,EACb,KAAK,YAAY,GAClB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EACL,qBAAqB,EACrB,qBAAqB,GACtB,MAAM,4BAA4B,CAAC"}
@@ -0,0 +1,4 @@
1
+ export { AIContextGenerator, aiContextGenerator, } from "./aiContextGenerator.js";
2
+ export { FlowGenerator, flowGenerator, } from "./flowGenerator.js";
3
+ export { ArchitectureGenerator, architectureGenerator, } from "./architectureGenerator.js";
4
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/core/generation/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,EAClB,kBAAkB,GAEnB,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EACL,aAAa,EACb,aAAa,GAEd,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EACL,qBAAqB,EACrB,qBAAqB,GACtB,MAAM,4BAA4B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"hierarchyGenerator.d.ts","sourceRoot":"","sources":["../../src/core/hierarchyGenerator.ts"],"names":[],"mappings":"AAIA;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,WAAW,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC/B;AAmRD;;GAEG;AACH,wBAAsB,iBAAiB,CACrC,OAAO,EAAE,MAAM,EACf,UAAU,GAAE,MAA4B,GACvC,OAAO,CAAC,eAAe,CAAC,CAkF1B"}
1
+ {"version":3,"file":"hierarchyGenerator.d.ts","sourceRoot":"","sources":["../../src/core/hierarchyGenerator.ts"],"names":[],"mappings":"AAKA;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,WAAW,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC/B;AAmRD;;GAEG;AACH,wBAAsB,iBAAiB,CACrC,OAAO,EAAE,MAAM,EACf,UAAU,GAAE,MAAkC,GAC7C,OAAO,CAAC,eAAe,CAAC,CAkF1B"}
@@ -1,6 +1,7 @@
1
1
  import fs from "fs";
2
2
  import path from "path";
3
3
  import { DEFAULT_EXCLUDE_PATTERNS, getAllFiles as scanFiles, getRelativePath } from "../utils/fileUtils.js";
4
+ import { AI_CONTEXT_DIR, getHierarchyPath } from "../utils/constants.js";
4
5
  /**
5
6
  * Detect repository root purpose from README and package metadata
6
7
  */
@@ -251,10 +252,10 @@ function summarizeFile(filePath, content) {
251
252
  /**
252
253
  * Generate hierarchical repository summary
253
254
  */
254
- export async function generateHierarchy(rootDir, outputPath = "ai/hierarchy.json") {
255
+ export async function generateHierarchy(rootDir, outputPath = getHierarchyPath(rootDir)) {
255
256
  try {
256
257
  // Get all files
257
- const allFiles = scanFiles(rootDir, [...DEFAULT_EXCLUDE_PATTERNS, "ai", "node_modules"]);
258
+ const allFiles = scanFiles(rootDir, [...DEFAULT_EXCLUDE_PATTERNS, AI_CONTEXT_DIR, "ai", "node_modules"]);
258
259
  // Get files for analysis
259
260
  const files = [];
260
261
  for (const filePath of allFiles) {
@@ -1 +1 @@
1
- {"version":3,"file":"hierarchyGenerator.js","sourceRoot":"","sources":["../../src/core/hierarchyGenerator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAY,wBAAwB,EAAE,WAAW,IAAI,SAAS,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAqBtH;;GAEG;AACH,SAAS,iBAAiB,CAAC,OAAe;IACxC,qBAAqB;IACrB,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;IACvD,IAAI,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;QAC/B,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC,CAAC;YAC9D,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC;gBACb,OAAO,GAAG,CAAC,IAAI,CAAC;YAClB,CAAC;YACD,IAAI,GAAG,CAAC,WAAW,EAAE,CAAC;gBACpB,OAAO,GAAG,CAAC,WAAW,CAAC;YACzB,CAAC;QACH,CAAC;QAAC,MAAM,CAAC,CAAA,CAAC;IACZ,CAAC;IAED,eAAe;IACf,MAAM,WAAW,GAAG,CAAC,WAAW,EAAE,YAAY,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC;IACvE,KAAK,MAAM,IAAI,IAAI,WAAW,EAAE,CAAC;QAC/B,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QAC5C,IAAI,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;YAC9B,IAAI,CAAC;gBACH,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;gBACrD,gDAAgD;gBAChD,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBAClC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;oBACzB,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;oBAC5B,IAAI,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;wBACxC,gDAAgD;wBAChD,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;oBAC/B,CAAC;oBACD,IAAI,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;wBAC7B,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;oBACxC,CAAC;gBACH,CAAC;YACH,CAAC;YAAC,MAAM,CAAC,CAAA,CAAC;QACZ,CAAC;IACH,CAAC;IAED,sCAAsC;IACtC,MAAM,UAAU,GAAG;QACjB,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,EAAE;QACpC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE;QAC9B,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE;QACjC,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,QAAQ,EAAE;QACxC,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAE,QAAQ,EAAE;QAC5C,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE;QACjC,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,KAAK,EAAE;QACtC,EAAE,IAAI,EAAE,qBAAqB,EAAE,IAAI,EAAE,OAAO,EAAE;QAC9C,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,OAAO,EAAE;QACxC,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE;KACjC,CAAC;IAEF,KAAK,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;QAC7B,MAAM,KAAK,GAAG,EAAE,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QACtC,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,GAAG,CAAC,IAAI,IAAI,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC7E,OAAO,GAAG,GAAG,CAAC,IAAI,UAAU,CAAC;QAC/B,CAAC;IACH,CAAC;IAED,UAAU;IACV,OAAO,YAAY,CAAC;AACtB,CAAC;AAED;;GAEG;AACH,SAAS,oBAAoB,CAAC,UAAkB;IAC9C,MAAM,YAAY,GAA2B;QAC3C,GAAG,EAAE,aAAa;QAClB,GAAG,EAAE,cAAc;QACnB,GAAG,EAAE,kBAAkB;QACvB,IAAI,EAAE,oBAAoB;QAC1B,IAAI,EAAE,kBAAkB;QACxB,KAAK,EAAE,mBAAmB;QAC1B,OAAO,EAAE,gBAAgB;QACzB,MAAM,EAAE,oBAAoB;QAC5B,MAAM,EAAE,gBAAgB;QACxB,UAAU,EAAE,eAAe;QAC3B,KAAK,EAAE,iBAAiB;QACxB,KAAK,EAAE,gBAAgB;QACvB,OAAO,EAAE,kBAAkB;QAC3B,MAAM,EAAE,mBAAmB;QAC3B,MAAM,EAAE,sBAAsB;QAC9B,GAAG,EAAE,eAAe;QACpB,WAAW,EAAE,kBAAkB;QAC/B,QAAQ,EAAE,gBAAgB;QAC1B,MAAM,EAAE,aAAa;QACrB,QAAQ,EAAE,iBAAiB;QAC3B,YAAY,EAAE,mBAAmB;QACjC,UAAU,EAAE,sBAAsB;QAClC,QAAQ,EAAE,gBAAgB;QAC1B,MAAM,EAAE,eAAe;QACvB,OAAO,EAAE,qBAAqB;QAC9B,IAAI,EAAE,eAAe;QACrB,QAAQ,EAAE,UAAU;QACpB,OAAO,EAAE,mBAAmB;QAC5B,KAAK,EAAE,mBAAmB;QAC1B,GAAG,EAAE,oBAAoB;QACzB,GAAG,EAAE,iBAAiB;QACtB,IAAI,EAAE,YAAY;QAClB,KAAK,EAAE,YAAY;QACnB,IAAI,EAAE,qBAAqB;QAC3B,SAAS,EAAE,YAAY;QACvB,GAAG,EAAE,kBAAkB;QACvB,WAAW,EAAE,mBAAmB;QAChC,IAAI,EAAE,YAAY;QAClB,QAAQ,EAAE,eAAe;QACzB,KAAK,EAAE,WAAW;QAClB,IAAI,EAAE,eAAe;QACrB,GAAG,EAAE,eAAe;QACpB,KAAK,EAAE,QAAQ;QACf,QAAQ,EAAE,cAAc;QACxB,IAAI,EAAE,kBAAkB;QACxB,MAAM,EAAE,eAAe;QACvB,MAAM,EAAE,cAAc;QACtB,MAAM,EAAE,aAAa;QACrB,MAAM,EAAE,cAAc;QACtB,MAAM,EAAE,aAAa;QACrB,GAAG,EAAE,YAAY;QACjB,IAAI,EAAE,aAAa;QACnB,MAAM,EAAE,aAAa;QACrB,OAAO,EAAE,sBAAsB;QAC/B,IAAI,EAAE,cAAc;QACpB,QAAQ,EAAE,eAAe;QACzB,KAAK,EAAE,cAAc;QACrB,IAAI,EAAE,oBAAoB;QAC1B,MAAM,EAAE,cAAc;QACtB,QAAQ,EAAE,eAAe;QACzB,YAAY,EAAE,cAAc;QAC5B,MAAM,EAAE,kBAAkB;QAC1B,IAAI,EAAE,YAAY;QAClB,EAAE,EAAE,gBAAgB;QACpB,UAAU,EAAE,qBAAqB;QACjC,KAAK,EAAE,WAAW;QAClB,KAAK,EAAE,WAAW;QAClB,SAAS,EAAE,iBAAiB;QAC5B,SAAS,EAAE,sBAAsB;QACjC,SAAS,EAAE,kBAAkB;KAC9B,CAAC;IAEF,MAAM,KAAK,GAAG,UAAU,CAAC,WAAW,EAAE,CAAC;IACvC,OAAO,YAAY,CAAC,KAAK,CAAC,IAAI,GAAG,UAAU,SAAS,CAAC;AACvD,CAAC;AAED;;GAEG;AACH,SAAS,aAAa,CAAC,QAAgB,EAAE,OAAe;IACtD,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IACzC,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IACnC,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAElC,4BAA4B;IAC5B,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,MAAM,aAAa,GAAG,OAAO,CAAC,QAAQ,CAAC,uBAAuB,CAAC,CAAC;IAChE,KAAK,MAAM,CAAC,IAAI,aAAa,EAAE,CAAC;QAC9B,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAC1B,CAAC;IAED,sCAAsC;IACtC,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC;IACpD,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK,CAAC,iCAAiC,CAAC,IAAI,EAAE,CAAC;IACzE,MAAM,UAAU,GAAG,OAAO,CAAC,KAAK,CAAC,kBAAkB,CAAC,IAAI,EAAE,CAAC;IAE3D,8BAA8B;IAC9B,MAAM,YAAY,GAAG,OAAO,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC;IACzD,IAAI,OAAO,GAAG,EAAE,CAAC;IACjB,IAAI,YAAY,EAAE,CAAC;QACjB,kCAAkC;QAClC,MAAM,SAAS,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QACjD,MAAM,SAAS,GAAG,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;QACpD,IAAI,SAAS,EAAE,CAAC;YACd,OAAO,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAC7C,CAAC;IACH,CAAC;IAED,oBAAoB;IACpB,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,eAAe;IACf,IAAI,OAAO,EAAE,CAAC;QACZ,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACtB,CAAC;IAED,yBAAyB;IACzB,IAAI,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QAC/F,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACrB,CAAC;IAED,IAAI,QAAQ,KAAK,UAAU,IAAI,QAAQ,KAAK,UAAU,EAAE,CAAC;QACvD,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IAC5B,CAAC;IAED,IAAI,QAAQ,KAAK,UAAU,IAAI,QAAQ,KAAK,MAAM,EAAE,CAAC;QACnD,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;IACjC,CAAC;IAED,IAAI,QAAQ,KAAK,cAAc,IAAI,QAAQ,KAAK,WAAW,EAAE,CAAC;QAC5D,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAC1B,CAAC;IAED,IAAI,QAAQ,KAAK,UAAU,IAAI,QAAQ,KAAK,YAAY,EAAE,CAAC;QACzD,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAC1B,CAAC;IAED,IAAI,QAAQ,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;QACpC,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAC3B,CAAC;IAED,IAAI,QAAQ,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;QACpE,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACxB,CAAC;IAED,IAAI,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;QACjC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACxB,CAAC;IAED,IAAI,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC9D,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACtB,CAAC;IAED,IAAI,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;QAC/B,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACvB,CAAC;IAED,mBAAmB;IACnB,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvB,KAAK,CAAC,IAAI,CAAC,QAAQ,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,KAAK,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC1F,CAAC;IAED,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACzB,MAAM,OAAO,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;QACrE,KAAK,CAAC,IAAI,CAAC,WAAW,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAClF,CAAC;IAED,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1B,KAAK,CAAC,IAAI,CAAC,YAAY,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACnG,CAAC;IAED,0CAA0C;IAC1C,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,MAAM,eAAe,GAA2B;YAC9C,EAAE,EAAE,iBAAiB;YACrB,GAAG,EAAE,iBAAiB;YACtB,EAAE,EAAE,iBAAiB;YACrB,GAAG,EAAE,iBAAiB;YACtB,EAAE,EAAE,eAAe;YACnB,EAAE,EAAE,WAAW;YACf,EAAE,EAAE,aAAa;YACjB,IAAI,EAAE,YAAY;YAClB,EAAE,EAAE,WAAW;YACf,EAAE,EAAE,aAAa;YACjB,GAAG,EAAE,YAAY;YACjB,KAAK,EAAE,cAAc;YACrB,EAAE,EAAE,eAAe;YACnB,GAAG,EAAE,YAAY;YACjB,IAAI,EAAE,WAAW;YACjB,IAAI,EAAE,aAAa;YACnB,GAAG,EAAE,aAAa;YAClB,EAAE,EAAE,eAAe;YACnB,GAAG,EAAE,QAAQ;YACb,IAAI,EAAE,aAAa;YACnB,IAAI,EAAE,eAAe;SACtB,CAAC;QACF,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,aAAa,CAAC,CAAC;IAC7D,CAAC;IAED,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACvC,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,OAAe,EACf,aAAqB,mBAAmB;IAExC,IAAI,CAAC;QACH,gBAAgB;QAChB,MAAM,QAAQ,GAAG,SAAS,CAAC,OAAO,EAAE,CAAC,GAAG,wBAAwB,EAAE,IAAI,EAAE,cAAc,CAAC,CAAC,CAAC;QAEzF,yBAAyB;QACzB,MAAM,KAAK,GAA6C,EAAE,CAAC;QAC3D,KAAK,MAAM,QAAQ,IAAI,QAAQ,EAAE,CAAC;YAChC,MAAM,YAAY,GAAG,eAAe,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;YACxD,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,CAAC,CAAC;QAC/C,CAAC;QAED,sBAAsB;QACtB,MAAM,WAAW,GAAG,iBAAiB,CAAC,OAAO,CAAC,CAAC;QAE/C,4BAA4B;QAC5B,MAAM,YAAY,GAAG,IAAI,GAAG,EAAkB,CAAC;QAC/C,MAAM,kBAAkB,GAAG,IAAI,GAAG,EAAkB,CAAC;QAErD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAC3C,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACrB,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;gBACxB,YAAY,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;gBAE9D,iDAAiD;gBACjD,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;oBACpC,kBAAkB,CAAC,GAAG,CAAC,MAAM,EAAE,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAC;gBAC/D,CAAC;YACH,CAAC;QACH,CAAC;QAED,MAAM,OAAO,GAA2B,EAAE,CAAC;QAC3C,KAAK,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,kBAAkB,EAAE,CAAC;YAChD,OAAO,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC;QACzB,CAAC;QAED,kDAAkD;QAClD,MAAM,gBAAgB,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;QACvI,MAAM,cAAc,GAA2B,EAAE,CAAC;QAElD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACpC,IAAI,gBAAgB,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;gBACnC,IAAI,CAAC;oBACH,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;oBACpD,MAAM,OAAO,GAAG,aAAa,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;oBAClD,cAAc,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,OAAO,CAAC;gBAC9C,CAAC;gBAAC,MAAM,CAAC;oBACP,cAAc,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,aAAa,CAAC;gBACpD,CAAC;YACH,CAAC;QACH,CAAC;QAED,0BAA0B;QAC1B,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QAC3C,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;YAC9B,EAAE,CAAC,SAAS,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC/C,CAAC;QAED,MAAM,OAAO,GAAgB;YAC3B,IAAI,EAAE,WAAW;YACjB,OAAO;YACP,KAAK,EAAE,cAAc;SACtB,CAAC;QAEF,eAAe;QACf,EAAE,CAAC,aAAa,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;QAExE,OAAO;YACL,OAAO,EAAE,IAAI;YACb,UAAU;YACV,OAAO;SACR,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO;YACL,OAAO,EAAE,KAAK;YACd,UAAU;YACV,OAAO,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE;YAC7C,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;SAC9D,CAAC;IACJ,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"hierarchyGenerator.js","sourceRoot":"","sources":["../../src/core/hierarchyGenerator.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ import { ParsedFile as ParsedTSFile } from "./typescriptParser.js";
2
+ import { ParsedPythonFile } from "./pythonParser.js";
3
+ import type { Symbol as CodeSymbol } from "../../analyzers/symbols.js";
4
+ export type ParsedResult = ParsedTSFile | ParsedPythonFile;
5
+ export interface BaseParser {
6
+ parseFile(filePath: string, sourceText: string): ParsedResult;
7
+ }
8
+ export declare class ParserRegistry {
9
+ private parsers;
10
+ constructor();
11
+ private registerParsers;
12
+ getParser(extension: string): BaseParser | undefined;
13
+ hasParser(extension: string): boolean;
14
+ getSupportedExtensions(): string[];
15
+ parse(filePath: string, sourceText: string, extension?: string): ParsedResult | null;
16
+ private getExtension;
17
+ }
18
+ export declare const parserRegistry: ParserRegistry;
19
+ export declare function createSymbolFromParsed(parsed: ParsedResult, filePath: string): CodeSymbol[];
20
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/core/parsers/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoB,UAAU,IAAI,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrF,OAAO,EAAgB,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACnE,OAAO,KAAK,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAEvE,MAAM,MAAM,YAAY,GAAG,YAAY,GAAG,gBAAgB,CAAC;AAE3D,MAAM,WAAW,UAAU;IACzB,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,YAAY,CAAC;CAC/D;AAED,qBAAa,cAAc;IACzB,OAAO,CAAC,OAAO,CAAsC;;IAMrD,OAAO,CAAC,eAAe;IAYvB,SAAS,CAAC,SAAS,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS;IAIpD,SAAS,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO;IAIrC,sBAAsB,IAAI,MAAM,EAAE;IAIlC,KAAK,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,YAAY,GAAG,IAAI;IAepF,OAAO,CAAC,YAAY;CAKrB;AAED,eAAO,MAAM,cAAc,gBAAuB,CAAC;AAEnD,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,YAAY,EACpB,QAAQ,EAAE,MAAM,GACf,UAAU,EAAE,CA8Bd"}
@@ -0,0 +1,76 @@
1
+ import { typescriptParser } from "./typescriptParser.js";
2
+ import { pythonParser } from "./pythonParser.js";
3
+ export class ParserRegistry {
4
+ parsers = new Map();
5
+ constructor() {
6
+ this.registerParsers();
7
+ }
8
+ registerParsers() {
9
+ this.parsers.set(".ts", typescriptParser);
10
+ this.parsers.set(".tsx", typescriptParser);
11
+ this.parsers.set(".js", typescriptParser);
12
+ this.parsers.set(".jsx", typescriptParser);
13
+ this.parsers.set(".mjs", typescriptParser);
14
+ this.parsers.set(".cjs", typescriptParser);
15
+ this.parsers.set(".py", pythonParser);
16
+ this.parsers.set(".pyw", pythonParser);
17
+ }
18
+ getParser(extension) {
19
+ return this.parsers.get(extension.toLowerCase());
20
+ }
21
+ hasParser(extension) {
22
+ return this.parsers.has(extension.toLowerCase());
23
+ }
24
+ getSupportedExtensions() {
25
+ return Array.from(this.parsers.keys());
26
+ }
27
+ parse(filePath, sourceText, extension) {
28
+ const ext = extension || this.getExtension(filePath);
29
+ const parser = this.getParser(ext);
30
+ if (!parser) {
31
+ return null;
32
+ }
33
+ try {
34
+ return parser.parseFile(filePath, sourceText);
35
+ }
36
+ catch {
37
+ return null;
38
+ }
39
+ }
40
+ getExtension(filePath) {
41
+ const lastDot = filePath.lastIndexOf(".");
42
+ if (lastDot === -1)
43
+ return "";
44
+ return filePath.slice(lastDot);
45
+ }
46
+ }
47
+ export const parserRegistry = new ParserRegistry();
48
+ export function createSymbolFromParsed(parsed, filePath) {
49
+ const symbols = [];
50
+ if ("symbols" in parsed) {
51
+ for (const sym of parsed.symbols) {
52
+ symbols.push({
53
+ id: `${filePath}#${sym.name}`,
54
+ name: sym.name,
55
+ type: sym.type,
56
+ file: filePath,
57
+ line: sym.line,
58
+ export: sym.isExported ?? false,
59
+ });
60
+ if ('members' in sym && sym.members) {
61
+ for (const member of sym.members) {
62
+ symbols.push({
63
+ id: `${filePath}#${sym.name}.${member.name}`,
64
+ name: `${sym.name}.${member.name}`,
65
+ type: member.type,
66
+ file: filePath,
67
+ line: member.line,
68
+ export: false,
69
+ });
70
+ }
71
+ }
72
+ }
73
+ }
74
+ return symbols;
75
+ }
76
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/core/parsers/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,37 @@
1
+ export interface PythonSymbol {
2
+ name: string;
3
+ type: "class" | "function" | "method" | "variable" | "import";
4
+ line: number;
5
+ decorators?: string[];
6
+ parameters?: {
7
+ name: string;
8
+ type?: string;
9
+ default?: string;
10
+ }[];
11
+ inheritance?: string[];
12
+ docstring?: string;
13
+ isAsync?: boolean;
14
+ isExported?: boolean;
15
+ }
16
+ export interface ParsedPythonFile {
17
+ filePath: string;
18
+ symbols: PythonSymbol[];
19
+ imports: {
20
+ module: string;
21
+ names?: string[];
22
+ alias?: string;
23
+ isFromImport: boolean;
24
+ }[];
25
+ }
26
+ export declare class PythonParser {
27
+ parseFile(filePath: string, sourceText: string): ParsedPythonFile;
28
+ private parseImport;
29
+ private parseClass;
30
+ private parseFunction;
31
+ private parseParameters;
32
+ private extractDocstring;
33
+ private findClassEnd;
34
+ private isMethodOfClass;
35
+ }
36
+ export declare const pythonParser: PythonParser;
37
+ //# sourceMappingURL=pythonParser.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pythonParser.d.ts","sourceRoot":"","sources":["../../../src/core/parsers/pythonParser.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,OAAO,GAAG,UAAU,GAAG,QAAQ,GAAG,UAAU,GAAG,QAAQ,CAAC;IAC9D,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,UAAU,CAAC,EAAE;QACX,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,EAAE,CAAC;IACJ,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,YAAY,EAAE,CAAC;IACxB,OAAO,EAAE;QACP,MAAM,EAAE,MAAM,CAAC;QACf,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;QACjB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,YAAY,EAAE,OAAO,CAAC;KACvB,EAAE,CAAC;CACL;AAED,qBAAa,YAAY;IACvB,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,gBAAgB;IA0GjE,OAAO,CAAC,WAAW;IAuBnB,OAAO,CAAC,UAAU;IA2BlB,OAAO,CAAC,aAAa;IA0BrB,OAAO,CAAC,eAAe;IA4BvB,OAAO,CAAC,gBAAgB;IAwBxB,OAAO,CAAC,YAAY;IA6BpB,OAAO,CAAC,eAAe;CAQxB;AAED,eAAO,MAAM,YAAY,cAAqB,CAAC"}
@@ -0,0 +1,229 @@
1
+ export class PythonParser {
2
+ parseFile(filePath, sourceText) {
3
+ const lines = sourceText.split("\n");
4
+ const symbols = [];
5
+ const imports = [];
6
+ let currentClass = null;
7
+ let i = 0;
8
+ while (i < lines.length) {
9
+ const line = lines[i];
10
+ const trimmedLine = line.trim();
11
+ const lineNumber = i + 1;
12
+ // Skip empty lines and comments
13
+ if (!trimmedLine || trimmedLine.startsWith("#")) {
14
+ i++;
15
+ continue;
16
+ }
17
+ // Parse imports
18
+ if (trimmedLine.startsWith("import ") || trimmedLine.startsWith("from ")) {
19
+ const importInfo = this.parseImport(trimmedLine);
20
+ if (importInfo) {
21
+ imports.push(importInfo);
22
+ }
23
+ i++;
24
+ continue;
25
+ }
26
+ // Check for decorators
27
+ const decorators = [];
28
+ let j = i;
29
+ while (j < lines.length && lines[j].trim().startsWith("@")) {
30
+ decorators.push(lines[j].trim().substring(1).split("(")[0]);
31
+ j++;
32
+ }
33
+ if (decorators.length > 0) {
34
+ i = j;
35
+ const nextLine = lines[i]?.trim() || "";
36
+ // Class with decorators
37
+ if (nextLine.startsWith("class ")) {
38
+ const classSymbol = this.parseClass(nextLine, lineNumber, decorators, lines, i);
39
+ if (classSymbol) {
40
+ symbols.push(classSymbol);
41
+ currentClass = classSymbol;
42
+ }
43
+ i = this.findClassEnd(lines, i);
44
+ continue;
45
+ }
46
+ // Function with decorators
47
+ if (nextLine.startsWith("def ") || nextLine.startsWith("async def ")) {
48
+ const funcSymbol = this.parseFunction(nextLine, lineNumber, decorators);
49
+ if (funcSymbol) {
50
+ if (currentClass && this.isMethodOfClass(funcSymbol.name, lines, i, currentClass)) {
51
+ funcSymbol.type = "method";
52
+ }
53
+ symbols.push(funcSymbol);
54
+ }
55
+ }
56
+ i++;
57
+ continue;
58
+ }
59
+ // Parse class
60
+ if (trimmedLine.startsWith("class ")) {
61
+ const classSymbol = this.parseClass(trimmedLine, lineNumber, [], lines, i);
62
+ if (classSymbol) {
63
+ symbols.push(classSymbol);
64
+ currentClass = classSymbol;
65
+ }
66
+ i = this.findClassEnd(lines, i);
67
+ continue;
68
+ }
69
+ // Parse function
70
+ if (trimmedLine.startsWith("def ") || trimmedLine.startsWith("async def ")) {
71
+ const funcSymbol = this.parseFunction(trimmedLine, lineNumber, []);
72
+ if (funcSymbol) {
73
+ if (currentClass && this.isMethodOfClass(funcSymbol.name, lines, i, currentClass)) {
74
+ funcSymbol.type = "method";
75
+ }
76
+ symbols.push(funcSymbol);
77
+ }
78
+ i++;
79
+ continue;
80
+ }
81
+ // Detect class end by indentation
82
+ if (currentClass && !line.startsWith(" ") && !line.startsWith("\t") && trimmedLine) {
83
+ currentClass = null;
84
+ }
85
+ i++;
86
+ }
87
+ return {
88
+ filePath,
89
+ symbols,
90
+ imports,
91
+ };
92
+ }
93
+ parseImport(line) {
94
+ // from module import name1, name2
95
+ const fromMatch = line.match(/from\s+(\S+)\s+import\s+(.+)/);
96
+ if (fromMatch) {
97
+ const module = fromMatch[1];
98
+ const namesPart = fromMatch[2];
99
+ const names = namesPart.split(",").map(n => n.trim().split(" ")[0]);
100
+ return { module, names, isFromImport: true };
101
+ }
102
+ // import module or import module as alias
103
+ const importMatch = line.match(/import\s+(.+)/);
104
+ if (importMatch) {
105
+ const modules = importMatch[1].split(",").map(m => {
106
+ const parts = m.trim().split(/\s+as\s+/);
107
+ return { module: parts[0], alias: parts[1] };
108
+ });
109
+ return { module: modules[0].module, alias: modules[0].alias, isFromImport: false };
110
+ }
111
+ return null;
112
+ }
113
+ parseClass(line, lineNumber, decorators, lines, startIndex) {
114
+ const match = line.match(/class\s+(\w+)(?:\(([^)]+)\))?/);
115
+ if (!match)
116
+ return null;
117
+ const name = match[1];
118
+ const inheritance = match[2] ? match[2].split(",").map(s => s.trim()) : [];
119
+ // Extract docstring
120
+ const docstring = this.extractDocstring(lines, startIndex);
121
+ return {
122
+ name,
123
+ type: "class",
124
+ line: lineNumber,
125
+ decorators: decorators.length > 0 ? decorators : undefined,
126
+ inheritance: inheritance.length > 0 ? inheritance : undefined,
127
+ docstring,
128
+ isExported: true,
129
+ };
130
+ }
131
+ parseFunction(line, lineNumber, decorators) {
132
+ const isAsync = line.startsWith("async ");
133
+ const defKeyword = isAsync ? "async def" : "def";
134
+ const match = line.match(new RegExp(`${defKeyword}\\s+(\\w+)\\s*\\(([^)]*)\\)`));
135
+ if (!match)
136
+ return null;
137
+ const name = match[1];
138
+ const paramsStr = match[2];
139
+ const parameters = this.parseParameters(paramsStr);
140
+ return {
141
+ name,
142
+ type: "function",
143
+ line: lineNumber,
144
+ decorators: decorators.length > 0 ? decorators : undefined,
145
+ parameters: parameters.length > 0 ? parameters : [],
146
+ isAsync,
147
+ isExported: true,
148
+ };
149
+ }
150
+ parseParameters(paramsStr) {
151
+ if (!paramsStr.trim())
152
+ return [];
153
+ return paramsStr.split(",").map(param => {
154
+ const trimmed = param.trim();
155
+ if (!trimmed || trimmed === "self" || trimmed === "cls")
156
+ return null;
157
+ // Handle type hints and defaults
158
+ const parts = trimmed.split("=");
159
+ const nameAndType = parts[0].trim();
160
+ const defaultValue = parts[1]?.trim();
161
+ const typeMatch = nameAndType.match(/(.+):\s*(.+)/);
162
+ if (typeMatch) {
163
+ return {
164
+ name: typeMatch[1].trim(),
165
+ type: typeMatch[2].trim(),
166
+ default: defaultValue,
167
+ };
168
+ }
169
+ return {
170
+ name: nameAndType,
171
+ default: defaultValue,
172
+ };
173
+ }).filter((p) => p !== null);
174
+ }
175
+ extractDocstring(lines, startIndex) {
176
+ // Look for docstring in next few lines
177
+ for (let i = startIndex + 1; i < Math.min(startIndex + 5, lines.length); i++) {
178
+ const line = lines[i].trim();
179
+ if (line.startsWith('"""') || line.startsWith("'''")) {
180
+ const quote = line.startsWith('"""') ? '"""' : "'''";
181
+ if (line.endsWith(quote) && line.length > 6) {
182
+ return line.slice(3, -3);
183
+ }
184
+ // Multi-line docstring
185
+ let docstring = line.slice(3);
186
+ for (let j = i + 1; j < lines.length; j++) {
187
+ const nextLine = lines[j];
188
+ if (nextLine.includes(quote)) {
189
+ docstring += "\n" + nextLine.slice(0, nextLine.indexOf(quote));
190
+ return docstring.trim();
191
+ }
192
+ docstring += "\n" + nextLine;
193
+ }
194
+ }
195
+ }
196
+ return undefined;
197
+ }
198
+ findClassEnd(lines, startIndex) {
199
+ const baseIndent = lines[startIndex].match(/^(\s*)/)?.[1].length || 0;
200
+ let i = startIndex + 1;
201
+ while (i < lines.length) {
202
+ const line = lines[i];
203
+ const trimmed = line.trim();
204
+ if (!trimmed || trimmed.startsWith("#")) {
205
+ i++;
206
+ continue;
207
+ }
208
+ const indent = line.match(/^(\s*)/)?.[1].length || 0;
209
+ // Check if we've exited the class (less or equal indentation)
210
+ if (indent <= baseIndent && trimmed) {
211
+ // Check if it's a new class or function at same level
212
+ if (trimmed.startsWith("class ") || trimmed.startsWith("def ") || trimmed.startsWith("async def ") || trimmed.startsWith("@")) {
213
+ return i;
214
+ }
215
+ }
216
+ i++;
217
+ }
218
+ return i;
219
+ }
220
+ isMethodOfClass(funcName, lines, funcIndex, classSymbol) {
221
+ // Check if function is indented within the class
222
+ const classLineIndex = classSymbol.line - 1;
223
+ const classIndent = lines[classLineIndex].match(/^(\s*)/)?.[1].length || 0;
224
+ const funcIndent = lines[funcIndex].match(/^(\s*)/)?.[1].length || 0;
225
+ return funcIndent > classIndent;
226
+ }
227
+ }
228
+ export const pythonParser = new PythonParser();
229
+ //# sourceMappingURL=pythonParser.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pythonParser.js","sourceRoot":"","sources":["../../../src/core/parsers/pythonParser.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,54 @@
1
+ export interface ParsedSymbol {
2
+ name: string;
3
+ type: "class" | "interface" | "function" | "method" | "property" | "enum" | "type" | "const" | "variable";
4
+ line: number;
5
+ character: number;
6
+ isExported: boolean;
7
+ modifiers?: string[];
8
+ heritage?: {
9
+ extends?: string[];
10
+ implements?: string[];
11
+ };
12
+ members?: ParsedSymbol[];
13
+ parameters?: {
14
+ name: string;
15
+ type?: string;
16
+ optional?: boolean;
17
+ }[];
18
+ returnType?: string;
19
+ jsDoc?: string;
20
+ }
21
+ export interface ParsedFile {
22
+ filePath: string;
23
+ symbols: ParsedSymbol[];
24
+ imports: {
25
+ name: string;
26
+ module: string;
27
+ isDefault?: boolean;
28
+ isNamespace?: boolean;
29
+ }[];
30
+ exports: string[];
31
+ }
32
+ export declare class TypeScriptParser {
33
+ private program;
34
+ parseFile(filePath: string, sourceText: string): ParsedFile;
35
+ private visitNode;
36
+ private handleClassDeclaration;
37
+ private handleInterfaceDeclaration;
38
+ private handleFunctionDeclaration;
39
+ private handleEnumDeclaration;
40
+ private handleTypeAliasDeclaration;
41
+ private handleVariableStatement;
42
+ private handleImportDeclaration;
43
+ private handleExport;
44
+ private extractClassMember;
45
+ private extractInterfaceMember;
46
+ private getModifiers;
47
+ private hasExportModifier;
48
+ private isConst;
49
+ private getHeritage;
50
+ private getParameters;
51
+ private getJsDoc;
52
+ }
53
+ export declare const typescriptParser: TypeScriptParser;
54
+ //# sourceMappingURL=typescriptParser.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"typescriptParser.d.ts","sourceRoot":"","sources":["../../../src/core/parsers/typescriptParser.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,OAAO,GAAG,WAAW,GAAG,UAAU,GAAG,QAAQ,GAAG,UAAU,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,UAAU,CAAC;IAC1G,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,OAAO,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,QAAQ,CAAC,EAAE;QACT,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;QACnB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;KACvB,CAAC;IACF,OAAO,CAAC,EAAE,YAAY,EAAE,CAAC;IACzB,UAAU,CAAC,EAAE;QACX,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,QAAQ,CAAC,EAAE,OAAO,CAAC;KACpB,EAAE,CAAC;IACJ,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,UAAU;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,YAAY,EAAE,CAAC;IACxB,OAAO,EAAE;QACP,IAAI,EAAE,MAAM,CAAC;QACb,MAAM,EAAE,MAAM,CAAC;QACf,SAAS,CAAC,EAAE,OAAO,CAAC;QACpB,WAAW,CAAC,EAAE,OAAO,CAAC;KACvB,EAAE,CAAC;IACJ,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;AAED,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,OAAO,CAA2B;IAE1C,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,UAAU;IAuB3D,OAAO,CAAC,SAAS;IAiDjB,OAAO,CAAC,sBAAsB;IA+B9B,OAAO,CAAC,0BAA0B;IA+BlC,OAAO,CAAC,yBAAyB;IA6BjC,OAAO,CAAC,qBAAqB;IAoB7B,OAAO,CAAC,0BAA0B;IAoBlC,OAAO,CAAC,uBAAuB;IA+B/B,OAAO,CAAC,uBAAuB;IAoC/B,OAAO,CAAC,YAAY;IAYpB,OAAO,CAAC,kBAAkB;IAiC1B,OAAO,CAAC,sBAAsB;IA+B9B,OAAO,CAAC,YAAY;IAWpB,OAAO,CAAC,iBAAiB;IAQzB,OAAO,CAAC,OAAO;IAIf,OAAO,CAAC,WAAW;IAiBnB,OAAO,CAAC,aAAa;IAWrB,OAAO,CAAC,QAAQ;CAOjB;AAED,eAAO,MAAM,gBAAgB,kBAAyB,CAAC"}