agentic-qe 2.1.2 → 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 (100) hide show
  1. package/CHANGELOG.md +123 -0
  2. package/README.md +1 -1
  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/di/AgentDependencies.d.ts +127 -0
  7. package/dist/core/di/AgentDependencies.d.ts.map +1 -0
  8. package/dist/core/di/AgentDependencies.js +251 -0
  9. package/dist/core/di/AgentDependencies.js.map +1 -0
  10. package/dist/core/di/DIContainer.d.ts +149 -0
  11. package/dist/core/di/DIContainer.d.ts.map +1 -0
  12. package/dist/core/di/DIContainer.js +333 -0
  13. package/dist/core/di/DIContainer.js.map +1 -0
  14. package/dist/core/di/index.d.ts +11 -0
  15. package/dist/core/di/index.d.ts.map +1 -0
  16. package/dist/core/di/index.js +22 -0
  17. package/dist/core/di/index.js.map +1 -0
  18. package/dist/core/index.d.ts +1 -0
  19. package/dist/core/index.d.ts.map +1 -1
  20. package/dist/core/index.js +11 -1
  21. package/dist/core/index.js.map +1 -1
  22. package/dist/learning/ExperienceSharingProtocol.d.ts +243 -0
  23. package/dist/learning/ExperienceSharingProtocol.d.ts.map +1 -0
  24. package/dist/learning/ExperienceSharingProtocol.js +538 -0
  25. package/dist/learning/ExperienceSharingProtocol.js.map +1 -0
  26. package/dist/learning/LearningEngine.d.ts +101 -1
  27. package/dist/learning/LearningEngine.d.ts.map +1 -1
  28. package/dist/learning/LearningEngine.js +330 -3
  29. package/dist/learning/LearningEngine.js.map +1 -1
  30. package/dist/learning/QLearning.d.ts +38 -125
  31. package/dist/learning/QLearning.d.ts.map +1 -1
  32. package/dist/learning/QLearning.js +46 -267
  33. package/dist/learning/QLearning.js.map +1 -1
  34. package/dist/learning/QLearningLegacy.d.ts +154 -0
  35. package/dist/learning/QLearningLegacy.d.ts.map +1 -0
  36. package/dist/learning/QLearningLegacy.js +337 -0
  37. package/dist/learning/QLearningLegacy.js.map +1 -0
  38. package/dist/learning/algorithms/AbstractRLLearner.d.ts +162 -0
  39. package/dist/learning/algorithms/AbstractRLLearner.d.ts.map +1 -0
  40. package/dist/learning/algorithms/AbstractRLLearner.js +300 -0
  41. package/dist/learning/algorithms/AbstractRLLearner.js.map +1 -0
  42. package/dist/learning/algorithms/ActorCriticLearner.d.ts +201 -0
  43. package/dist/learning/algorithms/ActorCriticLearner.d.ts.map +1 -0
  44. package/dist/learning/algorithms/ActorCriticLearner.js +447 -0
  45. package/dist/learning/algorithms/ActorCriticLearner.js.map +1 -0
  46. package/dist/learning/algorithms/PPOLearner.d.ts +207 -0
  47. package/dist/learning/algorithms/PPOLearner.d.ts.map +1 -0
  48. package/dist/learning/algorithms/PPOLearner.js +490 -0
  49. package/dist/learning/algorithms/PPOLearner.js.map +1 -0
  50. package/dist/learning/algorithms/QLearning.d.ts +68 -0
  51. package/dist/learning/algorithms/QLearning.d.ts.map +1 -0
  52. package/dist/learning/algorithms/QLearning.js +116 -0
  53. package/dist/learning/algorithms/QLearning.js.map +1 -0
  54. package/dist/learning/algorithms/SARSALearner.d.ts +107 -0
  55. package/dist/learning/algorithms/SARSALearner.d.ts.map +1 -0
  56. package/dist/learning/algorithms/SARSALearner.js +252 -0
  57. package/dist/learning/algorithms/SARSALearner.js.map +1 -0
  58. package/dist/learning/algorithms/index.d.ts +29 -0
  59. package/dist/learning/algorithms/index.d.ts.map +1 -0
  60. package/dist/learning/algorithms/index.js +44 -0
  61. package/dist/learning/algorithms/index.js.map +1 -0
  62. package/dist/learning/index.d.ts +3 -0
  63. package/dist/learning/index.d.ts.map +1 -1
  64. package/dist/learning/index.js +15 -1
  65. package/dist/learning/index.js.map +1 -1
  66. package/dist/learning/types.d.ts +2 -0
  67. package/dist/learning/types.d.ts.map +1 -1
  68. package/dist/memory/DistributedPatternLibrary.d.ts +159 -0
  69. package/dist/memory/DistributedPatternLibrary.d.ts.map +1 -0
  70. package/dist/memory/DistributedPatternLibrary.js +370 -0
  71. package/dist/memory/DistributedPatternLibrary.js.map +1 -0
  72. package/dist/memory/PatternQualityScorer.d.ts +169 -0
  73. package/dist/memory/PatternQualityScorer.d.ts.map +1 -0
  74. package/dist/memory/PatternQualityScorer.js +327 -0
  75. package/dist/memory/PatternQualityScorer.js.map +1 -0
  76. package/dist/memory/PatternReplicationService.d.ts +187 -0
  77. package/dist/memory/PatternReplicationService.d.ts.map +1 -0
  78. package/dist/memory/PatternReplicationService.js +392 -0
  79. package/dist/memory/PatternReplicationService.js.map +1 -0
  80. package/dist/providers/ClaudeProvider.d.ts +98 -0
  81. package/dist/providers/ClaudeProvider.d.ts.map +1 -0
  82. package/dist/providers/ClaudeProvider.js +418 -0
  83. package/dist/providers/ClaudeProvider.js.map +1 -0
  84. package/dist/providers/ILLMProvider.d.ts +287 -0
  85. package/dist/providers/ILLMProvider.d.ts.map +1 -0
  86. package/dist/providers/ILLMProvider.js +33 -0
  87. package/dist/providers/ILLMProvider.js.map +1 -0
  88. package/dist/providers/LLMProviderFactory.d.ts +154 -0
  89. package/dist/providers/LLMProviderFactory.d.ts.map +1 -0
  90. package/dist/providers/LLMProviderFactory.js +426 -0
  91. package/dist/providers/LLMProviderFactory.js.map +1 -0
  92. package/dist/providers/RuvllmProvider.d.ts +107 -0
  93. package/dist/providers/RuvllmProvider.d.ts.map +1 -0
  94. package/dist/providers/RuvllmProvider.js +417 -0
  95. package/dist/providers/RuvllmProvider.js.map +1 -0
  96. package/dist/providers/index.d.ts +31 -0
  97. package/dist/providers/index.d.ts.map +1 -0
  98. package/dist/providers/index.js +69 -0
  99. package/dist/providers/index.js.map +1 -0
  100. package/package.json +1 -1
