@agentic-robotics/mcp 0.1.3 → 0.2.1

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 (58) hide show
  1. package/dist/benchmark.d.ts +97 -0
  2. package/dist/benchmark.d.ts.map +1 -0
  3. package/dist/benchmark.js +330 -0
  4. package/dist/benchmark.js.map +1 -0
  5. package/dist/cli.d.ts +6 -0
  6. package/dist/cli.d.ts.map +1 -0
  7. package/dist/cli.js +79 -0
  8. package/dist/cli.js.map +1 -0
  9. package/dist/enhanced-memory.d.ts +118 -0
  10. package/dist/enhanced-memory.d.ts.map +1 -0
  11. package/dist/enhanced-memory.js +296 -0
  12. package/dist/enhanced-memory.js.map +1 -0
  13. package/dist/enhanced-server.d.ts +122 -0
  14. package/dist/enhanced-server.d.ts.map +1 -0
  15. package/dist/enhanced-server.js +361 -0
  16. package/dist/enhanced-server.js.map +1 -0
  17. package/dist/flow-orchestrator.d.ts +75 -0
  18. package/dist/flow-orchestrator.d.ts.map +1 -0
  19. package/dist/flow-orchestrator.js +350 -0
  20. package/dist/flow-orchestrator.js.map +1 -0
  21. package/dist/hybrid-benchmark.d.ts +44 -0
  22. package/dist/hybrid-benchmark.d.ts.map +1 -0
  23. package/dist/hybrid-benchmark.js +232 -0
  24. package/dist/hybrid-benchmark.js.map +1 -0
  25. package/dist/hybrid-memory.d.ts +81 -0
  26. package/dist/hybrid-memory.d.ts.map +1 -0
  27. package/dist/hybrid-memory.js +296 -0
  28. package/dist/hybrid-memory.js.map +1 -0
  29. package/dist/index.d.ts +10 -0
  30. package/dist/index.d.ts.map +1 -0
  31. package/{src/index.ts → dist/index.js} +1 -1
  32. package/dist/index.js.map +1 -0
  33. package/dist/interface.d.ts +38 -0
  34. package/dist/interface.d.ts.map +1 -0
  35. package/dist/interface.js +75 -0
  36. package/dist/interface.js.map +1 -0
  37. package/dist/memory.d.ts +52 -0
  38. package/dist/memory.d.ts.map +1 -0
  39. package/dist/memory.js +230 -0
  40. package/dist/memory.js.map +1 -0
  41. package/dist/server.d.ts +55 -0
  42. package/dist/server.d.ts.map +1 -0
  43. package/dist/server.js +147 -0
  44. package/dist/server.js.map +1 -0
  45. package/package.json +3 -2
  46. package/src/benchmark.ts +0 -434
  47. package/src/cli.ts +0 -89
  48. package/src/enhanced-memory.ts +0 -437
  49. package/src/enhanced-server.ts +0 -523
  50. package/src/flow-orchestrator.ts +0 -415
  51. package/src/hybrid-benchmark.ts +0 -291
  52. package/src/hybrid-memory.ts +0 -401
  53. package/src/interface.ts +0 -118
  54. package/src/memory.ts +0 -196
  55. package/src/optimized-benchmark.ts +0 -302
  56. package/src/optimized-memory.ts +0 -271
  57. package/src/server.ts +0 -213
  58. package/tsconfig.json +0 -20
