agentic-qe 2.1.1 → 2.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 (167) hide show
  1. package/CHANGELOG.md +213 -0
  2. package/README.md +37 -11
  3. package/dist/agents/index.d.ts.map +1 -1
  4. package/dist/agents/index.js +5 -1
  5. package/dist/agents/index.js.map +1 -1
  6. package/dist/core/MemoryManager.d.ts.map +1 -1
  7. package/dist/core/MemoryManager.js +4 -0
  8. package/dist/core/MemoryManager.js.map +1 -1
  9. package/dist/core/di/AgentDependencies.d.ts +127 -0
  10. package/dist/core/di/AgentDependencies.d.ts.map +1 -0
  11. package/dist/core/di/AgentDependencies.js +251 -0
  12. package/dist/core/di/AgentDependencies.js.map +1 -0
  13. package/dist/core/di/DIContainer.d.ts +149 -0
  14. package/dist/core/di/DIContainer.d.ts.map +1 -0
  15. package/dist/core/di/DIContainer.js +333 -0
  16. package/dist/core/di/DIContainer.js.map +1 -0
  17. package/dist/core/di/index.d.ts +11 -0
  18. package/dist/core/di/index.d.ts.map +1 -0
  19. package/dist/core/di/index.js +22 -0
  20. package/dist/core/di/index.js.map +1 -0
  21. package/dist/core/index.d.ts +1 -0
  22. package/dist/core/index.d.ts.map +1 -1
  23. package/dist/core/index.js +11 -1
  24. package/dist/core/index.js.map +1 -1
  25. package/dist/core/memory/RuVectorPatternStore.d.ts +5 -1
  26. package/dist/core/memory/RuVectorPatternStore.d.ts.map +1 -1
  27. package/dist/core/memory/RuVectorPatternStore.js +43 -1
  28. package/dist/core/memory/RuVectorPatternStore.js.map +1 -1
  29. package/dist/learning/ExperienceSharingProtocol.d.ts +243 -0
  30. package/dist/learning/ExperienceSharingProtocol.d.ts.map +1 -0
  31. package/dist/learning/ExperienceSharingProtocol.js +538 -0
  32. package/dist/learning/ExperienceSharingProtocol.js.map +1 -0
  33. package/dist/learning/LearningEngine.d.ts +101 -1
  34. package/dist/learning/LearningEngine.d.ts.map +1 -1
  35. package/dist/learning/LearningEngine.js +330 -3
  36. package/dist/learning/LearningEngine.js.map +1 -1
  37. package/dist/learning/QLearning.d.ts +38 -125
  38. package/dist/learning/QLearning.d.ts.map +1 -1
  39. package/dist/learning/QLearning.js +46 -267
  40. package/dist/learning/QLearning.js.map +1 -1
  41. package/dist/learning/QLearningLegacy.d.ts +154 -0
  42. package/dist/learning/QLearningLegacy.d.ts.map +1 -0
  43. package/dist/learning/QLearningLegacy.js +337 -0
  44. package/dist/learning/QLearningLegacy.js.map +1 -0
  45. package/dist/learning/algorithms/AbstractRLLearner.d.ts +162 -0
  46. package/dist/learning/algorithms/AbstractRLLearner.d.ts.map +1 -0
  47. package/dist/learning/algorithms/AbstractRLLearner.js +300 -0
  48. package/dist/learning/algorithms/AbstractRLLearner.js.map +1 -0
  49. package/dist/learning/algorithms/ActorCriticLearner.d.ts +201 -0
  50. package/dist/learning/algorithms/ActorCriticLearner.d.ts.map +1 -0
  51. package/dist/learning/algorithms/ActorCriticLearner.js +447 -0
  52. package/dist/learning/algorithms/ActorCriticLearner.js.map +1 -0
  53. package/dist/learning/algorithms/PPOLearner.d.ts +207 -0
  54. package/dist/learning/algorithms/PPOLearner.d.ts.map +1 -0
  55. package/dist/learning/algorithms/PPOLearner.js +490 -0
  56. package/dist/learning/algorithms/PPOLearner.js.map +1 -0
  57. package/dist/learning/algorithms/QLearning.d.ts +68 -0
  58. package/dist/learning/algorithms/QLearning.d.ts.map +1 -0
  59. package/dist/learning/algorithms/QLearning.js +116 -0
  60. package/dist/learning/algorithms/QLearning.js.map +1 -0
  61. package/dist/learning/algorithms/SARSALearner.d.ts +107 -0
  62. package/dist/learning/algorithms/SARSALearner.d.ts.map +1 -0
  63. package/dist/learning/algorithms/SARSALearner.js +252 -0
  64. package/dist/learning/algorithms/SARSALearner.js.map +1 -0
  65. package/dist/learning/algorithms/index.d.ts +29 -0
  66. package/dist/learning/algorithms/index.d.ts.map +1 -0
  67. package/dist/learning/algorithms/index.js +44 -0
  68. package/dist/learning/algorithms/index.js.map +1 -0
  69. package/dist/learning/index.d.ts +3 -0
  70. package/dist/learning/index.d.ts.map +1 -1
  71. package/dist/learning/index.js +15 -1
  72. package/dist/learning/index.js.map +1 -1
  73. package/dist/learning/types.d.ts +2 -0
  74. package/dist/learning/types.d.ts.map +1 -1
  75. package/dist/mcp/handlers/advanced/index.d.ts +3 -2
  76. package/dist/mcp/handlers/advanced/index.d.ts.map +1 -1
  77. package/dist/mcp/handlers/advanced/index.js +4 -5
  78. package/dist/mcp/handlers/advanced/index.js.map +1 -1
  79. package/dist/mcp/handlers/analysis/coverageAnalyzeSublinear.d.ts +1 -0
  80. package/dist/mcp/handlers/analysis/coverageAnalyzeSublinear.d.ts.map +1 -1
  81. package/dist/mcp/handlers/analysis/coverageAnalyzeSublinear.js +3 -0
  82. package/dist/mcp/handlers/analysis/coverageAnalyzeSublinear.js.map +1 -1
  83. package/dist/mcp/handlers/analysis/coverageGapsDetect.d.ts +1 -0
  84. package/dist/mcp/handlers/analysis/coverageGapsDetect.d.ts.map +1 -1
  85. package/dist/mcp/handlers/analysis/coverageGapsDetect.js +3 -0
  86. package/dist/mcp/handlers/analysis/coverageGapsDetect.js.map +1 -1
  87. package/dist/mcp/handlers/analysis/index.d.ts +0 -2
  88. package/dist/mcp/handlers/analysis/index.d.ts.map +1 -1
  89. package/dist/mcp/handlers/analysis/index.js +2 -3
  90. package/dist/mcp/handlers/analysis/index.js.map +1 -1
  91. package/dist/mcp/handlers/analysis/performanceMonitorRealtime.d.ts +1 -0
  92. package/dist/mcp/handlers/analysis/performanceMonitorRealtime.d.ts.map +1 -1
  93. package/dist/mcp/handlers/analysis/performanceMonitorRealtime.js +3 -0
  94. package/dist/mcp/handlers/analysis/performanceMonitorRealtime.js.map +1 -1
  95. package/dist/mcp/handlers/prediction/flaky-test-detect.d.ts.map +1 -1
  96. package/dist/mcp/handlers/prediction/flaky-test-detect.js +2 -0
  97. package/dist/mcp/handlers/prediction/flaky-test-detect.js.map +1 -1
  98. package/dist/mcp/handlers/prediction/index.d.ts +0 -2
  99. package/dist/mcp/handlers/prediction/index.d.ts.map +1 -1
  100. package/dist/mcp/handlers/prediction/index.js +2 -3
  101. package/dist/mcp/handlers/prediction/index.js.map +1 -1
  102. package/dist/mcp/handlers/security/index.d.ts +0 -30
  103. package/dist/mcp/handlers/security/index.d.ts.map +1 -1
  104. package/dist/mcp/handlers/security/index.js +5 -31
  105. package/dist/mcp/handlers/security/index.js.map +1 -1
  106. package/dist/mcp/lazy-loader.d.ts +156 -0
  107. package/dist/mcp/lazy-loader.d.ts.map +1 -0
  108. package/dist/mcp/lazy-loader.js +327 -0
  109. package/dist/mcp/lazy-loader.js.map +1 -0
  110. package/dist/mcp/server-instructions.d.ts +18 -0
  111. package/dist/mcp/server-instructions.d.ts.map +1 -0
  112. package/dist/mcp/server-instructions.js +133 -0
  113. package/dist/mcp/server-instructions.js.map +1 -0
  114. package/dist/mcp/server.d.ts.map +1 -1
  115. package/dist/mcp/server.js +236 -49
  116. package/dist/mcp/server.js.map +1 -1
  117. package/dist/mcp/tool-categories.d.ts +105 -0
  118. package/dist/mcp/tool-categories.d.ts.map +1 -0
  119. package/dist/mcp/tool-categories.js +463 -0
  120. package/dist/mcp/tool-categories.js.map +1 -0
  121. package/dist/mcp/tools.d.ts +3 -19
  122. package/dist/mcp/tools.d.ts.map +1 -1
  123. package/dist/mcp/tools.js +260 -647
  124. package/dist/mcp/tools.js.map +1 -1
  125. package/dist/memory/DistributedPatternLibrary.d.ts +159 -0
  126. package/dist/memory/DistributedPatternLibrary.d.ts.map +1 -0
  127. package/dist/memory/DistributedPatternLibrary.js +370 -0
  128. package/dist/memory/DistributedPatternLibrary.js.map +1 -0
  129. package/dist/memory/PatternQualityScorer.d.ts +169 -0
  130. package/dist/memory/PatternQualityScorer.d.ts.map +1 -0
  131. package/dist/memory/PatternQualityScorer.js +327 -0
  132. package/dist/memory/PatternQualityScorer.js.map +1 -0
  133. package/dist/memory/PatternReplicationService.d.ts +187 -0
  134. package/dist/memory/PatternReplicationService.d.ts.map +1 -0
  135. package/dist/memory/PatternReplicationService.js +392 -0
  136. package/dist/memory/PatternReplicationService.js.map +1 -0
  137. package/dist/providers/ClaudeProvider.d.ts +98 -0
  138. package/dist/providers/ClaudeProvider.d.ts.map +1 -0
  139. package/dist/providers/ClaudeProvider.js +418 -0
  140. package/dist/providers/ClaudeProvider.js.map +1 -0
  141. package/dist/providers/ILLMProvider.d.ts +287 -0
  142. package/dist/providers/ILLMProvider.d.ts.map +1 -0
  143. package/dist/providers/ILLMProvider.js +33 -0
  144. package/dist/providers/ILLMProvider.js.map +1 -0
  145. package/dist/providers/LLMProviderFactory.d.ts +154 -0
  146. package/dist/providers/LLMProviderFactory.d.ts.map +1 -0
  147. package/dist/providers/LLMProviderFactory.js +426 -0
  148. package/dist/providers/LLMProviderFactory.js.map +1 -0
  149. package/dist/providers/RuvllmProvider.d.ts +107 -0
  150. package/dist/providers/RuvllmProvider.d.ts.map +1 -0
  151. package/dist/providers/RuvllmProvider.js +417 -0
  152. package/dist/providers/RuvllmProvider.js.map +1 -0
  153. package/dist/providers/index.d.ts +31 -0
  154. package/dist/providers/index.d.ts.map +1 -0
  155. package/dist/providers/index.js +69 -0
  156. package/dist/providers/index.js.map +1 -0
  157. package/dist/utils/IntervalRegistry.d.ts +110 -0
  158. package/dist/utils/IntervalRegistry.d.ts.map +1 -0
  159. package/dist/utils/IntervalRegistry.js +190 -0
  160. package/dist/utils/IntervalRegistry.js.map +1 -0
  161. package/dist/utils/index.d.ts +1 -0
  162. package/dist/utils/index.d.ts.map +1 -1
  163. package/dist/utils/index.js +5 -1
  164. package/dist/utils/index.js.map +1 -1
  165. package/docs/reference/agents.md +33 -0
  166. package/docs/reference/usage.md +60 -0
  167. package/package.json +2 -2
