agentic-qe 2.3.4 → 2.4.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 (255) hide show
  1. package/CHANGELOG.md +72 -0
  2. package/README.md +1 -1
  3. package/dist/agents/ApiContractValidatorAgent.d.ts +5 -0
  4. package/dist/agents/ApiContractValidatorAgent.d.ts.map +1 -1
  5. package/dist/agents/ApiContractValidatorAgent.js +41 -0
  6. package/dist/agents/ApiContractValidatorAgent.js.map +1 -1
  7. package/dist/agents/BaseAgent.d.ts +56 -49
  8. package/dist/agents/BaseAgent.d.ts.map +1 -1
  9. package/dist/agents/BaseAgent.js +208 -604
  10. package/dist/agents/BaseAgent.js.map +1 -1
  11. package/dist/agents/CodeComplexityAnalyzerAgent.d.ts +5 -0
  12. package/dist/agents/CodeComplexityAnalyzerAgent.d.ts.map +1 -1
  13. package/dist/agents/CodeComplexityAnalyzerAgent.js +47 -0
  14. package/dist/agents/CodeComplexityAnalyzerAgent.js.map +1 -1
  15. package/dist/agents/CoverageAnalyzerAgent.d.ts +26 -0
  16. package/dist/agents/CoverageAnalyzerAgent.d.ts.map +1 -1
  17. package/dist/agents/CoverageAnalyzerAgent.js +149 -1
  18. package/dist/agents/CoverageAnalyzerAgent.js.map +1 -1
  19. package/dist/agents/DeploymentReadinessAgent.d.ts +5 -0
  20. package/dist/agents/DeploymentReadinessAgent.d.ts.map +1 -1
  21. package/dist/agents/DeploymentReadinessAgent.js +41 -0
  22. package/dist/agents/DeploymentReadinessAgent.js.map +1 -1
  23. package/dist/agents/FlakyTestHunterAgent.d.ts +7 -2
  24. package/dist/agents/FlakyTestHunterAgent.d.ts.map +1 -1
  25. package/dist/agents/FlakyTestHunterAgent.js +48 -104
  26. package/dist/agents/FlakyTestHunterAgent.js.map +1 -1
  27. package/dist/agents/FleetCommanderAgent.d.ts +5 -0
  28. package/dist/agents/FleetCommanderAgent.d.ts.map +1 -1
  29. package/dist/agents/FleetCommanderAgent.js +51 -0
  30. package/dist/agents/FleetCommanderAgent.js.map +1 -1
  31. package/dist/agents/PerformanceTesterAgent.d.ts +5 -0
  32. package/dist/agents/PerformanceTesterAgent.d.ts.map +1 -1
  33. package/dist/agents/PerformanceTesterAgent.js +44 -0
  34. package/dist/agents/PerformanceTesterAgent.js.map +1 -1
  35. package/dist/agents/ProductionIntelligenceAgent.d.ts +5 -0
  36. package/dist/agents/ProductionIntelligenceAgent.d.ts.map +1 -1
  37. package/dist/agents/ProductionIntelligenceAgent.js +46 -0
  38. package/dist/agents/ProductionIntelligenceAgent.js.map +1 -1
  39. package/dist/agents/QXPartnerAgent.js +52 -0
  40. package/dist/agents/QXPartnerAgent.js.map +1 -1
  41. package/dist/agents/QualityAnalyzerAgent.d.ts +5 -0
  42. package/dist/agents/QualityAnalyzerAgent.d.ts.map +1 -1
  43. package/dist/agents/QualityAnalyzerAgent.js +45 -0
  44. package/dist/agents/QualityAnalyzerAgent.js.map +1 -1
  45. package/dist/agents/QualityGateAgent.d.ts +40 -0
  46. package/dist/agents/QualityGateAgent.d.ts.map +1 -1
  47. package/dist/agents/QualityGateAgent.js +227 -1
  48. package/dist/agents/QualityGateAgent.js.map +1 -1
  49. package/dist/agents/RegressionRiskAnalyzerAgent.d.ts +5 -0
  50. package/dist/agents/RegressionRiskAnalyzerAgent.d.ts.map +1 -1
  51. package/dist/agents/RegressionRiskAnalyzerAgent.js +46 -0
  52. package/dist/agents/RegressionRiskAnalyzerAgent.js.map +1 -1
  53. package/dist/agents/RequirementsValidatorAgent.d.ts +5 -0
  54. package/dist/agents/RequirementsValidatorAgent.d.ts.map +1 -1
  55. package/dist/agents/RequirementsValidatorAgent.js +42 -0
  56. package/dist/agents/RequirementsValidatorAgent.js.map +1 -1
  57. package/dist/agents/SecurityScannerAgent.d.ts +5 -0
  58. package/dist/agents/SecurityScannerAgent.d.ts.map +1 -1
  59. package/dist/agents/SecurityScannerAgent.js +39 -0
  60. package/dist/agents/SecurityScannerAgent.js.map +1 -1
  61. package/dist/agents/TestDataArchitectAgent.d.ts +5 -0
  62. package/dist/agents/TestDataArchitectAgent.d.ts.map +1 -1
  63. package/dist/agents/TestDataArchitectAgent.js +46 -0
  64. package/dist/agents/TestDataArchitectAgent.js.map +1 -1
  65. package/dist/agents/TestExecutorAgent.d.ts +6 -1
  66. package/dist/agents/TestExecutorAgent.d.ts.map +1 -1
  67. package/dist/agents/TestExecutorAgent.js +52 -46
  68. package/dist/agents/TestExecutorAgent.js.map +1 -1
  69. package/dist/agents/TestGeneratorAgent.d.ts +5 -0
  70. package/dist/agents/TestGeneratorAgent.d.ts.map +1 -1
  71. package/dist/agents/TestGeneratorAgent.js +51 -35
  72. package/dist/agents/TestGeneratorAgent.js.map +1 -1
  73. package/dist/agents/adapters/CoordinatorAdapter.d.ts +47 -0
  74. package/dist/agents/adapters/CoordinatorAdapter.d.ts.map +1 -0
  75. package/dist/agents/adapters/CoordinatorAdapter.js +266 -0
  76. package/dist/agents/adapters/CoordinatorAdapter.js.map +1 -0
  77. package/dist/agents/adapters/LearningEngineAdapter.d.ts +45 -0
  78. package/dist/agents/adapters/LearningEngineAdapter.d.ts.map +1 -0
  79. package/dist/agents/adapters/LearningEngineAdapter.js +279 -0
  80. package/dist/agents/adapters/LearningEngineAdapter.js.map +1 -0
  81. package/dist/agents/adapters/LifecycleManagerAdapter.d.ts +45 -0
  82. package/dist/agents/adapters/LifecycleManagerAdapter.d.ts.map +1 -0
  83. package/dist/agents/adapters/LifecycleManagerAdapter.js +128 -0
  84. package/dist/agents/adapters/LifecycleManagerAdapter.js.map +1 -0
  85. package/dist/agents/adapters/MemoryServiceAdapter.d.ts +96 -0
  86. package/dist/agents/adapters/MemoryServiceAdapter.d.ts.map +1 -0
  87. package/dist/agents/adapters/MemoryServiceAdapter.js +266 -0
  88. package/dist/agents/adapters/MemoryServiceAdapter.js.map +1 -0
  89. package/dist/agents/adapters/index.d.ts +14 -0
  90. package/dist/agents/adapters/index.d.ts.map +1 -0
  91. package/dist/agents/adapters/index.js +25 -0
  92. package/dist/agents/adapters/index.js.map +1 -0
  93. package/dist/agents/lifecycle/AgentLifecycleManager.d.ts.map +1 -1
  94. package/dist/agents/lifecycle/AgentLifecycleManager.js +17 -8
  95. package/dist/agents/lifecycle/AgentLifecycleManager.js.map +1 -1
  96. package/dist/cli/index.js +68 -0
  97. package/dist/cli/index.js.map +1 -1
  98. package/dist/core/cache/BinaryCacheBuilder.d.ts +84 -0
  99. package/dist/core/cache/BinaryCacheBuilder.d.ts.map +1 -0
  100. package/dist/core/cache/BinaryCacheBuilder.js +225 -0
  101. package/dist/core/cache/BinaryCacheBuilder.js.map +1 -0
  102. package/dist/core/cache/BinaryCacheManager.d.ts +142 -0
  103. package/dist/core/cache/BinaryCacheManager.d.ts.map +1 -0
  104. package/dist/core/cache/BinaryCacheManager.js +354 -0
  105. package/dist/core/cache/BinaryCacheManager.js.map +1 -0
  106. package/dist/core/cache/BinaryCacheReader.d.ts +129 -0
  107. package/dist/core/cache/BinaryCacheReader.d.ts.map +1 -0
  108. package/dist/core/cache/BinaryCacheReader.js +243 -0
  109. package/dist/core/cache/BinaryCacheReader.js.map +1 -0
  110. package/dist/core/cache/BinaryMetadataCache.d.ts +533 -0
  111. package/dist/core/cache/BinaryMetadataCache.d.ts.map +1 -0
  112. package/dist/core/cache/BinaryMetadataCache.js +142 -0
  113. package/dist/core/cache/BinaryMetadataCache.js.map +1 -0
  114. package/dist/core/cache/CacheInvalidator.d.ts +103 -0
  115. package/dist/core/cache/CacheInvalidator.d.ts.map +1 -0
  116. package/dist/core/cache/CacheInvalidator.js +152 -0
  117. package/dist/core/cache/CacheInvalidator.js.map +1 -0
  118. package/dist/core/cache/CacheValidator.d.ts +69 -0
  119. package/dist/core/cache/CacheValidator.d.ts.map +1 -0
  120. package/dist/core/cache/CacheValidator.js +189 -0
  121. package/dist/core/cache/CacheValidator.js.map +1 -0
  122. package/dist/core/cache/MessagePackSerializer.d.ts +163 -0
  123. package/dist/core/cache/MessagePackSerializer.d.ts.map +1 -0
  124. package/dist/core/cache/MessagePackSerializer.js +274 -0
  125. package/dist/core/cache/MessagePackSerializer.js.map +1 -0
  126. package/dist/core/cache/index.d.ts +58 -0
  127. package/dist/core/cache/index.d.ts.map +1 -0
  128. package/dist/core/cache/index.js +102 -0
  129. package/dist/core/cache/index.js.map +1 -0
  130. package/dist/core/index.d.ts +2 -0
  131. package/dist/core/index.d.ts.map +1 -1
  132. package/dist/core/index.js +18 -0
  133. package/dist/core/index.js.map +1 -1
  134. package/dist/core/memory/HNSWVectorMemory.js +1 -1
  135. package/dist/core/memory/PatternStoreFactory.d.ts +28 -0
  136. package/dist/core/memory/PatternStoreFactory.d.ts.map +1 -1
  137. package/dist/core/memory/PatternStoreFactory.js +68 -3
  138. package/dist/core/memory/PatternStoreFactory.js.map +1 -1
  139. package/dist/core/platform/FileOperations.d.ts +124 -0
  140. package/dist/core/platform/FileOperations.d.ts.map +1 -0
  141. package/dist/core/platform/FileOperations.js +371 -0
  142. package/dist/core/platform/FileOperations.js.map +1 -0
  143. package/dist/core/platform/PlatformDetector.d.ts +53 -0
  144. package/dist/core/platform/PlatformDetector.d.ts.map +1 -0
  145. package/dist/core/platform/PlatformDetector.js +251 -0
  146. package/dist/core/platform/PlatformDetector.js.map +1 -0
  147. package/dist/core/platform/index.d.ts +12 -0
  148. package/dist/core/platform/index.d.ts.map +1 -0
  149. package/dist/core/platform/index.js +28 -0
  150. package/dist/core/platform/index.js.map +1 -0
  151. package/dist/core/strategies/AcceleratedLearningStrategy.d.ts +74 -0
  152. package/dist/core/strategies/AcceleratedLearningStrategy.d.ts.map +1 -0
  153. package/dist/core/strategies/AcceleratedLearningStrategy.js +200 -0
  154. package/dist/core/strategies/AcceleratedLearningStrategy.js.map +1 -0
  155. package/dist/core/strategies/AgentCoordinationStrategy.d.ts +157 -0
  156. package/dist/core/strategies/AgentCoordinationStrategy.d.ts.map +1 -0
  157. package/dist/core/strategies/AgentCoordinationStrategy.js +12 -0
  158. package/dist/core/strategies/AgentCoordinationStrategy.js.map +1 -0
  159. package/dist/core/strategies/AgentLearningStrategy.d.ts +200 -0
  160. package/dist/core/strategies/AgentLearningStrategy.d.ts.map +1 -0
  161. package/dist/core/strategies/AgentLearningStrategy.js +13 -0
  162. package/dist/core/strategies/AgentLearningStrategy.js.map +1 -0
  163. package/dist/core/strategies/AgentLifecycleStrategy.d.ts +116 -0
  164. package/dist/core/strategies/AgentLifecycleStrategy.d.ts.map +1 -0
  165. package/dist/core/strategies/AgentLifecycleStrategy.js +12 -0
  166. package/dist/core/strategies/AgentLifecycleStrategy.js.map +1 -0
  167. package/dist/core/strategies/AgentMemoryStrategy.d.ts +154 -0
  168. package/dist/core/strategies/AgentMemoryStrategy.d.ts.map +1 -0
  169. package/dist/core/strategies/AgentMemoryStrategy.js +13 -0
  170. package/dist/core/strategies/AgentMemoryStrategy.js.map +1 -0
  171. package/dist/core/strategies/DefaultCoordinationStrategy.d.ts +105 -0
  172. package/dist/core/strategies/DefaultCoordinationStrategy.d.ts.map +1 -0
  173. package/dist/core/strategies/DefaultCoordinationStrategy.js +332 -0
  174. package/dist/core/strategies/DefaultCoordinationStrategy.js.map +1 -0
  175. package/dist/core/strategies/DefaultLearningStrategy.d.ts +120 -0
  176. package/dist/core/strategies/DefaultLearningStrategy.d.ts.map +1 -0
  177. package/dist/core/strategies/DefaultLearningStrategy.js +365 -0
  178. package/dist/core/strategies/DefaultLearningStrategy.js.map +1 -0
  179. package/dist/core/strategies/DefaultLifecycleStrategy.d.ts +129 -0
  180. package/dist/core/strategies/DefaultLifecycleStrategy.d.ts.map +1 -0
  181. package/dist/core/strategies/DefaultLifecycleStrategy.js +297 -0
  182. package/dist/core/strategies/DefaultLifecycleStrategy.js.map +1 -0
  183. package/dist/core/strategies/DefaultMemoryStrategy.d.ts +91 -0
  184. package/dist/core/strategies/DefaultMemoryStrategy.d.ts.map +1 -0
  185. package/dist/core/strategies/DefaultMemoryStrategy.js +257 -0
  186. package/dist/core/strategies/DefaultMemoryStrategy.js.map +1 -0
  187. package/dist/core/strategies/DistributedMemoryStrategy.d.ts +85 -0
  188. package/dist/core/strategies/DistributedMemoryStrategy.d.ts.map +1 -0
  189. package/dist/core/strategies/DistributedMemoryStrategy.js +126 -0
  190. package/dist/core/strategies/DistributedMemoryStrategy.js.map +1 -0
  191. package/dist/core/strategies/index.d.ts +95 -0
  192. package/dist/core/strategies/index.d.ts.map +1 -0
  193. package/dist/core/strategies/index.js +65 -0
  194. package/dist/core/strategies/index.js.map +1 -0
  195. package/dist/learning/PerformanceOptimizer.js +2 -2
  196. package/dist/learning/PerformanceOptimizer.js.map +1 -1
  197. package/dist/learning/capture/ExperienceExtractor.d.ts +219 -0
  198. package/dist/learning/capture/ExperienceExtractor.d.ts.map +1 -0
  199. package/dist/learning/capture/ExperienceExtractor.js +536 -0
  200. package/dist/learning/capture/ExperienceExtractor.js.map +1 -0
  201. package/dist/learning/capture/ExperienceStore.d.ts +196 -0
  202. package/dist/learning/capture/ExperienceStore.d.ts.map +1 -0
  203. package/dist/learning/capture/ExperienceStore.js +453 -0
  204. package/dist/learning/capture/ExperienceStore.js.map +1 -0
  205. package/dist/learning/scheduler/SleepScheduler.d.ts +2 -0
  206. package/dist/learning/scheduler/SleepScheduler.d.ts.map +1 -1
  207. package/dist/learning/scheduler/SleepScheduler.js +2 -0
  208. package/dist/learning/scheduler/SleepScheduler.js.map +1 -1
  209. package/dist/learning/synthesis/ClusteringEngine.d.ts +122 -0
  210. package/dist/learning/synthesis/ClusteringEngine.d.ts.map +1 -0
  211. package/dist/learning/synthesis/ClusteringEngine.js +356 -0
  212. package/dist/learning/synthesis/ClusteringEngine.js.map +1 -0
  213. package/dist/learning/transfer/TransferRegistry.d.ts +245 -0
  214. package/dist/learning/transfer/TransferRegistry.d.ts.map +1 -0
  215. package/dist/learning/transfer/TransferRegistry.js +410 -0
  216. package/dist/learning/transfer/TransferRegistry.js.map +1 -0
  217. package/dist/mcp/handlers/base-handler.d.ts +28 -1
  218. package/dist/mcp/handlers/base-handler.d.ts.map +1 -1
  219. package/dist/mcp/handlers/base-handler.js +41 -0
  220. package/dist/mcp/handlers/base-handler.js.map +1 -1
  221. package/dist/mcp/handlers/task-orchestrate.d.ts +11 -0
  222. package/dist/mcp/handlers/task-orchestrate.d.ts.map +1 -1
  223. package/dist/mcp/handlers/task-orchestrate.js +297 -4
  224. package/dist/mcp/handlers/task-orchestrate.js.map +1 -1
  225. package/dist/mcp/server-instructions.d.ts +1 -1
  226. package/dist/mcp/server-instructions.js +1 -1
  227. package/dist/mcp/services/AgentRegistry.d.ts +6 -1
  228. package/dist/mcp/services/AgentRegistry.d.ts.map +1 -1
  229. package/dist/mcp/services/AgentRegistry.js +34 -3
  230. package/dist/mcp/services/AgentRegistry.js.map +1 -1
  231. package/dist/output/AIActionSuggester.d.ts +98 -0
  232. package/dist/output/AIActionSuggester.d.ts.map +1 -0
  233. package/dist/output/AIActionSuggester.js +499 -0
  234. package/dist/output/AIActionSuggester.js.map +1 -0
  235. package/dist/output/CLIOutputHelper.d.ts +169 -0
  236. package/dist/output/CLIOutputHelper.d.ts.map +1 -0
  237. package/dist/output/CLIOutputHelper.js +320 -0
  238. package/dist/output/CLIOutputHelper.js.map +1 -0
  239. package/dist/output/OutputFormatter.d.ts +764 -0
  240. package/dist/output/OutputFormatter.d.ts.map +1 -0
  241. package/dist/output/OutputFormatter.js +125 -0
  242. package/dist/output/OutputFormatter.js.map +1 -0
  243. package/dist/output/OutputFormatterImpl.d.ts +131 -0
  244. package/dist/output/OutputFormatterImpl.d.ts.map +1 -0
  245. package/dist/output/OutputFormatterImpl.js +556 -0
  246. package/dist/output/OutputFormatterImpl.js.map +1 -0
  247. package/dist/output/examples.d.ts +38 -0
  248. package/dist/output/examples.d.ts.map +1 -0
  249. package/dist/output/examples.js +503 -0
  250. package/dist/output/examples.js.map +1 -0
  251. package/dist/output/index.d.ts +16 -0
  252. package/dist/output/index.d.ts.map +1 -0
  253. package/dist/output/index.js +58 -0
  254. package/dist/output/index.js.map +1 -0
  255. package/package.json +4 -1
