agentic-qe 1.0.5 → 1.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 (383) hide show
  1. package/.claude/agents/qe-coverage-analyzer.md +8 -0
  2. package/.claude/agents/qe-flaky-test-hunter.md +9 -1
  3. package/.claude/agents/qe-quality-analyzer.md +405 -0
  4. package/.claude/agents/qe-test-generator.md +7 -0
  5. package/.claude/agents/reasoning/agent.md +816 -0
  6. package/.claude/agents/reasoning/goal-planner.md +73 -0
  7. package/.claude/settings.json +21 -20
  8. package/.claude/skills/README.md +124 -0
  9. package/.claude/skills/agentdb-advanced/SKILL.md +550 -0
  10. package/.claude/skills/agentdb-learning/SKILL.md +545 -0
  11. package/.claude/skills/agentdb-memory-patterns/SKILL.md +339 -0
  12. package/.claude/skills/agentdb-optimization/SKILL.md +509 -0
  13. package/.claude/skills/agentdb-vector-search/SKILL.md +339 -0
  14. package/.claude/skills/agentic-quality-engineering/SKILL.md +604 -0
  15. package/.claude/skills/api-testing-patterns/SKILL.md +686 -0
  16. package/.claude/skills/bug-reporting-excellence/SKILL.md +632 -0
  17. package/.claude/skills/code-review-quality/SKILL.md +683 -0
  18. package/.claude/skills/consultancy-practices/SKILL.md +540 -0
  19. package/.claude/skills/context-driven-testing/SKILL.md +466 -0
  20. package/.claude/skills/exploratory-testing-advanced/SKILL.md +676 -0
  21. package/.claude/skills/flow-nexus-neural/SKILL.md +738 -0
  22. package/.claude/skills/flow-nexus-platform/SKILL.md +1157 -0
  23. package/.claude/skills/flow-nexus-swarm/SKILL.md +610 -0
  24. package/.claude/skills/github-code-review/SKILL.md +1140 -0
  25. package/.claude/skills/github-multi-repo/SKILL.md +874 -0
  26. package/.claude/skills/github-project-management/SKILL.md +1277 -0
  27. package/.claude/skills/github-release-management/SKILL.md +1081 -0
  28. package/.claude/skills/github-workflow-automation/SKILL.md +1065 -0
  29. package/.claude/skills/hive-mind-advanced/SKILL.md +712 -0
  30. package/.claude/skills/holistic-testing-pact/SKILL.md +225 -0
  31. package/.claude/skills/hooks-automation/SKILL.md +1201 -0
  32. package/.claude/skills/pair-programming/SKILL.md +1202 -0
  33. package/.claude/skills/performance-analysis/SKILL.md +563 -0
  34. package/.claude/skills/performance-testing/SKILL.md +662 -0
  35. package/.claude/skills/quality-metrics/SKILL.md +592 -0
  36. package/.claude/skills/reasoningbank-agentdb/SKILL.md +446 -0
  37. package/.claude/skills/reasoningbank-intelligence/SKILL.md +201 -0
  38. package/.claude/skills/refactoring-patterns/SKILL.md +778 -0
  39. package/.claude/skills/risk-based-testing/SKILL.md +721 -0
  40. package/.claude/skills/security-testing/SKILL.md +651 -0
  41. package/.claude/skills/skill-builder/SKILL.md +910 -0
  42. package/.claude/skills/sparc-methodology/SKILL.md +1115 -0
  43. package/.claude/skills/stream-chain/SKILL.md +563 -0
  44. package/.claude/skills/swarm-advanced/SKILL.md +973 -0
  45. package/.claude/skills/swarm-orchestration/SKILL.md +179 -0
  46. package/.claude/skills/tdd-london-chicago/SKILL.md +567 -0
  47. package/.claude/skills/technical-writing/SKILL.md +235 -0
  48. package/.claude/skills/test-automation-strategy/SKILL.md +842 -0
  49. package/.claude/skills/verification-quality/SKILL.md +649 -0
  50. package/.claude/skills/xp-practices/SKILL.md +671 -0
  51. package/.claude/statusline-command.sh +176 -0
  52. package/CHANGELOG.md +645 -1
  53. package/CONTRIBUTING.md +51 -0
  54. package/README.md +758 -162
  55. package/bin/aqe +90 -938
  56. package/config/improvement-loop.config.ts +323 -0
  57. package/config/neural-agent.config.ts +197 -0
  58. package/dist/adapters/MemoryStoreAdapter.d.ts +16 -16
  59. package/dist/adapters/MemoryStoreAdapter.d.ts.map +1 -1
  60. package/dist/adapters/MemoryStoreAdapter.js +22 -16
  61. package/dist/adapters/MemoryStoreAdapter.js.map +1 -1
  62. package/dist/agents/BaseAgent.d.ts +69 -0
  63. package/dist/agents/BaseAgent.d.ts.map +1 -1
  64. package/dist/agents/BaseAgent.js +382 -1
  65. package/dist/agents/BaseAgent.js.map +1 -1
  66. package/dist/agents/CoverageAnalyzerAgent.d.ts +69 -3
  67. package/dist/agents/CoverageAnalyzerAgent.d.ts.map +1 -1
  68. package/dist/agents/CoverageAnalyzerAgent.js +418 -51
  69. package/dist/agents/CoverageAnalyzerAgent.js.map +1 -1
  70. package/dist/agents/DeploymentReadinessAgent.d.ts.map +1 -1
  71. package/dist/agents/DeploymentReadinessAgent.js +13 -13
  72. package/dist/agents/DeploymentReadinessAgent.js.map +1 -1
  73. package/dist/agents/FlakyTestHunterAgent.d.ts +76 -4
  74. package/dist/agents/FlakyTestHunterAgent.d.ts.map +1 -1
  75. package/dist/agents/FlakyTestHunterAgent.js +375 -13
  76. package/dist/agents/FlakyTestHunterAgent.js.map +1 -1
  77. package/dist/agents/FleetCommanderAgent.d.ts.map +1 -1
  78. package/dist/agents/FleetCommanderAgent.js +2 -2
  79. package/dist/agents/FleetCommanderAgent.js.map +1 -1
  80. package/dist/agents/LearningAgent.d.ts +84 -0
  81. package/dist/agents/LearningAgent.d.ts.map +1 -0
  82. package/dist/agents/LearningAgent.js +197 -0
  83. package/dist/agents/LearningAgent.js.map +1 -0
  84. package/dist/agents/NeuralAgentExtension.d.ts +117 -0
  85. package/dist/agents/NeuralAgentExtension.d.ts.map +1 -0
  86. package/dist/agents/NeuralAgentExtension.js +288 -0
  87. package/dist/agents/NeuralAgentExtension.js.map +1 -0
  88. package/dist/agents/PerformanceTesterAgent.d.ts.map +1 -1
  89. package/dist/agents/PerformanceTesterAgent.js +4 -3
  90. package/dist/agents/PerformanceTesterAgent.js.map +1 -1
  91. package/dist/agents/ProductionIntelligenceAgent.js +7 -7
  92. package/dist/agents/ProductionIntelligenceAgent.js.map +1 -1
  93. package/dist/agents/QualityAnalyzerAgent.d.ts.map +1 -1
  94. package/dist/agents/QualityAnalyzerAgent.js +2 -2
  95. package/dist/agents/QualityAnalyzerAgent.js.map +1 -1
  96. package/dist/agents/QualityGateAgent.js +5 -5
  97. package/dist/agents/QualityGateAgent.js.map +1 -1
  98. package/dist/agents/RegressionRiskAnalyzerAgent.js +7 -7
  99. package/dist/agents/RegressionRiskAnalyzerAgent.js.map +1 -1
  100. package/dist/agents/RequirementsValidatorAgent.d.ts.map +1 -1
  101. package/dist/agents/RequirementsValidatorAgent.js +1 -1
  102. package/dist/agents/RequirementsValidatorAgent.js.map +1 -1
  103. package/dist/agents/SecurityScannerAgent.js +6 -6
  104. package/dist/agents/SecurityScannerAgent.js.map +1 -1
  105. package/dist/agents/TestExecutorAgent.d.ts.map +1 -1
  106. package/dist/agents/TestExecutorAgent.js +1 -3
  107. package/dist/agents/TestExecutorAgent.js.map +1 -1
  108. package/dist/agents/TestGeneratorAgent.d.ts +53 -2
  109. package/dist/agents/TestGeneratorAgent.d.ts.map +1 -1
  110. package/dist/agents/TestGeneratorAgent.js +372 -31
  111. package/dist/agents/TestGeneratorAgent.js.map +1 -1
  112. package/dist/agents/mixins/NeuralCapableMixin.d.ts +130 -0
  113. package/dist/agents/mixins/NeuralCapableMixin.d.ts.map +1 -0
  114. package/dist/agents/mixins/NeuralCapableMixin.js +358 -0
  115. package/dist/agents/mixins/NeuralCapableMixin.js.map +1 -0
  116. package/dist/agents/mixins/QUICCapableMixin.d.ts +34 -0
  117. package/dist/agents/mixins/QUICCapableMixin.d.ts.map +1 -0
  118. package/dist/agents/mixins/QUICCapableMixin.js +346 -0
  119. package/dist/agents/mixins/QUICCapableMixin.js.map +1 -0
  120. package/dist/cli/commands/agent/index.d.ts +5 -0
  121. package/dist/cli/commands/agent/index.d.ts.map +1 -1
  122. package/dist/cli/commands/agent/index.js +11 -6
  123. package/dist/cli/commands/agent/index.js.map +1 -1
  124. package/dist/cli/commands/agent/kill.d.ts +13 -0
  125. package/dist/cli/commands/agent/kill.d.ts.map +1 -0
  126. package/dist/cli/commands/agent/kill.js +65 -0
  127. package/dist/cli/commands/agent/kill.js.map +1 -0
  128. package/dist/cli/commands/agent/list.d.ts +19 -0
  129. package/dist/cli/commands/agent/list.d.ts.map +1 -0
  130. package/dist/cli/commands/agent/list.js +92 -0
  131. package/dist/cli/commands/agent/list.js.map +1 -0
  132. package/dist/cli/commands/agent/logs.d.ts +14 -0
  133. package/dist/cli/commands/agent/logs.d.ts.map +1 -0
  134. package/dist/cli/commands/agent/logs.js +77 -0
  135. package/dist/cli/commands/agent/logs.js.map +1 -0
  136. package/dist/cli/commands/agent/metrics.d.ts +21 -0
  137. package/dist/cli/commands/agent/metrics.d.ts.map +1 -0
  138. package/dist/cli/commands/agent/metrics.js +87 -0
  139. package/dist/cli/commands/agent/metrics.js.map +1 -0
  140. package/dist/cli/commands/agent/spawn.d.ts +28 -0
  141. package/dist/cli/commands/agent/spawn.d.ts.map +1 -0
  142. package/dist/cli/commands/agent/spawn.js +83 -0
  143. package/dist/cli/commands/agent/spawn.js.map +1 -0
  144. package/dist/cli/commands/improve/index.d.ts +70 -0
  145. package/dist/cli/commands/improve/index.d.ts.map +1 -0
  146. package/dist/cli/commands/improve/index.js +530 -0
  147. package/dist/cli/commands/improve/index.js.map +1 -0
  148. package/dist/cli/commands/init.d.ts +57 -0
  149. package/dist/cli/commands/init.d.ts.map +1 -1
  150. package/dist/cli/commands/init.js +1127 -42
  151. package/dist/cli/commands/init.js.map +1 -1
  152. package/dist/cli/commands/learn/index.d.ts +68 -0
  153. package/dist/cli/commands/learn/index.d.ts.map +1 -0
  154. package/dist/cli/commands/learn/index.js +431 -0
  155. package/dist/cli/commands/learn/index.js.map +1 -0
  156. package/dist/cli/commands/patterns/index.d.ts +75 -0
  157. package/dist/cli/commands/patterns/index.d.ts.map +1 -0
  158. package/dist/cli/commands/patterns/index.js +502 -0
  159. package/dist/cli/commands/patterns/index.js.map +1 -0
  160. package/dist/cli/commands/skills/index.d.ts +51 -0
  161. package/dist/cli/commands/skills/index.d.ts.map +1 -0
  162. package/dist/cli/commands/skills/index.js +364 -0
  163. package/dist/cli/commands/skills/index.js.map +1 -0
  164. package/dist/cli/index.js +458 -8
  165. package/dist/cli/index.js.map +1 -1
  166. package/dist/core/EventBus.d.ts +38 -0
  167. package/dist/core/EventBus.d.ts.map +1 -1
  168. package/dist/core/EventBus.js +176 -31
  169. package/dist/core/EventBus.js.map +1 -1
  170. package/dist/core/FleetManager.d.ts +35 -1
  171. package/dist/core/FleetManager.d.ts.map +1 -1
  172. package/dist/core/FleetManager.js +121 -45
  173. package/dist/core/FleetManager.js.map +1 -1
  174. package/dist/core/MemoryManager.d.ts +19 -1
  175. package/dist/core/MemoryManager.d.ts.map +1 -1
  176. package/dist/core/MemoryManager.js +25 -1
  177. package/dist/core/MemoryManager.js.map +1 -1
  178. package/dist/core/embeddings/EmbeddingCache.d.ts +134 -0
  179. package/dist/core/embeddings/EmbeddingCache.d.ts.map +1 -0
  180. package/dist/core/embeddings/EmbeddingCache.js +239 -0
  181. package/dist/core/embeddings/EmbeddingCache.js.map +1 -0
  182. package/dist/core/embeddings/EmbeddingGenerator.d.ts +224 -0
  183. package/dist/core/embeddings/EmbeddingGenerator.d.ts.map +1 -0
  184. package/dist/core/embeddings/EmbeddingGenerator.js +459 -0
  185. package/dist/core/embeddings/EmbeddingGenerator.js.map +1 -0
  186. package/dist/core/embeddings/index.d.ts +15 -0
  187. package/dist/core/embeddings/index.d.ts.map +1 -0
  188. package/dist/core/embeddings/index.js +22 -0
  189. package/dist/core/embeddings/index.js.map +1 -0
  190. package/dist/core/memory/AgentDBIntegration.d.ts +35 -0
  191. package/dist/core/memory/AgentDBIntegration.d.ts.map +1 -0
  192. package/dist/core/memory/AgentDBIntegration.js +75 -0
  193. package/dist/core/memory/AgentDBIntegration.js.map +1 -0
  194. package/dist/core/memory/AgentDBManager.d.ts +200 -0
  195. package/dist/core/memory/AgentDBManager.d.ts.map +1 -0
  196. package/dist/core/memory/AgentDBManager.js +263 -0
  197. package/dist/core/memory/AgentDBManager.js.map +1 -0
  198. package/dist/core/memory/AgentDBService.d.ts +160 -0
  199. package/dist/core/memory/AgentDBService.d.ts.map +1 -0
  200. package/dist/core/memory/AgentDBService.js +450 -0
  201. package/dist/core/memory/AgentDBService.js.map +1 -0
  202. package/dist/core/memory/RealAgentDBAdapter.d.ts +51 -0
  203. package/dist/core/memory/RealAgentDBAdapter.d.ts.map +1 -0
  204. package/dist/core/memory/RealAgentDBAdapter.js +230 -0
  205. package/dist/core/memory/RealAgentDBAdapter.js.map +1 -0
  206. package/dist/core/memory/ReasoningBankAdapter.d.ts +58 -0
  207. package/dist/core/memory/ReasoningBankAdapter.d.ts.map +1 -0
  208. package/dist/core/memory/ReasoningBankAdapter.js +80 -0
  209. package/dist/core/memory/ReasoningBankAdapter.js.map +1 -0
  210. package/dist/core/memory/SwarmMemoryManager.d.ts +79 -2
  211. package/dist/core/memory/SwarmMemoryManager.d.ts.map +1 -1
  212. package/dist/core/memory/SwarmMemoryManager.js +243 -52
  213. package/dist/core/memory/SwarmMemoryManager.js.map +1 -1
  214. package/dist/core/memory/index.d.ts +4 -0
  215. package/dist/core/memory/index.d.ts.map +1 -1
  216. package/dist/core/memory/index.js +9 -1
  217. package/dist/core/memory/index.js.map +1 -1
  218. package/dist/core/neural/NeuralTrainer.d.ts +137 -0
  219. package/dist/core/neural/NeuralTrainer.d.ts.map +1 -0
  220. package/dist/core/neural/NeuralTrainer.js +543 -0
  221. package/dist/core/neural/NeuralTrainer.js.map +1 -0
  222. package/dist/core/neural/index.d.ts +8 -0
  223. package/dist/core/neural/index.d.ts.map +1 -0
  224. package/dist/core/neural/index.js +24 -0
  225. package/dist/core/neural/index.js.map +1 -0
  226. package/dist/core/neural/types.d.ts +216 -0
  227. package/dist/core/neural/types.d.ts.map +1 -0
  228. package/dist/core/neural/types.js +8 -0
  229. package/dist/core/neural/types.js.map +1 -0
  230. package/dist/core/security/CertificateValidator.d.ts +130 -0
  231. package/dist/core/security/CertificateValidator.d.ts.map +1 -0
  232. package/dist/core/security/CertificateValidator.js +376 -0
  233. package/dist/core/security/CertificateValidator.js.map +1 -0
  234. package/dist/core/transport/QUICTransport.d.ts +62 -0
  235. package/dist/core/transport/QUICTransport.d.ts.map +1 -0
  236. package/dist/core/transport/QUICTransport.js +381 -0
  237. package/dist/core/transport/QUICTransport.js.map +1 -0
  238. package/dist/core/transport/SecureQUICTransport.d.ts +71 -0
  239. package/dist/core/transport/SecureQUICTransport.d.ts.map +1 -0
  240. package/dist/core/transport/SecureQUICTransport.js +253 -0
  241. package/dist/core/transport/SecureQUICTransport.js.map +1 -0
  242. package/dist/index.d.ts +10 -0
  243. package/dist/index.d.ts.map +1 -1
  244. package/dist/index.js +10 -0
  245. package/dist/index.js.map +1 -1
  246. package/dist/learning/AdvancedFeatureExtractor.d.ts +123 -0
  247. package/dist/learning/AdvancedFeatureExtractor.d.ts.map +1 -0
  248. package/dist/learning/AdvancedFeatureExtractor.js +423 -0
  249. package/dist/learning/AdvancedFeatureExtractor.js.map +1 -0
  250. package/dist/learning/FlakyFixRecommendations.d.ts +40 -0
  251. package/dist/learning/FlakyFixRecommendations.d.ts.map +1 -0
  252. package/dist/learning/FlakyFixRecommendations.js +247 -0
  253. package/dist/learning/FlakyFixRecommendations.js.map +1 -0
  254. package/dist/learning/FlakyPredictionModel.d.ts +67 -0
  255. package/dist/learning/FlakyPredictionModel.d.ts.map +1 -0
  256. package/dist/learning/FlakyPredictionModel.js +336 -0
  257. package/dist/learning/FlakyPredictionModel.js.map +1 -0
  258. package/dist/learning/FlakyTestDetector.d.ts +55 -0
  259. package/dist/learning/FlakyTestDetector.d.ts.map +1 -0
  260. package/dist/learning/FlakyTestDetector.js +237 -0
  261. package/dist/learning/FlakyTestDetector.js.map +1 -0
  262. package/dist/learning/ImprovementLoop.d.ts +133 -0
  263. package/dist/learning/ImprovementLoop.d.ts.map +1 -0
  264. package/dist/learning/ImprovementLoop.js +412 -0
  265. package/dist/learning/ImprovementLoop.js.map +1 -0
  266. package/dist/learning/ImprovementWorker.d.ts +83 -0
  267. package/dist/learning/ImprovementWorker.d.ts.map +1 -0
  268. package/dist/learning/ImprovementWorker.js +164 -0
  269. package/dist/learning/ImprovementWorker.js.map +1 -0
  270. package/dist/learning/LearningEngine.d.ts +144 -0
  271. package/dist/learning/LearningEngine.d.ts.map +1 -0
  272. package/dist/learning/LearningEngine.js +531 -0
  273. package/dist/learning/LearningEngine.js.map +1 -0
  274. package/dist/learning/NeuralPatternMatcher.d.ts +184 -0
  275. package/dist/learning/NeuralPatternMatcher.d.ts.map +1 -0
  276. package/dist/learning/NeuralPatternMatcher.js +702 -0
  277. package/dist/learning/NeuralPatternMatcher.js.map +1 -0
  278. package/dist/learning/NeuralTrainer.d.ts +209 -0
  279. package/dist/learning/NeuralTrainer.d.ts.map +1 -0
  280. package/dist/learning/NeuralTrainer.js +478 -0
  281. package/dist/learning/NeuralTrainer.js.map +1 -0
  282. package/dist/learning/PerformanceTracker.d.ts +118 -0
  283. package/dist/learning/PerformanceTracker.d.ts.map +1 -0
  284. package/dist/learning/PerformanceTracker.js +376 -0
  285. package/dist/learning/PerformanceTracker.js.map +1 -0
  286. package/dist/learning/StatisticalAnalysis.d.ts +47 -0
  287. package/dist/learning/StatisticalAnalysis.d.ts.map +1 -0
  288. package/dist/learning/StatisticalAnalysis.js +170 -0
  289. package/dist/learning/StatisticalAnalysis.js.map +1 -0
  290. package/dist/learning/SwarmIntegration.d.ts +107 -0
  291. package/dist/learning/SwarmIntegration.d.ts.map +1 -0
  292. package/dist/learning/SwarmIntegration.js +191 -0
  293. package/dist/learning/SwarmIntegration.js.map +1 -0
  294. package/dist/learning/index.d.ts +16 -0
  295. package/dist/learning/index.d.ts.map +1 -0
  296. package/dist/learning/index.js +32 -0
  297. package/dist/learning/index.js.map +1 -0
  298. package/dist/learning/types.d.ts +289 -0
  299. package/dist/learning/types.d.ts.map +1 -0
  300. package/dist/learning/types.js +25 -0
  301. package/dist/learning/types.js.map +1 -0
  302. package/dist/mcp/MCPToolRegistry.d.ts +34 -0
  303. package/dist/mcp/MCPToolRegistry.d.ts.map +1 -0
  304. package/dist/mcp/MCPToolRegistry.js +48 -0
  305. package/dist/mcp/MCPToolRegistry.js.map +1 -0
  306. package/dist/mcp/handlers/phase2/Phase2Tools.d.ts +175 -0
  307. package/dist/mcp/handlers/phase2/Phase2Tools.d.ts.map +1 -0
  308. package/dist/mcp/handlers/phase2/Phase2Tools.js +693 -0
  309. package/dist/mcp/handlers/phase2/Phase2Tools.js.map +1 -0
  310. package/dist/mcp/server.d.ts +4 -4
  311. package/dist/mcp/server.d.ts.map +1 -1
  312. package/dist/mcp/server.js +94 -0
  313. package/dist/mcp/server.js.map +1 -1
  314. package/dist/mcp/services/AgentRegistry.d.ts.map +1 -1
  315. package/dist/mcp/services/AgentRegistry.js +7 -1
  316. package/dist/mcp/services/AgentRegistry.js.map +1 -1
  317. package/dist/mcp/tools.d.ts +15 -0
  318. package/dist/mcp/tools.d.ts.map +1 -1
  319. package/dist/mcp/tools.js +17 -1
  320. package/dist/mcp/tools.js.map +1 -1
  321. package/dist/reasoning/CodeSignatureGenerator.d.ts +98 -0
  322. package/dist/reasoning/CodeSignatureGenerator.d.ts.map +1 -0
  323. package/dist/reasoning/CodeSignatureGenerator.js +427 -0
  324. package/dist/reasoning/CodeSignatureGenerator.js.map +1 -0
  325. package/dist/reasoning/PatternClassifier.d.ts +98 -0
  326. package/dist/reasoning/PatternClassifier.d.ts.map +1 -0
  327. package/dist/reasoning/PatternClassifier.js +345 -0
  328. package/dist/reasoning/PatternClassifier.js.map +1 -0
  329. package/dist/reasoning/PatternExtractor.d.ts +131 -0
  330. package/dist/reasoning/PatternExtractor.d.ts.map +1 -0
  331. package/dist/reasoning/PatternExtractor.js +539 -0
  332. package/dist/reasoning/PatternExtractor.js.map +1 -0
  333. package/dist/reasoning/PatternMemoryIntegration.d.ts +102 -0
  334. package/dist/reasoning/PatternMemoryIntegration.d.ts.map +1 -0
  335. package/dist/reasoning/PatternMemoryIntegration.js +336 -0
  336. package/dist/reasoning/PatternMemoryIntegration.js.map +1 -0
  337. package/dist/reasoning/QEReasoningBank.d.ts +121 -0
  338. package/dist/reasoning/QEReasoningBank.d.ts.map +1 -0
  339. package/dist/reasoning/QEReasoningBank.js +235 -0
  340. package/dist/reasoning/QEReasoningBank.js.map +1 -0
  341. package/dist/reasoning/TestTemplateCreator.d.ts +95 -0
  342. package/dist/reasoning/TestTemplateCreator.d.ts.map +1 -0
  343. package/dist/reasoning/TestTemplateCreator.js +535 -0
  344. package/dist/reasoning/TestTemplateCreator.js.map +1 -0
  345. package/dist/reasoning/index.d.ts +10 -0
  346. package/dist/reasoning/index.d.ts.map +1 -0
  347. package/dist/reasoning/index.js +31 -0
  348. package/dist/reasoning/index.js.map +1 -0
  349. package/dist/reasoning/types.d.ts +717 -0
  350. package/dist/reasoning/types.d.ts.map +1 -0
  351. package/dist/reasoning/types.js +57 -0
  352. package/dist/reasoning/types.js.map +1 -0
  353. package/dist/transport/QUICTransport.d.ts +340 -0
  354. package/dist/transport/QUICTransport.d.ts.map +1 -0
  355. package/dist/transport/QUICTransport.js +814 -0
  356. package/dist/transport/QUICTransport.js.map +1 -0
  357. package/dist/transport/UDPTransport.d.ts +348 -0
  358. package/dist/transport/UDPTransport.d.ts.map +1 -0
  359. package/dist/transport/UDPTransport.js +820 -0
  360. package/dist/transport/UDPTransport.js.map +1 -0
  361. package/dist/types/errors.d.ts +1 -1
  362. package/dist/types/index.d.ts +41 -0
  363. package/dist/types/index.d.ts.map +1 -1
  364. package/dist/types/index.js +2 -0
  365. package/dist/types/index.js.map +1 -1
  366. package/dist/types/pattern.types.d.ts +364 -0
  367. package/dist/types/pattern.types.d.ts.map +1 -0
  368. package/dist/types/pattern.types.js +60 -0
  369. package/dist/types/pattern.types.js.map +1 -0
  370. package/dist/types/quic.d.ts +339 -0
  371. package/dist/types/quic.d.ts.map +1 -0
  372. package/dist/types/quic.js +48 -0
  373. package/dist/types/quic.js.map +1 -0
  374. package/dist/utils/Config.js +1 -1
  375. package/dist/utils/Config.js.map +1 -1
  376. package/dist/utils/Database.d.ts +14 -0
  377. package/dist/utils/Database.d.ts.map +1 -1
  378. package/dist/utils/Database.js +51 -4
  379. package/dist/utils/Database.js.map +1 -1
  380. package/dist/utils/Logger.d.ts.map +1 -1
  381. package/dist/utils/Logger.js +111 -26
  382. package/dist/utils/Logger.js.map +1 -1
  383. package/package.json +54 -9
