agentic-qe 1.4.0 → 1.4.2

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 (157) hide show
  1. package/CHANGELOG.md +234 -0
  2. package/README.md +18 -85
  3. package/dist/agents/index.d.ts.map +1 -1
  4. package/dist/agents/index.js +14 -15
  5. package/dist/agents/index.js.map +1 -1
  6. package/dist/cli/commands/config/set.d.ts.map +1 -1
  7. package/dist/cli/commands/config/set.js +10 -2
  8. package/dist/cli/commands/config/set.js.map +1 -1
  9. package/dist/cli/commands/init.d.ts.map +1 -1
  10. package/dist/cli/commands/init.js +26 -3
  11. package/dist/cli/commands/init.js.map +1 -1
  12. package/dist/core/Agent.d.ts +1 -1
  13. package/dist/core/Agent.d.ts.map +1 -1
  14. package/dist/core/Agent.js +2 -2
  15. package/dist/core/Agent.js.map +1 -1
  16. package/dist/core/MemoryManager.d.ts.map +1 -1
  17. package/dist/core/MemoryManager.js +4 -1
  18. package/dist/core/MemoryManager.js.map +1 -1
  19. package/dist/core/hooks/RollbackManager.js +2 -2
  20. package/dist/core/hooks/RollbackManager.js.map +1 -1
  21. package/dist/learning/LearningEngine.d.ts +21 -4
  22. package/dist/learning/LearningEngine.d.ts.map +1 -1
  23. package/dist/learning/LearningEngine.js +118 -131
  24. package/dist/learning/LearningEngine.js.map +1 -1
  25. package/dist/learning/LearningPersistenceAdapter.d.ts +84 -0
  26. package/dist/learning/LearningPersistenceAdapter.d.ts.map +1 -0
  27. package/dist/learning/LearningPersistenceAdapter.js +202 -0
  28. package/dist/learning/LearningPersistenceAdapter.js.map +1 -0
  29. package/dist/learning/index.d.ts +1 -0
  30. package/dist/learning/index.d.ts.map +1 -1
  31. package/dist/learning/index.js +1 -0
  32. package/dist/learning/index.js.map +1 -1
  33. package/dist/mcp/handlers/analysis/coverage-analyze-sublinear-handler.d.ts.map +1 -1
  34. package/dist/mcp/handlers/analysis/coverage-analyze-sublinear-handler.js +3 -7
  35. package/dist/mcp/handlers/analysis/coverage-analyze-sublinear-handler.js.map +1 -1
  36. package/dist/mcp/handlers/analysis/coverage-gaps-detect-handler.d.ts.map +1 -1
  37. package/dist/mcp/handlers/analysis/coverage-gaps-detect-handler.js +3 -7
  38. package/dist/mcp/handlers/analysis/coverage-gaps-detect-handler.js.map +1 -1
  39. package/dist/mcp/handlers/analysis/performance-benchmark-run-handler.d.ts.map +1 -1
  40. package/dist/mcp/handlers/analysis/performance-benchmark-run-handler.js +3 -7
  41. package/dist/mcp/handlers/analysis/performance-benchmark-run-handler.js.map +1 -1
  42. package/dist/mcp/handlers/analysis/performance-monitor-realtime-handler.d.ts.map +1 -1
  43. package/dist/mcp/handlers/analysis/performance-monitor-realtime-handler.js +3 -7
  44. package/dist/mcp/handlers/analysis/performance-monitor-realtime-handler.js.map +1 -1
  45. package/dist/mcp/handlers/analysis/security-scan-comprehensive-handler.d.ts.map +1 -1
  46. package/dist/mcp/handlers/analysis/security-scan-comprehensive-handler.js +3 -7
  47. package/dist/mcp/handlers/analysis/security-scan-comprehensive-handler.js.map +1 -1
  48. package/dist/mcp/handlers/base-handler.d.ts +30 -0
  49. package/dist/mcp/handlers/base-handler.d.ts.map +1 -1
  50. package/dist/mcp/handlers/base-handler.js +42 -0
  51. package/dist/mcp/handlers/base-handler.js.map +1 -1
  52. package/dist/mcp/handlers/coordination/event-emit.d.ts.map +1 -1
  53. package/dist/mcp/handlers/coordination/event-emit.js +4 -10
  54. package/dist/mcp/handlers/coordination/event-emit.js.map +1 -1
  55. package/dist/mcp/handlers/coordination/event-subscribe.d.ts.map +1 -1
  56. package/dist/mcp/handlers/coordination/event-subscribe.js +3 -9
  57. package/dist/mcp/handlers/coordination/event-subscribe.js.map +1 -1
  58. package/dist/mcp/handlers/coordination/task-status.d.ts.map +1 -1
  59. package/dist/mcp/handlers/coordination/task-status.js +4 -10
  60. package/dist/mcp/handlers/coordination/task-status.js.map +1 -1
  61. package/dist/mcp/handlers/coordination/workflow-checkpoint.d.ts.map +1 -1
  62. package/dist/mcp/handlers/coordination/workflow-checkpoint.js +4 -10
  63. package/dist/mcp/handlers/coordination/workflow-checkpoint.js.map +1 -1
  64. package/dist/mcp/handlers/coordination/workflow-create.d.ts.map +1 -1
  65. package/dist/mcp/handlers/coordination/workflow-create.js +4 -10
  66. package/dist/mcp/handlers/coordination/workflow-create.js.map +1 -1
  67. package/dist/mcp/handlers/coordination/workflow-execute.d.ts.map +1 -1
  68. package/dist/mcp/handlers/coordination/workflow-execute.js +4 -10
  69. package/dist/mcp/handlers/coordination/workflow-execute.js.map +1 -1
  70. package/dist/mcp/handlers/coordination/workflow-resume.d.ts.map +1 -1
  71. package/dist/mcp/handlers/coordination/workflow-resume.js +4 -10
  72. package/dist/mcp/handlers/coordination/workflow-resume.js.map +1 -1
  73. package/dist/mcp/handlers/memory/memory-backup.d.ts.map +1 -1
  74. package/dist/mcp/handlers/memory/memory-backup.js +3 -7
  75. package/dist/mcp/handlers/memory/memory-backup.js.map +1 -1
  76. package/dist/mcp/handlers/memory/memory-query.d.ts.map +1 -1
  77. package/dist/mcp/handlers/memory/memory-query.js +8 -8
  78. package/dist/mcp/handlers/memory/memory-query.js.map +1 -1
  79. package/dist/mcp/handlers/memory/memory-retrieve.d.ts.map +1 -1
  80. package/dist/mcp/handlers/memory/memory-retrieve.js +3 -7
  81. package/dist/mcp/handlers/memory/memory-retrieve.js.map +1 -1
  82. package/dist/mcp/handlers/memory/memory-share.d.ts.map +1 -1
  83. package/dist/mcp/handlers/memory/memory-share.js +3 -7
  84. package/dist/mcp/handlers/memory/memory-share.js.map +1 -1
  85. package/dist/mcp/handlers/memory/memory-store.d.ts.map +1 -1
  86. package/dist/mcp/handlers/memory/memory-store.js +3 -7
  87. package/dist/mcp/handlers/memory/memory-store.js.map +1 -1
  88. package/dist/mcp/handlers/prediction/deployment-readiness-check.d.ts.map +1 -1
  89. package/dist/mcp/handlers/prediction/deployment-readiness-check.js +4 -8
  90. package/dist/mcp/handlers/prediction/deployment-readiness-check.js.map +1 -1
  91. package/dist/mcp/handlers/prediction/flaky-test-detect.d.ts.map +1 -1
  92. package/dist/mcp/handlers/prediction/flaky-test-detect.js +4 -8
  93. package/dist/mcp/handlers/prediction/flaky-test-detect.js.map +1 -1
  94. package/dist/mcp/handlers/prediction/predict-defects-ai.d.ts.map +1 -1
  95. package/dist/mcp/handlers/prediction/predict-defects-ai.js +4 -8
  96. package/dist/mcp/handlers/prediction/predict-defects-ai.js.map +1 -1
  97. package/dist/mcp/handlers/prediction/regression-risk-analyze.d.ts.map +1 -1
  98. package/dist/mcp/handlers/prediction/regression-risk-analyze.js +4 -8
  99. package/dist/mcp/handlers/prediction/regression-risk-analyze.js.map +1 -1
  100. package/dist/mcp/handlers/prediction/visual-test-regression.d.ts.map +1 -1
  101. package/dist/mcp/handlers/prediction/visual-test-regression.js +4 -8
  102. package/dist/mcp/handlers/prediction/visual-test-regression.js.map +1 -1
  103. package/dist/mcp/handlers/quality/quality-decision-make.d.ts.map +1 -1
  104. package/dist/mcp/handlers/quality/quality-decision-make.js +9 -19
  105. package/dist/mcp/handlers/quality/quality-decision-make.js.map +1 -1
  106. package/dist/mcp/handlers/quality/quality-gate-execute.d.ts.map +1 -1
  107. package/dist/mcp/handlers/quality/quality-gate-execute.js +10 -22
  108. package/dist/mcp/handlers/quality/quality-gate-execute.js.map +1 -1
  109. package/dist/mcp/handlers/quality/quality-policy-check.d.ts.map +1 -1
  110. package/dist/mcp/handlers/quality/quality-policy-check.js +5 -15
  111. package/dist/mcp/handlers/quality/quality-policy-check.js.map +1 -1
  112. package/dist/mcp/handlers/quality/quality-risk-assess.d.ts.map +1 -1
  113. package/dist/mcp/handlers/quality/quality-risk-assess.js +5 -15
  114. package/dist/mcp/handlers/quality/quality-risk-assess.js.map +1 -1
  115. package/dist/mcp/handlers/quality/quality-validate-metrics.d.ts.map +1 -1
  116. package/dist/mcp/handlers/quality/quality-validate-metrics.js +4 -14
  117. package/dist/mcp/handlers/quality/quality-validate-metrics.js.map +1 -1
  118. package/dist/mcp/handlers/test/test-coverage-detailed.d.ts.map +1 -1
  119. package/dist/mcp/handlers/test/test-coverage-detailed.js +8 -12
  120. package/dist/mcp/handlers/test/test-coverage-detailed.js.map +1 -1
  121. package/dist/mcp/handlers/test/test-execute-parallel.d.ts.map +1 -1
  122. package/dist/mcp/handlers/test/test-execute-parallel.js +8 -12
  123. package/dist/mcp/handlers/test/test-execute-parallel.js.map +1 -1
  124. package/dist/mcp/handlers/test/test-generate-enhanced.d.ts.map +1 -1
  125. package/dist/mcp/handlers/test/test-generate-enhanced.js +4 -8
  126. package/dist/mcp/handlers/test/test-generate-enhanced.js.map +1 -1
  127. package/dist/mcp/handlers/test/test-optimize-sublinear.d.ts.map +1 -1
  128. package/dist/mcp/handlers/test/test-optimize-sublinear.js +8 -12
  129. package/dist/mcp/handlers/test/test-optimize-sublinear.js.map +1 -1
  130. package/dist/mcp/handlers/test/test-report-comprehensive.d.ts.map +1 -1
  131. package/dist/mcp/handlers/test/test-report-comprehensive.js +4 -8
  132. package/dist/mcp/handlers/test/test-report-comprehensive.js.map +1 -1
  133. package/dist/mcp/services/AgentRegistry.d.ts.map +1 -1
  134. package/dist/mcp/services/AgentRegistry.js +16 -4
  135. package/dist/mcp/services/AgentRegistry.js.map +1 -1
  136. package/dist/utils/Database.d.ts.map +1 -1
  137. package/dist/utils/Database.js +17 -4
  138. package/dist/utils/Database.js.map +1 -1
  139. package/dist/utils/__mocks__/Logger.d.ts.map +1 -1
  140. package/dist/utils/__mocks__/Logger.js +2 -0
  141. package/dist/utils/__mocks__/Logger.js.map +1 -1
  142. package/package.json +11 -10
  143. package/.claude/aqe-fleet.json +0 -47
  144. package/.claude/helpers/checkpoint-manager.sh +0 -251
  145. package/.claude/helpers/github-safe.js +0 -106
  146. package/.claude/helpers/github-setup.sh +0 -28
  147. package/.claude/helpers/quick-start.sh +0 -19
  148. package/.claude/helpers/setup-mcp.sh +0 -18
  149. package/.claude/helpers/standard-checkpoint-hooks.sh +0 -179
  150. package/.claude/settings.json +0 -153
  151. package/.claude/settings.local.json +0 -10
  152. package/.claude/statusline-command.sh +0 -176
  153. package/README.md.backup-20251026 +0 -1366
  154. package/dist/migrations/001_add_learning_tables.d.ts +0 -63
  155. package/dist/migrations/001_add_learning_tables.d.ts.map +0 -1
  156. package/dist/migrations/001_add_learning_tables.js +0 -287
  157. package/dist/migrations/001_add_learning_tables.js.map +0 -1