@@ -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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"}
@@ -0,0 +1,333 @@
1
+ "use strict";
2
+ /**
3
+ * DIContainer - Dependency Injection Container for AQE Fleet
4
+ *
5
+ * Provides centralized dependency management for:
6
+ * - LLM providers (Claude, ruvllm, hybrid)
7
+ * - Learning engines and algorithms
8
+ * - Memory stores and pattern libraries
9
+ * - Experience sharing protocols
10
+ *
11
+ * Features:
12
+ * - Singleton and transient lifecycle management
13
+ * - Lazy initialization
14
+ * - Hierarchical scopes (agent-level, fleet-level)
15
+ * - Type-safe dependency resolution
16
+ *
17
+ * @module core/di/DIContainer
18
+ * @version 1.0.0
19
+ */
20
+ Object.defineProperty(exports, "__esModule", { value: true });
21
+ exports.DIContainer = void 0;
22
+ exports.getGlobalContainer = getGlobalContainer;
23
+ exports.setGlobalContainer = setGlobalContainer;
24
+ exports.resetGlobalContainer = resetGlobalContainer;
25
+ const events_1 = require("events");
26
+ const Logger_1 = require("../../utils/Logger");
27
+ /**
28
+ * DIContainer - Central dependency injection container
29
+ *
30
+ * Usage:
31
+ * ```typescript
32
+ * const container = new DIContainer();
33
+ *
34
+ * // Register dependencies
35
+ * container.register('llmProvider', {
36
+ * factory: () => new ClaudeProvider(),
37
+ * lifecycle: 'singleton',
38
+ * initialize: async (p) => p.initialize()
39
+ * });
40
+ *
41
+ * // Resolve dependencies
42
+ * const llm = await container.resolve<ILLMProvider>('llmProvider');
43
+ * ```
44
+ */
45
+ class DIContainer extends events_1.EventEmitter {
46
+ constructor(parent) {
47
+ super();
48
+ this.logger = Logger_1.Logger.getInstance();
49
+ this.dependencies = new Map();
50
+ this.scopes = new Map();
51
+ this.parent = parent;
52
+ this.isDisposed = false;
53
+ }
54
+ /**
55
+ * Register a dependency
56
+ */
57
+ register(name, config) {
58
+ if (this.isDisposed) {
59
+ throw new Error('Container has been disposed');
60
+ }
61
+ if (this.dependencies.has(name)) {
62
+ this.logger.warn(`Overwriting existing dependency: ${name}`);
63
+ }
64
+ this.dependencies.set(name, {
65
+ config,
66
+ initialized: false
67
+ });
68
+ this.logger.debug(`Registered dependency: ${name}`, {
69
+ lifecycle: config.lifecycle
70
+ });
71
+ return this;
72
+ }
73
+ /**
74
+ * Register a singleton instance directly
75
+ */
76
+ registerInstance(name, instance) {
77
+ return this.register(name, {
78
+ factory: () => instance,
79
+ lifecycle: 'singleton'
80
+ });
81
+ }
82
+ /**
83
+ * Register a factory function
84
+ */
85
+ registerFactory(name, factory, lifecycle = 'transient') {
86
+ return this.register(name, { factory, lifecycle });
87
+ }
88
+ /**
89
+ * Resolve a dependency
90
+ */
91
+ async resolve(name, scope) {
92
+ if (this.isDisposed) {
93
+ throw new Error('Container has been disposed');
94
+ }
95
+ // Check scoped instances first
96
+ if (scope) {
97
+ const scopedInstance = this.getScopedInstance(name, scope);
98
+ if (scopedInstance !== undefined) {
99
+ return scopedInstance;
100
+ }
101
+ }
102
+ // Check local registration
103
+ const registration = this.dependencies.get(name);
104
+ if (registration) {
105
+ return this.resolveRegistration(name, registration, scope);
106
+ }
107
+ // Check parent container
108
+ if (this.parent) {
109
+ return this.parent.resolve(name, scope);
110
+ }
111
+ throw new Error(`Dependency not found: ${name}`);
112
+ }
113
+ /**
114
+ * Try to resolve a dependency (returns undefined if not found)
115
+ */
116
+ async tryResolve(name, scope) {
117
+ try {
118
+ return await this.resolve(name, scope);
119
+ }
120
+ catch {
121
+ return undefined;
122
+ }
123
+ }
124
+ /**
125
+ * Check if a dependency is registered
126
+ */
127
+ has(name) {
128
+ if (this.dependencies.has(name)) {
129
+ return true;
130
+ }
131
+ return this.parent?.has(name) ?? false;
132
+ }
133
+ /**
134
+ * Create a child scope
135
+ */
136
+ createScope(scopeId) {
137
+ const childContainer = new DIContainer(this);
138
+ this.scopes.set(scopeId, {
139
+ id: scopeId,
140
+ parent: this,
141
+ instances: new Map()
142
+ });
143
+ return childContainer;
144
+ }
145
+ /**
146
+ * Dispose a scope and its instances
147
+ */
148
+ async disposeScope(scopeId) {
149
+ const scope = this.scopes.get(scopeId);
150
+ if (!scope)
151
+ return;
152
+ // Dispose scoped instances
153
+ for (const [name, instance] of scope.instances.entries()) {
154
+ const registration = this.dependencies.get(name);
155
+ if (registration?.config.dispose) {
156
+ try {
157
+ await registration.config.dispose(instance);
158
+ }
159
+ catch (error) {
160
+ this.logger.warn(`Error disposing scoped instance ${name}`, { error });
161
+ }
162
+ }
163
+ }
164
+ scope.instances.clear();
165
+ this.scopes.delete(scopeId);
166
+ }
167
+ /**
168
+ * Dispose all dependencies and clean up
169
+ */
170
+ async dispose() {
171
+ if (this.isDisposed)
172
+ return;
173
+ this.isDisposed = true;
174
+ // Dispose all scopes
175
+ for (const scopeId of this.scopes.keys()) {
176
+ await this.disposeScope(scopeId);
177
+ }
178
+ // Dispose singleton instances in reverse registration order
179
+ const registrations = Array.from(this.dependencies.entries()).reverse();
180
+ for (const [name, registration] of registrations) {
181
+ if (registration.instance && registration.config.dispose) {
182
+ try {
183
+ await registration.config.dispose(registration.instance);
184
+ this.logger.debug(`Disposed dependency: ${name}`);
185
+ }
186
+ catch (error) {
187
+ this.logger.warn(`Error disposing ${name}`, { error });
188
+ }
189
+ }
190
+ registration.instance = undefined;
191
+ registration.initialized = false;
192
+ }
193
+ this.dependencies.clear();
194
+ this.removeAllListeners();
195
+ this.logger.info('DIContainer disposed');
196
+ }
197
+ /**
198
+ * Get all registered dependency names
199
+ */
200
+ getRegisteredNames() {
201
+ const names = new Set(this.dependencies.keys());
202
+ if (this.parent) {
203
+ for (const name of this.parent.getRegisteredNames()) {
204
+ names.add(name);
205
+ }
206
+ }
207
+ return Array.from(names);
208
+ }
209
+ /**
210
+ * Resolve a registration
211
+ */
212
+ async resolveRegistration(name, registration, scope) {
213
+ const { config } = registration;
214
+ // Handle different lifecycles
215
+ switch (config.lifecycle) {
216
+ case 'singleton':
217
+ return this.resolveSingleton(name, registration);
218
+ case 'scoped':
219
+ if (!scope) {
220
+ throw new Error(`Scoped dependency ${name} requires a scope`);
221
+ }
222
+ return this.resolveScoped(name, registration, scope);
223
+ case 'transient':
224
+ default:
225
+ return this.resolveTransient(name, registration);
226
+ }
227
+ }
228
+ /**
229
+ * Resolve singleton instance
230
+ */
231
+ async resolveSingleton(name, registration) {
232
+ // Return existing instance
233
+ if (registration.initialized && registration.instance !== undefined) {
234
+ return registration.instance;
235
+ }
236
+ // Wait for initialization in progress
237
+ if (registration.initPromise) {
238
+ return registration.initPromise;
239
+ }
240
+ // Initialize new instance
241
+ registration.initPromise = this.createAndInitialize(name, registration);
242
+ try {
243
+ const instance = await registration.initPromise;
244
+ registration.instance = instance;
245
+ registration.initialized = true;
246
+ return instance;
247
+ }
248
+ finally {
249
+ registration.initPromise = undefined;
250
+ }
251
+ }
252
+ /**
253
+ * Resolve scoped instance
254
+ */
255
+ async resolveScoped(name, registration, scopeId) {
256
+ const scope = this.scopes.get(scopeId);
257
+ if (!scope) {
258
+ throw new Error(`Scope not found: ${scopeId}`);
259
+ }
260
+ // Check for existing scoped instance
261
+ if (scope.instances.has(name)) {
262
+ return scope.instances.get(name);
263
+ }
264
+ // Create new scoped instance
265
+ const instance = await this.createAndInitialize(name, registration);
266
+ scope.instances.set(name, instance);
267
+ return instance;
268
+ }
269
+ /**
270
+ * Resolve transient instance (new instance each time)
271
+ */
272
+ async resolveTransient(name, registration) {
273
+ return this.createAndInitialize(name, registration);
274
+ }
275
+ /**
276
+ * Create and initialize an instance
277
+ */
278
+ async createAndInitialize(name, registration) {
279
+ const { config } = registration;
280
+ // Resolve dependencies first
281
+ if (config.dependencies) {
282
+ for (const dep of config.dependencies) {
283
+ await this.resolve(dep);
284
+ }
285
+ }
286
+ // Create instance
287
+ const instance = await config.factory(this);
288
+ // Initialize if needed
289
+ if (config.initialize) {
290
+ await config.initialize(instance);
291
+ }
292
+ this.logger.debug(`Created instance: ${name}`);
293
+ this.emit('resolved', { name, instance });
294
+ return instance;
295
+ }
296
+ /**
297
+ * Get scoped instance
298
+ */
299
+ getScopedInstance(name, scopeId) {
300
+ const scope = this.scopes.get(scopeId);
301
+ return scope?.instances.get(name);
302
+ }
303
+ }
304
+ exports.DIContainer = DIContainer;
305
+ /**
306
+ * Global container instance
307
+ */
308
+ let globalContainer;
309
+ /**
310
+ * Get the global DI container
311
+ */
312
+ function getGlobalContainer() {
313
+ if (!globalContainer) {
314
+ globalContainer = new DIContainer();
315
+ }
316
+ return globalContainer;
317
+ }
318
+ /**
319
+ * Set the global DI container
320
+ */
321
+ function setGlobalContainer(container) {
322
+ globalContainer = container;
323
+ }
324
+ /**
325
+ * Reset the global container (for testing)
326
+ */
327
+ async function resetGlobalContainer() {
328
+ if (globalContainer) {
329
+ await globalContainer.dispose();
330
+ globalContainer = undefined;
331
+ }
332
+ }
333
+ //# sourceMappingURL=DIContainer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DIContainer.js","sourceRoot":"","sources":["../../../src/core/di/DIContainer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Dependency Injection Module
3
+ *
4
+ * Provides DI container and agent dependency configuration for the AQE Fleet.
5
+ *
6
+ * @module core/di
7
+ * @version 1.0.0
8
+ */
9
+ export { DIContainer, DependencyLifecycle, DependencyConfig, DIScope, getGlobalContainer, setGlobalContainer, resetGlobalContainer } from './DIContainer';
10
+ export { DependencyNames, AgentDependencyConfig, IDIAgent, registerAgentDependencies, createAgentContainer, withDI } from './AgentDependencies';
11
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/core/di/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EACL,WAAW,EACX,mBAAmB,EACnB,gBAAgB,EAChB,OAAO,EACP,kBAAkB,EAClB,kBAAkB,EAClB,oBAAoB,EACrB,MAAM,eAAe,CAAC;AAEvB,OAAO,EACL,eAAe,EACf,qBAAqB,EACrB,QAAQ,EACR,yBAAyB,EACzB,oBAAoB,EACpB,MAAM,EACP,MAAM,qBAAqB,CAAC"}
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ /**
3
+ * Dependency Injection Module
4
+ *
5
+ * Provides DI container and agent dependency configuration for the AQE Fleet.
6
+ *
7
+ * @module core/di
8
+ * @version 1.0.0
9
+ */
10
+ Object.defineProperty(exports, "__esModule", { value: true });
11
+ exports.withDI = exports.createAgentContainer = exports.registerAgentDependencies = exports.DependencyNames = exports.resetGlobalContainer = exports.setGlobalContainer = exports.getGlobalContainer = exports.DIContainer = void 0;
12
+ var DIContainer_1 = require("./DIContainer");
13
+ Object.defineProperty(exports, "DIContainer", { enumerable: true, get: function () { return DIContainer_1.DIContainer; } });
14
+ Object.defineProperty(exports, "getGlobalContainer", { enumerable: true, get: function () { return DIContainer_1.getGlobalContainer; } });
15
+ Object.defineProperty(exports, "setGlobalContainer", { enumerable: true, get: function () { return DIContainer_1.setGlobalContainer; } });
16
+ Object.defineProperty(exports, "resetGlobalContainer", { enumerable: true, get: function () { return DIContainer_1.resetGlobalContainer; } });
17
+ var AgentDependencies_1 = require("./AgentDependencies");
18
+ Object.defineProperty(exports, "DependencyNames", { enumerable: true, get: function () { return AgentDependencies_1.DependencyNames; } });
19
+ Object.defineProperty(exports, "registerAgentDependencies", { enumerable: true, get: function () { return AgentDependencies_1.registerAgentDependencies; } });
20
+ Object.defineProperty(exports, "createAgentContainer", { enumerable: true, get: function () { return AgentDependencies_1.createAgentContainer; } });
21
+ Object.defineProperty(exports, "withDI", { enumerable: true, get: function () { return AgentDependencies_1.withDI; } });
22
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/core/di/index.ts"],"names":[],"mappings":";AAAA;;;;;;;GAOG;;;AAEH,6CAQuB;AAPrB,0GAAA,WAAW,OAAA;AAIX,iHAAA,kBAAkB,OAAA;AAClB,iHAAA,kBAAkB,OAAA;AAClB,mHAAA,oBAAoB,OAAA;AAGtB,yDAO6B;AAN3B,oHAAA,eAAe,OAAA;AAGf,8HAAA,yBAAyB,OAAA;AACzB,yHAAA,oBAAoB,OAAA;AACpB,2GAAA,MAAM,OAAA"}
@@ -13,4 +13,5 @@ export type { TaskMetadata, TaskRequirements } from './Task';
13
13
  export type { FleetEvent } from './EventBus';
