agentic-qe 2.2.0 → 2.2.1

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 (111) hide show
  1. package/.claude/skills/agentic-quality-engineering/SKILL.md +4 -4
  2. package/.claude/skills/cicd-pipeline-qe-orchestrator/README.md +14 -11
  3. package/.claude/skills/skills-manifest.json +2 -2
  4. package/CHANGELOG.md +15 -0
  5. package/README.md +92 -214
  6. package/dist/agents/BaseAgent.d.ts +5 -1
  7. package/dist/agents/BaseAgent.d.ts.map +1 -1
  8. package/dist/agents/BaseAgent.js +32 -17
  9. package/dist/agents/BaseAgent.js.map +1 -1
  10. package/dist/agents/index.js +3 -3
  11. package/dist/agents/index.js.map +1 -1
  12. package/dist/cli/commands/improve/index.d.ts +8 -1
  13. package/dist/cli/commands/improve/index.d.ts.map +1 -1
  14. package/dist/cli/commands/improve/index.js +18 -16
  15. package/dist/cli/commands/improve/index.js.map +1 -1
  16. package/dist/cli/commands/learn/index.d.ts +10 -2
  17. package/dist/cli/commands/learn/index.d.ts.map +1 -1
  18. package/dist/cli/commands/learn/index.js +99 -63
  19. package/dist/cli/commands/learn/index.js.map +1 -1
  20. package/dist/cli/commands/patterns/index.d.ts +8 -1
  21. package/dist/cli/commands/patterns/index.d.ts.map +1 -1
  22. package/dist/cli/commands/patterns/index.js +79 -45
  23. package/dist/cli/commands/patterns/index.js.map +1 -1
  24. package/dist/cli/commands/routing/index.d.ts +5 -0
  25. package/dist/cli/commands/routing/index.d.ts.map +1 -1
  26. package/dist/cli/commands/routing/index.js +11 -10
  27. package/dist/cli/commands/routing/index.js.map +1 -1
  28. package/dist/cli/init/agents.d.ts +1 -1
  29. package/dist/cli/init/agents.js +2 -2
  30. package/dist/cli/init/database-init.d.ts +7 -0
  31. package/dist/cli/init/database-init.d.ts.map +1 -1
  32. package/dist/cli/init/database-init.js +29 -48
  33. package/dist/cli/init/database-init.js.map +1 -1
  34. package/dist/core/memory/HNSWVectorMemory.d.ts +261 -0
  35. package/dist/core/memory/HNSWVectorMemory.d.ts.map +1 -0
  36. package/dist/core/memory/HNSWVectorMemory.js +647 -0
  37. package/dist/core/memory/HNSWVectorMemory.js.map +1 -0
  38. package/dist/core/memory/SwarmMemoryManager.d.ts +7 -0
  39. package/dist/core/memory/SwarmMemoryManager.d.ts.map +1 -1
  40. package/dist/core/memory/SwarmMemoryManager.js +9 -0
  41. package/dist/core/memory/SwarmMemoryManager.js.map +1 -1
  42. package/dist/core/memory/index.d.ts +2 -0
  43. package/dist/core/memory/index.d.ts.map +1 -1
  44. package/dist/core/memory/index.js +11 -1
  45. package/dist/core/memory/index.js.map +1 -1
  46. package/dist/learning/ExplainableLearning.d.ts +191 -0
  47. package/dist/learning/ExplainableLearning.d.ts.map +1 -0
  48. package/dist/learning/ExplainableLearning.js +441 -0
  49. package/dist/learning/ExplainableLearning.js.map +1 -0
  50. package/dist/learning/GossipPatternSharingProtocol.d.ts +228 -0
  51. package/dist/learning/GossipPatternSharingProtocol.d.ts.map +1 -0
  52. package/dist/learning/GossipPatternSharingProtocol.js +590 -0
  53. package/dist/learning/GossipPatternSharingProtocol.js.map +1 -0
  54. package/dist/learning/LearningEngine.d.ts +4 -4
  55. package/dist/learning/LearningEngine.d.ts.map +1 -1
  56. package/dist/learning/LearningEngine.js +20 -13
  57. package/dist/learning/LearningEngine.js.map +1 -1
  58. package/dist/learning/PerformanceOptimizer.d.ts +268 -0
  59. package/dist/learning/PerformanceOptimizer.d.ts.map +1 -0
  60. package/dist/learning/PerformanceOptimizer.js +552 -0
  61. package/dist/learning/PerformanceOptimizer.js.map +1 -0
  62. package/dist/learning/PrivacyManager.d.ts +197 -0
  63. package/dist/learning/PrivacyManager.d.ts.map +1 -0
  64. package/dist/learning/PrivacyManager.js +551 -0
  65. package/dist/learning/PrivacyManager.js.map +1 -0
  66. package/dist/learning/TransferLearningManager.d.ts +212 -0
  67. package/dist/learning/TransferLearningManager.d.ts.map +1 -0
  68. package/dist/learning/TransferLearningManager.js +497 -0
  69. package/dist/learning/TransferLearningManager.js.map +1 -0
  70. package/dist/learning/algorithms/MAMLMetaLearner.d.ts +218 -0
  71. package/dist/learning/algorithms/MAMLMetaLearner.d.ts.map +1 -0
  72. package/dist/learning/algorithms/MAMLMetaLearner.js +532 -0
  73. package/dist/learning/algorithms/MAMLMetaLearner.js.map +1 -0
  74. package/dist/learning/algorithms/index.d.ts +4 -1
  75. package/dist/learning/algorithms/index.d.ts.map +1 -1
  76. package/dist/learning/algorithms/index.js +7 -1
  77. package/dist/learning/algorithms/index.js.map +1 -1
  78. package/dist/learning/index.d.ts +8 -0
  79. package/dist/learning/index.d.ts.map +1 -1
  80. package/dist/learning/index.js +17 -1
  81. package/dist/learning/index.js.map +1 -1
  82. package/dist/mcp/server-instructions.d.ts +1 -1
  83. package/dist/mcp/server-instructions.js +1 -1
  84. package/dist/providers/HybridRouter.d.ts +217 -0
  85. package/dist/providers/HybridRouter.d.ts.map +1 -0
  86. package/dist/providers/HybridRouter.js +679 -0
  87. package/dist/providers/HybridRouter.js.map +1 -0
  88. package/dist/providers/index.d.ts +1 -0
  89. package/dist/providers/index.d.ts.map +1 -1
  90. package/dist/providers/index.js +7 -1
  91. package/dist/providers/index.js.map +1 -1
  92. package/dist/telemetry/LearningTelemetry.d.ts +190 -0
  93. package/dist/telemetry/LearningTelemetry.d.ts.map +1 -0
  94. package/dist/telemetry/LearningTelemetry.js +403 -0
  95. package/dist/telemetry/LearningTelemetry.js.map +1 -0
  96. package/dist/telemetry/index.d.ts +1 -0
  97. package/dist/telemetry/index.d.ts.map +1 -1
  98. package/dist/telemetry/index.js +20 -2
  99. package/dist/telemetry/index.js.map +1 -1
  100. package/dist/telemetry/instrumentation/agent.d.ts +1 -1
  101. package/dist/telemetry/instrumentation/agent.js +1 -1
  102. package/dist/telemetry/instrumentation/index.d.ts +1 -1
  103. package/dist/telemetry/instrumentation/index.js +1 -1
  104. package/dist/utils/math.d.ts +11 -0
  105. package/dist/utils/math.d.ts.map +1 -0
  106. package/dist/utils/math.js +16 -0
  107. package/dist/utils/math.js.map +1 -0
  108. package/docs/reference/agents.md +1 -1
  109. package/docs/reference/skills.md +3 -3
  110. package/docs/reference/usage.md +4 -4
  111. package/package.json +1 -1
