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,407 @@
1
+ "use strict";
2
+ // ── Simulate a Failure — evidence-chain engine ───────────────────────────────
3
+ // Risk is not a property of a file; it is a CHAIN across files + architecture.
4
+ // A "type-only" @types/node bump is safe in isolation — and catastrophic when an
5
+ // import-time schema generator consumes it on the prod startup path that CI never
6
+ // runs (the test-coverage-ui TECH-12975 outage). This engine traces that chain
7
+ // deterministically and emits a tiered pre-mortem the LLM only narrates, never invents.
8
+ //
9
+ // Scope (July 1): PATTERN-001 (runtime_schema_generation) + its extractors, golden-
10
+ // tested against TECH-12975. Everything is static + deterministic. No code execution.
11
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
12
+ if (k2 === undefined) k2 = k;
13
+ var desc = Object.getOwnPropertyDescriptor(m, k);
14
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
15
+ desc = { enumerable: true, get: function() { return m[k]; } };
16
+ }
17
+ Object.defineProperty(o, k2, desc);
18
+ }) : (function(o, m, k, k2) {
19
+ if (k2 === undefined) k2 = k;
20
+ o[k2] = m[k];
21
+ }));
22
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
23
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
24
+ }) : function(o, v) {
25
+ o["default"] = v;
26
+ });
27
+ var __importStar = (this && this.__importStar) || (function () {
28
+ var ownKeys = function(o) {
29
+ ownKeys = Object.getOwnPropertyNames || function (o) {
30
+ var ar = [];
31
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
32
+ return ar;
33
+ };
34
+ return ownKeys(o);
35
+ };
36
+ return function (mod) {
37
+ if (mod && mod.__esModule) return mod;
38
+ var result = {};
39
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
40
+ __setModuleDefault(result, mod);
41
+ return result;
42
+ };
43
+ })();
44
+ var __importDefault = (this && this.__importDefault) || function (mod) {
45
+ return (mod && mod.__esModule) ? mod : { "default": mod };
46
+ };
47
+ Object.defineProperty(exports, "__esModule", { value: true });
48
+ exports.runSimulateFailure = runSimulateFailure;
49
+ const child_process_1 = require("child_process");
50
+ const fs = __importStar(require("fs"));
51
+ const path = __importStar(require("path"));
52
+ const parser_1 = require("@babel/parser");
53
+ const traverse_1 = __importDefault(require("@babel/traverse"));
54
+ // Lines added in a unified diff (the "+" side), trimmed.
55
+ function addedLines(diff) {
56
+ return diff.split("\n").filter(l => l.startsWith("+") && !l.startsWith("+++")).map(l => l.slice(1));
57
+ }
58
+ function readSrc(ctx, file) {
59
+ if (ctx.readSource)
60
+ return ctx.readSource(file);
61
+ try {
62
+ return fs.readFileSync(path.join(ctx.repoRoot, file), "utf8");
63
+ }
64
+ catch {
65
+ return null;
66
+ }
67
+ }
68
+ const isCode = (f) => /\.(ts|tsx|js|jsx|mjs|cjs)$/.test(f) && !/\.(test|spec)\./.test(f) && !/\/__tests__\//.test(f);
69
+ // Did a DTO change alter TYPE STRUCTURE (a property/type), or only comments/JSDoc/whitespace?
70
+ // A comment-only edit cannot change the generated schema or crash the generator — it must
71
+ // not trip the schema-generation pattern. Precision over noise.
72
+ function dtoHasStructuralChange(ctx, file) {
73
+ const diff = ctx.getDiff?.(file);
74
+ if (!diff)
75
+ return false; // can't see the diff → don't fire (avoid false positives)
76
+ const isComment = (l) => l === "" || l.startsWith("*") || l.startsWith("//") || l.startsWith("/*") || l.startsWith("*/") || l.startsWith("/**");
77
+ return diff.split("\n")
78
+ .filter(l => (l.startsWith("+") || l.startsWith("-")) && !l.startsWith("+++") && !l.startsWith("---"))
79
+ .map(l => l.slice(1).trim())
80
+ .some(l => !isComment(l)); // any non-comment added/removed line = a real structural change
81
+ }
82
+ function scanImportTimeSchemaGen(repoRoot) {
83
+ // Candidate files: anything referencing the generator lib or a top-level createSchema.
84
+ let candidates = [];
85
+ try {
86
+ const out = (0, child_process_1.execSync)(`git -C "${repoRoot}" grep -lI -e "ts-json-schema-generator" -e "createGenerator(" -e "createSchema(" -e "buildGenerator(" -- "*.ts" "*.tsx" ":!node_modules" ":!dist"`, { encoding: "utf8", stdio: ["pipe", "pipe", "pipe"], maxBuffer: 2_000_000 }).trim();
87
+ candidates = out ? out.split("\n").filter(Boolean) : [];
88
+ }
89
+ catch {
90
+ candidates = [];
91
+ }
92
+ const hits = [];
93
+ const GEN_CALLS = new Set(["createGenerator", "createSchema", "buildGenerator"]);
94
+ for (const file of candidates) {
95
+ let src = "";
96
+ try {
97
+ src = fs.readFileSync(path.join(repoRoot, file), "utf8");
98
+ }
99
+ catch {
100
+ continue;
101
+ }
102
+ let ast;
103
+ try {
104
+ ast = (0, parser_1.parse)(src, { sourceType: "module", plugins: ["typescript", "jsx", "decorators-legacy"] });
105
+ }
106
+ catch {
107
+ continue;
108
+ }
109
+ (0, traverse_1.default)(ast, {
110
+ CallExpression(p) {
111
+ // Only MODULE-TOP-LEVEL calls are import-time side effects.
112
+ if (p.getFunctionParent())
113
+ return;
114
+ const callee = p.node.callee;
115
+ const name = callee?.name || callee?.property?.name;
116
+ if (name && GEN_CALLS.has(name)) {
117
+ hits.push({ file, line: p.node.loc?.start?.line ?? 0, call: name });
118
+ }
119
+ },
120
+ });
121
+ }
122
+ return hits;
123
+ }
124
+ function analyzeDockerRuntimeFidelity(repoRoot) {
125
+ const cand = ["Dockerfile", "Dockerfile.prod", "docker/Dockerfile", "deploy/Dockerfile"];
126
+ let file = "", content = "";
127
+ for (const c of cand) {
128
+ try {
129
+ content = fs.readFileSync(path.join(repoRoot, c), "utf8");
130
+ file = c;
131
+ break;
132
+ }
133
+ catch { }
134
+ }
135
+ if (!file)
136
+ return null;
137
+ const lines = content.split("\n");
138
+ const find = (re) => { const i = lines.findIndex(l => re.test(l)); return i >= 0 ? i + 1 : undefined; };
139
+ const tsCopyLine = find(/^\s*COPY\b.*(\.ts(\s|$)|\/dto\b|\/dto\/)/i);
140
+ return {
141
+ file,
142
+ copiesTsSources: tsCopyLine !== undefined || /COPY\b.*dto/i.test(content),
143
+ copiesTsSourcesLine: tsCopyLine,
144
+ copiesTsconfig: /COPY\b.*tsconfig/i.test(content),
145
+ prodOnlyInstall: /npm ci\b.*(--only=production|--omit=dev)|--production/i.test(content),
146
+ runsNode: /^\s*(CMD|ENTRYPOINT)\b.*node\b/im.test(content),
147
+ cmdLine: find(/^\s*(CMD|ENTRYPOINT)\b.*node\b/i),
148
+ };
149
+ }
150
+ // ── Extractor: does CI ever load the compiled schema path? (the blind spot) ──
151
+ function ciLoadsSchemaPath(repoRoot) {
152
+ const files = [];
153
+ const add = (rel) => { try {
154
+ if (fs.statSync(path.join(repoRoot, rel)).isFile())
155
+ files.push(rel);
156
+ }
157
+ catch { } };
158
+ add(".gitlab-ci.yml");
159
+ for (const dir of [".gitlab", ".github/workflows", ".circleci"]) {
160
+ try {
161
+ for (const f of fs.readdirSync(path.join(repoRoot, dir)))
162
+ if (/\.ya?ml$/.test(f))
163
+ files.push(path.join(dir, f));
164
+ }
165
+ catch { }
166
+ }
167
+ for (const f of files) {
168
+ let c = "";
169
+ try {
170
+ c = fs.readFileSync(path.join(repoRoot, f), "utf8");
171
+ }
172
+ catch {
173
+ continue;
174
+ }
175
+ if (/require\(.*schemas|node\s+-e.*schemas|schemas\.js|smoke|startup/i.test(c))
176
+ return true;
177
+ }
178
+ return false;
179
+ }
180
+ // Map a source TS path to its compiled JS path for the simulate command.
181
+ function compiledPath(tsFile) {
182
+ const js = tsFile.replace(/\.tsx?$/, ".js");
183
+ return js.startsWith("server/") ? `dist/${js}` : `dist/${js}`;
184
+ }
185
+ // ── PATTERN-001: runtime_schema_generation ──────────────────────────────────
186
+ function patternRuntimeSchemaGen(ctx) {
187
+ const { repoRoot, changed, pkgBefore, pkgAfter } = ctx;
188
+ const changedSet = new Set(changed.map(c => c.file));
189
+ const findings = [];
190
+ // Trigger A — did the diff change something a TS schema generator consumes?
191
+ const depChanged = (name) => {
192
+ const a = { ...(pkgBefore?.dependencies || {}), ...(pkgBefore?.devDependencies || {}) };
193
+ const b = { ...(pkgAfter?.dependencies || {}), ...(pkgAfter?.devDependencies || {}) };
194
+ return Object.keys({ ...a, ...b }).some(k => name.test(k) && a[k] !== b[k]);
195
+ };
196
+ const typesBump = depChanged(/^@types\//) || depChanged(/^typescript$/) || depChanged(/^ts-json-schema-generator$/);
197
+ const tsconfigChanged = [...changedSet].find(f => /(^|\/)tsconfig(\..+)?\.json$/.test(f));
198
+ // A change to the generator's INPUT (types/tsconfig) can break its PARSE → startup crash.
199
+ // This is the incident-grade trigger.
200
+ const generatorInputChange = typesBump || !!tsconfigChanged;
201
+ // A DTO change only counts if it alters TYPE STRUCTURE. A JSDoc/comment-only edit cannot
202
+ // change the generated schema or crash the generator, so it must NOT fire (precision).
203
+ const dtoStructural = [...changedSet].filter(f => /\/dto\/.*\.tsx?$/.test(f) && !/\.test\./.test(f) && dtoHasStructuralChange(ctx, f));
204
+ const triggerA = generatorInputChange || dtoStructural.length > 0;
205
+ // Trigger B — import-time schema generation exists in the repo.
206
+ const gens = scanImportTimeSchemaGen(repoRoot);
207
+ // Trigger C — prod runtime path carries the side effect.
208
+ const docker = analyzeDockerRuntimeFidelity(repoRoot);
209
+ const onProdPath = !!docker && docker.copiesTsSources && docker.runsNode;
210
+ // Trigger D — CI blind spot.
211
+ const ciGap = gens.length > 0 && !ciLoadsSchemaPath(repoRoot);
212
+ if (triggerA && gens.length > 0) {
213
+ const gen = gens[0];
214
+ // Crash-grade (CRITICAL) is reserved for a generator-INPUT change. A DTO structural change
215
+ // regenerates the schema (a runtime CONTRACT change) — real, but not a parser crash.
216
+ const sev = generatorInputChange ? (onProdPath ? "critical" : "high") : (onProdPath ? "high" : "medium");
217
+ const tier = generatorInputChange && onProdPath ? "proven" : "inferred";
218
+ const conf = generatorInputChange && onProdPath ? "high" : "medium";
219
+ const changeDetail = typesBump ? `${depChanged(/^@types\//) ? "@types/* " : ""}${depChanged(/^typescript$/) ? "typescript " : ""}${depChanged(/^ts-json-schema-generator$/) ? "ts-json-schema-generator " : ""}version change`.trim()
220
+ : tsconfigChanged ? "tsconfig change"
221
+ : "DTO type-structure change";
222
+ const changeFile = typesBump ? "package.json" : (tsconfigChanged || dtoStructural[0]);
223
+ const evidence = [
224
+ { id: "ev-change", file: changeFile, detail: `${changeDetail} — consumed by the schema generator at runtime` },
225
+ { id: "ev-gen", file: gen.file, line: gen.line, detail: `${gen.call}() at module top level — runs ts-json-schema-generator AT IMPORT TIME, parsing TS types` },
226
+ ];
227
+ // tsconfig "types" coupling, if present.
228
+ try {
229
+ const tsc = fs.readFileSync(path.join(repoRoot, "tsconfig.json"), "utf8");
230
+ const tline = tsc.split("\n").findIndex(l => /"types"\s*:/.test(l));
231
+ if (tline >= 0)
232
+ evidence.push({ id: "ev-tsconfig", file: "tsconfig.json", line: tline + 1, detail: `"types" couples the generator to the changed type packages` });
233
+ }
234
+ catch { }
235
+ if (docker && onProdPath) {
236
+ evidence.push({ id: "ev-docker", file: docker.file, line: docker.copiesTsSourcesLine, detail: `copies .ts DTOs${docker.copiesTsconfig ? " + tsconfig" : ""}${docker.prodOnlyInstall ? ", npm ci --only=production" : ""}, then CMD runs node → the generator executes at container startup` });
237
+ }
238
+ if (ciGap)
239
+ evidence.push({ id: "ev-ci", file: ".gitlab-ci.yml / .gitlab/*", detail: `no CI step loads the compiled schema module — tsc-build + jest never execute this path` });
240
+ const compiled = compiledPath(gen.file);
241
+ const simulate = [
242
+ { cmd: "npm run tsc-build", purpose: "compile (same as CI)" },
243
+ { cmd: `node -e "require('./${compiled}')"`, purpose: "load the schema module — the path CI skips" },
244
+ ];
245
+ if (docker?.prodOnlyInstall)
246
+ simulate.push({ cmd: `npm ci --only=production && node -e "require('./${compiled}')"`, purpose: "prod-fidelity: reproduce the container's dependency set" });
247
+ findings.push({
248
+ patternId: "PATTERN-001",
249
+ title: generatorInputChange ? "Runtime schema generation may fail at container startup" : "Schema contract regenerates at startup",
250
+ severity: sev, tier, confidence: conf,
251
+ failureMode: generatorInputChange ? (onProdPath ? "process_exit_before_listen (CrashLoopBackOff)" : "import_time_throw") : "schema_contract_change",
252
+ narrative: generatorInputChange
253
+ ? `A ${changeDetail} is consumed at IMPORT TIME by ${gen.call}() in ${gen.file.split("/").pop()} (ts-json-schema-generator parses TS types when the module loads).${onProdPath ? ` The Dockerfile copies the .ts sources and runs node, so this executes at container startup — before the server listens.` : ""}${ciGap ? ` CI compiles and unit-tests but never loads this module, so it passes while production crashes.` : ""} Green tests do not mean this is safe.`
254
+ : `A DTO type structure changed and is consumed at import time by ${gen.call}() in ${gen.file.split("/").pop()}, which regenerates the runtime validation schema when the module loads${onProdPath ? " at container startup" : ""}. This is a contract change, not a parser crash: verify the new schema still accepts existing client payloads and that the module loads cleanly.`,
255
+ ciBlindSpot: ciGap ? "tsc-build + jest do not execute the schema-load path" : undefined,
256
+ evidence, simulate,
257
+ questions: generatorInputChange ? [
258
+ `Have you loaded the compiled schema module under the production dependency set (npm ci --only=production) after this change?`,
259
+ ciGap ? `Should CI add a startup smoke step that requires ${compiled} before deploy?` : `Does the existing CI startup check actually load ${gen.file.split("/").pop()}?`,
260
+ ] : [
261
+ `Does the regenerated schema still accept payloads from existing clients (is this field optional / backward compatible)?`,
262
+ ciGap ? `Should CI load ${compiled} to confirm the schema regenerates cleanly?` : `Does CI validate the regenerated schema against a sample payload?`,
263
+ ],
264
+ ciGateTemplate: ciGap ? `schema_startup_smoke:\n stage: test\n script:\n - npm run tsc-build\n - node -e "require('./${compiled}')"` : undefined,
265
+ });
266
+ }
267
+ return findings;
268
+ }
269
+ // ── PATTERN-003: import_time_fatal_init ─────────────────────────────────────
270
+ // A changed module ADDS a top-level client/connection init (Snowflake, S3, DB
271
+ // pool, Redis…). It runs at import — before the server listens — so a bad
272
+ // credential/region/endpoint becomes CrashLoopBackOff, not a handled error.
273
+ const RISKY_INIT = /\b(SnowflakeConnectionManager|createConnection|createPool|new\s+Pool|S3Client|DynamoDB|MongoClient|PrismaClient|Sequelize|new\s+Redis|KafkaClient|new\s+Client)\b/;
274
+ function patternImportTimeFatalInit(ctx) {
275
+ const out = [];
276
+ for (const c of ctx.changed) {
277
+ if (c.status === "deleted" || !isCode(c.file))
278
+ continue;
279
+ const src = readSrc(ctx, c.file);
280
+ if (!src)
281
+ continue;
282
+ const diff = ctx.getDiff?.(c.file) ?? "";
283
+ const added = new Set(addedLines(diff).map(l => l.trim()));
284
+ let ast;
285
+ try {
286
+ ast = (0, parser_1.parse)(src, { sourceType: "module", plugins: ["typescript", "jsx", "decorators-legacy"] });
287
+ }
288
+ catch {
289
+ continue;
290
+ }
291
+ const hits = [];
292
+ (0, traverse_1.default)(ast, {
293
+ NewExpression(p) {
294
+ if (p.getFunctionParent())
295
+ return; // module top-level only
296
+ const name = p.node.callee?.name || p.node.callee?.property?.name || "";
297
+ const text = `new ${name}`;
298
+ if (RISKY_INIT.test(text)) {
299
+ const ln = p.node.loc?.start?.line ?? 0;
300
+ // only flag if this init is NEW in the diff (or the whole file is new)
301
+ const srcLine = (src.split("\n")[ln - 1] || "").trim();
302
+ if (c.status === "added" || added.has(srcLine) || !diff)
303
+ hits.push({ line: ln, what: name });
304
+ }
305
+ },
306
+ });
307
+ if (hits.length) {
308
+ const h = hits[0];
309
+ out.push({
310
+ patternId: "PATTERN-003", title: "Import-time initialization can crash startup",
311
+ severity: "high", tier: "inferred", confidence: "medium",
312
+ failureMode: "import_time_throw_before_listen",
313
+ narrative: `${c.file.split("/").pop()} constructs ${h.what} at module top level (line ${h.line}). This runs when the module is imported, before the server listens — a bad credential, region, or endpoint throws and exits the process instead of being a handled request error.`,
314
+ evidence: [{ id: "ev-init", file: c.file, line: h.line, detail: `top-level new ${h.what}() — runs at import time` }],
315
+ simulate: [{ cmd: `node -e "require('./${compiledOf(c.file)}')"`, purpose: "load the module in isolation — does it init cleanly?" }],
316
+ questions: [`Should ${h.what} be lazily initialized (on first use) instead of at import?`, `Is the env (credentials/region) guaranteed present at container start in every environment?`],
317
+ });
318
+ }
319
+ }
320
+ return out;
321
+ }
322
+ // ── PATTERN-002: devdep_prod_runtime_coupling ───────────────────────────────
323
+ // A devDependency bump where the package is actually imported by RUNTIME code
324
+ // (not just tests/build). In prod (`npm ci --only=production`) it may be absent
325
+ // or a breaking major — the ts-node class, generalized.
326
+ function patternDevDepRuntimeCoupling(ctx) {
327
+ const { repoRoot, pkgBefore, pkgAfter } = ctx;
328
+ const a = pkgBefore?.devDependencies || {}, b = pkgAfter?.devDependencies || {};
329
+ const bumped = Object.keys({ ...a, ...b }).filter(k => a[k] !== b[k] && !k.startsWith("@types/"));
330
+ const out = [];
331
+ for (const pkg of bumped) {
332
+ // Is this devDep imported by non-test runtime code?
333
+ let importer = "";
334
+ try {
335
+ const g = (0, child_process_1.execSync)(`git -C "${repoRoot}" grep -lI -e "from ['\\"]${pkg}" -e "require(['\\"]${pkg}" -- "*.ts" "*.js" ":!*.test.*" ":!*.spec.*" ":!node_modules" ":!dist"`, { encoding: "utf8", stdio: ["pipe", "pipe", "pipe"], maxBuffer: 1_000_000 }).trim();
336
+ importer = g ? g.split("\n").find(f => isCode(f)) || "" : "";
337
+ }
338
+ catch {
339
+ importer = "";
340
+ }
341
+ if (!importer)
342
+ continue;
343
+ out.push({
344
+ patternId: "PATTERN-002", title: `devDependency '${pkg}' runs in production`,
345
+ severity: "high", tier: "inferred", confidence: "medium",
346
+ failureMode: "missing_or_incompatible_dep_at_runtime",
347
+ narrative: `'${pkg}' is a devDependency but is imported by runtime code (${importer.split("/").pop()}). Under a production install (npm ci --only=production) it may be missing, and this version change can break the runtime even though dev/CI (full install) passes.`,
348
+ evidence: [
349
+ { id: "ev-pkg", file: "package.json", detail: `devDependency '${pkg}' changed (${a[pkg] ?? "∅"} → ${b[pkg] ?? "∅"})` },
350
+ { id: "ev-import", file: importer, detail: `imports '${pkg}' at runtime — not a test/build file` },
351
+ ],
352
+ simulate: [{ cmd: `npm ci --only=production && node -e "require('${pkg}')"`, purpose: "is the dep present & loadable under prod install?" }],
353
+ questions: [`Should '${pkg}' be a regular dependency, not a devDependency?`, `Has the new version been validated under the production dependency set?`],
354
+ });
355
+ }
356
+ return out;
357
+ }
358
+ // ── PATTERN-005: api_auth_regression (security pre-mortem) ───────────────────
359
+ // A new write route (POST/PUT/DELETE/PATCH) added in a file with no visible auth
360
+ // middleware. Speculative — auth may live on a parent router — but worth a check.
361
+ const AUTH_HINT = /\b(authenticate|requireAuth|isAuthenticated|ensureAuth|passport|verifyToken|authMiddleware|requireUser|withAuth|checkAuth|jwt)\b/i;
362
+ function patternApiAuthRegression(ctx) {
363
+ const out = [];
364
+ for (const c of ctx.changed) {
365
+ if (c.status === "deleted" || !isCode(c.file))
366
+ continue;
367
+ const diff = ctx.getDiff?.(c.file) ?? "";
368
+ if (!diff)
369
+ continue;
370
+ const newWrite = addedLines(diff).find(l => /\.(post|put|delete|patch)\s*\(/i.test(l) && /(router|app)\b/.test(l));
371
+ if (!newWrite)
372
+ continue;
373
+ const src = readSrc(ctx, c.file) || "";
374
+ if (AUTH_HINT.test(src))
375
+ continue; // auth present in this file → not a regression
376
+ const route = (newWrite.match(/['"`]([^'"`]+)['"`]/) || [])[1] || newWrite.trim().slice(0, 50);
377
+ out.push({
378
+ patternId: "PATTERN-005", title: "New write route may be unauthenticated",
379
+ severity: "high", tier: "speculative", confidence: "low",
380
+ failureMode: "unauthenticated_write",
381
+ narrative: `A new write route (${route}) was added in ${c.file.split("/").pop()}, which shows no auth middleware. If auth is not applied on a parent router, this endpoint accepts unauthenticated writes. Speculative — verify where auth is mounted.`,
382
+ evidence: [{ id: "ev-route", file: c.file, detail: `new write route added: ${newWrite.trim().slice(0, 80)}` }],
383
+ simulate: [{ cmd: `# static check: grep the router chain for auth middleware on ${route}`, purpose: "confirm auth is applied upstream" }],
384
+ questions: [`Is auth middleware applied to this route (here or on a parent router)?`, `Should ${route} require authentication / authorization?`],
385
+ });
386
+ }
387
+ return out;
388
+ }
389
+ function compiledOf(tsFile) {
390
+ const js = tsFile.replace(/\.tsx?$/, ".js");
391
+ return js.startsWith("server/") || js.startsWith("src/") ? `dist/${js}` : js;
392
+ }
393
+ function runSimulateFailure(ctx) {
394
+ const rank = { low: 1, medium: 2, high: 3, critical: 4 };
395
+ const findings = [
396
+ ...patternRuntimeSchemaGen(ctx),
397
+ ...patternImportTimeFatalInit(ctx),
398
+ ...patternDevDepRuntimeCoupling(ctx),
399
+ ...patternApiAuthRegression(ctx),
400
+ ].sort((a, b) => rank[b.severity] - rank[a.severity]);
401
+ return {
402
+ findings,
403
+ checked: ["import-time schema generation", "import-time client/DB init", "devDependency runtime coupling", "new unauthenticated write routes", "Dockerfile runtime fidelity", "CI schema-load coverage"],
404
+ notChecked: ["request-path handler logic", "concurrency / lock contention", "external system limits (Snowflake/Jira)", "infra (K8s probes, IAM, network policy)", "data migrations / schema drift", "cross-repo client/server contracts"],
405
+ };
406
+ }
407
+ //# sourceMappingURL=simulateFailure.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"simulateFailure.js","sourceRoot":"","sources":["../../src/analysis/simulateFailure.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import Anthropic from "@anthropic-ai/sdk";
2
+ export declare function createAnthropicClient(apiKey?: string): Anthropic;
3
+ //# sourceMappingURL=anthropic.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"anthropic.d.ts","sourceRoot":"","sources":["../src/anthropic.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,mBAAmB,CAAC;AAK1C,wBAAgB,qBAAqB,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAKhE"}
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.createAnthropicClient = createAnthropicClient;
7
+ const sdk_1 = __importDefault(require("@anthropic-ai/sdk"));
8
+ const PROXY_BASE = "https://api.memor.dev";
9
+ const PROXY_SENTINEL = "memor-proxy";
10
+ function createAnthropicClient(apiKey) {
11
+ if (apiKey && apiKey !== PROXY_SENTINEL) {
12
+ return new sdk_1.default({ apiKey });
13
+ }
14
+ return new sdk_1.default({ apiKey: PROXY_SENTINEL, baseURL: PROXY_BASE });
15
+ }
16
+ //# sourceMappingURL=anthropic.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"anthropic.js","sourceRoot":"","sources":["../src/anthropic.ts"],"names":[],"mappings":";;;;;AAKA,sDAKC;AAVD,4DAA0C;AAE1C,MAAM,UAAU,GAAG,uBAAuB,CAAC;AAC3C,MAAM,cAAc,GAAG,aAAa,CAAC;AAErC,SAAgB,qBAAqB,CAAC,MAAe;IACnD,IAAI,MAAM,IAAI,MAAM,KAAK,cAAc,EAAE,CAAC;QACxC,OAAO,IAAI,aAAS,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;IACnC,CAAC;IACD,OAAO,IAAI,aAAS,CAAC,EAAE,MAAM,EAAE,cAAc,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC,CAAC;AACxE,CAAC"}
@@ -0,0 +1,34 @@
1
+ import type { RepoAnalysis } from "../types";
2
+ import type { SystemFolderStructure } from "../viewBuilders/buildSystemFolders";
3
+ import type { RepoContext } from "../builders/readRepoContext";
4
+ import type { SystemReadme } from "../builders/readSystemReadme";
5
+ import type { TextSummary } from "../builders/buildTextSummary";
6
+ import type { SynthesisResult } from "../SystemSynthesis";
7
+ export type AppData = {
8
+ analysis: RepoAnalysis;
9
+ logoDataUri?: string;
10
+ techIcons?: Record<string, string>;
11
+ systemFolders?: Record<string, SystemFolderStructure>;
12
+ repoRoot?: string;
13
+ repoContext?: RepoContext;
14
+ systemReadmes?: Record<string, SystemReadme>;
15
+ textSummary?: TextSummary;
16
+ changeFrequency?: Record<string, {
17
+ commitCount: number;
18
+ lastCommit: string | null;
19
+ }>;
20
+ sessionTouched?: string[];
21
+ graphData?: {
22
+ clusterFiles: Record<string, string[]>;
23
+ edges: Array<{
24
+ from: string;
25
+ to: string;
26
+ weight: number;
27
+ }>;
28
+ };
29
+ synthesisResult?: SynthesisResult;
30
+ architectureMap?: unknown;
31
+ };
32
+ export declare function appCss(): string;
33
+ export declare function buildAppPage(data: AppData): string;
34
+ //# sourceMappingURL=buildAppPage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"buildAppPage.d.ts","sourceRoot":"","sources":["../../src/app/buildAppPage.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAC7C,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAC;AAChF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AACjE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAE1D,MAAM,MAAM,OAAO,GAAG;IACpB,QAAQ,EAAE,YAAY,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnC,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAAC;IACtD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IAC7C,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,eAAe,CAAC,EAAE,MAAM,CACtB,MAAM,EACN;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CACnD,CAAC;IACF,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,SAAS,CAAC,EAAE;QACV,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;QACvC,KAAK,EAAE,KAAK,CAAC;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,EAAE,EAAE,MAAM,CAAC;YAAC,MAAM,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;KAC5D,CAAC;IACF,eAAe,CAAC,EAAE,eAAe,CAAC;IAClC,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B,CAAC;AA0BF,wBAAgB,MAAM,IAAI,MAAM,CAgnE/B;AAqzBD,wBAAgB,YAAY,CAAC,IAAI,EAAE,OAAO,GAAG,MAAM,CAsDlD"}