@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,81 @@
1
+ /**
2
+ * Hybrid AgentDB Memory Implementation
3
+ *
4
+ * Strategy: Direct SQLite for storage (fast), CLI for vector search (until API ready)
5
+ * Expected: 50-100x faster than pure CLI approach
6
+ */
7
+ import type { Episode, Memory } from './memory.js';
8
+ export declare class HybridAgentDBMemory {
9
+ private db;
10
+ private dbPath;
11
+ private initialized;
12
+ private performanceMetrics;
13
+ constructor(dbPath: string);
14
+ initialize(): Promise<void>;
15
+ /**
16
+ * Store episode using direct SQL (100x faster than CLI)
17
+ */
18
+ storeEpisode(episode: Episode): Promise<void>;
19
+ /**
20
+ * Bulk store episodes (even faster with transactions)
21
+ */
22
+ bulkStoreEpisodes(episodes: Episode[]): Promise<void>;
23
+ /**
24
+ * Retrieve memories using CLI vector search (until API ready)
25
+ * Falls back to SQL if CLI fails
26
+ */
27
+ retrieveMemories(query: string, k?: number, options?: {
28
+ minReward?: number;
29
+ onlySuccesses?: boolean;
30
+ onlyFailures?: boolean;
31
+ synthesizeContext?: boolean;
32
+ }): Promise<Memory[]>;
33
+ /**
34
+ * Query with context (SQL + CLI hybrid)
35
+ */
36
+ queryWithContext(query: string, options?: {
37
+ k?: number;
38
+ minConfidence?: number;
39
+ domain?: string;
40
+ }): Promise<{
41
+ memories: Memory[];
42
+ context?: string;
43
+ }>;
44
+ /**
45
+ * Consolidate skills (direct SQL analysis)
46
+ */
47
+ consolidateSkills(options?: {
48
+ minAttempts?: number;
49
+ minReward?: number;
50
+ timeWindowDays?: number;
51
+ }): Promise<void>;
52
+ /**
53
+ * Search skills (direct SQL)
54
+ */
55
+ searchSkills(query: string, options?: {
56
+ k?: number;
57
+ minSuccessRate?: number;
58
+ sortBy?: 'success_rate' | 'avg_reward' | 'attempts';
59
+ }): Promise<any[]>;
60
+ /**
61
+ * Optimize database
62
+ */
63
+ optimize(): Promise<void>;
64
+ /**
65
+ * Get performance metrics
66
+ */
67
+ getMetrics(): {
68
+ storeCount: number;
69
+ retrieveCount: number;
70
+ avgStoreTime: number;
71
+ avgRetrieveTime: number;
72
+ };
73
+ /**
74
+ * Get database statistics
75
+ */
76
+ getStats(): Promise<any>;
77
+ close(): Promise<void>;
78
+ private updateStoreMetrics;
79
+ private updateRetrieveMetrics;
80
+ }
81
+ //# sourceMappingURL=hybrid-memory.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hybrid-memory.d.ts","sourceRoot":"","sources":["../src/hybrid-memory.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAInD,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,EAAE,CAAqB;IAC/B,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,WAAW,CAAkB;IACrC,OAAO,CAAC,kBAAkB,CAKxB;gBAEU,MAAM,EAAE,MAAM;IAUpB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IA0CjC;;OAEG;IACG,YAAY,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IA2BnD;;OAEG;IACG,iBAAiB,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IA6B3D;;;OAGG;IACG,gBAAgB,CACpB,KAAK,EAAE,MAAM,EACb,CAAC,GAAE,MAAU,EACb,OAAO,GAAE;QACP,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,aAAa,CAAC,EAAE,OAAO,CAAC;QACxB,YAAY,CAAC,EAAE,OAAO,CAAC;QACvB,iBAAiB,CAAC,EAAE,OAAO,CAAC;KACxB,GACL,OAAO,CAAC,MAAM,EAAE,CAAC;IAoFpB;;OAEG;IACG,gBAAgB,CACpB,KAAK,EAAE,MAAM,EACb,OAAO,GAAE;QACP,CAAC,CAAC,EAAE,MAAM,CAAC;QACX,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,MAAM,CAAC,EAAE,MAAM,CAAC;KACZ,GACL,OAAO,CAAC;QAAE,QAAQ,EAAE,MAAM,EAAE,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAiBpD;;OAEG;IACG,iBAAiB,CAAC,OAAO,GAAE;QAC/B,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,cAAc,CAAC,EAAE,MAAM,CAAC;KACpB,GAAG,OAAO,CAAC,IAAI,CAAC;IA0BtB;;OAEG;IACG,YAAY,CAChB,KAAK,EAAE,MAAM,EACb,OAAO,GAAE;QACP,CAAC,CAAC,EAAE,MAAM,CAAC;QACX,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,MAAM,CAAC,EAAE,cAAc,GAAG,YAAY,GAAG,UAAU,CAAC;KAChD,GACL,OAAO,CAAC,GAAG,EAAE,CAAC;IA4BjB;;OAEG;IACG,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAS/B;;OAEG;IACH,UAAU;oBA1UI,MAAM;uBACH,MAAM;sBACP,MAAM;yBACH,MAAM;;IA2UzB;;OAEG;IACG,QAAQ,IAAI,OAAO,CAAC,GAAG,CAAC;IAuBxB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAQ5B,OAAO,CAAC,kBAAkB;IAO1B,OAAO,CAAC,qBAAqB;CAM9B"}
@@ -0,0 +1,296 @@
1
+ /**
2
+ * Hybrid AgentDB Memory Implementation
3
+ *
4
+ * Strategy: Direct SQLite for storage (fast), CLI for vector search (until API ready)
5
+ * Expected: 50-100x faster than pure CLI approach
6
+ */
7
+ import Database from 'better-sqlite3';
8
+ import { promisify } from 'util';
9
+ import { exec } from 'child_process';
10
+ const execAsync = promisify(exec);
11
+ export class HybridAgentDBMemory {
12
+ db;
13
+ dbPath;
14
+ initialized = false;
15
+ performanceMetrics;
16
+ constructor(dbPath) {
17
+ this.dbPath = dbPath;
18
+ this.performanceMetrics = {
19
+ storeCount: 0,
20
+ retrieveCount: 0,
21
+ avgStoreTime: 0,
22
+ avgRetrieveTime: 0,
23
+ };
24
+ }
25
+ async initialize() {
26
+ if (this.initialized)
27
+ return;
28
+ const startTime = Date.now();
29
+ // Open SQLite database with optimizations
30
+ this.db = new Database(this.dbPath);
31
+ // Enable performance optimizations
32
+ this.db.pragma('journal_mode = WAL'); // Write-Ahead Logging
33
+ this.db.pragma('synchronous = NORMAL'); // Balance safety/speed
34
+ this.db.pragma('cache_size = 10000'); // 10MB cache
35
+ this.db.pragma('temp_store = MEMORY'); // Temp tables in memory
36
+ this.db.pragma('mmap_size = 30000000000'); // Memory-mapped I/O
37
+ // Create tables if they don't exist
38
+ this.db.exec(`
39
+ CREATE TABLE IF NOT EXISTS reflexion_episodes (
40
+ id INTEGER PRIMARY KEY AUTOINCREMENT,
41
+ session_id TEXT NOT NULL,
42
+ task_name TEXT NOT NULL,
43
+ confidence REAL NOT NULL,
44
+ success INTEGER NOT NULL,
45
+ outcome TEXT,
46
+ strategy TEXT,
47
+ metadata TEXT,
48
+ timestamp INTEGER NOT NULL DEFAULT (strftime('%s', 'now'))
49
+ );
50
+
51
+ CREATE INDEX IF NOT EXISTS idx_task_name ON reflexion_episodes(task_name);
52
+ CREATE INDEX IF NOT EXISTS idx_success ON reflexion_episodes(success);
53
+ CREATE INDEX IF NOT EXISTS idx_timestamp ON reflexion_episodes(timestamp);
54
+ `);
55
+ this.initialized = true;
56
+ const elapsed = Date.now() - startTime;
57
+ console.error(`✅ Hybrid AgentDB initialized: ${this.dbPath}`);
58
+ console.error(`⚡ Initialization time: ${elapsed}ms`);
59
+ console.error(`📊 Mode: Direct SQL storage + CLI vector search`);
60
+ }
61
+ /**
62
+ * Store episode using direct SQL (100x faster than CLI)
63
+ */
64
+ async storeEpisode(episode) {
65
+ const startTime = performance.now();
66
+ const stmt = this.db.prepare(`
67
+ INSERT INTO reflexion_episodes
68
+ (session_id, task_name, confidence, success, outcome, strategy, metadata)
69
+ VALUES (?, ?, ?, ?, ?, ?, ?)
70
+ `);
71
+ stmt.run(episode.sessionId, episode.taskName, episode.confidence, episode.success ? 1 : 0, episode.outcome, episode.strategy || null, episode.metadata ? JSON.stringify(episode.metadata) : null);
72
+ const elapsed = performance.now() - startTime;
73
+ this.updateStoreMetrics(elapsed);
74
+ if (this.performanceMetrics.storeCount % 100 === 0 && this.performanceMetrics.storeCount > 0) {
75
+ console.error(`💾 Stored episode: ${episode.taskName} (${elapsed.toFixed(2)}ms)`);
76
+ }
77
+ }
78
+ /**
79
+ * Bulk store episodes (even faster with transactions)
80
+ */
81
+ async bulkStoreEpisodes(episodes) {
82
+ const startTime = performance.now();
83
+ const stmt = this.db.prepare(`
84
+ INSERT INTO reflexion_episodes
85
+ (session_id, task_name, confidence, success, outcome, strategy, metadata)
86
+ VALUES (?, ?, ?, ?, ?, ?, ?)
87
+ `);
88
+ const insertMany = this.db.transaction((episodes) => {
89
+ for (const episode of episodes) {
90
+ stmt.run(episode.sessionId, episode.taskName, episode.confidence, episode.success ? 1 : 0, episode.outcome, episode.strategy || null, episode.metadata ? JSON.stringify(episode.metadata) : null);
91
+ }
92
+ });
93
+ insertMany(episodes);
94
+ const elapsed = performance.now() - startTime;
95
+ console.error(`💾 Bulk stored ${episodes.length} episodes (${elapsed.toFixed(2)}ms, ${(elapsed / episodes.length).toFixed(2)}ms avg)`);
96
+ }
97
+ /**
98
+ * Retrieve memories using CLI vector search (until API ready)
99
+ * Falls back to SQL if CLI fails
100
+ */
101
+ async retrieveMemories(query, k = 5, options = {}) {
102
+ const startTime = performance.now();
103
+ // Try CLI vector search first (semantic search)
104
+ try {
105
+ let cmd = `npx agentdb reflexion retrieve "${query}" --k ${k}`;
106
+ if (options.minReward !== undefined) {
107
+ cmd += ` --min-reward ${options.minReward}`;
108
+ }
109
+ if (options.onlySuccesses) {
110
+ cmd += ' --only-successes';
111
+ }
112
+ if (options.onlyFailures) {
113
+ cmd += ' --only-failures';
114
+ }
115
+ if (options.synthesizeContext) {
116
+ cmd += ' --synthesize-context';
117
+ }
118
+ const { stdout } = await execAsync(`AGENTDB_PATH="${this.dbPath}" ${cmd}`, {
119
+ timeout: 10000,
120
+ });
121
+ const lines = stdout.trim().split('\n');
122
+ const jsonLine = lines.find(line => line.startsWith('[') || line.startsWith('{'));
123
+ if (jsonLine) {
124
+ const data = JSON.parse(jsonLine);
125
+ const results = Array.isArray(data) ? data : [data];
126
+ const elapsed = performance.now() - startTime;
127
+ this.updateRetrieveMetrics(elapsed);
128
+ return results;
129
+ }
130
+ }
131
+ catch (error) {
132
+ console.error('Vector search failed, falling back to SQL:', error.message);
133
+ }
134
+ // Fallback: Direct SQL query (keyword search)
135
+ const whereConditions = ['1=1'];
136
+ const params = [];
137
+ if (options.onlySuccesses) {
138
+ whereConditions.push('success = 1');
139
+ }
140
+ if (options.onlyFailures) {
141
+ whereConditions.push('success = 0');
142
+ }
143
+ // Simple keyword matching
144
+ whereConditions.push("task_name LIKE ? OR outcome LIKE ?");
145
+ params.push(`%${query}%`, `%${query}%`);
146
+ const stmt = this.db.prepare(`
147
+ SELECT
148
+ task_name as task,
149
+ confidence,
150
+ success,
151
+ outcome,
152
+ strategy,
153
+ timestamp
154
+ FROM reflexion_episodes
155
+ WHERE ${whereConditions.join(' AND ')}
156
+ ORDER BY timestamp DESC
157
+ LIMIT ?
158
+ `);
159
+ const results = stmt.all(...params, k);
160
+ const elapsed = performance.now() - startTime;
161
+ this.updateRetrieveMetrics(elapsed);
162
+ return results.map((row) => ({
163
+ task: row.task,
164
+ confidence: row.confidence,
165
+ success: row.success === 1,
166
+ outcome: row.outcome,
167
+ strategy: row.strategy,
168
+ timestamp: row.timestamp,
169
+ }));
170
+ }
171
+ /**
172
+ * Query with context (SQL + CLI hybrid)
173
+ */
174
+ async queryWithContext(query, options = {}) {
175
+ const { k = 5, minConfidence = 0.0 } = options;
176
+ const memories = await this.retrieveMemories(query, k, {
177
+ minReward: minConfidence,
178
+ });
179
+ // Generate simple context from results
180
+ let context;
181
+ if (memories.length > 0) {
182
+ const successRate = memories.filter(m => m.success).length / memories.length;
183
+ context = `Found ${memories.length} similar experiences (${(successRate * 100).toFixed(0)}% success rate)`;
184
+ }
185
+ return { memories, context };
186
+ }
187
+ /**
188
+ * Consolidate skills (direct SQL analysis)
189
+ */
190
+ async consolidateSkills(options = {}) {
191
+ const { minAttempts = 3, minReward = 0.7, timeWindowDays = 7, } = options;
192
+ const timeWindow = Math.floor(Date.now() / 1000) - (timeWindowDays * 24 * 60 * 60);
193
+ const stmt = this.db.prepare(`
194
+ SELECT
195
+ task_name,
196
+ COUNT(*) as attempts,
197
+ AVG(confidence) as avg_confidence,
198
+ SUM(CASE WHEN success = 1 THEN 1 ELSE 0 END) * 1.0 / COUNT(*) as success_rate
199
+ FROM reflexion_episodes
200
+ WHERE timestamp >= ?
201
+ GROUP BY task_name
202
+ HAVING attempts >= ? AND avg_confidence >= ?
203
+ ORDER BY success_rate DESC, attempts DESC
204
+ `);
205
+ const skills = stmt.all(timeWindow, minAttempts, minReward);
206
+ console.error(`🎯 Consolidated ${skills.length} skills from successful episodes`);
207
+ }
208
+ /**
209
+ * Search skills (direct SQL)
210
+ */
211
+ async searchSkills(query, options = {}) {
212
+ const { k = 5, minSuccessRate = 0.0, sortBy = 'success_rate' } = options;
213
+ const orderByMap = {
214
+ 'success_rate': 'success_rate DESC',
215
+ 'avg_reward': 'avg_confidence DESC',
216
+ 'attempts': 'attempts DESC',
217
+ };
218
+ const stmt = this.db.prepare(`
219
+ SELECT
220
+ task_name as name,
221
+ outcome as description,
222
+ SUM(CASE WHEN success = 1 THEN 1 ELSE 0 END) * 1.0 / COUNT(*) as success_rate,
223
+ AVG(confidence) as avg_reward,
224
+ COUNT(*) as attempts,
225
+ MAX(timestamp) as last_used
226
+ FROM reflexion_episodes
227
+ WHERE task_name LIKE ? OR outcome LIKE ?
228
+ GROUP BY task_name
229
+ HAVING success_rate >= ?
230
+ ORDER BY ${orderByMap[sortBy]}
231
+ LIMIT ?
232
+ `);
233
+ return stmt.all(`%${query}%`, `%${query}%`, minSuccessRate, k);
234
+ }
235
+ /**
236
+ * Optimize database
237
+ */
238
+ async optimize() {
239
+ console.error('🔧 Optimizing database...');
240
+ this.db.pragma('optimize');
241
+ this.db.pragma('wal_checkpoint(TRUNCATE)');
242
+ this.db.exec('VACUUM');
243
+ this.db.exec('ANALYZE');
244
+ console.error('✅ Database optimized');
245
+ }
246
+ /**
247
+ * Get performance metrics
248
+ */
249
+ getMetrics() {
250
+ return { ...this.performanceMetrics };
251
+ }
252
+ /**
253
+ * Get database statistics
254
+ */
255
+ async getStats() {
256
+ const stats = this.db.prepare(`
257
+ SELECT
258
+ COUNT(*) as total_episodes,
259
+ SUM(CASE WHEN success = 1 THEN 1 ELSE 0 END) as successful_episodes,
260
+ SUM(CASE WHEN success = 0 THEN 1 ELSE 0 END) as failed_episodes,
261
+ COUNT(DISTINCT task_name) as unique_tasks,
262
+ AVG(confidence) as avg_confidence
263
+ FROM reflexion_episodes
264
+ `).get() || {};
265
+ return {
266
+ ...stats,
267
+ performance: this.performanceMetrics,
268
+ database: {
269
+ path: this.dbPath,
270
+ pageSize: this.db.pragma('page_size', { simple: true }),
271
+ pageCount: this.db.pragma('page_count', { simple: true }),
272
+ journalMode: this.db.pragma('journal_mode', { simple: true }),
273
+ },
274
+ };
275
+ }
276
+ async close() {
277
+ if (this.db) {
278
+ this.db.close();
279
+ }
280
+ this.initialized = false;
281
+ }
282
+ // Private helper methods
283
+ updateStoreMetrics(elapsed) {
284
+ const { storeCount, avgStoreTime } = this.performanceMetrics;
285
+ this.performanceMetrics.storeCount = storeCount + 1;
286
+ this.performanceMetrics.avgStoreTime =
287
+ (avgStoreTime * storeCount + elapsed) / (storeCount + 1);
288
+ }
289
+ updateRetrieveMetrics(elapsed) {
290
+ const { retrieveCount, avgRetrieveTime } = this.performanceMetrics;
291
+ this.performanceMetrics.retrieveCount = retrieveCount + 1;
292
+ this.performanceMetrics.avgRetrieveTime =
293
+ (avgRetrieveTime * retrieveCount + elapsed) / (retrieveCount + 1);
294
+ }
295
+ }
296
+ //# sourceMappingURL=hybrid-memory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hybrid-memory.js","sourceRoot":"","sources":["../src/hybrid-memory.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * ROS3 MCP Server
3
+ *
4
+ * Exposes robotics operations as a simplified server
5
+ * with AgentDB reflexion memory integration.
6
+ */
7
+ export { ROS3McpServer } from './server.js';
8
+ export { ROS3Interface } from './interface.js';
9
+ export { AgentDBMemory } from './memory.js';
10
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC"}
@@ -4,7 +4,7 @@
4
4
  * Exposes robotics operations as a simplified server