14
14
  export type { MemoryOptions, MemorySearchOptions, MemoryStats } from './MemoryManager';
15
15
  export type { ArtifactManifest, ArtifactCreateOptions, ArtifactVersionOptions, ArtifactQueryResult, ArtifactRetrievalResult } from './ArtifactWorkflow';
16
+ export { DIContainer, DependencyLifecycle, DependencyConfig, DIScope, getGlobalContainer, setGlobalContainer, resetGlobalContainer, DependencyNames, AgentDependencyConfig, IDIAgent, registerAgentDependencies, createAgentContainer, withDI } from './di';
16
17
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAC7C,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AACxD,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,YAAY,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAClD,YAAY,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAC7D,YAAY,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,QAAQ,CAAC;AAC7D,YAAY,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAC7C,YAAY,EAAE,aAAa,EAAE,mBAAmB,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AACvF,YAAY,EACV,gBAAgB,EAChB,qBAAqB,EACrB,sBAAsB,EACtB,mBAAmB,EACnB,uBAAuB,EACxB,MAAM,oBAAoB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAC7C,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AACxD,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,YAAY,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAClD,YAAY,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAC7D,YAAY,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,QAAQ,CAAC;AAC7D,YAAY,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAC7C,YAAY,EAAE,aAAa,EAAE,mBAAmB,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AACvF,YAAY,EACV,gBAAgB,EAChB,qBAAqB,EACrB,sBAAsB,EACtB,mBAAmB,EACnB,uBAAuB,EACxB,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EACL,WAAW,EACX,mBAAmB,EACnB,gBAAgB,EAChB,OAAO,EACP,kBAAkB,EAClB,kBAAkB,EAClB,oBAAoB,EACpB,eAAe,EACf,qBAAqB,EACrB,QAAQ,EACR,yBAAyB,EACzB,oBAAoB,EACpB,MAAM,EACP,MAAM,MAAM,CAAC"}
@@ -3,7 +3,7 @@
3
3
  * Core - Export all core classes
