@flaid/devmap 0.2.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 (391) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +168 -0
  3. package/dist/ai/completion.d.ts +7 -0
  4. package/dist/ai/completion.d.ts.map +1 -0
  5. package/dist/ai/completion.js +27 -0
  6. package/dist/ai/completion.js.map +1 -0
  7. package/dist/ai/contextBuilder.d.ts +42 -0
  8. package/dist/ai/contextBuilder.d.ts.map +1 -0
  9. package/dist/ai/contextBuilder.js +632 -0
  10. package/dist/ai/contextBuilder.js.map +1 -0
  11. package/dist/ai/groq.d.ts +36 -0
  12. package/dist/ai/groq.d.ts.map +1 -0
  13. package/dist/ai/groq.js +368 -0
  14. package/dist/ai/groq.js.map +1 -0
  15. package/dist/ai/openrouter.d.ts +20 -0
  16. package/dist/ai/openrouter.d.ts.map +1 -0
  17. package/dist/ai/openrouter.js +187 -0
  18. package/dist/ai/openrouter.js.map +1 -0
  19. package/dist/ai/prompts.d.ts +7 -0
  20. package/dist/ai/prompts.d.ts.map +1 -0
  21. package/dist/ai/prompts.js +88 -0
  22. package/dist/ai/prompts.js.map +1 -0
  23. package/dist/ai/provider.d.ts +15 -0
  24. package/dist/ai/provider.d.ts.map +1 -0
  25. package/dist/ai/provider.js +28 -0
  26. package/dist/ai/provider.js.map +1 -0
  27. package/dist/ai/snapshotEnrichment.d.ts +4 -0
  28. package/dist/ai/snapshotEnrichment.d.ts.map +1 -0
  29. package/dist/ai/snapshotEnrichment.js +188 -0
  30. package/dist/ai/snapshotEnrichment.js.map +1 -0
  31. package/dist/ai/types.d.ts +29 -0
  32. package/dist/ai/types.d.ts.map +1 -0
  33. package/dist/ai/types.js +2 -0
  34. package/dist/ai/types.js.map +1 -0
  35. package/dist/analyzers/analysis/extractors/fallbackExtractor.d.ts +30 -0
  36. package/dist/analyzers/analysis/extractors/fallbackExtractor.d.ts.map +1 -0
  37. package/dist/analyzers/analysis/extractors/fallbackExtractor.js +114 -0
  38. package/dist/analyzers/analysis/extractors/fallbackExtractor.js.map +1 -0
  39. package/dist/analyzers/analysis/extractors/index.d.ts +16 -0
  40. package/dist/analyzers/analysis/extractors/index.d.ts.map +1 -0
  41. package/dist/analyzers/analysis/extractors/index.js +135 -0
  42. package/dist/analyzers/analysis/extractors/index.js.map +1 -0
  43. package/dist/analyzers/analysis/extractors/prismaExtractor.d.ts +15 -0
  44. package/dist/analyzers/analysis/extractors/prismaExtractor.d.ts.map +1 -0
  45. package/dist/analyzers/analysis/extractors/prismaExtractor.js +183 -0
  46. package/dist/analyzers/analysis/extractors/prismaExtractor.js.map +1 -0
  47. package/dist/analyzers/analysis/extractors/sqlExtractor.d.ts +14 -0
  48. package/dist/analyzers/analysis/extractors/sqlExtractor.d.ts.map +1 -0
  49. package/dist/analyzers/analysis/extractors/sqlExtractor.js +163 -0
  50. package/dist/analyzers/analysis/extractors/sqlExtractor.js.map +1 -0
  51. package/dist/analyzers/analysis/extractors/types.d.ts +76 -0
  52. package/dist/analyzers/analysis/extractors/types.d.ts.map +1 -0
  53. package/dist/analyzers/analysis/extractors/types.js +2 -0
  54. package/dist/analyzers/analysis/extractors/types.js.map +1 -0
  55. package/dist/analyzers/analysis/fileAnalysis.d.ts +36 -0
  56. package/dist/analyzers/analysis/fileAnalysis.d.ts.map +1 -0
  57. package/dist/analyzers/analysis/fileAnalysis.js +2 -0
  58. package/dist/analyzers/analysis/fileAnalysis.js.map +1 -0
  59. package/dist/analyzers/analysis/fileRole.d.ts +30 -0
  60. package/dist/analyzers/analysis/fileRole.d.ts.map +1 -0
  61. package/dist/analyzers/analysis/fileRole.js +242 -0
  62. package/dist/analyzers/analysis/fileRole.js.map +1 -0
  63. package/dist/analyzers/analysis/fileScanner.d.ts +10 -0
  64. package/dist/analyzers/analysis/fileScanner.d.ts.map +1 -0
  65. package/dist/analyzers/analysis/fileScanner.js +44 -0
  66. package/dist/analyzers/analysis/fileScanner.js.map +1 -0
  67. package/dist/analyzers/analysis/filterEngine.d.ts +2 -0
  68. package/dist/analyzers/analysis/filterEngine.d.ts.map +1 -0
  69. package/dist/analyzers/analysis/filterEngine.js +110 -0
  70. package/dist/analyzers/analysis/filterEngine.js.map +1 -0
  71. package/dist/analyzers/analysis/index.d.ts +12 -0
  72. package/dist/analyzers/analysis/index.d.ts.map +1 -0
  73. package/dist/analyzers/analysis/index.js +8 -0
  74. package/dist/analyzers/analysis/index.js.map +1 -0
  75. package/dist/analyzers/analysis/preprocessors/astroPreprocessor.d.ts +23 -0
  76. package/dist/analyzers/analysis/preprocessors/astroPreprocessor.d.ts.map +1 -0
  77. package/dist/analyzers/analysis/preprocessors/astroPreprocessor.js +40 -0
  78. package/dist/analyzers/analysis/preprocessors/astroPreprocessor.js.map +1 -0
  79. package/dist/analyzers/analysis/preprocessors/index.d.ts +5 -0
  80. package/dist/analyzers/analysis/preprocessors/index.d.ts.map +1 -0
  81. package/dist/analyzers/analysis/preprocessors/index.js +4 -0
  82. package/dist/analyzers/analysis/preprocessors/index.js.map +1 -0
  83. package/dist/analyzers/analysis/preprocessors/sveltePreprocessor.d.ts +27 -0
  84. package/dist/analyzers/analysis/preprocessors/sveltePreprocessor.d.ts.map +1 -0
  85. package/dist/analyzers/analysis/preprocessors/sveltePreprocessor.js +50 -0
  86. package/dist/analyzers/analysis/preprocessors/sveltePreprocessor.js.map +1 -0
  87. package/dist/analyzers/analysis/preprocessors/types.d.ts +45 -0
  88. package/dist/analyzers/analysis/preprocessors/types.d.ts.map +1 -0
  89. package/dist/analyzers/analysis/preprocessors/types.js +2 -0
  90. package/dist/analyzers/analysis/preprocessors/types.js.map +1 -0
  91. package/dist/analyzers/analysis/preprocessors/vuePreprocessor.d.ts +21 -0
  92. package/dist/analyzers/analysis/preprocessors/vuePreprocessor.d.ts.map +1 -0
  93. package/dist/analyzers/analysis/preprocessors/vuePreprocessor.js +44 -0
  94. package/dist/analyzers/analysis/preprocessors/vuePreprocessor.js.map +1 -0
  95. package/dist/analyzers/analysis/tsMorphAnalyzer.d.ts +10 -0
  96. package/dist/analyzers/analysis/tsMorphAnalyzer.d.ts.map +1 -0
  97. package/dist/analyzers/analysis/tsMorphAnalyzer.js +190 -0
  98. package/dist/analyzers/analysis/tsMorphAnalyzer.js.map +1 -0
  99. package/dist/analyzers/detectors/capabilityDetector.d.ts +28 -0
  100. package/dist/analyzers/detectors/capabilityDetector.d.ts.map +1 -0
  101. package/dist/analyzers/detectors/capabilityDetector.js +288 -0
  102. package/dist/analyzers/detectors/capabilityDetector.js.map +1 -0
  103. package/dist/analyzers/detectors/databaseDetector.d.ts +7 -0
  104. package/dist/analyzers/detectors/databaseDetector.d.ts.map +1 -0
  105. package/dist/analyzers/detectors/databaseDetector.js +71 -0
  106. package/dist/analyzers/detectors/databaseDetector.js.map +1 -0
  107. package/dist/analyzers/detectors/frameworkDetector.d.ts +22 -0
  108. package/dist/analyzers/detectors/frameworkDetector.d.ts.map +1 -0
  109. package/dist/analyzers/detectors/frameworkDetector.js +160 -0
  110. package/dist/analyzers/detectors/frameworkDetector.js.map +1 -0
  111. package/dist/analyzers/detectors/frontendFeatureDetector.d.ts +26 -0
  112. package/dist/analyzers/detectors/frontendFeatureDetector.d.ts.map +1 -0
  113. package/dist/analyzers/detectors/frontendFeatureDetector.js +269 -0
  114. package/dist/analyzers/detectors/frontendFeatureDetector.js.map +1 -0
  115. package/dist/analyzers/detectors/index.d.ts +11 -0
  116. package/dist/analyzers/detectors/index.d.ts.map +1 -0
  117. package/dist/analyzers/detectors/index.js +7 -0
  118. package/dist/analyzers/detectors/index.js.map +1 -0
  119. package/dist/analyzers/detectors/nestRouteDetector.d.ts +13 -0
  120. package/dist/analyzers/detectors/nestRouteDetector.d.ts.map +1 -0
  121. package/dist/analyzers/detectors/nestRouteDetector.js +69 -0
  122. package/dist/analyzers/detectors/nestRouteDetector.js.map +1 -0
  123. package/dist/analyzers/detectors/routeDetector.d.ts +22 -0
  124. package/dist/analyzers/detectors/routeDetector.d.ts.map +1 -0
  125. package/dist/analyzers/detectors/routeDetector.js +368 -0
  126. package/dist/analyzers/detectors/routeDetector.js.map +1 -0
  127. package/dist/analyzers/detectors/serviceDetector.d.ts +3 -0
  128. package/dist/analyzers/detectors/serviceDetector.d.ts.map +1 -0
  129. package/dist/analyzers/detectors/serviceDetector.js +81 -0
  130. package/dist/analyzers/detectors/serviceDetector.js.map +1 -0
  131. package/dist/analyzers/features/featureDetector.d.ts +22 -0
  132. package/dist/analyzers/features/featureDetector.d.ts.map +1 -0
  133. package/dist/analyzers/features/featureDetector.js +821 -0
  134. package/dist/analyzers/features/featureDetector.js.map +1 -0
  135. package/dist/analyzers/features/featureMerge.d.ts +65 -0
  136. package/dist/analyzers/features/featureMerge.d.ts.map +1 -0
  137. package/dist/analyzers/features/featureMerge.js +168 -0
  138. package/dist/analyzers/features/featureMerge.js.map +1 -0
  139. package/dist/analyzers/features/featureSimilarity.d.ts +152 -0
  140. package/dist/analyzers/features/featureSimilarity.d.ts.map +1 -0
  141. package/dist/analyzers/features/featureSimilarity.js +264 -0
  142. package/dist/analyzers/features/featureSimilarity.js.map +1 -0
  143. package/dist/analyzers/features/index.d.ts +6 -0
  144. package/dist/analyzers/features/index.d.ts.map +1 -0
  145. package/dist/analyzers/features/index.js +4 -0
  146. package/dist/analyzers/features/index.js.map +1 -0
  147. package/dist/analyzers/graph/dependencyGraph.d.ts +5 -0
  148. package/dist/analyzers/graph/dependencyGraph.d.ts.map +1 -0
  149. package/dist/analyzers/graph/dependencyGraph.js +88 -0
  150. package/dist/analyzers/graph/dependencyGraph.js.map +1 -0
  151. package/dist/analyzers/graph/dependencyMap.d.ts +43 -0
  152. package/dist/analyzers/graph/dependencyMap.d.ts.map +1 -0
  153. package/dist/analyzers/graph/dependencyMap.js +85 -0
  154. package/dist/analyzers/graph/dependencyMap.js.map +1 -0
  155. package/dist/analyzers/graph/entryPoints.d.ts +3 -0
  156. package/dist/analyzers/graph/entryPoints.d.ts.map +1 -0
  157. package/dist/analyzers/graph/entryPoints.js +21 -0
  158. package/dist/analyzers/graph/entryPoints.js.map +1 -0
  159. package/dist/analyzers/graph/index.d.ts +7 -0
  160. package/dist/analyzers/graph/index.d.ts.map +1 -0
  161. package/dist/analyzers/graph/index.js +5 -0
  162. package/dist/analyzers/graph/index.js.map +1 -0
  163. package/dist/analyzers/graph/sourceScope.d.ts +2 -0
  164. package/dist/analyzers/graph/sourceScope.d.ts.map +1 -0
  165. package/dist/analyzers/graph/sourceScope.js +30 -0
  166. package/dist/analyzers/graph/sourceScope.js.map +1 -0
  167. package/dist/analyzers/inference/domainInference.d.ts +58 -0
  168. package/dist/analyzers/inference/domainInference.d.ts.map +1 -0
  169. package/dist/analyzers/inference/domainInference.js +234 -0
  170. package/dist/analyzers/inference/domainInference.js.map +1 -0
  171. package/dist/analyzers/inference/index.d.ts +5 -0
  172. package/dist/analyzers/inference/index.d.ts.map +1 -0
  173. package/dist/analyzers/inference/index.js +3 -0
  174. package/dist/analyzers/inference/index.js.map +1 -0
  175. package/dist/analyzers/inference/ownershipTopology.d.ts +8 -0
  176. package/dist/analyzers/inference/ownershipTopology.d.ts.map +1 -0
  177. package/dist/analyzers/inference/ownershipTopology.js +65 -0
  178. package/dist/analyzers/inference/ownershipTopology.js.map +1 -0
  179. package/dist/analyzers/pipeline/analyzerRegistry.d.ts +9 -0
  180. package/dist/analyzers/pipeline/analyzerRegistry.d.ts.map +1 -0
  181. package/dist/analyzers/pipeline/analyzerRegistry.js +35 -0
  182. package/dist/analyzers/pipeline/analyzerRegistry.js.map +1 -0
  183. package/dist/analyzers/pipeline/heuristicAnalyzer.d.ts +12 -0
  184. package/dist/analyzers/pipeline/heuristicAnalyzer.d.ts.map +1 -0
  185. package/dist/analyzers/pipeline/heuristicAnalyzer.js +150 -0
  186. package/dist/analyzers/pipeline/heuristicAnalyzer.js.map +1 -0
  187. package/dist/analyzers/pipeline/index.d.ts +7 -0
  188. package/dist/analyzers/pipeline/index.d.ts.map +1 -0
  189. package/dist/analyzers/pipeline/index.js +5 -0
  190. package/dist/analyzers/pipeline/index.js.map +1 -0
  191. package/dist/analyzers/pipeline/projectMap.d.ts +120 -0
  192. package/dist/analyzers/pipeline/projectMap.d.ts.map +1 -0
  193. package/dist/analyzers/pipeline/projectMap.js +726 -0
  194. package/dist/analyzers/pipeline/projectMap.js.map +1 -0
  195. package/dist/analyzers/pipeline/projectMetadata.d.ts +19 -0
  196. package/dist/analyzers/pipeline/projectMetadata.d.ts.map +1 -0
  197. package/dist/analyzers/pipeline/projectMetadata.js +149 -0
  198. package/dist/analyzers/pipeline/projectMetadata.js.map +1 -0
  199. package/dist/analyzers/pipeline/reasonTags.d.ts +6 -0
  200. package/dist/analyzers/pipeline/reasonTags.d.ts.map +1 -0
  201. package/dist/analyzers/pipeline/reasonTags.js +6 -0
  202. package/dist/analyzers/pipeline/reasonTags.js.map +1 -0
  203. package/dist/analyzers/registry/ai-providers.d.ts +3 -0
  204. package/dist/analyzers/registry/ai-providers.d.ts.map +1 -0
  205. package/dist/analyzers/registry/ai-providers.js +94 -0
  206. package/dist/analyzers/registry/ai-providers.js.map +1 -0
  207. package/dist/analyzers/registry/analytics.d.ts +3 -0
  208. package/dist/analyzers/registry/analytics.d.ts.map +1 -0
  209. package/dist/analyzers/registry/analytics.js +15 -0
  210. package/dist/analyzers/registry/analytics.js.map +1 -0
  211. package/dist/analyzers/registry/auth.d.ts +3 -0
  212. package/dist/analyzers/registry/auth.d.ts.map +1 -0
  213. package/dist/analyzers/registry/auth.js +18 -0
  214. package/dist/analyzers/registry/auth.js.map +1 -0
  215. package/dist/analyzers/registry/background-jobs.d.ts +3 -0
  216. package/dist/analyzers/registry/background-jobs.d.ts.map +1 -0
  217. package/dist/analyzers/registry/background-jobs.js +14 -0
  218. package/dist/analyzers/registry/background-jobs.js.map +1 -0
  219. package/dist/analyzers/registry/caching.d.ts +3 -0
  220. package/dist/analyzers/registry/caching.d.ts.map +1 -0
  221. package/dist/analyzers/registry/caching.js +13 -0
  222. package/dist/analyzers/registry/caching.js.map +1 -0
  223. package/dist/analyzers/registry/cms-content.d.ts +3 -0
  224. package/dist/analyzers/registry/cms-content.d.ts.map +1 -0
  225. package/dist/analyzers/registry/cms-content.js +15 -0
  226. package/dist/analyzers/registry/cms-content.js.map +1 -0
  227. package/dist/analyzers/registry/database.d.ts +3 -0
  228. package/dist/analyzers/registry/database.d.ts.map +1 -0
  229. package/dist/analyzers/registry/database.js +13 -0
  230. package/dist/analyzers/registry/database.js.map +1 -0
  231. package/dist/analyzers/registry/email.d.ts +3 -0
  232. package/dist/analyzers/registry/email.d.ts.map +1 -0
  233. package/dist/analyzers/registry/email.js +19 -0
  234. package/dist/analyzers/registry/email.js.map +1 -0
  235. package/dist/analyzers/registry/file-upload.d.ts +3 -0
  236. package/dist/analyzers/registry/file-upload.d.ts.map +1 -0
  237. package/dist/analyzers/registry/file-upload.js +19 -0
  238. package/dist/analyzers/registry/file-upload.js.map +1 -0
  239. package/dist/analyzers/registry/firebase.d.ts +3 -0
  240. package/dist/analyzers/registry/firebase.d.ts.map +1 -0
  241. package/dist/analyzers/registry/firebase.js +8 -0
  242. package/dist/analyzers/registry/firebase.js.map +1 -0
  243. package/dist/analyzers/registry/index.d.ts +16 -0
  244. package/dist/analyzers/registry/index.d.ts.map +1 -0
  245. package/dist/analyzers/registry/index.js +88 -0
  246. package/dist/analyzers/registry/index.js.map +1 -0
  247. package/dist/analyzers/registry/internationalization.d.ts +3 -0
  248. package/dist/analyzers/registry/internationalization.d.ts.map +1 -0
  249. package/dist/analyzers/registry/internationalization.js +13 -0
  250. package/dist/analyzers/registry/internationalization.js.map +1 -0
  251. package/dist/analyzers/registry/logging-monitoring.d.ts +3 -0
  252. package/dist/analyzers/registry/logging-monitoring.d.ts.map +1 -0
  253. package/dist/analyzers/registry/logging-monitoring.js +14 -0
  254. package/dist/analyzers/registry/logging-monitoring.js.map +1 -0
  255. package/dist/analyzers/registry/notifications.d.ts +3 -0
  256. package/dist/analyzers/registry/notifications.d.ts.map +1 -0
  257. package/dist/analyzers/registry/notifications.js +14 -0
  258. package/dist/analyzers/registry/notifications.js.map +1 -0
  259. package/dist/analyzers/registry/payments.d.ts +3 -0
  260. package/dist/analyzers/registry/payments.d.ts.map +1 -0
  261. package/dist/analyzers/registry/payments.js +23 -0
  262. package/dist/analyzers/registry/payments.js.map +1 -0
  263. package/dist/analyzers/registry/rate-limiting.d.ts +3 -0
  264. package/dist/analyzers/registry/rate-limiting.d.ts.map +1 -0
  265. package/dist/analyzers/registry/rate-limiting.js +13 -0
  266. package/dist/analyzers/registry/rate-limiting.js.map +1 -0
  267. package/dist/analyzers/registry/search.d.ts +3 -0
  268. package/dist/analyzers/registry/search.d.ts.map +1 -0
  269. package/dist/analyzers/registry/search.js +15 -0
  270. package/dist/analyzers/registry/search.js.map +1 -0
  271. package/dist/analyzers/registry/testing.d.ts +3 -0
  272. package/dist/analyzers/registry/testing.d.ts.map +1 -0
  273. package/dist/analyzers/registry/testing.js +13 -0
  274. package/dist/analyzers/registry/testing.js.map +1 -0
  275. package/dist/analyzers/registry/types.d.ts +14 -0
  276. package/dist/analyzers/registry/types.d.ts.map +1 -0
  277. package/dist/analyzers/registry/types.js +2 -0
  278. package/dist/analyzers/registry/types.js.map +1 -0
  279. package/dist/cache/agentNavigation.d.ts +7 -0
  280. package/dist/cache/agentNavigation.d.ts.map +1 -0
  281. package/dist/cache/agentNavigation.js +253 -0
  282. package/dist/cache/agentNavigation.js.map +1 -0
  283. package/dist/cache/fileHash.d.ts +2 -0
  284. package/dist/cache/fileHash.d.ts.map +1 -0
  285. package/dist/cache/fileHash.js +5 -0
  286. package/dist/cache/fileHash.js.map +1 -0
  287. package/dist/cache/snapshot.d.ts +20 -0
  288. package/dist/cache/snapshot.d.ts.map +1 -0
  289. package/dist/cache/snapshot.js +184 -0
  290. package/dist/cache/snapshot.js.map +1 -0
  291. package/dist/commands/analyze.d.ts +12 -0
  292. package/dist/commands/analyze.d.ts.map +1 -0
  293. package/dist/commands/analyze.js +201 -0
  294. package/dist/commands/analyze.js.map +1 -0
  295. package/dist/commands/config.d.ts +10 -0
  296. package/dist/commands/config.d.ts.map +1 -0
  297. package/dist/commands/config.js +65 -0
  298. package/dist/commands/config.js.map +1 -0
  299. package/dist/commands/doctor.d.ts +11 -0
  300. package/dist/commands/doctor.d.ts.map +1 -0
  301. package/dist/commands/doctor.js +141 -0
  302. package/dist/commands/doctor.js.map +1 -0
  303. package/dist/commands/explain.d.ts +37 -0
  304. package/dist/commands/explain.d.ts.map +1 -0
  305. package/dist/commands/explain.js +101 -0
  306. package/dist/commands/explain.js.map +1 -0
  307. package/dist/commands/flow.d.ts +34 -0
  308. package/dist/commands/flow.d.ts.map +1 -0
  309. package/dist/commands/flow.js +151 -0
  310. package/dist/commands/flow.js.map +1 -0
  311. package/dist/commands/init.d.ts +16 -0
  312. package/dist/commands/init.d.ts.map +1 -0
  313. package/dist/commands/init.js +197 -0
  314. package/dist/commands/init.js.map +1 -0
  315. package/dist/commands/map.d.ts +24 -0
  316. package/dist/commands/map.d.ts.map +1 -0
  317. package/dist/commands/map.js +282 -0
  318. package/dist/commands/map.js.map +1 -0
  319. package/dist/commands/onboarding.d.ts +36 -0
  320. package/dist/commands/onboarding.d.ts.map +1 -0
  321. package/dist/commands/onboarding.js +226 -0
  322. package/dist/commands/onboarding.js.map +1 -0
  323. package/dist/index.d.ts +3 -0
  324. package/dist/index.d.ts.map +1 -0
  325. package/dist/index.js +104 -0
  326. package/dist/index.js.map +1 -0
  327. package/dist/onboarding/model.d.ts +27 -0
  328. package/dist/onboarding/model.d.ts.map +1 -0
  329. package/dist/onboarding/model.js +2 -0
  330. package/dist/onboarding/model.js.map +1 -0
  331. package/dist/onboarding/modelBuilder.d.ts +4 -0
  332. package/dist/onboarding/modelBuilder.d.ts.map +1 -0
  333. package/dist/onboarding/modelBuilder.js +330 -0
  334. package/dist/onboarding/modelBuilder.js.map +1 -0
  335. package/dist/utils/agentsFile.d.ts +6 -0
  336. package/dist/utils/agentsFile.d.ts.map +1 -0
  337. package/dist/utils/agentsFile.js +85 -0
  338. package/dist/utils/agentsFile.js.map +1 -0
  339. package/dist/utils/config.d.ts +20 -0
  340. package/dist/utils/config.d.ts.map +1 -0
  341. package/dist/utils/config.js +88 -0
  342. package/dist/utils/config.js.map +1 -0
  343. package/dist/utils/devmapFile.d.ts +3 -0
  344. package/dist/utils/devmapFile.d.ts.map +1 -0
  345. package/dist/utils/devmapFile.js +43 -0
  346. package/dist/utils/devmapFile.js.map +1 -0
  347. package/dist/utils/errors.d.ts +8 -0
  348. package/dist/utils/errors.d.ts.map +1 -0
  349. package/dist/utils/errors.js +92 -0
  350. package/dist/utils/errors.js.map +1 -0
  351. package/dist/utils/gitignore.d.ts +2 -0
  352. package/dist/utils/gitignore.d.ts.map +1 -0
  353. package/dist/utils/gitignore.js +22 -0
  354. package/dist/utils/gitignore.js.map +1 -0
  355. package/dist/utils/help.d.ts +3 -0
  356. package/dist/utils/help.d.ts.map +1 -0
  357. package/dist/utils/help.js +19 -0
  358. package/dist/utils/help.js.map +1 -0
  359. package/dist/utils/mapRenderer.d.ts +39 -0
  360. package/dist/utils/mapRenderer.d.ts.map +1 -0
  361. package/dist/utils/mapRenderer.js +90 -0
  362. package/dist/utils/mapRenderer.js.map +1 -0
  363. package/dist/utils/markdownTerminal.d.ts +6 -0
  364. package/dist/utils/markdownTerminal.d.ts.map +1 -0
  365. package/dist/utils/markdownTerminal.js +153 -0
  366. package/dist/utils/markdownTerminal.js.map +1 -0
  367. package/dist/utils/output.d.ts +29 -0
  368. package/dist/utils/output.d.ts.map +1 -0
  369. package/dist/utils/output.js +108 -0
  370. package/dist/utils/output.js.map +1 -0
  371. package/dist/utils/packageMetadata.d.ts +2 -0
  372. package/dist/utils/packageMetadata.d.ts.map +1 -0
  373. package/dist/utils/packageMetadata.js +5 -0
  374. package/dist/utils/packageMetadata.js.map +1 -0
  375. package/dist/utils/prompt.d.ts +11 -0
  376. package/dist/utils/prompt.d.ts.map +1 -0
  377. package/dist/utils/prompt.js +81 -0
  378. package/dist/utils/prompt.js.map +1 -0
  379. package/dist/utils/slug.d.ts +2 -0
  380. package/dist/utils/slug.d.ts.map +1 -0
  381. package/dist/utils/slug.js +8 -0
  382. package/dist/utils/slug.js.map +1 -0
  383. package/dist/utils/targetResolver.d.ts +7 -0
  384. package/dist/utils/targetResolver.d.ts.map +1 -0
  385. package/dist/utils/targetResolver.js +15 -0
  386. package/dist/utils/targetResolver.js.map +1 -0
  387. package/dist/utils/welcome.d.ts +10 -0
  388. package/dist/utils/welcome.d.ts.map +1 -0
  389. package/dist/utils/welcome.js +80 -0
  390. package/dist/utils/welcome.js.map +1 -0
  391. package/package.json +61 -0
