memor-code-cli 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 (418) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +109 -0
  3. package/dist/IntentionalStructure/index.d.ts +13 -0
  4. package/dist/IntentionalStructure/index.d.ts.map +1 -0
  5. package/dist/IntentionalStructure/index.js +46 -0
  6. package/dist/IntentionalStructure/index.js.map +1 -0
  7. package/dist/IntentionalStructure/parseCompose.d.ts +13 -0
  8. package/dist/IntentionalStructure/parseCompose.d.ts.map +1 -0
  9. package/dist/IntentionalStructure/parseCompose.js +234 -0
  10. package/dist/IntentionalStructure/parseCompose.js.map +1 -0
  11. package/dist/IntentionalStructure/parseDeployConfigs.d.ts +7 -0
  12. package/dist/IntentionalStructure/parseDeployConfigs.d.ts.map +1 -0
  13. package/dist/IntentionalStructure/parseDeployConfigs.js +168 -0
  14. package/dist/IntentionalStructure/parseDeployConfigs.js.map +1 -0
  15. package/dist/IntentionalStructure/parseEnvWiring.d.ts +7 -0
  16. package/dist/IntentionalStructure/parseEnvWiring.d.ts.map +1 -0
  17. package/dist/IntentionalStructure/parseEnvWiring.js +159 -0
  18. package/dist/IntentionalStructure/parseEnvWiring.js.map +1 -0
  19. package/dist/IntentionalStructure/parseWorkspaces.d.ts +8 -0
  20. package/dist/IntentionalStructure/parseWorkspaces.d.ts.map +1 -0
  21. package/dist/IntentionalStructure/parseWorkspaces.js +179 -0
  22. package/dist/IntentionalStructure/parseWorkspaces.js.map +1 -0
  23. package/dist/IntentionalStructure/types.d.ts +34 -0
  24. package/dist/IntentionalStructure/types.d.ts.map +1 -0
  25. package/dist/IntentionalStructure/types.js +8 -0
  26. package/dist/IntentionalStructure/types.js.map +1 -0
  27. package/dist/RepoTypeDetection/applyRepoModeConsistency.d.ts +11 -0
  28. package/dist/RepoTypeDetection/applyRepoModeConsistency.d.ts.map +1 -0
  29. package/dist/RepoTypeDetection/applyRepoModeConsistency.js +53 -0
  30. package/dist/RepoTypeDetection/applyRepoModeConsistency.js.map +1 -0
  31. package/dist/RepoTypeDetection/detectAppArchetype.d.ts +12 -0
  32. package/dist/RepoTypeDetection/detectAppArchetype.d.ts.map +1 -0
  33. package/dist/RepoTypeDetection/detectAppArchetype.js +162 -0
  34. package/dist/RepoTypeDetection/detectAppArchetype.js.map +1 -0
  35. package/dist/RepoTypeDetection/detectPackageArchetype.d.ts +10 -0
  36. package/dist/RepoTypeDetection/detectPackageArchetype.d.ts.map +1 -0
  37. package/dist/RepoTypeDetection/detectPackageArchetype.js +149 -0
  38. package/dist/RepoTypeDetection/detectPackageArchetype.js.map +1 -0
  39. package/dist/RepoTypeDetection/detectRepoCenterSystems.d.ts +11 -0
  40. package/dist/RepoTypeDetection/detectRepoCenterSystems.d.ts.map +1 -0
  41. package/dist/RepoTypeDetection/detectRepoCenterSystems.js +123 -0
  42. package/dist/RepoTypeDetection/detectRepoCenterSystems.js.map +1 -0
  43. package/dist/RepoTypeDetection/detectRepoMode.d.ts +16 -0
  44. package/dist/RepoTypeDetection/detectRepoMode.d.ts.map +1 -0
  45. package/dist/RepoTypeDetection/detectRepoMode.js +338 -0
  46. package/dist/RepoTypeDetection/detectRepoMode.js.map +1 -0
  47. package/dist/RepoTypeDetection/detectRepoSignals.d.ts +13 -0
  48. package/dist/RepoTypeDetection/detectRepoSignals.d.ts.map +1 -0
  49. package/dist/RepoTypeDetection/detectRepoSignals.js +451 -0
  50. package/dist/RepoTypeDetection/detectRepoSignals.js.map +1 -0
  51. package/dist/RepoTypeDetection/inferSupportRole.d.ts +8 -0
  52. package/dist/RepoTypeDetection/inferSupportRole.d.ts.map +1 -0
  53. package/dist/RepoTypeDetection/inferSupportRole.js +177 -0
  54. package/dist/RepoTypeDetection/inferSupportRole.js.map +1 -0
  55. package/dist/RuntimeInference/detectEnvConsumers.d.ts +7 -0
  56. package/dist/RuntimeInference/detectEnvConsumers.d.ts.map +1 -0
  57. package/dist/RuntimeInference/detectEnvConsumers.js +108 -0
  58. package/dist/RuntimeInference/detectEnvConsumers.js.map +1 -0
  59. package/dist/RuntimeInference/detectHttpEdges.d.ts +4 -0
  60. package/dist/RuntimeInference/detectHttpEdges.d.ts.map +1 -0
  61. package/dist/RuntimeInference/detectHttpEdges.js +146 -0
  62. package/dist/RuntimeInference/detectHttpEdges.js.map +1 -0
  63. package/dist/RuntimeInference/detectOrmConsumers.d.ts +5 -0
  64. package/dist/RuntimeInference/detectOrmConsumers.d.ts.map +1 -0
  65. package/dist/RuntimeInference/detectOrmConsumers.js +117 -0
  66. package/dist/RuntimeInference/detectOrmConsumers.js.map +1 -0
  67. package/dist/RuntimeInference/detectProxyRewrites.d.ts +5 -0
  68. package/dist/RuntimeInference/detectProxyRewrites.d.ts.map +1 -0
  69. package/dist/RuntimeInference/detectProxyRewrites.js +137 -0
  70. package/dist/RuntimeInference/detectProxyRewrites.js.map +1 -0
  71. package/dist/RuntimeInference/detectTrpcEdges.d.ts +4 -0
  72. package/dist/RuntimeInference/detectTrpcEdges.d.ts.map +1 -0
  73. package/dist/RuntimeInference/detectTrpcEdges.js +137 -0
  74. package/dist/RuntimeInference/detectTrpcEdges.js.map +1 -0
  75. package/dist/RuntimeInference/index.d.ts +17 -0
  76. package/dist/RuntimeInference/index.d.ts.map +1 -0
  77. package/dist/RuntimeInference/index.js +32 -0
  78. package/dist/RuntimeInference/index.js.map +1 -0
  79. package/dist/RuntimeInference/types.d.ts +8 -0
  80. package/dist/RuntimeInference/types.d.ts.map +1 -0
  81. package/dist/RuntimeInference/types.js +3 -0
  82. package/dist/RuntimeInference/types.js.map +1 -0
  83. package/dist/SystemSynthesis/index.d.ts +27 -0
  84. package/dist/SystemSynthesis/index.d.ts.map +1 -0
  85. package/dist/SystemSynthesis/index.js +31 -0
  86. package/dist/SystemSynthesis/index.js.map +1 -0
  87. package/dist/SystemSynthesis/mergeLayerOutputs.d.ts +13 -0
  88. package/dist/SystemSynthesis/mergeLayerOutputs.d.ts.map +1 -0
  89. package/dist/SystemSynthesis/mergeLayerOutputs.js +220 -0
  90. package/dist/SystemSynthesis/mergeLayerOutputs.js.map +1 -0
  91. package/dist/SystemSynthesis/stampDeterministic.d.ts +11 -0
  92. package/dist/SystemSynthesis/stampDeterministic.d.ts.map +1 -0
  93. package/dist/SystemSynthesis/stampDeterministic.js +177 -0
  94. package/dist/SystemSynthesis/stampDeterministic.js.map +1 -0
  95. package/dist/SystemSynthesis/synthesize.d.ts +15 -0
  96. package/dist/SystemSynthesis/synthesize.d.ts.map +1 -0
  97. package/dist/SystemSynthesis/synthesize.js +258 -0
  98. package/dist/SystemSynthesis/synthesize.js.map +1 -0
  99. package/dist/SystemSynthesis/types.d.ts +110 -0
  100. package/dist/SystemSynthesis/types.d.ts.map +1 -0
  101. package/dist/SystemSynthesis/types.js +12 -0
  102. package/dist/SystemSynthesis/types.js.map +1 -0
  103. package/dist/amGeneration/buildFlowGraph.d.ts +39 -0
  104. package/dist/amGeneration/buildFlowGraph.d.ts.map +1 -0
  105. package/dist/amGeneration/buildFlowGraph.js +643 -0
  106. package/dist/amGeneration/buildFlowGraph.js.map +1 -0
  107. package/dist/amGeneration/enrichAMEdges.d.ts +16 -0
  108. package/dist/amGeneration/enrichAMEdges.d.ts.map +1 -0
  109. package/dist/amGeneration/enrichAMEdges.js +291 -0
  110. package/dist/amGeneration/enrichAMEdges.js.map +1 -0
  111. package/dist/amGeneration/generateAM.d.ts +23 -0
  112. package/dist/amGeneration/generateAM.d.ts.map +1 -0
  113. package/dist/amGeneration/generateAM.js +131 -0
  114. package/dist/amGeneration/generateAM.js.map +1 -0
  115. package/dist/amGeneration/generateAMForRepo.d.ts +6 -0
  116. package/dist/amGeneration/generateAMForRepo.d.ts.map +1 -0
  117. package/dist/amGeneration/generateAMForRepo.js +130 -0
  118. package/dist/amGeneration/generateAMForRepo.js.map +1 -0
  119. package/dist/amGeneration/generateFlows.d.ts +27 -0
  120. package/dist/amGeneration/generateFlows.d.ts.map +1 -0
  121. package/dist/amGeneration/generateFlows.js +320 -0
  122. package/dist/amGeneration/generateFlows.js.map +1 -0
  123. package/dist/amGeneration/promptBuilder.d.ts +24 -0
  124. package/dist/amGeneration/promptBuilder.d.ts.map +1 -0
  125. package/dist/amGeneration/promptBuilder.js +299 -0
  126. package/dist/amGeneration/promptBuilder.js.map +1 -0
  127. package/dist/amGeneration/selectStrategicFiles.d.ts +42 -0
  128. package/dist/amGeneration/selectStrategicFiles.d.ts.map +1 -0
  129. package/dist/amGeneration/selectStrategicFiles.js +672 -0
  130. package/dist/amGeneration/selectStrategicFiles.js.map +1 -0
  131. package/dist/amGeneration/types.d.ts +83 -0
  132. package/dist/amGeneration/types.d.ts.map +1 -0
  133. package/dist/amGeneration/types.js +9 -0
  134. package/dist/amGeneration/types.js.map +1 -0
  135. package/dist/amSections.d.ts +29 -0
  136. package/dist/amSections.d.ts.map +1 -0
  137. package/dist/amSections.js +424 -0
  138. package/dist/amSections.js.map +1 -0
  139. package/dist/analysis/analysisCache.d.ts +4 -0
  140. package/dist/analysis/analysisCache.d.ts.map +1 -0
  141. package/dist/analysis/analysisCache.js +92 -0
  142. package/dist/analysis/analysisCache.js.map +1 -0
  143. package/dist/analysis/buildBranchStory.d.ts +95 -0
  144. package/dist/analysis/buildBranchStory.d.ts.map +1 -0
  145. package/dist/analysis/buildBranchStory.js +1264 -0
  146. package/dist/analysis/buildBranchStory.js.map +1 -0
  147. package/dist/analysis/buildDetailedFileXRay.d.ts +49 -0
  148. package/dist/analysis/buildDetailedFileXRay.d.ts.map +1 -0
  149. package/dist/analysis/buildDetailedFileXRay.js +607 -0
  150. package/dist/analysis/buildDetailedFileXRay.js.map +1 -0
  151. package/dist/analysis/buildFileXRay.d.ts +35 -0
  152. package/dist/analysis/buildFileXRay.d.ts.map +1 -0
  153. package/dist/analysis/buildFileXRay.js +305 -0
  154. package/dist/analysis/buildFileXRay.js.map +1 -0
  155. package/dist/analysis/classifySilentKiller.d.ts +14 -0
  156. package/dist/analysis/classifySilentKiller.d.ts.map +1 -0
  157. package/dist/analysis/classifySilentKiller.js +235 -0
  158. package/dist/analysis/classifySilentKiller.js.map +1 -0
  159. package/dist/analysis/diffChunks.d.ts +21 -0
  160. package/dist/analysis/diffChunks.d.ts.map +1 -0
  161. package/dist/analysis/diffChunks.js +302 -0
  162. package/dist/analysis/diffChunks.js.map +1 -0
  163. package/dist/analysis/extractRouteMap.d.ts +49 -0
  164. package/dist/analysis/extractRouteMap.d.ts.map +1 -0
  165. package/dist/analysis/extractRouteMap.js +354 -0
  166. package/dist/analysis/extractRouteMap.js.map +1 -0
  167. package/dist/analysis/generateFileInsight.d.ts +19 -0
  168. package/dist/analysis/generateFileInsight.d.ts.map +1 -0
  169. package/dist/analysis/generateFileInsight.js +103 -0
  170. package/dist/analysis/generateFileInsight.js.map +1 -0
  171. package/dist/analysis/llmXRay.d.ts +39 -0
  172. package/dist/analysis/llmXRay.d.ts.map +1 -0
  173. package/dist/analysis/llmXRay.js +208 -0
  174. package/dist/analysis/llmXRay.js.map +1 -0
  175. package/dist/analysis/simulateFailure.d.ts +44 -0
  176. package/dist/analysis/simulateFailure.d.ts.map +1 -0
  177. package/dist/analysis/simulateFailure.js +407 -0
  178. package/dist/analysis/simulateFailure.js.map +1 -0
  179. package/dist/anthropic.d.ts +3 -0
  180. package/dist/anthropic.d.ts.map +1 -0
  181. package/dist/anthropic.js +16 -0
  182. package/dist/anthropic.js.map +1 -0
  183. package/dist/app/buildAppPage.d.ts +34 -0
  184. package/dist/app/buildAppPage.d.ts.map +1 -0
  185. package/dist/app/buildAppPage.js +3085 -0
  186. package/dist/app/buildAppPage.js.map +1 -0
  187. package/dist/app-bundle.js +122 -0
  188. package/dist/buildAppData.d.ts +3 -0
  189. package/dist/buildAppData.d.ts.map +1 -0
  190. package/dist/buildAppData.js +207 -0
  191. package/dist/buildAppData.js.map +1 -0
  192. package/dist/builders/analyzeRepo.d.ts +25 -0
  193. package/dist/builders/analyzeRepo.d.ts.map +1 -0
  194. package/dist/builders/analyzeRepo.js +873 -0
  195. package/dist/builders/analyzeRepo.js.map +1 -0
  196. package/dist/builders/buildSystemConnections.d.ts +3 -0
  197. package/dist/builders/buildSystemConnections.d.ts.map +1 -0
  198. package/dist/builders/buildSystemConnections.js +388 -0
  199. package/dist/builders/buildSystemConnections.js.map +1 -0
  200. package/dist/builders/buildTextSummary.d.ts +61 -0
  201. package/dist/builders/buildTextSummary.d.ts.map +1 -0
  202. package/dist/builders/buildTextSummary.js +178 -0
  203. package/dist/builders/buildTextSummary.js.map +1 -0
  204. package/dist/builders/deriveRecommendedStartPath.d.ts +11 -0
  205. package/dist/builders/deriveRecommendedStartPath.d.ts.map +1 -0
  206. package/dist/builders/deriveRecommendedStartPath.js +140 -0
  207. package/dist/builders/deriveRecommendedStartPath.js.map +1 -0
  208. package/dist/builders/deriveRuntimeRole.d.ts +4 -0
  209. package/dist/builders/deriveRuntimeRole.d.ts.map +1 -0
  210. package/dist/builders/deriveRuntimeRole.js +30 -0
  211. package/dist/builders/deriveRuntimeRole.js.map +1 -0
  212. package/dist/builders/detectRunCommands.d.ts +16 -0
  213. package/dist/builders/detectRunCommands.d.ts.map +1 -0
  214. package/dist/builders/detectRunCommands.js +285 -0
  215. package/dist/builders/detectRunCommands.js.map +1 -0
  216. package/dist/builders/generateSystemNarrative.d.ts +12 -0
  217. package/dist/builders/generateSystemNarrative.d.ts.map +1 -0
  218. package/dist/builders/generateSystemNarrative.js +474 -0
  219. package/dist/builders/generateSystemNarrative.js.map +1 -0
  220. package/dist/builders/gitLogParser.d.ts +15 -0
  221. package/dist/builders/gitLogParser.d.ts.map +1 -0
  222. package/dist/builders/gitLogParser.js +116 -0
  223. package/dist/builders/gitLogParser.js.map +1 -0
  224. package/dist/builders/readRepoContext.d.ts +30 -0
  225. package/dist/builders/readRepoContext.d.ts.map +1 -0
  226. package/dist/builders/readRepoContext.js +323 -0
  227. package/dist/builders/readRepoContext.js.map +1 -0
  228. package/dist/builders/readSystemReadme.d.ts +39 -0
  229. package/dist/builders/readSystemReadme.d.ts.map +1 -0
  230. package/dist/builders/readSystemReadme.js +133 -0
  231. package/dist/builders/readSystemReadme.js.map +1 -0
  232. package/dist/builders/systemRanking.d.ts +24 -0
  233. package/dist/builders/systemRanking.d.ts.map +1 -0
  234. package/dist/builders/systemRanking.js +153 -0
  235. package/dist/builders/systemRanking.js.map +1 -0
  236. package/dist/cli.d.ts +3 -0
  237. package/dist/cli.d.ts.map +1 -0
  238. package/dist/cli.js +170 -0
  239. package/dist/cli.js.map +1 -0
  240. package/dist/detectors/applyRunnableConfidenceGate.d.ts +8 -0
  241. package/dist/detectors/applyRunnableConfidenceGate.d.ts.map +1 -0
  242. package/dist/detectors/applyRunnableConfidenceGate.js +166 -0
  243. package/dist/detectors/applyRunnableConfidenceGate.js.map +1 -0
  244. package/dist/detectors/classifySystemType.d.ts +17 -0
  245. package/dist/detectors/classifySystemType.d.ts.map +1 -0
  246. package/dist/detectors/classifySystemType.js +460 -0
  247. package/dist/detectors/classifySystemType.js.map +1 -0
  248. package/dist/detectors/detectAppInternalUnits.d.ts +20 -0
  249. package/dist/detectors/detectAppInternalUnits.d.ts.map +1 -0
  250. package/dist/detectors/detectAppInternalUnits.js +454 -0
  251. package/dist/detectors/detectAppInternalUnits.js.map +1 -0
  252. package/dist/detectors/detectBlocks.d.ts +6 -0
  253. package/dist/detectors/detectBlocks.d.ts.map +1 -0
  254. package/dist/detectors/detectBlocks.js +354 -0
  255. package/dist/detectors/detectBlocks.js.map +1 -0
  256. package/dist/detectors/detectComposeServices.d.ts +23 -0
  257. package/dist/detectors/detectComposeServices.d.ts.map +1 -0
  258. package/dist/detectors/detectComposeServices.js +255 -0
  259. package/dist/detectors/detectComposeServices.js.map +1 -0
  260. package/dist/detectors/detectEntryPoints.d.ts +6 -0
  261. package/dist/detectors/detectEntryPoints.d.ts.map +1 -0
  262. package/dist/detectors/detectEntryPoints.js +376 -0
  263. package/dist/detectors/detectEntryPoints.js.map +1 -0
  264. package/dist/detectors/detectSubsystems.d.ts +6 -0
  265. package/dist/detectors/detectSubsystems.d.ts.map +1 -0
  266. package/dist/detectors/detectSubsystems.js +376 -0
  267. package/dist/detectors/detectSubsystems.js.map +1 -0
  268. package/dist/detectors/detectSystemCandidates.d.ts +3 -0
  269. package/dist/detectors/detectSystemCandidates.d.ts.map +1 -0
  270. package/dist/detectors/detectSystemCandidates.js +577 -0
  271. package/dist/detectors/detectSystemCandidates.js.map +1 -0
  272. package/dist/devWatcher.d.ts +14 -0
  273. package/dist/devWatcher.d.ts.map +1 -0
  274. package/dist/devWatcher.js +96 -0
  275. package/dist/devWatcher.js.map +1 -0
  276. package/dist/graph/buildCodebaseGraph.d.ts +3 -0
  277. package/dist/graph/buildCodebaseGraph.d.ts.map +1 -0
  278. package/dist/graph/buildCodebaseGraph.js +602 -0
  279. package/dist/graph/buildCodebaseGraph.js.map +1 -0
  280. package/dist/graph/buildLLMPayload.d.ts +89 -0
  281. package/dist/graph/buildLLMPayload.d.ts.map +1 -0
  282. package/dist/graph/buildLLMPayload.js +715 -0
  283. package/dist/graph/buildLLMPayload.js.map +1 -0
  284. package/dist/graph/callLLM.d.ts +16 -0
  285. package/dist/graph/callLLM.d.ts.map +1 -0
  286. package/dist/graph/callLLM.js +274 -0
  287. package/dist/graph/callLLM.js.map +1 -0
  288. package/dist/graph/types.d.ts +76 -0
  289. package/dist/graph/types.d.ts.map +1 -0
  290. package/dist/graph/types.js +5 -0
  291. package/dist/graph/types.js.map +1 -0
  292. package/dist/graph/walkExports.d.ts +2 -0
  293. package/dist/graph/walkExports.d.ts.map +1 -0
  294. package/dist/graph/walkExports.js +172 -0
  295. package/dist/graph/walkExports.js.map +1 -0
  296. package/dist/heuristics/file-patterns.json +325 -0
  297. package/dist/heuristics/known-packages.json +1022 -0
  298. package/dist/heuristics/loader.d.ts +121 -0
  299. package/dist/heuristics/loader.d.ts.map +1 -0
  300. package/dist/heuristics/loader.js +196 -0
  301. package/dist/heuristics/loader.js.map +1 -0
  302. package/dist/heuristics/repo-mode-signals.json +248 -0
  303. package/dist/index.d.ts +3 -0
  304. package/dist/index.d.ts.map +1 -0
  305. package/dist/index.js +93 -0
  306. package/dist/index.js.map +1 -0
  307. package/dist/mcp.d.ts +3 -0
  308. package/dist/mcp.d.ts.map +1 -0
  309. package/dist/mcp.js +356 -0
  310. package/dist/mcp.js.map +1 -0
  311. package/dist/scanner/buildImportGraph.d.ts +23 -0
  312. package/dist/scanner/buildImportGraph.d.ts.map +1 -0
  313. package/dist/scanner/buildImportGraph.js +186 -0
  314. package/dist/scanner/buildImportGraph.js.map +1 -0
  315. package/dist/scanner/detectDBOps.d.ts +21 -0
  316. package/dist/scanner/detectDBOps.d.ts.map +1 -0
  317. package/dist/scanner/detectDBOps.js +346 -0
  318. package/dist/scanner/detectDBOps.js.map +1 -0
  319. package/dist/scanner/detectOutbound.d.ts +6 -0
  320. package/dist/scanner/detectOutbound.d.ts.map +1 -0
  321. package/dist/scanner/detectOutbound.js +101 -0
  322. package/dist/scanner/detectOutbound.js.map +1 -0
  323. package/dist/scanner/detectRepoPurpose.d.ts +19 -0
  324. package/dist/scanner/detectRepoPurpose.d.ts.map +1 -0
  325. package/dist/scanner/detectRepoPurpose.js +335 -0
  326. package/dist/scanner/detectRepoPurpose.js.map +1 -0
  327. package/dist/scanner/detectRoutes.d.ts +22 -0
  328. package/dist/scanner/detectRoutes.d.ts.map +1 -0
  329. package/dist/scanner/detectRoutes.js +406 -0
  330. package/dist/scanner/detectRoutes.js.map +1 -0
  331. package/dist/scanner/filterNoise.d.ts +4 -0
  332. package/dist/scanner/filterNoise.d.ts.map +1 -0
  333. package/dist/scanner/filterNoise.js +95 -0
  334. package/dist/scanner/filterNoise.js.map +1 -0
  335. package/dist/scanner/loadTsAliases.d.ts +20 -0
  336. package/dist/scanner/loadTsAliases.d.ts.map +1 -0
  337. package/dist/scanner/loadTsAliases.js +135 -0
  338. package/dist/scanner/loadTsAliases.js.map +1 -0
  339. package/dist/scanner/routeHandlers.d.ts +15 -0
  340. package/dist/scanner/routeHandlers.d.ts.map +1 -0
  341. package/dist/scanner/routeHandlers.js +154 -0
  342. package/dist/scanner/routeHandlers.js.map +1 -0
  343. package/dist/scanner/scanRepo.d.ts +10 -0
  344. package/dist/scanner/scanRepo.d.ts.map +1 -0
  345. package/dist/scanner/scanRepo.js +165 -0
  346. package/dist/scanner/scanRepo.js.map +1 -0
  347. package/dist/scanner/walkImports.d.ts +14 -0
  348. package/dist/scanner/walkImports.d.ts.map +1 -0
  349. package/dist/scanner/walkImports.js +162 -0
  350. package/dist/scanner/walkImports.js.map +1 -0
  351. package/dist/server.d.ts +2 -0
  352. package/dist/server.d.ts.map +1 -0
  353. package/dist/server.js +956 -0
  354. package/dist/server.js.map +1 -0
  355. package/dist/session/diff.d.ts +4 -0
  356. package/dist/session/diff.d.ts.map +1 -0
  357. package/dist/session/diff.js +150 -0
  358. package/dist/session/diff.js.map +1 -0
  359. package/dist/session/snapshot.d.ts +5 -0
  360. package/dist/session/snapshot.d.ts.map +1 -0
  361. package/dist/session/snapshot.js +114 -0
  362. package/dist/session/snapshot.js.map +1 -0
  363. package/dist/session/store.d.ts +8 -0
  364. package/dist/session/store.d.ts.map +1 -0
  365. package/dist/session/store.js +101 -0
  366. package/dist/session/store.js.map +1 -0
  367. package/dist/session/types.d.ts +46 -0
  368. package/dist/session/types.d.ts.map +1 -0
  369. package/dist/session/types.js +4 -0
  370. package/dist/session/types.js.map +1 -0
  371. package/dist/types.d.ts +350 -0
  372. package/dist/types.d.ts.map +1 -0
  373. package/dist/types.js +4 -0
  374. package/dist/types.js.map +1 -0
  375. package/dist/utils/file.d.ts +5 -0
  376. package/dist/utils/file.d.ts.map +1 -0
  377. package/dist/utils/file.js +76 -0
  378. package/dist/utils/file.js.map +1 -0
  379. package/dist/utils/path.d.ts +7 -0
  380. package/dist/utils/path.d.ts.map +1 -0
  381. package/dist/utils/path.js +62 -0
  382. package/dist/utils/path.js.map +1 -0
  383. package/dist/utils/text.d.ts +5 -0
  384. package/dist/utils/text.d.ts.map +1 -0
  385. package/dist/utils/text.js +29 -0
  386. package/dist/utils/text.js.map +1 -0
  387. package/dist/viewBuilders/buildSystemFolders.d.ts +39 -0
  388. package/dist/viewBuilders/buildSystemFolders.d.ts.map +1 -0
  389. package/dist/viewBuilders/buildSystemFolders.js +198 -0
  390. package/dist/viewBuilders/buildSystemFolders.js.map +1 -0
  391. package/dist/watcher/repoWatcher.d.ts +17 -0
  392. package/dist/watcher/repoWatcher.d.ts.map +1 -0
  393. package/dist/watcher/repoWatcher.js +87 -0
  394. package/dist/watcher/repoWatcher.js.map +1 -0
  395. package/package.json +102 -0
  396. package/public/memor_logo.svg +18 -0
  397. package/public/memor_transparent_logo.svg +25 -0
  398. package/public/tIcons/bun.svg +1 -0
  399. package/public/tIcons/css.svg +1 -0
  400. package/public/tIcons/docker.svg +3 -0
  401. package/public/tIcons/expressjs.svg +1 -0
  402. package/public/tIcons/html5.svg +6 -0
  403. package/public/tIcons/javascript.svg +1 -0
  404. package/public/tIcons/jest.svg +4 -0
  405. package/public/tIcons/json.svg +1 -0
  406. package/public/tIcons/markdown-light.svg +1 -0
  407. package/public/tIcons/nestjs.svg +1 -0
  408. package/public/tIcons/nextjs_icon_dark.svg +1 -0
  409. package/public/tIcons/npm.svg +1 -0
  410. package/public/tIcons/pnpm.svg +1 -0
  411. package/public/tIcons/prisma.svg +1 -0
  412. package/public/tIcons/react_dark.svg +11 -0
  413. package/public/tIcons/supabase.svg +15 -0
  414. package/public/tIcons/tailwindcss.svg +1 -0
  415. package/public/tIcons/turborepo-icon-light.svg +1 -0
  416. package/public/tIcons/typescript.svg +1 -0
  417. package/public/tIcons/vite.svg +1 -0
  418. package/public/tIcons/yarn.svg +1 -0