5
5
  * with AgentDB reflexion memory integration.
6
6
  */
7
-
8
7
  export { ROS3McpServer } from './server.js';
9
8
  export { ROS3Interface } from './interface.js';
10
9
  export { AgentDBMemory } from './memory.js';
10
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC"}
@@ -0,0 +1,38 @@
1
+ /**
2
+ * ROS3 Interface - Mock implementation for demonstration
3
+ * In production, this would interface with the Rust native bindings
4
+ */
5
+ export interface Pose {
6
+ x: number;
7
+ y: number;
8
+ z: number;
9
+ roll: number;
10
+ pitch: number;
11
+ yaw: number;
12
+ }
13
+ export interface ObjectDetection {
14
+ class: string;
15
+ confidence: number;
16
+ bbox: [number, number, number, number];
17
+ }
18
+ export interface LidarData {
19
+ points: Array<{
20
+ x: number;
21
+ y: number;
22
+ z: number;
23
+ }>;
24
+ intensities: number[];
25
+ timestamp: number;
26
+ }
27
+ export declare class ROS3Interface {
28
+ constructor();
29
+ moveToPose(pose: Pose, speed?: number, frame?: 'base' | 'world'): Promise<void>;
30
+ getLidarData(filter?: 'all' | 'obstacles' | 'ground', maxPoints?: number): Promise<LidarData>;
31
+ detectObjects(camera: 'front' | 'left' | 'right' | 'rear', confidenceThreshold?: number): Promise<ObjectDetection[]>;
32
+ getCurrentPose(): Promise<Pose>;
33
+ getStatus(): Promise<{
34
+ status: string;
35
+ health: string;
36
+ }>;
37
+ }
38
+ //# sourceMappingURL=interface.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"interface.d.ts","sourceRoot":"","sources":["../src/interface.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,WAAW,IAAI;IACnB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;CACxC;AAED,MAAM,WAAW,SAAS;IACxB,MAAM,EAAE,KAAK,CAAC;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACnD,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,qBAAa,aAAa;;IAMlB,UAAU,CACd,IAAI,EAAE,IAAI,EACV,KAAK,GAAE,MAAY,EACnB,KAAK,GAAE,MAAM,GAAG,OAAiB,GAChC,OAAO,CAAC,IAAI,CAAC;IAOV,YAAY,CAChB,MAAM,GAAE,KAAK,GAAG,WAAW,GAAG,QAAgB,EAC9C,SAAS,GAAE,MAAc,GACxB,OAAO,CAAC,SAAS,CAAC;IAwBf,aAAa,CACjB,MAAM,EAAE,OAAO,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,EAC3C,mBAAmB,GAAE,MAAY,GAChC,OAAO,CAAC,eAAe,EAAE,CAAC;IA2BvB,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC;IAW/B,SAAS,IAAI,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;CAM/D"}
@@ -0,0 +1,75 @@
1
+ /**
2
+ * ROS3 Interface - Mock implementation for demonstration
3
+ * In production, this would interface with the Rust native bindings
4
+ */
5
+ export class ROS3Interface {
6
+ constructor() {
7
+ // Initialize connection to ROS3 runtime
8
+ console.error('ROS3Interface initialized');
9
+ }
10
+ async moveToPose(pose, speed = 0.5, frame = 'world') {
11
+ console.error(`Moving to pose [${pose.x}, ${pose.y}, ${pose.z}] in ${frame} frame at speed ${speed}`);
12
+ // Simulate movement time
13
+ await new Promise(resolve => setTimeout(resolve, 100));
14
+ }
15
+ async getLidarData(filter = 'all', maxPoints = 10000) {
16
+ console.error(`Getting LIDAR data with filter: ${filter}, max points: ${maxPoints}`);
17
+ // Generate mock point cloud
18
+ const points = [];
19
+ const intensities = [];
20
+ const numPoints = Math.min(1000, maxPoints);
21
+ for (let i = 0; i < numPoints; i++) {
22
+ points.push({
23
+ x: Math.random() * 10 - 5,
24
+ y: Math.random() * 10 - 5,
25
+ z: Math.random() * 3,
26
+ });
27
+ intensities.push(Math.random());
28
+ }
29
+ return {
30
+ points,
31
+ intensities,
32
+ timestamp: Date.now(),
33
+ };
34
+ }
35
+ async detectObjects(camera, confidenceThreshold = 0.5) {
36
+ console.error(`Detecting objects from ${camera} camera with threshold ${confidenceThreshold}`);
37
+ // Generate mock detections
38
+ const classes = ['person', 'car', 'bicycle', 'traffic_light', 'stop_sign'];
39
+ const detections = [];
40
+ const numDetections = Math.floor(Math.random() * 5);
41
+ for (let i = 0; i < numDetections; i++) {
42
+ const confidence = Math.random() * 0.5 + 0.5;
43
+ if (confidence >= confidenceThreshold) {
44
+ detections.push({
45
+ class: classes[Math.floor(Math.random() * classes.length)],
46
+ confidence,
47
+ bbox: [
48
+ Math.random() * 640,
49
+ Math.random() * 480,
50
+ Math.random() * 200,
51
+ Math.random() * 200,
52
+ ],
53
+ });
54
+ }
55
+ }
56
+ return detections;
57
+ }
58
+ async getCurrentPose() {
59
+ return {
60
+ x: 0,
61
+ y: 0,
62
+ z: 0,
63
+ roll: 0,
64
+ pitch: 0,
65
+ yaw: 0,
66
+ };
67
+ }
68
+ async getStatus() {
69
+ return {
70
+ status: 'operational',
71
+ health: 'good',
72
+ };
73
+ }
74
+ }
75
+ //# sourceMappingURL=interface.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"interface.js","sourceRoot":"","sources":["../src/interface.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,52 @@
1
+ /**
2
+ * AgentDB Reflexion Memory Integration
3
+ *
4
+ * Enables robot learning from past experiences with secure command execution
5
+ * SECURITY: Uses spawn() with argument arrays to prevent command injection
6
+ */
7
+ export interface Episode {
8
+ sessionId: string;
9
+ taskName: string;
10
+ confidence: number;
11
+ success: boolean;
12
+ outcome: string;
13
+ strategy?: string;
14
+ metadata?: Record<string, any>;
15
+ }
16
+ export interface Memory {
17
+ task: string;
18
+ confidence: number;
19
+ success: boolean;
20
+ outcome: string;
21
+ strategy?: string;
22
+ timestamp: number;
23
+ }
24
+ export declare class AgentDBMemory {
25
+ private dbPath;
26
+ private initialized;
27
+ constructor(dbPath: string);
28
+ initialize(): Promise<void>;
29
+ storeEpisode(episode: Episode): Promise<void>;
30
+ retrieveMemories(query: string, k?: number, options?: {
31
+ minReward?: number;
32
+ onlySuccesses?: boolean;
33
+ onlyFailures?: boolean;
34
+ synthesizeContext?: boolean;
35
+ }): Promise<Memory[]>;
36
+ queryWithContext(query: string, options?: {
37
+ k?: number;
38
+ minConfidence?: number;
39
+ domain?: string;
40
+ }): Promise<{
41
+ memories: Memory[];
42
+ context?: string;
43
+ }>;
44
+ consolidateSkills(options?: {
45
+ minAttempts?: number;
46
+ minReward?: number;
47
+ timeWindowDays?: number;
48
+ }): Promise<void>;
49
+ getStats(): Promise<any>;
50
+ close(): Promise<void>;
51
+ }
52
+ //# sourceMappingURL=memory.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"memory.d.ts","sourceRoot":"","sources":["../src/memory.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,MAAM,WAAW,OAAO;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAChC;AAED,MAAM,WAAW,MAAM;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAsCD,qBAAa,aAAa;IACxB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,WAAW,CAAkB;gBAEzB,MAAM,EAAE,MAAM;IAQpB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IA+B3B,YAAY,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAkC7C,gBAAgB,CACpB,KAAK,EAAE,MAAM,EACb,CAAC,GAAE,MAAU,EACb,OAAO,GAAE;QACP,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,aAAa,CAAC,EAAE,OAAO,CAAC;QACxB,YAAY,CAAC,EAAE,OAAO,CAAC;QACvB,iBAAiB,CAAC,EAAE,OAAO,CAAC;KACxB,GACL,OAAO,CAAC,MAAM,EAAE,CAAC;IA8Cd,gBAAgB,CACpB,KAAK,EAAE,MAAM,EACb,OAAO,GAAE;QACP,CAAC,CAAC,EAAE,MAAM,CAAC;QACX,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,MAAM,CAAC,EAAE,MAAM,CAAC;KACZ,GACL,OAAO,CAAC;QAAE,QAAQ,EAAE,MAAM,EAAE,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAoD9C,iBAAiB,CAAC,OAAO,GAAE;QAC/B,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,cAAc,CAAC,EAAE,MAAM,CAAC;KACpB,GAAG,OAAO,CAAC,IAAI,CAAC;IAgChB,QAAQ,IAAI,OAAO,CAAC,GAAG,CAAC;IAoBxB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAG7B"}