@cgaspard/webappmcp 0.1.4 → 0.1.6

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 (39) hide show
  1. package/README.md +25 -1
  2. package/dist/browser.js +168 -30
  3. package/dist/browser.js.map +1 -1
  4. package/dist/browser.min.js +1 -1
  5. package/dist/browser.min.js.map +1 -1
  6. package/dist/client/devtools.d.ts.map +1 -1
  7. package/dist/client/devtools.js +7 -6
  8. package/dist/client/devtools.js.map +1 -1
  9. package/dist/client/index.d.ts +4 -0
  10. package/dist/client/index.d.ts.map +1 -1
  11. package/dist/client/index.js +161 -24
  12. package/dist/client/index.js.map +1 -1
  13. package/dist/index.d.ts +1 -1
  14. package/dist/index.d.ts.map +1 -1
  15. package/dist/index.esm.js.map +1 -1
  16. package/dist/index.js.map +1 -1
  17. package/dist/middleware/index.d.ts +40 -0
  18. package/dist/middleware/index.d.ts.map +1 -1
  19. package/dist/middleware/index.js +164 -47
  20. package/dist/middleware/index.js.map +1 -1
  21. package/dist/middleware/mcp-sse-server.d.ts +5 -8
  22. package/dist/middleware/mcp-sse-server.d.ts.map +1 -1
  23. package/dist/middleware/mcp-sse-server.js +89 -145
  24. package/dist/middleware/mcp-sse-server.js.map +1 -1
  25. package/dist/middleware/tools/capture.js +3 -3
  26. package/dist/middleware/tools/capture.js.map +1 -1
  27. package/dist/middleware/tools/dom.js +4 -4
  28. package/dist/middleware/tools/dom.js.map +1 -1
  29. package/dist/middleware/tools/execute.js +1 -1
  30. package/dist/middleware/tools/execute.js.map +1 -1
  31. package/dist/middleware/tools/interaction.js +4 -4
  32. package/dist/middleware/tools/interaction.js.map +1 -1
  33. package/dist/middleware/tools/routing.d.ts +3 -0
  34. package/dist/middleware/tools/routing.d.ts.map +1 -0
  35. package/dist/middleware/tools/routing.js +76 -0
  36. package/dist/middleware/tools/routing.js.map +1 -0
  37. package/dist/middleware/tools/state.js +4 -4
  38. package/dist/middleware/tools/state.js.map +1 -1
  39. package/package.json +2 -1
@@ -4,42 +4,51 @@ exports.MCPSSEServer = void 0;
4
4
  const index_js_1 = require("@modelcontextprotocol/sdk/server/index.js");
5
5
  const sse_js_1 = require("@modelcontextprotocol/sdk/server/sse.js");
6
6
  const types_js_1 = require("@modelcontextprotocol/sdk/types.js");
7
- const ws_1 = require("ws");
8
7
  const index_js_2 = require("./tools/index.js");