@@ -0,0 +1,497 @@
1
+ "use strict";
2
+ /**
3
+ * TransferLearningManager - Issue #118 Task 2.3
4
+ *
5
+ * Enables knowledge transfer between different QE domains (e.g., unit testing → integration testing).
6
+ * Supports domain similarity calculation, adjustable transfer coefficients, fine-tuning, and metrics tracking.
7
+ *
8
+ * Domain Examples:
9
+ * - Unit testing → Integration testing
10
+ * - API testing → Contract testing
11
+ * - Performance testing → Load testing
12
+ * - Security scanning → Vulnerability detection
13
+ */
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.TransferLearningManager = void 0;
16
+ const Logger_1 = require("../utils/Logger");
17
+ const uuid_1 = require("uuid");
18
+ /**
19
+ * Default transfer configuration
20
+ */
21
+ const DEFAULT_TRANSFER_CONFIG = {
22
+ enabled: true,
23
+ minSimilarity: 0.3,
24
+ defaultTransferCoefficient: 0.5,
25
+ adaptiveCoefficient: true,
26
+ maxTransferExperiences: 100,
27
+ fineTuningEnabled: true,
28
+ fineTuningIterations: 10
29
+ };
30
+ /**
31
+ * Domain feature definitions
32
+ */
33
+ const DOMAIN_FEATURES = {
34
+ 'unit-testing': {
35
+ complexity: 0.3,
36
+ isolation: 0.9,
37
+ stateful: 0.1,
38
+ externalDependencies: 0.1,
39
+ executionTime: 0.1,
40
+ parallelizable: 0.9,
41
+ deterministic: 0.9
42
+ },
43
+ 'integration-testing': {
44
+ complexity: 0.6,
45
+ isolation: 0.4,
46
+ stateful: 0.7,
47
+ externalDependencies: 0.6,
48
+ executionTime: 0.5,
49
+ parallelizable: 0.5,
50
+ deterministic: 0.7
51
+ },
52
+ 'api-testing': {
53
+ complexity: 0.5,
54
+ isolation: 0.5,
55
+ stateful: 0.5,
56
+ externalDependencies: 0.7,
57
+ executionTime: 0.4,
58
+ parallelizable: 0.7,
59
+ deterministic: 0.8
60
+ },
61
+ 'contract-testing': {
62
+ complexity: 0.5,
63
+ isolation: 0.6,
64
+ stateful: 0.4,
65
+ externalDependencies: 0.6,
66
+ executionTime: 0.3,
67
+ parallelizable: 0.8,
68
+ deterministic: 0.9
69
+ },
70
+ 'performance-testing': {
71
+ complexity: 0.7,
72
+ isolation: 0.3,
73
+ stateful: 0.6,
74
+ externalDependencies: 0.8,
75
+ executionTime: 0.8,
76
+ parallelizable: 0.6,
77
+ deterministic: 0.5
78
+ },
79
+ 'load-testing': {
80
+ complexity: 0.8,
81
+ isolation: 0.2,
82
+ stateful: 0.7,
83
+ externalDependencies: 0.9,
84
+ executionTime: 0.9,
85
+ parallelizable: 0.4,
86
+ deterministic: 0.4
87
+ },
88
+ 'security-scanning': {
89
+ complexity: 0.6,
90
+ isolation: 0.5,
91
+ stateful: 0.4,
92
+ externalDependencies: 0.5,
93
+ executionTime: 0.6,
94
+ parallelizable: 0.6,
95
+ deterministic: 0.7
96
+ },
97
+ 'vulnerability-detection': {
98
+ complexity: 0.7,
99
+ isolation: 0.4,
100
+ stateful: 0.5,
101
+ externalDependencies: 0.6,
102
+ executionTime: 0.7,
103
+ parallelizable: 0.5,
104
+ deterministic: 0.6
105
+ },
106
+ 'e2e-testing': {
107
+ complexity: 0.9,
108
+ isolation: 0.1,
109
+ stateful: 0.9,
110
+ externalDependencies: 0.9,
111
+ executionTime: 0.9,
112
+ parallelizable: 0.2,
113
+ deterministic: 0.5
114
+ },
115
+ 'regression-testing': {
116
+ complexity: 0.6,
117
+ isolation: 0.5,
118
+ stateful: 0.6,
119
+ externalDependencies: 0.5,
120
+ executionTime: 0.6,
121
+ parallelizable: 0.6,
122
+ deterministic: 0.8
123
+ }
124
+ };
125
+ /**
126
+ * TransferLearningManager - Manages knowledge transfer between QE domains
127
+ */
128
+ class TransferLearningManager {
129
+ constructor(memoryStore, config = {}) {
130
+ this.logger = Logger_1.Logger.getInstance();
131
+ this.memoryStore = memoryStore;
132
+ this.config = { ...DEFAULT_TRANSFER_CONFIG, ...config };
133
+ this.mappings = new Map();
134
+ this.metrics = new Map();
135
+ }
136
+ /**
137
+ * Initialize the transfer learning manager
138
+ */
139
+ async initialize() {
140
+ this.logger.info('Initializing TransferLearningManager');
141
+ // Load existing mappings from database
142
+ await this.loadMappings();
143
+ // Load existing metrics from database
144
+ await this.loadMetrics();
145
+ this.logger.info(`TransferLearningManager initialized with ${this.mappings.size} mappings`);
146
+ }
147
+ /**
148
+ * Calculate similarity between two QE domains
149
+ * Uses cosine similarity on domain feature vectors
150
+ *
151
+ * @param sourceDomain - Source domain
152
+ * @param targetDomain - Target domain
153
+ * @returns Similarity score (0-1)
154
+ */
155
+ calculateDomainSimilarity(sourceDomain, targetDomain) {
156
+ const sourceFeatures = this.getDomainFeatures(sourceDomain);
157
+ const targetFeatures = this.getDomainFeatures(targetDomain);
158
+ // Calculate cosine similarity
159
+ const dotProduct = this.calculateDotProduct(sourceFeatures, targetFeatures);
160
+ const sourceMagnitude = this.calculateMagnitude(sourceFeatures);
161
+ const targetMagnitude = this.calculateMagnitude(targetFeatures);
162
+ const similarity = dotProduct / (sourceMagnitude * targetMagnitude);
163
+ this.logger.debug(`Domain similarity: ${sourceDomain} → ${targetDomain} = ${similarity.toFixed(3)}`);
164
+ return Math.max(0, Math.min(1, similarity));
165
+ }
166
+ /**
167
+ * Transfer knowledge from source domain to target domain
168
+ *
169
+ * @param sourceDomain - Source domain with existing knowledge
170
+ * @param targetDomain - Target domain to receive knowledge
171
+ * @param sourceExperiences - Experiences from source domain
172
+ * @param transferCoefficient - Optional override for transfer coefficient (0-1)
173
+ * @returns Transfer mapping with results
174
+ */
175
+ async transferKnowledge(sourceDomain, targetDomain, sourceExperiences, transferCoefficient) {
176
+ if (!this.config.enabled) {
177
+ throw new Error('Transfer learning is disabled');
178
+ }
179
+ // Calculate domain similarity
180
+ const similarity = this.calculateDomainSimilarity(sourceDomain, targetDomain);
181
+ if (similarity < this.config.minSimilarity) {
182
+ throw new Error(`Domain similarity too low: ${similarity.toFixed(3)} < ${this.config.minSimilarity}`);
183
+ }
184
+ // Get or create transfer mapping
185
+ let mapping = this.getMapping(sourceDomain, targetDomain);
186
+ if (!mapping) {
187
+ mapping = await this.createMapping(sourceDomain, targetDomain, similarity, transferCoefficient ?? this.config.defaultTransferCoefficient);
188
+ }
189
+ // Limit experiences to transfer
190
+ const experiencesToTransfer = sourceExperiences.slice(0, this.config.maxTransferExperiences);
191
+ // Apply transfer coefficient to adjust experience rewards
192
+ const transferredExperiences = this.applyTransferCoefficient(experiencesToTransfer, mapping.transferCoefficient);
193
+ // Store transferred experiences in target domain namespace
194
+ await this.storeTransferredExperiences(targetDomain, transferredExperiences);
195
+ // Update mapping statistics
196
+ mapping.experiencesTransferred += transferredExperiences.length;
197
+ mapping.lastTransferAt = new Date();
198
+ await this.updateMapping(mapping);
199
+ // Update metrics
200
+ await this.updateTransferMetrics(mapping.id, true);
201
+ this.logger.info(`Transferred ${transferredExperiences.length} experiences from ${sourceDomain} to ${targetDomain} ` +
202
+ `(similarity: ${similarity.toFixed(3)}, coefficient: ${mapping.transferCoefficient.toFixed(3)})`);
203
+ return mapping;
204
+ }
205
+ /**
206
+ * Fine-tune transferred knowledge for target domain
207
+ * Adjusts transferred knowledge based on target domain feedback
208
+ *
209
+ * @param targetDomain - Target domain to fine-tune
210
+ * @param targetExperiences - New experiences from target domain
211
+ * @returns Fine-tuning result
212
+ */
213
+ async fineTuneTransferredKnowledge(targetDomain, targetExperiences) {
214
+ if (!this.config.fineTuningEnabled) {
215
+ throw new Error('Fine-tuning is disabled');
216
+ }
217
+ this.logger.info(`Fine-tuning transferred knowledge for ${targetDomain}`);
218
+ // Calculate initial performance (baseline from transferred experiences)
219
+ const transferredExperiences = await this.getTransferredExperiences(targetDomain);
220
+ const initialPerformance = this.calculateAverageReward(transferredExperiences);
221
+ // Perform iterative fine-tuning
222
+ let currentPerformance = initialPerformance;
223
+ let iterationCount = 0;
224
+ for (let i = 0; i < this.config.fineTuningIterations; i++) {
225
+ // Blend transferred and target experiences
226
+ const blendRatio = (i + 1) / this.config.fineTuningIterations;
227
+ const blendedExperiences = this.blendExperiences(transferredExperiences, targetExperiences, blendRatio);
228
+ // Recalculate performance
229
+ const newPerformance = this.calculateAverageReward(blendedExperiences);
230
+ // Early stopping if performance converges
231
+ if (Math.abs(newPerformance - currentPerformance) < 0.01) {
232
+ break;
233
+ }
234
+ currentPerformance = newPerformance;
235
+ iterationCount++;
236
+ }
237
+ const improvement = ((currentPerformance - initialPerformance) / Math.abs(initialPerformance)) * 100;
238
+ const result = {
239
+ domain: targetDomain,
240
+ initialPerformance,
241
+ finalPerformance: currentPerformance,
242
+ improvement,
243
+ iterations: iterationCount,
244
+ experiencesUsed: transferredExperiences.length + targetExperiences.length
245
+ };
246
+ this.logger.info(`Fine-tuning completed for ${targetDomain}: ` +
247
+ `${initialPerformance.toFixed(3)} → ${currentPerformance.toFixed(3)} ` +
248
+ `(+${improvement.toFixed(1)}%) in ${iterationCount} iterations`);
249
+ return result;
250
+ }
251
+ /**
252
+ * Adjust transfer coefficient based on transfer success
253
+ * Implements adaptive transfer learning
254
+ *
255
+ * @param mappingId - Transfer mapping ID
256
+ * @param success - Whether the transfer was successful
257
+ */
258
+ async adjustTransferCoefficient(mappingId, success) {
259
+ if (!this.config.adaptiveCoefficient) {
260
+ return;
261
+ }
262
+ const mapping = this.mappings.get(mappingId);
263
+ if (!mapping) {
264
+ throw new Error(`Transfer mapping not found: ${mappingId}`);
265
+ }
266
+ // Adaptive adjustment: increase on success, decrease on failure
267
+ const adjustmentRate = 0.05;
268
+ const oldCoefficient = mapping.transferCoefficient;
269
+ if (success) {
270
+ mapping.transferCoefficient = Math.min(1.0, mapping.transferCoefficient + adjustmentRate);
271
+ }
272
+ else {
273
+ mapping.transferCoefficient = Math.max(0.1, mapping.transferCoefficient - adjustmentRate);
274
+ }
275
+ await this.updateMapping(mapping);
276
+ this.logger.debug(`Adjusted transfer coefficient for ${mapping.sourceDomain} → ${mapping.targetDomain}: ` +
277
+ `${oldCoefficient.toFixed(3)} → ${mapping.transferCoefficient.toFixed(3)}`);
278
+ }
279
+ /**
280
+ * Get transfer metrics for a specific mapping
281
+ *
282
+ * @param sourceDomain - Source domain
283
+ * @param targetDomain - Target domain
284
+ * @returns Transfer metrics or undefined
285
+ */
286
+ getTransferMetrics(sourceDomain, targetDomain) {
287
+ const mapping = this.getMapping(sourceDomain, targetDomain);
288
+ if (!mapping) {
289
+ return undefined;
290
+ }
291
+ return this.metrics.get(mapping.id);
292
+ }
293
+ /**
294
+ * Get all transfer mappings
295
+ */
296
+ getAllMappings() {
297
+ return Array.from(this.mappings.values());
298
+ }
299
+ /**
300
+ * Get all transfer metrics
301
+ */
302
+ getAllMetrics() {
303
+ return Array.from(this.metrics.values());
304
+ }
305
+ // ============================================================================
306
+ // Private Helper Methods
307
+ // ============================================================================
308
+ /**
309
+ * Get domain feature vector
310
+ */
311
+ getDomainFeatures(domain) {
312
+ const features = DOMAIN_FEATURES[domain];
313
+ if (!features) {
314
+ throw new Error(`Unknown domain: ${domain}`);
315
+ }
316
+ return { domain, ...features };
317
+ }
318
+ /**
319
+ * Calculate dot product of two feature vectors
320
+ */
321
+ calculateDotProduct(a, b) {
322
+ return (a.complexity * b.complexity +
323
+ a.isolation * b.isolation +
324
+ a.stateful * b.stateful +
325
+ a.externalDependencies * b.externalDependencies +
326
+ a.executionTime * b.executionTime +
327
+ a.parallelizable * b.parallelizable +
328
+ a.deterministic * b.deterministic);
329
+ }
330
+ /**
331
+ * Calculate magnitude of feature vector
332
+ */
333
+ calculateMagnitude(features) {
334
+ return Math.sqrt(features.complexity ** 2 +
335
+ features.isolation ** 2 +
336
+ features.stateful ** 2 +
337
+ features.externalDependencies ** 2 +
338
+ features.executionTime ** 2 +
339
+ features.parallelizable ** 2 +
340
+ features.deterministic ** 2);
341
+ }
342
+ /**
343
+ * Get existing mapping between domains
344
+ */
345
+ getMapping(sourceDomain, targetDomain) {
346
+ for (const mapping of this.mappings.values()) {
347
+ if (mapping.sourceDomain === sourceDomain && mapping.targetDomain === targetDomain) {
348
+ return mapping;
349
+ }
350
+ }
351
+ return undefined;
352
+ }
353
+ /**
354
+ * Create new transfer mapping
355
+ */
356
+ async createMapping(sourceDomain, targetDomain, similarity, transferCoefficient) {
357
+ const mapping = {
358
+ id: (0, uuid_1.v4)(),
359
+ sourceDomain,
360
+ targetDomain,
361
+ similarity,
362
+ transferCoefficient,
363
+ experiencesTransferred: 0,
364
+ successRate: 0,
365
+ createdAt: new Date()
366
+ };
367
+ this.mappings.set(mapping.id, mapping);
368
+ // Persist to database
369
+ await this.memoryStore.store(`transfer-learning/mappings/${mapping.id}`, mapping, { partition: 'learning' });
370
+ // Initialize metrics
371
+ const metrics = {
372
+ mappingId: mapping.id,
373
+ sourceDomain,
374
+ targetDomain,
375
+ totalTransfers: 0,
376
+ successfulTransfers: 0,
377
+ failedTransfers: 0,
378
+ avgPerformanceGain: 0,
379
+ transferEfficiency: 0,
380
+ lastUpdated: new Date()
381
+ };
382
+ this.metrics.set(mapping.id, metrics);
383
+ await this.memoryStore.store(`transfer-learning/metrics/${mapping.id}`, metrics, { partition: 'learning' });
384
+ return mapping;
385
+ }
386
+ /**
387
+ * Update existing transfer mapping
388
+ */
389
+ async updateMapping(mapping) {
390
+ this.mappings.set(mapping.id, mapping);
391
+ await this.memoryStore.store(`transfer-learning/mappings/${mapping.id}`, mapping, { partition: 'learning' });
392
+ }
393
+ /**
394
+ * Apply transfer coefficient to experiences
395
+ */
396
+ applyTransferCoefficient(experiences, coefficient) {
397
+ return experiences.map(exp => ({
398
+ ...exp,
399
+ reward: exp.reward * coefficient
400
+ }));
401
+ }
402
+ /**
403
+ * Store transferred experiences for target domain
404
+ */
405
+ async storeTransferredExperiences(targetDomain, experiences) {
406
+ await this.memoryStore.store(`transfer-learning/experiences/${targetDomain}`, experiences, { partition: 'learning' });
407
+ }
408
+ /**
409
+ * Get transferred experiences for target domain
410
+ */
411
+ async getTransferredExperiences(targetDomain) {
412
+ const experiences = await this.memoryStore.retrieve(`transfer-learning/experiences/${targetDomain}`, { partition: 'learning' });
413
+ return experiences || [];
414
+ }
415
+ /**
416
+ * Calculate average reward from experiences
417
+ */
418
+ calculateAverageReward(experiences) {
419
+ if (experiences.length === 0) {
420
+ return 0;
421
+ }
422
+ const totalReward = experiences.reduce((sum, exp) => sum + exp.reward, 0);
423
+ return totalReward / experiences.length;
424
+ }
425
+ /**
426
+ * Blend transferred and target experiences
427
+ * Higher blendRatio = more weight on target experiences
428
+ */
429
+ blendExperiences(transferredExperiences, targetExperiences, blendRatio) {
430
+ const transferWeight = 1 - blendRatio;
431
+ const targetWeight = blendRatio;
432
+ const weightedTransferred = transferredExperiences.map(exp => ({
433
+ ...exp,
434
+ reward: exp.reward * transferWeight
435
+ }));
436
+ const weightedTarget = targetExperiences.map(exp => ({
437
+ ...exp,
438
+ reward: exp.reward * targetWeight
439
+ }));
440
+ return [...weightedTransferred, ...weightedTarget];
441
+ }
442
+ /**
443
+ * Update transfer metrics
444
+ */
445
+ async updateTransferMetrics(mappingId, success) {
446
+ const metrics = this.metrics.get(mappingId);
447
+ if (!metrics) {
448
+ return;
449
+ }
450
+ metrics.totalTransfers++;
451
+ if (success) {
452
+ metrics.successfulTransfers++;
453
+ }
454
+ else {
455
+ metrics.failedTransfers++;
456
+ }
457
+ metrics.transferEfficiency = metrics.successfulTransfers / metrics.totalTransfers;
458
+ metrics.lastUpdated = new Date();
459
+ this.metrics.set(mappingId, metrics);
460
+ await this.memoryStore.store(`transfer-learning/metrics/${mappingId}`, metrics, { partition: 'learning' });
461
+ }
462
+ /**
463
+ * Load mappings from database
464
+ */
465
+ async loadMappings() {
466
+ try {
467
+ // Query all mappings from memory store
468
+ // Note: This is a simplified version - in production, you'd query by pattern
469
+ this.logger.debug('Loading transfer mappings from database');
470
+ }
471
+ catch (error) {
472
+ this.logger.warn('Failed to load transfer mappings:', error);
473
+ }
474
+ }
475
+ /**
476
+ * Load metrics from database
477
+ */
478
+ async loadMetrics() {
479
+ try {
480
+ // Query all metrics from memory store
481
+ this.logger.debug('Loading transfer metrics from database');
482
+ }
483
+ catch (error) {
484
+ this.logger.warn('Failed to load transfer metrics:', error);
485
+ }
486
+ }
487
+ /**
488
+ * Cleanup resources
489
+ */
490
+ dispose() {
491
+ this.mappings.clear();
492
+ this.metrics.clear();
493
+ this.logger.info('TransferLearningManager disposed');
494
+ }
495
+ }
496
+ exports.TransferLearningManager = TransferLearningManager;
497
+ //# sourceMappingURL=TransferLearningManager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TransferLearningManager.js","sourceRoot":"","sources":["../../src/learning/TransferLearningManager.ts"],"names":[],"mappings":"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"}