@@ -0,0 +1,539 @@
1
+ "use strict";
2
+ /**
3
+ * PatternExtractor - AST-based pattern extraction from test suites
4
+ * Phase 2 (v1.1.0) - Pattern Extraction Specialist
5
+ *
6
+ * Extracts reusable patterns from existing test suites including:
7
+ * - Edge cases and boundary conditions
8
+ * - Error handling patterns
9
+ * - Mock and assertion patterns
10
+ * - Integration patterns
11
+ *
12
+ * Performance: Process 100+ test files in < 5 seconds
13
+ * Accuracy: > 85% pattern extraction accuracy
14
+ */
15
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
16
+ if (k2 === undefined) k2 = k;
17
+ var desc = Object.getOwnPropertyDescriptor(m, k);
18
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
19
+ desc = { enumerable: true, get: function() { return m[k]; } };
20
+ }
21
+ Object.defineProperty(o, k2, desc);
22
+ }) : (function(o, m, k, k2) {
23
+ if (k2 === undefined) k2 = k;
24
+ o[k2] = m[k];
25
+ }));
26
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
27
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
28
+ }) : function(o, v) {
29
+ o["default"] = v;
30
+ });
31
+ var __importStar = (this && this.__importStar) || (function () {
32
+ var ownKeys = function(o) {
33
+ ownKeys = Object.getOwnPropertyNames || function (o) {
34
+ var ar = [];
35
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
36
+ return ar;
37
+ };
38
+ return ownKeys(o);
39
+ };
40
+ return function (mod) {
41
+ if (mod && mod.__esModule) return mod;
42
+ var result = {};
43
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
44
+ __setModuleDefault(result, mod);
45
+ return result;
46
+ };
47
+ })();
48
+ Object.defineProperty(exports, "__esModule", { value: true });
49
+ exports.PatternExtractor = void 0;
50
+ const parser_1 = require("@babel/parser");
51
+ const fs = __importStar(require("fs-extra"));
52
+ const crypto = __importStar(require("crypto"));
53
+ const pattern_types_1 = require("../types/pattern.types");
54
+ const Logger_1 = require("../utils/Logger");
55
+ /**
56
+ * Main pattern extractor class
57
+ */
58
+ class PatternExtractor {
59
+ constructor(config) {
60
+ this.logger = Logger_1.Logger.getInstance();
61
+ this.extractedPatterns = new Map();
62
+ this.patternFrequency = new Map();
63
+ this.config = {
64
+ frameworks: [pattern_types_1.TestFramework.JEST, pattern_types_1.TestFramework.MOCHA, pattern_types_1.TestFramework.CYPRESS],
65
+ minConfidence: 0.7,
66
+ minFrequency: 2,
67
+ maxPatternsPerFile: 10,
68
+ parallel: true,
69
+ astOptions: {
70
+ typescript: true,
71
+ jsx: true,
72
+ includeComments: true,
73
+ maxDepth: 50
74
+ },
75
+ ...config
76
+ };
77
+ }
78
+ /**
79
+ * Extract patterns from multiple test files
80
+ */
81
+ async extractFromFiles(filePaths) {
82
+ const startTime = Date.now();
83
+ const errors = [];
84
+ let totalTests = 0;
85
+ const patterns = [];
86
+ this.logger.info(`Extracting patterns from ${filePaths.length} files`);
87
+ for (const filePath of filePaths) {
88
+ try {
89
+ const filePatterns = await this.extractFromFile(filePath);
90
+ patterns.push(...filePatterns);
91
+ totalTests += this.countTestsInFile(filePath);
92
+ }
93
+ catch (error) {
94
+ errors.push({
95
+ file: filePath,
96
+ message: error.message,
97
+ type: 'analysis-error',
98
+ stack: error.stack
99
+ });
100
+ this.logger.error(`Failed to extract patterns from ${filePath}:`, error);
101
+ }
102
+ }
103
+ const processingTime = Date.now() - startTime;
104
+ const statistics = this.calculateStatistics(filePaths.length, totalTests, patterns, processingTime);
105
+ return {
106
+ patterns: this.deduplicatePatterns(patterns),
107
+ signatures: [],
108
+ statistics,
109
+ errors,
110
+ timestamp: new Date()
111
+ };
112
+ }
113
+ /**
114
+ * Extract patterns from a single test file
115
+ */
116
+ async extractFromFile(filePath) {
117
+ const content = await fs.readFile(filePath, 'utf-8');
118
+ const framework = this.detectFramework(content);
119
+ const ast = this.parseCode(content, filePath);
120
+ const patterns = [];
121
+ // Extract different pattern types
122
+ patterns.push(...this.extractEdgeCasePatterns(ast, framework, filePath));
123
+ patterns.push(...this.extractBoundaryConditionPatterns(ast, framework, filePath));
124
+ patterns.push(...this.extractErrorHandlingPatterns(ast, framework, filePath));
125
+ patterns.push(...this.extractMockPatterns(ast, framework, filePath));
126
+ patterns.push(...this.extractAssertionPatterns(ast, framework, filePath));
127
+ patterns.push(...this.extractAsyncPatterns(ast, framework, filePath));
128
+ // Filter by confidence and frequency
129
+ return patterns
130
+ .filter(p => p.confidence >= this.config.minConfidence)
131
+ .slice(0, this.config.maxPatternsPerFile);
132
+ }
133
+ /**
134
+ * Parse source code to AST
135
+ */
136
+ parseCode(code, filePath) {
137
+ try {
138
+ return (0, parser_1.parse)(code, {
139
+ sourceType: 'module',
140
+ plugins: [
141
+ 'typescript',
142
+ 'jsx',
143
+ 'decorators-legacy',
144
+ 'classProperties',
145
+ 'asyncGenerators',
146
+ 'dynamicImport',
147
+ 'optionalChaining',
148
+ 'nullishCoalescingOperator'
149
+ ],
150
+ sourceFilename: filePath
151
+ });
152
+ }
153
+ catch (error) {
154
+ throw new Error(`Failed to parse ${filePath}: ${error.message}`);
155
+ }
156
+ }
157
+ /**
158
+ * Detect test framework from source code
159
+ * Checks framework-specific indicators in priority order
160
+ */
161
+ detectFramework(code) {
162
+ // Check framework-specific indicators first (highest priority)
163
+ if (code.includes('cy.') || code.includes('Cypress')) {
164
+ return pattern_types_1.TestFramework.CYPRESS;
165
+ }
166
+ if (code.includes('vitest') || code.includes('vi.') || code.includes('import { test, expect } from \'vitest\'')) {
167
+ return pattern_types_1.TestFramework.VITEST;
168
+ }
169
+ if (code.includes('t.is(') || code.includes('test.serial') || code.includes('import test from \'ava\'')) {
170
+ return pattern_types_1.TestFramework.AVA;
171
+ }
172
+ if (code.includes('jasmine') || code.includes('spyOn(') || code.includes('jasmine.')) {
173
+ return pattern_types_1.TestFramework.JASMINE;
174
+ }
175
+ if (code.includes('mocha') || code.includes('chai') || code.includes('assert.') || code.includes('should.')) {
176
+ return pattern_types_1.TestFramework.MOCHA;
177
+ }
178
+ if (code.includes('@jest') || code.includes('jest.') || code.includes('test.skip') || code.includes('test.only')) {
179
+ return pattern_types_1.TestFramework.JEST;
180
+ }
181
+ // Fallback to generic detection (describe/it/test are used by multiple frameworks)
182
+ if (code.includes('describe(') || code.includes('it(') || code.includes('test(')) {
183
+ return pattern_types_1.TestFramework.JEST; // Default only after all specific checks
184
+ }
185
+ return pattern_types_1.TestFramework.JEST;
186
+ }
187
+ /**
188
+ * Extract edge case patterns
189
+ */
190
+ extractEdgeCasePatterns(ast, framework, filePath) {
191
+ const patterns = [];
192
+ const edgeCaseIndicators = [
193
+ 'null', 'undefined', 'empty', 'zero', 'negative', 'max', 'min',
194
+ 'edge', 'boundary', 'limit', 'extreme'
195
+ ];
196
+ this.traverseAST(ast, (node) => {
197
+ if (this.isTestBlock(node)) {
198
+ const testName = this.getTestName(node);
199
+ const hasEdgeCaseIndicator = edgeCaseIndicators.some(indicator => testName.toLowerCase().includes(indicator));
200
+ if (hasEdgeCaseIndicator) {
201
+ const pattern = this.createPattern(node, pattern_types_1.PatternType.EDGE_CASE, framework, filePath, testName, 0.85);
202
+ patterns.push(pattern);
203
+ }
204
+ }
205
+ });
206
+ return patterns;
207
+ }
208
+ /**
209
+ * Extract boundary condition patterns
210
+ */
211
+ extractBoundaryConditionPatterns(ast, framework, filePath) {
212
+ const patterns = [];
213
+ const boundaryIndicators = [
214
+ 'boundary', 'range', 'between', 'threshold', 'limit',
215
+ '>=', '<=', '>', '<', 'minimum', 'maximum'
216
+ ];
217
+ this.traverseAST(ast, (node) => {
218
+ if (this.isTestBlock(node)) {
219
+ const code = this.getNodeCode(node);
220
+ const hasBoundaryCheck = boundaryIndicators.some(indicator => code.includes(indicator));
221
+ if (hasBoundaryCheck) {
222
+ const testName = this.getTestName(node);
223
+ const pattern = this.createPattern(node, pattern_types_1.PatternType.BOUNDARY_CONDITION, framework, filePath, testName, 0.8);
224
+ patterns.push(pattern);
225
+ }
226
+ }
227
+ });
228
+ return patterns;
229
+ }
230
+ /**
231
+ * Extract error handling patterns
232
+ */
233
+ extractErrorHandlingPatterns(ast, framework, filePath) {
234
+ const patterns = [];
235
+ this.traverseAST(ast, (node) => {
236
+ if (this.isTestBlock(node)) {
237
+ const code = this.getNodeCode(node);
238
+ const hasErrorHandling = (code.includes('try') && code.includes('catch')) ||
239
+ code.includes('toThrow') ||
240
+ code.includes('rejects') ||
241
+ code.includes('.catch(') ||
242
+ (code.includes('expect') && code.includes('Error'));
243
+ if (hasErrorHandling) {
244
+ const testName = this.getTestName(node);
245
+ const pattern = this.createPattern(node, pattern_types_1.PatternType.ERROR_HANDLING, framework, filePath, testName, 0.9);
246
+ patterns.push(pattern);
247
+ }
248
+ }
249
+ });
250
+ return patterns;
251
+ }
252
+ /**
253
+ * Extract mock patterns
254
+ */
255
+ extractMockPatterns(ast, framework, filePath) {
256
+ const patterns = [];
257
+ const mockIndicators = ['mock', 'stub', 'spy', 'jest.fn', 'sinon', 'jest.spyOn'];
258
+ this.traverseAST(ast, (node) => {
259
+ if (this.isTestBlock(node)) {
260
+ const code = this.getNodeCode(node);
261
+ const hasMocking = mockIndicators.some(indicator => code.includes(indicator));
262
+ if (hasMocking) {
263
+ const testName = this.getTestName(node);
264
+ const pattern = this.createPattern(node, pattern_types_1.PatternType.MOCK_PATTERN, framework, filePath, testName, 0.85);
265
+ patterns.push(pattern);
266
+ }
267
+ }
268
+ });
269
+ return patterns;
270
+ }
271
+ /**
272
+ * Extract assertion patterns
273
+ */
274
+ extractAssertionPatterns(ast, framework, filePath) {
275
+ const patterns = [];
276
+ this.traverseAST(ast, (node) => {
277
+ if (this.isTestBlock(node)) {
278
+ const assertionCount = this.countAssertions(node);
279
+ if (assertionCount >= 3) {
280
+ const testName = this.getTestName(node);
281
+ const pattern = this.createPattern(node, pattern_types_1.PatternType.ASSERTION_PATTERN, framework, filePath, testName, 0.75);
282
+ patterns.push(pattern);
283
+ }
284
+ }
285
+ });
286
+ return patterns;
287
+ }
288
+ /**
289
+ * Extract async patterns
290
+ */
291
+ extractAsyncPatterns(ast, framework, filePath) {
292
+ const patterns = [];
293
+ this.traverseAST(ast, (node) => {
294
+ if (this.isTestBlock(node)) {
295
+ const code = this.getNodeCode(node);
296
+ const isAsync = code.includes('async') ||
297
+ code.includes('await') ||
298
+ code.includes('Promise') ||
299
+ code.includes('.then(');
300
+ if (isAsync) {
301
+ const testName = this.getTestName(node);
302
+ const pattern = this.createPattern(node, pattern_types_1.PatternType.ASYNC_PATTERN, framework, filePath, testName, 0.8);
303
+ patterns.push(pattern);
304
+ }
305
+ }
306
+ });
307
+ return patterns;
308
+ }
309
+ /**
310
+ * Create a test pattern from AST node
311
+ */
312
+ createPattern(node, type, framework, filePath, name, confidence) {
313
+ const id = this.generatePatternId(name, type);
314
+ const code = this.getNodeCode(node);
315
+ return {
316
+ id,
317
+ name,
318
+ type,
319
+ category: this.inferCategory(type),
320
+ framework,
321
+ template: this.createEmptyTemplate(id, name),
322
+ examples: [code],
323
+ frequency: 1,
324
+ confidence,
325
+ applicabilityConditions: this.inferApplicabilityConditions(type),
326
+ sourceFile: filePath,
327
+ createdAt: new Date(),
328
+ metadata: {
329
+ nodeType: node.type,
330
+ location: this.getLocation(node)
331
+ }
332
+ };
333
+ }
334
+ /**
335
+ * Traverse AST and apply visitor function
336
+ */
337
+ traverseAST(ast, visitor) {
338
+ const traverse = (node, depth = 0) => {
339
+ if (!node || depth > (this.config.astOptions.maxDepth || 50))
340
+ return;
341
+ visitor(node);
342
+ for (const key in node) {
343
+ if (node[key] && typeof node[key] === 'object') {
344
+ if (Array.isArray(node[key])) {
345
+ node[key].forEach((child) => traverse(child, depth + 1));
346
+ }
347
+ else {
348
+ traverse(node[key], depth + 1);
349
+ }
350
+ }
351
+ }
352
+ };
353
+ traverse(ast);
354
+ }
355
+ /**
356
+ * Check if node is a test block
357
+ */
358
+ isTestBlock(node) {
359
+ if (node.type !== 'CallExpression')
360
+ return false;
361
+ const callee = node.callee;
362
+ if (!callee)
363
+ return false;
364
+ const testFunctions = ['it', 'test', 'describe', 'context', 'specify'];
365
+ return testFunctions.includes(callee.name || callee.property?.name);
366
+ }
367
+ /**
368
+ * Get test name from node
369
+ */
370
+ getTestName(node) {
371
+ if (node.arguments && node.arguments.length > 0) {
372
+ const firstArg = node.arguments[0];
373
+ if (firstArg.type === 'StringLiteral') {
374
+ return firstArg.value;
375
+ }
376
+ }
377
+ return 'unnamed-test';
378
+ }
379
+ /**
380
+ * Get code from node
381
+ */
382
+ getNodeCode(node) {
383
+ // Simplified - in real implementation, use recast or similar
384
+ return JSON.stringify(node, null, 2);
385
+ }
386
+ /**
387
+ * Count assertions in test block
388
+ */
389
+ countAssertions(node) {
390
+ let count = 0;
391
+ this.traverseAST(node, (n) => {
392
+ if (n.type === 'CallExpression') {
393
+ const callee = n.callee;
394
+ if (callee?.name === 'expect' || callee?.property?.name === 'expect') {
395
+ count++;
396
+ }
397
+ }
398
+ });
399
+ return count;
400
+ }
401
+ /**
402
+ * Get node location
403
+ */
404
+ getLocation(node) {
405
+ return {
406
+ startLine: node.loc?.start?.line || 0,
407
+ endLine: node.loc?.end?.line || 0,
408
+ startColumn: node.loc?.start?.column || 0,
409
+ endColumn: node.loc?.end?.column || 0
410
+ };
411
+ }
412
+ /**
413
+ * Generate pattern ID
414
+ */
415
+ generatePatternId(name, type) {
416
+ const hash = crypto
417
+ .createHash('md5')
418
+ .update(`${name}-${type}-${Date.now()}`)
419
+ .digest('hex')
420
+ .substring(0, 8);
421
+ return `pattern-${type}-${hash}`;
422
+ }
423
+ /**
424
+ * Infer pattern category from type
425
+ */
426
+ inferCategory(type) {
427
+ const categoryMap = {
428
+ [pattern_types_1.PatternType.EDGE_CASE]: pattern_types_1.PatternCategory.UNIT_TEST,
429
+ [pattern_types_1.PatternType.BOUNDARY_CONDITION]: pattern_types_1.PatternCategory.UNIT_TEST,
430
+ [pattern_types_1.PatternType.ERROR_HANDLING]: pattern_types_1.PatternCategory.UNIT_TEST,
431
+ [pattern_types_1.PatternType.INTEGRATION]: pattern_types_1.PatternCategory.INTEGRATION_TEST,
432
+ [pattern_types_1.PatternType.ASYNC_PATTERN]: pattern_types_1.PatternCategory.INTEGRATION_TEST,
433
+ [pattern_types_1.PatternType.MOCK_PATTERN]: pattern_types_1.PatternCategory.UNIT_TEST,
434
+ [pattern_types_1.PatternType.ASSERTION_PATTERN]: pattern_types_1.PatternCategory.UNIT_TEST,
435
+ [pattern_types_1.PatternType.SETUP_TEARDOWN]: pattern_types_1.PatternCategory.UNIT_TEST,
436
+ [pattern_types_1.PatternType.DATA_DRIVEN]: pattern_types_1.PatternCategory.UNIT_TEST,
437
+ [pattern_types_1.PatternType.PARAMETERIZED]: pattern_types_1.PatternCategory.UNIT_TEST
438
+ };
439
+ return categoryMap[type] || pattern_types_1.PatternCategory.UNIT_TEST;
440
+ }
441
+ /**
442
+ * Infer applicability conditions
443
+ */
444
+ inferApplicabilityConditions(type) {
445
+ const conditionsMap = {
446
+ [pattern_types_1.PatternType.EDGE_CASE]: ['function with input validation', 'nullable parameters'],
447
+ [pattern_types_1.PatternType.BOUNDARY_CONDITION]: ['range-based logic', 'numeric comparisons'],
448
+ [pattern_types_1.PatternType.ERROR_HANDLING]: ['functions that throw errors', 'async operations'],
449
+ [pattern_types_1.PatternType.INTEGRATION]: ['multiple module interactions', 'external dependencies'],
450
+ [pattern_types_1.PatternType.ASYNC_PATTERN]: ['asynchronous operations', 'promises'],
451
+ [pattern_types_1.PatternType.MOCK_PATTERN]: ['external dependencies', 'database calls', 'API calls'],
452
+ [pattern_types_1.PatternType.ASSERTION_PATTERN]: ['complex return values', 'multiple properties'],
453
+ [pattern_types_1.PatternType.SETUP_TEARDOWN]: ['stateful tests', 'resource initialization'],
454
+ [pattern_types_1.PatternType.DATA_DRIVEN]: ['multiple test cases with similar structure'],
455
+ [pattern_types_1.PatternType.PARAMETERIZED]: ['similar tests with different inputs']
456
+ };
457
+ return conditionsMap[type] || [];
458
+ }
459
+ /**
460
+ * Create empty template (to be filled by TestTemplateCreator)
461
+ */
462
+ createEmptyTemplate(id, name) {
463
+ return {
464
+ id: `template-${id}`,
465
+ name: `Template: ${name}`,
466
+ description: 'Auto-generated template',
467
+ structure: { type: 'root', id: 'root', children: [], properties: {}, parameterRefs: [] },
468
+ parameters: [],
469
+ validationRules: [],
470
+ codeGenerators: {}
471
+ };
472
+ }
473
+ /**
474
+ * Count tests in file
475
+ */
476
+ countTestsInFile(filePath) {
477
+ // Simplified - count test blocks
478
+ return 1;
479
+ }
480
+ /**
481
+ * Calculate extraction statistics
482
+ */
483
+ calculateStatistics(filesProcessed, testsAnalyzed, patterns, processingTime) {
484
+ const patternTypeDistribution = {};
485
+ patterns.forEach(p => {
486
+ patternTypeDistribution[p.type] = (patternTypeDistribution[p.type] || 0) + 1;
487
+ });
488
+ return {
489
+ filesProcessed,
490
+ testsAnalyzed,
491
+ patternsExtracted: patterns.length,
492
+ processingTime,
493
+ avgPatternsPerFile: patterns.length / Math.max(filesProcessed, 1),
494
+ patternTypeDistribution
495
+ };
496
+ }
497
+ /**
498
+ * Deduplicate patterns by normalizing names and merging similar patterns
499
+ */
500
+ deduplicatePatterns(patterns) {
501
+ const seen = new Map();
502
+ patterns.forEach(p => {
503
+ // Normalize pattern name to detect similarity
504
+ const normalizedName = this.normalizePatternName(p.name);
505
+ const key = `${p.type}-${normalizedName}`;
506
+ if (!seen.has(key)) {
507
+ seen.set(key, p);
508
+ }
509
+ else {
510
+ // Merge examples and update frequency
511
+ const existing = seen.get(key);
512
+ existing.examples.push(...p.examples);
513
+ existing.frequency++;
514
+ // Increase confidence slightly based on frequency
515
+ existing.confidence = Math.min(existing.confidence + 0.02, 1.0);
516
+ }
517
+ });
518
+ return Array.from(seen.values());
519
+ }
520
+ /**
521
+ * Normalize pattern name for deduplication
522
+ * Removes trailing numbers, extra whitespace, and normalizes case
523
+ */
524
+ normalizePatternName(name) {
525
+ return name
526
+ .toLowerCase()
527
+ .replace(/\s+\d+$/g, '') // Remove trailing numbers like " 1", " 2"
528
+ .replace(/\s+/g, ' ') // Normalize whitespace
529
+ .trim();
530
+ }
531
+ /**
532
+ * Get extracted patterns
533
+ */
534
+ getPatterns() {
535
+ return Array.from(this.extractedPatterns.values());
536
+ }
537
+ }
538
+ exports.PatternExtractor = PatternExtractor;
539
+ //# sourceMappingURL=PatternExtractor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PatternExtractor.js","sourceRoot":"","sources":["../../src/reasoning/PatternExtractor.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;GAYG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,0CAAsC;AACtC,6CAA+B;AAE/B,+CAAiC;AACjC,0DAYgC;AAChC,4CAAyC;AAEzC;;GAEG;AACH,MAAa,gBAAgB;IAM3B,YAAY,MAAyC;QACnD,IAAI,CAAC,MAAM,GAAG,eAAM,CAAC,WAAW,EAAE,CAAC;QACnC,IAAI,CAAC,iBAAiB,GAAG,IAAI,GAAG,EAAE,CAAC;QACnC,IAAI,CAAC,gBAAgB,GAAG,IAAI,GAAG,EAAE,CAAC;QAElC,IAAI,CAAC,MAAM,GAAG;YACZ,UAAU,EAAE,CAAC,6BAAa,CAAC,IAAI,EAAE,6BAAa,CAAC,KAAK,EAAE,6BAAa,CAAC,OAAO,CAAC;YAC5E,aAAa,EAAE,GAAG;YAClB,YAAY,EAAE,CAAC;YACf,kBAAkB,EAAE,EAAE;YACtB,QAAQ,EAAE,IAAI;YACd,UAAU,EAAE;gBACV,UAAU,EAAE,IAAI;gBAChB,GAAG,EAAE,IAAI;gBACT,eAAe,EAAE,IAAI;gBACrB,QAAQ,EAAE,EAAE;aACb;YACD,GAAG,MAAM;SACV,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,gBAAgB,CAAC,SAAmB;QACxC,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC7B,MAAM,MAAM,GAAsB,EAAE,CAAC;QACrC,IAAI,UAAU,GAAG,CAAC,CAAC;QACnB,MAAM,QAAQ,GAAkB,EAAE,CAAC;QAEnC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,4BAA4B,SAAS,CAAC,MAAM,QAAQ,CAAC,CAAC;QAEvE,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;YACjC,IAAI,CAAC;gBACH,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;gBAC1D,QAAQ,CAAC,IAAI,CAAC,GAAG,YAAY,CAAC,CAAC;gBAC/B,UAAU,IAAI,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;YAChD,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,CAAC,IAAI,CAAC;oBACV,IAAI,EAAE,QAAQ;oBACd,OAAO,EAAG,KAAe,CAAC,OAAO;oBACjC,IAAI,EAAE,gBAAgB;oBACtB,KAAK,EAAG,KAAe,CAAC,KAAK;iBAC9B,CAAC,CAAC;gBACH,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,mCAAmC,QAAQ,GAAG,EAAE,KAAK,CAAC,CAAC;YAC3E,CAAC;QACH,CAAC;QAED,MAAM,cAAc,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;QAC9C,MAAM,UAAU,GAAG,IAAI,CAAC,mBAAmB,CAAC,SAAS,CAAC,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,cAAc,CAAC,CAAC;QAEpG,OAAO;YACL,QAAQ,EAAE,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC;YAC5C,UAAU,EAAE,EAAE;YACd,UAAU;YACV,MAAM;YACN,SAAS,EAAE,IAAI,IAAI,EAAE;SACtB,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,eAAe,CAAC,QAAgB;QACpC,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QACrD,MAAM,SAAS,GAAG,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;QAEhD,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QAC9C,MAAM,QAAQ,GAAkB,EAAE,CAAC;QAEnC,kCAAkC;QAClC,QAAQ,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,uBAAuB,CAAC,GAAG,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC;QACzE,QAAQ,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,gCAAgC,CAAC,GAAG,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC;QAClF,QAAQ,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,4BAA4B,CAAC,GAAG,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC;QAC9E,QAAQ,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,mBAAmB,CAAC,GAAG,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC;QACrE,QAAQ,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,wBAAwB,CAAC,GAAG,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC;QAC1E,QAAQ,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,oBAAoB,CAAC,GAAG,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC;QAEtE,qCAAqC;QACrC,OAAO,QAAQ;aACZ,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,IAAI,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC;aACtD,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC;IAC9C,CAAC;IAED;;OAEG;IACK,SAAS,CAAC,IAAY,EAAE,QAAgB;QAC9C,IAAI,CAAC;YACH,OAAO,IAAA,cAAK,EAAC,IAAI,EAAE;gBACjB,UAAU,EAAE,QAAQ;gBACpB,OAAO,EAAE;oBACP,YAAY;oBACZ,KAAK;oBACL,mBAAmB;oBACnB,iBAAiB;oBACjB,iBAAiB;oBACjB,eAAe;oBACf,kBAAkB;oBAClB,2BAA2B;iBAC5B;gBACD,cAAc,EAAE,QAAQ;aACzB,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,mBAAmB,QAAQ,KAAM,KAAe,CAAC,OAAO,EAAE,CAAC,CAAC;QAC9E,CAAC;IACH,CAAC;IAED;;;OAGG;IACK,eAAe,CAAC,IAAY;QAClC,+DAA+D;QAC/D,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;YACrD,OAAO,6BAAa,CAAC,OAAO,CAAC;QAC/B,CAAC;QACD,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,yCAAyC,CAAC,EAAE,CAAC;YAChH,OAAO,6BAAa,CAAC,MAAM,CAAC;QAC9B,CAAC;QACD,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,0BAA0B,CAAC,EAAE,CAAC;YACxG,OAAO,6BAAa,CAAC,GAAG,CAAC;QAC3B,CAAC;QACD,IAAI,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;YACrF,OAAO,6BAAa,CAAC,OAAO,CAAC;QAC/B,CAAC;QACD,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;YAC5G,OAAO,6BAAa,CAAC,KAAK,CAAC;QAC7B,CAAC;QACD,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;YACjH,OAAO,6BAAa,CAAC,IAAI,CAAC;QAC5B,CAAC;QAED,mFAAmF;QACnF,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;YACjF,OAAO,6BAAa,CAAC,IAAI,CAAC,CAAC,yCAAyC;QACtE,CAAC;QAED,OAAO,6BAAa,CAAC,IAAI,CAAC;IAC5B,CAAC;IAED;;OAEG;IACK,uBAAuB,CAAC,GAAQ,EAAE,SAAwB,EAAE,QAAgB;QAClF,MAAM,QAAQ,GAAkB,EAAE,CAAC;QACnC,MAAM,kBAAkB,GAAG;YACzB,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,KAAK;YAC9D,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,SAAS;SACvC,CAAC;QAEF,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC,IAAS,EAAE,EAAE;YAClC,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC3B,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;gBACxC,MAAM,oBAAoB,GAAG,kBAAkB,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAC/D,QAAQ,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,CAC3C,CAAC;gBAEF,IAAI,oBAAoB,EAAE,CAAC;oBACzB,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,CAChC,IAAI,EACJ,2BAAW,CAAC,SAAS,EACrB,SAAS,EACT,QAAQ,EACR,QAAQ,EACR,IAAI,CACL,CAAC;oBACF,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBACzB,CAAC;YACH,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED;;OAEG;IACK,gCAAgC,CAAC,GAAQ,EAAE,SAAwB,EAAE,QAAgB;QAC3F,MAAM,QAAQ,GAAkB,EAAE,CAAC;QACnC,MAAM,kBAAkB,GAAG;YACzB,UAAU,EAAE,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,OAAO;YACpD,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,SAAS;SAC3C,CAAC;QAEF,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC,IAAS,EAAE,EAAE;YAClC,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC3B,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;gBACpC,MAAM,gBAAgB,GAAG,kBAAkB,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAC3D,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CACzB,CAAC;gBAEF,IAAI,gBAAgB,EAAE,CAAC;oBACrB,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;oBACxC,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,CAChC,IAAI,EACJ,2BAAW,CAAC,kBAAkB,EAC9B,SAAS,EACT,QAAQ,EACR,QAAQ,EACR,GAAG,CACJ,CAAC;oBACF,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBACzB,CAAC;YACH,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED;;OAEG;IACK,4BAA4B,CAAC,GAAQ,EAAE,SAAwB,EAAE,QAAgB;QACvF,MAAM,QAAQ,GAAkB,EAAE,CAAC;QAEnC,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC,IAAS,EAAE,EAAE;YAClC,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC3B,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;gBACpC,MAAM,gBAAgB,GACpB,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;oBAChD,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC;oBACxB,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC;oBACxB,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC;oBACxB,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;gBAEtD,IAAI,gBAAgB,EAAE,CAAC;oBACrB,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;oBACxC,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,CAChC,IAAI,EACJ,2BAAW,CAAC,cAAc,EAC1B,SAAS,EACT,QAAQ,EACR,QAAQ,EACR,GAAG,CACJ,CAAC;oBACF,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBACzB,CAAC;YACH,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED;;OAEG;IACK,mBAAmB,CAAC,GAAQ,EAAE,SAAwB,EAAE,QAAgB;QAC9E,MAAM,QAAQ,GAAkB,EAAE,CAAC;QACnC,MAAM,cAAc,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC;QAEjF,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC,IAAS,EAAE,EAAE;YAClC,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC3B,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;gBACpC,MAAM,UAAU,GAAG,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC;gBAE9E,IAAI,UAAU,EAAE,CAAC;oBACf,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;oBACxC,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,CAChC,IAAI,EACJ,2BAAW,CAAC,YAAY,EACxB,SAAS,EACT,QAAQ,EACR,QAAQ,EACR,IAAI,CACL,CAAC;oBACF,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBACzB,CAAC;YACH,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED;;OAEG;IACK,wBAAwB,CAAC,GAAQ,EAAE,SAAwB,EAAE,QAAgB;QACnF,MAAM,QAAQ,GAAkB,EAAE,CAAC;QAEnC,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC,IAAS,EAAE,EAAE;YAClC,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC3B,MAAM,cAAc,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;gBAClD,IAAI,cAAc,IAAI,CAAC,EAAE,CAAC;oBACxB,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;oBACxC,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,CAChC,IAAI,EACJ,2BAAW,CAAC,iBAAiB,EAC7B,SAAS,EACT,QAAQ,EACR,QAAQ,EACR,IAAI,CACL,CAAC;oBACF,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBACzB,CAAC;YACH,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED;;OAEG;IACK,oBAAoB,CAAC,GAAQ,EAAE,SAAwB,EAAE,QAAgB;QAC/E,MAAM,QAAQ,GAAkB,EAAE,CAAC;QAEnC,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC,IAAS,EAAE,EAAE;YAClC,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC3B,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;gBACpC,MAAM,OAAO,GACX,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC;oBACtB,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC;oBACtB,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC;oBACxB,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;gBAE1B,IAAI,OAAO,EAAE,CAAC;oBACZ,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;oBACxC,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,CAChC,IAAI,EACJ,2BAAW,CAAC,aAAa,EACzB,SAAS,EACT,QAAQ,EACR,QAAQ,EACR,GAAG,CACJ,CAAC;oBACF,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBACzB,CAAC;YACH,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED;;OAEG;IACK,aAAa,CACnB,IAAS,EACT,IAAiB,EACjB,SAAwB,EACxB,QAAgB,EAChB,IAAY,EACZ,UAAkB;QAElB,MAAM,EAAE,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAC9C,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAEpC,OAAO;YACL,EAAE;YACF,IAAI;YACJ,IAAI;YACJ,QAAQ,EAAE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC;YAClC,SAAS;YACT,QAAQ,EAAE,IAAI,CAAC,mBAAmB,CAAC,EAAE,EAAE,IAAI,CAAC;YAC5C,QAAQ,EAAE,CAAC,IAAI,CAAC;YAChB,SAAS,EAAE,CAAC;YACZ,UAAU;YACV,uBAAuB,EAAE,IAAI,CAAC,4BAA4B,CAAC,IAAI,CAAC;YAChE,UAAU,EAAE,QAAQ;YACpB,SAAS,EAAE,IAAI,IAAI,EAAE;YACrB,QAAQ,EAAE;gBACR,QAAQ,EAAE,IAAI,CAAC,IAAI;gBACnB,QAAQ,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;aACjC;SACF,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,WAAW,CAAC,GAAQ,EAAE,OAA4B;QACxD,MAAM,QAAQ,GAAG,CAAC,IAAS,EAAE,QAAgB,CAAC,EAAE,EAAE;YAChD,IAAI,CAAC,IAAI,IAAI,KAAK,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,QAAQ,IAAI,EAAE,CAAC;gBAAE,OAAO;YAErE,OAAO,CAAC,IAAI,CAAC,CAAC;YAEd,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;gBACvB,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,OAAO,IAAI,CAAC,GAAG,CAAC,KAAK,QAAQ,EAAE,CAAC;oBAC/C,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;wBAC7B,IAAI,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,KAAU,EAAE,EAAE,CAAC,QAAQ,CAAC,KAAK,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC;oBAChE,CAAC;yBAAM,CAAC;wBACN,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;oBACjC,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC,CAAC;QAEF,QAAQ,CAAC,GAAG,CAAC,CAAC;IAChB,CAAC;IAED;;OAEG;IACK,WAAW,CAAC,IAAS;QAC3B,IAAI,IAAI,CAAC,IAAI,KAAK,gBAAgB;YAAE,OAAO,KAAK,CAAC;QACjD,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC3B,IAAI,CAAC,MAAM;YAAE,OAAO,KAAK,CAAC;QAE1B,MAAM,aAAa,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;QACvE,OAAO,aAAa,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IACtE,CAAC;IAED;;OAEG;IACK,WAAW,CAAC,IAAS;QAC3B,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAChD,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;YACnC,IAAI,QAAQ,CAAC,IAAI,KAAK,eAAe,EAAE,CAAC;gBACtC,OAAO,QAAQ,CAAC,KAAK,CAAC;YACxB,CAAC;QACH,CAAC;QACD,OAAO,cAAc,CAAC;IACxB,CAAC;IAED;;OAEG;IACK,WAAW,CAAC,IAAS;QAC3B,6DAA6D;QAC7D,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IACvC,CAAC;IAED;;OAEG;IACK,eAAe,CAAC,IAAS;QAC/B,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,CAAM,EAAE,EAAE;YAChC,IAAI,CAAC,CAAC,IAAI,KAAK,gBAAgB,EAAE,CAAC;gBAChC,MAAM,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC;gBACxB,IAAI,MAAM,EAAE,IAAI,KAAK,QAAQ,IAAI,MAAM,EAAE,QAAQ,EAAE,IAAI,KAAK,QAAQ,EAAE,CAAC;oBACrE,KAAK,EAAE,CAAC;gBACV,CAAC;YACH,CAAC;QACH,CAAC,CAAC,CAAC;QACH,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;OAEG;IACK,WAAW,CAAC,IAAS;QAC3B,OAAO;YACL,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,KAAK,EAAE,IAAI,IAAI,CAAC;YACrC,OAAO,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,IAAI,CAAC;YACjC,WAAW,EAAE,IAAI,CAAC,GAAG,EAAE,KAAK,EAAE,MAAM,IAAI,CAAC;YACzC,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,MAAM,IAAI,CAAC;SACtC,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,iBAAiB,CAAC,IAAY,EAAE,IAAiB;QACvD,MAAM,IAAI,GAAG,MAAM;aAChB,UAAU,CAAC,KAAK,CAAC;aACjB,MAAM,CAAC,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;aACvC,MAAM,CAAC,KAAK,CAAC;aACb,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACnB,OAAO,WAAW,IAAI,IAAI,IAAI,EAAE,CAAC;IACnC,CAAC;IAED;;OAEG;IACK,aAAa,CAAC,IAAiB;QACrC,MAAM,WAAW,GAAyC;YACxD,CAAC,2BAAW,CAAC,SAAS,CAAC,EAAE,+BAAe,CAAC,SAAS;YAClD,CAAC,2BAAW,CAAC,kBAAkB,CAAC,EAAE,+BAAe,CAAC,SAAS;YAC3D,CAAC,2BAAW,CAAC,cAAc,CAAC,EAAE,+BAAe,CAAC,SAAS;YACvD,CAAC,2BAAW,CAAC,WAAW,CAAC,EAAE,+BAAe,CAAC,gBAAgB;YAC3D,CAAC,2BAAW,CAAC,aAAa,CAAC,EAAE,+BAAe,CAAC,gBAAgB;YAC7D,CAAC,2BAAW,CAAC,YAAY,CAAC,EAAE,+BAAe,CAAC,SAAS;YACrD,CAAC,2BAAW,CAAC,iBAAiB,CAAC,EAAE,+BAAe,CAAC,SAAS;YAC1D,CAAC,2BAAW,CAAC,cAAc,CAAC,EAAE,+BAAe,CAAC,SAAS;YACvD,CAAC,2BAAW,CAAC,WAAW,CAAC,EAAE,+BAAe,CAAC,SAAS;YACpD,CAAC,2BAAW,CAAC,aAAa,CAAC,EAAE,+BAAe,CAAC,SAAS;SACvD,CAAC;QACF,OAAO,WAAW,CAAC,IAAI,CAAC,IAAI,+BAAe,CAAC,SAAS,CAAC;IACxD,CAAC;IAED;;OAEG;IACK,4BAA4B,CAAC,IAAiB;QACpD,MAAM,aAAa,GAAkC;YACnD,CAAC,2BAAW,CAAC,SAAS,CAAC,EAAE,CAAC,gCAAgC,EAAE,qBAAqB,CAAC;YAClF,CAAC,2BAAW,CAAC,kBAAkB,CAAC,EAAE,CAAC,mBAAmB,EAAE,qBAAqB,CAAC;YAC9E,CAAC,2BAAW,CAAC,cAAc,CAAC,EAAE,CAAC,6BAA6B,EAAE,kBAAkB,CAAC;YACjF,CAAC,2BAAW,CAAC,WAAW,CAAC,EAAE,CAAC,8BAA8B,EAAE,uBAAuB,CAAC;YACpF,CAAC,2BAAW,CAAC,aAAa,CAAC,EAAE,CAAC,yBAAyB,EAAE,UAAU,CAAC;YACpE,CAAC,2BAAW,CAAC,YAAY,CAAC,EAAE,CAAC,uBAAuB,EAAE,gBAAgB,EAAE,WAAW,CAAC;YACpF,CAAC,2BAAW,CAAC,iBAAiB,CAAC,EAAE,CAAC,uBAAuB,EAAE,qBAAqB,CAAC;YACjF,CAAC,2BAAW,CAAC,cAAc,CAAC,EAAE,CAAC,gBAAgB,EAAE,yBAAyB,CAAC;YAC3E,CAAC,2BAAW,CAAC,WAAW,CAAC,EAAE,CAAC,4CAA4C,CAAC;YACzE,CAAC,2BAAW,CAAC,aAAa,CAAC,EAAE,CAAC,qCAAqC,CAAC;SACrE,CAAC;QACF,OAAO,aAAa,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;IACnC,CAAC;IAED;;OAEG;IACK,mBAAmB,CAAC,EAAU,EAAE,IAAY;QAClD,OAAO;YACL,EAAE,EAAE,YAAY,EAAE,EAAE;YACpB,IAAI,EAAE,aAAa,IAAI,EAAE;YACzB,WAAW,EAAE,yBAAyB;YACtC,SAAS,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE,aAAa,EAAE,EAAE,EAAE;YACxF,UAAU,EAAE,EAAE;YACd,eAAe,EAAE,EAAE;YACnB,cAAc,EAAE,EAAE;SACnB,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,gBAAgB,CAAC,QAAgB;QACvC,iCAAiC;QACjC,OAAO,CAAC,CAAC;IACX,CAAC;IAED;;OAEG;IACK,mBAAmB,CACzB,cAAsB,EACtB,aAAqB,EACrB,QAAuB,EACvB,cAAsB;QAEtB,MAAM,uBAAuB,GAAgC,EAAS,CAAC;QACvE,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;YACnB,uBAAuB,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;QAC/E,CAAC,CAAC,CAAC;QAEH,OAAO;YACL,cAAc;YACd,aAAa;YACb,iBAAiB,EAAE,QAAQ,CAAC,MAAM;YAClC,cAAc;YACd,kBAAkB,EAAE,QAAQ,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,cAAc,EAAE,CAAC,CAAC;YACjE,uBAAuB;SACxB,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,mBAAmB,CAAC,QAAuB;QACjD,MAAM,IAAI,GAAG,IAAI,GAAG,EAAuB,CAAC;QAC5C,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;YACnB,8CAA8C;YAC9C,MAAM,cAAc,GAAG,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YACzD,MAAM,GAAG,GAAG,GAAG,CAAC,CAAC,IAAI,IAAI,cAAc,EAAE,CAAC;YAE1C,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;gBACnB,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;YACnB,CAAC;iBAAM,CAAC;gBACN,sCAAsC;gBACtC,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAE,CAAC;gBAChC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC;gBACtC,QAAQ,CAAC,SAAS,EAAE,CAAC;gBACrB,kDAAkD;gBAClD,QAAQ,CAAC,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,UAAU,GAAG,IAAI,EAAE,GAAG,CAAC,CAAC;YAClE,CAAC;QACH,CAAC,CAAC,CAAC;QACH,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;IACnC,CAAC;IAED;;;OAGG;IACK,oBAAoB,CAAC,IAAY;QACvC,OAAO,IAAI;aACR,WAAW,EAAE;aACb,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAE,0CAA0C;aACnE,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAK,uBAAuB;aAChD,IAAI,EAAE,CAAC;IACZ,CAAC;IAED;;OAEG;IACH,WAAW;QACT,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,CAAC,CAAC;IACrD,CAAC;CACF;AArlBD,4CAqlBC"}
@@ -0,0 +1,102 @@
1
+ /**
2
+ * PatternMemoryIntegration - Integration with ReasoningBank and shared memory
3
+ * Phase 2 (v1.1.0) - Pattern Extraction Specialist
4
+ *
5
+ * Provides storage and retrieval of extracted patterns in shared memory
6
+ * for coordination across agents in the AQE fleet.
7
+ */
8
+ import { MemoryStore } from '../types';
9
+ import { TestPattern, PatternExtractionResult, CodeSignature, TestTemplate, PatternSimilarity, PatternRecommendation } from '../types/pattern.types';
10
+ export interface PatternMemoryConfig {
11
+ namespace: string;
12
+ ttl: number;
13
+ partition: string;
14
+ }
15
+ /**
16
+ * Pattern memory integration for ReasoningBank
17
+ */
18
+ export declare class PatternMemoryIntegration {
19
+ private logger;
20
+ private memoryStore;
21
+ private config;
22
+ constructor(memoryStore: MemoryStore, config?: Partial<PatternMemoryConfig>);
23
+ /**
24
+ * Store extracted patterns
25
+ */
26
+ storePatterns(result: PatternExtractionResult, key?: string): Promise<void>;
27
+ /**
28
+ * Retrieve extracted patterns
29
+ */
30
+ retrievePatterns(key?: string): Promise<PatternExtractionResult | null>;
31
+ /**
32
+ * Store code signatures
33
+ */
34
+ storeSignatures(signatures: CodeSignature[], key?: string): Promise<void>;
35
+ /**
36
+ * Retrieve code signatures
37
+ */
38
+ retrieveSignatures(key?: string): Promise<CodeSignature[]>;
39
+ /**
40
+ * Store test templates
41
+ */
42
+ storeTemplates(templates: TestTemplate[], key?: string): Promise<void>;
43
+ /**
44
+ * Retrieve test templates
45
+ */
46
+ retrieveTemplates(key?: string): Promise<TestTemplate[]>;
47
+ /**
48
+ * Store pattern similarities
49
+ */
50
+ storeSimilarities(similarities: PatternSimilarity[], key?: string): Promise<void>;
51
+ /**
52
+ * Store pattern recommendations
53
+ */
54
+ storeRecommendations(recommendations: PatternRecommendation[], sourceCodeHash: string): Promise<void>;
55
+ /**
56
+ * Retrieve pattern recommendations
57
+ */
58
+ retrieveRecommendations(sourceCodeHash: string): Promise<PatternRecommendation[]>;
59
+ /**
60
+ * Store pattern by ID for quick access
61
+ */
62
+ storePatternById(pattern: TestPattern): Promise<void>;
63
+ /**
64
+ * Retrieve pattern by ID
65
+ */
66
+ retrievePatternById(patternId: string): Promise<TestPattern | null>;
67
+ /**
68
+ * Update extraction statistics
69
+ */
70
+ updateStatistics(stats: {
71
+ totalPatternsExtracted: number;
72
+ totalFilesProcessed: number;
73
+ totalProcessingTime: number;
74
+ lastExtraction: Date;
75
+ }): Promise<void>;
76
+ /**
77
+ * Get extraction statistics
78
+ */
79
+ getStatistics(): Promise<any>;
80
+ /**
81
+ * Clear all patterns from memory
82
+ */
83
+ clearPatterns(): Promise<void>;
84
+ /**
85
+ * Export patterns for backup/migration
86
+ */
87
+ exportPatterns(): Promise<{
88
+ patterns: TestPattern[];
89
+ templates: TestTemplate[];
90
+ signatures: CodeSignature[];
91
+ statistics: any;
92
+ }>;
93
+ /**
94
+ * Import patterns from backup
95
+ */
96
+ importPatterns(data: {
97
+ patterns: TestPattern[];
98
+ templates?: TestTemplate[];
99
+ signatures?: CodeSignature[];
100
+ }): Promise<void>;
101
+ }
102
+ //# sourceMappingURL=PatternMemoryIntegration.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PatternMemoryIntegration.d.ts","sourceRoot":"","sources":["../../src/reasoning/PatternMemoryIntegration.ts"],"names":[],"mappings":"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"}