agentdb 3.0.0-alpha.11 → 3.0.0-alpha.13

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 (107) hide show
  1. package/dist/src/backends/graph/GraphDatabaseAdapter.d.ts +54 -0
  2. package/dist/src/backends/graph/GraphDatabaseAdapter.d.ts.map +1 -1
  3. package/dist/src/backends/graph/GraphDatabaseAdapter.js +125 -0
  4. package/dist/src/backends/graph/GraphDatabaseAdapter.js.map +1 -1
  5. package/dist/src/cli/agentdb-cli.js +0 -0
  6. package/dist/src/controllers/ReflexionMemory.d.ts +50 -0
  7. package/dist/src/controllers/ReflexionMemory.d.ts.map +1 -1
  8. package/dist/src/controllers/ReflexionMemory.js +258 -0
  9. package/dist/src/controllers/ReflexionMemory.js.map +1 -1
  10. package/dist/src/controllers/index.d.ts +2 -0
  11. package/dist/src/controllers/index.d.ts.map +1 -1
  12. package/dist/src/controllers/index.js +2 -0
  13. package/dist/src/controllers/index.js.map +1 -1
  14. package/dist/src/controllers/prerequisites.d.ts +76 -0
  15. package/dist/src/controllers/prerequisites.d.ts.map +1 -0
  16. package/dist/src/controllers/prerequisites.js +235 -0
  17. package/dist/src/controllers/prerequisites.js.map +1 -0
  18. package/dist/src/db-fallback.d.ts.map +1 -1
  19. package/dist/src/db-fallback.js +55 -45
  20. package/dist/src/db-fallback.js.map +1 -1
  21. package/package.json +1 -1
  22. package/dist/schemas/frontier-schema.sql +0 -378
  23. package/dist/schemas/schema.sql +0 -382
  24. package/dist/src/backends/index.cjs +0 -6
  25. package/dist/src/backends/ruvector/GuardedVectorBackend.d.ts +0 -93
  26. package/dist/src/backends/ruvector/GuardedVectorBackend.d.ts.map +0 -1
  27. package/dist/src/backends/ruvector/GuardedVectorBackend.js +0 -182
  28. package/dist/src/backends/ruvector/GuardedVectorBackend.js.map +0 -1
  29. package/dist/src/consensus/RaftConsensus.d.ts +0 -220
  30. package/dist/src/consensus/RaftConsensus.d.ts.map +0 -1
  31. package/dist/src/consensus/RaftConsensus.js +0 -762
  32. package/dist/src/consensus/RaftConsensus.js.map +0 -1
  33. package/dist/src/controllers/HierarchicalMemory.d.ts +0 -197
  34. package/dist/src/controllers/HierarchicalMemory.d.ts.map +0 -1
  35. package/dist/src/controllers/HierarchicalMemory.js +0 -519
  36. package/dist/src/controllers/HierarchicalMemory.js.map +0 -1
  37. package/dist/src/controllers/MemoryConsolidation.d.ts +0 -142
  38. package/dist/src/controllers/MemoryConsolidation.d.ts.map +0 -1
  39. package/dist/src/controllers/MemoryConsolidation.js +0 -479
  40. package/dist/src/controllers/MemoryConsolidation.js.map +0 -1
  41. package/dist/src/controllers/QUICConnection.d.ts +0 -122
  42. package/dist/src/controllers/QUICConnection.d.ts.map +0 -1
  43. package/dist/src/controllers/QUICConnection.js +0 -329
  44. package/dist/src/controllers/QUICConnection.js.map +0 -1
  45. package/dist/src/controllers/QUICConnectionPool.d.ts +0 -83
  46. package/dist/src/controllers/QUICConnectionPool.d.ts.map +0 -1
  47. package/dist/src/controllers/QUICConnectionPool.js +0 -256
  48. package/dist/src/controllers/QUICConnectionPool.js.map +0 -1
  49. package/dist/src/controllers/QUICStreamManager.d.ts +0 -114
  50. package/dist/src/controllers/QUICStreamManager.d.ts.map +0 -1
  51. package/dist/src/controllers/QUICStreamManager.js +0 -267
  52. package/dist/src/controllers/QUICStreamManager.js.map +0 -1
  53. package/dist/src/controllers/StreamingEmbeddingService.d.ts +0 -82
  54. package/dist/src/controllers/StreamingEmbeddingService.d.ts.map +0 -1
  55. package/dist/src/controllers/StreamingEmbeddingService.js +0 -243
  56. package/dist/src/controllers/StreamingEmbeddingService.js.map +0 -1
  57. package/dist/src/controllers/index.cjs +0 -6
  58. package/dist/src/coordination/MultiDatabaseCoordinator.d.ts +0 -348
  59. package/dist/src/coordination/MultiDatabaseCoordinator.d.ts.map +0 -1
  60. package/dist/src/coordination/MultiDatabaseCoordinator.js +0 -803
  61. package/dist/src/coordination/MultiDatabaseCoordinator.js.map +0 -1
  62. package/dist/src/coordination/index.d.ts +0 -10
  63. package/dist/src/coordination/index.d.ts.map +0 -1
  64. package/dist/src/coordination/index.js +0 -10
  65. package/dist/src/coordination/index.js.map +0 -1
  66. package/dist/src/index.cjs +0 -6
  67. package/dist/src/optimizations/RVFOptimizer.d.ts +0 -226
  68. package/dist/src/optimizations/RVFOptimizer.d.ts.map +0 -1
  69. package/dist/src/optimizations/RVFOptimizer.js +0 -541
  70. package/dist/src/optimizations/RVFOptimizer.js.map +0 -1
  71. package/dist/src/security/AttestationLog.d.ts +0 -70
  72. package/dist/src/security/AttestationLog.d.ts.map +0 -1
  73. package/dist/src/security/AttestationLog.js +0 -174
  74. package/dist/src/security/AttestationLog.js.map +0 -1
  75. package/dist/src/security/MutationGuard.d.ts +0 -83
  76. package/dist/src/security/MutationGuard.d.ts.map +0 -1
  77. package/dist/src/security/MutationGuard.js +0 -364
  78. package/dist/src/security/MutationGuard.js.map +0 -1
  79. package/dist/src/security/index.cjs +0 -6
  80. package/dist/src/security/index.d.ts +0 -15
  81. package/dist/src/security/index.d.ts.map +0 -1
  82. package/dist/src/security/index.js +0 -18
  83. package/dist/src/security/index.js.map +0 -1
  84. package/dist/src/services/GNNService.d.ts +0 -173
  85. package/dist/src/services/GNNService.d.ts.map +0 -1
  86. package/dist/src/services/GNNService.js +0 -639
  87. package/dist/src/services/GNNService.js.map +0 -1
  88. package/dist/src/services/GraphTransformerService.d.ts +0 -80
  89. package/dist/src/services/GraphTransformerService.d.ts.map +0 -1
  90. package/dist/src/services/GraphTransformerService.js +0 -369
  91. package/dist/src/services/GraphTransformerService.js.map +0 -1
  92. package/dist/src/services/SemanticRouter.d.ts +0 -83
  93. package/dist/src/services/SemanticRouter.d.ts.map +0 -1
  94. package/dist/src/services/SemanticRouter.js +0 -160
  95. package/dist/src/services/SemanticRouter.js.map +0 -1
  96. package/dist/src/services/SonaTrajectoryService.d.ts +0 -224
  97. package/dist/src/services/SonaTrajectoryService.d.ts.map +0 -1
  98. package/dist/src/services/SonaTrajectoryService.js +0 -539
  99. package/dist/src/services/SonaTrajectoryService.js.map +0 -1
  100. package/dist/src/utils/LegacyAttentionAdapter.d.ts +0 -93
  101. package/dist/src/utils/LegacyAttentionAdapter.d.ts.map +0 -1
  102. package/dist/src/utils/LegacyAttentionAdapter.js +0 -241
  103. package/dist/src/utils/LegacyAttentionAdapter.js.map +0 -1
  104. package/dist/src/utils/vector-math.d.ts +0 -29
  105. package/dist/src/utils/vector-math.d.ts.map +0 -1
  106. package/dist/src/utils/vector-math.js +0 -66
  107. package/dist/src/utils/vector-math.js.map +0 -1