9
8
  class MCPSSEServer {
10
9
  constructor(config) {
11
- this.ws = null;
12
- this.isConnected = false;
13
10
  this.sseTransports = new Map();
14
- this.wsUrl = config.wsUrl;
15
- this.authToken = config.authToken;
16
11
  this.getClients = config.getClients;
12
+ this.executeTool = config.executeTool;
17
13
  this.debug = config.debug ?? false;
14
+ this.plugins = config.plugins ?? [];
18
15
  }
19
16
  log(...args) {
20
17
  if (this.debug) {
21
- console.log('[MCP SSE]', ...args);
18
+ console.log('[webappmcp]', ...args);
22
19
  }
23
20
  }
24
21
  logError(...args) {
25
22
  // Always log errors
26
- console.error('[MCP SSE Error]', ...args);
23
+ console.error('[webappmcp]', ...args);
27
24
  }
28
25
  createServer() {
29
26
  const server = new index_js_1.Server({
30
27
  name: 'webapp-mcp-sse',
31
28
  version: '0.1.0',
29
+ description: 'MCP server connected to a running web application instance. This server provides direct access to the DOM, state, and functionality of the currently connected web app.',
32
30
  }, {
33
31
  capabilities: {
34
32
  tools: {},
33
+ prompts: {},
35
34
  },
36
35
  });
37
36
  server.setRequestHandler(types_js_1.ListToolsRequestSchema, async () => {
38
37
  this.log(`ListTools request received`);
39
- const tools = (0, index_js_2.registerTools)();
40
- this.log(`Returning ${tools.length} tools`);
38
+ const builtInTools = (0, index_js_2.registerTools)();
39
+ // Convert plugin tools to MCP format
40
+ const pluginTools = this.plugins.flatMap(plugin => (plugin.tools || []).map(tool => ({
41
+ name: tool.name,
42
+ description: tool.description,
43
+ inputSchema: tool.inputSchema || {
44
+ type: 'object',
45
+ properties: {},
46
+ },
47
+ })));
48
+ const allTools = [...builtInTools, ...pluginTools];
49
+ this.log(`Returning ${allTools.length} tools (${builtInTools.length} built-in, ${pluginTools.length} from plugins)`);
41
50
  return {
42
- tools: tools,
51
+ tools: allTools,
43
52
  };
44
53
  });
45
54
  server.setRequestHandler(types_js_1.CallToolRequestSchema, async (request) => {
@@ -63,15 +72,64 @@ class MCPSSEServer {
63
72
  this.log(`webapp_list_clients result:`, JSON.stringify(result, null, 2));
64
73
  return result;
65
74
  }
66
- if (!this.isConnected) {
67
- this.log(`Not connected to web application`);
68
- throw new Error('Not connected to web application');
75
+ // Check if this is a plugin tool
76
+ for (const plugin of this.plugins) {
77
+ const pluginTool = plugin.tools?.find(t => t.name === name);
78
+ if (pluginTool) {
79
+ this.log(`Executing plugin tool ${name} from plugin ${plugin.name}`);
80
+ try {
81
+ const context = {
82
+ executeClientTool: this.executeTool || (async () => { throw new Error('Client tool execution not available'); }),
83
+ getClients: this.getClients || (() => []),
84
+ log: this.log.bind(this),
85
+ };
86
+ const result = await pluginTool.handler(args || {}, context);
87
+ this.log(`Plugin tool ${name} execution completed`);
88
+ return {
89
+ content: [
90
+ {
91
+ type: 'text',
92
+ text: typeof result === 'string' ? result : JSON.stringify(result, null, 2),
93
+ },
94
+ ],
95
+ };
96
+ }
97
+ catch (error) {
98
+ this.log(`Plugin tool ${name} execution failed:`, error);
99
+ return {
100
+ content: [
101
+ {
102
+ type: 'text',
103
+ text: `Error executing plugin tool: ${error instanceof Error ? error.message : 'Unknown error'}`,
104
+ },
105
+ ],
106
+ };
107
+ }
108
+ }
109
+ }
110
+ if (!this.executeTool) {
111
+ this.log(`No tool execution function provided`);
112
+ return {
113
+ content: [
114
+ {
115
+ type: 'text',
116
+ text: 'Tool execution not available. Please check middleware configuration.',
117
+ },
118
+ ],
119
+ };
69
120
  }
70
121
  try {
71
- this.log(`Executing tool ${name} on client`);
72
- const result = await this.executeToolOnClient(name, args);
122
+ this.log(`Executing tool ${name} via middleware`);
123
+ const result = await this.executeTool(name, args);
73
124
  this.log(`Tool ${name} execution completed with result:`, JSON.stringify(result, null, 2));
74
- return result;
125
+ return {
126
+ content: [
127
+ {
128
+ type: 'text',
129
+ text: JSON.stringify(result, null, 2),
130
+ },
131
+ ],
132
+ };
75
133
  }
76
134
  catch (error) {
77
135
  this.log(`Tool ${name} execution failed:`, error);
@@ -87,83 +145,12 @@ class MCPSSEServer {
87
145
  });
88
146
  return server;
89
147
  }
90
- async connectWebSocket() {
91
- return new Promise((resolve, reject) => {
92
- const wsUrl = this.authToken
93
- ? `${this.wsUrl}?token=${this.authToken}`
94
- : this.wsUrl;
95
- this.ws = new ws_1.WebSocket(wsUrl);
96
- this.ws.on('open', () => {
97
- this.log('Connected to WebSocket');
98
- this.isConnected = true;
99
- this.ws.send(JSON.stringify({
100
- type: 'init',
101
- url: 'mcp-sse-server',
102
- }));
103
- resolve();
104
- });
105
- this.ws.on('message', (data) => {
106
- const message = JSON.parse(data.toString());
107
- if (message.type === 'connected') {
108
- this.log(`Registered with clientId: ${message.clientId}`);
109
- }
110
- });
111
- this.ws.on('close', () => {
112
- this.log('Disconnected from WebSocket');
113
- this.isConnected = false;
114
- });
115
- this.ws.on('error', (error) => {
116
- this.logError('WebSocket error:', error);
117
- reject(error);
118
- });
119
- });
120
- }
121
- async executeToolOnClient(toolName, args) {
122
- return new Promise((resolve, reject) => {
123
- const requestId = Math.random().toString(36).substring(7);
124
- this.log(`Executing tool ${toolName} on client with requestId: ${requestId}`);
125
- this.log(`Tool arguments:`, JSON.stringify(args));
126
- const timeout = setTimeout(() => {
127
- this.log(`Tool execution timeout for requestId: ${requestId}`);
128
- reject(new Error('Tool execution timeout'));
129
- }, 30000);
130
- const messageHandler = (data) => {
131
- const message = JSON.parse(data.toString());
132
- this.log(`Received WebSocket message:`, JSON.stringify(message));
133
- if (message.requestId === requestId) {
134
- clearTimeout(timeout);
135
- this.ws.off('message', messageHandler);
136
- this.log(`Tool response received for requestId: ${requestId}`);
137
- if (message.error) {
138
- reject(new Error(message.error));
139
- }
140
- else {
141
- resolve({
142
- content: [
143
- {
144
- type: 'text',
145
- text: JSON.stringify(message.result, null, 2),
146
- },
147
- ],
148
- });
149
- }
150
- }
151
- };
152
- this.ws.on('message', messageHandler);
153
- const executeMessage = {
154
- type: 'execute_tool',
155
- requestId,
156
- tool: toolName,
157
- args,
158
- };
159
- this.log(`Sending execute_tool message:`, JSON.stringify(executeMessage));
160
- this.ws.send(JSON.stringify(executeMessage));
161
- });
162
- }
163
148
  async initialize() {
164
149
  try {
165
- await this.connectWebSocket();
166
- this.log('Server initialized');
150
+ this.log('Initializing SSE server...');
151
+ // Don't require WebSocket connection during initialization
152
+ // The connection will be established when needed for tool execution
153
+ this.log('SSE server initialized successfully (WebSocket connection deferred)');
167
154
  }
168
155
  catch (error) {
169
156
  this.logError('Failed to initialize server:', error);
@@ -171,93 +158,50 @@ class MCPSSEServer {
171
158
  }
172
159
  }
173
160
  async handleSSERequest(req, res) {
174
- const timestamp = new Date().toISOString();
175
- this.log(`\n[${timestamp}] ====== INCOMING REQUEST ======`);
176
- this.log(`[${timestamp}] ${req.method} ${req.url}`);
177
- this.log(`[${timestamp}] Path: ${req.path}`);
178
- this.log(`[${timestamp}] Query:`, req.query);
179
- console.log(`[${timestamp}] [MCP SSE] Headers:`, JSON.stringify(req.headers, null, 2));
180
- console.log(`[${timestamp}] [MCP SSE] User-Agent: ${req.headers['user-agent']}`);
181
- console.log(`[${timestamp}] [MCP SSE] Content-Type: ${req.headers['content-type']}`);
182
- console.log(`[${timestamp}] [MCP SSE] Accept: ${req.headers['accept']}`);
183
- // Log authorization header specifically
184
- const authHeader = req.headers.authorization;
185
- if (authHeader) {
186
- console.log(`[${timestamp}] [MCP SSE] Authorization header present: ${authHeader}`);
187
- }
188
- else {
189
- console.log(`[MCP SSE] No authorization header found`);
190
- }
161
+ this.log(`${req.method} ${req.path}`);
191
162
  try {
192
163
  if (req.method === 'GET') {
193
- console.log(`[MCP SSE] Creating new server instance for GET request`);
194
164
  // Create a new server instance for this connection
195
165
  const server = this.createServer();
196
166
  // Create SSE transport for this request
197
- console.log(`[MCP SSE] Creating SSE transport for endpoint /mcp/sse`);
198
167
  const sseTransport = new sse_js_1.SSEServerTransport('/mcp/sse', res);
199
- // Log what the SSE transport is sending
200
- console.log(`[MCP SSE] SSE Transport created with sessionId: ${sseTransport.sessionId}`);
201
- // Override the send method to log messages
202
- const originalSend = sseTransport.send.bind(sseTransport);
203
- sseTransport.send = async (message) => {
204
- console.log(`[MCP SSE] Sending SSE message:`, JSON.stringify(message));
205
- return originalSend(message);
206
- };
207
- // Connect the server to the SSE transport (this automatically calls start())
208
- console.log(`[MCP SSE] Connecting server to SSE transport`);
209
168
  try {
210
- await server.connect(sseTransport);
211
- console.log(`[MCP SSE] Successfully connected server to transport`);
169
+ // Add timeout to prevent hanging
170
+ const connectPromise = server.connect(sseTransport);
171
+ const timeoutPromise = new Promise((_, reject) => {
172
+ setTimeout(() => reject(new Error('Server connection timeout')), 10000);
173
+ });
174
+ await Promise.race([connectPromise, timeoutPromise]);
175
+ this.log(`Client connected: ${sseTransport.sessionId}`);
212
176
  }
213
177
  catch (connectError) {
214
- console.error(`[MCP SSE] ERROR connecting server to transport:`, connectError);
178
+ this.logError(`ERROR connecting server to transport:`, connectError);
215
179
  throw connectError;
216
180
  }
217
181
  // Store the transport with its session ID
218
182
  this.sseTransports.set(sseTransport.sessionId, sseTransport);
219
- console.log(`[MCP SSE] Server connected to client: ${sseTransport.sessionId}`);
220
- console.log(`[MCP SSE] Active SSE transports: ${this.sseTransports.size}`);
221
- console.log(`[MCP SSE] SSE endpoint should be: /mcp/sse?sessionId=${sseTransport.sessionId}`);
222
183
  // Handle connection close
223
184
  req.on('close', () => {
224
185
  this.sseTransports.delete(sseTransport.sessionId);
225
- console.log(`[MCP SSE] Client disconnected: ${sseTransport.sessionId}`);
226
- console.log(`[MCP SSE] Active SSE transports: ${this.sseTransports.size}`);
186
+ this.log(`Client disconnected: ${sseTransport.sessionId}`);
227
187
  });
228
188
  }
229
189
  else if (req.method === 'POST') {
230
190
  // Extract session ID from URL params
231
191
  const sessionId = req.query.sessionId;
232
- console.log(`[MCP SSE] POST request for session: ${sessionId}`);
233
192
  if (!sessionId) {
234
- console.log(`[MCP SSE] No session ID provided in POST request`);
235
193
  return res.status(400).json({ error: 'Session ID required for POST requests' });
236
194
  }
237
195
  const sseTransport = this.sseTransports.get(sessionId);
238
196
  if (!sseTransport) {
239
- console.log(`[MCP SSE] Session not found: ${sessionId}`);
240
- console.log(`[MCP SSE] Available sessions: ${Array.from(this.sseTransports.keys()).join(', ')}`);
241
197
  return res.status(404).json({ error: 'SSE session not found' });
242
198
  }
243
- console.log(`[MCP SSE] Handling POST message for session: ${sessionId}`);
244
- // Add logging to see what's being posted
245
- const originalWrite = res.write;
246
- const originalEnd = res.end;
247
- res.write = function (...args) {
248
- console.log(`[MCP SSE] Response write:`, args[0]);
249
- return originalWrite.apply(res, args);
250
- };
251
- res.end = function (...args) {
252
- console.log(`[MCP SSE] Response end:`, args[0]);
253
- return originalEnd.apply(res, args);
254
- };
255
199
  // Handle incoming POST messages (don't consume the body here - let SSE transport handle it)
256
200
  await sseTransport.handlePostMessage(req, res);
257
201
  }
258
202
  }
259
203
  catch (error) {
260
- console.error(`[MCP SSE] Failed to handle SSE request:`, error);
204
+ this.logError(`Failed to handle SSE request:`, error);
261
205
  if (!res.headersSent) {
262
206
  res.status(500).json({ error: 'Failed to establish SSE connection' });
263
207
  }
@@ -1 +1 @@
1
- {"version":3,"file":"mcp-sse-server.js","sourceRoot":"","sources":["../../src/middleware/mcp-sse-server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mcp-sse-server.js","sourceRoot":"","sources":["../../src/middleware/mcp-sse-server.ts"],"names":[],"mappings":"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"}
@@ -4,13 +4,13 @@ exports.captureTools = void 0;
4
4
  exports.captureTools = [
5
5
  {
6
6
  name: 'capture_screenshot',
7
- description: 'Take a screenshot of the current page',
7
+ description: 'Take a screenshot of the connected web app. Can capture either the visible viewport or the entire page including content below the fold.',
8
8
  inputSchema: {
9
9
  type: 'object',
10
10
  properties: {
11
11
  fullPage: {
12
12
  type: 'boolean',
13
- description: 'Capture the full page height',
13
+ description: 'true = capture entire page height (including scrolled content), false = capture only visible viewport',
14
14
  default: true,
15
15
  },
16
16
  format: {
@@ -28,7 +28,7 @@ exports.captureTools = [
28
28
  },
29
29
  {
30
30
  name: 'capture_element_screenshot',
31
- description: 'Take a screenshot of a specific element',
31
+ description: 'Take a screenshot of a specific element in the running web application',
32
32
  inputSchema: {
33
33
  type: 'object',
34
34
  properties: {
@@ -1 +1 @@
1
- {"version":3,"file":"capture.js","sourceRoot":"","sources":["../../../src/middleware/tools/capture.ts"],"names":[],"mappings":";;;AAEa,QAAA,YAAY,GAAqB;IAC5C;QACE,IAAI,EAAE,oBAAoB;QAC1B,WAAW,EAAE,uCAAuC;QACpD,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,QAAQ,EAAE;oBACR,IAAI,EAAE,SAAS;oBACf,WAAW,EAAE,8BAA8B;oBAC3C,OAAO,EAAE,IAAI;iBACd;gBACD,MAAM,EAAE;oBACN,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC;oBACrB,WAAW,EAAE,cAAc;oBAC3B,OAAO,EAAE,KAAK;iBACf;gBACD,QAAQ,EAAE;oBACR,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,qFAAqF;iBACnG;aACF;SACF;KACF;IACD;QACE,IAAI,EAAE,4BAA4B;QAClC,WAAW,EAAE,yCAAyC;QACtD,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,QAAQ,EAAE;oBACR,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,yCAAyC;iBACvD;gBACD,MAAM,EAAE;oBACN,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC;oBACrB,WAAW,EAAE,cAAc;oBAC3B,OAAO,EAAE,KAAK;iBACf;gBACD,QAAQ,EAAE;oBACR,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,qFAAqF;iBACnG;aACF;YACD,QAAQ,EAAE,CAAC,UAAU,CAAC;SACvB;KACF;CACF,CAAC"}
1
+ {"version":3,"file":"capture.js","sourceRoot":"","sources":["../../../src/middleware/tools/capture.ts"],"names":[],"mappings":";;;AAEa,QAAA,YAAY,GAAqB;IAC5C;QACE,IAAI,EAAE,oBAAoB;QAC1B,WAAW,EAAE,0IAA0I;QACvJ,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,QAAQ,EAAE;oBACR,IAAI,EAAE,SAAS;oBACf,WAAW,EAAE,uGAAuG;oBACpH,OAAO,EAAE,IAAI;iBACd;gBACD,MAAM,EAAE;oBACN,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC;oBACrB,WAAW,EAAE,cAAc;oBAC3B,OAAO,EAAE,KAAK;iBACf;gBACD,QAAQ,EAAE;oBACR,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,qFAAqF;iBACnG;aACF;SACF;KACF;IACD;QACE,IAAI,EAAE,4BAA4B;QAClC,WAAW,EAAE,wEAAwE;QACrF,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,QAAQ,EAAE;oBACR,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,yCAAyC;iBACvD;gBACD,MAAM,EAAE;oBACN,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC;oBACrB,WAAW,EAAE,cAAc;oBAC3B,OAAO,EAAE,KAAK;iBACf;gBACD,QAAQ,EAAE;oBACR,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,qFAAqF;iBACnG;aACF;YACD,QAAQ,EAAE,CAAC,UAAU,CAAC;SACvB;KACF;CACF,CAAC"}
@@ -4,7 +4,7 @@ exports.domTools = void 0;
4
4
  exports.domTools = [
5
5
  {
6
6
  name: 'dom_query',
7
- description: 'Query DOM elements using CSS selectors',
7
+ description: 'Query DOM elements in the currently connected web application using CSS selectors. Returns live element data from the running app.',
8
8
  inputSchema: {
9
9
  type: 'object',
10
10
  properties: {
@@ -23,7 +23,7 @@ exports.domTools = [
23
23
  },
24
24
  {
25
25
  name: 'dom_get_properties',
26
- description: 'Get properties and attributes of a DOM element',
26
+ description: 'Get real-time properties and attributes of a DOM element in the running web application',
27
27
  inputSchema: {
28
28
  type: 'object',
29
29
  properties: {
@@ -44,7 +44,7 @@ exports.domTools = [
44
44
  },
45
45
  {
46
46
  name: 'dom_get_text',
47
- description: 'Get text content of DOM elements',
47
+ description: 'Get the current text content of DOM elements in the live web application',
48
48
  inputSchema: {
49
49
  type: 'object',
50
50
  properties: {
@@ -63,7 +63,7 @@ exports.domTools = [
63
63
  },
64
64
  {
65
65
  name: 'dom_get_html',
66
- description: 'Get HTML content of DOM elements',
66
+ description: 'Get the current HTML content of DOM elements from the running web application',
67
67
  inputSchema: {
68
68
  type: 'object',
69
69
  properties: {
@@ -1 +1 @@
1
- {"version":3,"file":"dom.js","sourceRoot":"","sources":["../../../src/middleware/tools/dom.ts"],"names":[],"mappings":";;;AAEa,QAAA,QAAQ,GAAqB;IACxC;QACE,IAAI,EAAE,WAAW;QACjB,WAAW,EAAE,wCAAwC;QACrD,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,QAAQ,EAAE;oBACR,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,gCAAgC;iBAC9C;gBACD,KAAK,EAAE;oBACL,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,sCAAsC;oBACnD,OAAO,EAAE,EAAE;iBACZ;aACF;YACD,QAAQ,EAAE,CAAC,UAAU,CAAC;SACvB;KACF;IACD;QACE,IAAI,EAAE,oBAAoB;QAC1B,WAAW,EAAE,gDAAgD;QAC7D,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,QAAQ,EAAE;oBACR,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,8BAA8B;iBAC5C;gBACD,UAAU,EAAE;oBACV,IAAI,EAAE,OAAO;oBACb,KAAK,EAAE;wBACL,IAAI,EAAE,QAAQ;qBACf;oBACD,WAAW,EAAE,gCAAgC;iBAC9C;aACF;YACD,QAAQ,EAAE,CAAC,UAAU,CAAC;SACvB;KACF;IACD;QACE,IAAI,EAAE,cAAc;QACpB,WAAW,EAAE,kCAAkC;QAC/C,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,QAAQ,EAAE;oBACR,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,+BAA+B;iBAC7C;gBACD,aAAa,EAAE;oBACb,IAAI,EAAE,SAAS;oBACf,WAAW,EAAE,mCAAmC;oBAChD,OAAO,EAAE,KAAK;iBACf;aACF;YACD,QAAQ,EAAE,CAAC,UAAU,CAAC;SACvB;KACF;IACD;QACE,IAAI,EAAE,cAAc;QACpB,WAAW,EAAE,kCAAkC;QAC/C,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,QAAQ,EAAE;oBACR,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,8BAA8B;iBAC5C;gBACD,SAAS,EAAE;oBACT,IAAI,EAAE,SAAS;oBACf,WAAW,EAAE,oCAAoC;oBACjD,OAAO,EAAE,KAAK;iBACf;aACF;YACD,QAAQ,EAAE,CAAC,UAAU,CAAC;SACvB;KACF;CACF,CAAC"}
1
+ {"version":3,"file":"dom.js","sourceRoot":"","sources":["../../../src/middleware/tools/dom.ts"],"names":[],"mappings":";;;AAEa,QAAA,QAAQ,GAAqB;IACxC;QACE,IAAI,EAAE,WAAW;QACjB,WAAW,EAAE,oIAAoI;QACjJ,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,QAAQ,EAAE;oBACR,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,gCAAgC;iBAC9C;gBACD,KAAK,EAAE;oBACL,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,sCAAsC;oBACnD,OAAO,EAAE,EAAE;iBACZ;aACF;YACD,QAAQ,EAAE,CAAC,UAAU,CAAC;SACvB;KACF;IACD;QACE,IAAI,EAAE,oBAAoB;QAC1B,WAAW,EAAE,yFAAyF;QACtG,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,QAAQ,EAAE;oBACR,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,8BAA8B;iBAC5C;gBACD,UAAU,EAAE;oBACV,IAAI,EAAE,OAAO;oBACb,KAAK,EAAE;wBACL,IAAI,EAAE,QAAQ;qBACf;oBACD,WAAW,EAAE,gCAAgC;iBAC9C;aACF;YACD,QAAQ,EAAE,CAAC,UAAU,CAAC;SACvB;KACF;IACD;QACE,IAAI,EAAE,cAAc;QACpB,WAAW,EAAE,0EAA0E;QACvF,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,QAAQ,EAAE;oBACR,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,+BAA+B;iBAC7C;gBACD,aAAa,EAAE;oBACb,IAAI,EAAE,SAAS;oBACf,WAAW,EAAE,mCAAmC;oBAChD,OAAO,EAAE,KAAK;iBACf;aACF;YACD,QAAQ,EAAE,CAAC,UAAU,CAAC;SACvB;KACF;IACD;QACE,IAAI,EAAE,cAAc;QACpB,WAAW,EAAE,+EAA+E;QAC5F,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,QAAQ,EAAE;oBACR,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,8BAA8B;iBAC5C;gBACD,SAAS,EAAE;oBACT,IAAI,EAAE,SAAS;oBACf,WAAW,EAAE,oCAAoC;oBACjD,OAAO,EAAE,KAAK;iBACf;aACF;YACD,QAAQ,EAAE,CAAC,UAAU,CAAC;SACvB;KACF;CACF,CAAC"}
@@ -4,7 +4,7 @@ exports.executeTools = void 0;
4
4
  exports.executeTools = [
5
5
  {
6
6
  name: 'execute_javascript',
7
- description: 'Execute JavaScript code in the browser context',
7
+ description: 'Execute JavaScript code in the context of the currently connected web application',
8
8
  inputSchema: {
9
9
  type: 'object',
10
10
  properties: {
@@ -1 +1 @@
1
- {"version":3,"file":"execute.js","sourceRoot":"","sources":["../../../src/middleware/tools/execute.ts"],"names":[],"mappings":";;;AAEa,QAAA,YAAY,GAAqB;IAC5C;QACE,IAAI,EAAE,oBAAoB;QAC1B,WAAW,EAAE,gDAAgD;QAC7D,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,4BAA4B;iBAC1C;gBACD,WAAW,EAAE;oBACX,IAAI,EAAE,SAAS;oBACf,WAAW,EAAE,+CAA+C;oBAC5D,OAAO,EAAE,KAAK;iBACf;gBACD,KAAK,EAAE;oBACL,IAAI,EAAE,SAAS;oBACf,WAAW,EAAE,mCAAmC;oBAChD,OAAO,EAAE,KAAK;iBACf;aACF;YACD,QAAQ,EAAE,CAAC,MAAM,CAAC;SACnB;KACF;CACF,CAAC"}
1
+ {"version":3,"file":"execute.js","sourceRoot":"","sources":["../../../src/middleware/tools/execute.ts"],"names":[],"mappings":";;;AAEa,QAAA,YAAY,GAAqB;IAC5C;QACE,IAAI,EAAE,oBAAoB;QAC1B,WAAW,EAAE,mFAAmF;QAChG,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,4BAA4B;iBAC1C;gBACD,WAAW,EAAE;oBACX,IAAI,EAAE,SAAS;oBACf,WAAW,EAAE,+CAA+C;oBAC5D,OAAO,EAAE,KAAK;iBACf;gBACD,KAAK,EAAE;oBACL,IAAI,EAAE,SAAS;oBACf,WAAW,EAAE,mCAAmC;oBAChD,OAAO,EAAE,KAAK;iBACf;aACF;YACD,QAAQ,EAAE,CAAC,MAAM,CAAC;SACnB;KACF;CACF,CAAC"}
@@ -4,7 +4,7 @@ exports.interactionTools = void 0;
4
4
  exports.interactionTools = [
5
5
  {
6
6
  name: 'interaction_click',
7
- description: 'Click on a DOM element',
7
+ description: 'Click on a DOM element in the live web application',
8
8
  inputSchema: {
9
9
  type: 'object',
10
10
  properties: {
@@ -24,7 +24,7 @@ exports.interactionTools = [
24
24
  },
25
25
  {
26
26
  name: 'interaction_type',
27
- description: 'Type text into an input field',
27
+ description: 'Type text into an input field in the running web application',
28
28
  inputSchema: {
29
29
  type: 'object',
30
30
  properties: {
@@ -47,7 +47,7 @@ exports.interactionTools = [
47
47
  },
48
48
  {
49
49
  name: 'interaction_scroll',
50
- description: 'Scroll the page or an element',
50
+ description: 'Scroll the page or an element in the currently connected web application',
51
51
  inputSchema: {
52
52
  type: 'object',
53
53
  properties: {
@@ -71,7 +71,7 @@ exports.interactionTools = [
71
71
  },
72
72
  {
73
73
  name: 'interaction_hover',
74
- description: 'Hover over a DOM element',
74
+ description: 'Hover over a DOM element in the live web application to trigger hover effects',
75
75
  inputSchema: {
76
76
  type: 'object',
77
77
  properties: {
@@ -1 +1 @@
1
- {"version":3,"file":"interaction.js","sourceRoot":"","sources":["../../../src/middleware/tools/interaction.ts"],"names":[],"mappings":";;;AAEa,QAAA,gBAAgB,GAAqB;IAChD;QACE,IAAI,EAAE,mBAAmB;QACzB,WAAW,EAAE,wBAAwB;QACrC,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,QAAQ,EAAE;oBACR,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,uCAAuC;iBACrD;gBACD,MAAM,EAAE;oBACN,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,QAAQ,CAAC;oBACjC,WAAW,EAAE,qBAAqB;oBAClC,OAAO,EAAE,MAAM;iBAChB;aACF;YACD,QAAQ,EAAE,CAAC,UAAU,CAAC;SACvB;KACF;IACD;QACE,IAAI,EAAE,kBAAkB;QACxB,WAAW,EAAE,+BAA+B;QAC5C,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,QAAQ,EAAE;oBACR,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,oCAAoC;iBAClD;gBACD,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,cAAc;iBAC5B;gBACD,KAAK,EAAE;oBACL,IAAI,EAAE,SAAS;oBACf,WAAW,EAAE,+BAA+B;oBAC5C,OAAO,EAAE,KAAK;iBACf;aACF;YACD,QAAQ,EAAE,CAAC,UAAU,EAAE,MAAM,CAAC;SAC/B;KACF;IACD;QACE,IAAI,EAAE,oBAAoB;QAC1B,WAAW,EAAE,+BAA+B;QAC5C,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,QAAQ,EAAE;oBACR,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,6EAA6E;iBAC3F;gBACD,SAAS,EAAE;oBACT,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC;oBACrC,WAAW,EAAE,kBAAkB;iBAChC;gBACD,MAAM,EAAE;oBACN,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,4BAA4B;oBACzC,OAAO,EAAE,GAAG;iBACb;aACF;YACD,QAAQ,EAAE,CAAC,WAAW,CAAC;SACxB;KACF;IACD;QACE,IAAI,EAAE,mBAAmB;QACzB,WAAW,EAAE,0BAA0B;QACvC,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,QAAQ,EAAE;oBACR,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,4CAA4C;iBAC1D;aACF;YACD,QAAQ,EAAE,CAAC,UAAU,CAAC;SACvB;KACF;CACF,CAAC"}
1
+ {"version":3,"file":"interaction.js","sourceRoot":"","sources":["../../../src/middleware/tools/interaction.ts"],"names":[],"mappings":";;;AAEa,QAAA,gBAAgB,GAAqB;IAChD;QACE,IAAI,EAAE,mBAAmB;QACzB,WAAW,EAAE,oDAAoD;QACjE,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,QAAQ,EAAE;oBACR,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,uCAAuC;iBACrD;gBACD,MAAM,EAAE;oBACN,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,QAAQ,CAAC;oBACjC,WAAW,EAAE,qBAAqB;oBAClC,OAAO,EAAE,MAAM;iBAChB;aACF;YACD,QAAQ,EAAE,CAAC,UAAU,CAAC;SACvB;KACF;IACD;QACE,IAAI,EAAE,kBAAkB;QACxB,WAAW,EAAE,8DAA8D;QAC3E,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,QAAQ,EAAE;oBACR,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,oCAAoC;iBAClD;gBACD,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,cAAc;iBAC5B;gBACD,KAAK,EAAE;oBACL,IAAI,EAAE,SAAS;oBACf,WAAW,EAAE,+BAA+B;oBAC5C,OAAO,EAAE,KAAK;iBACf;aACF;YACD,QAAQ,EAAE,CAAC,UAAU,EAAE,MAAM,CAAC;SAC/B;KACF;IACD;QACE,IAAI,EAAE,oBAAoB;QAC1B,WAAW,EAAE,0EAA0E;QACvF,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,QAAQ,EAAE;oBACR,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,6EAA6E;iBAC3F;gBACD,SAAS,EAAE;oBACT,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC;oBACrC,WAAW,EAAE,kBAAkB;iBAChC;gBACD,MAAM,EAAE;oBACN,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,4BAA4B;oBACzC,OAAO,EAAE,GAAG;iBACb;aACF;YACD,QAAQ,EAAE,CAAC,WAAW,CAAC;SACxB;KACF;IACD;QACE,IAAI,EAAE,mBAAmB;QACzB,WAAW,EAAE,+EAA+E;QAC5F,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,QAAQ,EAAE;oBACR,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,4CAA4C;iBAC1D;aACF;YACD,QAAQ,EAAE,CAAC,UAAU,CAAC;SACvB;KACF;CACF,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { ToolDefinition } from '../types.js';
2
+ export declare const routingTools: ToolDefinition[];
3
+ //# sourceMappingURL=routing.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"routing.d.ts","sourceRoot":"","sources":["../../../src/middleware/tools/routing.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAE7C,eAAO,MAAM,YAAY,EAAE,cAAc,EAuExC,CAAC"}
@@ -0,0 +1,76 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.routingTools = void 0;
4
+ exports.routingTools = [
5
+ {
6
+ name: 'routing_get_current',
7
+ description: 'Get the current route information',
8
+ inputSchema: {
9
+ type: 'object',
10
+ properties: {
11
+ clientId: {
12
+ type: 'string',
13
+ description: 'Client ID to get route from (optional, uses first available browser if not specified)',
14
+ },
15
+ },
16
+ },
17
+ },
18
+ {
19
+ name: 'routing_navigate',
20
+ description: 'Navigate to a specific route',
21
+ inputSchema: {
22
+ type: 'object',
23
+ properties: {
24
+ path: {
25
+ type: 'string',
26
+ description: 'The route path to navigate to',
27
+ },
28
+ params: {
29
+ type: 'object',
30
+ description: 'Route parameters (optional)',
31
+ },
32
+ query: {
33
+ type: 'object',
34
+ description: 'Query parameters (optional)',
35
+ },
36
+ clientId: {
37
+ type: 'string',
38
+ description: 'Client ID to navigate (optional, uses first available browser if not specified)',
39
+ },
40
+ },
41
+ required: ['path'],
42
+ },
43
+ },
44
+ {
45
+ name: 'routing_list_routes',
46
+ description: 'List all available routes in the application',
47
+ inputSchema: {
48
+ type: 'object',
49
+ properties: {
50
+ clientId: {
51
+ type: 'string',
52
+ description: 'Client ID to list routes from (optional, uses first available browser if not specified)',
53
+ },
54
+ },
55
+ },
56
+ },
57
+ {
58
+ name: 'routing_get_history',
59
+ description: 'Get the navigation history',
60
+ inputSchema: {
61
+ type: 'object',
62
+ properties: {
63
+ limit: {
64
+ type: 'number',
65
+ description: 'Maximum number of history entries to return',
66
+ default: 10,
67
+ },
68
+ clientId: {
69
+ type: 'string',
70
+ description: 'Client ID to get history from (optional, uses first available browser if not specified)',
71
+ },
72
+ },
73
+ },
74
+ },
75
+ ];
76
+ //# sourceMappingURL=routing.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"routing.js","sourceRoot":"","sources":["../../../src/middleware/tools/routing.ts"],"names":[],"mappings":";;;AAEa,QAAA,YAAY,GAAqB;IAC5C;QACE,IAAI,EAAE,qBAAqB;QAC3B,WAAW,EAAE,mCAAmC;QAChD,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,QAAQ,EAAE;oBACR,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,uFAAuF;iBACrG;aACF;SACF;KACF;IACD;QACE,IAAI,EAAE,kBAAkB;QACxB,WAAW,EAAE,8BAA8B;QAC3C,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,+BAA+B;iBAC7C;gBACD,MAAM,EAAE;oBACN,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,6BAA6B;iBAC3C;gBACD,KAAK,EAAE;oBACL,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,6BAA6B;iBAC3C;gBACD,QAAQ,EAAE;oBACR,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,iFAAiF;iBAC/F;aACF;YACD,QAAQ,EAAE,CAAC,MAAM,CAAC;SACnB;KACF;IACD;QACE,IAAI,EAAE,qBAAqB;QAC3B,WAAW,EAAE,8CAA8C;QAC3D,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,QAAQ,EAAE;oBACR,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,yFAAyF;iBACvG;aACF;SACF;KACF;IACD;QACE,IAAI,EAAE,qBAAqB;QAC3B,WAAW,EAAE,4BAA4B;QACzC,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,KAAK,EAAE;oBACL,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,6CAA6C;oBAC1D,OAAO,EAAE,EAAE;iBACZ;gBACD,QAAQ,EAAE;oBACR,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,yFAAyF;iBACvG;aACF;SACF;KACF;CACF,CAAC"}