@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 @@
1
+ {"version":3,"file":"featureDetector.js","sourceRoot":"","sources":["../../../src/analyzers/features/featureDetector.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,65 @@
1
+ /**
2
+ * featureMerge.ts
3
+ *
4
+ * Centralized feature merge logic.
5
+ *
6
+ * Sebelumnya merge tersebar di dua tempat:
7
+ * 1. featureDetector.ts → mergeFeature() pakai normalizeFeatureName (string only)
8
+ * 2. projectMap.ts → domain feature merge pakai f.name.toLowerCase() equality
9
+ *
10
+ * Keduanya punya flaw yang sama: bergantung pada nama sebagai identity.
11
+ * "Plan Management" dan "Customizable Plans" tidak akan di-merge karena nama berbeda.
12
+ *
13
+ * Refactor ini:
14
+ * - Ganti kedua merge sites dengan satu fungsi: mergeIntoFeatureList()
15
+ * - Pakai featureSimilarity.ts sebagai basis comparison
16
+ * - Canonical name: first-seen wins (stabil antar-run)
17
+ * - Merge enriches data (files, terms, entities) tanpa rename feature
18
+ */
19
+ import type { FeatureInfo } from "./featureDetector.js";
20
+ import { type FeatureIdentity } from "./featureSimilarity.js";
21
+ export declare function toFeatureIdentity(feature: FeatureInfo): FeatureIdentity;
22
+ /**
23
+ * mergeIntoFeatureList — merge satu feature ke list yang sudah ada.
24
+ *
25
+ * Algorithm:
26
+ * 1. Cari existing feature yang similar (pakai similarity engine)
27
+ * 2. Kalau ditemukan → enrich existing (files, terms, entities), jangan rename
28
+ * 3. Kalau tidak ditemukan → tambah sebagai feature baru
29
+ *
30
+ * Canonical name: feature pertama yang masuk MENANG — tidak pernah di-overwrite.
31
+ * Ini kunci stabilitas: walaupun AI run ke-2 generate "Customizable Plans",
32
+ * kalau "Plan Management" sudah ada di list, namanya tetap "Plan Management".
33
+ *
34
+ * @param features - List feature yang sudah ada (mutated in place)
35
+ * @param addition - Feature baru yang ingin di-merge
36
+ * @param threshold - Similarity threshold (default: DEFAULT_SIMILARITY_THRESHOLD)
37
+ */
38
+ export declare function mergeIntoFeatureList(features: FeatureInfo[], addition: FeatureInfo, threshold?: number): void;
39
+ /**
40
+ * mergeFeatureData — combine data dari dua feature yang sudah diidentifikasi sama.
41
+ *
42
+ * Rules:
43
+ * - name: existing wins (canonical first-seen)
44
+ * - purpose: existing wins KECUALI existing adalah generic fallback
45
+ * - files: union (dedup)
46
+ * - evidence: union (dedup)
47
+ * - searchTerms: union (capped di MAX_SEARCH_TERMS)
48
+ * - confidence: ambil yang lebih tinggi (jangan downgrade)
49
+ * - entryPoints: union — domain feature bisa bawa entryPoints baru
50
+ * - businessFlow: existing wins jika meaningful, fallback ke addition
51
+ */
52
+ export declare function mergeFeatureData(existing: FeatureInfo, addition: FeatureInfo): FeatureInfo;
53
+ /**
54
+ * mergeDomainFeatures — merge semua domain features ke static feature list.
55
+ *
56
+ * Ini menggantikan loop di projectMap.ts yang hanya pakai name.toLowerCase() equality.
57
+ * Sekarang pakai similarity engine sehingga "Customizable Plans" tidak duplicate
58
+ * "Plan Management" yang sudah ada dari static analysis.
59
+ *
60
+ * @param features - Static features (mutated)
61
+ * @param domainFeatures - AI-inferred features
62
+ * @param threshold - Similarity threshold
63
+ */
64
+ export declare function mergeDomainFeatures(features: FeatureInfo[], domainFeatures: FeatureInfo[], threshold?: number): void;
65
+ //# sourceMappingURL=featureMerge.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"featureMerge.d.ts","sourceRoot":"","sources":["../../../src/analyzers/features/featureMerge.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAEL,KAAK,eAAe,EAGrB,MAAM,wBAAwB,CAAC;AAMhC,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,WAAW,GAAG,eAAe,CAUvE;AAwCD;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,WAAW,EAAE,EACvB,QAAQ,EAAE,WAAW,EACrB,SAAS,SAA+B,GACvC,IAAI,CAeN;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,WAAW,EAAE,QAAQ,EAAE,WAAW,GAAG,WAAW,CAsB1F;AAmBD;;;;;;;;;;GAUG;AACH,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,WAAW,EAAE,EACvB,cAAc,EAAE,WAAW,EAAE,EAC7B,SAAS,SAA+B,GACvC,IAAI,CAIN"}
@@ -0,0 +1,168 @@
1
+ /**
2
+ * featureMerge.ts
3
+ *
4
+ * Centralized feature merge logic.
5
+ *
6
+ * Sebelumnya merge tersebar di dua tempat:
7
+ * 1. featureDetector.ts → mergeFeature() pakai normalizeFeatureName (string only)
8
+ * 2. projectMap.ts → domain feature merge pakai f.name.toLowerCase() equality
9
+ *
10
+ * Keduanya punya flaw yang sama: bergantung pada nama sebagai identity.
11
+ * "Plan Management" dan "Customizable Plans" tidak akan di-merge karena nama berbeda.
12
+ *
13
+ * Refactor ini:
14
+ * - Ganti kedua merge sites dengan satu fungsi: mergeIntoFeatureList()
15
+ * - Pakai featureSimilarity.ts sebagai basis comparison
16
+ * - Canonical name: first-seen wins (stabil antar-run)
17
+ * - Merge enriches data (files, terms, entities) tanpa rename feature
18
+ */
19
+ import { findSimilarFeature, MAX_SEARCH_TERMS, DEFAULT_SIMILARITY_THRESHOLD, } from "./featureSimilarity.js";
20
+ // ---------------------------------------------------------------------------
21
+ // Convert FeatureInfo ke FeatureIdentity untuk similarity comparison
22
+ // ---------------------------------------------------------------------------
23
+ export function toFeatureIdentity(feature) {
24
+ return {
25
+ name: feature.name,
26
+ // Sort arrays deterministically agar fingerprint dan similarity
27
+ // comparison konsisten antar-run.
28
+ files: [...feature.files].sort(),
29
+ searchTerms: [...feature.searchTerms].sort(),
30
+ relatedEntities: extractRelatedEntities(feature).sort(),
31
+ purpose: feature.purpose,
32
+ };
33
+ }
34
+ /**
35
+ * extractRelatedEntities — derive entity names dari feature data.
36
+ *
37
+ * entityGraphToFeatures() inject entity name + owned/peer names ke searchTerms.
38
+ * capabilitiesToFeatures() juga inject entity names via cap.entities.
39
+ *
40
+ * Filter ketat: hanya entity name dari feature name pattern, bukan asal-asalan
41
+ * dari searchTerms (yang bisa berisi generic technical keywords).
42
+ *
43
+ * entityOverlap di similarity engine tetap dapat sinyal dari searchTerms
44
+ * melalui termOverlap — jadi entityOverlap khusus menangkap entity name
45
+ * yang eksplisit dari feature name "X Management".
46
+ */
47
+ function extractRelatedEntities(feature) {
48
+ const entities = [];
49
+ // Pattern: "X Management" / "X System" / "X Module" → "X" adalah entity
50
+ const nameMatch = feature.name.match(/^(.+?)\s+(?:Management|System|Module|Feature|Service)$/i);
51
+ if (nameMatch) {
52
+ entities.push(nameMatch[1].trim());
53
+ }
54
+ // Hanya ambil searchTerms yang eksplisit Title Case (entity names).
55
+ // searchTerms umumnya lowercase, jadi ini filter natural.
56
+ // Terms dari FEATURE_SIGNALS (technical keywords) tidak akan lulus.
57
+ for (const term of feature.searchTerms) {
58
+ if (/^[A-Z]/.test(term)) {
59
+ entities.push(term);
60
+ }
61
+ }
62
+ return [...new Set(entities)];
63
+ }
64
+ // ---------------------------------------------------------------------------
65
+ // Core merge function
66
+ // ---------------------------------------------------------------------------
67
+ /**
68
+ * mergeIntoFeatureList — merge satu feature ke list yang sudah ada.
69
+ *
70
+ * Algorithm:
71
+ * 1. Cari existing feature yang similar (pakai similarity engine)
72
+ * 2. Kalau ditemukan → enrich existing (files, terms, entities), jangan rename
73
+ * 3. Kalau tidak ditemukan → tambah sebagai feature baru
74
+ *
75
+ * Canonical name: feature pertama yang masuk MENANG — tidak pernah di-overwrite.
76
+ * Ini kunci stabilitas: walaupun AI run ke-2 generate "Customizable Plans",
77
+ * kalau "Plan Management" sudah ada di list, namanya tetap "Plan Management".
78
+ *
79
+ * @param features - List feature yang sudah ada (mutated in place)
80
+ * @param addition - Feature baru yang ingin di-merge
81
+ * @param threshold - Similarity threshold (default: DEFAULT_SIMILARITY_THRESHOLD)
82
+ */
83
+ export function mergeIntoFeatureList(features, addition, threshold = DEFAULT_SIMILARITY_THRESHOLD) {
84
+ const identities = features.map(toFeatureIdentity);
85
+ const additionIdentity = toFeatureIdentity(addition);
86
+ const match = findSimilarFeature(identities, additionIdentity, threshold);
87
+ if (match === null) {
88
+ // Tidak ada yang similar → tambah sebagai feature baru
89
+ features.push(addition);
90
+ return;
91
+ }
92
+ // Similar feature ditemukan → enrich tanpa rename
93
+ const existing = features[match.index];
94
+ features[match.index] = mergeFeatureData(existing, addition);
95
+ }
96
+ /**
97
+ * mergeFeatureData — combine data dari dua feature yang sudah diidentifikasi sama.
98
+ *
99
+ * Rules:
100
+ * - name: existing wins (canonical first-seen)
101
+ * - purpose: existing wins KECUALI existing adalah generic fallback
102
+ * - files: union (dedup)
103
+ * - evidence: union (dedup)
104
+ * - searchTerms: union (capped di MAX_SEARCH_TERMS)
105
+ * - confidence: ambil yang lebih tinggi (jangan downgrade)
106
+ * - entryPoints: union — domain feature bisa bawa entryPoints baru
107
+ * - businessFlow: existing wins jika meaningful, fallback ke addition
108
+ */
109
+ export function mergeFeatureData(existing, addition) {
110
+ const resolvedPurpose = isGenericPurpose(existing.purpose) && !isGenericPurpose(addition.purpose)
111
+ ? addition.purpose
112
+ : existing.purpose;
113
+ const resolvedBusinessFlow = existing.businessFlow.length > 0
114
+ && !isPlaceholderBusinessFlow(existing.businessFlow)
115
+ ? existing.businessFlow
116
+ : addition.businessFlow.length > 0
117
+ ? addition.businessFlow
118
+ : existing.businessFlow;
119
+ return {
120
+ ...existing,
121
+ purpose: resolvedPurpose,
122
+ files: dedup([...existing.files, ...addition.files]),
123
+ evidence: dedup([...existing.evidence, ...addition.evidence]),
124
+ entryPoints: dedup([...existing.entryPoints, ...addition.entryPoints]),
125
+ searchTerms: dedup([...existing.searchTerms, ...addition.searchTerms]).slice(0, MAX_SEARCH_TERMS),
126
+ businessFlow: resolvedBusinessFlow,
127
+ confidence: higherConfidence(existing.confidence, addition.confidence),
128
+ };
129
+ }
130
+ function isGenericPurpose(purpose) {
131
+ const lower = purpose.toLowerCase();
132
+ return (/^identifies .+ capability/i.test(lower)
133
+ || /^manages .+ data and operations\.?$/i.test(lower)
134
+ || lower.length === 0);
135
+ }
136
+ function isPlaceholderBusinessFlow(flow) {
137
+ return flow.length === 1 && /^Identify files related to /i.test(flow[0]);
138
+ }
139
+ // ---------------------------------------------------------------------------
140
+ // Batch merge — untuk domain features dari AI inference
141
+ // ---------------------------------------------------------------------------
142
+ /**
143
+ * mergeDomainFeatures — merge semua domain features ke static feature list.
144
+ *
145
+ * Ini menggantikan loop di projectMap.ts yang hanya pakai name.toLowerCase() equality.
146
+ * Sekarang pakai similarity engine sehingga "Customizable Plans" tidak duplicate
147
+ * "Plan Management" yang sudah ada dari static analysis.
148
+ *
149
+ * @param features - Static features (mutated)
150
+ * @param domainFeatures - AI-inferred features
151
+ * @param threshold - Similarity threshold
152
+ */
153
+ export function mergeDomainFeatures(features, domainFeatures, threshold = DEFAULT_SIMILARITY_THRESHOLD) {
154
+ for (const df of domainFeatures) {
155
+ mergeIntoFeatureList(features, df, threshold);
156
+ }
157
+ }
158
+ // ---------------------------------------------------------------------------
159
+ // Helpers
160
+ // ---------------------------------------------------------------------------
161
+ function dedup(arr) {
162
+ return [...new Set(arr)];
163
+ }
164
+ function higherConfidence(a, b) {
165
+ const rank = { high: 2, medium: 1, low: 0 };
166
+ return rank[a] >= rank[b] ? a : b;
167
+ }
168
+ //# sourceMappingURL=featureMerge.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"featureMerge.js","sourceRoot":"","sources":["../../../src/analyzers/features/featureMerge.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,152 @@
1
+ /**
2
+ * featureSimilarity.ts
3
+ *
4
+ * Reusable similarity engine untuk feature identity comparison.
5
+ *
6
+ * Design goals:
7
+ * - Tidak bergantung pada feature name sebagai primary identity
8
+ * - Weighted multi-factor scoring: files, entities, searchTerms, description
9
+ * - Groundwork untuk future fingerprint system
10
+ * - No heuristic string tricks (substring, includes, normalize-only)
11
+ *
12
+ * Scoring model:
13
+ * Setiap faktor diberi bobot berbeda tergantung reliability-nya.
14
+ * File overlap = paling reliable (concrete evidence).
15
+ * Name similarity = least reliable (AI dapat berubah wording).
16
+ *
17
+ * Composite score 0.0 - 1.0.
18
+ * Threshold default 0.35 — dipilih biar:
19
+ * - "Plan Management" ↔ "Customizable Plans" MATCH (entity + terms overlap)
20
+ * - "Authentication" ↔ "Search" TIDAK MATCH (no overlap)
21
+ * - "Search" ↔ "Search Functionality" MATCH (terms overlap)
22
+ */
23
+ export type FeatureIdentity = {
24
+ name: string;
25
+ /** File paths yang di-associate ke feature ini */
26
+ files: string[];
27
+ /** Search terms — keyword from signal definitions, entity names, etc. */
28
+ searchTerms: string[];
29
+ /** Related entity names — dari entityGraph atau domainFeature.relatedEntities */
30
+ relatedEntities: string[];
31
+ /** Purpose / description string — dipakai sebagai soft signal */
32
+ purpose?: string;
33
+ };
34
+ /**
35
+ * MAX_SEARCH_TERMS — cross-cutting constant untuk search term cap.
36
+ * Konsisten dengan featureDetector. Dipakai di similarity engine dan merge.
37
+ */
38
+ export declare const MAX_SEARCH_TERMS = 8;
39
+ /**
40
+ * FeatureSimilarityConfig — weights dan threshold yang bisa di-override.
41
+ */
42
+ export type FeatureSimilarityConfig = {
43
+ weights: {
44
+ fileOverlap: number;
45
+ termOverlap: number;
46
+ entityOverlap: number;
47
+ nameSimilarity: number;
48
+ };
49
+ threshold: number;
50
+ };
51
+ export declare const DEFAULT_SIMILARITY_CONFIG: FeatureSimilarityConfig;
52
+ /**
53
+ * DEFAULT_SIMILARITY_THRESHOLD — backward compat alias.
54
+ */
55
+ export declare const DEFAULT_SIMILARITY_THRESHOLD: number;
56
+ /**
57
+ * computeSimilarity — hitung composite similarity score antara dua feature.
58
+ *
59
+ * @returns 0.0 - 1.0 (0 = no similarity, 1 = identical)
60
+ */
61
+ export declare function computeSimilarity(a: FeatureIdentity, b: FeatureIdentity, config?: FeatureSimilarityConfig): number;
62
+ /**
63
+ * isSimilarFeature — convenience wrapper dengan threshold.
64
+ */
65
+ export declare function isSimilarFeature(a: FeatureIdentity, b: FeatureIdentity, thresholdOrConfig?: number | FeatureSimilarityConfig): boolean;
66
+ /**
67
+ * findSimilarFeature — cari feature di list yang paling similar ke candidate.
68
+ *
69
+ * Return { index, score } dari match terbaik, atau null kalau tidak ada yang
70
+ * melewati threshold.
71
+ */
72
+ export declare function findSimilarFeature(candidates: FeatureIdentity[], target: FeatureIdentity, thresholdOrConfig?: number | FeatureSimilarityConfig): {
73
+ index: number;
74
+ score: number;
75
+ } | null;
76
+ /**
77
+ * SimilarityExplanation — breakdown per faktor + reasons.
78
+ * @internal — kandidat masuk devmap doctor output nanti, bukan public API.
79
+ */
80
+ export type SimilarityExplanation = {
81
+ score: number;
82
+ threshold: number;
83
+ similar: boolean;
84
+ factors: {
85
+ fileOverlap: {
86
+ score: number;
87
+ weight: number;
88
+ contribution: number;
89
+ detail: string;
90
+ };
91
+ termOverlap: {
92
+ score: number;
93
+ weight: number;
94
+ contribution: number;
95
+ detail: string;
96
+ };
97
+ entityOverlap: {
98
+ score: number;
99
+ weight: number;
100
+ contribution: number;
101
+ detail: string;
102
+ };
103
+ nameSimilarity: {
104
+ score: number;
105
+ weight: number;
106
+ contribution: number;
107
+ detail: string;
108
+ };
109
+ };
110
+ weaknesses: string[];
111
+ };
112
+ /**
113
+ * computeSimilarityWithExplanation — seperti computeSimilarity, tapi return
114
+ * breakdown detail buat debugging.
115
+ * @internal
116
+ */
117
+ export declare function computeSimilarityWithExplanation(a: FeatureIdentity, b: FeatureIdentity, config?: FeatureSimilarityConfig): SimilarityExplanation;
118
+ /**
119
+ * jaccardSimilarity — |A ∩ B| / |A ∪ B|
120
+ *
121
+ * Dipakai untuk set-based features (files, terms, entities).
122
+ * Return 1.0 kalau keduanya empty (dua feature tanpa data tidak conflicting).
123
+ * Return 0.0 kalau salah satu empty dan yang lain tidak.
124
+ */
125
+ export declare function jaccardSimilarity(a: Set<string>, b: Set<string>): number;
126
+ /**
127
+ * trigramSimilarity — Dice coefficient pada character trigrams.
128
+ *
129
+ * Lebih robust dari Levenshtein untuk perbandingan nama pendek.
130
+ * "Plan Management" ↔ "Customizable Plans" → ~0.28
131
+ * "Authentication" ↔ "Authentication System" → ~0.82
132
+ * "Search" ↔ "Search Functionality" → ~0.55
133
+ *
134
+ * Dipakai sebagai soft signal saja (weight 0.10) karena AI wording volatile.
135
+ */
136
+ export declare function trigramSimilarity(a: string, b: string): number;
137
+ export type FeatureFingerprint = {
138
+ /** Sorted, normalized file paths */
139
+ fileSignature: string;
140
+ /** Sorted, normalized search terms */
141
+ termSignature: string;
142
+ /** Sorted, normalized entity names */
143
+ entitySignature: string;
144
+ };
145
+ export declare function buildFeatureFingerprint(identity: FeatureIdentity): FeatureFingerprint;
146
+ /**
147
+ * fingerprintSimilarity — compare dua fingerprint secara segment-by-segment.
148
+ * Alternative entry point kalau future code ingin compare fingerprints
149
+ * tanpa reconstruct full FeatureIdentity.
150
+ */
151
+ export declare function fingerprintSimilarity(a: FeatureFingerprint, b: FeatureFingerprint): number;
152
+ //# sourceMappingURL=featureSimilarity.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"featureSimilarity.d.ts","sourceRoot":"","sources":["../../../src/analyzers/features/featureSimilarity.ts"],"names":[],"mappings":"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"}