@@ -1,539 +0,0 @@
1
- /**
2
- * SonaTrajectoryService - Wraps @ruvector/sona for trajectory learning
3
- *
4
- * Provides trajectory recording and action prediction for agent learning.
5
- * Uses @ruvector/sona for reinforcement learning when available,
6
- * otherwise falls back to in-memory trajectory storage with simple
7
- * frequency-based prediction.
8
- *
9
- * Usage:
10
- * const sona = new SonaTrajectoryService();
11
- * await sona.initialize();
12
- *
13
- * // Record agent trajectories
14
- * await sona.recordTrajectory('coder', [
15
- * { state: { task: 'implement' }, action: 'write_code', reward: 0.8 },
16
- * { state: { task: 'test' }, action: 'run_tests', reward: 0.9 }
17
- * ]);
18
- *
19
- * // Predict next action
20
- * const prediction = await sona.predict({ task: 'implement' });
21
- */
22
- export class SonaTrajectoryService {
23
- sona = null;
24
- available = false;
25
- engineType = 'js';
26
- trajectories = new Map();
27
- // RL Training state
28
- policyConfig = {
29
- learningRate: 0.001,
30
- gamma: 0.99,
31
- epsilon: 0.1,
32
- entropyCoeff: 0.01
33
- };
34
- valueConfig = {
35
- learningRate: 0.001,
36
- gamma: 0.99,
37
- lambda: 0.95
38
- };
39
- replayConfig = {
40
- bufferSize: 10000,
41
- batchSize: 32,
42
- priorityAlpha: 0.6,
43
- priorityBeta: 0.4
44
- };
45
- experienceBuffer = [];
46
- metrics = {
47
- episodeReward: 0,
48
- avgReward: 0,
49
- loss: 0,
50
- epsilon: 0.1,
51
- iterationCount: 0
52
- };
53
- policyWeights = new Map();
54
- valueWeights = new Map();
55
- /**
56
- * Initialize the trajectory service
57
- *
58
- * ADR-062 Phase 2: Tries native @ruvector/sona (NAPI-RS) first,
59
- * falls back to in-memory trajectory storage. Reports engine type.
60
- *
61
- * @returns true if @ruvector/sona was loaded, false if using fallback
62
- */
63
- async initialize() {
64
- try {
65
- const mod = await import('@ruvector/sona');
66
- const SONA = mod.SONA || mod.Sona ||
67
- mod.default?.SONA || mod.default?.Sona ||
68
- mod.default;
69
- if (SONA && typeof SONA === 'function') {
70
- this.sona = new SONA();
71
- this.available = true;
72
- this.engineType = 'native';
73
- console.log('[SonaTrajectoryService] Using native @ruvector/sona');
74
- return true;
75
- }
76
- else if (SONA && typeof SONA === 'object') {
77
- this.sona = SONA;
78
- this.available = true;
79
- this.engineType = 'native';
80
- console.log('[SonaTrajectoryService] Using native @ruvector/sona');
81
- return true;
82
- }
83
- this.available = false;
84
- this.engineType = 'js';
85
- return false;
86
- }
87
- catch {
88
- this.available = false;
89
- this.engineType = 'js';
90
- return false;
91
- }
92
- }
93
- /**
94
- * Get the active engine type: 'native' or 'js'
95
- */
96
- getEngineType() {
97
- return this.engineType;
98
- }
99
- /**
100
- * Record a trajectory for an agent type
101
- *
102
- * When @ruvector/sona is available, steps are forwarded to the RL engine.
103
- * Otherwise, trajectories are stored in memory for pattern analysis.
104
- *
105
- * @param agentType - Type of agent (e.g., 'coder', 'reviewer')
106
- * @param steps - Sequence of state-action-reward tuples
107
- */
108
- async recordTrajectory(agentType, steps) {
109
- if (steps.length === 0)
110
- return;
111
- const totalReward = steps.reduce((sum, s) => sum + s.reward, 0) / steps.length;
112
- // Try @ruvector/sona first
113
- if (this.sona) {
114
- try {
115
- for (const step of steps) {
116
- if (typeof this.sona.recordStep === 'function') {
117
- await this.sona.recordStep(step);
118
- }
119
- else if (typeof this.sona.record === 'function') {
120
- await this.sona.record(step);
121
- }
122
- else if (typeof this.sona.addStep === 'function') {
123
- await this.sona.addStep(step.state, step.action, step.reward);
124
- }
125
- }
126
- // Also store in-memory for local pattern access
127
- }
128
- catch {
129
- // Fall through to in-memory storage
130
- }
131
- }
132
- // In-memory storage (always maintained for local analysis)
133
- if (!this.trajectories.has(agentType)) {
134
- this.trajectories.set(agentType, []);
135
- }
136
- this.trajectories.get(agentType).push({ steps, reward: totalReward });
137
- }
138
- /**
139
- * Predict the next action given a state
140
- *
141
- * When @ruvector/sona is available, uses the RL model for prediction.
142
- * Otherwise, uses frequency-based prediction from stored trajectories.
143
- *
144
- * @param state - Current state to predict action for
145
- * @returns Predicted action and confidence score
146
- */
147
- async predict(state) {
148
- // Try @ruvector/sona first
149
- if (this.sona) {
150
- try {
151
- let result;
152
- if (typeof this.sona.predict === 'function') {
153
- result = await this.sona.predict(state);
154
- }
155
- else if (typeof this.sona.selectAction === 'function') {
156
- result = await this.sona.selectAction(state);
157
- }
158
- if (result) {
159
- return {
160
- action: result.action || result.name || String(result),
161
- confidence: result.confidence || result.probability || 0.8
162
- };
163
- }
164
- }
165
- catch {
166
- // Fall through to frequency-based prediction
167
- }
168
- }
169
- // Frequency-based fallback: find the most common action across trajectories
170
- return this.frequencyPredict();
171
- }
172
- /**
173
- * Get trajectory patterns, optionally filtered by agent type
174
- *
175
- * When @ruvector/sona is available, queries the RL engine for patterns.
176
- * Otherwise, returns stored trajectories.
177
- *
178
- * @param agentType - Optional agent type filter
179
- * @returns Array of trajectory patterns
180
- */
181
- async getPatterns(agentType) {
182
- // Try @ruvector/sona first
183
- if (this.sona) {
184
- try {
185
- if (typeof this.sona.findPatterns === 'function') {
186
- const patterns = await this.sona.findPatterns();
187
- if (patterns && Array.isArray(patterns) && patterns.length > 0) {
188
- return patterns;
189
- }
190
- }
191
- else if (typeof this.sona.getPatterns === 'function') {
192
- const patterns = await this.sona.getPatterns();
193
- if (patterns && Array.isArray(patterns) && patterns.length > 0) {
194
- return patterns;
195
- }
196
- }
197
- }
198
- catch {
199
- // Fall through to in-memory trajectories
200
- }
201
- }
202
- if (agentType) {
203
- return this.trajectories.get(agentType) || [];
204
- }
205
- return Array.from(this.trajectories.values()).flat();
206
- }
207
- /**
208
- * Check if @ruvector/sona is available
209
- */
210
- isAvailable() {
211
- return this.available;
212
- }
213
- /**
214
- * Get service statistics
215
- */
216
- getStats() {
217
- return {
218
- available: this.available,
219
- trajectoryCount: Array.from(this.trajectories.values())
220
- .reduce((sum, arr) => sum + arr.length, 0),
221
- agentTypes: Array.from(this.trajectories.keys())
222
- };
223
- }
224
- /**
225
- * Clear all stored trajectories for an agent type, or all if not specified
226
- */
227
- clear(agentType) {
228
- if (agentType) {
229
- this.trajectories.delete(agentType);
230
- }
231
- else {
232
- this.trajectories.clear();
233
- }
234
- }
235
- /**
236
- * Frequency-based action prediction from stored trajectories
237
- */
238
- frequencyPredict() {
239
- const actionCounts = new Map();
240
- for (const trajectories of this.trajectories.values()) {
241
- for (const traj of trajectories) {
242
- for (const step of traj.steps) {
243
- const entry = actionCounts.get(step.action) || { count: 0, totalReward: 0 };
244
- entry.count++;
245
- entry.totalReward += step.reward;
246
- actionCounts.set(step.action, entry);
247
- }
248
- }
249
- }
250
- if (actionCounts.size === 0) {
251
- return { action: 'default', confidence: 0.5 };
252
- }
253
- // Find action with highest average reward
254
- let bestAction = 'default';
255
- let bestAvgReward = -Infinity;
256
- let totalActions = 0;
257
- for (const [action, entry] of actionCounts) {
258
- totalActions += entry.count;
259
- const avgReward = entry.totalReward / entry.count;
260
- if (avgReward > bestAvgReward) {
261
- bestAvgReward = avgReward;
262
- bestAction = action;
263
- }
264
- }
265
- // Confidence based on the proportion of observations
266
- const bestCount = actionCounts.get(bestAction)?.count || 0;
267
- const confidence = Math.min(0.95, bestCount / Math.max(totalActions, 1));
268
- return { action: bestAction, confidence };
269
- }
270
- // ==================== RL Training Methods ====================
271
- /**
272
- * Train policy using Policy Gradient (REINFORCE with baseline)
273
- *
274
- * @param episodes - Array of trajectories to learn from
275
- * @param config - Optional policy gradient configuration
276
- * @returns Training loss
277
- */
278
- async trainPolicy(episodes, config) {
279
- if (config) {
280
- this.policyConfig = { ...this.policyConfig, ...config };
281
- }
282
- let totalLoss = 0;
283
- let episodeCount = 0;
284
- for (const episode of episodes) {
285
- const returns = [];
286
- let G = 0;
287
- // Calculate returns (backwards)
288
- for (let t = episode.steps.length - 1; t >= 0; t--) {
289
- G = episode.steps[t].reward + this.policyConfig.gamma * G;
290
- returns.unshift(G);
291
- }
292
- // Calculate baseline (average return)
293
- const baseline = returns.reduce((a, b) => a + b, 0) / returns.length;
294
- // Update policy for each step
295
- for (let t = 0; t < episode.steps.length; t++) {
296
- const step = episode.steps[t];
297
- const advantage = returns[t] - baseline;
298
- // Get or initialize policy weights for this action
299
- const actionKey = step.action;
300
- if (!this.policyWeights.has(actionKey)) {
301
- this.policyWeights.set(actionKey, [0]);
302
- }
303
- const weights = this.policyWeights.get(actionKey);
304
- const gradient = advantage * this.policyConfig.learningRate;
305
- weights[0] += gradient;
306
- totalLoss += Math.abs(advantage);
307
- }
308
- episodeCount++;
309
- }
310
- // Update metrics
311
- this.metrics.loss = totalLoss / Math.max(episodeCount, 1);
312
- this.metrics.iterationCount++;
313
- // Decay epsilon (exploration rate)
314
- this.metrics.epsilon = Math.max(0.01, this.policyConfig.epsilon * 0.995);
315
- this.policyConfig.epsilon = this.metrics.epsilon;
316
- return this.metrics.loss;
317
- }
318
- /**
319
- * Estimate value function using TD learning
320
- *
321
- * @param state - State to estimate value for
322
- * @param reward - Observed reward
323
- * @param nextState - Next state
324
- * @param config - Optional value function configuration
325
- * @returns Estimated value
326
- */
327
- async estimateValue(state, reward, nextState, config) {
328
- if (config) {
329
- this.valueConfig = { ...this.valueConfig, ...config };
330
- }
331
- const stateKey = JSON.stringify(state);
332
- const nextStateKey = JSON.stringify(nextState);
333
- // Get or initialize value estimates
334
- const currentValue = this.valueWeights.get(stateKey) || 0;
335
- const nextValue = this.valueWeights.get(nextStateKey) || 0;
336
- // TD error: δ = r + γV(s') - V(s)
337
- const tdError = reward + this.valueConfig.gamma * nextValue - currentValue;
338
- // Update value function: V(s) ← V(s) + α·δ
339
- const newValue = currentValue + this.valueConfig.learningRate * tdError;
340
- this.valueWeights.set(stateKey, newValue);
341
- return newValue;
342
- }
343
- /**
344
- * Add experience to replay buffer with priority sampling
345
- *
346
- * @param state - Current state
347
- * @param action - Action taken
348
- * @param reward - Reward received
349
- * @param nextState - Resulting state
350
- * @param priority - Experience priority (default: 1.0)
351
- */
352
- addExperience(state, action, reward, nextState, priority = 1.0) {
353
- // Add to buffer
354
- this.experienceBuffer.push({ state, action, reward, nextState, priority });
355
- // Maintain buffer size
356
- if (this.experienceBuffer.length > this.replayConfig.bufferSize) {
357
- this.experienceBuffer.shift();
358
- }
359
- }
360
- /**
361
- * Sample batch from experience replay buffer with priority sampling
362
- *
363
- * @param batchSize - Optional batch size (default: from config)
364
- * @returns Batch of experiences
365
- */
366
- sampleExperience(batchSize) {
367
- const size = batchSize || this.replayConfig.batchSize;
368
- if (this.experienceBuffer.length === 0) {
369
- return [];
370
- }
371
- // Calculate probability distribution based on priorities
372
- const totalPriority = this.experienceBuffer.reduce((sum, exp) => sum + Math.pow(exp.priority, this.replayConfig.priorityAlpha), 0);
373
- const batch = [];
374
- for (let i = 0; i < Math.min(size, this.experienceBuffer.length); i++) {
375
- // Priority sampling
376
- let rand = Math.random() * totalPriority;
377
- let selectedExp = this.experienceBuffer[0];
378
- for (const exp of this.experienceBuffer) {
379
- rand -= Math.pow(exp.priority, this.replayConfig.priorityAlpha);
380
- if (rand <= 0) {
381
- selectedExp = exp;
382
- break;
383
- }
384
- }
385
- batch.push({
386
- state: selectedExp.state,
387
- action: selectedExp.action,
388
- reward: selectedExp.reward,
389
- nextState: selectedExp.nextState
390
- });
391
- }
392
- return batch;
393
- }
394
- /**
395
- * Multi-agent reinforcement learning coordination
396
- *
397
- * @param agentStates - Map of agent IDs to their states
398
- * @param jointAction - Joint action taken by all agents
399
- * @param jointReward - Shared reward
400
- * @returns Individual rewards for each agent
401
- */
402
- async multiAgentLearn(agentStates, jointAction, jointReward) {
403
- const individualRewards = new Map();
404
- // Distribute reward based on contribution (simplified)
405
- const numAgents = agentStates.size;
406
- const baseReward = jointReward / numAgents;
407
- for (const [agentId, state] of agentStates) {
408
- const action = jointAction.get(agentId) || 'default';
409
- // Calculate individual contribution
410
- const contribution = this.calculateContribution(agentId, state, action);
411
- const reward = baseReward * (0.5 + contribution * 0.5);
412
- individualRewards.set(agentId, reward);
413
- // Record for learning
414
- await this.recordTrajectory(agentId, [{
415
- state,
416
- action,
417
- reward
418
- }]);
419
- }
420
- return individualRewards;
421
- }
422
- /**
423
- * Transfer learning: apply knowledge from source task to target task
424
- *
425
- * @param sourceAgent - Agent type to transfer from
426
- * @param targetAgent - Agent type to transfer to
427
- * @param transferRatio - How much knowledge to transfer (0-1)
428
- * @returns Success indicator
429
- */
430
- async transferLearning(sourceAgent, targetAgent, transferRatio = 0.7) {
431
- const sourcePatterns = await this.getPatterns(sourceAgent);
432
- if (sourcePatterns.length === 0) {
433
- return false;
434
- }
435
- // Transfer policy weights
436
- for (const [actionKey, weights] of this.policyWeights) {
437
- if (actionKey.startsWith(sourceAgent)) {
438
- const targetKey = actionKey.replace(sourceAgent, targetAgent);
439
- const targetWeights = this.policyWeights.get(targetKey) || [0];
440
- // Blend weights
441
- for (let i = 0; i < Math.min(weights.length, targetWeights.length); i++) {
442
- targetWeights[i] = transferRatio * weights[i] + (1 - transferRatio) * targetWeights[i];
443
- }
444
- this.policyWeights.set(targetKey, targetWeights);
445
- }
446
- }
447
- // Transfer value estimates
448
- for (const [stateKey, value] of this.valueWeights) {
449
- const state = JSON.parse(stateKey);
450
- if (state.agentType === sourceAgent) {
451
- const targetState = { ...state, agentType: targetAgent };
452
- const targetKey = JSON.stringify(targetState);
453
- const targetValue = this.valueWeights.get(targetKey) || 0;
454
- this.valueWeights.set(targetKey, transferRatio * value + (1 - transferRatio) * targetValue);
455
- }
456
- }
457
- return true;
458
- }
459
- /**
460
- * Continuous learning: update model with new experience
461
- *
462
- * @param state - Current state
463
- * @param action - Action taken
464
- * @param reward - Reward received
465
- * @param nextState - Resulting state
466
- * @returns Updated value estimate
467
- */
468
- async continuousLearn(state, action, reward, nextState) {
469
- // Add to experience replay
470
- const tdError = Math.abs(reward - (this.valueWeights.get(JSON.stringify(state)) || 0));
471
- this.addExperience(state, action, reward, nextState, tdError + 1);
472
- // Update value function
473
- const value = await this.estimateValue(state, reward, nextState);
474
- // Update policy if we have enough experiences
475
- if (this.experienceBuffer.length >= this.replayConfig.batchSize) {
476
- const batch = this.sampleExperience();
477
- // Create mini-episode from batch
478
- const miniEpisode = {
479
- steps: batch.map(exp => ({
480
- state: exp.state,
481
- action: exp.action,
482
- reward: exp.reward
483
- })),
484
- reward: batch.reduce((sum, exp) => sum + exp.reward, 0) / batch.length
485
- };
486
- await this.trainPolicy([miniEpisode]);
487
- }
488
- // Update metrics
489
- this.metrics.episodeReward += reward;
490
- this.metrics.avgReward = (this.metrics.avgReward * this.metrics.iterationCount + reward) / (this.metrics.iterationCount + 1);
491
- return value;
492
- }
493
- /**
494
- * Get current RL metrics
495
- */
496
- getRLMetrics() {
497
- return { ...this.metrics };
498
- }
499
- /**
500
- * Reset RL state (for new training session)
501
- */
502
- resetRL() {
503
- this.policyWeights.clear();
504
- this.valueWeights.clear();
505
- this.experienceBuffer = [];
506
- this.metrics = {
507
- episodeReward: 0,
508
- avgReward: 0,
509
- loss: 0,
510
- epsilon: this.policyConfig.epsilon,
511
- iterationCount: 0
512
- };
513
- }
514
- /**
515
- * Configure RL parameters
516
- */
517
- configureRL(config) {
518
- if (config.policy) {
519
- this.policyConfig = { ...this.policyConfig, ...config.policy };
520
- }
521
- if (config.value) {
522
- this.valueConfig = { ...this.valueConfig, ...config.value };
523
- }
524
- if (config.replay) {
525
- this.replayConfig = { ...this.replayConfig, ...config.replay };
526
- }
527
- }
528
- /**
529
- * Calculate agent contribution to joint reward (simplified)
530
- */
531
- calculateContribution(agentId, state, action) {
532
- // Simple heuristic: higher value states = higher contribution
533
- const stateKey = JSON.stringify(state);
534
- const stateValue = this.valueWeights.get(stateKey) || 0;
535
- // Normalize to [0, 1]
536
- return Math.max(0, Math.min(1, (stateValue + 1) / 2));
537
- }
538
- }
539
- //# sourceMappingURL=SonaTrajectoryService.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"SonaTrajectoryService.js","sourceRoot":"","sources":["../../../src/services/SonaTrajectoryService.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAoDH,MAAM,OAAO,qBAAqB;IACxB,IAAI,GAAQ,IAAI,CAAC;IACjB,SAAS,GAAY,KAAK,CAAC;IAC3B,UAAU,GAAoB,IAAI,CAAC;IACnC,YAAY,GAAoC,IAAI,GAAG,EAAE,CAAC;IAElE,oBAAoB;IACZ,YAAY,GAAyB;QAC3C,YAAY,EAAE,KAAK;QACnB,KAAK,EAAE,IAAI;QACX,OAAO,EAAE,GAAG;QACZ,YAAY,EAAE,IAAI;KACnB,CAAC;IACM,WAAW,GAAwB;QACzC,YAAY,EAAE,KAAK;QACnB,KAAK,EAAE,IAAI;QACX,MAAM,EAAE,IAAI;KACb,CAAC;IACM,YAAY,GAA2B;QAC7C,UAAU,EAAE,KAAK;QACjB,SAAS,EAAE,EAAE;QACb,aAAa,EAAE,GAAG;QAClB,YAAY,EAAE,GAAG;KAClB,CAAC;IACM,gBAAgB,GAA4F,EAAE,CAAC;IAC/G,OAAO,GAAc;QAC3B,aAAa,EAAE,CAAC;QAChB,SAAS,EAAE,CAAC;QACZ,IAAI,EAAE,CAAC;QACP,OAAO,EAAE,GAAG;QACZ,cAAc,EAAE,CAAC;KAClB,CAAC;IACM,aAAa,GAA0B,IAAI,GAAG,EAAE,CAAC;IACjD,YAAY,GAAwB,IAAI,GAAG,EAAE,CAAC;IAEtD;;;;;;;OAOG;IACH,KAAK,CAAC,UAAU;QACd,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,gBAAgB,CAAC,CAAC;YAC3C,MAAM,IAAI,GAAI,GAAW,CAAC,IAAI,IAAK,GAAW,CAAC,IAAI;gBACrC,GAAW,CAAC,OAAO,EAAE,IAAI,IAAK,GAAW,CAAC,OAAO,EAAE,IAAI;gBACvD,GAAW,CAAC,OAAO,CAAC;YAElC,IAAI,IAAI,IAAI,OAAO,IAAI,KAAK,UAAU,EAAE,CAAC;gBACvC,IAAI,CAAC,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;gBACvB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;gBACtB,IAAI,CAAC,UAAU,GAAG,QAAQ,CAAC;gBAC3B,OAAO,CAAC,GAAG,CAAC,qDAAqD,CAAC,CAAC;gBACnE,OAAO,IAAI,CAAC;YACd,CAAC;iBAAM,IAAI,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;gBAC5C,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;gBACjB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;gBACtB,IAAI,CAAC,UAAU,GAAG,QAAQ,CAAC;gBAC3B,OAAO,CAAC,GAAG,CAAC,qDAAqD,CAAC,CAAC;gBACnE,OAAO,IAAI,CAAC;YACd,CAAC;YAED,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;YACvB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;YACvB,OAAO,KAAK,CAAC;QACf,CAAC;QAAC,MAAM,CAAC;YACP,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;YACvB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;YACvB,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED;;OAEG;IACH,aAAa;QACX,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IAED;;;;;;;;OAQG;IACH,KAAK,CAAC,gBAAgB,CAAC,SAAiB,EAAE,KAAuB;QAC/D,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QAE/B,MAAM,WAAW,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC;QAE/E,2BAA2B;QAC3B,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACd,IAAI,CAAC;gBACH,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;oBACzB,IAAI,OAAO,IAAI,CAAC,IAAI,CAAC,UAAU,KAAK,UAAU,EAAE,CAAC;wBAC/C,MAAM,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;oBACnC,CAAC;yBAAM,IAAI,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;wBAClD,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;oBAC/B,CAAC;yBAAM,IAAI,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,KAAK,UAAU,EAAE,CAAC;wBACnD,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;oBAChE,CAAC;gBACH,CAAC;gBACD,gDAAgD;YAClD,CAAC;YAAC,MAAM,CAAC;gBACP,oCAAoC;YACtC,CAAC;QACH,CAAC;QAED,2DAA2D;QAC3D,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;YACtC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;QACvC,CAAC;QACD,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,SAAS,CAAE,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC,CAAC;IACzE,CAAC;IAED;;;;;;;;OAQG;IACH,KAAK,CAAC,OAAO,CAAC,KAAU;QACtB,2BAA2B;QAC3B,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACd,IAAI,CAAC;gBACH,IAAI,MAAW,CAAC;gBAChB,IAAI,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,KAAK,UAAU,EAAE,CAAC;oBAC5C,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;gBAC1C,CAAC;qBAAM,IAAI,OAAO,IAAI,CAAC,IAAI,CAAC,YAAY,KAAK,UAAU,EAAE,CAAC;oBACxD,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;gBAC/C,CAAC;gBAED,IAAI,MAAM,EAAE,CAAC;oBACX,OAAO;wBACL,MAAM,EAAE,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,MAAM,CAAC;wBACtD,UAAU,EAAE,MAAM,CAAC,UAAU,IAAI,MAAM,CAAC,WAAW,IAAI,GAAG;qBAC3D,CAAC;gBACJ,CAAC;YACH,CAAC;YAAC,MAAM,CAAC;gBACP,6CAA6C;YAC/C,CAAC;QACH,CAAC;QAED,4EAA4E;QAC5E,OAAO,IAAI,CAAC,gBAAgB,EAAE,CAAC;IACjC,CAAC;IAED;;;;;;;;OAQG;IACH,KAAK,CAAC,WAAW,CAAC,SAAkB;QAClC,2BAA2B;QAC3B,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACd,IAAI,CAAC;gBACH,IAAI,OAAO,IAAI,CAAC,IAAI,CAAC,YAAY,KAAK,UAAU,EAAE,CAAC;oBACjD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;oBAChD,IAAI,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBAC/D,OAAO,QAAQ,CAAC;oBAClB,CAAC;gBACH,CAAC;qBAAM,IAAI,OAAO,IAAI,CAAC,IAAI,CAAC,WAAW,KAAK,UAAU,EAAE,CAAC;oBACvD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;oBAC/C,IAAI,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBAC/D,OAAO,QAAQ,CAAC;oBAClB,CAAC;gBACH,CAAC;YACH,CAAC;YAAC,MAAM,CAAC;gBACP,yCAAyC;YAC3C,CAAC;QACH,CAAC;QAED,IAAI,SAAS,EAAE,CAAC;YACd,OAAO,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;QAChD,CAAC;QACD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IACvD,CAAC;IAED;;OAEG;IACH,WAAW;QACT,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAED;;OAEG;IACH,QAAQ;QACN,OAAO;YACL,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,eAAe,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC;iBACpD,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC;YAC5C,UAAU,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;SACjD,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,SAAkB;QACtB,IAAI,SAAS,EAAE,CAAC;YACd,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QACtC,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC;QAC5B,CAAC;IACH,CAAC;IAED;;OAEG;IACK,gBAAgB;QACtB,MAAM,YAAY,GAAG,IAAI,GAAG,EAAkD,CAAC;QAE/E,KAAK,MAAM,YAAY,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,EAAE,CAAC;YACtD,KAAK,MAAM,IAAI,IAAI,YAAY,EAAE,CAAC;gBAChC,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;oBAC9B,MAAM,KAAK,GAAG,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,CAAC;oBAC5E,KAAK,CAAC,KAAK,EAAE,CAAC;oBACd,KAAK,CAAC,WAAW,IAAI,IAAI,CAAC,MAAM,CAAC;oBACjC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;gBACvC,CAAC;YACH,CAAC;QACH,CAAC;QAED,IAAI,YAAY,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;YAC5B,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC;QAChD,CAAC;QAED,0CAA0C;QAC1C,IAAI,UAAU,GAAG,SAAS,CAAC;QAC3B,IAAI,aAAa,GAAG,CAAC,QAAQ,CAAC;QAC9B,IAAI,YAAY,GAAG,CAAC,CAAC;QAErB,KAAK,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,YAAY,EAAE,CAAC;YAC3C,YAAY,IAAI,KAAK,CAAC,KAAK,CAAC;YAC5B,MAAM,SAAS,GAAG,KAAK,CAAC,WAAW,GAAG,KAAK,CAAC,KAAK,CAAC;YAClD,IAAI,SAAS,GAAG,aAAa,EAAE,CAAC;gBAC9B,aAAa,GAAG,SAAS,CAAC;gBAC1B,UAAU,GAAG,MAAM,CAAC;YACtB,CAAC;QACH,CAAC;QAED,qDAAqD;QACrD,MAAM,SAAS,GAAG,YAAY,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,KAAK,IAAI,CAAC,CAAC;QAC3D,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,CAAC;QAEzE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,CAAC;IAC5C,CAAC;IAED,gEAAgE;IAEhE;;;;;;OAMG;IACH,KAAK,CAAC,WAAW,CAAC,QAA4B,EAAE,MAAsC;QACpF,IAAI,MAAM,EAAE,CAAC;YACX,IAAI,CAAC,YAAY,GAAG,EAAE,GAAG,IAAI,CAAC,YAAY,EAAE,GAAG,MAAM,EAAE,CAAC;QAC1D,CAAC;QAED,IAAI,SAAS,GAAG,CAAC,CAAC;QAClB,IAAI,YAAY,GAAG,CAAC,CAAC;QAErB,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC/B,MAAM,OAAO,GAAa,EAAE,CAAC;YAC7B,IAAI,CAAC,GAAG,CAAC,CAAC;YAEV,gCAAgC;YAChC,KAAK,IAAI,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;gBACnD,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,GAAG,CAAC,CAAC;gBAC1D,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YACrB,CAAC;YAED,sCAAsC;YACtC,MAAM,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC;YAErE,8BAA8B;YAC9B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC9C,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gBAC9B,MAAM,SAAS,GAAG,OAAO,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC;gBAExC,mDAAmD;gBACnD,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC;gBAC9B,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;oBACvC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;gBACzC,CAAC;gBAED,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,SAAS,CAAE,CAAC;gBACnD,MAAM,QAAQ,GAAG,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC;gBAC5D,OAAO,CAAC,CAAC,CAAC,IAAI,QAAQ,CAAC;gBAEvB,SAAS,IAAI,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YACnC,CAAC;YAED,YAAY,EAAE,CAAC;QACjB,CAAC;QAED,iBAAiB;QACjB,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC;QAC1D,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC;QAE9B,mCAAmC;QACnC,IAAI,CAAC,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,YAAY,CAAC,OAAO,GAAG,KAAK,CAAC,CAAC;QACzE,IAAI,CAAC,YAAY,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC;QAEjD,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;IAC3B,CAAC;IAED;;;;;;;;OAQG;IACH,KAAK,CAAC,aAAa,CAAC,KAAU,EAAE,MAAc,EAAE,SAAc,EAAE,MAAqC;QACnG,IAAI,MAAM,EAAE,CAAC;YACX,IAAI,CAAC,WAAW,GAAG,EAAE,GAAG,IAAI,CAAC,WAAW,EAAE,GAAG,MAAM,EAAE,CAAC;QACxD,CAAC;QAED,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QACvC,MAAM,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;QAE/C,oCAAoC;QACpC,MAAM,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAC1D,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;QAE3D,kCAAkC;QAClC,MAAM,OAAO,GAAG,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,GAAG,SAAS,GAAG,YAAY,CAAC;QAE3E,2CAA2C;QAC3C,MAAM,QAAQ,GAAG,YAAY,GAAG,IAAI,CAAC,WAAW,CAAC,YAAY,GAAG,OAAO,CAAC;QACxE,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QAE1C,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED;;;;;;;;OAQG;IACH,aAAa,CAAC,KAAU,EAAE,MAAc,EAAE,MAAc,EAAE,SAAc,EAAE,WAAmB,GAAG;QAC9F,gBAAgB;QAChB,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC,CAAC;QAE3E,uBAAuB;QACvB,IAAI,IAAI,CAAC,gBAAgB,CAAC,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE,CAAC;YAChE,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,CAAC;QAChC,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACH,gBAAgB,CAAC,SAAkB;QACjC,MAAM,IAAI,GAAG,SAAS,IAAI,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC;QAEtD,IAAI,IAAI,CAAC,gBAAgB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACvC,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,yDAAyD;QACzD,MAAM,aAAa,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC,CAAC;QAEnI,MAAM,KAAK,GAA0E,EAAE,CAAC;QAExF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YACtE,oBAAoB;YACpB,IAAI,IAAI,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,aAAa,CAAC;YACzC,IAAI,WAAW,GAAG,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;YAE3C,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;gBACxC,IAAI,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC;gBAChE,IAAI,IAAI,IAAI,CAAC,EAAE,CAAC;oBACd,WAAW,GAAG,GAAG,CAAC;oBAClB,MAAM;gBACR,CAAC;YACH,CAAC;YAED,KAAK,CAAC,IAAI,CAAC;gBACT,KAAK,EAAE,WAAW,CAAC,KAAK;gBACxB,MAAM,EAAE,WAAW,CAAC,MAAM;gBAC1B,MAAM,EAAE,WAAW,CAAC,MAAM;gBAC1B,SAAS,EAAE,WAAW,CAAC,SAAS;aACjC,CAAC,CAAC;QACL,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,eAAe,CACnB,WAA6B,EAC7B,WAAgC,EAChC,WAAmB;QAEnB,MAAM,iBAAiB,GAAG,IAAI,GAAG,EAAkB,CAAC;QAEpD,uDAAuD;QACvD,MAAM,SAAS,GAAG,WAAW,CAAC,IAAI,CAAC;QACnC,MAAM,UAAU,GAAG,WAAW,GAAG,SAAS,CAAC;QAE3C,KAAK,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,WAAW,EAAE,CAAC;YAC3C,MAAM,MAAM,GAAG,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,SAAS,CAAC;YAErD,oCAAoC;YACpC,MAAM,YAAY,GAAG,IAAI,CAAC,qBAAqB,CAAC,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;YACxE,MAAM,MAAM,GAAG,UAAU,GAAG,CAAC,GAAG,GAAG,YAAY,GAAG,GAAG,CAAC,CAAC;YAEvD,iBAAiB,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;YAEvC,sBAAsB;YACtB,MAAM,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,CAAC;oBACpC,KAAK;oBACL,MAAM;oBACN,MAAM;iBACP,CAAC,CAAC,CAAC;QACN,CAAC;QAED,OAAO,iBAAiB,CAAC;IAC3B,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,gBAAgB,CAAC,WAAmB,EAAE,WAAmB,EAAE,gBAAwB,GAAG;QAC1F,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;QAE3D,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAChC,OAAO,KAAK,CAAC;QACf,CAAC;QAED,0BAA0B;QAC1B,KAAK,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YACtD,IAAI,SAAS,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;gBACtC,MAAM,SAAS,GAAG,SAAS,CAAC,OAAO,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;gBAC9D,MAAM,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBAE/D,gBAAgB;gBAChB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,aAAa,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;oBACxE,aAAa,CAAC,CAAC,CAAC,GAAG,aAAa,GAAG,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,aAAa,CAAC,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC;gBACzF,CAAC;gBAED,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;YACnD,CAAC;QACH,CAAC;QAED,2BAA2B;QAC3B,KAAK,MAAM,CAAC,QAAQ,EAAE,KAAK,CAAC,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YAClD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;YACnC,IAAI,KAAK,CAAC,SAAS,KAAK,WAAW,EAAE,CAAC;gBACpC,MAAM,WAAW,GAAG,EAAE,GAAG,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,CAAC;gBACzD,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;gBAC9C,MAAM,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;gBAE1D,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,SAAS,EAAE,aAAa,GAAG,KAAK,GAAG,CAAC,CAAC,GAAG,aAAa,CAAC,GAAG,WAAW,CAAC,CAAC;YAC9F,CAAC;QACH,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;;;;OAQG;IACH,KAAK,CAAC,eAAe,CAAC,KAAU,EAAE,MAAc,EAAE,MAAc,EAAE,SAAc;QAC9E,2BAA2B;QAC3B,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACvF,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,GAAG,CAAC,CAAC,CAAC;QAElE,wBAAwB;QACxB,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;QAEjE,8CAA8C;QAC9C,IAAI,IAAI,CAAC,gBAAgB,CAAC,MAAM,IAAI,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,CAAC;YAChE,MAAM,KAAK,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAEtC,iCAAiC;YACjC,MAAM,WAAW,GAAqB;gBACpC,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;oBACvB,KAAK,EAAE,GAAG,CAAC,KAAK;oBAChB,MAAM,EAAE,GAAG,CAAC,MAAM;oBAClB,MAAM,EAAE,GAAG,CAAC,MAAM;iBACnB,CAAC,CAAC;gBACH,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,KAAK,CAAC,MAAM;aACvE,CAAC;YAEF,MAAM,IAAI,CAAC,WAAW,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC;QACxC,CAAC;QAED,iBAAiB;QACjB,IAAI,CAAC,OAAO,CAAC,aAAa,IAAI,MAAM,CAAC;QACrC,IAAI,CAAC,OAAO,CAAC,SAAS,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,cAAc,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,cAAc,GAAG,CAAC,CAAC,CAAC;QAE7H,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;OAEG;IACH,YAAY;QACV,OAAO,EAAE,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;IAC7B,CAAC;IAED;;OAEG;IACH,OAAO;QACL,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;QAC3B,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC;QAC1B,IAAI,CAAC,gBAAgB,GAAG,EAAE,CAAC;QAC3B,IAAI,CAAC,OAAO,GAAG;YACb,aAAa,EAAE,CAAC;YAChB,SAAS,EAAE,CAAC;YACZ,IAAI,EAAE,CAAC;YACP,OAAO,EAAE,IAAI,CAAC,YAAY,CAAC,OAAO;YAClC,cAAc,EAAE,CAAC;SAClB,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,WAAW,CAAC,MAIX;QACC,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;YAClB,IAAI,CAAC,YAAY,GAAG,EAAE,GAAG,IAAI,CAAC,YAAY,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;QACjE,CAAC;QACD,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;YACjB,IAAI,CAAC,WAAW,GAAG,EAAE,GAAG,IAAI,CAAC,WAAW,EAAE,GAAG,MAAM,CAAC,KAAK,EAAE,CAAC;QAC9D,CAAC;QACD,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;YAClB,IAAI,CAAC,YAAY,GAAG,EAAE,GAAG,IAAI,CAAC,YAAY,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;QACjE,CAAC;IACH,CAAC;IAED;;OAEG;IACK,qBAAqB,CAAC,OAAe,EAAE,KAAU,EAAE,MAAc;QACvE,8DAA8D;QAC9D,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QACvC,MAAM,UAAU,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAExD,sBAAsB;QACtB,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,UAAU,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IACxD,CAAC;CACF"}
@@ -1,93 +0,0 @@
1
- /**
2
- * LegacyAttentionAdapter - Compatibility layer for deprecated services/AttentionService
3
- *
4
- * This module re-exports the legacy config types and provides a backward-compatible
5
- * AttentionService class that delegates to the production controllers/AttentionService.
6
- *
7
- * Created as part of ADR-056: consolidation of services/AttentionService into controllers.
8
- *
9
- * @module LegacyAttentionAdapter
10
- */
11
- type Database = any;
12
- export interface HyperbolicAttentionConfig {
13
- enabled: boolean;
14
- curvature?: number;
15
- dimension?: number;
16
- temperature?: number;
17
- }
18
- export interface FlashAttentionConfig {
19
- enabled: boolean;
20
- blockSize?: number;
21
- useSIMD?: boolean;
22
- maxSeqLen?: number;
23
- }
24
- export interface GraphRoPEConfig {
25
- enabled: boolean;
26
- maxHops?: number;
27
- rotaryDim?: number;
28
- baseFreq?: number;
29
- }
30
- export interface MoEAttentionConfig {
31
- enabled: boolean;
32
- numExperts?: number;
33
- topK?: number;
34
- expertDomains?: string[];
35
- }
36
- export interface HyperbolicAttentionResult {
37
- attended: Float32Array;
38
- weights: Float32Array;
39
- distances: number[];
40
- metrics: {
41
- computeTimeMs: number;
42
- memoryUsedMB: number;
43
- };
44
- }
45
- export interface FlashAttentionResult {
46
- output: Float32Array;
47
- scores?: Float32Array;
48
- metrics: {
49
- computeTimeMs: number;
50
- peakMemoryMB: number;
51
- blocksProcessed: number;
52
- };
53
- }
54
- export interface GraphRoPEResult {
55
- queries: Float32Array;
56
- keys: Float32Array;
57
- hopEncodings: Float32Array;
58
- metrics: {
59
- computeTimeMs: number;
60
- };
61
- }
62
- /**
63
- * Backward-compatible AttentionService that delegates to the production
64
- * controllers/AttentionService while maintaining the legacy constructor
65
- * and method signatures used by ExplainableRecall, NightlyLearner, and
66
- * CausalMemoryGraph.
67
- */
68
- export declare class AttentionService {
69
- private delegate;
70
- private hyperbolicConfig;
71
- private flashConfig;
72
- private graphRoPEConfig;
73
- constructor(_db: Database, configs?: {
74
- hyperbolic?: Partial<HyperbolicAttentionConfig>;
75
- flash?: Partial<FlashAttentionConfig>;
76
- graphRoPE?: Partial<GraphRoPEConfig>;
77
- moe?: Partial<MoEAttentionConfig>;
78
- });
79
- hyperbolicAttention(queries: Float32Array, keys: Float32Array, values: Float32Array, hierarchyLevels: number[]): Promise<HyperbolicAttentionResult>;
80
- flashAttention(queries: Float32Array, keys: Float32Array, values: Float32Array): Promise<FlashAttentionResult>;
81
- graphRoPE(queries: Float32Array, keys: Float32Array, hopDistances: number[][]): Promise<GraphRoPEResult>;
82
- private fallbackHyperbolicAttention;
83
- private fallbackFlashAttention;
84
- private fallbackGraphRoPE;
85
- private softmax;
86
- getConfig(): {
87
- hyperbolic: HyperbolicAttentionConfig;
88
- flash: FlashAttentionConfig;
89
- graphRoPE: GraphRoPEConfig;
90
- };
91
- }
92
- export {};
93
- //# sourceMappingURL=LegacyAttentionAdapter.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"LegacyAttentionAdapter.d.ts","sourceRoot":"","sources":["../../../src/utils/LegacyAttentionAdapter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAMH,KAAK,QAAQ,GAAG,GAAG,CAAC;AAMpB,MAAM,WAAW,yBAAyB;IACxC,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;CAC1B;AAGD,MAAM,WAAW,yBAAyB;IACxC,QAAQ,EAAE,YAAY,CAAC;IACvB,OAAO,EAAE,YAAY,CAAC;IACtB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,OAAO,EAAE;QACP,aAAa,EAAE,MAAM,CAAC;QACtB,YAAY,EAAE,MAAM,CAAC;KACtB,CAAC;CACH;AAED,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,YAAY,CAAC;IACrB,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,OAAO,EAAE;QACP,aAAa,EAAE,MAAM,CAAC;QACtB,YAAY,EAAE,MAAM,CAAC;QACrB,eAAe,EAAE,MAAM,CAAC;KACzB,CAAC;CACH;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,YAAY,CAAC;IACtB,IAAI,EAAE,YAAY,CAAC;IACnB,YAAY,EAAE,YAAY,CAAC;IAC3B,OAAO,EAAE;QACP,aAAa,EAAE,MAAM,CAAC;KACvB,CAAC;CACH;AAMD;;;;;GAKG;AACH,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,QAAQ,CAA8B;IAC9C,OAAO,CAAC,gBAAgB,CAA4B;IACpD,OAAO,CAAC,WAAW,CAAuB;IAC1C,OAAO,CAAC,eAAe,CAAkB;gBAGvC,GAAG,EAAE,QAAQ,EACb,OAAO,CAAC,EAAE;QACR,UAAU,CAAC,EAAE,OAAO,CAAC,yBAAyB,CAAC,CAAC;QAChD,KAAK,CAAC,EAAE,OAAO,CAAC,oBAAoB,CAAC,CAAC;QACtC,SAAS,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC,CAAC;QACrC,GAAG,CAAC,EAAE,OAAO,CAAC,kBAAkB,CAAC,CAAC;KACnC;IAoCG,mBAAmB,CACvB,OAAO,EAAE,YAAY,EACrB,IAAI,EAAE,YAAY,EAClB,MAAM,EAAE,YAAY,EACpB,eAAe,EAAE,MAAM,EAAE,GACxB,OAAO,CAAC,yBAAyB,CAAC;IA+B/B,cAAc,CAClB,OAAO,EAAE,YAAY,EACrB,IAAI,EAAE,YAAY,EAClB,MAAM,EAAE,YAAY,GACnB,OAAO,CAAC,oBAAoB,CAAC;IAwB1B,SAAS,CACb,OAAO,EAAE,YAAY,EACrB,IAAI,EAAE,YAAY,EAClB,YAAY,EAAE,MAAM,EAAE,EAAE,GACvB,OAAO,CAAC,eAAe,CAAC;IAU3B,OAAO,CAAC,2BAA2B;IAkDnC,OAAO,CAAC,sBAAsB;IA2D9B,OAAO,CAAC,iBAAiB;IAqCzB,OAAO,CAAC,OAAO;IAuBf,SAAS;;;;;CAOV"}