@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
package/dist/memory.js ADDED
@@ -0,0 +1,230 @@
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
+ import { spawn } from 'child_process';
8
+ /**
9
+ * Helper to safely spawn a command and capture output
10
+ * Prevents command injection by using spawn with argument array
11
+ */
12
+ function spawnAsync(command, args, env) {
13
+ return new Promise((resolve, reject) => {
14
+ const child = spawn(command, args, {
15
+ env: { ...process.env, ...env },
16
+ shell: false, // Critical: disable shell interpretation
17
+ });
18
+ let stdout = '';
19
+ let stderr = '';
20
+ child.stdout?.on('data', (data) => {
21
+ stdout += data.toString();
22
+ });
23
+ child.stderr?.on('data', (data) => {
24
+ stderr += data.toString();
25
+ });
26
+ child.on('close', (code) => {
27
+ resolve({ stdout, stderr, code: code || 0 });
28
+ });
29
+ child.on('error', (error) => {
30
+ reject(error);
31
+ });
32
+ });
33
+ }
34
+ export class AgentDBMemory {
35
+ dbPath;
36
+ initialized = false;
37
+ constructor(dbPath) {
38
+ // Validate dbPath to prevent path traversal
39
+ if (!dbPath || dbPath.includes('..') || dbPath.includes(';') || dbPath.includes('|')) {
40
+ throw new Error('Invalid database path');
41
+ }
42
+ this.dbPath = dbPath;
43
+ }
44
+ async initialize() {
45
+ if (this.initialized)
46
+ return;
47
+ try {
48
+ // Initialize AgentDB database - use spawn with argument array for security
49
+ const { stdout, stderr, code } = await spawnAsync('npx', [
50
+ 'agentdb',
51
+ 'init',
52
+ this.dbPath,
53
+ '--dimension',
54
+ '768',
55
+ '--preset',
56
+ 'medium',
57
+ ]);
58
+ if (code === 0 || stderr.includes('already exists')) {
59
+ console.error('AgentDB initialized:', this.dbPath);
60
+ this.initialized = true;
61
+ }
62
+ else {
63
+ throw new Error(`Initialization failed: ${stderr}`);
64
+ }
65
+ }
66
+ catch (error) {
67
+ // Database might already exist
68
+ if (error.message?.includes('already exists')) {
69
+ this.initialized = true;
70
+ }
71
+ else {
72
+ throw new Error(`Failed to initialize AgentDB: ${error.message}`);
73
+ }
74
+ }
75
+ }
76
+ async storeEpisode(episode) {
77
+ if (!this.initialized) {
78
+ throw new Error('AgentDB not initialized. Call initialize() first.');
79
+ }
80
+ try {
81
+ // Use spawn with argument array to prevent command injection
82
+ const { code, stderr } = await spawnAsync('npx', [
83
+ 'agentdb',
84
+ 'reflexion',
85
+ 'store',
86
+ episode.sessionId,
87
+ episode.taskName,
88
+ episode.confidence.toString(),
89
+ episode.success.toString(),
90
+ episode.outcome || '',
91
+ ], { AGENTDB_PATH: this.dbPath });
92
+ if (code !== 0) {
93
+ throw new Error(`Command failed: ${stderr}`);
94
+ }
95
+ console.error(`Stored episode: ${episode.taskName} (success: ${episode.success})`);
96
+ }
97
+ catch (error) {
98
+ const errorMsg = `Failed to store episode "${episode.taskName}": ${error.message}`;
99
+ console.error('Error storing episode:', errorMsg);
100
+ throw new Error(errorMsg); // Throw instead of silently failing
101
+ }
102
+ }
103
+ async retrieveMemories(query, k = 5, options = {}) {
104
+ if (!this.initialized) {
105
+ throw new Error('AgentDB not initialized. Call initialize() first.');
106
+ }
107
+ // Build safe argument array
108
+ const args = ['agentdb', 'reflexion', 'retrieve', query, '--k', k.toString()];
109
+ if (options.minReward !== undefined) {
110
+ args.push('--min-reward', options.minReward.toString());
111
+ }
112
+ if (options.onlySuccesses) {
113
+ args.push('--only-successes');
114
+ }
115
+ if (options.onlyFailures) {
116
+ args.push('--only-failures');
117
+ }
118
+ if (options.synthesizeContext) {
119
+ args.push('--synthesize-context');
120
+ }
121
+ try {
122
+ const { stdout, code, stderr } = await spawnAsync('npx', args, {
123
+ AGENTDB_PATH: this.dbPath,
124
+ });
125
+ if (code !== 0) {
126
+ throw new Error(`Command failed: ${stderr}`);
127
+ }
128
+ // Parse JSON output
129
+ const lines = stdout.trim().split('\n');
130
+ const jsonLine = lines.find((line) => line.startsWith('[') || line.startsWith('{'));
131
+ if (jsonLine) {
132
+ const data = JSON.parse(jsonLine);
133
+ return Array.isArray(data) ? data : [data];
134
+ }
135
+ return [];
136
+ }
137
+ catch (error) {
138
+ // Throw error instead of silently returning empty array
139
+ throw new Error(`Failed to retrieve memories for query "${query}": ${error.message}`);
140
+ }
141
+ }
142
+ async queryWithContext(query, options = {}) {
143
+ if (!this.initialized) {
144
+ throw new Error('AgentDB not initialized. Call initialize() first.');
145
+ }
146
+ const { k = 5, minConfidence = 0.0, domain } = options;
147
+ // Build safe argument array
148
+ const args = [
149
+ 'agentdb',
150
+ 'query',
151
+ '--query',
152
+ query,
153
+ '--k',
154
+ k.toString(),
155
+ '--min-confidence',
156
+ minConfidence.toString(),
157
+ ];
158
+ if (domain) {
159
+ args.push('--domain', domain);
160
+ }
161
+ args.push('--synthesize-context', '--format', 'json');
162
+ try {
163
+ const { stdout, code, stderr } = await spawnAsync('npx', args, {
164
+ AGENTDB_PATH: this.dbPath,
165
+ });
166
+ if (code !== 0) {
167
+ throw new Error(`Command failed: ${stderr}`);
168
+ }
169
+ const lines = stdout.trim().split('\n');
170
+ const jsonLine = lines.find((line) => line.startsWith('[') || line.startsWith('{'));
171
+ if (jsonLine) {
172
+ const data = JSON.parse(jsonLine);
173
+ return {
174
+ memories: Array.isArray(data) ? data : [data],
175
+ context: data.context || data.summary,
176
+ };
177
+ }
178
+ return { memories: [] };
179
+ }
180
+ catch (error) {
181
+ // Throw error instead of silently returning empty array
182
+ throw new Error(`Failed to query with context "${query}": ${error.message}`);
183
+ }
184
+ }
185
+ async consolidateSkills(options = {}) {
186
+ if (!this.initialized) {
187
+ throw new Error('AgentDB not initialized. Call initialize() first.');
188
+ }
189
+ const { minAttempts = 3, minReward = 0.7, timeWindowDays = 7 } = options;
190
+ try {
191
+ const { code, stderr } = await spawnAsync('npx', [
192
+ 'agentdb',
193
+ 'skill',
194
+ 'consolidate',
195
+ minAttempts.toString(),
196
+ minReward.toString(),
197
+ timeWindowDays.toString(),
198
+ 'true',
199
+ ], { AGENTDB_PATH: this.dbPath });
200
+ if (code !== 0) {
201
+ throw new Error(`Command failed: ${stderr}`);
202
+ }
203
+ console.error('Skills consolidated from successful episodes');
204
+ }
205
+ catch (error) {
206
+ throw new Error(`Failed to consolidate skills: ${error.message}`);
207
+ }
208
+ }
209
+ async getStats() {
210
+ if (!this.initialized) {
211
+ throw new Error('AgentDB not initialized. Call initialize() first.');
212
+ }
213
+ try {
214
+ const { stdout, code, stderr } = await spawnAsync('npx', ['agentdb', 'db', 'stats'], {
215
+ AGENTDB_PATH: this.dbPath,
216
+ });
217
+ if (code !== 0) {
218
+ throw new Error(`Command failed: ${stderr}`);
219
+ }
220
+ return { stats: stdout.trim() };
221
+ }
222
+ catch (error) {
223
+ throw new Error(`Failed to get stats: ${error.message}`);
224
+ }
225
+ }
226
+ async close() {
227
+ this.initialized = false;
228
+ }
229
+ }
230
+ //# sourceMappingURL=memory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"memory.js","sourceRoot":"","sources":["../src/memory.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,55 @@
1
+ /**
2
+ * ROS3 MCP Server implementation - Simplified version
3
+ */
4
+ export interface ROS3McpServerConfig {
5
+ name?: string;
6
+ version?: string;
7
+ dbPath?: string;
8
+ }
9
+ export declare class ROS3McpServer {
10
+ private ros3;
11
+ private memory;
12
+ private name;
13
+ private version;
14
+ constructor(config?: ROS3McpServerConfig);
15
+ start(): Promise<void>;
16
+ stop(): Promise<void>;
17
+ moveRobot(params: {
18
+ x: number;
19
+ y: number;
20
+ z: number;
21
+ roll: number;
22
+ pitch: number;
23
+ yaw: number;
24
+ speed?: number;
25
+ frame?: 'base' | 'world';
26
+ }): Promise<string>;
27
+ getPose(): Promise<string>;
28
+ getStatus(): Promise<string>;
29
+ readLidar(params: {
30
+ filter?: string;
31
+ max_points?: number;
32
+ }): Promise<string>;
33
+ detectObjects(params: {
34
+ camera: string;
35
+ confidence_threshold?: number;
36
+ }): Promise<string>;
37
+ queryMemory(params: {
38
+ query: string;
39
+ k?: number;
40
+ only_successes?: boolean;
41
+ min_confidence?: number;
42
+ }): Promise<string>;
43
+ consolidateSkills(params?: {
44
+ min_attempts?: number;
45
+ min_reward?: number;
46
+ time_window_days?: number;
47
+ }): Promise<string>;
48
+ getMemoryStats(): Promise<string>;
49
+ getInfo(): {
50
+ name: string;
51
+ version: string;
52
+ tools: string[];
53
+ };
54
+ }
55
+ //# sourceMappingURL=server.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA;;GAEG;AAKH,MAAM,WAAW,mBAAmB;IAClC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,qBAAa,aAAa;IACxB,OAAO,CAAC,IAAI,CAAgB;IAC5B,OAAO,CAAC,MAAM,CAAgB;IAC9B,OAAO,CAAC,IAAI,CAAS;IACrB,OAAO,CAAC,OAAO,CAAS;gBAEZ,MAAM,GAAE,mBAAwB;IAiBtC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAkBtB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAMrB,SAAS,CAAC,MAAM,EAAE;QACtB,CAAC,EAAE,MAAM,CAAC;QACV,CAAC,EAAE,MAAM,CAAC;QACV,CAAC,EAAE,MAAM,CAAC;QACV,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,MAAM,CAAC;QACd,GAAG,EAAE,MAAM,CAAC;QACZ,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;KAC1B,GAAG,OAAO,CAAC,MAAM,CAAC;IAgCb,OAAO,IAAI,OAAO,CAAC,MAAM,CAAC;IAK1B,SAAS,IAAI,OAAO,CAAC,MAAM,CAAC;IAK5B,SAAS,CAAC,MAAM,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,MAAM,CAAC;IAuB5E,aAAa,CAAC,MAAM,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,oBAAoB,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,MAAM,CAAC;IAuBzF,WAAW,CAAC,MAAM,EAAE;QACxB,KAAK,EAAE,MAAM,CAAC;QACd,CAAC,CAAC,EAAE,MAAM,CAAC;QACX,cAAc,CAAC,EAAE,OAAO,CAAC;QACzB,cAAc,CAAC,EAAE,MAAM,CAAC;KACzB,GAAG,OAAO,CAAC,MAAM,CAAC;IAYb,iBAAiB,CAAC,MAAM,CAAC,EAAE;QAC/B,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,gBAAgB,CAAC,EAAE,MAAM,CAAC;KAC3B,GAAG,OAAO,CAAC,MAAM,CAAC;IAYb,cAAc,IAAI,OAAO,CAAC,MAAM,CAAC;IAMvC,OAAO;;;;;CAgBR"}
package/dist/server.js ADDED
@@ -0,0 +1,147 @@
1
+ /**
2
+ * ROS3 MCP Server implementation - Simplified version
3
+ */
4
+ import { ROS3Interface } from './interface.js';
5
+ import { AgentDBMemory } from './memory.js';
6
+ export class ROS3McpServer {
7
+ ros3;
8
+ memory;
9
+ name;
10
+ version;
11
+ constructor(config = {}) {
12
+ const { name = 'ros3-mcp-server', version = '1.0.0', dbPath = './ros3-agentdb.db', } = config;
13
+ this.name = name;
14
+ this.version = version;
15
+ // Initialize ROS3 interface
16
+ this.ros3 = new ROS3Interface();
17
+ // Initialize AgentDB memory
18
+ this.memory = new AgentDBMemory(dbPath);
19
+ }
20
+ async start() {
21
+ // Initialize AgentDB
22
+ await this.memory.initialize();
23
+ console.error(`${this.name} v${this.version} started`);
24
+ console.error('AgentDB initialized and ready');
25
+ console.error('');
26
+ console.error('Available tools:');
27
+ console.error(' - move_robot: Move robot to target pose');
28
+ console.error(' - get_pose: Get current robot pose');
29
+ console.error(' - get_status: Get robot status');
30
+ console.error(' - read_lidar: Read LIDAR data');
31
+ console.error(' - detect_objects: Detect objects from camera');
32
+ console.error(' - query_memory: Query past experiences');
33
+ console.error(' - consolidate_skills: Learn from experiences');
34
+ console.error(' - get_memory_stats: Get memory statistics');
35
+ }
36
+ async stop() {
37
+ await this.memory.close();
38
+ console.error(`${this.name} stopped`);
39
+ }
40
+ // Tool implementations
41
+ async moveRobot(params) {
42
+ const { x, y, z, roll, pitch, yaw, speed = 0.5, frame = 'world' } = params;
43
+ const startTime = Date.now();
44
+ try {
45
+ await this.ros3.moveToPose({ x, y, z, roll, pitch, yaw }, speed, frame);
46
+ const latency = Date.now() - startTime;
47
+ await this.memory.storeEpisode({
48
+ sessionId: `motion-${Date.now()}`,
49
+ taskName: 'move_robot',
50
+ confidence: 0.9,
51
+ success: true,
52
+ outcome: `Moved to [${x}, ${y}, ${z}] in ${latency}ms`,
53
+ strategy: `speed_${speed}_frame_${frame}`,
54
+ metadata: { x, y, z, roll, pitch, yaw, speed, frame, latency },
55
+ });
56
+ return `Robot moved to [${x}, ${y}, ${z}] in ${frame} frame. Completed in ${latency}ms.`;
57
+ }
58
+ catch (error) {
59
+ await this.memory.storeEpisode({
60
+ sessionId: `motion-${Date.now()}`,
61
+ taskName: 'move_robot',
62
+ confidence: 0.0,
63
+ success: false,
64
+ outcome: `Failed: ${error.message}`,
65
+ metadata: { x, y, z, roll, pitch, yaw, speed, frame },
66
+ });
67
+ throw error;
68
+ }
69
+ }
70
+ async getPose() {
71
+ const pose = await this.ros3.getCurrentPose();
72
+ return `Current pose: [${pose.x}, ${pose.y}, ${pose.z}] (roll=${pose.roll}, pitch=${pose.pitch}, yaw=${pose.yaw})`;
73
+ }
74
+ async getStatus() {
75
+ const status = await this.ros3.getStatus();
76
+ return `Robot status: ${status.status}, Health: ${status.health}`;
77
+ }
78
+ async readLidar(params) {
79
+ const { filter = 'all', max_points = 10000 } = params;
80
+ const startTime = Date.now();
81
+ const cloud = await this.ros3.getLidarData(filter, max_points);
82
+ const latency = Date.now() - startTime;
83
+ await this.memory.storeEpisode({
84
+ sessionId: `lidar-${Date.now()}`,
85
+ taskName: 'read_lidar',
86
+ confidence: 1.0,
87
+ success: true,
88
+ outcome: `Retrieved ${cloud.points.length} points in ${latency}ms`,
89
+ metadata: { filter, max_points, num_points: cloud.points.length, latency },
90
+ });
91
+ return `LIDAR data: ${cloud.points.length} points (filter: ${filter}, latency: ${latency}ms)`;
92
+ }
93
+ async detectObjects(params) {
94
+ const { camera, confidence_threshold = 0.5 } = params;
95
+ const startTime = Date.now();
96
+ const detections = await this.ros3.detectObjects(camera, confidence_threshold);
97
+ const latency = Date.now() - startTime;
98
+ await this.memory.storeEpisode({
99
+ sessionId: `vision-${Date.now()}`,
100
+ taskName: 'detect_objects',
101
+ confidence: 0.9,
102
+ success: true,
103
+ outcome: `Detected ${detections.length} objects in ${latency}ms`,
104
+ metadata: { camera, confidence_threshold, num_detections: detections.length, latency },
105
+ });
106
+ return `Detected ${detections.length} objects from ${camera} camera:\n${JSON.stringify(detections, null, 2)}`;
107
+ }
108
+ async queryMemory(params) {
109
+ const { query, k = 5, only_successes = false, min_confidence = 0.0 } = params;
110
+ const result = await this.memory.queryWithContext(query, { k, minConfidence: min_confidence });
111
+ const filteredMemories = only_successes
112
+ ? result.memories.filter((m) => m.success)
113
+ : result.memories;
114
+ return `Found ${filteredMemories.length} memories for "${query}":\n${JSON.stringify(filteredMemories, null, 2)}`;
115
+ }
116
+ async consolidateSkills(params) {
117
+ const { min_attempts = 3, min_reward = 0.7, time_window_days = 7 } = params || {};
118
+ await this.memory.consolidateSkills({
119
+ minAttempts: min_attempts,
120
+ minReward: min_reward,
121
+ timeWindowDays: time_window_days,
122
+ });
123
+ return `Skills consolidated (min_attempts: ${min_attempts}, min_reward: ${min_reward}, window: ${time_window_days} days)`;
124
+ }
125
+ async getMemoryStats() {
126
+ const stats = await this.memory.getStats();
127
+ return `AgentDB Statistics:\n${stats.stats}`;
128
+ }
129
+ // Get server info
130
+ getInfo() {
131
+ return {
132
+ name: this.name,
133
+ version: this.version,
134
+ tools: [
135
+ 'move_robot',
136
+ 'get_pose',
137
+ 'get_status',
138
+ 'read_lidar',
139
+ 'detect_objects',
140
+ 'query_memory',
141
+ 'consolidate_skills',
142
+ 'get_memory_stats',
143
+ ],
144
+ };
145
+ }
146
+ }
147
+ //# sourceMappingURL=server.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@agentic-robotics/mcp",
3
- "version": "0.1.3",
3
+ "version": "0.2.1",
4
4
  "description": "Model Context Protocol server for agentic robotics with AgentDB integration",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -27,6 +27,7 @@
27
27
  },
28
28
  "scripts": {
29
29
  "build": "tsc",
30
+ "prepublishOnly": "npm run build",
30
31
  "dev": "tsx src/cli.ts",
31
32
  "start": "node dist/cli.js",
32
33
  "test": "vitest",
@@ -34,7 +35,7 @@
34
35
  "benchmark:hybrid": "tsx src/hybrid-benchmark.ts"
35
36
  },
36
37
  "dependencies": {
37
- "@agentic-robotics/core": "^0.1.3",
38
+ "@agentic-robotics/core": "^0.2.1",
38
39
  "@modelcontextprotocol/sdk": "^1.0.0",
39
40
  "agentdb": "^1.6.1",
40
41
  "agentic-flow": "^1.10.2",