@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/src/server.ts DELETED
@@ -1,213 +0,0 @@
1
- /**
2
- * ROS3 MCP Server implementation - Simplified version
3
- */
4
-
5
- import { ROS3Interface } from './interface.js';
6
- import { AgentDBMemory } from './memory.js';
7
-
8
- export interface ROS3McpServerConfig {
9
- name?: string;
10
- version?: string;
11
- dbPath?: string;
12
- }
13
-
14
- export class ROS3McpServer {
15
- private ros3: ROS3Interface;
16
- private memory: AgentDBMemory;
17
- private name: string;
18
- private version: string;
19
-
20
- constructor(config: ROS3McpServerConfig = {}) {
21
- const {
22
- name = 'ros3-mcp-server',
23
- version = '1.0.0',
24
- dbPath = './ros3-agentdb.db',
25
- } = config;
26
-
27
- this.name = name;
28
- this.version = version;
29
-
30
- // Initialize ROS3 interface
31
- this.ros3 = new ROS3Interface();
32
-
33
- // Initialize AgentDB memory
34
- this.memory = new AgentDBMemory(dbPath);
35
- }
36
-
37
- async start(): Promise<void> {
38
- // Initialize AgentDB
39
- await this.memory.initialize();
40
-
41
- console.error(`${this.name} v${this.version} started`);
42
- console.error('AgentDB initialized and ready');
43
- console.error('');
44
- console.error('Available tools:');
45
- console.error(' - move_robot: Move robot to target pose');
46
- console.error(' - get_pose: Get current robot pose');
47
- console.error(' - get_status: Get robot status');
48
- console.error(' - read_lidar: Read LIDAR data');
49
- console.error(' - detect_objects: Detect objects from camera');
50
- console.error(' - query_memory: Query past experiences');
51
- console.error(' - consolidate_skills: Learn from experiences');
52
- console.error(' - get_memory_stats: Get memory statistics');
53
- }
54
-
55
- async stop(): Promise<void> {
56
- await this.memory.close();
57
- console.error(`${this.name} stopped`);
58
- }
59
-
60
- // Tool implementations
61
- async moveRobot(params: {
62
- x: number;
63
- y: number;
64
- z: number;
65
- roll: number;
66
- pitch: number;
67
- yaw: number;
68
- speed?: number;
69
- frame?: 'base' | 'world';
70
- }): Promise<string> {
71
- const { x, y, z, roll, pitch, yaw, speed = 0.5, frame = 'world' } = params;
72
- const startTime = Date.now();
73
-
74
- try {
75
- await this.ros3.moveToPose({ x, y, z, roll, pitch, yaw }, speed, frame);
76
- const latency = Date.now() - startTime;
77
-
78
- await this.memory.storeEpisode({
79
- sessionId: `motion-${Date.now()}`,
80
- taskName: 'move_robot',
81
- confidence: 0.9,
82
- success: true,
83
- outcome: `Moved to [${x}, ${y}, ${z}] in ${latency}ms`,
84
- strategy: `speed_${speed}_frame_${frame}`,
85
- metadata: { x, y, z, roll, pitch, yaw, speed, frame, latency },
86
- });
87
-
88
- return `Robot moved to [${x}, ${y}, ${z}] in ${frame} frame. Completed in ${latency}ms.`;
89
- } catch (error: any) {
90
- await this.memory.storeEpisode({
91
- sessionId: `motion-${Date.now()}`,
92
- taskName: 'move_robot',
93
- confidence: 0.0,
94
- success: false,
95
- outcome: `Failed: ${error.message}`,
96
- metadata: { x, y, z, roll, pitch, yaw, speed, frame },
97
- });
98
- throw error;
99
- }
100
- }
101
-
102
- async getPose(): Promise<string> {
103
- const pose = await this.ros3.getCurrentPose();
104
- return `Current pose: [${pose.x}, ${pose.y}, ${pose.z}] (roll=${pose.roll}, pitch=${pose.pitch}, yaw=${pose.yaw})`;
105
- }
106
-
107
- async getStatus(): Promise<string> {
108
- const status = await this.ros3.getStatus();
109
- return `Robot status: ${status.status}, Health: ${status.health}`;
110
- }
111
-
112
- async readLidar(params: { filter?: string; max_points?: number }): Promise<string> {
113
- const { filter = 'all', max_points = 10000 } = params;
114
- const startTime = Date.now();
115
-
116
- const cloud = await this.ros3.getLidarData(
117
- filter as 'all' | 'obstacles' | 'ground',
118
- max_points
119
- );
120
-
121
- const latency = Date.now() - startTime;
122
-
123
- await this.memory.storeEpisode({
124
- sessionId: `lidar-${Date.now()}`,
125
- taskName: 'read_lidar',
126
- confidence: 1.0,
127
- success: true,
128
- outcome: `Retrieved ${cloud.points.length} points in ${latency}ms`,
129
- metadata: { filter, max_points, num_points: cloud.points.length, latency },
130
- });
131
-
132
- return `LIDAR data: ${cloud.points.length} points (filter: ${filter}, latency: ${latency}ms)`;
133
- }
134
-
135
- async detectObjects(params: { camera: string; confidence_threshold?: number }): Promise<string> {
136
- const { camera, confidence_threshold = 0.5 } = params;
137
- const startTime = Date.now();
138
-
139
- const detections = await this.ros3.detectObjects(
140
- camera as 'front' | 'left' | 'right' | 'rear',
141
- confidence_threshold
142
- );
143
-
144
- const latency = Date.now() - startTime;
145
-
146
- await this.memory.storeEpisode({
147
- sessionId: `vision-${Date.now()}`,
148
- taskName: 'detect_objects',
149
- confidence: 0.9,
150
- success: true,
151
- outcome: `Detected ${detections.length} objects in ${latency}ms`,
152
- metadata: { camera, confidence_threshold, num_detections: detections.length, latency },
153
- });
154
-
155
- return `Detected ${detections.length} objects from ${camera} camera:\n${JSON.stringify(detections, null, 2)}`;
156
- }
157
-
158
- async queryMemory(params: {
159
- query: string;
160
- k?: number;
161
- only_successes?: boolean;
162
- min_confidence?: number;
163
- }): Promise<string> {
164
- const { query, k = 5, only_successes = false, min_confidence = 0.0 } = params;
165
-
166
- const result = await this.memory.queryWithContext(query, { k, minConfidence: min_confidence });
167
-
168
- const filteredMemories = only_successes
169
- ? result.memories.filter((m) => m.success)
170
- : result.memories;
171
-
172
- return `Found ${filteredMemories.length} memories for "${query}":\n${JSON.stringify(filteredMemories, null, 2)}`;
173
- }
174
-
175
- async consolidateSkills(params?: {
176
- min_attempts?: number;
177
- min_reward?: number;
178
- time_window_days?: number;
179
- }): Promise<string> {
180
- const { min_attempts = 3, min_reward = 0.7, time_window_days = 7 } = params || {};
181
-
182
- await this.memory.consolidateSkills({
183
- minAttempts: min_attempts,
184
- minReward: min_reward,
185
- timeWindowDays: time_window_days,
186
- });
187
-
188
- return `Skills consolidated (min_attempts: ${min_attempts}, min_reward: ${min_reward}, window: ${time_window_days} days)`;
189
- }
190
-
191
- async getMemoryStats(): Promise<string> {
192
- const stats = await this.memory.getStats();
193
- return `AgentDB Statistics:\n${stats.stats}`;
194
- }
195
-
196
- // Get server info
197
- getInfo() {
198
- return {
199
- name: this.name,
200
- version: this.version,
201
- tools: [
202
- 'move_robot',
203
- 'get_pose',
204
- 'get_status',
205
- 'read_lidar',
206
- 'detect_objects',
207
- 'query_memory',
208
- 'consolidate_skills',
209
- 'get_memory_stats',
210
- ],
211
- };
212
- }
213
- }
package/tsconfig.json DELETED
@@ -1,20 +0,0 @@
1
- {
2
- "compilerOptions": {
3
- "target": "ES2022",
4
- "module": "ES2022",
5
- "lib": ["ES2022"],
6
- "moduleResolution": "node",
7
- "esModuleInterop": true,
8
- "allowSyntheticDefaultImports": true,
9
- "strict": true,
10
- "skipLibCheck": true,
11
- "declaration": true,
12
- "declarationMap": true,
13
- "sourceMap": true,
14
- "outDir": "./dist",
15
- "rootDir": "./src",
16
- "resolveJsonModule": true
17
- },
18
- "include": ["src/**/*"],
19
- "exclude": ["node_modules", "dist"]
20
- }