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,98 @@
1
+ /**
2
+ * CodeSignatureGenerator - Generate code fingerprints for pattern matching
3
+ * Phase 2 (v1.1.0) - Pattern Extraction Specialist
4
+ *
5
+ * Generates unique signatures for code blocks based on:
6
+ * - Function signatures and parameter types
7
+ * - Return types
8
+ * - Cyclomatic complexity
9
+ * - AST node patterns
10
+ * - Dependencies
11
+ */
12
+ import { CodeSignature, ASTAnalysisOptions } from '../types/pattern.types';
13
+ export declare class CodeSignatureGenerator {
14
+ private logger;
15
+ constructor();
16
+ /**
17
+ * Generate code signature from source code
18
+ */
19
+ generate(sourceCode: string, options?: ASTAnalysisOptions): Promise<CodeSignature>;
20
+ /**
21
+ * Parse source code to AST
22
+ */
23
+ private parseAST;
24
+ /**
25
+ * Extract function signature
26
+ */
27
+ private extractFunctionSignature;
28
+ /**
29
+ * Extract parameter types
30
+ */
31
+ private extractParameterTypes;
32
+ /**
33
+ * Extract return type
34
+ */
35
+ private extractReturnType;
36
+ /**
37
+ * Calculate cyclomatic complexity
38
+ * Uses standard complexity metrics with proper else-if counting
39
+ */
40
+ private calculateComplexity;
41
+ /**
42
+ * Identify patterns in AST
43
+ */
44
+ private identifyPatterns;
45
+ /**
46
+ * Generate source hash for change detection
47
+ */
48
+ private generateSourceHash;
49
+ /**
50
+ * Extract all node types in AST
51
+ */
52
+ private extractNodeTypes;
53
+ /**
54
+ * Extract dependencies and imports
55
+ */
56
+ private extractDependencies;
57
+ /**
58
+ * Generate unique signature ID
59
+ */
60
+ private generateSignatureId;
61
+ /**
62
+ * Get parameter name
63
+ */
64
+ private getParamName;
65
+ /**
66
+ * Get parameter type
67
+ */
68
+ private getParamType;
69
+ /**
70
+ * Get type annotation
71
+ */
72
+ private getTypeAnnotation;
73
+ /**
74
+ * Infer return type from return statements
75
+ */
76
+ private inferReturnType;
77
+ /**
78
+ * Infer type from expression
79
+ */
80
+ private inferTypeFromExpression;
81
+ /**
82
+ * Check for async patterns
83
+ */
84
+ private hasAsyncPattern;
85
+ /**
86
+ * Check for error handling
87
+ */
88
+ private hasErrorHandling;
89
+ /**
90
+ * Check for boundary checks
91
+ */
92
+ private hasBoundaryChecks;
93
+ /**
94
+ * Traverse AST
95
+ */
96
+ private traverseAST;
97
+ }
98
+ //# sourceMappingURL=CodeSignatureGenerator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CodeSignatureGenerator.d.ts","sourceRoot":"","sources":["../../src/reasoning/CodeSignatureGenerator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAIH,OAAO,EAAE,aAAa,EAA6B,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAGtG,qBAAa,sBAAsB;IACjC,OAAO,CAAC,MAAM,CAAS;;IAMvB;;OAEG;IACG,QAAQ,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,kBAAkB,GAAG,OAAO,CAAC,aAAa,CAAC;IA+BxF;;OAEG;IACH,OAAO,CAAC,QAAQ;IAgBhB;;OAEG;IACH,OAAO,CAAC,wBAAwB;IAqBhC;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAqB7B;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAoBzB;;;OAGG;IACH,OAAO,CAAC,mBAAmB;IA2B3B;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAuCxB;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAI1B;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAQxB;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAiB3B;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAK3B;;OAEG;IACH,OAAO,CAAC,YAAY;IASpB;;OAEG;IACH,OAAO,CAAC,YAAY;IAOpB;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAazB;;OAEG;IACH,OAAO,CAAC,eAAe;IAcvB;;OAEG;IACH,OAAO,CAAC,uBAAuB;IAW/B;;OAEG;IACH,OAAO,CAAC,eAAe;IAUvB;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAUxB;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAYzB;;OAEG;IACH,OAAO,CAAC,WAAW;CAkBpB"}
@@ -0,0 +1,427 @@
1
+ "use strict";
2
+ /**
3
+ * CodeSignatureGenerator - Generate code fingerprints for pattern matching
4
+ * Phase 2 (v1.1.0) - Pattern Extraction Specialist
5
+ *
6
+ * Generates unique signatures for code blocks based on:
7
+ * - Function signatures and parameter types
8
+ * - Return types
9
+ * - Cyclomatic complexity
10
+ * - AST node patterns
11
+ * - Dependencies
12
+ */
13
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
14
+ if (k2 === undefined) k2 = k;
15
+ var desc = Object.getOwnPropertyDescriptor(m, k);
16
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
17
+ desc = { enumerable: true, get: function() { return m[k]; } };
18
+ }
19
+ Object.defineProperty(o, k2, desc);
20
+ }) : (function(o, m, k, k2) {
21
+ if (k2 === undefined) k2 = k;
22
+ o[k2] = m[k];
23
+ }));
24
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
25
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
26
+ }) : function(o, v) {
27
+ o["default"] = v;
28
+ });
29
+ var __importStar = (this && this.__importStar) || (function () {
30
+ var ownKeys = function(o) {
31
+ ownKeys = Object.getOwnPropertyNames || function (o) {
32
+ var ar = [];
33
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
34
+ return ar;
35
+ };
36
+ return ownKeys(o);
37
+ };
38
+ return function (mod) {
39
+ if (mod && mod.__esModule) return mod;
40
+ var result = {};
41
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
42
+ __setModuleDefault(result, mod);
43
+ return result;
44
+ };
45
+ })();
46
+ Object.defineProperty(exports, "__esModule", { value: true });
47
+ exports.CodeSignatureGenerator = void 0;
48
+ const parser_1 = require("@babel/parser");
49
+ const crypto = __importStar(require("crypto"));
50
+ const pattern_types_1 = require("../types/pattern.types");
51
+ const Logger_1 = require("../utils/Logger");
52
+ class CodeSignatureGenerator {
53
+ constructor() {
54
+ this.logger = Logger_1.Logger.getInstance();
55
+ }
56
+ /**
57
+ * Generate code signature from source code
58
+ */
59
+ async generate(sourceCode, options) {
60
+ try {
61
+ const ast = this.parseAST(sourceCode, options);
62
+ const functionSignature = this.extractFunctionSignature(ast);
63
+ const parameterTypes = this.extractParameterTypes(ast);
64
+ const returnType = this.extractReturnType(ast);
65
+ const complexity = this.calculateComplexity(ast);
66
+ const patterns = this.identifyPatterns(ast);
67
+ const sourceHash = this.generateSourceHash(sourceCode);
68
+ const nodeTypes = this.extractNodeTypes(ast);
69
+ const dependencies = this.extractDependencies(ast);
70
+ return {
71
+ id: this.generateSignatureId(sourceCode),
72
+ functionSignature,
73
+ parameterTypes,
74
+ returnType,
75
+ complexity,
76
+ patterns,
77
+ sourceHash,
78
+ nodeTypes,
79
+ dependencies,
80
+ createdAt: new Date()
81
+ };
82
+ }
83
+ catch (error) {
84
+ this.logger.error('Failed to generate code signature:', error);
85
+ throw error;
86
+ }
87
+ }
88
+ /**
89
+ * Parse source code to AST
90
+ */
91
+ parseAST(code, options) {
92
+ const defaultOptions = {
93
+ typescript: true,
94
+ jsx: true,
95
+ includeComments: false,
96
+ maxDepth: 50
97
+ };
98
+ const opts = { ...defaultOptions, ...options };
99
+ return (0, parser_1.parse)(code, {
100
+ sourceType: 'module',
101
+ plugins: opts.typescript ? ['typescript'] : []
102
+ });
103
+ }
104
+ /**
105
+ * Extract function signature
106
+ */
107
+ extractFunctionSignature(ast) {
108
+ let signature = 'unknown';
109
+ this.traverseAST(ast, (node) => {
110
+ if (node.type === 'FunctionDeclaration' ||
111
+ node.type === 'FunctionExpression' ||
112
+ node.type === 'ArrowFunctionExpression') {
113
+ const name = node.id?.name || 'anonymous';
114
+ const params = node.params.map((p) => this.getParamName(p)).join(', ');
115
+ signature = `${name}(${params})`;
116
+ }
117
+ if (node.type === 'ClassMethod') {
118
+ const name = node.key.name || 'method';
119
+ const params = node.params.map((p) => this.getParamName(p)).join(', ');
120
+ signature = `${name}(${params})`;
121
+ }
122
+ });
123
+ return signature;
124
+ }
125
+ /**
126
+ * Extract parameter types
127
+ */
128
+ extractParameterTypes(ast) {
129
+ const parameters = [];
130
+ this.traverseAST(ast, (node) => {
131
+ if (node.type === 'FunctionDeclaration' ||
132
+ node.type === 'FunctionExpression' ||
133
+ node.type === 'ArrowFunctionExpression' ||
134
+ node.type === 'ClassMethod') {
135
+ node.params.forEach((param) => {
136
+ parameters.push({
137
+ name: this.getParamName(param),
138
+ type: this.getParamType(param),
139
+ optional: param.optional || false
140
+ });
141
+ });
142
+ }
143
+ });
144
+ return parameters;
145
+ }
146
+ /**
147
+ * Extract return type
148
+ */
149
+ extractReturnType(ast) {
150
+ let returnType = 'void';
151
+ this.traverseAST(ast, (node) => {
152
+ if (node.type === 'FunctionDeclaration' ||
153
+ node.type === 'FunctionExpression' ||
154
+ node.type === 'ArrowFunctionExpression' ||
155
+ node.type === 'ClassMethod') {
156
+ if (node.returnType) {
157
+ returnType = this.getTypeAnnotation(node.returnType);
158
+ }
159
+ else {
160
+ // Infer from return statements
161
+ returnType = this.inferReturnType(node);
162
+ }
163
+ }
164
+ });
165
+ return returnType;
166
+ }
167
+ /**
168
+ * Calculate cyclomatic complexity
169
+ * Uses standard complexity metrics with proper else-if counting
170
+ */
171
+ calculateComplexity(ast) {
172
+ let complexity = 1; // Base complexity
173
+ this.traverseAST(ast, (node) => {
174
+ // Increase complexity for decision points
175
+ if (node.type === 'IfStatement') {
176
+ complexity++;
177
+ // Count else-if as additional complexity
178
+ if (node.alternate && node.alternate.type === 'IfStatement') {
179
+ complexity++;
180
+ }
181
+ }
182
+ if (node.type === 'SwitchCase' && node.test !== null)
183
+ complexity++;
184
+ if (node.type === 'ForStatement')
185
+ complexity++;
186
+ if (node.type === 'ForInStatement')
187
+ complexity++;
188
+ if (node.type === 'ForOfStatement')
189
+ complexity++;
190
+ if (node.type === 'WhileStatement')
191
+ complexity++;
192
+ if (node.type === 'DoWhileStatement')
193
+ complexity++;
194
+ if (node.type === 'ConditionalExpression')
195
+ complexity++;
196
+ if (node.type === 'LogicalExpression' && node.operator === '&&')
197
+ complexity++;
198
+ if (node.type === 'LogicalExpression' && node.operator === '||')
199
+ complexity++;
200
+ if (node.type === 'CatchClause')
201
+ complexity++;
202
+ });
203
+ return complexity;
204
+ }
205
+ /**
206
+ * Identify patterns in AST
207
+ */
208
+ identifyPatterns(ast) {
209
+ const patterns = [];
210
+ // Identify async patterns
211
+ if (this.hasAsyncPattern(ast)) {
212
+ patterns.push({
213
+ type: pattern_types_1.PatternType.ASYNC_PATTERN,
214
+ confidence: 0.95,
215
+ description: 'Asynchronous execution pattern detected',
216
+ location: { startLine: 0, endLine: 0, startColumn: 0, endColumn: 0 },
217
+ data: { hasAsync: true }
218
+ });
219
+ }
220
+ // Identify error handling patterns
221
+ if (this.hasErrorHandling(ast)) {
222
+ patterns.push({
223
+ type: pattern_types_1.PatternType.ERROR_HANDLING,
224
+ confidence: 0.9,
225
+ description: 'Error handling pattern detected',
226
+ location: { startLine: 0, endLine: 0, startColumn: 0, endColumn: 0 },
227
+ data: { hasTryCatch: true }
228
+ });
229
+ }
230
+ // Identify boundary conditions
231
+ if (this.hasBoundaryChecks(ast)) {
232
+ patterns.push({
233
+ type: pattern_types_1.PatternType.BOUNDARY_CONDITION,
234
+ confidence: 0.85,
235
+ description: 'Boundary condition checks detected',
236
+ location: { startLine: 0, endLine: 0, startColumn: 0, endColumn: 0 },
237
+ data: { hasBoundaryChecks: true }
238
+ });
239
+ }
240
+ return patterns;
241
+ }
242
+ /**
243
+ * Generate source hash for change detection
244
+ */
245
+ generateSourceHash(code) {
246
+ return crypto.createHash('sha256').update(code).digest('hex');
247
+ }
248
+ /**
249
+ * Extract all node types in AST
250
+ */
251
+ extractNodeTypes(ast) {
252
+ const types = new Set();
253
+ this.traverseAST(ast, (node) => {
254
+ if (node.type)
255
+ types.add(node.type);
256
+ });
257
+ return Array.from(types);
258
+ }
259
+ /**
260
+ * Extract dependencies and imports
261
+ */
262
+ extractDependencies(ast) {
263
+ const dependencies = [];
264
+ this.traverseAST(ast, (node) => {
265
+ if (node.type === 'ImportDeclaration') {
266
+ dependencies.push(node.source.value);
267
+ }
268
+ if (node.type === 'CallExpression' && node.callee.name === 'require') {
269
+ if (node.arguments[0] && node.arguments[0].type === 'StringLiteral') {
270
+ dependencies.push(node.arguments[0].value);
271
+ }
272
+ }
273
+ });
274
+ return Array.from(new Set(dependencies));
275
+ }
276
+ /**
277
+ * Generate unique signature ID
278
+ */
279
+ generateSignatureId(code) {
280
+ const hash = crypto.createHash('md5').update(code).digest('hex').substring(0, 12);
281
+ return `sig-${hash}`;
282
+ }
283
+ /**
284
+ * Get parameter name
285
+ */
286
+ getParamName(param) {
287
+ if (param.type === 'Identifier')
288
+ return param.name;
289
+ if (param.type === 'AssignmentPattern')
290
+ return this.getParamName(param.left);
291
+ if (param.type === 'RestElement')
292
+ return `...${this.getParamName(param.argument)}`;
293
+ if (param.type === 'ObjectPattern')
294
+ return '{...}';
295
+ if (param.type === 'ArrayPattern')
296
+ return '[...]';
297
+ return 'unknown';
298
+ }
299
+ /**
300
+ * Get parameter type
301
+ */
302
+ getParamType(param) {
303
+ if (param.typeAnnotation) {
304
+ return this.getTypeAnnotation(param.typeAnnotation);
305
+ }
306
+ return 'any';
307
+ }
308
+ /**
309
+ * Get type annotation
310
+ */
311
+ getTypeAnnotation(typeNode) {
312
+ if (!typeNode)
313
+ return 'any';
314
+ if (typeNode.typeAnnotation)
315
+ return this.getTypeAnnotation(typeNode.typeAnnotation);
316
+ if (typeNode.type === 'TSStringKeyword')
317
+ return 'string';
318
+ if (typeNode.type === 'TSNumberKeyword')
319
+ return 'number';
320
+ if (typeNode.type === 'TSBooleanKeyword')
321
+ return 'boolean';
322
+ if (typeNode.type === 'TSVoidKeyword')
323
+ return 'void';
324
+ if (typeNode.type === 'TSAnyKeyword')
325
+ return 'any';
326
+ if (typeNode.type === 'TSArrayType')
327
+ return `${this.getTypeAnnotation(typeNode.elementType)}[]`;
328
+ if (typeNode.type === 'TSPromiseType')
329
+ return `Promise<${this.getTypeAnnotation(typeNode.typeParameter)}>`;
330
+ return 'unknown';
331
+ }
332
+ /**
333
+ * Infer return type from return statements
334
+ */
335
+ inferReturnType(node) {
336
+ let hasReturn = false;
337
+ let returnType = 'void';
338
+ this.traverseAST(node, (n) => {
339
+ if (n.type === 'ReturnStatement' && n.argument) {
340
+ hasReturn = true;
341
+ returnType = this.inferTypeFromExpression(n.argument);
342
+ }
343
+ });
344
+ return hasReturn ? returnType : 'void';
345
+ }
346
+ /**
347
+ * Infer type from expression
348
+ */
349
+ inferTypeFromExpression(expr) {
350
+ if (!expr)
351
+ return 'void';
352
+ if (expr.type === 'StringLiteral')
353
+ return 'string';
354
+ if (expr.type === 'NumericLiteral')
355
+ return 'number';
356
+ if (expr.type === 'BooleanLiteral')
357
+ return 'boolean';
358
+ if (expr.type === 'ArrayExpression')
359
+ return 'array';
360
+ if (expr.type === 'ObjectExpression')
361
+ return 'object';
362
+ if (expr.type === 'AwaitExpression')
363
+ return 'Promise<any>';
364
+ return 'any';
365
+ }
366
+ /**
367
+ * Check for async patterns
368
+ */
369
+ hasAsyncPattern(ast) {
370
+ let hasAsync = false;
371
+ this.traverseAST(ast, (node) => {
372
+ if (node.async || node.type === 'AwaitExpression') {
373
+ hasAsync = true;
374
+ }
375
+ });
376
+ return hasAsync;
377
+ }
378
+ /**
379
+ * Check for error handling
380
+ */
381
+ hasErrorHandling(ast) {
382
+ let hasErrorHandling = false;
383
+ this.traverseAST(ast, (node) => {
384
+ if (node.type === 'TryStatement' || node.type === 'CatchClause') {
385
+ hasErrorHandling = true;
386
+ }
387
+ });
388
+ return hasErrorHandling;
389
+ }
390
+ /**
391
+ * Check for boundary checks
392
+ */
393
+ hasBoundaryChecks(ast) {
394
+ let hasBoundary = false;
395
+ this.traverseAST(ast, (node) => {
396
+ if (node.type === 'BinaryExpression') {
397
+ if (['>', '<', '>=', '<=', '===', '!=='].includes(node.operator)) {
398
+ hasBoundary = true;
399
+ }
400
+ }
401
+ });
402
+ return hasBoundary;
403
+ }
404
+ /**
405
+ * Traverse AST
406
+ */
407
+ traverseAST(ast, visitor) {
408
+ const traverse = (node, depth = 0) => {
409
+ if (!node || depth > 100)
410
+ return;
411
+ visitor(node);
412
+ for (const key in node) {
413
+ if (node[key] && typeof node[key] === 'object') {
414
+ if (Array.isArray(node[key])) {
415
+ node[key].forEach((child) => traverse(child, depth + 1));
416
+ }
417
+ else {
418
+ traverse(node[key], depth + 1);
419
+ }
420
+ }
421
+ }
422
+ };
423
+ traverse(ast);
424
+ }
425
+ }
426
+ exports.CodeSignatureGenerator = CodeSignatureGenerator;
427
+ //# sourceMappingURL=CodeSignatureGenerator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CodeSignatureGenerator.js","sourceRoot":"","sources":["../../src/reasoning/CodeSignatureGenerator.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,98 @@
1
+ /**
2
+ * PatternClassifier - Classify and recommend patterns for code
3
+ * Phase 2 (v1.1.0) - Pattern Extraction Specialist
4
+ *
5
+ * Classifies patterns by type and calculates similarity scores to:
6
+ * - Categorize extracted patterns
7
+ * - Calculate pattern similarity
8
+ * - Recommend patterns for new code
9
+ * - Support pattern-based test generation
10
+ */
11
+ import { TestPattern, PatternClassificationResult, PatternSimilarity, PatternRecommendation } from '../types/pattern.types';
12
+ export declare class PatternClassifier {
13
+ private logger;
14
+ private signatureGenerator;
15
+ private patterns;
16
+ constructor();
17
+ /**
18
+ * Load patterns for classification
19
+ */
20
+ loadPatterns(patterns: TestPattern[]): void;
21
+ /**
22
+ * Classify a pattern
23
+ */
24
+ classify(pattern: TestPattern): Promise<PatternClassificationResult>;
25
+ /**
26
+ * Calculate similarity between two patterns
27
+ */
28
+ calculateSimilarity(pattern1Id: string, pattern2Id: string): Promise<PatternSimilarity>;
29
+ /**
30
+ * Recommend patterns for given code
31
+ */
32
+ recommendPatterns(sourceCode: string, limit?: number): Promise<PatternRecommendation[]>;
33
+ /**
34
+ * Find similar patterns
35
+ */
36
+ findSimilarPatterns(patternId: string, threshold?: number, limit?: number): Promise<PatternSimilarity[]>;
37
+ /**
38
+ * Infer pattern type from pattern characteristics
39
+ */
40
+ private inferPatternType;
41
+ /**
42
+ * Calculate classification confidence
43
+ */
44
+ private calculateClassificationConfidence;
45
+ /**
46
+ * Get keywords for pattern type
47
+ */
48
+ private getTypeKeywords;
49
+ /**
50
+ * Generate reasoning for classification
51
+ */
52
+ private generateReasoning;
53
+ /**
54
+ * Get alternative classifications
55
+ */
56
+ private getAlternativeClassifications;
57
+ /**
58
+ * Calculate detailed similarity metrics
59
+ */
60
+ private calculateSimilarityDetails;
61
+ /**
62
+ * Calculate structural similarity
63
+ */
64
+ private calculateStructuralSimilarity;
65
+ /**
66
+ * Calculate semantic similarity
67
+ */
68
+ private calculateSemanticSimilarity;
69
+ /**
70
+ * Calculate type compatibility
71
+ */
72
+ private calculateTypeCompatibility;
73
+ /**
74
+ * Find common patterns
75
+ */
76
+ private findCommonPatterns;
77
+ /**
78
+ * Aggregate similarity score
79
+ */
80
+ private aggregateSimilarityScore;
81
+ /**
82
+ * Calculate applicability of pattern to code
83
+ */
84
+ private calculateApplicability;
85
+ /**
86
+ * Generate recommendation reason
87
+ */
88
+ private generateRecommendationReason;
89
+ /**
90
+ * Get all loaded patterns
91
+ */
92
+ getPatterns(): TestPattern[];
93
+ /**
94
+ * Get pattern by ID
95
+ */
96
+ getPattern(id: string): TestPattern | undefined;
97
+ }
98
+ //# sourceMappingURL=PatternClassifier.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PatternClassifier.d.ts","sourceRoot":"","sources":["../../src/reasoning/PatternClassifier.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EACL,WAAW,EAEX,2BAA2B,EAC3B,iBAAiB,EACjB,qBAAqB,EAGtB,MAAM,wBAAwB,CAAC;AAIhC,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,kBAAkB,CAAyB;IACnD,OAAO,CAAC,QAAQ,CAA2B;;IAQ3C;;OAEG;IACH,YAAY,CAAC,QAAQ,EAAE,WAAW,EAAE,GAAG,IAAI;IAO3C;;OAEG;IACG,QAAQ,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,2BAA2B,CAAC;IAe1E;;OAEG;IACG,mBAAmB,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAmB7F;;OAEG;IACG,iBAAiB,CACrB,UAAU,EAAE,MAAM,EAClB,KAAK,GAAE,MAAU,GAChB,OAAO,CAAC,qBAAqB,EAAE,CAAC;IA2BnC;;OAEG;IACG,mBAAmB,CACvB,SAAS,EAAE,MAAM,EACjB,SAAS,GAAE,MAAY,EACvB,KAAK,GAAE,MAAU,GAChB,OAAO,CAAC,iBAAiB,EAAE,CAAC;IAsB/B;;OAEG;IACH,OAAO,CAAC,gBAAgB;IA+BxB;;OAEG;IACH,OAAO,CAAC,iCAAiC;IAoBzC;;OAEG;IACH,OAAO,CAAC,eAAe;IAgBvB;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAazB;;OAEG;IACH,OAAO,CAAC,6BAA6B;IAiBrC;;OAEG;YACW,0BAA0B;IAiBxC;;OAEG;IACH,OAAO,CAAC,6BAA6B;IAYrC;;OAEG;IACH,OAAO,CAAC,2BAA2B;IAWnC;;OAEG;IACH,OAAO,CAAC,0BAA0B;IAqBlC;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAkB1B;;OAEG;IACH,OAAO,CAAC,wBAAwB;IAchC;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAwB9B;;OAEG;IACH,OAAO,CAAC,4BAA4B;IA0BpC;;OAEG;IACH,WAAW,IAAI,WAAW,EAAE;IAI5B;;OAEG;IACH,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS;CAGhD"}