@@ -1 +1 @@
1
- {"version":3,"file":"SleepScheduler.d.ts","sourceRoot":"","sources":["../../../src/learning/scheduler/SleepScheduler.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AACtC,OAAO,EAAgB,kBAAkB,EAAa,MAAM,gBAAgB,CAAC;AAC7E,OAAO,EAAE,UAAU,EAAc,YAAY,EAAoB,MAAM,cAAc,CAAC;AAGtF,MAAM,WAAW,cAAc;IAC7B,yDAAyD;IACzD,mBAAmB,EAAE,MAAM,CAAC;IAC5B,sDAAsD;IACtD,iBAAiB,EAAE,MAAM,CAAC;IAC1B,oEAAoE;IACpE,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,cAAc;IAC7B,8CAA8C;IAC9C,SAAS,EAAE,MAAM,CAAC;IAClB,uCAAuC;IACvC,eAAe,EAAE,MAAM,CAAC;IACxB,4DAA4D;IAC5D,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;CACvB;AAED,MAAM,WAAW,oBAAoB;IACnC,yDAAyD;IACzD,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,QAAQ,CAAC;IACjC,0DAA0D;IAC1D,UAAU,CAAC,EAAE,OAAO,CAAC,kBAAkB,CAAC,CAAC;IACzC,gEAAgE;IAChE,QAAQ,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC;IACnC,kCAAkC;IAClC,cAAc,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC;IACxC,mEAAmE;IACnE,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,2BAA2B;IAC3B,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,mBAAmB;IAClC,SAAS,EAAE,OAAO,CAAC;IACnB,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,QAAQ,CAAC;IACjC,YAAY,EAAE,UAAU,GAAG,IAAI,CAAC;IAChC,YAAY,EAAE,IAAI,GAAG,IAAI,CAAC;IAC1B,eAAe,EAAE,MAAM,CAAC;IACxB,sBAAsB,EAAE,MAAM,CAAC;IAC/B,oBAAoB,EAAE,MAAM,CAAC;IAC7B,gBAAgB,EAAE,IAAI,GAAG,IAAI,CAAC;CAC/B;AAED;;;;;;;;;;;;;;;GAeG;AACH,qBAAa,cAAe,SAAQ,YAAY;IAC9C,OAAO,CAAC,MAAM,CAAiC;IAC/C,OAAO,CAAC,YAAY,CAAe;IACnC,OAAO,CAAC,YAAY,CAA2B;IAC/C,OAAO,CAAC,SAAS,CAAkB;IACnC,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,cAAc,CAA+B;IACrD,OAAO,CAAC,YAAY,CAAqB;IACzC,OAAO,CAAC,eAAe,CAAa;IACpC,OAAO,CAAC,sBAAsB,CAAa;IAC3C,OAAO,CAAC,oBAAoB,CAAa;gBAE7B,MAAM,EAAE,oBAAoB;IAmCxC;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IA+B5B;;OAEG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAuB3B;;OAEG;IACG,YAAY,CAAC,MAAM,GAAE,MAAiB,GAAG,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC;IAe3E;;OAEG;IACH,QAAQ,IAAI,mBAAmB;IAa/B;;OAEG;IACH,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAIlC;;OAEG;IACH,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAIpC;;OAEG;YACW,kBAAkB;IAsBhC;;OAEG;YACW,YAAY;IAmD1B;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAiCzB;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAuB3B;;OAEG;IACH,SAAS,IAAI,oBAAoB;CAGlC;AAED,eAAe,cAAc,CAAC"}
1
+ {"version":3,"file":"SleepScheduler.d.ts","sourceRoot":"","sources":["../../../src/learning/scheduler/SleepScheduler.ts"],"names":[],"mappings":"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"}
@@ -70,6 +70,7 @@ class SleepScheduler extends events_1.EventEmitter {
70
70
  ...config.learningBudget,
71
71
  },
72
72
  minCycleInterval: config.minCycleInterval ?? 3600000,
73
+ phaseDurations: config.phaseDurations,
73
74
  debug: config.debug ?? false,
74
75
  };