@@ -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":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,qBAAqB,EAAW,MAAM,sBAAsB,CAAC;AACtE,OAAO,EAAE,gBAAgB,EAAa,MAAM,wBAAwB,CAAC;AAmCrE,MAAM,OAAO,oBAAoB;IACvB,MAAM,CAAwB;IAC9B,YAAY,CAAmB;IAEvC;QACE,IAAI,CAAC,MAAM,GAAG,IAAI,qBAAqB,CAAC,uBAAuB,CAAC,CAAC;QACjE,IAAI,CAAC,YAAY,GAAG,IAAI,gBAAgB,CAAC;YACvC,SAAS,EAAE,EAAE;YACb,QAAQ,EAAE,UAAU;YACpB,gBAAgB,EAAE,IAAI;YACtB,eAAe,EAAE,IAAI;SACtB,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,UAAU;QACd,OAAO,CAAC,GAAG,CAAC,sCAAsC,CAAC,CAAC;QACpD,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;QAC/B,MAAM,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE,CAAC;QACrC,OAAO,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC;IAC3C,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,MAAM;QACV,MAAM,cAAc,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAElC,OAAO,CAAC,GAAG,CAAC,6DAA6D,CAAC,CAAC;QAC3E,OAAO,CAAC,GAAG,CAAC,6DAA6D,CAAC,CAAC;QAC3E,OAAO,CAAC,GAAG,CAAC,6DAA6D,CAAC,CAAC;QAC3E,OAAO,CAAC,GAAG,CAAC,+DAA+D,CAAC,CAAC;QAE7E,qBAAqB;QACrB,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC;QAEvC,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;QAC5D,IAAI,CAAC,WAAW,CAAC,eAAe,EAAE,YAAY,CAAC,CAAC;QAEhD,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,yBAAyB,CAAC,GAAG,CAAC,CAAC;QACnE,IAAI,CAAC,WAAW,CAAC,mBAAmB,EAAE,gBAAgB,CAAC,CAAC;QAExD,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,yBAAyB,CAAC,GAAG,CAAC,CAAC;QACnE,IAAI,CAAC,WAAW,CAAC,oBAAoB,EAAE,gBAAgB,CAAC,CAAC;QAEzD,MAAM,iBAAiB,GAAG,MAAM,IAAI,CAAC,0BAA0B,CAAC,EAAE,CAAC,CAAC;QACpE,IAAI,CAAC,WAAW,CAAC,oBAAoB,EAAE,iBAAiB,CAAC,CAAC;QAE1D,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,CAAC;QAC3D,IAAI,CAAC,WAAW,CAAC,eAAe,EAAE,YAAY,CAAC,CAAC;QAEhD,0BAA0B;QAC1B,OAAO,CAAC,GAAG,CAAC,gCAAgC,CAAC,CAAC;QAE9C,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC;QACzD,IAAI,CAAC,WAAW,CAAC,cAAc,EAAE,WAAW,CAAC,CAAC;QAE9C,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,EAAE,CAAC,CAAC;QAC1D,IAAI,CAAC,WAAW,CAAC,eAAe,EAAE,YAAY,CAAC,CAAC;QAEhD,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,yBAAyB,CAAC,EAAE,CAAC,CAAC;QAClE,IAAI,CAAC,WAAW,CAAC,mBAAmB,EAAE,gBAAgB,CAAC,CAAC;QAExD,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,wBAAwB,CAAC,GAAG,CAAC,CAAC;QACjE,IAAI,CAAC,WAAW,CAAC,mBAAmB,EAAE,eAAe,CAAC,CAAC;QAEvD,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,cAAc,CAAC;QAE9C,OAAO,CAAC,GAAG,CAAC,+DAA+D,CAAC,CAAC;QAC7E,OAAO,CAAC,GAAG,CAAC,6DAA6D,CAAC,CAAC;QAC3E,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,SAAS,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,qCAAqC,CAAC,CAAC;QACnG,OAAO,CAAC,GAAG,CAAC,+DAA+D,CAAC,CAAC;QAE7E,OAAO;YACL,OAAO,EAAE;gBACP,YAAY;gBACZ,gBAAgB;gBAChB,gBAAgB;gBAChB,iBAAiB;gBACjB,YAAY;aACb;YACD,WAAW,EAAE;gBACX,WAAW;gBACX,YAAY;gBACZ,gBAAgB;gBAChB,eAAe;aAChB;YACD,OAAO,EAAE;gBACP,SAAS;gBACT,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;aACpC;SACF,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,qBAAqB,CAAC,UAAkB;QACpD,MAAM,KAAK,GAAa,EAAE,CAAC;QAE3B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,EAAE,CAAC,EAAE,EAAE,CAAC;YACpC,MAAM,OAAO,GAAY;gBACvB,SAAS,EAAE,SAAS,CAAC,EAAE;gBACvB,QAAQ,EAAE,YAAY;gBACtB,UAAU,EAAE,IAAI,CAAC,MAAM,EAAE;gBACzB,OAAO,EAAE,IAAI,CAAC,MAAM,EAAE,GAAG,GAAG;gBAC5B,OAAO,EAAE,2BAA2B;gBACpC,QAAQ,EAAE,mBAAmB;gBAC7B,QAAQ,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,MAAM,EAAE,GAAG,GAAG,EAAE;aAC3D,CAAC;YAEF,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YACzB,MAAM,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;YACxC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,CAAC;YAE/B,IAAI,CAAC,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC3B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,eAAe,CAAC,IAAI,UAAU,IAAI,CAAC,CAAC;YAC3D,CAAC;QACH,CAAC;QAED,OAAO,IAAI,CAAC,cAAc,CAAC,eAAe,EAAE,KAAK,CAAC,CAAC;IACrD,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,yBAAyB,CAAC,UAAkB;QACxD,MAAM,KAAK,GAAa,EAAE,CAAC;QAE3B,MAAM,OAAO,GAAG;YACd,iBAAiB;YACjB,kBAAkB;YAClB,eAAe;YACf,eAAe;YACf,eAAe;SAChB,CAAC;QAEF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,EAAE,CAAC,EAAE,EAAE,CAAC;YACpC,MAAM,KAAK,GAAG,OAAO,CAAC,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;YAE1C,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YACzB,MAAM,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,KAAK,EAAE,CAAC,EAAE;gBAC3C,aAAa,EAAE,IAAI;gBACnB,iBAAiB,EAAE,IAAI;aACxB,CAAC,CAAC;YACH,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,CAAC;YAE/B,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC1B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,eAAe,CAAC,IAAI,UAAU,IAAI,CAAC,CAAC;YAC3D,CAAC;QACH,CAAC;QAED,OAAO,IAAI,CAAC,cAAc,CAAC,mBAAmB,EAAE,KAAK,CAAC,CAAC;IACzD,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,yBAAyB,CAAC,UAAkB;QACxD,MAAM,KAAK,GAAa,EAAE,CAAC;QAE3B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,EAAE,CAAC,EAAE,EAAE,CAAC;YACpC,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YACzB,MAAM,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,sBAAsB,EAAE;gBACzD,CAAC,EAAE,EAAE;gBACL,aAAa,EAAE,GAAG;gBAClB,mBAAmB,EAAE,IAAI;aAC1B,CAAC,CAAC;YACH,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,CAAC;YAE/B,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC1B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,eAAe,CAAC,IAAI,UAAU,IAAI,CAAC,CAAC;YAC3D,CAAC;QACH,CAAC;QAED,OAAO,IAAI,CAAC,cAAc,CAAC,oBAAoB,EAAE,KAAK,CAAC,CAAC;IAC1D,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,0BAA0B,CAAC,UAAkB;QACzD,MAAM,KAAK,GAAa,EAAE,CAAC;QAE3B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,EAAE,CAAC,EAAE,EAAE,CAAC;YACpC,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YACzB,MAAM,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC;gBAClC,WAAW,EAAE,CAAC;gBACd,SAAS,EAAE,GAAG;gBACd,cAAc,EAAE,CAAC;gBACjB,aAAa,EAAE,IAAI;aACpB,CAAC,CAAC;YACH,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,CAAC;YAE/B,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;gBACzB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,eAAe,CAAC,IAAI,UAAU,IAAI,CAAC,CAAC;YAC3D,CAAC;QACH,CAAC;QAED,OAAO,IAAI,CAAC,cAAc,CAAC,oBAAoB,EAAE,KAAK,CAAC,CAAC;IAC1D,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,qBAAqB,CAAC,UAAkB;QACpD,MAAM,KAAK,GAAa,EAAE,CAAC;QAE3B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,EAAE,CAAC,EAAE,EAAE,CAAC;YACpC,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YACzB,MAAM,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,YAAY,EAAE;gBAC3C,CAAC,EAAE,CAAC;gBACJ,cAAc,EAAE,GAAG;gBACnB,MAAM,EAAE,cAAc;aACvB,CAAC,CAAC;YACH,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,CAAC;YAE/B,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC1B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,eAAe,CAAC,IAAI,UAAU,IAAI,CAAC,CAAC;YAC3D,CAAC;QACH,CAAC;QAED,OAAO,IAAI,CAAC,cAAc,CAAC,eAAe,EAAE,KAAK,CAAC,CAAC;IACrD,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,oBAAoB,CAAC,UAAkB;QACnD,MAAM,KAAK,GAAa,EAAE,CAAC;QAE3B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,EAAE,CAAC,EAAE,EAAE,CAAC;YACpC,MAAM,IAAI,GAAc;gBACtB,EAAE,EAAE,QAAQ,CAAC,EAAE;gBACf,IAAI,EAAE,YAAY;gBAClB,QAAQ,EAAE,QAAQ;gBAClB,MAAM,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE;gBACtC,OAAO,EAAE,IAAI;aACd,CAAC;YAEF,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YACzB,MAAM,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;YAC1C,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,CAAC;YAE/B,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC1B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,eAAe,CAAC,IAAI,UAAU,IAAI,CAAC,CAAC;YAC3D,CAAC;QACH,CAAC;QAED,OAAO,IAAI,CAAC,cAAc,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;IACpD,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,qBAAqB,CAAC,UAAkB;QACpD,MAAM,KAAK,GAAa,EAAE,CAAC;QAE3B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,EAAE,CAAC,EAAE,EAAE,CAAC;YACpC,MAAM,KAAK,GAAgB,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;gBAC9D,EAAE,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE;gBACrB,IAAI,EAAE,QAAQ;gBACd,QAAQ,EAAE,QAAQ;gBAClB,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE;aACpB,CAAC,CAAC,CAAC;YAEJ,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YACzB,MAAM,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;YAC5C,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,CAAC;YAE/B,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;gBACzB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,eAAe,CAAC,IAAI,UAAU,IAAI,CAAC,CAAC;YAC3D,CAAC;QACH,CAAC;QAED,OAAO,IAAI,CAAC,cAAc,CAAC,eAAe,EAAE,KAAK,CAAC,CAAC;IACrD,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,yBAAyB,CAAC,UAAkB;QACxD,MAAM,KAAK,GAAa,EAAE,CAAC;QAE3B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,EAAE,CAAC,EAAE,EAAE,CAAC;YACpC,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YACzB,MAAM,IAAI,CAAC,YAAY,CAAC,gBAAgB,CACtC,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC,EAC9B;gBACE,IAAI,EAAE,qBAAqB;gBAC3B,UAAU,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,QAAQ,CAAC;aACxC,CACF,CAAC;YACF,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,CAAC;YAE/B,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC1B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,eAAe,CAAC,IAAI,UAAU,IAAI,CAAC,CAAC;YAC3D,CAAC;QACH,CAAC;QAED,OAAO,IAAI,CAAC,cAAc,CAAC,mBAAmB,EAAE,KAAK,CAAC,CAAC;IACzD,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,wBAAwB,CAAC,UAAkB;QACvD,MAAM,KAAK,GAAa,EAAE,CAAC;QAE3B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,EAAE,CAAC,EAAE,EAAE,CAAC;YACpC,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YACzB,MAAM,IAAI,CAAC,YAAY,CAAC,eAAe,CACrC,4CAA4C,EAC5C;gBACE,SAAS,EAAE,IAAI;gBACf,kBAAkB,EAAE,IAAI;gBACxB,gBAAgB,EAAE,IAAI;aACvB,CACF,CAAC;YACF,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,CAAC;YAE/B,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC1B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,eAAe,CAAC,IAAI,UAAU,IAAI,CAAC,CAAC;YAC3D,CAAC;QACH,CAAC;QAED,OAAO,IAAI,CAAC,cAAc,CAAC,mBAAmB,EAAE,KAAK,CAAC,CAAC;IACzD,CAAC;IAED;;OAEG;IACK,cAAc,CAAC,IAAY,EAAE,KAAe;QAClD,MAAM,MAAM,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAChD,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;QAE/C,OAAO;YACL,IAAI;YACJ,UAAU,EAAE,KAAK,CAAC,MAAM;YACxB,SAAS,EAAE,KAAK;YAChB,OAAO,EAAE,KAAK,GAAG,KAAK,CAAC,MAAM;YAC7B,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC;YAClB,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;YAClC,SAAS,EAAE,CAAC,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC,GAAG,IAAI;YACxC,GAAG,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;YAC7C,GAAG,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;YAC7C,GAAG,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;SAC9C,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,WAAW,CAAC,IAAY,EAAE,MAAuB;QACvD,OAAO,CAAC,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC;QACxB,OAAO,CAAC,GAAG,CAAC,kBAAkB,MAAM,CAAC,UAAU,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC;QACpE,OAAO,CAAC,GAAG,CAAC,kBAAkB,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAC7D,OAAO,CAAC,GAAG,CAAC,kBAAkB,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAC9F,OAAO,CAAC,GAAG,CAAC,kBAAkB,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QACnH,OAAO,CAAC,GAAG,CAAC,kBAAkB,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAC7D,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAClB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,aAAa,CAAC,KAAqB,EAAE,QAAgB;QACzD,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,CAAC;QACvC,MAAM,EAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QAC7D,OAAO,CAAC,GAAG,CAAC,0BAA0B,QAAQ,EAAE,CAAC,CAAC;IACpD,CAAC;IAED,KAAK,CAAC,KAAK;QACT,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QAC1B,MAAM,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC;IAClC,CAAC;CACF;AAED,kBAAkB;AAClB,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,KAAK,UAAU,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;IACpD,MAAM,SAAS,GAAG,IAAI,oBAAoB,EAAE,CAAC;IAE7C,IAAI,CAAC;QACH,MAAM,SAAS,CAAC,UAAU,EAAE,CAAC;QAC7B,MAAM,OAAO,GAAG,MAAM,SAAS,CAAC,MAAM,EAAE,CAAC;QACzC,MAAM,SAAS,CAAC,aAAa,CAAC,OAAO,EAAE,0BAA0B,CAAC,CAAC;IACrE,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,qBAAqB,EAAE,KAAK,CAAC,CAAC;QAC5C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;YAAS,CAAC;QACT,MAAM,SAAS,CAAC,KAAK,EAAE,CAAC;IAC1B,CAAC;AACH,CAAC"}
package/dist/cli.d.ts ADDED
@@ -0,0 +1,6 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * ROS3 MCP Server CLI
4
+ */
5
+ export {};
6
+ //# sourceMappingURL=cli.d.ts.map
@@ -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
@@ -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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"}