@@ -0,0 +1,5 @@
1
+ export { VuePreprocessor, } from "./vuePreprocessor.js";
2
+ export { SveltePreprocessor, } from "./sveltePreprocessor.js";
3
+ export { AstroPreprocessor, } from "./astroPreprocessor.js";
4
+ export type { LanguagePreprocessor, ExtractedScript, } from "./types.js";
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/analyzers/analysis/preprocessors/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,GAChB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EACL,kBAAkB,GACnB,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EACL,iBAAiB,GAClB,MAAM,wBAAwB,CAAC;AAEhC,YAAY,EACV,oBAAoB,EACpB,eAAe,GAChB,MAAM,YAAY,CAAC"}
@@ -0,0 +1,4 @@
1
+ export { VuePreprocessor, } from "./vuePreprocessor.js";
2
+ export { SveltePreprocessor, } from "./sveltePreprocessor.js";
3
+ export { AstroPreprocessor, } from "./astroPreprocessor.js";
4
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/analyzers/analysis/preprocessors/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,GAChB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EACL,kBAAkB,GACnB,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EACL,iBAAiB,GAClB,MAAM,wBAAwB,CAAC"}
@@ -0,0 +1,27 @@
1
+ import type { ExtractedScript, LanguagePreprocessor } from "./types.js";
2
+ /**
3
+ * SveltePreprocessor — extracts <script> from Svelte components.
4
+ *
5
+ * Handles Svelte-specific patterns:
6
+ * <script lang="ts"> → TypeScript
7
+ * <script> → JavaScript
8
+ * <script context="module"> → Module-level script (also extracted)
9
+ *
10
+ * Note: Svelte files can have TWO script blocks:
11
+ * 1. <script context="module"> — runs once at module level
12
+ * 2. <script> — runs per component instance
13
+ *
14
+ * We prefer the instance script (no context="module") as it contains
15
+ * the component's reactive declarations, props, and logic.
16
+ * If only a module script exists, we extract that instead.
17
+ *
18
+ * Also handles SvelteKit files — identical .svelte format,
19
+ * one preprocessor covers both Svelte and SvelteKit projects.
20
+ *
21
+ * Returns null for markup-only components with no <script> block.
22
+ */
23
+ export declare class SveltePreprocessor implements LanguagePreprocessor {
24
+ readonly extensions: string[];
25
+ extract(content: string, _filePath: string): ExtractedScript | null;
26
+ }
27
+ //# sourceMappingURL=sveltePreprocessor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sveltePreprocessor.d.ts","sourceRoot":"","sources":["../../../../src/analyzers/analysis/preprocessors/sveltePreprocessor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAExE;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,qBAAa,kBAAmB,YAAW,oBAAoB;IAC7D,QAAQ,CAAC,UAAU,WAAe;IAElC,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,eAAe,GAAG,IAAI;CAkCpE"}
@@ -0,0 +1,50 @@
1
+ /**
2
+ * SveltePreprocessor — extracts <script> from Svelte components.
3
+ *
4
+ * Handles Svelte-specific patterns:
5
+ * <script lang="ts"> → TypeScript
6
+ * <script> → JavaScript
7
+ * <script context="module"> → Module-level script (also extracted)
8
+ *
9
+ * Note: Svelte files can have TWO script blocks:
10
+ * 1. <script context="module"> — runs once at module level
11
+ * 2. <script> — runs per component instance
12
+ *
13
+ * We prefer the instance script (no context="module") as it contains
14
+ * the component's reactive declarations, props, and logic.
15
+ * If only a module script exists, we extract that instead.
16
+ *
17
+ * Also handles SvelteKit files — identical .svelte format,
18
+ * one preprocessor covers both Svelte and SvelteKit projects.
19
+ *
20
+ * Returns null for markup-only components with no <script> block.
21
+ */
22
+ export class SveltePreprocessor {
23
+ extensions = [".svelte"];
24
+ extract(content, _filePath) {
25
+ // Try instance script first (no context="module")
26
+ const instanceMatch = content.match(/<script(?!\s[^>]*context\s*=\s*["']module["'])(\s[^>]*)?\s*>([\s\S]*?)<\/script>/i);
27
+ // Fallback to module script if no instance script
28
+ const moduleMatch = content.match(/<script\s[^>]*context\s*=\s*["']module["'][^>]*>([\s\S]*?)<\/script>/i);
29
+ const match = instanceMatch ?? moduleMatch;
30
+ if (!match)
31
+ return null;
32
+ // For instance match: attrs at index 1, code at index 2
33
+ // For module match: code at index 1
34
+ const attrs = instanceMatch ? (match[1] ?? "") : "";
35
+ const code = instanceMatch ? match[2] : match[1];
36
+ if (!code?.trim())
37
+ return null;
38
+ const isTypeScript = /\blang\s*=\s*["']ts["']/.test(attrs);
39
+ const scriptTagStart = match.index ?? 0;
40
+ const contentStart = scriptTagStart + match[0].indexOf(code);
41
+ const lineOffset = content.slice(0, contentStart).split("\n").length - 1;
42
+ return {
43
+ code,
44
+ language: isTypeScript ? "ts" : "js",
45
+ lineOffset,
46
+ virtualExtension: isTypeScript ? ".ts" : ".js"
47
+ };
48
+ }
49
+ }
50
+ //# sourceMappingURL=sveltePreprocessor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sveltePreprocessor.js","sourceRoot":"","sources":["../../../../src/analyzers/analysis/preprocessors/sveltePreprocessor.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,OAAO,kBAAkB;IACpB,UAAU,GAAG,CAAC,SAAS,CAAC,CAAC;IAElC,OAAO,CAAC,OAAe,EAAE,SAAiB;QACxC,kDAAkD;QAClD,MAAM,aAAa,GAAG,OAAO,CAAC,KAAK,CACjC,mFAAmF,CACpF,CAAC;QAEF,kDAAkD;QAClD,MAAM,WAAW,GAAG,OAAO,CAAC,KAAK,CAC/B,uEAAuE,CACxE,CAAC;QAEF,MAAM,KAAK,GAAG,aAAa,IAAI,WAAW,CAAC;QAC3C,IAAI,CAAC,KAAK;YAAE,OAAO,IAAI,CAAC;QAExB,wDAAwD;QACxD,oCAAoC;QACpC,MAAM,KAAK,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACpD,MAAM,IAAI,GAAG,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAEjD,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE;YAAE,OAAO,IAAI,CAAC;QAE/B,MAAM,YAAY,GAAG,yBAAyB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAE3D,MAAM,cAAc,GAAG,KAAK,CAAC,KAAK,IAAI,CAAC,CAAC;QACxC,MAAM,YAAY,GAAG,cAAc,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAC7D,MAAM,UAAU,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;QAEzE,OAAO;YACL,IAAI;YACJ,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI;YACpC,UAAU;YACV,gBAAgB,EAAE,YAAY,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK;SAC/C,CAAC;IACJ,CAAC;CACF"}
@@ -0,0 +1,45 @@
1
+ /**
2
+ * LanguagePreprocessor — extracts embedded JS/TS from non-native file formats.
3
+ *
4
+ * Some frameworks (Vue, Svelte, Astro) put JS/TS inside a larger file format
5
+ * alongside templates, styles, and markup. ts-morph can only parse pure JS/TS,
6
+ * so these files need a preprocessing step first.
7
+ *
8
+ * Flow:
9
+ * ScannedFile (.vue/.svelte/.astro)
10
+ * → preprocessor.extract()
11
+ * → ExtractedScript (pure TS/JS code)
12
+ * → ts-morph parse
13
+ * → FileAnalysis (confidence: "high")
14
+ *
15
+ * If extract() returns null (e.g. template-only .vue with no <script>),
16
+ * TsMorphAnalyzer returns confidence: "medium" and falls back to empty analysis
17
+ * rather than crashing or passing to HeuristicAnalyzer.
18
+ */
19
+ export interface LanguagePreprocessor {
20
+ /** File extensions this preprocessor handles, e.g. [".vue", ".astro"] */
21
+ readonly extensions: string[];
22
+ /**
23
+ * Extract the JS/TS portion from file content.
24
+ * Returns null if no script block is found (template-only files are valid).
25
+ */
26
+ extract(content: string, filePath: string): ExtractedScript | null;
27
+ }
28
+ export type ExtractedScript = {
29
+ /** Pure JS/TS code, ready for ts-morph to parse */
30
+ code: string;
31
+ /** Whether the extracted code should be treated as TypeScript */
32
+ language: "ts" | "js";
33
+ /**
34
+ * Line offset from the original file start.
35
+ * Used to remap line numbers in analysis results back to original file coords.
36
+ * e.g. if frontmatter starts at line 1 after "---", offset = 1.
37
+ */
38
+ lineOffset: number;
39
+ /**
40
+ * Virtual file extension ts-morph should use when creating the source file.
41
+ * Defaults to .ts or .js based on language field — override only when needed.
42
+ */
43
+ virtualExtension?: ".ts" | ".tsx" | ".js" | ".jsx";
44
+ };
45
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/analyzers/analysis/preprocessors/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,WAAW,oBAAoB;IACnC,yEAAyE;IACzE,QAAQ,CAAC,UAAU,EAAE,MAAM,EAAE,CAAC;IAE9B;;;OAGG;IACH,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,eAAe,GAAG,IAAI,CAAC;CACpE;AAED,MAAM,MAAM,eAAe,GAAG;IAC5B,mDAAmD;IACnD,IAAI,EAAE,MAAM,CAAC;IACb,iEAAiE;IACjE,QAAQ,EAAE,IAAI,GAAG,IAAI,CAAC;IACtB;;;;OAIG;IACH,UAAU,EAAE,MAAM,CAAC;IACnB;;;OAGG;IACH,gBAAgB,CAAC,EAAE,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,MAAM,CAAC;CACpD,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/analyzers/analysis/preprocessors/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,21 @@
1
+ import type { ExtractedScript, LanguagePreprocessor } from "./types.js";
2
+ /**
3
+ * VuePreprocessor — extracts <script> or <script setup> from Vue SFCs.
4
+ *
5
+ * Handles all common Vue SFC patterns:
6
+ * <script lang="ts"> → TypeScript
7
+ * <script setup lang="ts"> → TypeScript (Composition API)
8
+ * <script> → JavaScript
9
+ * <script setup> → JavaScript (Composition API)
10
+ *
11
+ * Also handles Nuxt files — Nuxt uses identical .vue SFC format,
12
+ * so one preprocessor covers both Vue and Nuxt projects.
13
+ *
14
+ * Returns null for template-only components (no <script> block).
15
+ * These are valid in Vue — they're typically pure presentation components.
16
+ */
17
+ export declare class VuePreprocessor implements LanguagePreprocessor {
18
+ readonly extensions: string[];
19
+ extract(content: string, _filePath: string): ExtractedScript | null;
20
+ }
21
+ //# sourceMappingURL=vuePreprocessor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vuePreprocessor.d.ts","sourceRoot":"","sources":["../../../../src/analyzers/analysis/preprocessors/vuePreprocessor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAExE;;;;;;;;;;;;;;GAcG;AACH,qBAAa,eAAgB,YAAW,oBAAoB;IAC1D,QAAQ,CAAC,UAAU,WAAY;IAE/B,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,eAAe,GAAG,IAAI;CA4BpE"}
@@ -0,0 +1,44 @@
1
+ /**
2
+ * VuePreprocessor — extracts <script> or <script setup> from Vue SFCs.
3
+ *
4
+ * Handles all common Vue SFC patterns:
5
+ * <script lang="ts"> → TypeScript
6
+ * <script setup lang="ts"> → TypeScript (Composition API)
7
+ * <script> → JavaScript
8
+ * <script setup> → JavaScript (Composition API)
9
+ *
10
+ * Also handles Nuxt files — Nuxt uses identical .vue SFC format,
11
+ * so one preprocessor covers both Vue and Nuxt projects.
12
+ *
13
+ * Returns null for template-only components (no <script> block).
14
+ * These are valid in Vue — they're typically pure presentation components.
15
+ */
16
+ export class VuePreprocessor {
17
+ extensions = [".vue"];
18
+ extract(content, _filePath) {
19
+ // Match <script> or <script setup> with optional attributes.
20
+ // Non-greedy [\s\S]*? ensures we stop at the first </script>.
21
+ const match = content.match(/<script(\s[^>]*)?\s*>([\s\S]*?)<\/script>/i);
22
+ if (!match)
23
+ return null;
24
+ const attrs = match[1] ?? "";
25
+ const code = match[2];
26
+ // Skip if no meaningful code (whitespace-only script block)
27
+ if (!code.trim())
28
+ return null;
29
+ const isTypeScript = /\blang\s*=\s*["']ts["']/.test(attrs);
30
+ // Calculate line offset: count newlines before the script content starts.
31
+ // match.index = start of <script ...>, match[0].indexOf(code) = offset to content.
32
+ const scriptTagStart = match.index ?? 0;
33
+ const contentStart = scriptTagStart + match[0].indexOf(code);
34
+ const lineOffset = content.slice(0, contentStart).split("\n").length - 1;
35
+ // Use .tsx for TS Vue files since they often contain JSX-like template refs.
36
+ return {
37
+ code,
38
+ language: isTypeScript ? "ts" : "js",
39
+ lineOffset,
40
+ virtualExtension: isTypeScript ? ".tsx" : ".jsx"
41
+ };
42
+ }
43
+ }
44
+ //# sourceMappingURL=vuePreprocessor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vuePreprocessor.js","sourceRoot":"","sources":["../../../../src/analyzers/analysis/preprocessors/vuePreprocessor.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;GAcG;AACH,MAAM,OAAO,eAAe;IACjB,UAAU,GAAG,CAAC,MAAM,CAAC,CAAC;IAE/B,OAAO,CAAC,OAAe,EAAE,SAAiB;QACxC,6DAA6D;QAC7D,8DAA8D;QAC9D,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,4CAA4C,CAAC,CAAC;QAC1E,IAAI,CAAC,KAAK;YAAE,OAAO,IAAI,CAAC;QAExB,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAC7B,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QAEtB,4DAA4D;QAC5D,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;YAAE,OAAO,IAAI,CAAC;QAE9B,MAAM,YAAY,GAAG,yBAAyB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAE3D,0EAA0E;QAC1E,mFAAmF;QACnF,MAAM,cAAc,GAAG,KAAK,CAAC,KAAK,IAAI,CAAC,CAAC;QACxC,MAAM,YAAY,GAAG,cAAc,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAC7D,MAAM,UAAU,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;QAEzE,6EAA6E;QAC7E,OAAO;YACL,IAAI;YACJ,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI;YACpC,UAAU;YACV,gBAAgB,EAAE,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM;SACjD,CAAC;IACJ,CAAC;CACF"}
@@ -0,0 +1,10 @@
1
+ import type { AnalyzerContext, FileAnalysis, FileAnalyzer } from "./fileAnalysis.js";
2
+ import type { ScannedFile } from "./fileScanner.js";
3
+ export declare class TsMorphAnalyzer implements FileAnalyzer {
4
+ readonly id = "ts-morph";
5
+ private readonly project;
6
+ supports(file: ScannedFile): boolean;
7
+ analyze(file: ScannedFile, _context: AnalyzerContext): Promise<FileAnalysis>;
8
+ private analyzeSource;
9
+ }
10
+ //# sourceMappingURL=tsMorphAnalyzer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tsMorphAnalyzer.d.ts","sourceRoot":"","sources":["../../../src/analyzers/analysis/tsMorphAnalyzer.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EACV,eAAe,EACf,YAAY,EACZ,YAAY,EAGb,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAqBpD,qBAAa,eAAgB,YAAW,YAAY;IAClD,QAAQ,CAAC,EAAE,cAAc;IACzB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAOrB;IAEH,QAAQ,CAAC,IAAI,EAAE,WAAW,GAAG,OAAO;IAI9B,OAAO,CAAC,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,eAAe,GAAG,OAAO,CAAC,YAAY,CAAC;IA4BlF,OAAO,CAAC,aAAa;CA6HtB"}
@@ -0,0 +1,190 @@
1
+ import { Node, Project, ScriptTarget, SyntaxKind, VariableDeclarationKind } from "ts-morph";
2
+ import { AstroPreprocessor, SveltePreprocessor, VuePreprocessor } from "./preprocessors/index.js";
3
+ // Native extensions — ts-morph parses these directly, no preprocessing needed.
4
+ const NATIVE_EXTENSIONS = new Set([".ts", ".tsx", ".js", ".jsx"]);
5
+ // Preprocessors handle files that contain embedded JS/TS inside a larger format.
6
+ // Order matters only for logging — each preprocessor's extensions are disjoint.
7
+ const PREPROCESSORS = [
8
+ new VuePreprocessor(), // .vue (also covers Nuxt)
9
+ new SveltePreprocessor(), // .svelte (also covers SvelteKit)
10
+ new AstroPreprocessor(), // .astro
11
+ ];
12
+ // All extensions this analyzer can handle (native + preprocessed)
13
+ const ALL_SUPPORTED_EXTENSIONS = new Set([
14
+ ...NATIVE_EXTENSIONS,
15
+ ...PREPROCESSORS.flatMap((p) => p.extensions),
16
+ ]);
17
+ export class TsMorphAnalyzer {
18
+ id = "ts-morph";
19
+ project = new Project({
20
+ useInMemoryFileSystem: true,
21
+ skipAddingFilesFromTsConfig: true,
22
+ compilerOptions: {
23
+ allowJs: true,
24
+ target: ScriptTarget.ES2022
25
+ }
26
+ });
27
+ supports(file) {
28
+ return ALL_SUPPORTED_EXTENSIONS.has(file.extension);
29
+ }
30
+ async analyze(file, _context) {
31
+ // Native TS/JS files — parse directly
32
+ if (NATIVE_EXTENSIONS.has(file.extension)) {
33
+ return this.analyzeSource(file.path, file.content, file.path);
34
+ }
35
+ // Non-native files — find the right preprocessor and extract script block
36
+ const preprocessor = PREPROCESSORS.find((p) => p.extensions.includes(file.extension));
37
+ if (!preprocessor) {
38
+ // Should never happen since supports() gates this, but safety fallback
39
+ return emptyAnalysis(this.id, "medium");
40
+ }
41
+ const extracted = preprocessor.extract(file.content, file.path);
42
+ if (!extracted) {
43
+ // Valid case: template-only file with no script block (e.g. markup-only .astro)
44
+ // Return empty medium-confidence analysis rather than erroring.
45
+ return emptyAnalysis(this.id, "medium");
46
+ }
47
+ // Build a virtual path with the correct extension so ts-morph applies
48
+ // the right parser (TSX for Vue components, TS for Astro frontmatter, etc.)
49
+ const ext = extracted.virtualExtension ?? (extracted.language === "ts" ? ".ts" : ".js");
50
+ const virtualPath = replaceExtension(file.path, ext);
51
+ return this.analyzeSource(virtualPath, extracted.code, file.path);
52
+ }
53
+ analyzeSource(parsePath, content, _originalPath) {
54
+ const sourceFile = this.project.createSourceFile(parsePath, content, { overwrite: true });
55
+ // --- Imports ---
56
+ const imports = new Set();
57
+ for (const declaration of sourceFile.getImportDeclarations()) {
58
+ imports.add(declaration.getModuleSpecifierValue());
59
+ }
60
+ for (const declaration of sourceFile.getExportDeclarations()) {
61
+ const specifier = declaration.getModuleSpecifierValue();
62
+ if (specifier)
63
+ imports.add(specifier);
64
+ }
65
+ for (const call of sourceFile.getDescendantsOfKind(SyntaxKind.CallExpression)) {
66
+ if (call.getExpression().getText() !== "require")
67
+ continue;
68
+ const argument = call.getArguments()[0];
69
+ if (argument && Node.isStringLiteral(argument)) {
70
+ imports.add(argument.getLiteralValue());
71
+ }
72
+ }
73
+ // --- Exports ---
74
+ const exports = [...sourceFile.getExportedDeclarations().keys()].sort();
75
+ // --- Symbols ---
76
+ const symbols = [];
77
+ for (const statement of sourceFile.getStatements()) {
78
+ if (Node.isFunctionDeclaration(statement) && statement.getName()) {
79
+ symbols.push({
80
+ name: statement.getNameOrThrow(),
81
+ kind: "function",
82
+ line: statement.getStartLineNumber(),
83
+ exported: statement.isExported() || statement.isDefaultExport(),
84
+ async: statement.isAsync()
85
+ });
86
+ continue;
87
+ }
88
+ if (Node.isClassDeclaration(statement) && statement.getName()) {
89
+ const classExported = statement.isExported() || statement.isDefaultExport();
90
+ symbols.push({
91
+ name: statement.getNameOrThrow(),
92
+ kind: "class",
93
+ line: statement.getStartLineNumber(),
94
+ exported: classExported
95
+ });
96
+ for (const method of statement.getMethods()) {
97
+ symbols.push({
98
+ name: method.getName(),
99
+ kind: "method",
100
+ line: method.getStartLineNumber(),
101
+ exported: false,
102
+ async: method.isAsync()
103
+ });
104
+ }
105
+ continue;
106
+ }
107
+ if (Node.isInterfaceDeclaration(statement)) {
108
+ symbols.push(createDeclarationSymbol(statement, "interface"));
109
+ continue;
110
+ }
111
+ if (Node.isTypeAliasDeclaration(statement)) {
112
+ symbols.push(createDeclarationSymbol(statement, "type"));
113
+ continue;
114
+ }
115
+ if (Node.isEnumDeclaration(statement)) {
116
+ symbols.push(createDeclarationSymbol(statement, "enum"));
117
+ continue;
118
+ }
119
+ if (Node.isVariableStatement(statement)
120
+ && statement.getDeclarationKind() === VariableDeclarationKind.Const) {
121
+ for (const declaration of statement.getDeclarations()) {
122
+ const initializer = declaration.getInitializer();
123
+ symbols.push({
124
+ name: declaration.getName(),
125
+ kind: "const",
126
+ line: declaration.getStartLineNumber(),
127
+ exported: statement.isExported(),
128
+ async: Boolean(initializer
129
+ && (Node.isArrowFunction(initializer) || Node.isFunctionExpression(initializer))
130
+ && initializer.isAsync())
131
+ });
132
+ }
133
+ }
134
+ }
135
+ // --- Top functions ---
136
+ const topFunctions = symbols
137
+ .filter((symbol) => ["function", "const", "class", "method"].includes(symbol.kind))
138
+ .map((symbol) => ({
139
+ name: symbol.name,
140
+ kind: symbol.kind,
141
+ line: symbol.line,
142
+ exported: symbol.exported,
143
+ async: symbol.async ?? false
144
+ }))
145
+ .sort(compareFunctions)
146
+ .slice(0, 8);
147
+ this.project.removeSourceFile(sourceFile);
148
+ return {
149
+ analyzer: this.id,
150
+ confidence: "high",
151
+ imports: [...imports],
152
+ exports,
153
+ symbols,
154
+ topFunctions
155
+ };
156
+ }
157
+ }
158
+ // ---------------------------------------------------------------------------
159
+ // Helpers
160
+ // ---------------------------------------------------------------------------
161
+ function replaceExtension(filePath, newExt) {
162
+ const lastDot = filePath.lastIndexOf(".");
163
+ if (lastDot === -1)
164
+ return filePath + newExt;
165
+ return filePath.slice(0, lastDot) + newExt;
166
+ }
167
+ function emptyAnalysis(analyzerId, confidence) {
168
+ return {
169
+ analyzer: analyzerId,
170
+ confidence,
171
+ imports: [],
172
+ exports: [],
173
+ symbols: [],
174
+ topFunctions: []
175
+ };
176
+ }
177
+ function createDeclarationSymbol(declaration, kind) {
178
+ return {
179
+ name: declaration.getName(),
180
+ kind,
181
+ line: declaration.getStartLineNumber(),
182
+ exported: declaration.isExported() || declaration.isDefaultExport()
183
+ };
184
+ }
185
+ function compareFunctions(left, right) {
186
+ return Number(right.exported) - Number(left.exported)
187
+ || left.line - right.line
188
+ || left.name.localeCompare(right.name);
189
+ }
190
+ //# sourceMappingURL=tsMorphAnalyzer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tsMorphAnalyzer.js","sourceRoot":"","sources":["../../../src/analyzers/analysis/tsMorphAnalyzer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,28 @@
1
+ import type { RouteInfo } from "./routeDetector.js";
2
+ import type { EntityGraph } from "../analysis/index.js";
3
+ export type CapabilityKind = "crud" | "sharing" | "collaboration" | "discovery" | "publishing" | "social" | "file-management" | "real-time" | "search" | "reporting";
4
+ export type CapabilityInfo = {
5
+ kind: CapabilityKind;
6
+ name: string;
7
+ /** Entity yang capability ini beroperasi di atasnya */
8
+ entities: string[];
9
+ /** Route files sebagai evidence */
10
+ evidence: string[];
11
+ confidence: "high" | "medium" | "low";
12
+ };
13
+ /**
14
+ * detectCapabilities — derive capabilities dari route patterns + entity graph.
15
+ *
16
+ * Berbeda dari featureDetector yang detect *library* yang dipakai (Stripe, Redis, dll),
17
+ * capabilityDetector detect *perilaku* yang di-expose project via routes.
18
+ *
19
+ * Contoh:
20
+ * GET+POST+PUT+DELETE /snippets → crud capability pada entity "Snippet"
21
+ * POST /snippets/[id]/share → sharing capability
22
+ * POST /workspaces/[id]/members → collaboration capability
23
+ *
24
+ * Input: RouteInfo[] + EntityGraph (untuk entity name mapping)
25
+ * Output: CapabilityInfo[]
26
+ */
27
+ export declare function detectCapabilities(routes: RouteInfo[], entityGraph: EntityGraph): CapabilityInfo[];
28
+ //# sourceMappingURL=capabilityDetector.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"capabilityDetector.d.ts","sourceRoot":"","sources":["../../../src/analyzers/detectors/capabilityDetector.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAMxD,MAAM,MAAM,cAAc,GACtB,MAAM,GACN,SAAS,GACT,eAAe,GACf,WAAW,GACX,YAAY,GACZ,QAAQ,GACR,iBAAiB,GACjB,WAAW,GACX,QAAQ,GACR,WAAW,CAAC;AAEhB,MAAM,MAAM,cAAc,GAAG;IAC3B,IAAI,EAAE,cAAc,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,uDAAuD;IACvD,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,mCAAmC;IACnC,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,UAAU,EAAE,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAC;CACvC,CAAC;AAMF;;;;;;;;;;;;;GAaG;AACH,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,SAAS,EAAE,EACnB,WAAW,EAAE,WAAW,GACvB,cAAc,EAAE,CAmBlB"}