@@ -12,6 +12,8 @@ const Logger_1 = require("../utils/Logger");
12
12
  const QLearning_1 = require("./QLearning");
13
13
  const StateExtractor_1 = require("./StateExtractor");
14
14
  const RewardCalculator_1 = require("./RewardCalculator");
15
+ const Database_1 = require("../utils/Database");
16
+ const LearningPersistenceAdapter_1 = require("./LearningPersistenceAdapter");
15
17
  // Import version from package.json to maintain consistency
16
18
  const packageJson = require('../../package.json');
17
19
  const PACKAGE_VERSION = packageJson.version;
@@ -33,7 +35,7 @@ const DEFAULT_CONFIG = {
33
35
  * LearningEngine - Reinforcement learning for agents
34
36
  */
35
37
  class LearningEngine {
36
- constructor(agentId, memoryStore, config = {}, database) {
38
+ constructor(agentId, memoryStore, config = {}, database, persistence) {
37
39
  this.logger = Logger_1.Logger.getInstance();
38
40
  this.agentId = agentId;
39
41
  this.memoryStore = memoryStore;
@@ -46,13 +48,32 @@ class LearningEngine {
46
48
  this.taskCount = 0;
47
49
  this.stateExtractor = new StateExtractor_1.StateExtractor();
48
50
  this.rewardCalculator = new RewardCalculator_1.RewardCalculator();
49
- this.database = database;
51
+ // Initialize persistence adapter
52
+ if (persistence) {
53
+ this.persistence = persistence;
54
+ this.database = database; // May be undefined if using InMemoryPersistence
55
+ }
56
+ else if (database) {
57
+ this.persistence = new LearningPersistenceAdapter_1.DatabaseLearningPersistence(database);
58
+ this.database = database;
59
+ }
60
+ else if (this.config.enabled && !database) {
61
+ // Auto-initialize database and adapter
62
+ const dbPath = process.env.AQE_DB_PATH || '.agentic-qe/memory.db';
63
+ this.database = new Database_1.Database(dbPath);
64
+ this.persistence = new LearningPersistenceAdapter_1.DatabaseLearningPersistence(this.database);
65
+ this.logger.info(`Auto-initialized learning database at ${dbPath}`);
66
+ }
50
67
  }
51
68
  /**
52
69
  * Initialize the learning engine
53
70
  */
54
71
  async initialize() {
55
72
  this.logger.info(`Initializing LearningEngine for agent ${this.agentId}`);
73
+ // Initialize database if auto-created
74
+ if (this.database) {
75
+ await this.database.initialize();
76
+ }
56
77
  // Load previous learning state if exists
57
78
  await this.loadState();
58
79
  // Load Q-values from database if available
@@ -64,102 +85,16 @@ class LearningEngine {
64
85
  this.logger.info('LearningEngine initialized successfully');
65
86
  }
66
87
  /**
67
- * Record experience from task execution (PRODUCTION-READY WITH DATABASE PERSISTENCE)
68
- * This is the main integration point for Q-learning
88
+ * @deprecated Use learnFromExecution() instead. This method is maintained for backward compatibility.
89
+ * Will be removed in v2.0.0
90
+ *
91
+ * Record experience from task execution (DEPRECATED)
92
+ * Redirects to learnFromExecution() for consolidated implementation
69
93
  */
70
94
  async recordExperience(task, result, feedback) {
71
- if (!this.config.enabled) {
72
- return;
73
- }
74
- try {
75
- // Extract state from task
76
- const state = this.stateExtractor.extractState(task, task.context);
77
- // Extract action from result
78
- const action = {
79
- strategy: result.metadata?.strategy || 'default',
80
- toolsUsed: result.metadata?.toolsUsed || [],
81
- parallelization: result.metadata?.parallelization || 0.5,
82
- retryPolicy: result.metadata?.retryPolicy || 'exponential',
83
- resourceAllocation: result.metadata?.resourceAllocation || 0.5
84
- };
85
- // Calculate reward using RewardCalculator
86
- const reward = this.rewardCalculator.calculateReward(result, feedback);
87
- // Create next state (after execution)
88
- const nextState = {
89
- ...state,
90
- previousAttempts: state.previousAttempts + 1,
91
- availableResources: state.availableResources * (result.success ? 1.0 : 0.9)
92
- };
93
- // Create experience
94
- const experience = {
95
- taskId: task.id || (0, uuid_1.v4)(),
96
- taskType: task.type,
97
- state,
98
- action,
99
- reward,
100
- nextState,
101
- timestamp: new Date(),
102
- agentId: this.agentId
103
- };
104
- // Store experience in memory
105
- this.experiences.push(experience);
106
- // Store experience in database (ACTUAL PERSISTENCE)
107
- if (this.database) {
108
- await this.database.storeLearningExperience({
109
- agentId: this.agentId,
110
- taskId: experience.taskId,
111
- taskType: experience.taskType,
112
- state: this.stateExtractor.encodeState(experience.state),
113
- action: this.stateExtractor.encodeAction(experience.action),
114
- reward: experience.reward,
115
- nextState: this.stateExtractor.encodeState(experience.nextState),
116
- episodeId: `episode-${Math.floor(this.taskCount / 10)}`
117
- });
118
- this.logger.debug(`Stored learning experience in database: task=${experience.taskId}, reward=${reward.toFixed(3)}`);
119
- }
120
- // Update Q-table with new experience
121
- await this.updateQTable(experience);
122
- // Store updated Q-value to database (ACTUAL Q-VALUE PERSISTENCE)
123
- if (this.database) {
124
- const stateKey = this.stateExtractor.encodeState(experience.state);
125
- const actionKey = this.stateExtractor.encodeAction(experience.action);
126
- const stateActions = this.qTable.get(stateKey);
127
- const qValue = stateActions?.get(actionKey) || 0;
128
- await this.database.upsertQValue(this.agentId, stateKey, actionKey, qValue);
129
- this.logger.debug(`Persisted Q-value to database: Q(${stateKey}, ${actionKey}) = ${qValue.toFixed(3)}`);
130
- }
131
- // Update patterns
132
- await this.updatePatterns(experience);
133
- // Increment task count
134
- this.taskCount++;
135
- // Periodic batch update
136
- if (this.taskCount % this.config.updateFrequency === 0) {
137
- await this.performBatchUpdate();
138
- // Store learning snapshot for analytics
139
- if (this.database) {
140
- const stats = await this.database.getLearningStatistics(this.agentId);
141
- await this.database.storeLearningSnapshot({
142
- agentId: this.agentId,
143
- snapshotType: 'performance',
144
- metrics: stats,
145
- improvementRate: stats.recentImprovement,
146
- totalExperiences: stats.totalExperiences,
147
- explorationRate: this.config.explorationRate
148
- });
149
- }
150
- }
151
- // Decay exploration rate
152
- this.decayExploration();
153
- // Save state periodically
154
- if (this.taskCount % 50 === 0) {
155
- await this.saveState();
156
- }
157
- this.logger.info(`Recorded experience: reward=${reward.toFixed(3)}, exploration=${this.config.explorationRate.toFixed(3)}, experiences=${this.experiences.length}`);
158
- }
159
- catch (error) {
160
- this.logger.error(`Failed to record experience:`, error);
161
- // Don't throw - learning failures shouldn't break task execution
162
- }
95
+ this.logger.warn('[LearningEngine] recordExperience() is deprecated. Use learnFromExecution() instead. This method will be removed in v2.0.0');
96
+ // Redirect to unified method
97
+ await this.learnFromExecution(task, result, feedback);
163
98
  }
164
99
  /**
165
100
  * Load Q-table from database on initialization
@@ -182,47 +117,80 @@ class LearningEngine {
182
117
  }
183
118
  }
184
119
  /**
185
- * Learn from a task execution
120
+ * Learn from task execution with automatic database persistence
121
+ * This is the primary method called by BaseAgent.onPostTask()
122
+ * Consolidates learnFromExecution() and recordExperience() functionality
186
123
  */
187
124
  async learnFromExecution(task, result, feedback) {
188
125
  if (!this.config.enabled) {
189
126
  return this.createOutcome(false, 0, 0);
190
127
  }
191
- // Extract experience from task execution
192
- const experience = this.extractExperience(task, result, feedback);
193
- this.experiences.push(experience);
194
- // Calculate reward
195
- const reward = this.calculateReward(result, feedback);
196
- experience.reward = reward;
197
- // Update Q-table
198
- await this.updateQTable(experience);
199
- // Update patterns
200
- await this.updatePatterns(experience);
201
- // Detect failure patterns
202
- if (!result.success) {
203
- await this.detectFailurePattern(experience);
204
- }
205
- // Increment task count
206
- this.taskCount++;
207
- // Periodic model update
208
- if (this.taskCount % this.config.updateFrequency === 0) {
209
- await this.performBatchUpdate();
210
- }
211
- // Decay exploration rate
212
- this.decayExploration();
213
- // Calculate improvement
214
- const improvement = await this.calculateImprovement();
215
- // Emit learning event
216
- await this.emitLearningEvent('training', {
217
- experience,
218
- reward,
219
- improvement
220
- });
221
- // Save state periodically
222
- if (this.taskCount % 50 === 0) {
223
- await this.saveState();
128
+ try {
129
+ // Extract experience from task execution
130
+ const experience = this.extractExperience(task, result, feedback);
131
+ const reward = this.calculateReward(result, feedback);
132
+ experience.reward = reward;
133
+ // Store in memory (fast)
134
+ this.experiences.push(experience);
135
+ // Update Q-table (in-memory)
136
+ await this.updateQTable(experience);
137
+ // Persist to database (via adapter, batched for performance)
138
+ if (this.persistence) {
139
+ try {
140
+ await this.persistence.storeExperience(this.agentId, experience);
141
+ // Persist Q-value
142
+ const stateKey = this.stateExtractor.encodeState(experience.state);
143
+ const actionKey = this.stateExtractor.encodeAction(experience.action);
144
+ const stateActions = this.qTable.get(stateKey);
145
+ const qValue = stateActions?.get(actionKey) || 0;
146
+ await this.persistence.storeQValue(this.agentId, stateKey, actionKey, qValue);
147
+ }
148
+ catch (persistError) {
149
+ this.logger.warn('Persistence failed, continuing with in-memory learning:', persistError);
150
+ // Don't fail learning due to persistence errors
151
+ }
152
+ }
153
+ // Update patterns
154
+ await this.updatePatterns(experience);
155
+ // Detect failure patterns
156
+ if (!result.success) {
157
+ await this.detectFailurePattern(experience);
158
+ }
159
+ // Increment task count
160
+ this.taskCount++;
161
+ // Periodic batch update and snapshot
162
+ if (this.taskCount % this.config.updateFrequency === 0) {
163
+ await this.performBatchUpdate();
164
+ if (this.persistence) {
165
+ const stats = {
166
+ totalExperiences: this.experiences.length,
167
+ qTableSize: this.qTable.size,
168
+ recentImprovement: (await this.calculateImprovement()).improvementRate,
169
+ explorationRate: this.config.explorationRate
170
+ };
171
+ await this.persistence.storeLearningSnapshot(this.agentId, stats);
172
+ }
173
+ }
174
+ // Decay exploration rate
175
+ this.decayExploration();
176
+ // Calculate improvement
177
+ const improvement = await this.calculateImprovement();
178
+ // Emit learning event
179
+ await this.emitLearningEvent('training', {
180
+ experience,
181
+ reward,
182
+ improvement
183
+ });
184
+ // Save state periodically
185
+ if (this.taskCount % 50 === 0) {
186
+ await this.saveState();
187
+ }
188
+ return improvement;
189
+ }
190
+ catch (error) {
191
+ this.logger.error(`Learning from execution failed:`, error);
192
+ return this.createOutcome(false, 0, 0);
224
193
  }
225
- return improvement;
226
194
  }
227
195
  /**
228
196
  * Recommend best strategy for a given state
@@ -287,6 +255,16 @@ class LearningEngine {
287
255
  return Array.from(this.failurePatterns.values())
288
256
  .sort((a, b) => b.frequency - a.frequency);
289
257
  }
258
+ /**
259
+ * Flush any pending batched writes to database
260
+ * Call this before querying the database to ensure all data is persisted
261
+ */
262
+ async flush() {
263
+ if (this.persistence) {
264
+ await this.persistence.flush();
265
+ this.logger.debug('Flushed pending learning data to database');
266
+ }
267
+ }
290
268
  /**
291
269
  * Extract features from state for learning
292
270
  */
@@ -796,6 +774,15 @@ class LearningEngine {
796
774
  isQLearningEnabled() {
797
775
  return this.useQLearning;
798
776
  }
777
+ /**
778
+ * Cleanup resources (timers, connections)
779
+ * Call this before destroying the LearningEngine instance
780
+ */
781
+ dispose() {
782
+ if (this.persistence && 'dispose' in this.persistence) {
783
+ this.persistence.dispose();
784
+ }
785
+ }
799
786
  }
800
787
  exports.LearningEngine = LearningEngine;
801
788
  //# sourceMappingURL=LearningEngine.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"LearningEngine.js","sourceRoot":"","sources":["../../src/learning/LearningEngine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"LearningEngine.js","sourceRoot":"","sources":["../../src/learning/LearningEngine.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,84 @@
1
+ /**
2
+ * LearningPersistenceAdapter - Abstraction layer for learning data persistence
3
+ *
4
+ * Enables testability and flexibility in storage backends.
5
+ * Follows the Persistence Adapter Pattern for clean separation of concerns.
6
+ */
7
+ import { Database } from '../utils/Database';
8
+ import { TaskExperience } from './types';
9
+ /**
10
+ * Abstraction layer for learning data persistence
11
+ * Enables testability and flexibility in storage backends
12
+ */
13
+ export interface LearningPersistence {
14
+ /**
15
+ * Store a single learning experience
16
+ */
17
+ storeExperience(agentId: string, experience: TaskExperience): Promise<void>;
18
+ /**
19
+ * Store a Q-value update
20
+ */
21
+ storeQValue(agentId: string, stateKey: string, actionKey: string, qValue: number): Promise<void>;
22
+ /**
23
+ * Batch store multiple experiences (optimized)
24
+ */
25
+ batchStoreExperiences(agentId: string, experiences: TaskExperience[]): Promise<void>;
26
+ /**
27
+ * Load Q-table from storage
28
+ */
29
+ loadQTable(agentId: string): Promise<Map<string, Map<string, number>>>;
30
+ /**
31
+ * Store learning snapshot for analytics
32
+ */
33
+ storeLearningSnapshot(agentId: string, metrics: any): Promise<void>;
34
+ /**
35
+ * Flush any pending batched writes
36
+ */
37
+ flush(): Promise<void>;
38
+ }
39
+ /**
40
+ * Database implementation of persistence adapter
41
+ */
42
+ export declare class DatabaseLearningPersistence implements LearningPersistence {
43
+ private database;
44
+ private readonly logger;
45
+ private pendingExperiences;
46
+ private pendingQValues;
47
+ private batchSize;
48
+ private flushTimer?;
49
+ constructor(database: Database);
50
+ storeExperience(agentId: string, experience: TaskExperience): Promise<void>;
51
+ storeQValue(agentId: string, stateKey: string, actionKey: string, qValue: number): Promise<void>;
52
+ batchStoreExperiences(agentId: string, experiences: TaskExperience[]): Promise<void>;
53
+ private flushExperiences;
54
+ private flushQValues;
55
+ loadQTable(agentId: string): Promise<Map<string, Map<string, number>>>;
56
+ storeLearningSnapshot(agentId: string, metrics: any): Promise<void>;
57
+ flush(): Promise<void>;
58
+ /**
59
+ * Cleanup method - stop auto-flush timer
60
+ */
61
+ dispose(): void;
62
+ }
63
+ /**
64
+ * In-memory implementation for testing (no persistence)
65
+ */
66
+ export declare class InMemoryLearningPersistence implements LearningPersistence {
67
+ private experiences;
68
+ private qTables;
69
+ private snapshots;
70
+ storeExperience(agentId: string, experience: TaskExperience): Promise<void>;
71
+ storeQValue(agentId: string, stateKey: string, actionKey: string, qValue: number): Promise<void>;
72
+ batchStoreExperiences(agentId: string, experiences: TaskExperience[]): Promise<void>;
73
+ loadQTable(agentId: string): Promise<Map<string, Map<string, number>>>;
74
+ storeLearningSnapshot(agentId: string, metrics: any): Promise<void>;
75
+ flush(): Promise<void>;
76
+ /**
77
+ * Testing utilities
78
+ */
79
+ getExperiences(agentId: string): TaskExperience[];
80
+ getQTable(agentId: string): Map<string, Map<string, number>>;
81
+ getSnapshots(agentId: string): any[];
82
+ clear(): void;
83
+ }
84
+ //# sourceMappingURL=LearningPersistenceAdapter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LearningPersistenceAdapter.d.ts","sourceRoot":"","sources":["../../src/learning/LearningPersistenceAdapter.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAGzC;;;GAGG;AACH,MAAM,WAAW,mBAAmB;IAClC;;OAEG;IACH,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE5E;;OAEG;IACH,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEjG;;OAEG;IACH,qBAAqB,CAAC,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,cAAc,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAErF;;OAEG;IACH,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;IAEvE;;OAEG;IACH,qBAAqB,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEpE;;OAEG;IACH,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACxB;AAED;;GAEG;AACH,qBAAa,2BAA4B,YAAW,mBAAmB;IAOzD,OAAO,CAAC,QAAQ;IAN5B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,kBAAkB,CAA4D;IACtF,OAAO,CAAC,cAAc,CAAqF;IAC3G,OAAO,CAAC,SAAS,CAAc;IAC/B,OAAO,CAAC,UAAU,CAAC,CAAiB;gBAEhB,QAAQ,EAAE,QAAQ;IAWhC,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAS3E,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAShG,qBAAqB,CAAC,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,cAAc,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;YA2B5E,gBAAgB;YA6BhB,YAAY;IAoBpB,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IAetE,qBAAqB,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;IAWnE,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAO5B;;OAEG;IACH,OAAO,IAAI,IAAI;CAMhB;AAED;;GAEG;AACH,qBAAa,2BAA4B,YAAW,mBAAmB;IACrE,OAAO,CAAC,WAAW,CAA4C;IAC/D,OAAO,CAAC,OAAO,CAA4D;IAC3E,OAAO,CAAC,SAAS,CAAiC;IAE5C,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAO3E,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAWhG,qBAAqB,CAAC,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,cAAc,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAMpF,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IAItE,qBAAqB,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;IAUnE,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAI5B;;OAEG;IACH,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,cAAc,EAAE;IAIjD,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAI5D,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,GAAG,EAAE;IAIpC,KAAK,IAAI,IAAI;CAKd"}