@agentic-robotics/mcp 0.1.3 → 0.2.0
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/benchmark.d.ts +97 -0
- package/dist/benchmark.d.ts.map +1 -0
- package/dist/benchmark.js +330 -0
- package/dist/benchmark.js.map +1 -0
- package/dist/cli.d.ts +6 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +79 -0
- package/dist/cli.js.map +1 -0
- package/dist/enhanced-memory.d.ts +118 -0
- package/dist/enhanced-memory.d.ts.map +1 -0
- package/dist/enhanced-memory.js +296 -0
- package/dist/enhanced-memory.js.map +1 -0
- package/dist/enhanced-server.d.ts +122 -0
- package/dist/enhanced-server.d.ts.map +1 -0
- package/dist/enhanced-server.js +361 -0
- package/dist/enhanced-server.js.map +1 -0
- package/dist/flow-orchestrator.d.ts +75 -0
- package/dist/flow-orchestrator.d.ts.map +1 -0
- package/dist/flow-orchestrator.js +350 -0
- package/dist/flow-orchestrator.js.map +1 -0
- package/dist/hybrid-benchmark.d.ts +44 -0
- package/dist/hybrid-benchmark.d.ts.map +1 -0
- package/dist/hybrid-benchmark.js +232 -0
- package/dist/hybrid-benchmark.js.map +1 -0
- package/dist/hybrid-memory.d.ts +81 -0
- package/dist/hybrid-memory.d.ts.map +1 -0
- package/dist/hybrid-memory.js +296 -0
- package/dist/hybrid-memory.js.map +1 -0
- package/dist/index.d.ts +10 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +10 -0
- package/dist/index.js.map +1 -0
- package/dist/interface.d.ts +38 -0
- package/dist/interface.d.ts.map +1 -0
- package/dist/interface.js +75 -0
- package/dist/interface.js.map +1 -0
- package/dist/memory.d.ts +52 -0
- package/dist/memory.d.ts.map +1 -0
- package/dist/memory.js +230 -0
- package/dist/memory.js.map +1 -0
- package/dist/optimized-benchmark.d.ts +74 -0
- package/dist/optimized-benchmark.d.ts.map +1 -0
- package/dist/optimized-benchmark.js +231 -0
- package/dist/optimized-benchmark.js.map +1 -0
- package/dist/server.d.ts +55 -0
- package/dist/server.d.ts.map +1 -0
- package/dist/server.js +147 -0
- package/dist/server.js.map +1 -0
- package/package.json +3 -2
- package/src/enhanced-server.ts +1 -1
- package/src/flow-orchestrator.ts +177 -117
- package/src/hybrid-memory.ts +2 -2
- package/src/memory.ts +171 -52
- package/src/optimized-benchmark.ts +0 -302
- package/src/optimized-memory.ts +0 -271
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Comprehensive Benchmark Suite
|
|
3
|
+
*
|
|
4
|
+
* Benchmarks AgentDB and agentic-flow integration performance
|
|
5
|
+
*/
|
|
6
|
+
interface BenchmarkResult {
|
|
7
|
+
name: string;
|
|
8
|
+
iterations: number;
|
|
9
|
+
totalTime: number;
|
|
10
|
+
avgTime: number;
|
|
11
|
+
minTime: number;
|
|
12
|
+
maxTime: number;
|
|
13
|
+
opsPerSec: number;
|
|
14
|
+
p50: number;
|
|
15
|
+
p95: number;
|
|
16
|
+
p99: number;
|
|
17
|
+
}
|
|
18
|
+
interface BenchmarkSuite {
|
|
19
|
+
agentdb: {
|
|
20
|
+
storeEpisode: BenchmarkResult;
|
|
21
|
+
retrieveMemories: BenchmarkResult;
|
|
22
|
+
queryWithContext: BenchmarkResult;
|
|
23
|
+
consolidateSkills: BenchmarkResult;
|
|
24
|
+
searchSkills: BenchmarkResult;
|
|
25
|
+
};
|
|
26
|
+
agenticFlow: {
|
|
27
|
+
executeTask: BenchmarkResult;
|
|
28
|
+
executeSwarm: BenchmarkResult;
|
|
29
|
+
coordinateRobots: BenchmarkResult;
|
|
30
|
+
reasonAboutTask: BenchmarkResult;
|
|
31
|
+
};
|
|
32
|
+
overall: {
|
|
33
|
+
totalTime: number;
|
|
34
|
+
timestamp: string;
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
export declare class IntegrationBenchmark {
|
|
38
|
+
private memory;
|
|
39
|
+
private orchestrator;
|
|
40
|
+
constructor();
|
|
41
|
+
initialize(): Promise<void>;
|
|
42
|
+
/**
|
|
43
|
+
* Run complete benchmark suite
|
|
44
|
+
*/
|
|
45
|
+
runAll(): Promise<BenchmarkSuite>;
|
|
46
|
+
/**
|
|
47
|
+
* Benchmark: Store Episode
|
|
48
|
+
*/
|
|
49
|
+
private benchmarkStoreEpisode;
|
|
50
|
+
/**
|
|
51
|
+
* Benchmark: Retrieve Memories
|
|
52
|
+
*/
|
|
53
|
+
private benchmarkRetrieveMemories;
|
|
54
|
+
/**
|
|
55
|
+
* Benchmark: Query with Context
|
|
56
|
+
*/
|
|
57
|
+
private benchmarkQueryWithContext;
|
|
58
|
+
/**
|
|
59
|
+
* Benchmark: Consolidate Skills
|
|
60
|
+
*/
|
|
61
|
+
private benchmarkConsolidateSkills;
|
|
62
|
+
/**
|
|
63
|
+
* Benchmark: Search Skills
|
|
64
|
+
*/
|
|
65
|
+
private benchmarkSearchSkills;
|
|
66
|
+
/**
|
|
67
|
+
* Benchmark: Execute Task
|
|
68
|
+
*/
|
|
69
|
+
private benchmarkExecuteTask;
|
|
70
|
+
/**
|
|
71
|
+
* Benchmark: Execute Swarm
|
|
72
|
+
*/
|
|
73
|
+
private benchmarkExecuteSwarm;
|
|
74
|
+
/**
|
|
75
|
+
* Benchmark: Coordinate Robots
|
|
76
|
+
*/
|
|
77
|
+
private benchmarkCoordinateRobots;
|
|
78
|
+
/**
|
|
79
|
+
* Benchmark: Reason About Task
|
|
80
|
+
*/
|
|
81
|
+
private benchmarkReasonAboutTask;
|
|
82
|
+
/**
|
|
83
|
+
* Calculate statistics from timing data
|
|
84
|
+
*/
|
|
85
|
+
private calculateStats;
|
|
86
|
+
/**
|
|
87
|
+
* Print benchmark result
|
|
88
|
+
*/
|
|
89
|
+
private printResult;
|
|
90
|
+
/**
|
|
91
|
+
* Export results to JSON
|
|
92
|
+
*/
|
|
93
|
+
exportResults(suite: BenchmarkSuite, filename: string): Promise<void>;
|
|
94
|
+
close(): Promise<void>;
|
|
95
|
+
}
|
|
96
|
+
export {};
|
|
97
|
+
//# sourceMappingURL=benchmark.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"benchmark.d.ts","sourceRoot":"","sources":["../src/benchmark.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAKH,UAAU,eAAe;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;CACb;AAED,UAAU,cAAc;IACtB,OAAO,EAAE;QACP,YAAY,EAAE,eAAe,CAAC;QAC9B,gBAAgB,EAAE,eAAe,CAAC;QAClC,gBAAgB,EAAE,eAAe,CAAC;QAClC,iBAAiB,EAAE,eAAe,CAAC;QACnC,YAAY,EAAE,eAAe,CAAC;KAC/B,CAAC;IACF,WAAW,EAAE;QACX,WAAW,EAAE,eAAe,CAAC;QAC7B,YAAY,EAAE,eAAe,CAAC;QAC9B,gBAAgB,EAAE,eAAe,CAAC;QAClC,eAAe,EAAE,eAAe,CAAC;KAClC,CAAC;IACF,OAAO,EAAE;QACP,SAAS,EAAE,MAAM,CAAC;QAClB,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC;CACH;AAED,qBAAa,oBAAoB;IAC/B,OAAO,CAAC,MAAM,CAAwB;IACtC,OAAO,CAAC,YAAY,CAAmB;;IAYjC,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAOjC;;OAEG;IACG,MAAM,IAAI,OAAO,CAAC,cAAc,CAAC;IAqEvC;;OAEG;YACW,qBAAqB;IA0BnC;;OAEG;YACW,yBAAyB;IA6BvC;;OAEG;YACW,yBAAyB;IAoBvC;;OAEG;YACW,0BAA0B;IAqBxC;;OAEG;YACW,qBAAqB;IAoBnC;;OAEG;YACW,oBAAoB;IAwBlC;;OAEG;YACW,qBAAqB;IAuBnC;;OAEG;YACW,yBAAyB;IAsBvC;;OAEG;YACW,wBAAwB;IAuBtC;;OAEG;IACH,OAAO,CAAC,cAAc;IAkBtB;;OAEG;IACH,OAAO,CAAC,WAAW;IAUnB;;OAEG;IACG,aAAa,CAAC,KAAK,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAMrE,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAI7B"}
|
|
@@ -0,0 +1,330 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Comprehensive Benchmark Suite
|
|
3
|
+
*
|
|
4
|
+
* Benchmarks AgentDB and agentic-flow integration performance
|
|
5
|
+
*/
|
|
6
|
+
import { EnhancedAgentDBMemory } from './enhanced-memory.js';
|
|
7
|
+
import { FlowOrchestrator } from './flow-orchestrator.js';
|
|
8
|
+
export class IntegrationBenchmark {
|
|
9
|
+
memory;
|
|
10
|
+
orchestrator;
|
|
11
|
+
constructor() {
|
|
12
|
+
this.memory = new EnhancedAgentDBMemory('./benchmark-memory.db');
|
|
13
|
+
this.orchestrator = new FlowOrchestrator({
|
|
14
|
+
numAgents: 66,
|
|
15
|
+
strategy: 'adaptive',
|
|
16
|
+
reasoningEnabled: true,
|
|
17
|
+
learningEnabled: true,
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
async initialize() {
|
|
21
|
+
console.log('🏁 Initializing benchmark suite...\n');
|
|
22
|
+
await this.memory.initialize();
|
|
23
|
+
await this.orchestrator.initialize();
|
|
24
|
+
console.log('✅ Benchmark suite ready\n');
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Run complete benchmark suite
|
|
28
|
+
*/
|
|
29
|
+
async runAll() {
|
|
30
|
+
const suiteStartTime = Date.now();
|
|
31
|
+
console.log('┌─────────────────────────────────────────────────────────┐');
|
|
32
|
+
console.log('│ Integration Benchmark Suite │');
|
|
33
|
+
console.log('│ AgentDB + agentic-flow Performance Test │');
|
|
34
|
+
console.log('└─────────────────────────────────────────────────────────┘\n');
|
|
35
|
+
// AgentDB Benchmarks
|
|
36
|
+
console.log('📊 AGENTDB BENCHMARKS\n');
|
|
37
|
+
const storeEpisode = await this.benchmarkStoreEpisode(1000);
|
|
38
|
+
this.printResult('Store Episode', storeEpisode);
|
|
39
|
+
const retrieveMemories = await this.benchmarkRetrieveMemories(500);
|
|
40
|
+
this.printResult('Retrieve Memories', retrieveMemories);
|
|
41
|
+
const queryWithContext = await this.benchmarkQueryWithContext(300);
|
|
42
|
+
this.printResult('Query with Context', queryWithContext);
|
|
43
|
+
const consolidateSkills = await this.benchmarkConsolidateSkills(10);
|
|
44
|
+
this.printResult('Consolidate Skills', consolidateSkills);
|
|
45
|
+
const searchSkills = await this.benchmarkSearchSkills(200);
|
|
46
|
+
this.printResult('Search Skills', searchSkills);
|
|
47
|
+
// agentic-flow Benchmarks
|
|
48
|
+
console.log('\n🌊 AGENTIC-FLOW BENCHMARKS\n');
|
|
49
|
+
const executeTask = await this.benchmarkExecuteTask(100);
|
|
50
|
+
this.printResult('Execute Task', executeTask);
|
|
51
|
+
const executeSwarm = await this.benchmarkExecuteSwarm(20);
|
|
52
|
+
this.printResult('Execute Swarm', executeSwarm);
|
|
53
|
+
const coordinateRobots = await this.benchmarkCoordinateRobots(50);
|
|
54
|
+
this.printResult('Coordinate Robots', coordinateRobots);
|
|
55
|
+
const reasonAboutTask = await this.benchmarkReasonAboutTask(100);
|
|
56
|
+
this.printResult('Reason About Task', reasonAboutTask);
|
|
57
|
+
const totalTime = Date.now() - suiteStartTime;
|
|
58
|
+
console.log('\n┌─────────────────────────────────────────────────────────┐');
|
|
59
|
+
console.log('│ BENCHMARK COMPLETE │');
|
|
60
|
+
console.log(`│ Total Time: ${(totalTime / 1000).toFixed(2)}s │`);
|
|
61
|
+
console.log('└─────────────────────────────────────────────────────────┘\n');
|
|
62
|
+
return {
|
|
63
|
+
agentdb: {
|
|
64
|
+
storeEpisode,
|
|
65
|
+
retrieveMemories,
|
|
66
|
+
queryWithContext,
|
|
67
|
+
consolidateSkills,
|
|
68
|
+
searchSkills,
|
|
69
|
+
},
|
|
70
|
+
agenticFlow: {
|
|
71
|
+
executeTask,
|
|
72
|
+
executeSwarm,
|
|
73
|
+
coordinateRobots,
|
|
74
|
+
reasonAboutTask,
|
|
75
|
+
},
|
|
76
|
+
overall: {
|
|
77
|
+
totalTime,
|
|
78
|
+
timestamp: new Date().toISOString(),
|
|
79
|
+
},
|
|
80
|
+
};
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* Benchmark: Store Episode
|
|
84
|
+
*/
|
|
85
|
+
async benchmarkStoreEpisode(iterations) {
|
|
86
|
+
const times = [];
|
|
87
|
+
for (let i = 0; i < iterations; i++) {
|
|
88
|
+
const episode = {
|
|
89
|
+
sessionId: `bench-${i}`,
|
|
90
|
+
taskName: 'navigation',
|
|
91
|
+
confidence: Math.random(),
|
|
92
|
+
success: Math.random() > 0.3,
|
|
93
|
+
outcome: 'Completed navigation task',
|
|
94
|
+
strategy: 'adaptive_planning',
|
|
95
|
+
metadata: { x: i, y: i * 2, latency: Math.random() * 100 },
|
|
96
|
+
};
|
|
97
|
+
const start = Date.now();
|
|
98
|
+
await this.memory.storeEpisode(episode);
|
|
99
|
+
times.push(Date.now() - start);
|
|
100
|
+
if (i % 100 === 0 && i > 0) {
|
|
101
|
+
process.stderr.write(` Progress: ${i}/${iterations}\r`);
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
return this.calculateStats('Store Episode', times);
|
|
105
|
+
}
|
|
106
|
+
/**
|
|
107
|
+
* Benchmark: Retrieve Memories
|
|
108
|
+
*/
|
|
109
|
+
async benchmarkRetrieveMemories(iterations) {
|
|
110
|
+
const times = [];
|
|
111
|
+
const queries = [
|
|
112
|
+
'navigation task',
|
|
113
|
+
'object detection',
|
|
114
|
+
'path planning',
|
|
115
|
+
'sensor fusion',
|
|
116
|
+
'motor control',
|
|
117
|
+
];
|
|
118
|
+
for (let i = 0; i < iterations; i++) {
|
|
119
|
+
const query = queries[i % queries.length];
|
|
120
|
+
const start = Date.now();
|
|
121
|
+
await this.memory.retrieveMemories(query, 5, {
|
|
122
|
+
onlySuccesses: true,
|
|
123
|
+
synthesizeContext: true,
|
|
124
|
+
});
|
|
125
|
+
times.push(Date.now() - start);
|
|
126
|
+
if (i % 50 === 0 && i > 0) {
|
|
127
|
+
process.stderr.write(` Progress: ${i}/${iterations}\r`);
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
return this.calculateStats('Retrieve Memories', times);
|
|
131
|
+
}
|
|
132
|
+
/**
|
|
133
|
+
* Benchmark: Query with Context
|
|
134
|
+
*/
|
|
135
|
+
async benchmarkQueryWithContext(iterations) {
|
|
136
|
+
const times = [];
|
|
137
|
+
for (let i = 0; i < iterations; i++) {
|
|
138
|
+
const start = Date.now();
|
|
139
|
+
await this.memory.queryWithContext('warehouse navigation', {
|
|
140
|
+
k: 10,
|
|
141
|
+
minConfidence: 0.5,
|
|
142
|
+
synthesizeReasoning: true,
|
|
143
|
+
});
|
|
144
|
+
times.push(Date.now() - start);
|
|
145
|
+
if (i % 30 === 0 && i > 0) {
|
|
146
|
+
process.stderr.write(` Progress: ${i}/${iterations}\r`);
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
return this.calculateStats('Query with Context', times);
|
|
150
|
+
}
|
|
151
|
+
/**
|
|
152
|
+
* Benchmark: Consolidate Skills
|
|
153
|
+
*/
|
|
154
|
+
async benchmarkConsolidateSkills(iterations) {
|
|
155
|
+
const times = [];
|
|
156
|
+
for (let i = 0; i < iterations; i++) {
|
|
157
|
+
const start = Date.now();
|
|
158
|
+
await this.memory.consolidateSkills({
|
|
159
|
+
minAttempts: 3,
|
|
160
|
+
minReward: 0.7,
|
|
161
|
+
timeWindowDays: 7,
|
|
162
|
+
enablePruning: true,
|
|
163
|
+
});
|
|
164
|
+
times.push(Date.now() - start);
|
|
165
|
+
if (i % 2 === 0 && i > 0) {
|
|
166
|
+
process.stderr.write(` Progress: ${i}/${iterations}\r`);
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
return this.calculateStats('Consolidate Skills', times);
|
|
170
|
+
}
|
|
171
|
+
/**
|
|
172
|
+
* Benchmark: Search Skills
|
|
173
|
+
*/
|
|
174
|
+
async benchmarkSearchSkills(iterations) {
|
|
175
|
+
const times = [];
|
|
176
|
+
for (let i = 0; i < iterations; i++) {
|
|
177
|
+
const start = Date.now();
|
|
178
|
+
await this.memory.searchSkills('navigation', {
|
|
179
|
+
k: 5,
|
|
180
|
+
minSuccessRate: 0.5,
|
|
181
|
+
sortBy: 'success_rate',
|
|
182
|
+
});
|
|
183
|
+
times.push(Date.now() - start);
|
|
184
|
+
if (i % 20 === 0 && i > 0) {
|
|
185
|
+
process.stderr.write(` Progress: ${i}/${iterations}\r`);
|
|
186
|
+
}
|
|
187
|
+
}
|
|
188
|
+
return this.calculateStats('Search Skills', times);
|
|
189
|
+
}
|
|
190
|
+
/**
|
|
191
|
+
* Benchmark: Execute Task
|
|
192
|
+
*/
|
|
193
|
+
async benchmarkExecuteTask(iterations) {
|
|
194
|
+
const times = [];
|
|
195
|
+
for (let i = 0; i < iterations; i++) {
|
|
196
|
+
const task = {
|
|
197
|
+
id: `task-${i}`,
|
|
198
|
+
type: 'navigation',
|
|
199
|
+
priority: 'medium',
|
|
200
|
+
params: { target: { x: i, y: i * 2 } },
|
|
201
|
+
timeout: 5000,
|
|
202
|
+
};
|
|
203
|
+
const start = Date.now();
|
|
204
|
+
await this.orchestrator.executeTask(task);
|
|
205
|
+
times.push(Date.now() - start);
|
|
206
|
+
if (i % 10 === 0 && i > 0) {
|
|
207
|
+
process.stderr.write(` Progress: ${i}/${iterations}\r`);
|
|
208
|
+
}
|
|
209
|
+
}
|
|
210
|
+
return this.calculateStats('Execute Task', times);
|
|
211
|
+
}
|
|
212
|
+
/**
|
|
213
|
+
* Benchmark: Execute Swarm
|
|
214
|
+
*/
|
|
215
|
+
async benchmarkExecuteSwarm(iterations) {
|
|
216
|
+
const times = [];
|
|
217
|
+
for (let i = 0; i < iterations; i++) {
|
|
218
|
+
const tasks = Array.from({ length: 5 }, (_, j) => ({
|
|
219
|
+
id: `swarm-${i}-${j}`,
|
|
220
|
+
type: 'patrol',
|
|
221
|
+
priority: 'medium',
|
|
222
|
+
params: { area: j },
|
|
223
|
+
}));
|
|
224
|
+
const start = Date.now();
|
|
225
|
+
await this.orchestrator.executeSwarm(tasks);
|
|
226
|
+
times.push(Date.now() - start);
|
|
227
|
+
if (i % 5 === 0 && i > 0) {
|
|
228
|
+
process.stderr.write(` Progress: ${i}/${iterations}\r`);
|
|
229
|
+
}
|
|
230
|
+
}
|
|
231
|
+
return this.calculateStats('Execute Swarm', times);
|
|
232
|
+
}
|
|
233
|
+
/**
|
|
234
|
+
* Benchmark: Coordinate Robots
|
|
235
|
+
*/
|
|
236
|
+
async benchmarkCoordinateRobots(iterations) {
|
|
237
|
+
const times = [];
|
|
238
|
+
for (let i = 0; i < iterations; i++) {
|
|
239
|
+
const start = Date.now();
|
|
240
|
+
await this.orchestrator.coordinateRobots(['robot1', 'robot2', 'robot3'], {
|
|
241
|
+
type: 'warehouse_inventory',
|
|
242
|
+
objectives: ['scan', 'count', 'report'],
|
|
243
|
+
});
|
|
244
|
+
times.push(Date.now() - start);
|
|
245
|
+
if (i % 10 === 0 && i > 0) {
|
|
246
|
+
process.stderr.write(` Progress: ${i}/${iterations}\r`);
|
|
247
|
+
}
|
|
248
|
+
}
|
|
249
|
+
return this.calculateStats('Coordinate Robots', times);
|
|
250
|
+
}
|
|
251
|
+
/**
|
|
252
|
+
* Benchmark: Reason About Task
|
|
253
|
+
*/
|
|
254
|
+
async benchmarkReasonAboutTask(iterations) {
|
|
255
|
+
const times = [];
|
|
256
|
+
for (let i = 0; i < iterations; i++) {
|
|
257
|
+
const start = Date.now();
|
|
258
|
+
await this.orchestrator.reasonAboutTask('Should robot prioritize speed or accuracy?', {
|
|
259
|
+
useMemory: true,
|
|
260
|
+
synthesizeStrategy: true,
|
|
261
|
+
explainReasoning: true,
|
|
262
|
+
});
|
|
263
|
+
times.push(Date.now() - start);
|
|
264
|
+
if (i % 10 === 0 && i > 0) {
|
|
265
|
+
process.stderr.write(` Progress: ${i}/${iterations}\r`);
|
|
266
|
+
}
|
|
267
|
+
}
|
|
268
|
+
return this.calculateStats('Reason About Task', times);
|
|
269
|
+
}
|
|
270
|
+
/**
|
|
271
|
+
* Calculate statistics from timing data
|
|
272
|
+
*/
|
|
273
|
+
calculateStats(name, times) {
|
|
274
|
+
const sorted = [...times].sort((a, b) => a - b);
|
|
275
|
+
const total = times.reduce((a, b) => a + b, 0);
|
|
276
|
+
return {
|
|
277
|
+
name,
|
|
278
|
+
iterations: times.length,
|
|
279
|
+
totalTime: total,
|
|
280
|
+
avgTime: total / times.length,
|
|
281
|
+
minTime: sorted[0],
|
|
282
|
+
maxTime: sorted[sorted.length - 1],
|
|
283
|
+
opsPerSec: (times.length / total) * 1000,
|
|
284
|
+
p50: sorted[Math.floor(sorted.length * 0.50)],
|
|
285
|
+
p95: sorted[Math.floor(sorted.length * 0.95)],
|
|
286
|
+
p99: sorted[Math.floor(sorted.length * 0.99)],
|
|
287
|
+
};
|
|
288
|
+
}
|
|
289
|
+
/**
|
|
290
|
+
* Print benchmark result
|
|
291
|
+
*/
|
|
292
|
+
printResult(name, result) {
|
|
293
|
+
console.log(`${name}:`);
|
|
294
|
+
console.log(` Iterations: ${result.iterations.toLocaleString()}`);
|
|
295
|
+
console.log(` Avg Time: ${result.avgTime.toFixed(3)}ms`);
|
|
296
|
+
console.log(` Min/Max: ${result.minTime.toFixed(3)}ms / ${result.maxTime.toFixed(3)}ms`);
|
|
297
|
+
console.log(` p50/p95/p99: ${result.p50.toFixed(3)}ms / ${result.p95.toFixed(3)}ms / ${result.p99.toFixed(3)}ms`);
|
|
298
|
+
console.log(` Ops/sec: ${result.opsPerSec.toFixed(0)}`);
|
|
299
|
+
console.log('');
|
|
300
|
+
}
|
|
301
|
+
/**
|
|
302
|
+
* Export results to JSON
|
|
303
|
+
*/
|
|
304
|
+
async exportResults(suite, filename) {
|
|
305
|
+
const fs = await import('fs/promises');
|
|
306
|
+
await fs.writeFile(filename, JSON.stringify(suite, null, 2));
|
|
307
|
+
console.log(`📁 Results exported to ${filename}`);
|
|
308
|
+
}
|
|
309
|
+
async close() {
|
|
310
|
+
await this.memory.close();
|
|
311
|
+
await this.orchestrator.close();
|
|
312
|
+
}
|
|
313
|
+
}
|
|
314
|
+
// CLI entry point
|
|
315
|
+
if (import.meta.url === `file://${process.argv[1]}`) {
|
|
316
|
+
const benchmark = new IntegrationBenchmark();
|
|
317
|
+
try {
|
|
318
|
+
await benchmark.initialize();
|
|
319
|
+
const results = await benchmark.runAll();
|
|
320
|
+
await benchmark.exportResults(results, './benchmark-results.json');
|
|
321
|
+
}
|
|
322
|
+
catch (error) {
|
|
323
|
+
console.error('❌ Benchmark failed:', error);
|
|
324
|
+
process.exit(1);
|
|
325
|
+
}
|
|
326
|
+
finally {
|
|
327
|
+
await benchmark.close();
|
|
328
|
+
}
|
|
329
|
+
}
|
|
330
|
+
//# sourceMappingURL=benchmark.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"benchmark.js","sourceRoot":"","sources":["../src/benchmark.ts"],"names":[],"mappings":"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"}
|
package/dist/cli.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AAEA;;GAEG"}
|
package/dist/cli.js
ADDED
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
/**
|
|
3
|
+
* ROS3 MCP Server CLI
|
|
4
|
+
*/
|
|
5
|
+
import { ROS3McpServer } from './server.js';
|
|
6
|
+
async function main() {
|
|
7
|
+
const server = new ROS3McpServer({
|
|
8
|
+
name: 'ros3-mcp-server',
|
|
9
|
+
version: '1.0.0',
|
|
10
|
+
dbPath: process.env.AGENTDB_PATH || './ros3-agentdb.db',
|
|
11
|
+
});
|
|
12
|
+
// Handle graceful shutdown
|
|
13
|
+
process.on('SIGINT', async () => {
|
|
14
|
+
console.error('\nShutting down ROS3 MCP Server...');
|
|
15
|
+
await server.stop();
|
|
16
|
+
process.exit(0);
|
|
17
|
+
});
|
|
18
|
+
process.on('SIGTERM', async () => {
|
|
19
|
+
console.error('\nShutting down ROS3 MCP Server...');
|
|
20
|
+
await server.stop();
|
|
21
|
+
process.exit(0);
|
|
22
|
+
});
|
|
23
|
+
// Start the server
|
|
24
|
+
await server.start();
|
|
25
|
+
// Keep the process running
|
|
26
|
+
console.error('\nPress Ctrl+C to stop the server');
|
|
27
|
+
// Simple REPL for testing
|
|
28
|
+
const readline = await import('readline');
|
|
29
|
+
const rl = readline.createInterface({
|
|
30
|
+
input: process.stdin,
|
|
31
|
+
output: process.stdout,
|
|
32
|
+
terminal: false,
|
|
33
|
+
});
|
|
34
|
+
console.error('\nEnter commands (e.g., "get_pose", "get_status"):');
|
|
35
|
+
rl.on('line', async (line) => {
|
|
36
|
+
const cmd = line.trim();
|
|
37
|
+
try {
|
|
38
|
+
switch (cmd) {
|
|
39
|
+
case 'get_pose':
|
|
40
|
+
console.log(await server.getPose());
|
|
41
|
+
break;
|
|
42
|
+
case 'get_status':
|
|
43
|
+
console.log(await server.getStatus());
|
|
44
|
+
break;
|
|
45
|
+
case 'get_memory_stats':
|
|
46
|
+
console.log(await server.getMemoryStats());
|
|
47
|
+
break;
|
|
48
|
+
case 'info':
|
|
49
|
+
console.log(JSON.stringify(server.getInfo(), null, 2));
|
|
50
|
+
break;
|
|
51
|
+
case 'help':
|
|
52
|
+
console.log('Available commands:');
|
|
53
|
+
console.log(' get_pose - Get current robot pose');
|
|
54
|
+
console.log(' get_status - Get robot status');
|
|
55
|
+
console.log(' get_memory_stats - Get memory statistics');
|
|
56
|
+
console.log(' info - Get server info');
|
|
57
|
+
console.log(' help - Show this help');
|
|
58
|
+
console.log(' exit - Stop the server');
|
|
59
|
+
break;
|
|
60
|
+
case 'exit':
|
|
61
|
+
await server.stop();
|
|
62
|
+
process.exit(0);
|
|
63
|
+
break;
|
|
64
|
+
default:
|
|
65
|
+
if (cmd) {
|
|
66
|
+
console.log(`Unknown command: ${cmd}. Type "help" for available commands.`);
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
catch (error) {
|
|
71
|
+
console.error(`Error: ${error.message}`);
|
|
72
|
+
}
|
|
73
|
+
});
|
|
74
|
+
}
|
|
75
|
+
main().catch((error) => {
|
|
76
|
+
console.error('Fatal error:', error);
|
|
77
|
+
process.exit(1);
|
|
78
|
+
});
|
|
79
|
+
//# sourceMappingURL=cli.js.map
|
package/dist/cli.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Enhanced AgentDB Memory Integration
|
|
3
|
+
*
|
|
4
|
+
* Uses ALL AgentDB features:
|
|
5
|
+
* - Reflexion memory with self-critique
|
|
6
|
+
* - Skill library with semantic search
|
|
7
|
+
* - Causal reasoning
|
|
8
|
+
* - Automated learning
|
|
9
|
+
* - Performance optimization
|
|
10
|
+
*/
|
|
11
|
+
export interface Episode {
|
|
12
|
+
sessionId: string;
|
|
13
|
+
taskName: string;
|
|
14
|
+
confidence: number;
|
|
15
|
+
success: boolean;
|
|
16
|
+
outcome: string;
|
|
17
|
+
strategy?: string;
|
|
18
|
+
metadata?: Record<string, any>;
|
|
19
|
+
reasoning?: string;
|
|
20
|
+
critique?: string;
|
|
21
|
+
}
|
|
22
|
+
export interface Memory {
|
|
23
|
+
task: string;
|
|
24
|
+
confidence: number;
|
|
25
|
+
success: boolean;
|
|
26
|
+
outcome: string;
|
|
27
|
+
strategy?: string;
|
|
28
|
+
timestamp: number;
|
|
29
|
+
reasoning?: string;
|
|
30
|
+
critique?: string;
|
|
31
|
+
similarity?: number;
|
|
32
|
+
}
|
|
33
|
+
export interface Skill {
|
|
34
|
+
name: string;
|
|
35
|
+
description: string;
|
|
36
|
+
successRate: number;
|
|
37
|
+
avgReward: number;
|
|
38
|
+
numAttempts: number;
|
|
39
|
+
lastUsed: number;
|
|
40
|
+
bestStrategy?: string;
|
|
41
|
+
}
|
|
42
|
+
export interface MemoryStats {
|
|
43
|
+
totalEpisodes: number;
|
|
44
|
+
totalSkills: number;
|
|
45
|
+
avgRetrievalTime: number;
|
|
46
|
+
cacheHitRate: number;
|
|
47
|
+
dbSize: number;
|
|
48
|
+
}
|
|
49
|
+
export declare class EnhancedAgentDBMemory {
|
|
50
|
+
private dbPath;
|
|
51
|
+
private initialized;
|
|
52
|
+
private performanceMetrics;
|
|
53
|
+
constructor(dbPath: string);
|
|
54
|
+
initialize(): Promise<void>;
|
|
55
|
+
/**
|
|
56
|
+
* Store episode with full context and self-critique
|
|
57
|
+
*/
|
|
58
|
+
storeEpisode(episode: Episode): Promise<void>;
|
|
59
|
+
/**
|
|
60
|
+
* Retrieve memories with semantic search and causal reasoning
|
|
61
|
+
*/
|
|
62
|
+
retrieveMemories(query: string, k?: number, options?: {
|
|
63
|
+
minReward?: number;
|
|
64
|
+
onlySuccesses?: boolean;
|
|
65
|
+
onlyFailures?: boolean;
|
|
66
|
+
synthesizeContext?: boolean;
|
|
67
|
+
enableReasoning?: boolean;
|
|
68
|
+
timeWindow?: number;
|
|
69
|
+
}): Promise<Memory[]>;
|
|
70
|
+
/**
|
|
71
|
+
* Query with full context synthesis and reasoning
|
|
72
|
+
*/
|
|
73
|
+
queryWithContext(query: string, options?: {
|
|
74
|
+
k?: number;
|
|
75
|
+
minConfidence?: number;
|
|
76
|
+
domain?: string;
|
|
77
|
+
synthesizeReasoning?: boolean;
|
|
78
|
+
}): Promise<{
|
|
79
|
+
memories: Memory[];
|
|
80
|
+
context?: string;
|
|
81
|
+
reasoning?: string;
|
|
82
|
+
}>;
|
|
83
|
+
/**
|
|
84
|
+
* Consolidate skills with advanced filtering
|
|
85
|
+
*/
|
|
86
|
+
consolidateSkills(options?: {
|
|
87
|
+
minAttempts?: number;
|
|
88
|
+
minReward?: number;
|
|
89
|
+
timeWindowDays?: number;
|
|
90
|
+
enablePruning?: boolean;
|
|
91
|
+
}): Promise<number>;
|
|
92
|
+
/**
|
|
93
|
+
* Get skill library with semantic search
|
|
94
|
+
*/
|
|
95
|
+
searchSkills(query: string, options?: {
|
|
96
|
+
k?: number;
|
|
97
|
+
minSuccessRate?: number;
|
|
98
|
+
sortBy?: 'success_rate' | 'avg_reward' | 'num_attempts' | 'last_used';
|
|
99
|
+
}): Promise<Skill[]>;
|
|
100
|
+
/**
|
|
101
|
+
* Generate self-critique for an episode
|
|
102
|
+
*/
|
|
103
|
+
private generateCritique;
|
|
104
|
+
/**
|
|
105
|
+
* Get comprehensive statistics with performance metrics
|
|
106
|
+
*/
|
|
107
|
+
getStats(): Promise<MemoryStats>;
|
|
108
|
+
/**
|
|
109
|
+
* Optimize database performance
|
|
110
|
+
*/
|
|
111
|
+
optimize(): Promise<void>;
|
|
112
|
+
/**
|
|
113
|
+
* Clear performance metrics
|
|
114
|
+
*/
|
|
115
|
+
clearMetrics(): void;
|
|
116
|
+
close(): Promise<void>;
|
|
117
|
+
}
|
|
118
|
+
//# sourceMappingURL=enhanced-memory.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"enhanced-memory.d.ts","sourceRoot":"","sources":["../src/enhanced-memory.ts"],"names":[],"mappings":"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"}
|