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.
- package/dist/src/backends/graph/GraphDatabaseAdapter.d.ts +54 -0
- package/dist/src/backends/graph/GraphDatabaseAdapter.d.ts.map +1 -1
- package/dist/src/backends/graph/GraphDatabaseAdapter.js +125 -0
- package/dist/src/backends/graph/GraphDatabaseAdapter.js.map +1 -1
- package/dist/src/cli/agentdb-cli.js +0 -0
- package/dist/src/controllers/ReflexionMemory.d.ts +50 -0
- package/dist/src/controllers/ReflexionMemory.d.ts.map +1 -1
- package/dist/src/controllers/ReflexionMemory.js +258 -0
- package/dist/src/controllers/ReflexionMemory.js.map +1 -1
- package/dist/src/controllers/index.d.ts +2 -0
- package/dist/src/controllers/index.d.ts.map +1 -1
- package/dist/src/controllers/index.js +2 -0
- package/dist/src/controllers/index.js.map +1 -1
- package/dist/src/controllers/prerequisites.d.ts +76 -0
- package/dist/src/controllers/prerequisites.d.ts.map +1 -0
- package/dist/src/controllers/prerequisites.js +235 -0
- package/dist/src/controllers/prerequisites.js.map +1 -0
- package/dist/src/db-fallback.d.ts.map +1 -1
- package/dist/src/db-fallback.js +55 -45
- package/dist/src/db-fallback.js.map +1 -1
- package/package.json +1 -1
- package/dist/schemas/frontier-schema.sql +0 -378
- package/dist/schemas/schema.sql +0 -382
- package/dist/src/backends/index.cjs +0 -6
- package/dist/src/backends/ruvector/GuardedVectorBackend.d.ts +0 -93
- package/dist/src/backends/ruvector/GuardedVectorBackend.d.ts.map +0 -1
- package/dist/src/backends/ruvector/GuardedVectorBackend.js +0 -182
- package/dist/src/backends/ruvector/GuardedVectorBackend.js.map +0 -1
- package/dist/src/consensus/RaftConsensus.d.ts +0 -220
- package/dist/src/consensus/RaftConsensus.d.ts.map +0 -1
- package/dist/src/consensus/RaftConsensus.js +0 -762
- package/dist/src/consensus/RaftConsensus.js.map +0 -1
- package/dist/src/controllers/HierarchicalMemory.d.ts +0 -197
- package/dist/src/controllers/HierarchicalMemory.d.ts.map +0 -1
- package/dist/src/controllers/HierarchicalMemory.js +0 -519
- package/dist/src/controllers/HierarchicalMemory.js.map +0 -1
- package/dist/src/controllers/MemoryConsolidation.d.ts +0 -142
- package/dist/src/controllers/MemoryConsolidation.d.ts.map +0 -1
- package/dist/src/controllers/MemoryConsolidation.js +0 -479
- package/dist/src/controllers/MemoryConsolidation.js.map +0 -1
- package/dist/src/controllers/QUICConnection.d.ts +0 -122
- package/dist/src/controllers/QUICConnection.d.ts.map +0 -1
- package/dist/src/controllers/QUICConnection.js +0 -329
- package/dist/src/controllers/QUICConnection.js.map +0 -1
- package/dist/src/controllers/QUICConnectionPool.d.ts +0 -83
- package/dist/src/controllers/QUICConnectionPool.d.ts.map +0 -1
- package/dist/src/controllers/QUICConnectionPool.js +0 -256
- package/dist/src/controllers/QUICConnectionPool.js.map +0 -1
- package/dist/src/controllers/QUICStreamManager.d.ts +0 -114
- package/dist/src/controllers/QUICStreamManager.d.ts.map +0 -1
- package/dist/src/controllers/QUICStreamManager.js +0 -267
- package/dist/src/controllers/QUICStreamManager.js.map +0 -1
- package/dist/src/controllers/StreamingEmbeddingService.d.ts +0 -82
- package/dist/src/controllers/StreamingEmbeddingService.d.ts.map +0 -1
- package/dist/src/controllers/StreamingEmbeddingService.js +0 -243
- package/dist/src/controllers/StreamingEmbeddingService.js.map +0 -1
- package/dist/src/controllers/index.cjs +0 -6
- package/dist/src/coordination/MultiDatabaseCoordinator.d.ts +0 -348
- package/dist/src/coordination/MultiDatabaseCoordinator.d.ts.map +0 -1
- package/dist/src/coordination/MultiDatabaseCoordinator.js +0 -803
- package/dist/src/coordination/MultiDatabaseCoordinator.js.map +0 -1
- package/dist/src/coordination/index.d.ts +0 -10
- package/dist/src/coordination/index.d.ts.map +0 -1
- package/dist/src/coordination/index.js +0 -10
- package/dist/src/coordination/index.js.map +0 -1
- package/dist/src/index.cjs +0 -6
- package/dist/src/optimizations/RVFOptimizer.d.ts +0 -226
- package/dist/src/optimizations/RVFOptimizer.d.ts.map +0 -1
- package/dist/src/optimizations/RVFOptimizer.js +0 -541
- package/dist/src/optimizations/RVFOptimizer.js.map +0 -1
- package/dist/src/security/AttestationLog.d.ts +0 -70
- package/dist/src/security/AttestationLog.d.ts.map +0 -1
- package/dist/src/security/AttestationLog.js +0 -174
- package/dist/src/security/AttestationLog.js.map +0 -1
- package/dist/src/security/MutationGuard.d.ts +0 -83
- package/dist/src/security/MutationGuard.d.ts.map +0 -1
- package/dist/src/security/MutationGuard.js +0 -364
- package/dist/src/security/MutationGuard.js.map +0 -1
- package/dist/src/security/index.cjs +0 -6
- package/dist/src/security/index.d.ts +0 -15
- package/dist/src/security/index.d.ts.map +0 -1
- package/dist/src/security/index.js +0 -18
- package/dist/src/security/index.js.map +0 -1
- package/dist/src/services/GNNService.d.ts +0 -173
- package/dist/src/services/GNNService.d.ts.map +0 -1
- package/dist/src/services/GNNService.js +0 -639
- package/dist/src/services/GNNService.js.map +0 -1
- package/dist/src/services/GraphTransformerService.d.ts +0 -80
- package/dist/src/services/GraphTransformerService.d.ts.map +0 -1
- package/dist/src/services/GraphTransformerService.js +0 -369
- package/dist/src/services/GraphTransformerService.js.map +0 -1
- package/dist/src/services/SemanticRouter.d.ts +0 -83
- package/dist/src/services/SemanticRouter.d.ts.map +0 -1
- package/dist/src/services/SemanticRouter.js +0 -160
- package/dist/src/services/SemanticRouter.js.map +0 -1
- package/dist/src/services/SonaTrajectoryService.d.ts +0 -224
- package/dist/src/services/SonaTrajectoryService.d.ts.map +0 -1
- package/dist/src/services/SonaTrajectoryService.js +0 -539
- package/dist/src/services/SonaTrajectoryService.js.map +0 -1
- package/dist/src/utils/LegacyAttentionAdapter.d.ts +0 -93
- package/dist/src/utils/LegacyAttentionAdapter.d.ts.map +0 -1
- package/dist/src/utils/LegacyAttentionAdapter.js +0 -241
- package/dist/src/utils/LegacyAttentionAdapter.js.map +0 -1
- package/dist/src/utils/vector-math.d.ts +0 -29
- package/dist/src/utils/vector-math.d.ts.map +0 -1
- package/dist/src/utils/vector-math.js +0 -66
- 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":"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"}
|
|
@@ -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":"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"}
|