75
76
  this.idleDetector = new IdleDetector_1.IdleDetector(this.config.idleConfig);
@@ -194,6 +195,7 @@ class SleepScheduler extends events_1.EventEmitter {
194
195
  async executeCycle(trigger) {
195
196
  const cycleConfig = {
196
197
  budget: this.config.learningBudget,
198
+ phaseDurations: this.config.phaseDurations,
197
199
  debug: this.config.debug,
198
200
  };
199
201
  this.currentCycle = new SleepCycle_1.SleepCycle(cycleConfig);
@@ -1 +1 @@
1
- {"version":3,"file":"SleepScheduler.js","sourceRoot":"","sources":["../../../src/learning/scheduler/SleepScheduler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SleepScheduler.js","sourceRoot":"","sources":["../../../src/learning/scheduler/SleepScheduler.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,122 @@
1
+ /**
2
+ * ClusteringEngine - Clusters experiences by embedding similarity
3
+ *
4
+ * Provides simple k-means and hierarchical clustering for grouping
5
+ * similar agent experiences during pattern synthesis.
6
+ *
7
+ * Part of the Nightly-Learner Phase 1 implementation.
8
+ *
9
+ * @version 1.0.0
10
+ * @module src/learning/synthesis/ClusteringEngine
11
+ */
12
+ import { CapturedExperience } from '../capture/ExperienceCapture';
13
+ /**
14
+ * A cluster of similar experiences
15
+ */
16
+ export interface Cluster {
17
+ id: string;
18
+ centroid: number[];
19
+ members: CapturedExperience[];
20
+ size: number;
21
+ }
22
+ /**
23
+ * Configuration for clustering
24
+ */
25
+ export interface ClusteringConfig {
26
+ /** Minimum number of experiences per cluster. Default: 2 */
27
+ minClusterSize?: number;
28
+ /** Maximum number of clusters to form. Default: 10 */
29
+ maxClusters?: number;
30
+ /** Similarity threshold for merging clusters (0-1). Default: 0.85 */
31
+ similarityThreshold?: number;
32
+ /** Use diversity-aware clustering (MMR-style). Default: false */
33
+ diversityAware?: boolean;
34
+ /** Maximum iterations for k-means. Default: 50 */
35
+ maxIterations?: number;
36
+ }
37
+ /**
38
+ * ClusteringEngine groups experiences by embedding similarity
39
+ *
40
+ * @example
41
+ * ```typescript
42
+ * const engine = new ClusteringEngine();
43
+ *
44
+ * const clusters = engine.cluster(experiences, {
45
+ * maxClusters: 5,
46
+ * minClusterSize: 3,
47
+ * similarityThreshold: 0.8,
48
+ * });
49
+ *
50
+ * console.log(`Created ${clusters.length} clusters`);
51
+ * ```
52
+ */
53
+ export declare class ClusteringEngine {
54
+ private logger;
55
+ constructor();
56
+ /**
57
+ * Cluster experiences using k-means algorithm
58
+ *
59
+ * @param experiences - Experiences to cluster (must have embeddings)
60
+ * @param config - Clustering configuration
61
+ * @returns Array of clusters
62
+ */
63
+ cluster(experiences: CapturedExperience[], config?: ClusteringConfig): Cluster[];
64
+ /**
65
+ * Find k most similar clusters to a given embedding
66
+ *
67
+ * @param embedding - Query embedding
68
+ * @param clusters - Clusters to search
69
+ * @param k - Number of similar clusters to return. Default: 3
70
+ * @returns Top k similar clusters
71
+ */
72
+ findSimilar(embedding: number[], clusters: Cluster[], k?: number): Cluster[];
73
+ /**
74
+ * Calculate cosine similarity between two vectors
75
+ *
76
+ * @param a - First vector
77
+ * @param b - Second vector
78
+ * @returns Cosine similarity (0-1)
79
+ */
80
+ calculateSimilarity(a: number[], b: number[]): number;
81
+ /**
82
+ * Merge clusters that are above similarity threshold
83
+ *
84
+ * @param clusters - Clusters to merge
85
+ * @param threshold - Similarity threshold for merging (0-1)
86
+ * @returns Merged clusters
87
+ */
88
+ mergeClusters(clusters: Cluster[], threshold: number): Cluster[];
89
+ /**
90
+ * K-means clustering algorithm (simplified implementation)
91
+ *
92
+ * @param experiences - Experiences with embeddings
93
+ * @param k - Number of clusters
94
+ * @param maxIterations - Maximum iterations
95
+ * @returns Array of clusters
96
+ */
97
+ private kMeans;
98
+ /**
99
+ * Initialize centroids using k-means++ algorithm
100
+ * This provides better initial centroid placement than random selection
101
+ */
102
+ private initializeCentroidsKMeansPlusPlus;
103
+ /**
104
+ * Find the nearest centroid for an embedding
105
+ */
106
+ private findNearestCentroid;
107
+ /**
108
+ * Calculate the centroid (mean) of a group of experiences
109
+ */
110
+ private calculateCentroid;
111
+ /**
112
+ * Create a cluster from a group of experiences
113
+ */
114
+ private createCluster;
115
+ /**
116
+ * Apply diversity-aware selection (MMR-style)
117
+ * Selects diverse clusters to maximize coverage
118
+ */
119
+ private applyDiversitySelection;
120
+ }
121
+ export default ClusteringEngine;
122
+ //# sourceMappingURL=ClusteringEngine.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ClusteringEngine.d.ts","sourceRoot":"","sources":["../../../src/learning/synthesis/ClusteringEngine.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAIH,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAElE;;GAEG;AACH,MAAM,WAAW,OAAO;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,OAAO,EAAE,kBAAkB,EAAE,CAAC;IAC9B,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,4DAA4D;IAC5D,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,sDAAsD;IACtD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,qEAAqE;IACrE,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,iEAAiE;IACjE,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,kDAAkD;IAClD,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED;;;;;;;;;;;;;;;GAeG;AACH,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,MAAM,CAAS;;IAMvB;;;;;;OAMG;IACH,OAAO,CAAC,WAAW,EAAE,kBAAkB,EAAE,EAAE,MAAM,CAAC,EAAE,gBAAgB,GAAG,OAAO,EAAE;IA0DhF;;;;;;;OAOG;IACH,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,CAAC,GAAE,MAAU,GAAG,OAAO,EAAE;IAgB/E;;;;;;OAMG;IACH,mBAAmB,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM;IA0BrD;;;;;;OAMG;IACH,aAAa,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,EAAE;IAsChE;;;;;;;OAOG;IACH,OAAO,CAAC,MAAM;IA4Dd;;;OAGG;IACH,OAAO,CAAC,iCAAiC;IAuCzC;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAe3B;;OAEG;IACH,OAAO,CAAC,iBAAiB;IA8BzB;;OAEG;IACH,OAAO,CAAC,aAAa;IASrB;;;OAGG;IACH,OAAO,CAAC,uBAAuB;CAuChC;AAED,eAAe,gBAAgB,CAAC"}
@@ -0,0 +1,356 @@
1
+ "use strict";
2
+ /**
3
+ * ClusteringEngine - Clusters experiences by embedding similarity
4
+ *
5
+ * Provides simple k-means and hierarchical clustering for grouping
6
+ * similar agent experiences during pattern synthesis.
7
+ *
8
+ * Part of the Nightly-Learner Phase 1 implementation.
9
+ *
10
+ * @version 1.0.0
11
+ * @module src/learning/synthesis/ClusteringEngine
12
+ */
13
+ Object.defineProperty(exports, "__esModule", { value: true });
14
+ exports.ClusteringEngine = void 0;
15
+ const Logger_1 = require("../../utils/Logger");
16
+ const SecureRandom_1 = require("../../utils/SecureRandom");
17
+ /**
18
+ * ClusteringEngine groups experiences by embedding similarity
19
+ *
20
+ * @example
21
+ * ```typescript
22
+ * const engine = new ClusteringEngine();
23
+ *
24
+ * const clusters = engine.cluster(experiences, {
25
+ * maxClusters: 5,
26
+ * minClusterSize: 3,
27
+ * similarityThreshold: 0.8,
28
+ * });
29
+ *
30
+ * console.log(`Created ${clusters.length} clusters`);
31
+ * ```
32
+ */
33
+ class ClusteringEngine {
34
+ constructor() {
35
+ this.logger = Logger_1.Logger.getInstance();
36
+ }
37
+ /**
38
+ * Cluster experiences using k-means algorithm
39
+ *
40
+ * @param experiences - Experiences to cluster (must have embeddings)
41
+ * @param config - Clustering configuration
42
+ * @returns Array of clusters
43
+ */
44
+ cluster(experiences, config) {
45
+ const cfg = {
46
+ minClusterSize: config?.minClusterSize ?? 2,
47
+ maxClusters: config?.maxClusters ?? 10,
48
+ similarityThreshold: config?.similarityThreshold ?? 0.85,
49
+ diversityAware: config?.diversityAware ?? false,
50
+ maxIterations: config?.maxIterations ?? 50,
51
+ };
52
+ // Filter experiences with embeddings
53
+ const withEmbeddings = experiences.filter(exp => exp.embedding && exp.embedding.length > 0);
54
+ if (withEmbeddings.length === 0) {
55
+ this.logger.warn('[ClusteringEngine] No experiences with embeddings');
56
+ return [];
57
+ }
58
+ if (withEmbeddings.length < cfg.minClusterSize) {
59
+ this.logger.debug('[ClusteringEngine] Too few experiences for clustering', {
60
+ count: withEmbeddings.length,
61
+ minRequired: cfg.minClusterSize,
62
+ });
63
+ return [];
64
+ }
65
+ // Determine number of clusters (k)
66
+ const k = Math.min(cfg.maxClusters, Math.floor(withEmbeddings.length / cfg.minClusterSize));
67
+ if (k < 2) {
68
+ // Single cluster with all experiences
69
+ return [this.createCluster(withEmbeddings)];
70
+ }
71
+ // Run k-means clustering
72
+ let clusters = this.kMeans(withEmbeddings, k, cfg.maxIterations);
73
+ // Filter out small clusters
74
+ clusters = clusters.filter(c => c.size >= cfg.minClusterSize);
75
+ // Merge similar clusters if threshold is set
76
+ if (cfg.similarityThreshold > 0) {
77
+ clusters = this.mergeClusters(clusters, cfg.similarityThreshold);
78
+ }
79
+ // Apply diversity-aware selection if requested
80
+ if (cfg.diversityAware) {
81
+ clusters = this.applyDiversitySelection(clusters, cfg.maxClusters);
82
+ }
83
+ this.logger.info('[ClusteringEngine] Clustering complete', {
84
+ totalExperiences: withEmbeddings.length,
85
+ clustersCreated: clusters.length,
86
+ averageSize: clusters.reduce((sum, c) => sum + c.size, 0) / clusters.length,
87
+ });
88
+ return clusters;
89
+ }
90
+ /**
91
+ * Find k most similar clusters to a given embedding
92
+ *
93
+ * @param embedding - Query embedding
94
+ * @param clusters - Clusters to search
95
+ * @param k - Number of similar clusters to return. Default: 3
96
+ * @returns Top k similar clusters
97
+ */
98
+ findSimilar(embedding, clusters, k = 3) {
99
+ if (clusters.length === 0)
100
+ return [];
101
+ // Calculate similarity to each cluster centroid
102
+ const similarities = clusters.map(cluster => ({
103
+ cluster,
104
+ similarity: this.calculateSimilarity(embedding, cluster.centroid),
105
+ }));
106
+ // Sort by similarity descending
107
+ similarities.sort((a, b) => b.similarity - a.similarity);
108
+ // Return top k
109
+ return similarities.slice(0, Math.min(k, similarities.length)).map(s => s.cluster);
110
+ }
111
+ /**
112
+ * Calculate cosine similarity between two vectors
113
+ *
114
+ * @param a - First vector
115
+ * @param b - Second vector
116
+ * @returns Cosine similarity (0-1)
117
+ */
118
+ calculateSimilarity(a, b) {
119
+ if (a.length !== b.length) {
120
+ throw new Error(`Vector dimension mismatch: ${a.length} vs ${b.length}`);
121
+ }
122
+ if (a.length === 0)
123
+ return 0;
124
+ // Cosine similarity: (a · b) / (||a|| * ||b||)
125
+ let dotProduct = 0;
126
+ let magnitudeA = 0;
127
+ let magnitudeB = 0;
128
+ for (let i = 0; i < a.length; i++) {
129
+ dotProduct += a[i] * b[i];
130
+ magnitudeA += a[i] * a[i];
131
+ magnitudeB += b[i] * b[i];
132
+ }
133
+ magnitudeA = Math.sqrt(magnitudeA);
134
+ magnitudeB = Math.sqrt(magnitudeB);
135
+ if (magnitudeA === 0 || magnitudeB === 0)
136
+ return 0;
137
+ return dotProduct / (magnitudeA * magnitudeB);
138
+ }
139
+ /**
140
+ * Merge clusters that are above similarity threshold
141
+ *
142
+ * @param clusters - Clusters to merge
143
+ * @param threshold - Similarity threshold for merging (0-1)
144
+ * @returns Merged clusters
145
+ */
146
+ mergeClusters(clusters, threshold) {
147
+ if (clusters.length <= 1)
148
+ return clusters;
149
+ const merged = [];
150
+ const processed = new Set();
151
+ for (const cluster of clusters) {
152
+ if (processed.has(cluster.id))
153
+ continue;
154
+ let currentCluster = cluster;
155
+ processed.add(cluster.id);
156
+ // Find similar clusters to merge
157
+ for (const other of clusters) {
158
+ if (processed.has(other.id))
159
+ continue;
160
+ const similarity = this.calculateSimilarity(currentCluster.centroid, other.centroid);
161
+ if (similarity >= threshold) {
162
+ // Merge other into current
163
+ const combinedMembers = [...currentCluster.members, ...other.members];
164
+ currentCluster = this.createCluster(combinedMembers);
165
+ processed.add(other.id);
166
+ }
167
+ }
168
+ merged.push(currentCluster);
169
+ }
170
+ this.logger.debug('[ClusteringEngine] Merged clusters', {
171
+ before: clusters.length,
172
+ after: merged.length,
173
+ threshold,
174
+ });
175
+ return merged;
176
+ }
177
+ /**
178
+ * K-means clustering algorithm (simplified implementation)
179
+ *
180
+ * @param experiences - Experiences with embeddings
181
+ * @param k - Number of clusters
182
+ * @param maxIterations - Maximum iterations
183
+ * @returns Array of clusters
184
+ */
185
+ kMeans(experiences, k, maxIterations) {
186
+ // Initialize centroids with k-means++ for better initial placement
187
+ let centroids = this.initializeCentroidsKMeansPlusPlus(experiences, k);
188
+ let assignments = new Array(experiences.length).fill(0);
189
+ let converged = false;
190
+ let iteration = 0;
191
+ while (!converged && iteration < maxIterations) {
192
+ // Assignment step: assign each experience to nearest centroid
193
+ const newAssignments = experiences.map(exp => this.findNearestCentroid(exp.embedding, centroids));
194
+ // Check convergence
195
+ converged = newAssignments.every((a, i) => a === assignments[i]);
196
+ assignments = newAssignments;
197
+ if (converged)
198
+ break;
199
+ // Update step: recalculate centroids
200
+ const newCentroids = [];
201
+ for (let i = 0; i < k; i++) {
202
+ const clusterExperiences = experiences.filter((_, idx) => assignments[idx] === i);
203
+ if (clusterExperiences.length > 0) {
204
+ newCentroids.push(this.calculateCentroid(clusterExperiences));
205
+ }
206
+ else {
207
+ // Keep old centroid if cluster is empty
208
+ newCentroids.push(centroids[i]);
209
+ }
210
+ }
211
+ centroids = newCentroids;
212
+ iteration++;
213
+ }
214
+ // Create cluster objects
215
+ const clusters = [];
216
+ for (let i = 0; i < k; i++) {
217
+ const members = experiences.filter((_, idx) => assignments[idx] === i);
218
+ if (members.length > 0) {
219
+ clusters.push({
220
+ id: `cluster-${SecureRandom_1.SecureRandom.randomString(8, 'alphanumeric')}`,
221
+ centroid: centroids[i],
222
+ members,
223
+ size: members.length,
224
+ });
225
+ }
226
+ }
227
+ this.logger.debug('[ClusteringEngine] K-means completed', {
228
+ k,
229
+ iterations: iteration,
230
+ converged,
231
+ clustersCreated: clusters.length,
232
+ });
233
+ return clusters;
234
+ }
235
+ /**
236
+ * Initialize centroids using k-means++ algorithm
237
+ * This provides better initial centroid placement than random selection
238
+ */
239
+ initializeCentroidsKMeansPlusPlus(experiences, k) {
240
+ const centroids = [];
241
+ // Choose first centroid randomly
242
+ const firstIdx = Math.floor(Math.random() * experiences.length);
243
+ centroids.push([...experiences[firstIdx].embedding]);
244
+ // Choose remaining centroids
245
+ for (let i = 1; i < k; i++) {
246
+ // Calculate distance to nearest centroid for each point
247
+ const distances = experiences.map(exp => {
248
+ const minDist = Math.min(...centroids.map(c => 1 - this.calculateSimilarity(exp.embedding, c)));
249
+ return minDist * minDist; // Square the distance
250
+ });
251
+ // Choose next centroid with probability proportional to distance
252
+ const totalDist = distances.reduce((sum, d) => sum + d, 0);
253
+ let threshold = Math.random() * totalDist;
254
+ let chosenIdx = 0;
255
+ for (let j = 0; j < distances.length; j++) {
256
+ threshold -= distances[j];
257
+ if (threshold <= 0) {
258
+ chosenIdx = j;
259
+ break;
260
+ }
261
+ }
262
+ centroids.push([...experiences[chosenIdx].embedding]);
263
+ }
264
+ return centroids;
265
+ }
266
+ /**
267
+ * Find the nearest centroid for an embedding
268
+ */
269
+ findNearestCentroid(embedding, centroids) {
270
+ let maxSimilarity = -1;
271
+ let nearestIdx = 0;
272
+ for (let i = 0; i < centroids.length; i++) {
273
+ const similarity = this.calculateSimilarity(embedding, centroids[i]);
274
+ if (similarity > maxSimilarity) {
275
+ maxSimilarity = similarity;
276
+ nearestIdx = i;
277
+ }
278
+ }
279
+ return nearestIdx;
280
+ }
281
+ /**
282
+ * Calculate the centroid (mean) of a group of experiences
283
+ */
284
+ calculateCentroid(experiences) {
285
+ if (experiences.length === 0) {
286
+ throw new Error('Cannot calculate centroid of empty cluster');
287
+ }
288
+ const dimension = experiences[0].embedding.length;
289
+ const centroid = new Array(dimension).fill(0);
290
+ for (const exp of experiences) {
291
+ for (let i = 0; i < dimension; i++) {
292
+ centroid[i] += exp.embedding[i];
293
+ }
294
+ }
295
+ // Average
296
+ for (let i = 0; i < dimension; i++) {
297
+ centroid[i] /= experiences.length;
298
+ }
299
+ // Normalize (important for cosine similarity)
300
+ const magnitude = Math.sqrt(centroid.reduce((sum, val) => sum + val * val, 0));
301
+ if (magnitude > 0) {
302
+ for (let i = 0; i < dimension; i++) {
303
+ centroid[i] /= magnitude;
304
+ }
305
+ }
306
+ return centroid;
307
+ }
308
+ /**
309
+ * Create a cluster from a group of experiences
310
+ */
311
+ createCluster(members) {
312
+ return {
313
+ id: `cluster-${SecureRandom_1.SecureRandom.randomString(8, 'alphanumeric')}`,
314
+ centroid: this.calculateCentroid(members),
315
+ members,
316
+ size: members.length,
317
+ };
318
+ }
319
+ /**
320
+ * Apply diversity-aware selection (MMR-style)
321
+ * Selects diverse clusters to maximize coverage
322
+ */
323
+ applyDiversitySelection(clusters, maxClusters) {
324
+ if (clusters.length <= maxClusters)
325
+ return clusters;
326
+ const selected = [];
327
+ const remaining = [...clusters];
328
+ // Select first cluster (largest)
329
+ remaining.sort((a, b) => b.size - a.size);
330
+ selected.push(remaining.shift());
331
+ // Iteratively select most diverse remaining cluster
332
+ while (selected.length < maxClusters && remaining.length > 0) {
333
+ let maxMinSimilarity = -1;
334
+ let mostDiverseIdx = 0;
335
+ // Find cluster most different from selected clusters
336
+ for (let i = 0; i < remaining.length; i++) {
337
+ // Calculate minimum similarity to any selected cluster
338
+ const minSimilarity = Math.min(...selected.map(s => this.calculateSimilarity(remaining[i].centroid, s.centroid)));
339
+ // We want the cluster with maximum min-similarity (most different)
340
+ if (minSimilarity > maxMinSimilarity) {
341
+ maxMinSimilarity = minSimilarity;
342
+ mostDiverseIdx = i;
343
+ }
344
+ }
345
+ selected.push(remaining.splice(mostDiverseIdx, 1)[0]);
346
+ }
347
+ this.logger.debug('[ClusteringEngine] Applied diversity selection', {
348
+ before: clusters.length,
349
+ after: selected.length,
350
+ });
351
+ return selected;
352
+ }
353
+ }
354
+ exports.ClusteringEngine = ClusteringEngine;
355
+ exports.default = ClusteringEngine;
356
+ //# sourceMappingURL=ClusteringEngine.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ClusteringEngine.js","sourceRoot":"","sources":["../../../src/learning/synthesis/ClusteringEngine.ts"],"names":[],"mappings":"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"}