4
4
  */
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.ArtifactWorkflow = exports.MemoryManager = exports.EventBus = exports.TaskPriority = exports.TaskStatus = exports.Task = exports.AgentStatus = exports.Agent = exports.FleetManager = void 0;
6
+ exports.withDI = exports.createAgentContainer = exports.registerAgentDependencies = exports.DependencyNames = exports.resetGlobalContainer = exports.setGlobalContainer = exports.getGlobalContainer = exports.DIContainer = exports.ArtifactWorkflow = exports.MemoryManager = exports.EventBus = exports.TaskPriority = exports.TaskStatus = exports.Task = exports.AgentStatus = exports.Agent = exports.FleetManager = void 0;
7
7
  var FleetManager_1 = require("./FleetManager");
8
8
  Object.defineProperty(exports, "FleetManager", { enumerable: true, get: function () { return FleetManager_1.FleetManager; } });
9
9
  var Agent_1 = require("./Agent");
@@ -19,4 +19,14 @@ var MemoryManager_1 = require("./MemoryManager");
19
19
  Object.defineProperty(exports, "MemoryManager", { enumerable: true, get: function () { return MemoryManager_1.MemoryManager; } });
20
20
  var ArtifactWorkflow_1 = require("./ArtifactWorkflow");
21
21
  Object.defineProperty(exports, "ArtifactWorkflow", { enumerable: true, get: function () { return ArtifactWorkflow_1.ArtifactWorkflow; } });