@@ -0,0 +1,127 @@
1
+ /**
2
+ * AgentDependencies - Pre-configured dependencies for QE agents
3
+ *
4
+ * Provides factory functions and registration helpers for common
5
+ * agent dependencies including LLM providers, learning engines,
6
+ * and memory stores.
7
+ *
8
+ * @module core/di/AgentDependencies
9
+ * @version 1.0.0
10
+ */
11
+ import { DIContainer, DependencyConfig } from './DIContainer';
12
+ import { ExperienceSharingConfig } from '../../learning/ExperienceSharingProtocol';
13
+ import { RLAlgorithmType } from '../../learning/algorithms';
14
+ import { SwarmMemoryManager } from '../memory/SwarmMemoryManager';
15
+ /**
16
+ * Well-known dependency names
17
+ */
18
+ export declare const DependencyNames: {
19
+ readonly LLM_PROVIDER: "llmProvider";
20
+ readonly LLM_FACTORY: "llmProviderFactory";
21
+ readonly CLAUDE_PROVIDER: "claudeProvider";
22
+ readonly RUVLLM_PROVIDER: "ruvllmProvider";
23
+ readonly LEARNING_ENGINE: "learningEngine";
24
+ readonly RL_ALGORITHM: "rlAlgorithm";
25
+ readonly EXPERIENCE_SHARING: "experienceSharing";
26
+ readonly MEMORY_STORE: "memoryStore";
27
+ readonly SWARM_MEMORY: "swarmMemory";
28
+ readonly LOGGER: "logger";
29
+ readonly EVENT_BUS: "eventBus";
30
+ };
31
+ /**
32
+ * Configuration for agent dependency setup
33
+ */
34
+ export interface AgentDependencyConfig {
35
+ /** Agent ID for scoped dependencies */
36
+ agentId: string;
37
+ /** Enable LLM provider (default: true) */
38
+ enableLLM?: boolean;
39
+ /** Preferred LLM provider type */
40
+ llmProvider?: 'claude' | 'ruvllm' | 'hybrid';
41
+ /** Enable learning system (default: true) */
42
+ enableLearning?: boolean;
43
+ /** RL algorithm to use */
44
+ rlAlgorithm?: RLAlgorithmType;
45
+ /** Enable experience sharing (default: false) */
46
+ enableExperienceSharing?: boolean;
47
+ /** Experience sharing config */
48
+ experienceSharingConfig?: Partial<ExperienceSharingConfig>;
49
+ /** Custom memory store */
50
+ memoryStore?: SwarmMemoryManager;
51
+ }
52
+ /**
53
+ * Register standard agent dependencies in a container
54
+ */
55
+ export declare function registerAgentDependencies(container: DIContainer, config: AgentDependencyConfig): Promise<void>;
56
+ /**
57
+ * Create a pre-configured container for an agent
58
+ */
59
+ export declare function createAgentContainer(config: AgentDependencyConfig, parent?: DIContainer): Promise<DIContainer>;
60
+ /**
61
+ * Interface for DI-enabled agents
62
+ */
63
+ export interface IDIAgent {
64
+ /** Get the DI container */
65
+ getDIContainer(): DIContainer;
66
+ /** Set the DI container */
67
+ setDIContainer(container: DIContainer): void;
68
+ /** Resolve a dependency */
69
+ resolveDependency<D>(name: string): Promise<D>;
70
+ /** Try to resolve a dependency */
71
+ tryResolveDependency<D>(name: string): Promise<D | undefined>;
72
+ /** Register a dependency */
73
+ registerDependency<D>(name: string, config: DependencyConfig<D>): void;
74
+ /** Register an instance */
75
+ registerDependencyInstance<D>(name: string, instance: D): void;
76
+ }
77
+ /**
78
+ * Dependency injection mixin for BaseAgent
79
+ *
80
+ * Adds DI capabilities to BaseAgent without modifying the class directly.
81
+ *
82
+ * Usage:
83
+ * ```typescript
84
+ * class MyAgent extends withDI(BaseAgent) {
85
+ * async initialize() {
86
+ * await super.initialize();
87
+ * const llm = await this.resolveDependency<ILLMProvider>('llmProvider');
88
+ * }
89
+ * }
90
+ * ```
91
+ */
92
+ export declare function withDI<T extends new (...args: any[]) => any>(Base: T): {
93
+ new (...args: any[]): {
94
+ [x: string]: any;
95
+ /** @internal DI container - use getDIContainer() instead */
96
+ __diContainer?: DIContainer;
97
+ /**
98
+ * Get or create the DI container for this agent
99
+ */
100
+ getDIContainer(): DIContainer;
101
+ /**
102
+ * Set the DI container (for external configuration)
103
+ */
104
+ setDIContainer(container: DIContainer): void;
105
+ /**
106
+ * Resolve a dependency from the container
107
+ */
108
+ resolveDependency<D>(name: string): Promise<D>;
109
+ /**
110
+ * Try to resolve a dependency (returns undefined if not found)
111
+ */
112
+ tryResolveDependency<D>(name: string): Promise<D | undefined>;
113
+ /**
114
+ * Register a dependency in the container
115
+ */
116
+ registerDependency<D>(name: string, config: DependencyConfig<D>): void;
117
+ /**
118
+ * Register an instance directly
119
+ */
120
+ registerDependencyInstance<D>(name: string, instance: D): void;
121
+ /**
122
+ * Dispose the container on agent termination
123
+ */
124
+ terminate(): Promise<void>;
125
+ };
126
+ } & T;
127
+ //# sourceMappingURL=AgentDependencies.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AgentDependencies.d.ts","sourceRoot":"","sources":["../../../src/core/di/AgentDependencies.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAG9D,OAAO,EAA6B,uBAAuB,EAAE,MAAM,0CAA0C,CAAC;AAC9G,OAAO,EAAwC,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAClG,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAGlE;;GAEG;AACH,eAAO,MAAM,eAAe;;;;;;;;;;;;CAmBlB,CAAC;AAEX;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,uCAAuC;IACvC,OAAO,EAAE,MAAM,CAAC;IAChB,0CAA0C;IAC1C,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,kCAAkC;IAClC,WAAW,CAAC,EAAE,QAAQ,GAAG,QAAQ,GAAG,QAAQ,CAAC;IAC7C,6CAA6C;IAC7C,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,0BAA0B;IAC1B,WAAW,CAAC,EAAE,eAAe,CAAC;IAC9B,iDAAiD;IACjD,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,gCAAgC;IAChC,uBAAuB,CAAC,EAAE,OAAO,CAAC,uBAAuB,CAAC,CAAC;IAC3D,0BAA0B;IAC1B,WAAW,CAAC,EAAE,kBAAkB,CAAC;CAClC;AAED;;GAEG;AACH,wBAAsB,yBAAyB,CAC7C,SAAS,EAAE,WAAW,EACtB,MAAM,EAAE,qBAAqB,GAC5B,OAAO,CAAC,IAAI,CAAC,CA0Bf;AA4HD;;GAEG;AACH,wBAAsB,oBAAoB,CACxC,MAAM,EAAE,qBAAqB,EAC7B,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,WAAW,CAAC,CAItB;AAED;;GAEG;AACH,MAAM,WAAW,QAAQ;IACvB,2BAA2B;IAC3B,cAAc,IAAI,WAAW,CAAC;IAC9B,2BAA2B;IAC3B,cAAc,CAAC,SAAS,EAAE,WAAW,GAAG,IAAI,CAAC;IAC7C,2BAA2B;IAC3B,iBAAiB,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IAC/C,kCAAkC;IAClC,oBAAoB,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC;IAC9D,4BAA4B;IAC5B,kBAAkB,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,gBAAgB,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;IACvE,2BAA2B;IAC3B,0BAA0B,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,CAAC;CAChE;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,MAAM,CAAC,CAAC,SAAS,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,EAAE,IAAI,EAAE,CAAC;kBAAtB,GAAG,EAAE;;QAEhD,4DAA4D;wBAC5C,WAAW;QAE3B;;WAEG;0BACe,WAAW;QAO7B;;WAEG;kCACuB,WAAW,GAAG,IAAI;QAI5C;;WAEG;0BACqB,CAAC,QAAQ,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC;QAIpD;;WAEG;6BACwB,CAAC,QAAQ,MAAM,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;QAInE;;WAEG;2BACgB,CAAC,QAAQ,MAAM,UAAU,gBAAgB,CAAC,CAAC,CAAC,GAAG,IAAI;QAItE;;WAEG;mCACwB,CAAC,QAAQ,MAAM,YAAY,CAAC,GAAG,IAAI;QAI9D;;WAEG;qBACgB,OAAO,CAAC,IAAI,CAAC;;MAWnC"}
@@ -0,0 +1,251 @@
1
+ "use strict";
2
+ /**
3
+ * AgentDependencies - Pre-configured dependencies for QE agents
4
+ *
5
+ * Provides factory functions and registration helpers for common
6
+ * agent dependencies including LLM providers, learning engines,
7
+ * and memory stores.
8
+ *
9
+ * @module core/di/AgentDependencies
10
+ * @version 1.0.0
11
+ */
12
+ Object.defineProperty(exports, "__esModule", { value: true });
13
+ exports.DependencyNames = void 0;
14
+ exports.registerAgentDependencies = registerAgentDependencies;
15
+ exports.createAgentContainer = createAgentContainer;
16
+ exports.withDI = withDI;
17
+ const DIContainer_1 = require("./DIContainer");
18
+ const providers_1 = require("../../providers");
19
+ const LearningEngine_1 = require("../../learning/LearningEngine");
20
+ const ExperienceSharingProtocol_1 = require("../../learning/ExperienceSharingProtocol");
21
+ const algorithms_1 = require("../../learning/algorithms");
22
+ const Logger_1 = require("../../utils/Logger");
23
+ /**
24
+ * Well-known dependency names
25
+ */
26
+ exports.DependencyNames = {
27
+ // LLM Providers
28
+ LLM_PROVIDER: 'llmProvider',
29
+ LLM_FACTORY: 'llmProviderFactory',
30
+ CLAUDE_PROVIDER: 'claudeProvider',
31
+ RUVLLM_PROVIDER: 'ruvllmProvider',
32
+ // Learning
33
+ LEARNING_ENGINE: 'learningEngine',
34
+ RL_ALGORITHM: 'rlAlgorithm',
35
+ EXPERIENCE_SHARING: 'experienceSharing',
36
+ // Memory
37
+ MEMORY_STORE: 'memoryStore',
38
+ SWARM_MEMORY: 'swarmMemory',
39
+ // Utilities
40
+ LOGGER: 'logger',
41
+ EVENT_BUS: 'eventBus'
42
+ };
43
+ /**
44
+ * Register standard agent dependencies in a container
45
+ */
46
+ async function registerAgentDependencies(container, config) {
47
+ const logger = Logger_1.Logger.getInstance();
48
+ // Register logger
49
+ container.registerInstance(exports.DependencyNames.LOGGER, logger);
50
+ // Register LLM providers if enabled
51
+ if (config.enableLLM !== false) {
52
+ await registerLLMDependencies(container, config);
53
+ }
54
+ // Register learning dependencies if enabled
55
+ if (config.enableLearning !== false) {
56
+ await registerLearningDependencies(container, config);
57
+ }
58
+ // Register experience sharing if enabled
59
+ if (config.enableExperienceSharing) {
60
+ registerExperienceSharingDependency(container, config);
61
+ }
62
+ logger.info(`Agent dependencies registered for ${config.agentId}`, {
63
+ llm: config.enableLLM !== false,
64
+ learning: config.enableLearning !== false,
65
+ experienceSharing: config.enableExperienceSharing
66
+ });
67
+ }
68
+ /**
69
+ * Register LLM provider dependencies
70
+ */
71
+ async function registerLLMDependencies(container, config) {
72
+ // Register LLM Provider Factory
73
+ container.register(exports.DependencyNames.LLM_FACTORY, {
74
+ factory: () => new providers_1.LLMProviderFactory({
75
+ defaultProvider: config.llmProvider === 'ruvllm' ? 'ruvllm' : 'claude',
76
+ enableFallback: true
77
+ }),
78
+ lifecycle: 'singleton',
79
+ initialize: async (factory) => factory.initialize(),
80
+ dispose: async (factory) => factory.shutdown()
81
+ });
82
+ // Register main LLM provider based on preference
83
+ container.register(exports.DependencyNames.LLM_PROVIDER, {
84
+ factory: async (c) => {
85
+ const factory = await c.resolve(exports.DependencyNames.LLM_FACTORY);
86
+ switch (config.llmProvider) {
87
+ case 'ruvllm':
88
+ return factory.getProvider('ruvllm') ?? factory.selectBestProvider({ preferLocal: true });
89
+ case 'hybrid':
90
+ return factory.createHybridRouter();
91
+ case 'claude':
92
+ default:
93
+ return factory.getProvider('claude') ?? factory.selectBestProvider();
94
+ }
95
+ },
96
+ lifecycle: 'singleton',
97
+ dependencies: [exports.DependencyNames.LLM_FACTORY]
98
+ });
99
+ // Register individual providers for direct access
100
+ container.register(exports.DependencyNames.CLAUDE_PROVIDER, {
101
+ factory: () => new providers_1.ClaudeProvider(),
102
+ lifecycle: 'singleton',
103
+ initialize: async (p) => p.initialize(),
104
+ dispose: async (p) => p.shutdown()
105
+ });
106
+ container.register(exports.DependencyNames.RUVLLM_PROVIDER, {
107
+ factory: () => new providers_1.RuvllmProvider(),
108
+ lifecycle: 'singleton',
109
+ initialize: async (p) => {
110
+ try {
111
+ await p.initialize();
112
+ }
113
+ catch {
114
+ // ruvllm may not be available - that's OK
115
+ }
116
+ },
117
+ dispose: async (p) => p.shutdown()
118
+ });
119
+ }
120
+ /**
121
+ * Register learning system dependencies
122
+ */
123
+ async function registerLearningDependencies(container, config) {
124
+ // Register RL algorithm
125
+ const algorithmType = config.rlAlgorithm ?? 'sarsa';
126
+ container.register(exports.DependencyNames.RL_ALGORITHM, {
127
+ factory: () => (0, algorithms_1.createRLAlgorithm)(algorithmType, {
128
+ learningRate: 0.1,
129
+ discountFactor: 0.95,
130
+ explorationRate: 0.3,
131
+ explorationDecay: 0.995,
132
+ minExplorationRate: 0.01,
133
+ useExperienceReplay: true,
134
+ replayBufferSize: 10000,
135
+ batchSize: 32
136
+ }),
137
+ lifecycle: 'scoped' // Each agent gets its own RL algorithm
138
+ });
139
+ // Register Learning Engine (requires memory store)
140
+ container.register(exports.DependencyNames.LEARNING_ENGINE, {
141
+ factory: async (c) => {
142
+ const memoryStore = config.memoryStore ?? await c.tryResolve(exports.DependencyNames.SWARM_MEMORY);
143
+ if (!memoryStore) {
144
+ throw new Error('Memory store required for learning engine');
145
+ }
146
+ return new LearningEngine_1.LearningEngine(config.agentId, memoryStore, {
147
+ enabled: true,
148
+ learningRate: 0.1,
149
+ discountFactor: 0.95,
150
+ explorationRate: 0.3,
151
+ algorithm: algorithmType
152
+ });
153
+ },
154
+ lifecycle: 'scoped',
155
+ initialize: async (engine) => engine.initialize()
156
+ });
157
+ }
158
+ /**
159
+ * Register experience sharing dependency
160
+ */
161
+ function registerExperienceSharingDependency(container, config) {
162
+ container.register(exports.DependencyNames.EXPERIENCE_SHARING, {
163
+ factory: () => new ExperienceSharingProtocol_1.ExperienceSharingProtocol({
164
+ agentId: config.agentId,
165
+ ...config.experienceSharingConfig
166
+ }),
167
+ lifecycle: 'scoped',
168
+ initialize: async (protocol) => protocol.start(),
169
+ dispose: async (protocol) => protocol.stop()
170
+ });
171
+ }
172
+ /**
173
+ * Create a pre-configured container for an agent
174
+ */
175
+ async function createAgentContainer(config, parent) {
176
+ const container = new DIContainer_1.DIContainer(parent);
177
+ await registerAgentDependencies(container, config);
178
+ return container;
179
+ }
180
+ /**
181
+ * Dependency injection mixin for BaseAgent
182
+ *
183
+ * Adds DI capabilities to BaseAgent without modifying the class directly.
184
+ *
185
+ * Usage:
186
+ * ```typescript
187
+ * class MyAgent extends withDI(BaseAgent) {
188
+ * async initialize() {
189
+ * await super.initialize();
190
+ * const llm = await this.resolveDependency<ILLMProvider>('llmProvider');
191
+ * }
192
+ * }
193
+ * ```
194
+ */
195
+ function withDI(Base) {
196
+ return class DIAgent extends Base {
197
+ /**
198
+ * Get or create the DI container for this agent
199
+ */
200
+ getDIContainer() {
201
+ if (!this.__diContainer) {
202
+ this.__diContainer = new DIContainer_1.DIContainer();
203
+ }
204
+ return this.__diContainer;
205
+ }
206
+ /**
207
+ * Set the DI container (for external configuration)
208
+ */
209
+ setDIContainer(container) {
210
+ this.__diContainer = container;
211
+ }
212
+ /**
213
+ * Resolve a dependency from the container
214
+ */
215
+ async resolveDependency(name) {
216
+ return this.getDIContainer().resolve(name);
217
+ }
218
+ /**
219
+ * Try to resolve a dependency (returns undefined if not found)
220
+ */
221
+ async tryResolveDependency(name) {
222
+ return this.getDIContainer().tryResolve(name);
223
+ }
224
+ /**
225
+ * Register a dependency in the container
226
+ */
227
+ registerDependency(name, config) {
228
+ this.getDIContainer().register(name, config);
229
+ }
230
+ /**
231
+ * Register an instance directly
232
+ */
233
+ registerDependencyInstance(name, instance) {
234
+ this.getDIContainer().registerInstance(name, instance);
235
+ }
236
+ /**
237
+ * Dispose the container on agent termination
238
+ */
239
+ async terminate() {
240
+ if (this.__diContainer) {
241
+ await this.__diContainer.dispose();
242
+ this.__diContainer = undefined;
243
+ }
244
+ // Call parent terminate if it exists
245
+ if (super.terminate) {
246
+ await super.terminate();
247
+ }
248
+ }
249
+ };
250
+ }
251
+ //# sourceMappingURL=AgentDependencies.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AgentDependencies.js","sourceRoot":"","sources":["../../../src/core/di/AgentDependencies.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,149 @@
1
+ /**
2
+ * DIContainer - Dependency Injection Container for AQE Fleet
3
+ *
4
+ * Provides centralized dependency management for:
5
+ * - LLM providers (Claude, ruvllm, hybrid)
6
+ * - Learning engines and algorithms
7
+ * - Memory stores and pattern libraries
8
+ * - Experience sharing protocols
9
+ *
10
+ * Features:
11
+ * - Singleton and transient lifecycle management
12
+ * - Lazy initialization
13
+ * - Hierarchical scopes (agent-level, fleet-level)
14
+ * - Type-safe dependency resolution
15
+ *
16
+ * @module core/di/DIContainer
17
+ * @version 1.0.0
18
+ */
19
+ import { EventEmitter } from 'events';
20
+ /**
21
+ * Dependency lifecycle types
22
+ */
23
+ export type DependencyLifecycle = 'singleton' | 'transient' | 'scoped';
24
+ /**
25
+ * Dependency registration configuration
26
+ */
27
+ export interface DependencyConfig<T> {
28
+ /** Factory function to create instance */
29
+ factory: (container: DIContainer) => T | Promise<T>;
30
+ /** Lifecycle management */
31
+ lifecycle: DependencyLifecycle;
32
+ /** Optional initialization function */
33
+ initialize?: (instance: T) => Promise<void>;
34
+ /** Optional cleanup function */
35
+ dispose?: (instance: T) => Promise<void>;
36
+ /** Dependencies required before this one */
37
+ dependencies?: string[];
38
+ }
39
+ /**
40
+ * Container scope for hierarchical DI
41
+ */
42
+ export interface DIScope {
43
+ id: string;
44
+ parent?: DIContainer;
45
+ instances: Map<string, any>;
46
+ }
47
+ /**
48
+ * DIContainer - Central dependency injection container
49
+ *
50
+ * Usage:
51
+ * ```typescript
52
+ * const container = new DIContainer();
53
+ *
54
+ * // Register dependencies
55
+ * container.register('llmProvider', {
56
+ * factory: () => new ClaudeProvider(),
57
+ * lifecycle: 'singleton',
58
+ * initialize: async (p) => p.initialize()
59
+ * });
60
+ *
61
+ * // Resolve dependencies
62
+ * const llm = await container.resolve<ILLMProvider>('llmProvider');
63
+ * ```
64
+ */
65
+ export declare class DIContainer extends EventEmitter {
66
+ private readonly logger;
67
+ private readonly dependencies;
68
+ private readonly scopes;
69
+ private readonly parent?;
70
+ private isDisposed;
71
+ constructor(parent?: DIContainer);
72
+ /**
73
+ * Register a dependency
74
+ */
75
+ register<T>(name: string, config: DependencyConfig<T>): this;
76
+ /**
77
+ * Register a singleton instance directly
78
+ */
79
+ registerInstance<T>(name: string, instance: T): this;
80
+ /**
81
+ * Register a factory function
82
+ */
83
+ registerFactory<T>(name: string, factory: (container: DIContainer) => T | Promise<T>, lifecycle?: DependencyLifecycle): this;
84
+ /**
85
+ * Resolve a dependency
86
+ */
87
+ resolve<T>(name: string, scope?: string): Promise<T>;
88
+ /**
89
+ * Try to resolve a dependency (returns undefined if not found)
90
+ */
91
+ tryResolve<T>(name: string, scope?: string): Promise<T | undefined>;
92
+ /**
93
+ * Check if a dependency is registered
94
+ */
95
+ has(name: string): boolean;
96
+ /**
97
+ * Create a child scope
98
+ */
99
+ createScope(scopeId: string): DIContainer;
100
+ /**
101
+ * Dispose a scope and its instances
102
+ */
103
+ disposeScope(scopeId: string): Promise<void>;
104
+ /**
105
+ * Dispose all dependencies and clean up
106
+ */
107
+ dispose(): Promise<void>;
108
+ /**
109
+ * Get all registered dependency names
110
+ */
111
+ getRegisteredNames(): string[];
112
+ /**
113
+ * Resolve a registration
114
+ */
115
+ private resolveRegistration;
116
+ /**
117
+ * Resolve singleton instance
118
+ */
119
+ private resolveSingleton;
120
+ /**
121
+ * Resolve scoped instance
122
+ */
123
+ private resolveScoped;
124
+ /**
125
+ * Resolve transient instance (new instance each time)
126
+ */
127
+ private resolveTransient;
128
+ /**
129
+ * Create and initialize an instance
130
+ */
131
+ private createAndInitialize;
132
+ /**
133
+ * Get scoped instance
134
+ */
135
+ private getScopedInstance;
136
+ }
137
+ /**
138
+ * Get the global DI container
139
+ */
140
+ export declare function getGlobalContainer(): DIContainer;
141
+ /**
142
+ * Set the global DI container
143
+ */
144
+ export declare function setGlobalContainer(container: DIContainer): void;
145
+ /**
146
+ * Reset the global container (for testing)
147
+ */
148
+ export declare function resetGlobalContainer(): Promise<void>;
149
+ //# sourceMappingURL=DIContainer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DIContainer.d.ts","sourceRoot":"","sources":["../../../src/core/di/DIContainer.ts"],"names":[],"mappings":"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"}