@@ -0,0 +1,299 @@
1
+ "use strict";
2
+ /**
3
+ * promptBuilder — builds the LLM prompt for AM generation.
4
+ *
5
+ * Key upgrades over v1:
6
+ * - File tree in context: LLM sees every path, even files it can't read
7
+ * - layer field: forces explicit "user-facing | api | service | data-client" per system
8
+ * - functions field: real exported function signatures
9
+ * - observations field: architectural notes and gotchas
10
+ * - db_tables field: actual table/column schema for database externals
11
+ */
12
+ Object.defineProperty(exports, "__esModule", { value: true });
13
+ exports.buildAMPrompt = buildAMPrompt;
14
+ const amSections_1 = require("../amSections");
15
+ // ── Helpers ───────────────────────────────────────────────────────────────────
16
+ function buildSectionReference(repoType) {
17
+ const sections = (0, amSections_1.getSectionsForRepoType)(repoType);
18
+ return sections.map((s) => ` - "${s.id}" (${s.name}): ${s.description}`).join("\n");
19
+ }
20
+ function buildGraphSignals(enriched) {
21
+ const nodes = enriched.nodes.filter((n) => n.kind === "cluster" || n.kind === "package");
22
+ const routeOwners = nodes
23
+ .filter((n) => n.routes.length > 0)
24
+ .map((n) => ` ${n.id} → [${n.routes.slice(0, 5).join(", ")}${n.routes.length > 5 ? ", ..." : ""}]`);
25
+ const ormOwners = nodes
26
+ .filter((n) => n.ormUses.length > 0)
27
+ .map((n) => ` ${n.id} (${n.ormUses.join(", ")})`);
28
+ const envOwners = nodes
29
+ .filter((n) => n.envConsumes.length > 0)
30
+ .map((n) => ` ${n.id}: ${n.envConsumes.slice(0, 4).join(", ")}`);
31
+ const topByImports = [...nodes]
32
+ .sort((a, b) => b.inDegree - a.inDegree)
33
+ .slice(0, 6)
34
+ .map((n) => ` ${n.id} (imported by ${n.inDegree})`);
35
+ const lines = [];
36
+ if (routeOwners.length > 0)
37
+ lines.push(`Route owners:\n${routeOwners.join("\n")}`);
38
+ if (ormOwners.length > 0)
39
+ lines.push(`ORM / database users:\n${ormOwners.join("\n")}`);
40
+ if (envOwners.length > 0)
41
+ lines.push(`Env var consumers:\n${envOwners.join("\n")}`);
42
+ if (topByImports.length > 0)
43
+ lines.push(`Most-imported modules:\n${topByImports.join("\n")}`);
44
+ if ((enriched.meta.techStack ?? []).length > 0)
45
+ lines.push(`Detected tech stack: ${(enriched.meta.techStack ?? []).join(", ")}`);
46
+ if ((enriched.meta.dataModels ?? []).length > 0)
47
+ lines.push(`Detected data models: ${(enriched.meta.dataModels ?? []).slice(0, 10).join(", ")}`);
48
+ return lines.join("\n\n");
49
+ }
50
+ function buildFilesBlock(files) {
51
+ return files
52
+ .map((f, i) => `### File ${i + 1}: ${f.relPath}\nReason selected: ${f.reason}\n\`\`\`\n${f.content}\n\`\`\``)
53
+ .join("\n\n");
54
+ }
55
+ function buildWorkspaceManifestsBlock(manifests) {
56
+ if (!manifests.length)
57
+ return "";
58
+ const lines = [
59
+ `This is a monorepo with ${manifests.length} workspace packages.`,
60
+ `DO NOT create one system per package — that produces useless noise.`,
61
+ `Instead, GROUP related packages into 10-18 DOMAIN SYSTEMS based on:`,
62
+ ` - Shared naming prefix (e.g. cohort-*, chart-*, dataset-*)`,
63
+ ` - Shared purpose (UI components, data fetching, auth, API routing)`,
64
+ ` - Inter-package dependency clusters (tightly coupled packages = one system)`,
65
+ `Example groupings for a clinical analytics app:`,
66
+ ` Cohort Analysis system ← cohort-selection, cohort-header, cohort-results-filters`,
67
+ ` Visualization system ← charts, chart-container, chart-tooltips, d3-sunburst`,
68
+ ` API Layer system ← api, fetch-helper, aggregator packages`,
69
+ `Inter-package dependencies reveal which systems call which — they ARE the edges.`,
70
+ `Foundation packages (no internal deps) belong in lower layers (service / data-client).`,
71
+ ``,
72
+ ];
73
+ for (const m of manifests) {
74
+ lines.push(`${m.relDir} [${m.name}]${m.isPrivate ? " (internal)" : ""}`);
75
+ if (m.description)
76
+ lines.push(` Description: ${m.description}`);
77
+ if (m.internalDeps.length)
78
+ lines.push(` Depends on (internal): ${m.internalDeps.join(", ")}`);
79
+ if (m.externalDeps.length)
80
+ lines.push(` Depends on (external): ${m.externalDeps.join(", ")}`);
81
+ if (m.exports.length)
82
+ lines.push(` Exports: ${m.exports.join(" ")}`);
83
+ lines.push("");
84
+ }
85
+ return lines.join("\n");
86
+ }
87
+ // ── JSON Schema ───────────────────────────────────────────────────────────────
88
+ const JSON_SCHEMA = `{
89
+ "repo": {
90
+ "name": "string",
91
+ "type": "full-stack | frontend-app | backend-api | library | cli | serverless | mobile | monorepo",
92
+ "description": "string — 2-3 sentences: what this product does and who uses it",
93
+ "tech": ["string array — detected tech"]
94
+ },
95
+ "systems": [
96
+ {
97
+ "id": "string — kebab-case unique id",
98
+ "name": "string — human name",
99
+ "section": "string — one section id from VALID SECTIONS list",
100
+ "tier": "core | primary | secondary | support",
101
+ "layer": "user-facing | api | service | data-client",
102
+ "description": "string — one clear sentence: what it does and why it matters",
103
+ "owns_routes": ["optional — HTTP routes, e.g. GET /api/events, POST /api/events/[id]"],
104
+ "owns_models": ["optional — data models/entities this system owns"],
105
+ "key_files": ["2-4 actual source file paths with .ts/.js/.tsx extension — NEVER directory paths"],
106
+ "functions": ["optional — actual exported function signatures, e.g. getAllEvents() → EventWithId[]"],
107
+ "observations": ["optional — notable architectural decisions or gotchas, e.g. RSC direct call bypasses API hop"],
108
+ "tech": ["REQUIRED — 2-5 primary technologies, e.g. Next.js, Prisma, Stripe SDK, Zod"]
109
+ }
110
+ ],
111
+ "edges": [
112
+ {
113
+ "from": "system id",
114
+ "to": "system id or external id",
115
+ "label": "string — e.g. getAllEvents() direct RSC call, assertAdmin() cookie check",
116
+ "type": "data | import | event | auth | config",
117
+ "critical": "boolean — true = skeleton edge, false = show on click"
118
+ }
119
+ ],
120
+ "external": [
121
+ {
122
+ "id": "string — e.g. postgres, redis, stripe",
123
+ "name": "string — display name",
124
+ "type": "database | cache | queue | api | auth | storage | cloud | monitoring",
125
+ "used_by": ["system ids"],
126
+ "db_tables": [
127
+ {
128
+ "name": "table name — only for database type",
129
+ "columns": [
130
+ { "col": "column name", "type": "pg type e.g. uuid, text, timestamptz, jsonb, int", "pk": true, "fk": false }
131
+ ]
132
+ }
133
+ ]
134
+ }
135
+ ],
136
+ "flows": [
137
+ {
138
+ "id": "string — kebab-case",
139
+ "name": "string — e.g. User Views Calendar",
140
+ "trigger": "string — e.g. Browser hits /calendar route",
141
+ "steps": [
142
+ { "system_id": "system or external id", "action": "string — specific action, e.g. getAllEvents() queries events table", "is_external": false }
143
+ ]
144
+ }
145
+ ],
146
+ "meta": {
147
+ "total_files": 0,
148
+ "generated_at": "ISO timestamp",
149
+ "strategic_files_read": ["paths"]
150
+ }
151
+ }`;
152
+ // ── Guidance sections ─────────────────────────────────────────────────────────
153
+ const LAYER_GUIDANCE = `LAYER assignment is mandatory. Assign exactly one layer per system:
154
+
155
+ "user-facing" — pages, React components, admin dashboards, anything a browser hits as a URL (not an API endpoint)
156
+ "api" — HTTP route handlers, REST endpoints, GraphQL resolvers, Next.js Route Handlers (app/api/*)
157
+ "service" — business logic, lib/ functions, server-side helpers, data access logic NOT directly exposed as routes
158
+ "data-client" — database clients, ORM config, SDK wrappers (e.g. supabaseAdmin, prismaClient)
159
+
160
+ Critical rule: if a system contains BOTH pages AND API routes, split it or assign the dominant role.
161
+ Never assign "user-facing" to something that only handles /api/* routes.
162
+ Never assign "api" to a lib/ service function that isn't directly routable.
163
+
164
+ The layer field drives the spatial layout:
165
+ Row 0 (top) — user-facing
166
+ Row 1 — api
167
+ Row 2 — service
168
+ Row 3 (bottom) — data-client
169
+ External row — external nodes (databases, third-party APIs)`;
170
+ const TIER_GUIDANCE = `System count: identify 8-18 systems. A real codebase has many distinct concerns.
171
+ Tier rules:
172
+ "core": 1-2 MAX — the runtime product heart. For a UI library: the main component package and styling engine.
173
+ NEVER core: documentation sites, dev tools, CLI tools, codemods, test infrastructure, storybook, config.
174
+ These are ALWAYS "primary" or "secondary" at most — they are not the product.
175
+ "primary": 3-6 — load-bearing systems that users or developers directly depend on.
176
+ "secondary": specific concerns that support primary layer.
177
+ "support": infrastructure, config, types. Never business logic.`;
178
+ const EDGE_GUIDANCE = `Edge labels must be specific — name the actual function call or relationship:
179
+ GOOD: "getAllEvents() — direct RSC call", "assertAdmin() cookie check", "SELECT from events table"
180
+ BAD: "calls", "uses", "connects to"
181
+
182
+ Mark critical=true for 4-7 edges that form the skeleton a new developer MUST understand.
183
+ Always draw edges FROM higher layers TO lower layers (user-facing → api → service → data-client → external).
184
+ STRICT RULE: Never generate circular edges. If A→B exists, B→A must NOT exist. Circular dependencies are architecture bugs, not features — do not model them even if the code has them.`;
185
+ const FUNCTIONS_GUIDANCE = `tech[] field: list the primary technologies, libraries, and frameworks used by this system.
186
+ REQUIRED — always fill this. 2-5 items per system.
187
+ Examples: ["Next.js", "React", "Tailwind"], ["Prisma", "PostgreSQL"], ["Stripe SDK", "Webhooks"], ["tRPC", "Zod"]
188
+ Look at the system's key_files to determine what packages/frameworks they import.
189
+ Use short recognizable names: "Next.js" not "nextjs", "PostgreSQL" not "pg".
190
+
191
+ functions[] field: list the actual exported functions from this system.
192
+ Format: "functionName(params) → ReturnType"
193
+ Example: "getAllEvents() → EventWithId[]", "assertAdmin() — throws if not authed"
194
+ Only include public/exported functions, not internal helpers.
195
+ Max 6 per system.
196
+
197
+ observations[] field: 1-3 notable architectural decisions or gotchas.
198
+ Examples:
199
+ - "RSC server component calls getAllEvents() directly — no API round-trip"
200
+ - "No rate limiting on POST — public write endpoint"
201
+ - "Service role key bypasses RLS — never expose to browser"
202
+ - "Cookie auth (8h TTL) — no NextAuth, no sessions table"`;
203
+ const DB_TABLES_GUIDANCE = `db_tables[] field: for any system with type "database", list the actual tables and their columns.
204
+ Read column names and types from the code you were given (look for type definitions, migrations, INSERT statements).
205
+ Mark pk:true for primary keys, fk:true for foreign keys.
206
+ Include all tables you can identify — even if you only know the table name without columns.`;
207
+ // ── Main export ───────────────────────────────────────────────────────────────
208
+ function buildAMPrompt(ctx) {
209
+ const { strategicFiles, enriched, repoName, repoDescription, repoType, fileTree, workspaceManifests } = ctx;
210
+ const totalFiles = enriched.meta.totalFiles;
211
+ const strategicPaths = strategicFiles.map((f) => f.relPath);
212
+ const manifestsBlock = workspaceManifests?.length ? buildWorkspaceManifestsBlock(workspaceManifests) : "";
213
+ const descriptionLine = repoDescription ? `\nPackage description: ${repoDescription}\n` : "";
214
+ return `You are analyzing "${repoName}" to produce a Memor Architecture Map.${descriptionLine}
215
+
216
+ A Memor Architecture Map gives developers a complete spatial mental model of a codebase:
217
+ - WHAT systems exist (named, purposeful — not file paths or folders)
218
+ - WHERE each system sits architecturally (user-facing → api → service → data layer)
219
+ - HOW they connect (specific function calls, not vague "uses")
220
+ - WHAT data flows they implement (end-to-end request journeys)
221
+
222
+ Your output drives a spatial diagram with 4 horizontal swimlane rows.
223
+ Developers use this to understand a new codebase in minutes.
224
+
225
+ ${manifestsBlock ? `════════════════════════════════════════
226
+ WORKSPACE PACKAGES — complete package inventory
227
+ ════════════════════════════════════════
228
+ ${manifestsBlock}
229
+ ` : ""}════════════════════════════════════════
230
+ FULL FILE TREE (every source file in repo)
231
+ ════════════════════════════════════════
232
+ Use this to understand ALL routes, ALL lib functions, ALL API endpoints — even those not in the strategic files below.
233
+
234
+ \`\`\`
235
+ ${fileTree ?? "(file tree not available)"}
236
+ \`\`\`
237
+
238
+ ════════════════════════════════════════
239
+ GRAPH SIGNALS (from static analysis)
240
+ ════════════════════════════════════════
241
+ ${buildGraphSignals(enriched)}
242
+
243
+ ════════════════════════════════════════
244
+ STRATEGIC FILES — actual code (${strategicFiles.length} of ${totalFiles} total)
245
+ ════════════════════════════════════════
246
+ ${buildFilesBlock(strategicFiles)}
247
+
248
+ ════════════════════════════════════════
249
+ VALID SECTIONS for repo type "${repoType}"
250
+ ════════════════════════════════════════
251
+ ${buildSectionReference(repoType)}
252
+
253
+ ════════════════════════════════════════
254
+ LAYER GUIDANCE (mandatory field)
255
+ ════════════════════════════════════════
256
+ ${LAYER_GUIDANCE}
257
+
258
+ ════════════════════════════════════════
259
+ TIER GUIDANCE
260
+ ════════════════════════════════════════
261
+ ${TIER_GUIDANCE}
262
+
263
+ ════════════════════════════════════════
264
+ EDGE GUIDANCE
265
+ ════════════════════════════════════════
266
+ ${EDGE_GUIDANCE}
267
+
268
+ ════════════════════════════════════════
269
+ FUNCTIONS + OBSERVATIONS GUIDANCE
270
+ ════════════════════════════════════════
271
+ ${FUNCTIONS_GUIDANCE}
272
+
273
+ ════════════════════════════════════════
274
+ DB TABLES GUIDANCE
275
+ ════════════════════════════════════════
276
+ ${DB_TABLES_GUIDANCE}
277
+
278
+ ════════════════════════════════════════
279
+ FLOW GUIDANCE
280
+ ════════════════════════════════════════
281
+ Create 5-7 flows showing end-to-end request journeys.
282
+ Each flow = complete path from browser trigger through all layers to data store.
283
+ Step actions must be specific function names or SQL operations, not generic descriptions.
284
+ system_id must match a system id or external id from your output.
285
+
286
+ ════════════════════════════════════════
287
+ OUTPUT
288
+ ════════════════════════════════════════
289
+ Output ONLY valid JSON. No markdown. No explanation. No comments. Just the JSON.
290
+
291
+ ${JSON_SCHEMA}
292
+
293
+ meta.strategic_files_read = ${JSON.stringify(strategicPaths)}
294
+ meta.total_files = ${totalFiles}
295
+ meta.generated_at = "${new Date().toISOString()}"
296
+
297
+ Output the JSON now:`;
298
+ }
299
+ //# sourceMappingURL=promptBuilder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"promptBuilder.js","sourceRoot":"","sources":["../../src/amGeneration/promptBuilder.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,42 @@
1
+ /**
2
+ * selectStrategicFiles — picks files the LLM should read + builds a file tree.
3
+ *
4
+ * Three-phase selection:
5
+ * Phase 0 — Workspace-aware: For monorepos (pnpm/yarn/npm workspaces), pick 1
6
+ * representative file per workspace package. Ensures every package is
7
+ * represented, not just the first N files found.
8
+ * Phase 1 — Targeted reads: API route handlers, lib/service files, schema files,
9
+ * external clients. Per-pattern caps prevent any one category from
10
+ * consuming all slots.
11
+ * Phase 2 — Graph-signal reads: entry points, route owners, high inDegree.
12
+ * Fill remaining slots up to MAX_FILES.
13
+ *
14
+ * Also exports buildFileTree() — a compact directory listing used in the prompt
15
+ * so the LLM sees every path even if it can't read every file.
16
+ */
17
+ import type { EnrichedGraph } from "../SystemSynthesis/types";
18
+ export type StrategicFile = {
19
+ path: string;
20
+ relPath: string;
21
+ reason: string;
22
+ content: string;
23
+ };
24
+ export declare function buildFileTree(repoRoot: string, workspaceDirs?: Set<string>): Promise<string>;
25
+ export type WorkspaceManifest = {
26
+ relDir: string;
27
+ name: string;
28
+ description?: string;
29
+ internalDeps: string[];
30
+ externalDeps: string[];
31
+ exports: string[];
32
+ isPrivate: boolean;
33
+ };
34
+ /**
35
+ * Read package.json manifests for ALL workspace packages.
36
+ * Returns lightweight summaries used to build the WORKSPACE PACKAGES prompt section.
37
+ * This is the reliable alternative to heuristic source-file selection — package.json
38
+ * always exists and contains names, descriptions, and inter-package dependencies.
39
+ */
40
+ export declare function readWorkspaceManifests(repoRoot: string): Promise<WorkspaceManifest[]>;
41
+ export declare function selectStrategicFiles(enriched: EnrichedGraph, repoRoot: string): Promise<StrategicFile[]>;
42
+ //# sourceMappingURL=selectStrategicFiles.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"selectStrategicFiles.d.ts","sourceRoot":"","sources":["../../src/amGeneration/selectStrategicFiles.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAIH,OAAO,KAAK,EAAE,aAAa,EAAgB,MAAM,0BAA0B,CAAC;AAE5E,MAAM,MAAM,aAAa,GAAG;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAmDF,wBAAsB,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,CAyClG;AAMD,MAAM,MAAM,iBAAiB,GAAG;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,SAAS,EAAE,OAAO,CAAC;CACpB,CAAC;AAkFF;;;;;GAKG;AACH,wBAAsB,sBAAsB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,EAAE,CAAC,CA2D3F;AA8QD,wBAAsB,oBAAoB,CACxC,QAAQ,EAAE,aAAa,EACvB,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,aAAa,EAAE,CAAC,CAmI1B"}