22
+ // Dependency Injection
23
+ var di_1 = require("./di");
24
+ Object.defineProperty(exports, "DIContainer", { enumerable: true, get: function () { return di_1.DIContainer; } });
25
+ Object.defineProperty(exports, "getGlobalContainer", { enumerable: true, get: function () { return di_1.getGlobalContainer; } });
26
+ Object.defineProperty(exports, "setGlobalContainer", { enumerable: true, get: function () { return di_1.setGlobalContainer; } });
27
+ Object.defineProperty(exports, "resetGlobalContainer", { enumerable: true, get: function () { return di_1.resetGlobalContainer; } });
28
+ Object.defineProperty(exports, "DependencyNames", { enumerable: true, get: function () { return di_1.DependencyNames; } });
29
+ Object.defineProperty(exports, "registerAgentDependencies", { enumerable: true, get: function () { return di_1.registerAgentDependencies; } });
30
+ Object.defineProperty(exports, "createAgentContainer", { enumerable: true, get: function () { return di_1.createAgentContainer; } });
31
+ Object.defineProperty(exports, "withDI", { enumerable: true, get: function () { return di_1.withDI; } });
22
32
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAEH,+CAA8C;AAArC,4GAAA,YAAY,OAAA;AACrB,iCAA6C;AAApC,8FAAA,KAAK,OAAA;AAAE,oGAAA,WAAW,OAAA;AAC3B,+BAAwD;AAA/C,4FAAA,IAAI,OAAA;AAAE,kGAAA,UAAU,OAAA;AAAE,oGAAA,YAAY,OAAA;AACvC,uCAAsC;AAA7B,oGAAA,QAAQ,OAAA;AACjB,iDAAgD;AAAvC,8GAAA,aAAa,OAAA;AACtB,uDAAsD;AAA7C,oHAAA,gBAAgB,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAEH,+CAA8C;AAArC,4GAAA,YAAY,OAAA;AACrB,iCAA6C;AAApC,8FAAA,KAAK,OAAA;AAAE,oGAAA,WAAW,OAAA;AAC3B,+BAAwD;AAA/C,4FAAA,IAAI,OAAA;AAAE,kGAAA,UAAU,OAAA;AAAE,oGAAA,YAAY,OAAA;AACvC,uCAAsC;AAA7B,oGAAA,QAAQ,OAAA;AACjB,iDAAgD;AAAvC,8GAAA,aAAa,OAAA;AACtB,uDAAsD;AAA7C,oHAAA,gBAAgB,OAAA;AAczB,uBAAuB;AACvB,2BAcc;AAbZ,iGAAA,WAAW,OAAA;AAIX,wGAAA,kBAAkB,OAAA;AAClB,wGAAA,kBAAkB,OAAA;AAClB,0GAAA,oBAAoB,OAAA;AACpB,qGAAA,eAAe,OAAA;AAGf,+GAAA,yBAAyB,OAAA;AACzB,0GAAA,oBAAoB,OAAA;AACpB,4FAAA,MAAM,OAAA"}