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
@@ -0,0 +1,266 @@
1
+ "use strict";
2
+ /**
3
+ * CoordinatorAdapter - Adapts EventEmitter to AgentCoordinationStrategy
4
+ *
5
+ * Provides backward compatibility during the B1.2 migration.
6
+ * Wraps the existing EventEmitter-based coordination to implement the strategy interface.
7
+ *
8
+ * @module agents/adapters/CoordinatorAdapter
9
+ * @version 1.0.0
10
+ */
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.CoordinatorAdapter = void 0;
13
+ exports.createCoordinationAdapter = createCoordinationAdapter;
14
+ const uuid_1 = require("uuid");
15
+ /**
16
+ * Adapts EventEmitter to AgentCoordinationStrategy interface
17
+ */
18
+ class CoordinatorAdapter {
19
+ constructor(eventBus, agentId) {
20
+ this.messageHandlers = new Set();
21
+ this.swarmMembership = null;
22
+ this.pendingRequests = new Map();
23
+ this.metrics = {
24
+ eventsEmitted: 0,
25
+ eventsReceived: 0,
26
+ messagesSent: 0,
27
+ messagesReceived: 0,
28
+ broadcastsSent: 0,
29
+ averageLatency: 0,
30
+ activeSubscriptions: 0,
31
+ };
32
+ // === Private Helpers ===
33
+ this.handleIncomingMessage = (message) => {
34
+ this.metrics.messagesReceived++;
35
+ // Check if this is a response to a pending request
36
+ if (message.correlationId && this.pendingRequests.has(message.correlationId)) {
37
+ // Handled by request() method
38
+ return;
39
+ }
40
+ // Dispatch to registered handlers
41
+ for (const handler of this.messageHandlers) {
42
+ try {
43
+ handler(message);
44
+ }
45
+ catch (error) {
46
+ // Log but don't propagate handler errors
47
+ console.error('Message handler error:', error);
48
+ }
49
+ }
50
+ };
51
+ if (eventBus && agentId) {
52
+ this.initialize(eventBus, agentId);
53
+ }
54
+ }
55
+ // === Event Operations ===
56
+ emit(event) {
57
+ if (!this.eventBus) {
58
+ throw new Error('Coordination not initialized');
59
+ }
60
+ this.eventBus.emit(event.type, event);
61
+ this.metrics.eventsEmitted++;
62
+ }
63
+ on(eventType, handler) {
64
+ if (!this.eventBus) {
65
+ throw new Error('Coordination not initialized');
66
+ }
67
+ const wrappedHandler = (data) => {
68
+ this.metrics.eventsReceived++;
69
+ handler(data);
70
+ };
71
+ // Store original -> wrapped mapping for removal
72
+ handler.__wrapped = wrappedHandler;
73
+ this.eventBus.on(eventType, wrappedHandler);
74
+ this.metrics.activeSubscriptions++;
75
+ }
76
+ off(eventType, handler) {
77
+ if (!this.eventBus) {
78
+ return;
79
+ }
80
+ const wrappedHandler = handler.__wrapped;
81
+ if (wrappedHandler) {
82
+ this.eventBus.off(eventType, wrappedHandler);
83
+ this.metrics.activeSubscriptions = Math.max(0, this.metrics.activeSubscriptions - 1);
84
+ }
85
+ }
86
+ once(eventType, handler) {
87
+ if (!this.eventBus) {
88
+ throw new Error('Coordination not initialized');
89
+ }
90
+ this.eventBus.once(eventType, (data) => {
91
+ this.metrics.eventsReceived++;
92
+ handler(data);
93
+ });
94
+ }
95
+ // === Message Operations ===
96
+ async broadcast(message) {
97
+ if (!this.eventBus || !this.agentId) {
98
+ throw new Error('Coordination not initialized');
99
+ }
100
+ const fullMessage = {
101
+ ...message,
102
+ id: message.id || (0, uuid_1.v4)(),
103
+ sender: this.agentId,
104
+ timestamp: message.timestamp || new Date(),
105
+ };
106
+ this.eventBus.emit('agent.broadcast', fullMessage);
107
+ this.metrics.broadcastsSent++;
108
+ this.metrics.messagesSent++;
109
+ }
110
+ async send(targetAgent, message) {
111
+ if (!this.eventBus || !this.agentId) {
112
+ throw new Error('Coordination not initialized');
113
+ }
114
+ const fullMessage = {
115
+ ...message,
116
+ id: message.id || (0, uuid_1.v4)(),
117
+ sender: this.agentId,
118
+ target: targetAgent,
119
+ timestamp: message.timestamp || new Date(),
120
+ };
121
+ this.eventBus.emit(`agent.message.${targetAgent.id}`, fullMessage);
122
+ this.metrics.messagesSent++;
123
+ }
124
+ onMessage(handler) {
125
+ if (!this.eventBus || !this.agentId) {
126
+ throw new Error('Coordination not initialized');
127
+ }
128
+ this.messageHandlers.add(handler);
129
+ // Subscribe to direct messages for this agent
130
+ if (this.messageHandlers.size === 1) {
131
+ this.eventBus.on(`agent.message.${this.agentId.id}`, this.handleIncomingMessage);
132
+ this.eventBus.on('agent.broadcast', this.handleIncomingMessage);
133
+ }
134
+ }
135
+ offMessage(handler) {
136
+ this.messageHandlers.delete(handler);
137
+ // Unsubscribe if no handlers remain
138
+ if (this.messageHandlers.size === 0 && this.eventBus && this.agentId) {
139
+ this.eventBus.off(`agent.message.${this.agentId.id}`, this.handleIncomingMessage);
140
+ this.eventBus.off('agent.broadcast', this.handleIncomingMessage);
141
+ }
142
+ }
143
+ async request(targetAgent, message, timeout = 30000) {
144
+ if (!this.eventBus || !this.agentId) {
145
+ throw new Error('Coordination not initialized');
146
+ }
147
+ const correlationId = (0, uuid_1.v4)();
148
+ const requestMessage = {
149
+ ...message,
150
+ id: (0, uuid_1.v4)(),
151
+ sender: this.agentId,
152
+ target: targetAgent,
153
+ correlationId,
154
+ timestamp: new Date(),
155
+ };
156
+ return new Promise((resolve, reject) => {
157
+ const timeoutHandle = setTimeout(() => {
158
+ this.pendingRequests.delete(correlationId);
159
+ reject(new Error(`Request timeout after ${timeout}ms`));
160
+ }, timeout);
161
+ this.pendingRequests.set(correlationId, {
162
+ resolve: resolve,
163
+ reject,
164
+ timeout: timeoutHandle,
165
+ });
166
+ // Subscribe to response
167
+ const responseHandler = (response) => {
168
+ if (response.correlationId === correlationId) {
169
+ const pending = this.pendingRequests.get(correlationId);
170
+ if (pending) {
171
+ clearTimeout(pending.timeout);
172
+ this.pendingRequests.delete(correlationId);
173
+ this.eventBus?.off(`agent.response.${this.agentId?.id}`, responseHandler);
174
+ pending.resolve(response.payload);
175
+ }
176
+ }
177
+ };
178
+ this.eventBus.on(`agent.response.${this.agentId.id}`, responseHandler);
179
+ this.eventBus.emit(`agent.message.${targetAgent.id}`, requestMessage);
180
+ this.metrics.messagesSent++;
181
+ });
182
+ }
183
+ // === Swarm Coordination ===
184
+ async joinSwarm(swarmId, role = 'worker') {
185
+ if (!this.eventBus || !this.agentId) {
186
+ throw new Error('Coordination not initialized');
187
+ }
188
+ this.swarmMembership = {
189
+ swarmId,
190
+ role,
191
+ joinedAt: new Date(),
192
+ topology: 'mesh', // Default topology
193
+ peers: [],
194
+ };
195
+ // Emit join event
196
+ this.eventBus.emit('swarm.agent.joined', {
197
+ swarmId,
198
+ agentId: this.agentId,
199
+ role,
200
+ });
201
+ }
202
+ async leaveSwarm() {
203
+ if (!this.eventBus || !this.agentId || !this.swarmMembership) {
204
+ return;
205
+ }
206
+ const swarmId = this.swarmMembership.swarmId;
207
+ this.swarmMembership = null;
208
+ this.eventBus.emit('swarm.agent.left', {
209
+ swarmId,
210
+ agentId: this.agentId,
211
+ });
212
+ }
213
+ getSwarmMembership() {
214
+ return this.swarmMembership;
215
+ }
216
+ async discoverPeers() {
217
+ if (!this.swarmMembership) {
218
+ return [];
219
+ }
220
+ return this.swarmMembership.peers;
221
+ }
222
+ // === Lifecycle ===
223
+ initialize(eventBus, agentId) {
224
+ this.eventBus = eventBus;
225
+ this.agentId = agentId;
226
+ // Subscribe to peer discovery updates
227
+ this.eventBus.on('swarm.peers.updated', (data) => {
228
+ if (this.swarmMembership && this.swarmMembership.swarmId === data.swarmId) {
229
+ this.swarmMembership.peers = data.peers;
230
+ }
231
+ });
232
+ }
233
+ async shutdown() {
234
+ // Leave swarm if joined
235
+ await this.leaveSwarm();
236
+ // Clear pending requests
237
+ for (const [, pending] of this.pendingRequests) {
238
+ clearTimeout(pending.timeout);
239
+ pending.reject(new Error('Coordination shutdown'));
240
+ }
241
+ this.pendingRequests.clear();
242
+ // Clear message handlers
243
+ if (this.eventBus && this.agentId) {
244
+ this.eventBus.off(`agent.message.${this.agentId.id}`, this.handleIncomingMessage);
245
+ this.eventBus.off('agent.broadcast', this.handleIncomingMessage);
246
+ }
247
+ this.messageHandlers.clear();
248
+ this.eventBus = undefined;
249
+ this.agentId = undefined;
250
+ }
251
+ // === Metrics ===
252
+ getMetrics() {
253
+ return { ...this.metrics };
254
+ }
255
+ isHealthy() {
256
+ return this.eventBus !== undefined && this.agentId !== undefined;
257
+ }
258
+ }
259
+ exports.CoordinatorAdapter = CoordinatorAdapter;
260
+ /**
261
+ * Create a coordination strategy adapter from event bus and agent ID
262
+ */
263
+ function createCoordinationAdapter(eventBus, agentId) {
264
+ return new CoordinatorAdapter(eventBus, agentId);
265
+ }
266
+ //# sourceMappingURL=CoordinatorAdapter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CoordinatorAdapter.js","sourceRoot":"","sources":["../../../src/agents/adapters/CoordinatorAdapter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,45 @@
1
+ /**
2
+ * LearningEngineAdapter - Adapts LearningEngine to AgentLearningStrategy
3
+ *
4
+ * Provides backward compatibility during the B1.2 migration.
5
+ * Wraps the existing LearningEngine to implement the strategy interface.
6
+ *
7
+ * @module agents/adapters/LearningEngineAdapter
8
+ * @version 1.0.0
9
+ */
10
+ import type { AgentLearningStrategy, LearnedPattern, PatternQuery, StrategyRecommendation, ExecutionEvent, TrainingResult, LearningStatus, LearningMetrics } from '../../core/strategies';
11
+ import type { LearningEngine } from '../../learning/LearningEngine';
12
+ /**
13
+ * Adapts LearningEngine to AgentLearningStrategy interface
14
+ */
15
+ export declare class LearningEngineAdapter implements AgentLearningStrategy {
16
+ private readonly engine;
17
+ private initialized;
18
+ private executionHistory;
19
+ private recommendationsGiven;
20
+ private recommendationSuccesses;
21
+ constructor(engine: LearningEngine);
22
+ storePattern(pattern: LearnedPattern): Promise<void>;
23
+ getPatterns(query: PatternQuery): Promise<LearnedPattern[]>;
24
+ findSimilarPatterns(embedding: number[], limit?: number): Promise<LearnedPattern[]>;
25
+ updatePatternConfidence(patternId: string, success: boolean): Promise<void>;
26
+ recommendStrategy(taskState: unknown): Promise<StrategyRecommendation | null>;
27
+ recordRecommendationOutcome(recommendation: StrategyRecommendation, success: boolean): Promise<void>;
28
+ recordExecution(event: ExecutionEvent): Promise<void>;
29
+ getExecutionHistory(limit?: number): Promise<ExecutionEvent[]>;
30
+ train(iterations?: number): Promise<TrainingResult>;
31
+ exportPatterns(): Promise<LearnedPattern[]>;
32
+ importPatterns(patterns: LearnedPattern[]): Promise<number>;
33
+ initialize(): Promise<void>;
34
+ getStatus(): LearningStatus;
35
+ getMetrics(): Promise<LearningMetrics>;
36
+ reset(): Promise<void>;
37
+ private convertPattern;
38
+ private convertToTaskState;
39
+ private calculateImprovement;
40
+ }
41
+ /**
42
+ * Create a learning strategy adapter from an existing engine
43
+ */
44
+ export declare function createLearningAdapter(engine: LearningEngine): AgentLearningStrategy;
45
+ //# sourceMappingURL=LearningEngineAdapter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LearningEngineAdapter.d.ts","sourceRoot":"","sources":["../../../src/agents/adapters/LearningEngineAdapter.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EACV,qBAAqB,EACrB,cAAc,EACd,YAAY,EACZ,sBAAsB,EACtB,cAAc,EACd,cAAc,EACd,cAAc,EACd,eAAe,EAChB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAMpE;;GAEG;AACH,qBAAa,qBAAsB,YAAW,qBAAqB;IACjE,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAiB;IACxC,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,gBAAgB,CAAwB;IAChD,OAAO,CAAC,oBAAoB,CAAK;IACjC,OAAO,CAAC,uBAAuB,CAAK;gBAExB,MAAM,EAAE,cAAc;IAM5B,YAAY,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAuBpD,WAAW,CAAC,KAAK,EAAE,YAAY,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;IAkB3D,mBAAmB,CAAC,SAAS,EAAE,MAAM,EAAE,EAAE,KAAK,SAAK,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;IAQ/E,uBAAuB,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAwB3E,iBAAiB,CAAC,SAAS,EAAE,OAAO,GAAG,OAAO,CAAC,sBAAsB,GAAG,IAAI,CAAC;IAuB7E,2BAA2B,CAC/B,cAAc,EAAE,sBAAsB,EACtC,OAAO,EAAE,OAAO,GACf,OAAO,CAAC,IAAI,CAAC;IAQV,eAAe,CAAC,KAAK,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAsBrD,mBAAmB,CAAC,KAAK,SAAM,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;IAM3D,KAAK,CAAC,UAAU,SAAK,GAAG,OAAO,CAAC,cAAc,CAAC;IAmC/C,cAAc,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;IAK3C,cAAc,CAAC,QAAQ,EAAE,cAAc,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC;IAiB3D,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAKjC,SAAS,IAAI,cAAc;IAerB,UAAU,IAAI,OAAO,CAAC,eAAe,CAAC;IAqBtC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAU5B,OAAO,CAAC,cAAc;IAetB,OAAO,CAAC,kBAAkB;IAsB1B,OAAO,CAAC,oBAAoB;CAe7B;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,cAAc,GAAG,qBAAqB,CAEnF"}
@@ -0,0 +1,279 @@
1
+ "use strict";
2
+ /**
3
+ * LearningEngineAdapter - Adapts LearningEngine to AgentLearningStrategy
4
+ *
5
+ * Provides backward compatibility during the B1.2 migration.
6
+ * Wraps the existing LearningEngine to implement the strategy interface.
7
+ *
8
+ * @module agents/adapters/LearningEngineAdapter
9
+ * @version 1.0.0
10
+ */
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.LearningEngineAdapter = void 0;
13
+ exports.createLearningAdapter = createLearningAdapter;
14
+ /**
15
+ * Adapts LearningEngine to AgentLearningStrategy interface
16
+ */
17
+ class LearningEngineAdapter {
18
+ constructor(engine) {
19
+ this.initialized = false;
20
+ this.executionHistory = [];
21
+ this.recommendationsGiven = 0;
22
+ this.recommendationSuccesses = 0;
23
+ this.engine = engine;
24
+ }
25
+ // === Pattern Management ===
26
+ async storePattern(pattern) {
27
+ // LearningEngine stores patterns internally via updatePatterns()
28
+ // which is called during learnFromExecution()
29
+ // For direct pattern storage, we use the memoryStore if available
30
+ const memoryStore = this.engine.memoryStore;
31
+ if (memoryStore && typeof memoryStore.storePattern === 'function') {
32
+ await memoryStore.storePattern({
33
+ id: pattern.id,
34
+ pattern: `${pattern.type}:${pattern.domain}`,
35
+ confidence: pattern.confidence,
36
+ usageCount: pattern.usageCount,
37
+ metadata: {
38
+ content: pattern.content,
39
+ success_rate: pattern.successRate,
40
+ embedding: pattern.embedding,
41
+ created_at: pattern.createdAt,
42
+ updated_at: pattern.updatedAt,
43
+ ...pattern.metadata,
44
+ },
45
+ });
46
+ }
47
+ }
48
+ async getPatterns(query) {
49
+ const enginePatterns = await this.engine.getPatterns();
50
+ // Filter by query criteria
51
+ let filtered = enginePatterns;
52
+ if (query.minConfidence !== undefined) {
53
+ filtered = filtered.filter(p => p.confidence >= query.minConfidence);
54
+ }
55
+ if (query.limit !== undefined) {
56
+ filtered = filtered.slice(0, query.limit);
57
+ }
58
+ // Convert to strategy format
59
+ return filtered.map(p => this.convertPattern(p));
60
+ }
61
+ async findSimilarPatterns(embedding, limit = 10) {
62
+ // LearningEngine doesn't natively support vector similarity
63
+ // Return patterns sorted by confidence as fallback
64
+ const patterns = await this.engine.getPatterns();
65
+ const sorted = patterns.sort((a, b) => b.confidence - a.confidence);
66
+ return sorted.slice(0, limit).map(p => this.convertPattern(p));
67
+ }
68
+ async updatePatternConfidence(patternId, success) {
69
+ // Pattern confidence is updated automatically during learnFromExecution
70
+ // For direct updates, we need to update via memoryStore
71
+ const memoryStore = this.engine.memoryStore;
72
+ if (memoryStore && typeof memoryStore.queryPatternsByAgent === 'function') {
73
+ const agentId = this.engine.agentId;
74
+ const patterns = await memoryStore.queryPatternsByAgent(agentId, 0);
75
+ const pattern = patterns.find((p) => p.id === patternId);
76
+ if (pattern) {
77
+ const newConfidence = success
78
+ ? Math.min(0.99, pattern.confidence + 0.01)
79
+ : Math.max(0.01, pattern.confidence - 0.02);
80
+ await memoryStore.storePattern({
81
+ ...pattern,
82
+ confidence: newConfidence,
83
+ });
84
+ }
85
+ }
86
+ }
87
+ // === Strategy Recommendation ===
88
+ async recommendStrategy(taskState) {
89
+ // Convert taskState to TaskState format
90
+ const state = this.convertToTaskState(taskState);
91
+ const engineRec = await this.engine.recommendStrategy(state);
92
+ if (!engineRec || engineRec.confidence < 0.1) {
93
+ return null;
94
+ }
95
+ this.recommendationsGiven++;
96
+ return {
97
+ strategy: engineRec.strategy,
98
+ confidence: engineRec.confidence,
99
+ reasoning: engineRec.reasoning,
100
+ alternatives: engineRec.alternatives,
101
+ metadata: {
102
+ expectedImprovement: engineRec.expectedImprovement,
103
+ },
104
+ };
105
+ }
106
+ async recordRecommendationOutcome(recommendation, success) {
107
+ if (success) {
108
+ this.recommendationSuccesses++;
109
+ }
110
+ }
111
+ // === Execution Recording ===
112
+ async recordExecution(event) {
113
+ // Store in history
114
+ this.executionHistory.push(event);
115
+ // Keep history bounded
116
+ if (this.executionHistory.length > 1000) {
117
+ this.executionHistory = this.executionHistory.slice(-1000);
118
+ }
119
+ // Convert to TaskResult format for LearningEngine
120
+ const taskResult = {
121
+ success: event.success,
122
+ executionTime: event.duration,
123
+ errors: event.error ? [event.error.message] : undefined,
124
+ strategy: 'default',
125
+ ...(event.result || {}),
126
+ };
127
+ // Learn from the execution
128
+ await this.engine.learnFromExecution(event.task, taskResult);
129
+ }
130
+ async getExecutionHistory(limit = 100) {
131
+ return this.executionHistory.slice(-limit);
132
+ }
133
+ // === Training ===
134
+ async train(iterations = 10) {
135
+ const startTime = Date.now();
136
+ // LearningEngine trains incrementally during learnFromExecution
137
+ // For explicit training, we trigger batch updates
138
+ const engineAny = this.engine;
139
+ // Perform batch updates if experiences exist
140
+ if (engineAny.experiences && engineAny.experiences.length > 0) {
141
+ for (let i = 0; i < iterations; i++) {
142
+ await engineAny.performBatchUpdate?.();
143
+ }
144
+ }
145
+ const patterns = await this.engine.getPatterns();
146
+ const duration = Date.now() - startTime;
147
+ // Calculate improvement from recent experiences
148
+ const improvement = this.calculateImprovement();
149
+ return {
150
+ iterations,
151
+ improvement,
152
+ patternsLearned: patterns.length,
153
+ duration,
154
+ metrics: {
155
+ accuracy: this.recommendationsGiven > 0
156
+ ? this.recommendationSuccesses / this.recommendationsGiven
157
+ : 0,
158
+ loss: 1 - improvement,
159
+ recall: patterns.length > 0 ? Math.min(1, patterns.length / 100) : 0,
160
+ },
161
+ };
162
+ }
163
+ async exportPatterns() {
164
+ const patterns = await this.engine.getPatterns();
165
+ return patterns.map(p => this.convertPattern(p));
166
+ }
167
+ async importPatterns(patterns) {
168
+ let imported = 0;
169
+ for (const pattern of patterns) {
170
+ try {
171
+ await this.storePattern(pattern);
172
+ imported++;
173
+ }
174
+ catch {
175
+ // Skip failed imports
176
+ }
177
+ }
178
+ return imported;
179
+ }
180
+ // === Lifecycle ===
181
+ async initialize() {
182
+ await this.engine.initialize();
183
+ this.initialized = true;
184
+ }
185
+ getStatus() {
186
+ const stats = this.engine.getAlgorithmStats();
187
+ return {
188
+ enabled: this.engine.isEnabled(),
189
+ initialized: this.initialized,
190
+ patternsCount: stats.stats?.tableSize || 0,
191
+ executionsRecorded: this.engine.getTotalExperiences(),
192
+ accuracy: this.recommendationsGiven > 0
193
+ ? this.recommendationSuccesses / this.recommendationsGiven
194
+ : 0,
195
+ modelVersion: stats.algorithm,
196
+ };
197
+ }
198
+ async getMetrics() {
199
+ const patterns = await this.engine.getPatterns();
200
+ const successfulExecutions = this.executionHistory.filter(e => e.success).length;
201
+ return {
202
+ totalExecutions: this.executionHistory.length,
203
+ successfulExecutions,
204
+ failedExecutions: this.executionHistory.length - successfulExecutions,
205
+ patternsStored: patterns.length,
206
+ recommendationsGiven: this.recommendationsGiven,
207
+ recommendationAccuracy: this.recommendationsGiven > 0
208
+ ? this.recommendationSuccesses / this.recommendationsGiven
209
+ : 0,
210
+ averageConfidence: patterns.length > 0
211
+ ? patterns.reduce((sum, p) => sum + p.confidence, 0) / patterns.length
212
+ : 0,
213
+ trainingIterations: this.engine.getTotalExperiences(),
214
+ lastActivity: new Date(),
215
+ };
216
+ }
217
+ async reset() {
218
+ this.executionHistory = [];
219
+ this.recommendationsGiven = 0;
220
+ this.recommendationSuccesses = 0;
221
+ // Note: LearningEngine doesn't have a public reset method
222
+ // Full reset would require reinitializing the engine
223
+ }
224
+ // === Private Helpers ===
225
+ convertPattern(p) {
226
+ const parts = p.pattern.split(':');
227
+ return {
228
+ id: p.id,
229
+ type: parts[0] || 'unknown',
230
+ domain: parts[1] || 'default',
231
+ content: p.pattern,
232
+ confidence: p.confidence,
233
+ usageCount: p.usageCount,
234
+ successRate: p.successRate,
235
+ createdAt: p.createdAt,
236
+ updatedAt: p.lastUsedAt,
237
+ };
238
+ }
239
+ convertToTaskState(taskState) {
240
+ if (typeof taskState !== 'object' || taskState === null) {
241
+ return {
242
+ taskComplexity: 0.5,
243
+ requiredCapabilities: [],
244
+ contextFeatures: {},
245
+ previousAttempts: 0,
246
+ availableResources: 1,
247
+ };
248
+ }
249
+ const state = taskState;
250
+ return {
251
+ taskComplexity: state.complexity || 0.5,
252
+ requiredCapabilities: state.capabilities || [],
253
+ contextFeatures: state.context || {},
254
+ previousAttempts: state.attempts || 0,
255
+ availableResources: state.resources || 1,
256
+ timeConstraint: state.timeout,
257
+ };
258
+ }
259
+ calculateImprovement() {
260
+ if (this.executionHistory.length < 10) {
261
+ return 0;
262
+ }
263
+ const recent = this.executionHistory.slice(-20);
264
+ const baseline = this.executionHistory.slice(0, 20);
265
+ const recentSuccess = recent.filter(e => e.success).length / recent.length;
266
+ const baselineSuccess = baseline.filter(e => e.success).length / baseline.length;
267
+ return baselineSuccess > 0
268
+ ? (recentSuccess - baselineSuccess) / baselineSuccess
269
+ : recentSuccess > 0 ? 1 : 0;
270
+ }
271
+ }
272
+ exports.LearningEngineAdapter = LearningEngineAdapter;
273
+ /**
274
+ * Create a learning strategy adapter from an existing engine
275
+ */
276
+ function createLearningAdapter(engine) {
277
+ return new LearningEngineAdapter(engine);
278
+ }
279
+ //# sourceMappingURL=LearningEngineAdapter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LearningEngineAdapter.js","sourceRoot":"","sources":["../../../src/agents/adapters/LearningEngineAdapter.ts"],"names":[],"mappings":";AAAA;;;;;;;;GAQG;;;AA8UH,sDAEC;AA9TD;;GAEG;AACH,MAAa,qBAAqB;IAOhC,YAAY,MAAsB;QAL1B,gBAAW,GAAG,KAAK,CAAC;QACpB,qBAAgB,GAAqB,EAAE,CAAC;QACxC,yBAAoB,GAAG,CAAC,CAAC;QACzB,4BAAuB,GAAG,CAAC,CAAC;QAGlC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAED,6BAA6B;IAE7B,KAAK,CAAC,YAAY,CAAC,OAAuB;QACxC,iEAAiE;QACjE,8CAA8C;QAC9C,kEAAkE;QAClE,MAAM,WAAW,GAAI,IAAI,CAAC,MAAc,CAAC,WAAW,CAAC;QACrD,IAAI,WAAW,IAAI,OAAO,WAAW,CAAC,YAAY,KAAK,UAAU,EAAE,CAAC;YAClE,MAAM,WAAW,CAAC,YAAY,CAAC;gBAC7B,EAAE,EAAE,OAAO,CAAC,EAAE;gBACd,OAAO,EAAE,GAAG,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,MAAM,EAAE;gBAC5C,UAAU,EAAE,OAAO,CAAC,UAAU;gBAC9B,UAAU,EAAE,OAAO,CAAC,UAAU;gBAC9B,QAAQ,EAAE;oBACR,OAAO,EAAE,OAAO,CAAC,OAAO;oBACxB,YAAY,EAAE,OAAO,CAAC,WAAW;oBACjC,SAAS,EAAE,OAAO,CAAC,SAAS;oBAC5B,UAAU,EAAE,OAAO,CAAC,SAAS;oBAC7B,UAAU,EAAE,OAAO,CAAC,SAAS;oBAC7B,GAAG,OAAO,CAAC,QAAQ;iBACpB;aACF,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,KAAmB;QACnC,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;QAEvD,2BAA2B;QAC3B,IAAI,QAAQ,GAAG,cAAc,CAAC;QAE9B,IAAI,KAAK,CAAC,aAAa,KAAK,SAAS,EAAE,CAAC;YACtC,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,IAAI,KAAK,CAAC,aAAc,CAAC,CAAC;QACxE,CAAC;QAED,IAAI,KAAK,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;YAC9B,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;QAC5C,CAAC;QAED,6BAA6B;QAC7B,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC;IACnD,CAAC;IAED,KAAK,CAAC,mBAAmB,CAAC,SAAmB,EAAE,KAAK,GAAG,EAAE;QACvD,4DAA4D;QAC5D,mDAAmD;QACnD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;QACjD,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC;QACpE,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC;IACjE,CAAC;IAED,KAAK,CAAC,uBAAuB,CAAC,SAAiB,EAAE,OAAgB;QAC/D,wEAAwE;QACxE,wDAAwD;QACxD,MAAM,WAAW,GAAI,IAAI,CAAC,MAAc,CAAC,WAAW,CAAC;QACrD,IAAI,WAAW,IAAI,OAAO,WAAW,CAAC,oBAAoB,KAAK,UAAU,EAAE,CAAC;YAC1E,MAAM,OAAO,GAAI,IAAI,CAAC,MAAc,CAAC,OAAO,CAAC;YAC7C,MAAM,QAAQ,GAAG,MAAM,WAAW,CAAC,oBAAoB,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;YACpE,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,SAAS,CAAC,CAAC;YAE9D,IAAI,OAAO,EAAE,CAAC;gBACZ,MAAM,aAAa,GAAG,OAAO;oBAC3B,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC;oBAC3C,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,CAAC;gBAE9C,MAAM,WAAW,CAAC,YAAY,CAAC;oBAC7B,GAAG,OAAO;oBACV,UAAU,EAAE,aAAa;iBAC1B,CAAC,CAAC;YACL,CAAC;QACH,CAAC;IACH,CAAC;IAED,kCAAkC;IAElC,KAAK,CAAC,iBAAiB,CAAC,SAAkB;QACxC,wCAAwC;QACxC,MAAM,KAAK,GAAG,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC;QAEjD,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;QAE7D,IAAI,CAAC,SAAS,IAAI,SAAS,CAAC,UAAU,GAAG,GAAG,EAAE,CAAC;YAC7C,OAAO,IAAI,CAAC;QACd,CAAC;QAED,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAE5B,OAAO;YACL,QAAQ,EAAE,SAAS,CAAC,QAAQ;YAC5B,UAAU,EAAE,SAAS,CAAC,UAAU;YAChC,SAAS,EAAE,SAAS,CAAC,SAAS;YAC9B,YAAY,EAAE,SAAS,CAAC,YAAY;YACpC,QAAQ,EAAE;gBACR,mBAAmB,EAAE,SAAS,CAAC,mBAAmB;aACnD;SACF,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,2BAA2B,CAC/B,cAAsC,EACtC,OAAgB;QAEhB,IAAI,OAAO,EAAE,CAAC;YACZ,IAAI,CAAC,uBAAuB,EAAE,CAAC;QACjC,CAAC;IACH,CAAC;IAED,8BAA8B;IAE9B,KAAK,CAAC,eAAe,CAAC,KAAqB;QACzC,mBAAmB;QACnB,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAElC,uBAAuB;QACvB,IAAI,IAAI,CAAC,gBAAgB,CAAC,MAAM,GAAG,IAAI,EAAE,CAAC;YACxC,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC;QAC7D,CAAC;QAED,kDAAkD;QAClD,MAAM,UAAU,GAAG;YACjB,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,aAAa,EAAE,KAAK,CAAC,QAAQ;YAC7B,MAAM,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS;YACvD,QAAQ,EAAE,SAAS;YACnB,GAAG,CAAE,KAAK,CAAC,MAAkC,IAAI,EAAE,CAAC;SACrD,CAAC;QAEF,2BAA2B;QAC3B,MAAM,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,KAAK,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;IAC/D,CAAC;IAED,KAAK,CAAC,mBAAmB,CAAC,KAAK,GAAG,GAAG;QACnC,OAAO,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC;IAC7C,CAAC;IAED,mBAAmB;IAEnB,KAAK,CAAC,KAAK,CAAC,UAAU,GAAG,EAAE;QACzB,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAE7B,gEAAgE;QAChE,kDAAkD;QAClD,MAAM,SAAS,GAAG,IAAI,CAAC,MAAa,CAAC;QAErC,6CAA6C;QAC7C,IAAI,SAAS,CAAC,WAAW,IAAI,SAAS,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC9D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,EAAE,CAAC,EAAE,EAAE,CAAC;gBACpC,MAAM,SAAS,CAAC,kBAAkB,EAAE,EAAE,CAAC;YACzC,CAAC;QACH,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;QACjD,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;QAExC,gDAAgD;QAChD,MAAM,WAAW,GAAG,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAEhD,OAAO;YACL,UAAU;YACV,WAAW;YACX,eAAe,EAAE,QAAQ,CAAC,MAAM;YAChC,QAAQ;YACR,OAAO,EAAE;gBACP,QAAQ,EAAE,IAAI,CAAC,oBAAoB,GAAG,CAAC;oBACrC,CAAC,CAAC,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC,oBAAoB;oBAC1D,CAAC,CAAC,CAAC;gBACL,IAAI,EAAE,CAAC,GAAG,WAAW;gBACrB,MAAM,EAAE,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;aACrE;SACF,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,cAAc;QAClB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;QACjD,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC;IACnD,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,QAA0B;QAC7C,IAAI,QAAQ,GAAG,CAAC,CAAC;QAEjB,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC/B,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;gBACjC,QAAQ,EAAE,CAAC;YACb,CAAC;YAAC,MAAM,CAAC;gBACP,sBAAsB;YACxB,CAAC;QACH,CAAC;QAED,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,oBAAoB;IAEpB,KAAK,CAAC,UAAU;QACd,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;QAC/B,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;IAC1B,CAAC;IAED,SAAS;QACP,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,iBAAiB,EAAE,CAAC;QAE9C,OAAO;YACL,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE;YAChC,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,aAAa,EAAE,KAAK,CAAC,KAAK,EAAE,SAAS,IAAI,CAAC;YAC1C,kBAAkB,EAAE,IAAI,CAAC,MAAM,CAAC,mBAAmB,EAAE;YACrD,QAAQ,EAAE,IAAI,CAAC,oBAAoB,GAAG,CAAC;gBACrC,CAAC,CAAC,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC,oBAAoB;gBAC1D,CAAC,CAAC,CAAC;YACL,YAAY,EAAE,KAAK,CAAC,SAAS;SAC9B,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,UAAU;QACd,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;QACjD,MAAM,oBAAoB,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC;QAEjF,OAAO;YACL,eAAe,EAAE,IAAI,CAAC,gBAAgB,CAAC,MAAM;YAC7C,oBAAoB;YACpB,gBAAgB,EAAE,IAAI,CAAC,gBAAgB,CAAC,MAAM,GAAG,oBAAoB;YACrE,cAAc,EAAE,QAAQ,CAAC,MAAM;YAC/B,oBAAoB,EAAE,IAAI,CAAC,oBAAoB;YAC/C,sBAAsB,EAAE,IAAI,CAAC,oBAAoB,GAAG,CAAC;gBACnD,CAAC,CAAC,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC,oBAAoB;gBAC1D,CAAC,CAAC,CAAC;YACL,iBAAiB,EAAE,QAAQ,CAAC,MAAM,GAAG,CAAC;gBACpC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,GAAG,QAAQ,CAAC,MAAM;gBACtE,CAAC,CAAC,CAAC;YACL,kBAAkB,EAAE,IAAI,CAAC,MAAM,CAAC,mBAAmB,EAAE;YACrD,YAAY,EAAE,IAAI,IAAI,EAAE;SACzB,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,KAAK;QACT,IAAI,CAAC,gBAAgB,GAAG,EAAE,CAAC;QAC3B,IAAI,CAAC,oBAAoB,GAAG,CAAC,CAAC;QAC9B,IAAI,CAAC,uBAAuB,GAAG,CAAC,CAAC;QACjC,0DAA0D;QAC1D,qDAAqD;IACvD,CAAC;IAED,0BAA0B;IAElB,cAAc,CAAC,CAAwB;QAC7C,MAAM,KAAK,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACnC,OAAO;YACL,EAAE,EAAE,CAAC,CAAC,EAAE;YACR,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,SAAS;YAC3B,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,SAAS;YAC7B,OAAO,EAAE,CAAC,CAAC,OAAO;YAClB,UAAU,EAAE,CAAC,CAAC,UAAU;YACxB,UAAU,EAAE,CAAC,CAAC,UAAU;YACxB,WAAW,EAAE,CAAC,CAAC,WAAW;YAC1B,SAAS,EAAE,CAAC,CAAC,SAAS;YACtB,SAAS,EAAE,CAAC,CAAC,UAAU;SACxB,CAAC;IACJ,CAAC;IAEO,kBAAkB,CAAC,SAAkB;QAC3C,IAAI,OAAO,SAAS,KAAK,QAAQ,IAAI,SAAS,KAAK,IAAI,EAAE,CAAC;YACxD,OAAO;gBACL,cAAc,EAAE,GAAG;gBACnB,oBAAoB,EAAE,EAAE;gBACxB,eAAe,EAAE,EAAE;gBACnB,gBAAgB,EAAE,CAAC;gBACnB,kBAAkB,EAAE,CAAC;aACtB,CAAC;QACJ,CAAC;QAED,MAAM,KAAK,GAAG,SAAoC,CAAC;QACnD,OAAO;YACL,cAAc,EAAG,KAAK,CAAC,UAAqB,IAAI,GAAG;YACnD,oBAAoB,EAAG,KAAK,CAAC,YAAyB,IAAI,EAAE;YAC5D,eAAe,EAAG,KAAK,CAAC,OAAmC,IAAI,EAAE;YACjE,gBAAgB,EAAG,KAAK,CAAC,QAAmB,IAAI,CAAC;YACjD,kBAAkB,EAAG,KAAK,CAAC,SAAoB,IAAI,CAAC;YACpD,cAAc,EAAE,KAAK,CAAC,OAA6B;SACpD,CAAC;IACJ,CAAC;IAEO,oBAAoB;QAC1B,IAAI,IAAI,CAAC,gBAAgB,CAAC,MAAM,GAAG,EAAE,EAAE,CAAC;YACtC,OAAO,CAAC,CAAC;QACX,CAAC;QAED,MAAM,MAAM,GAAG,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;QAChD,MAAM,QAAQ,GAAG,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAEpD,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;QAC3E,MAAM,eAAe,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;QAEjF,OAAO,eAAe,GAAG,CAAC;YACxB,CAAC,CAAC,CAAC,aAAa,GAAG,eAAe,CAAC,GAAG,eAAe;YACrD,CAAC,CAAC,aAAa,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAChC,CAAC;CACF;AApTD,sDAoTC;AAED;;GAEG;AACH,SAAgB,qBAAqB,CAAC,MAAsB;IAC1D,OAAO,IAAI,qBAAqB,CAAC,MAAM,CAAC,CAAC;AAC3C,CAAC"}
@@ -0,0 +1,45 @@
1
+ /**
2
+ * LifecycleManagerAdapter - Adapts AgentLifecycleManager to AgentLifecycleStrategy
3
+ *
4
+ * Provides backward compatibility during the B1.2 migration.
5
+ * Wraps the existing AgentLifecycleManager to implement the strategy interface.
6
+ *
7
+ * @module agents/adapters/LifecycleManagerAdapter
8
+ * @version 1.0.0
9
+ */
10
+ import type { AgentLifecycleStrategy, LifecycleConfig, LifecycleEvent, LifecycleMetrics } from '../../core/strategies';
11
+ import type { AgentStatus, PreTaskData, PostTaskData, TaskErrorData } from '../../types';
12
+ import { AgentLifecycleManager } from '../lifecycle/AgentLifecycleManager';
13
+ /**
14
+ * Adapts AgentLifecycleManager to AgentLifecycleStrategy interface
15
+ *
16
+ * This adapter allows BaseAgent to use the strategy interface while
17
+ * maintaining backward compatibility with existing AgentLifecycleManager.
18
+ */
19
+ export declare class LifecycleManagerAdapter implements AgentLifecycleStrategy {
20
+ private readonly manager;
21
+ private config?;
22
+ private lifecycleHandler?;
23
+ private tasksExecuted;
24
+ private initTime;
25
+ private startTime;
26
+ constructor(manager: AgentLifecycleManager);
27
+ initialize(config: LifecycleConfig): Promise<void>;
28
+ getStatus(): AgentStatus;
29
+ transitionTo(status: AgentStatus, reason?: string): Promise<void>;
30
+ waitForStatus(status: AgentStatus, timeout: number): Promise<void>;
31
+ waitForReady(timeout: number): Promise<void>;
32
+ shutdown(): Promise<void>;
33
+ reset(): Promise<void>;
34
+ onPreTask(_data: PreTaskData): Promise<void>;
35
+ onPostTask(_data: PostTaskData): Promise<void>;
36
+ onTaskError(_data: TaskErrorData): Promise<void>;
37
+ onLifecycleChange(handler: (event: LifecycleEvent) => void): void;
38
+ canAcceptTask(): boolean;
39
+ getMetrics(): LifecycleMetrics;
40
+ }
41
+ /**
42
+ * Create a lifecycle strategy adapter from an existing manager
43
+ */
44
+ export declare function createLifecycleAdapter(manager: AgentLifecycleManager): AgentLifecycleStrategy;
45
+ //# sourceMappingURL=LifecycleManagerAdapter.d.ts.map