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,160 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* SemanticRouter - Wraps @ruvector/router for semantic intent routing
|
|
3
|
-
*
|
|
4
|
-
* Provides semantic query routing to named intent routes using
|
|
5
|
-
* @ruvector/router for embedding-based matching. Falls back to
|
|
6
|
-
* keyword matching if @ruvector/router is not available.
|
|
7
|
-
*
|
|
8
|
-
* Usage:
|
|
9
|
-
* const router = new SemanticRouter();
|
|
10
|
-
* await router.initialize();
|
|
11
|
-
* await router.addRoute('search', 'Find information in memory', ['find', 'search', 'lookup']);
|
|
12
|
-
* await router.addRoute('store', 'Save information to memory', ['save', 'store', 'remember']);
|
|
13
|
-
* const { route, confidence } = await router.route('find me the latest results');
|
|
14
|
-
*/
|
|
15
|
-
export class SemanticRouter {
|
|
16
|
-
router = null;
|
|
17
|
-
available = false;
|
|
18
|
-
engineType = 'js';
|
|
19
|
-
routes = new Map();
|
|
20
|
-
/**
|
|
21
|
-
* Initialize the semantic router
|
|
22
|
-
*
|
|
23
|
-
* ADR-062 Phase 2: Tries native @ruvector/router (NAPI-RS) first,
|
|
24
|
-
* falls back to keyword matching. Reports engine type for monitoring.
|
|
25
|
-
*
|
|
26
|
-
* @returns true if @ruvector/router was loaded, false if using fallback
|
|
27
|
-
*/
|
|
28
|
-
async initialize() {
|
|
29
|
-
try {
|
|
30
|
-
const mod = await import('@ruvector/router');
|
|
31
|
-
const Router = mod.Router || mod.default?.Router || mod.default;
|
|
32
|
-
if (Router) {
|
|
33
|
-
this.router = typeof Router === 'function' ? new Router() : Router;
|
|
34
|
-
this.available = true;
|
|
35
|
-
this.engineType = 'native';
|
|
36
|
-
console.log('[SemanticRouter] Using native @ruvector/router');
|
|
37
|
-
return true;
|
|
38
|
-
}
|
|
39
|
-
this.available = false;
|
|
40
|
-
this.engineType = 'js';
|
|
41
|
-
return false;
|
|
42
|
-
}
|
|
43
|
-
catch {
|
|
44
|
-
this.available = false;
|
|
45
|
-
this.engineType = 'js';
|
|
46
|
-
return false;
|
|
47
|
-
}
|
|
48
|
-
}
|
|
49
|
-
/**
|
|
50
|
-
* Get the active engine type: 'native' or 'js'
|
|
51
|
-
*/
|
|
52
|
-
getEngineType() {
|
|
53
|
-
return this.engineType;
|
|
54
|
-
}
|
|
55
|
-
/**
|
|
56
|
-
* Add a named route with description and optional keywords
|
|
57
|
-
*
|
|
58
|
-
* When @ruvector/router is available, the description is used to
|
|
59
|
-
* generate an embedding for semantic matching. Keywords are used
|
|
60
|
-
* as fallback when the router is not available.
|
|
61
|
-
*
|
|
62
|
-
* @param name - Unique route identifier
|
|
63
|
-
* @param description - Natural language description for semantic matching
|
|
64
|
-
* @param keywords - Fallback keywords for simple matching
|
|
65
|
-
*/
|
|
66
|
-
async addRoute(name, description, keywords = []) {
|
|
67
|
-
this.routes.set(name, { keywords });
|
|
68
|
-
if (this.router) {
|
|
69
|
-
try {
|
|
70
|
-
if (typeof this.router.addRoute === 'function') {
|
|
71
|
-
await this.router.addRoute(name, description);
|
|
72
|
-
}
|
|
73
|
-
else if (typeof this.router.add === 'function') {
|
|
74
|
-
await this.router.add(name, description);
|
|
75
|
-
}
|
|
76
|
-
}
|
|
77
|
-
catch {
|
|
78
|
-
// Fall through to keyword matching for this route
|
|
79
|
-
}
|
|
80
|
-
}
|
|
81
|
-
}
|
|
82
|
-
/**
|
|
83
|
-
* Route a query to the best matching route
|
|
84
|
-
*
|
|
85
|
-
* Uses semantic similarity via @ruvector/router when available,
|
|
86
|
-
* otherwise falls back to keyword frequency matching.
|
|
87
|
-
*
|
|
88
|
-
* @param query - Natural language query to route
|
|
89
|
-
* @returns Route name and confidence score (0-1)
|
|
90
|
-
*/
|
|
91
|
-
async route(query) {
|
|
92
|
-
// Try semantic routing first
|
|
93
|
-
if (this.router) {
|
|
94
|
-
try {
|
|
95
|
-
let result;
|
|
96
|
-
if (typeof this.router.route === 'function') {
|
|
97
|
-
result = await this.router.route(query);
|
|
98
|
-
}
|
|
99
|
-
else if (typeof this.router.match === 'function') {
|
|
100
|
-
result = await this.router.match(query);
|
|
101
|
-
}
|
|
102
|
-
if (result) {
|
|
103
|
-
return {
|
|
104
|
-
route: result.name || result.route || String(result),
|
|
105
|
-
confidence: result.score || result.confidence || 0.9
|
|
106
|
-
};
|
|
107
|
-
}
|
|
108
|
-
}
|
|
109
|
-
catch {
|
|
110
|
-
// Fall through to keyword matching
|
|
111
|
-
}
|
|
112
|
-
}
|
|
113
|
-
// Keyword fallback
|
|
114
|
-
return this.keywordMatch(query);
|
|
115
|
-
}
|
|
116
|
-
/**
|
|
117
|
-
* Remove a route by name
|
|
118
|
-
*/
|
|
119
|
-
removeRoute(name) {
|
|
120
|
-
return this.routes.delete(name);
|
|
121
|
-
}
|
|
122
|
-
/**
|
|
123
|
-
* Get all registered route names
|
|
124
|
-
*/
|
|
125
|
-
getRoutes() {
|
|
126
|
-
return Array.from(this.routes.keys());
|
|
127
|
-
}
|
|
128
|
-
/**
|
|
129
|
-
* Check if @ruvector/router is available
|
|
130
|
-
*/
|
|
131
|
-
isAvailable() {
|
|
132
|
-
return this.available;
|
|
133
|
-
}
|
|
134
|
-
/**
|
|
135
|
-
* Keyword-based fallback routing
|
|
136
|
-
*
|
|
137
|
-
* Scores each route by the fraction of its keywords
|
|
138
|
-
* that appear in the query string (case-insensitive).
|
|
139
|
-
*/
|
|
140
|
-
keywordMatch(query) {
|
|
141
|
-
let bestMatch = '';
|
|
142
|
-
let bestScore = 0;
|
|
143
|
-
const queryLower = query.toLowerCase();
|
|
144
|
-
for (const [name, config] of this.routes) {
|
|
145
|
-
if (config.keywords.length === 0)
|
|
146
|
-
continue;
|
|
147
|
-
const matches = config.keywords.filter(k => queryLower.includes(k.toLowerCase())).length;
|
|
148
|
-
const score = matches / config.keywords.length;
|
|
149
|
-
if (score > bestScore) {
|
|
150
|
-
bestScore = score;
|
|
151
|
-
bestMatch = name;
|
|
152
|
-
}
|
|
153
|
-
}
|
|
154
|
-
return {
|
|
155
|
-
route: bestMatch || 'default',
|
|
156
|
-
confidence: bestScore
|
|
157
|
-
};
|
|
158
|
-
}
|
|
159
|
-
}
|
|
160
|
-
//# sourceMappingURL=SemanticRouter.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"SemanticRouter.js","sourceRoot":"","sources":["../../../src/services/SemanticRouter.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,224 +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 interface TrajectoryStep {
|
|
23
|
-
state: any;
|
|
24
|
-
action: string;
|
|
25
|
-
reward: number;
|
|
26
|
-
}
|
|
27
|
-
export interface StoredTrajectory {
|
|
28
|
-
steps: TrajectoryStep[];
|
|
29
|
-
reward: number;
|
|
30
|
-
}
|
|
31
|
-
export interface PredictionResult {
|
|
32
|
-
action: string;
|
|
33
|
-
confidence: number;
|
|
34
|
-
}
|
|
35
|
-
export interface SonaStats {
|
|
36
|
-
available: boolean;
|
|
37
|
-
trajectoryCount: number;
|
|
38
|
-
agentTypes: string[];
|
|
39
|
-
}
|
|
40
|
-
export interface PolicyGradientConfig {
|
|
41
|
-
learningRate: number;
|
|
42
|
-
gamma: number;
|
|
43
|
-
epsilon: number;
|
|
44
|
-
entropyCoeff: number;
|
|
45
|
-
}
|
|
46
|
-
export interface ValueFunctionConfig {
|
|
47
|
-
learningRate: number;
|
|
48
|
-
gamma: number;
|
|
49
|
-
lambda: number;
|
|
50
|
-
}
|
|
51
|
-
export interface ExperienceReplayConfig {
|
|
52
|
-
bufferSize: number;
|
|
53
|
-
batchSize: number;
|
|
54
|
-
priorityAlpha: number;
|
|
55
|
-
priorityBeta: number;
|
|
56
|
-
}
|
|
57
|
-
export interface RLMetrics {
|
|
58
|
-
episodeReward: number;
|
|
59
|
-
avgReward: number;
|
|
60
|
-
loss: number;
|
|
61
|
-
epsilon: number;
|
|
62
|
-
iterationCount: number;
|
|
63
|
-
}
|
|
64
|
-
export declare class SonaTrajectoryService {
|
|
65
|
-
private sona;
|
|
66
|
-
private available;
|
|
67
|
-
private engineType;
|
|
68
|
-
private trajectories;
|
|
69
|
-
private policyConfig;
|
|
70
|
-
private valueConfig;
|
|
71
|
-
private replayConfig;
|
|
72
|
-
private experienceBuffer;
|
|
73
|
-
private metrics;
|
|
74
|
-
private policyWeights;
|
|
75
|
-
private valueWeights;
|
|
76
|
-
/**
|
|
77
|
-
* Initialize the trajectory service
|
|
78
|
-
*
|
|
79
|
-
* ADR-062 Phase 2: Tries native @ruvector/sona (NAPI-RS) first,
|
|
80
|
-
* falls back to in-memory trajectory storage. Reports engine type.
|
|
81
|
-
*
|
|
82
|
-
* @returns true if @ruvector/sona was loaded, false if using fallback
|
|
83
|
-
*/
|
|
84
|
-
initialize(): Promise<boolean>;
|
|
85
|
-
/**
|
|
86
|
-
* Get the active engine type: 'native' or 'js'
|
|
87
|
-
*/
|
|
88
|
-
getEngineType(): string;
|
|
89
|
-
/**
|
|
90
|
-
* Record a trajectory for an agent type
|
|
91
|
-
*
|
|
92
|
-
* When @ruvector/sona is available, steps are forwarded to the RL engine.
|
|
93
|
-
* Otherwise, trajectories are stored in memory for pattern analysis.
|
|
94
|
-
*
|
|
95
|
-
* @param agentType - Type of agent (e.g., 'coder', 'reviewer')
|
|
96
|
-
* @param steps - Sequence of state-action-reward tuples
|
|
97
|
-
*/
|
|
98
|
-
recordTrajectory(agentType: string, steps: TrajectoryStep[]): Promise<void>;
|
|
99
|
-
/**
|
|
100
|
-
* Predict the next action given a state
|
|
101
|
-
*
|
|
102
|
-
* When @ruvector/sona is available, uses the RL model for prediction.
|
|
103
|
-
* Otherwise, uses frequency-based prediction from stored trajectories.
|
|
104
|
-
*
|
|
105
|
-
* @param state - Current state to predict action for
|
|
106
|
-
* @returns Predicted action and confidence score
|
|
107
|
-
*/
|
|
108
|
-
predict(state: any): Promise<PredictionResult>;
|
|
109
|
-
/**
|
|
110
|
-
* Get trajectory patterns, optionally filtered by agent type
|
|
111
|
-
*
|
|
112
|
-
* When @ruvector/sona is available, queries the RL engine for patterns.
|
|
113
|
-
* Otherwise, returns stored trajectories.
|
|
114
|
-
*
|
|
115
|
-
* @param agentType - Optional agent type filter
|
|
116
|
-
* @returns Array of trajectory patterns
|
|
117
|
-
*/
|
|
118
|
-
getPatterns(agentType?: string): Promise<StoredTrajectory[]>;
|
|
119
|
-
/**
|
|
120
|
-
* Check if @ruvector/sona is available
|
|
121
|
-
*/
|
|
122
|
-
isAvailable(): boolean;
|
|
123
|
-
/**
|
|
124
|
-
* Get service statistics
|
|
125
|
-
*/
|
|
126
|
-
getStats(): SonaStats;
|
|
127
|
-
/**
|
|
128
|
-
* Clear all stored trajectories for an agent type, or all if not specified
|
|
129
|
-
*/
|
|
130
|
-
clear(agentType?: string): void;
|
|
131
|
-
/**
|
|
132
|
-
* Frequency-based action prediction from stored trajectories
|
|
133
|
-
*/
|
|
134
|
-
private frequencyPredict;
|
|
135
|
-
/**
|
|
136
|
-
* Train policy using Policy Gradient (REINFORCE with baseline)
|
|
137
|
-
*
|
|
138
|
-
* @param episodes - Array of trajectories to learn from
|
|
139
|
-
* @param config - Optional policy gradient configuration
|
|
140
|
-
* @returns Training loss
|
|
141
|
-
*/
|
|
142
|
-
trainPolicy(episodes: StoredTrajectory[], config?: Partial<PolicyGradientConfig>): Promise<number>;
|
|
143
|
-
/**
|
|
144
|
-
* Estimate value function using TD learning
|
|
145
|
-
*
|
|
146
|
-
* @param state - State to estimate value for
|
|
147
|
-
* @param reward - Observed reward
|
|
148
|
-
* @param nextState - Next state
|
|
149
|
-
* @param config - Optional value function configuration
|
|
150
|
-
* @returns Estimated value
|
|
151
|
-
*/
|
|
152
|
-
estimateValue(state: any, reward: number, nextState: any, config?: Partial<ValueFunctionConfig>): Promise<number>;
|
|
153
|
-
/**
|
|
154
|
-
* Add experience to replay buffer with priority sampling
|
|
155
|
-
*
|
|
156
|
-
* @param state - Current state
|
|
157
|
-
* @param action - Action taken
|
|
158
|
-
* @param reward - Reward received
|
|
159
|
-
* @param nextState - Resulting state
|
|
160
|
-
* @param priority - Experience priority (default: 1.0)
|
|
161
|
-
*/
|
|
162
|
-
addExperience(state: any, action: string, reward: number, nextState: any, priority?: number): void;
|
|
163
|
-
/**
|
|
164
|
-
* Sample batch from experience replay buffer with priority sampling
|
|
165
|
-
*
|
|
166
|
-
* @param batchSize - Optional batch size (default: from config)
|
|
167
|
-
* @returns Batch of experiences
|
|
168
|
-
*/
|
|
169
|
-
sampleExperience(batchSize?: number): Array<{
|
|
170
|
-
state: any;
|
|
171
|
-
action: string;
|
|
172
|
-
reward: number;
|
|
173
|
-
nextState: any;
|
|
174
|
-
}>;
|
|
175
|
-
/**
|
|
176
|
-
* Multi-agent reinforcement learning coordination
|
|
177
|
-
*
|
|
178
|
-
* @param agentStates - Map of agent IDs to their states
|
|
179
|
-
* @param jointAction - Joint action taken by all agents
|
|
180
|
-
* @param jointReward - Shared reward
|
|
181
|
-
* @returns Individual rewards for each agent
|
|
182
|
-
*/
|
|
183
|
-
multiAgentLearn(agentStates: Map<string, any>, jointAction: Map<string, string>, jointReward: number): Promise<Map<string, number>>;
|
|
184
|
-
/**
|
|
185
|
-
* Transfer learning: apply knowledge from source task to target task
|
|
186
|
-
*
|
|
187
|
-
* @param sourceAgent - Agent type to transfer from
|
|
188
|
-
* @param targetAgent - Agent type to transfer to
|
|
189
|
-
* @param transferRatio - How much knowledge to transfer (0-1)
|
|
190
|
-
* @returns Success indicator
|
|
191
|
-
*/
|
|
192
|
-
transferLearning(sourceAgent: string, targetAgent: string, transferRatio?: number): Promise<boolean>;
|
|
193
|
-
/**
|
|
194
|
-
* Continuous learning: update model with new experience
|
|
195
|
-
*
|
|
196
|
-
* @param state - Current state
|
|
197
|
-
* @param action - Action taken
|
|
198
|
-
* @param reward - Reward received
|
|
199
|
-
* @param nextState - Resulting state
|
|
200
|
-
* @returns Updated value estimate
|
|
201
|
-
*/
|
|
202
|
-
continuousLearn(state: any, action: string, reward: number, nextState: any): Promise<number>;
|
|
203
|
-
/**
|
|
204
|
-
* Get current RL metrics
|
|
205
|
-
*/
|
|
206
|
-
getRLMetrics(): RLMetrics;
|
|
207
|
-
/**
|
|
208
|
-
* Reset RL state (for new training session)
|
|
209
|
-
*/
|
|
210
|
-
resetRL(): void;
|
|
211
|
-
/**
|
|
212
|
-
* Configure RL parameters
|
|
213
|
-
*/
|
|
214
|
-
configureRL(config: {
|
|
215
|
-
policy?: Partial<PolicyGradientConfig>;
|
|
216
|
-
value?: Partial<ValueFunctionConfig>;
|
|
217
|
-
replay?: Partial<ExperienceReplayConfig>;
|
|
218
|
-
}): void;
|
|
219
|
-
/**
|
|
220
|
-
* Calculate agent contribution to joint reward (simplified)
|
|
221
|
-
*/
|
|
222
|
-
private calculateContribution;
|
|
223
|
-
}
|
|
224
|
-
//# sourceMappingURL=SonaTrajectoryService.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"SonaTrajectoryService.d.ts","sourceRoot":"","sources":["../../../src/services/SonaTrajectoryService.ts"],"names":[],"mappings":"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"}
|