@cgaspard/webappmcp 0.2.1 → 0.2.3

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.
package/README.md CHANGED
@@ -123,10 +123,10 @@ See the [Plugin Architecture documentation](../../docs/plugin-architecture.md) f
123
123
  - **State Management**
124
124
  - `state_get_variable` - Access JavaScript variables
125
125
  - `state_local_storage` - Read/write localStorage
126
- - `console_get_logs` - Retrieve browser console logs
126
+ - `console_get_logs` - Retrieve browser console logs with regex filtering
127
127
 
128
128
  - **Server-Side Tools** (NEW)
129
- - `console_get_server_logs` - Retrieve Node.js server console logs with filtering
129
+ - `console_get_server_logs` - Retrieve Node.js server console logs with regex filtering
130
130
  - `server_execute_js` - Execute JavaScript code on the server (sandboxed)
131
131
  - `server_get_system_info` - Get process, memory, CPU, and OS information
132
132
  - `server_get_env` - Inspect environment variables (with sensitive data masking)
package/dist/browser.js CHANGED
@@ -829,6 +829,9 @@
829
829
  case 'console_get_logs':
830
830
  result = await this.consoleGetLogs(args);
831
831
  break;
832
+ case 'console_save_to_file':
833
+ result = await this.consoleSaveToFile(args);
834
+ break;
832
835
  case 'dom_manipulate':
833
836
  result = await this.domManipulate(args);
834
837
  break;
@@ -1257,13 +1260,46 @@
1257
1260
  }
1258
1261
  }
1259
1262
  async consoleGetLogs(args) {
1260
- const { level = 'all', limit = 100 } = args;
1263
+ const { level = 'all', limit = 100, regex } = args;
1261
1264
  let logs = this.consoleLogs;
1262
1265
  if (level !== 'all') {
1263
1266
  logs = logs.filter((log) => log.level === level);
1264
1267
  }
1268
+ // Apply regex filtering if provided
1269
+ if (regex) {
1270
+ try {
1271
+ const pattern = new RegExp(regex);
1272
+ logs = logs.filter((log) => {
1273
+ // Concatenate all log arguments into a single string for matching
1274
+ const logMessage = log.args.map((arg) => {
1275
+ try {
1276
+ return typeof arg === 'object' ? JSON.stringify(arg) : String(arg);
1277
+ }
1278
+ catch {
1279
+ return String(arg);
1280
+ }
1281
+ }).join(' ');
1282
+ return pattern.test(logMessage);
1283
+ });
1284
+ }
1285
+ catch (e) {
1286
+ throw new Error(`Invalid regex pattern: ${regex}`);
1287
+ }
1288
+ }
1265
1289
  return { logs: logs.slice(-limit) };
1266
1290
  }
1291
+ async consoleSaveToFile(args) {
1292
+ const { level = 'all', format = 'json' } = args;
1293
+ let logs = this.consoleLogs;
1294
+ if (level !== 'all') {
1295
+ logs = logs.filter((log) => log.level === level);
1296
+ }
1297
+ // Return logs with format for server-side processing
1298
+ return {
1299
+ logs: logs,
1300
+ format: format
1301
+ };
1302
+ }
1267
1303
  async domManipulate(args) {
1268
1304
  const { action, selector, value, attribute, property } = args;
1269
1305
  if (!selector) {
@@ -1 +1 @@
1
- {"version":3,"file":"browser.js","sources":["../src/client/devtools.ts","../src/client/index.ts","../src/browser.ts"],"sourcesContent":[null,null,null],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"browser.js","sources":["../src/client/devtools.ts","../src/client/index.ts","../src/browser.ts"],"sourcesContent":[null,null,null],"names":[],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).WebAppMCP={})}(this,function(exports){"use strict";class MCPDevTools{constructor(e={}){this.container=null,this.isExpanded=!1,this.logs=[],this.maxLogs=500,this.connectionStatus="disconnected",this.config={position:"bottom-right",theme:"dark",...e},this.addStyles(),this.createDevToolsUI(),this.setupEventListeners()}createDevToolsUI(){this.container=document.createElement("div"),this.container.id="mcp-devtools",this.container.className=`mcp-theme-${this.config.theme} mcp-position-${this.config.position}`,this.container.innerHTML='\n <div class="mcp-devtools-indicator" id="mcp-indicator">\n <div class="mcp-status-dot" id="mcp-status-dot"></div>\n <span class="mcp-label">MCP</span>\n </div>\n <div class="mcp-devtools-panel" id="mcp-panel" style="display: none;">\n <div class="mcp-devtools-header">\n <span>MCP DevTools</span>\n <div class="mcp-header-controls">\n <button class="mcp-theme-toggle" id="mcp-theme-btn" title="Toggle theme">🌓</button>\n <button class="mcp-close-btn" id="mcp-close-btn">×</button>\n </div>\n </div>\n <div class="mcp-devtools-content">\n <div class="mcp-status-section">\n <div class="mcp-status-item">\n <label>WebSocket:</label>\n <span id="mcp-ws-status">Disconnected</span>\n </div>\n <div class="mcp-status-item">\n <label>MCP Server:</label>\n <span id="mcp-server-status">Disconnected</span>\n </div>\n </div>\n <div class="mcp-logs-section">\n <div class="mcp-logs-header">\n <span>Activity Log</span>\n <div class="mcp-logs-controls">\n <label class="mcp-checkbox">\n <input type="checkbox" id="mcp-autoscroll" checked>\n Auto-scroll\n </label>\n <button class="mcp-clear-btn" id="mcp-clear-btn">Clear</button>\n </div>\n </div>\n <div class="mcp-logs-container" id="mcp-logs"></div>\n </div>\n </div>\n </div>\n ',this.addStyles(),document.body.appendChild(this.container)}addStyles(){const e=document.createElement("style");e.textContent="\n #mcp-devtools {\n position: fixed;\n z-index: 10000;\n font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;\n }\n \n /* Positioning */\n #mcp-devtools.mcp-position-bottom-right {\n bottom: 20px;\n right: 20px;\n }\n \n #mcp-devtools.mcp-position-bottom-left {\n bottom: 20px;\n left: 20px;\n }\n \n #mcp-devtools.mcp-position-top-right {\n top: 20px;\n right: 20px;\n }\n \n #mcp-devtools.mcp-position-top-left {\n top: 20px;\n left: 20px;\n }\n\n .mcp-devtools-indicator {\n cursor: pointer;\n display: flex;\n align-items: center;\n gap: 4px;\n padding: 4px 8px;\n background: rgba(255, 255, 255, 0.9);\n border-radius: 4px;\n border: 1px solid rgba(0, 0, 0, 0.1);\n box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);\n }\n\n .mcp-label {\n font-size: 10px;\n font-weight: 600;\n color: #495057;\n user-select: none;\n }\n\n .mcp-status-dot {\n width: 12px;\n height: 12px;\n border-radius: 50%;\n background-color: #dc3545;\n border: 2px solid rgba(255, 255, 255, 0.8);\n box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);\n transition: background-color 0.3s ease;\n }\n\n .mcp-status-dot.connecting {\n background-color: #ffc107;\n animation: pulse 1.5s infinite;\n }\n\n .mcp-status-dot.connected {\n background-color: #28a745;\n }\n\n @keyframes pulse {\n 0%, 100% { opacity: 1; }\n 50% { opacity: 0.5; }\n }\n\n .mcp-devtools-panel {\n position: absolute;\n width: 500px;\n height: 400px;\n background: white;\n border: 1px solid #e0e0e0;\n border-radius: 8px;\n box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);\n display: flex;\n flex-direction: column;\n }\n \n /* Panel positioning based on indicator position */\n .mcp-position-bottom-right .mcp-devtools-panel {\n bottom: 40px;\n right: 0;\n }\n \n .mcp-position-bottom-left .mcp-devtools-panel {\n bottom: 40px;\n left: 0;\n }\n \n .mcp-position-top-right .mcp-devtools-panel {\n top: 40px;\n right: 0;\n }\n \n .mcp-position-top-left .mcp-devtools-panel {\n top: 40px;\n left: 0;\n }\n\n .mcp-devtools-header {\n padding: 12px 16px;\n background: #f8f9fa;\n border-bottom: 1px solid #e0e0e0;\n border-radius: 8px 8px 0 0;\n display: flex;\n justify-content: space-between;\n align-items: center;\n font-weight: 600;\n font-size: 14px;\n }\n\n .mcp-close-btn {\n background: none;\n border: none;\n font-size: 18px;\n cursor: pointer;\n color: #6c757d;\n padding: 0;\n width: 20px;\n height: 20px;\n display: flex;\n align-items: center;\n justify-content: center;\n }\n\n .mcp-close-btn:hover {\n color: #495057;\n }\n\n .mcp-devtools-content {\n flex: 1;\n display: flex;\n flex-direction: column;\n overflow: hidden;\n }\n\n .mcp-status-section {\n padding: 12px 16px;\n border-bottom: 1px solid #e0e0e0;\n background: #f8f9fa;\n }\n\n .mcp-status-item {\n display: flex;\n justify-content: space-between;\n margin-bottom: 4px;\n font-size: 12px;\n }\n\n .mcp-status-item label {\n font-weight: 500;\n color: #495057;\n }\n\n .mcp-status-item span {\n color: #6c757d;\n }\n\n .mcp-logs-section {\n flex: 1;\n display: flex;\n flex-direction: column;\n overflow: hidden;\n }\n\n .mcp-logs-header {\n padding: 8px 16px;\n background: #f8f9fa;\n border-bottom: 1px solid #e0e0e0;\n display: flex;\n justify-content: space-between;\n align-items: center;\n font-size: 12px;\n font-weight: 500;\n }\n\n .mcp-clear-btn {\n background: none;\n border: 1px solid #dee2e6;\n border-radius: 4px;\n padding: 2px 8px;\n font-size: 11px;\n cursor: pointer;\n color: #6c757d;\n }\n\n .mcp-clear-btn:hover {\n background: #e9ecef;\n }\n\n .mcp-logs-container {\n flex: 1;\n overflow-y: auto;\n padding: 8px;\n font-size: 11px;\n font-family: 'SF Mono', Monaco, 'Cascadia Code', monospace;\n }\n\n .mcp-log-entry {\n margin-bottom: 4px;\n padding: 4px 8px;\n border-radius: 4px;\n white-space: pre-wrap;\n word-break: break-word;\n }\n\n .mcp-log-entry.info {\n background: #e7f3ff;\n color: #0c5460;\n }\n\n .mcp-log-entry.warning {\n background: #fff3cd;\n color: #856404;\n }\n\n .mcp-log-entry.error {\n background: #f8d7da;\n color: #721c24;\n }\n\n .mcp-log-timestamp {\n color: #6c757d;\n font-size: 10px;\n }\n \n /* Header controls */\n .mcp-header-controls {\n display: flex;\n gap: 8px;\n align-items: center;\n }\n \n .mcp-theme-toggle {\n background: none;\n border: none;\n font-size: 16px;\n cursor: pointer;\n padding: 0;\n opacity: 0.6;\n transition: opacity 0.2s;\n }\n \n .mcp-theme-toggle:hover {\n opacity: 1;\n }\n \n /* Log controls */\n .mcp-logs-controls {\n display: flex;\n gap: 8px;\n align-items: center;\n }\n \n .mcp-checkbox {\n display: flex;\n align-items: center;\n gap: 4px;\n font-size: 11px;\n cursor: pointer;\n }\n \n .mcp-checkbox input {\n cursor: pointer;\n }\n \n /* Tool execution logs */\n .mcp-log-entry.tool {\n background: #e7f3ff;\n color: #004085;\n border-left: 3px solid #004085;\n }\n \n .mcp-tool-details {\n font-size: 10px;\n margin-top: 4px;\n padding-left: 16px;\n opacity: 0.8;\n }\n \n /* Dark theme */\n .mcp-theme-dark .mcp-devtools-indicator {\n background: rgba(30, 30, 30, 0.9);\n border-color: rgba(255, 255, 255, 0.1);\n }\n \n .mcp-theme-dark .mcp-label {\n color: #e0e0e0;\n }\n \n .mcp-theme-dark .mcp-devtools-panel {\n background: #1e1e1e;\n border-color: #333;\n }\n \n .mcp-theme-dark .mcp-devtools-header {\n background: #2d2d2d;\n border-color: #333;\n color: #e0e0e0;\n }\n \n .mcp-theme-dark .mcp-devtools-content {\n background: #1e1e1e;\n }\n \n .mcp-theme-dark .mcp-status-section {\n background: #2d2d2d;\n border-color: #333;\n }\n \n .mcp-theme-dark .mcp-status-item label {\n color: #b0b0b0;\n }\n \n .mcp-theme-dark .mcp-status-item span {\n color: #e0e0e0;\n }\n \n .mcp-theme-dark .mcp-logs-header {\n background: #2d2d2d;\n border-color: #333;\n color: #e0e0e0;\n }\n \n .mcp-theme-dark .mcp-logs-container {\n background: #252525;\n border-color: #333;\n }\n \n .mcp-theme-dark .mcp-log-entry {\n background: #2d2d2d;\n color: #e0e0e0;\n border-color: #333;\n }\n \n .mcp-theme-dark .mcp-log-entry.warning {\n background: #4a3800;\n color: #ffc107;\n }\n \n .mcp-theme-dark .mcp-log-entry.error {\n background: #4a0000;\n color: #ff6b6b;\n }\n \n .mcp-theme-dark .mcp-log-entry.tool {\n background: #003366;\n color: #66b3ff;\n border-left-color: #66b3ff;\n }\n \n .mcp-theme-dark .mcp-log-timestamp {\n color: #888;\n }\n \n .mcp-theme-dark .mcp-clear-btn,\n .mcp-theme-dark .mcp-close-btn {\n color: #e0e0e0;\n border-color: #555;\n }\n \n .mcp-theme-dark .mcp-clear-btn:hover,\n .mcp-theme-dark .mcp-close-btn:hover {\n background: #444;\n }\n }\n ",document.head.appendChild(e)}setupEventListeners(){const e=this.container?.querySelector("#mcp-indicator"),t=this.container?.querySelector("#mcp-close-btn"),n=this.container?.querySelector("#mcp-clear-btn"),o=this.container?.querySelector("#mcp-theme-btn");e?.addEventListener("click",()=>this.togglePanel()),t?.addEventListener("click",()=>this.togglePanel()),n?.addEventListener("click",()=>this.clearLogs()),o?.addEventListener("click",()=>this.toggleTheme())}toggleTheme(){this.container&&(this.config.theme="light"===this.config.theme?"dark":"light",this.container.className=`mcp-theme-${this.config.theme} mcp-position-${this.config.position}`)}togglePanel(){this.isExpanded=!this.isExpanded;const e=this.container?.querySelector("#mcp-panel");e&&(e.style.display=this.isExpanded?"flex":"none")}setConnectionStatus(e){this.connectionStatus=e;const t=this.container?.querySelector("#mcp-status-dot"),n=this.container?.querySelector("#mcp-ws-status"),o=this.container?.querySelector("#mcp-server-status");if(t&&(t.className=`mcp-status-dot ${e}`),n&&o){const t=e.charAt(0).toUpperCase()+e.slice(1);n.textContent=t,o.textContent=t}this.addLog("info","client",`Connection status: ${e}`)}addLog(e,t,n,o){const s={timestamp:(new Date).toISOString(),level:e,source:t,message:n,data:o};this.logs.unshift(s),this.logs.length>this.maxLogs&&(this.logs=this.logs.slice(0,this.maxLogs)),this.renderLogs()}renderLogs(){const e=this.container?.querySelector("#mcp-logs");if(!e)return;e.innerHTML=this.logs.map(e=>{const t=new Date(e.timestamp).toLocaleTimeString();if("tool"===e.level&&e.data){const n=e.data;let o="";if(n.args&&(o+=`<div class="mcp-tool-details">Args: ${this.safeStringify(n.args)}</div>`),n.error&&(o+=`<div class="mcp-tool-details">Error: ${n.error}</div>`),n.result&&"completed"===n.status){const e=this.safeStringify(n.result);e.length>100?o+=`<div class="mcp-tool-details">Result: ${e.substring(0,100)}...</div>`:o+=`<div class="mcp-tool-details">Result: ${e}</div>`}return`\n <div class="mcp-log-entry ${e.level}">\n <span class="mcp-log-timestamp">[${t}]</span> [${e.source.toUpperCase()}] ${e.message}\n ${o}\n </div>\n `}{const n=e.data?` ${this.safeStringify(e.data)}`:"";return`\n <div class="mcp-log-entry ${e.level}">\n <span class="mcp-log-timestamp">[${t}]</span> [${e.source.toUpperCase()}] ${e.message}${n}\n </div>\n `}}).join("");const t=this.container?.querySelector("#mcp-autoscroll");t?.checked&&(e.scrollTop=0)}safeStringify(e){try{if(null==e)return String(e);if("string"==typeof e||"number"==typeof e||"boolean"==typeof e)return String(e);const t=new Set;return JSON.stringify(e,(e,n)=>{if("object"==typeof n&&null!==n){if(t.has(n))return"[Circular Reference]";t.add(n)}return n})}catch(e){return`[Error stringifying: ${e instanceof Error?e.message:"Unknown error"}]`}}clearLogs(){this.logs=[],this.renderLogs()}logWebSocketEvent(e,t){this.addLog("info","websocket",e,t)}logMCPEvent(e,t){this.addLog("info","mcp",e,t)}logError(e,t,n){this.addLog("error",e,t,n)}logToolExecution(e,t,n,o,s,r){const i=null===n?"started":n?"completed":"failed",c={tool:e,status:i,args:t,executionTime:s?`${s}ms`:void 0,result:n&&r?r:void 0,error:n||"Success"===o?void 0:o},a=`Tool ${e} ${i}${s?` (${s}ms)`:""}`;this.addLog(!1===n?"error":"tool","tool",a,c)}}class WebAppMCPClient{get isConnected(){return this._isConnected&&this.ws?.readyState===WebSocket.OPEN}constructor(e){this.ws=null,this.reconnectAttempts=0,this.messageHandlers=new Map,this.consoleLogs=[],this._isConnected=!1,this.devTools=null,this.pluginHandlers={},this.config={reconnectInterval:5e3,maxReconnectAttempts:10,enableDevTools:!0,debug:!1,enableConnection:!0,interceptConsole:!0,enabledTools:[],devToolsPosition:"bottom-right",devToolsTheme:"dark",...e},this.config.interceptConsole&&this.setupConsoleInterception(),this.loadHtml2Canvas(),this.config.enableDevTools&&this.config.enableConnection&&(this.devTools=new MCPDevTools({position:this.config.devToolsPosition,theme:this.config.devToolsTheme}),this.devTools.setConnectionStatus("disconnected"))}log(...e){this.config.debug&&console.log("[webappmcp]",...e)}logError(...e){console.error("[webappmcp]",...e)}connect(){if(this.config.enableConnection){if(!this.ws||this.ws.readyState!==WebSocket.OPEN){this.devTools?.setConnectionStatus("connecting"),this.devTools?.logWebSocketEvent("Attempting to connect",{url:this.config.serverUrl});try{const e=new URL(this.config.serverUrl),t={};this.config.authToken&&(t.Authorization=`Bearer ${this.config.authToken}`),this.config.authToken&&e.searchParams.set("token",this.config.authToken),this.ws=new WebSocket(e.toString()),this.setupWebSocketHandlers()}catch(e){this.logError("Failed to connect to WebApp MCP server:",e),this.devTools?.logError("websocket","Failed to connect",e),this.scheduleReconnect()}}}else this.log("Connection disabled by configuration")}disconnect(){this._isConnected=!1,this.reconnectTimer&&(clearTimeout(this.reconnectTimer),this.reconnectTimer=null),this.ws&&(this.ws.close(),this.ws=null)}setupWebSocketHandlers(){this.ws&&(this.ws.onopen=()=>{this.log("Connected to WebApp MCP server"),this._isConnected=!0,this.reconnectAttempts=0,this.devTools?.setConnectionStatus("connected"),this.devTools?.logWebSocketEvent("Connected to WebApp MCP server"),this.sendMessage({type:"init",url:window.location.href})},this.ws.onmessage=e=>{try{const t=JSON.parse(e.data);this.devTools?.logWebSocketEvent("Message received",t),this.handleMessage(t)}catch(e){this.logError("Failed to parse WebSocket message:",e),this.devTools?.logError("websocket","Failed to parse message",e)}},this.ws.onerror=e=>{this.logError("WebSocket error:",e),this.devTools?.logError("websocket","WebSocket error",e)},this.ws.onclose=()=>{this.log("Disconnected from WebApp MCP server"),this._isConnected=!1,this.devTools?.setConnectionStatus("disconnected"),this.devTools?.logWebSocketEvent("Disconnected from WebApp MCP server"),this.scheduleReconnect()})}scheduleReconnect(){this.reconnectAttempts>=(this.config.maxReconnectAttempts||10)||this.reconnectTimer||(this.reconnectAttempts++,this.log(`Scheduling reconnect attempt ${this.reconnectAttempts}/${this.config.maxReconnectAttempts}`),this.reconnectTimer=setTimeout(()=>{this.reconnectTimer=null,this.connect()},this.config.reconnectInterval))}sendMessage(e){this.ws&&this.ws.readyState===WebSocket.OPEN?(this.ws.send(JSON.stringify(e)),this.devTools?.logWebSocketEvent("Message sent",e)):this.logError("WebSocket is not connected")}handleMessage(e){const{type:t,requestId:n,tool:o,args:s}=e;if(this.log("[WebApp Client] Received message:",JSON.stringify(e)),"connected"===t)return this.log("WebApp MCP client registered:",e.clientId),void this.devTools?.logMCPEvent("Client registered",{clientId:e.clientId});if("execute_tool"===t)return this.log(`[WebApp Client] Executing tool: ${o} with requestId: ${n}`),this.devTools?.logMCPEvent(`Executing tool: ${o}`,{requestId:n,args:s}),void this.executeToolHandler(n,o,s);if("plugin_extension"===t)return this.log("[WebApp Client] Loading plugin extension"),void this.loadPluginExtension(e.extension);const r=this.messageHandlers.get(t);r&&r(e)}async executeToolHandler(e,t,n){if(this.config.enabledTools&&this.config.enabledTools.length>0&&!this.config.enabledTools.includes(t)){const o=`Tool ${t} is not enabled`;return this.logError(o),this.devTools?.logToolExecution(t,n,!1,o),void this.sendMessage({type:"tool_response",requestId:e,success:!1,error:o})}this.log(`[WebApp Client] Executing tool handler for ${t}`),this.log("[WebApp Client] Tool args:",JSON.stringify(n)),this.devTools?.logToolExecution(t,n,null,"Started");const o=Date.now();try{let s;switch(t){case"dom_query":s=await this.domQuery(n);break;case"dom_get_properties":s=await this.domGetProperties(n);break;case"dom_get_text":s=await this.domGetText(n);break;case"dom_get_html":s=await this.domGetHTML(n);break;case"interaction_click":s=await this.interactionClick(n);break;case"interaction_type":s=await this.interactionType(n);break;case"interaction_scroll":s=await this.interactionScroll(n);break;case"interaction_hover":s=await this.interactionHover(n);break;case"capture_screenshot":s=await this.captureScreenshot(n);break;case"capture_element_screenshot":s=await this.captureElementScreenshot(n);break;case"state_get_variable":s=await this.stateGetVariable(n);break;case"state_local_storage":s=await this.stateLocalStorage(n);break;case"console_get_logs":s=await this.consoleGetLogs(n);break;case"dom_manipulate":s=await this.domManipulate(n);break;case"javascript_inject":s=await this.javascriptInject(n);break;case"webapp_list_clients":s=await this.webappListClients(n);break;case"execute_javascript":s=await this.executeJavascript(n);break;default:if(!this.pluginHandlers||!this.pluginHandlers[t])throw new Error(`Unknown tool: ${t}`);s=await this.pluginHandlers[t](n)}const r=Date.now()-o;this.log("[WebApp Client] Tool execution successful, sending response"),this.devTools?.logToolExecution(t,n,!0,"Success",r,s),this.sendMessage({type:"tool_response",requestId:e,result:s,success:!0})}catch(s){const r=Date.now()-o,i=s instanceof Error?s.message:String(s);this.logError("[WebApp Client] Tool execution failed:",s),this.devTools?.logToolExecution(t,n,!1,i,r),this.sendMessage({type:"tool_response",requestId:e,success:!1,error:i})}}loadHtml2Canvas(){if(void 0!==window.html2canvas)return;const e=document.createElement("script");e.src="https://cdnjs.cloudflare.com/ajax/libs/html2canvas/1.4.1/html2canvas.min.js",e.async=!0,e.onload=()=>{this.config.debug&&console.log("[WebAppMCP] html2canvas loaded successfully")},e.onerror=()=>{console.warn("[WebAppMCP] Failed to load html2canvas - screenshots will use fallback mode")},document.head.appendChild(e)}setupConsoleInterception(){const e={log:console.log,info:console.info,warn:console.warn,error:console.error},t=t=>(...n)=>{this.consoleLogs.push({level:t,timestamp:(new Date).toISOString(),args:n.map(e=>{try{return"object"==typeof e?JSON.stringify(e):String(e)}catch{return String(e)}})}),this.consoleLogs.length>1e3&&this.consoleLogs.shift(),e[t](...n)};console.log=t("log"),console.info=t("info"),console.warn=t("warn"),console.error=t("error")}async domQuery(e){const{selector:t,limit:n=10}=e;return{elements:Array.from(document.querySelectorAll(t)).slice(0,n).map(e=>({selector:t,tagName:e.tagName.toLowerCase(),id:e.id||void 0,className:e.className||void 0,text:e.textContent?.trim().substring(0,100),attributes:(()=>{const t={};for(let n=0;n<e.attributes.length;n++){const o=e.attributes[n];t[o.name]=o.value}return t})()}))}}async domGetProperties(e){const{selector:t,properties:n=[]}=e,o=document.querySelector(t);if(!o)throw new Error(`Element not found: ${t}`);const s={};for(const e of n)try{s[e]=o[e]}catch{s[e]=void 0}return s}async domGetText(e){const{selector:t,includeHidden:n=!1}=e,o=document.querySelectorAll(t),s=[];return o.forEach(e=>{if(n||null!==e.offsetParent){const t=e.textContent?.trim();t&&s.push(t)}}),{texts:s}}async domGetHTML(e){const{selector:t,outerHTML:n=!1}=e,o=document.querySelector(t);if(!o)throw new Error(`Element not found: ${t}`);return{html:n?o.outerHTML:o.innerHTML}}async interactionClick(e){const{selector:t,button:n="left"}=e,o=document.querySelector(t);if(!o)throw new Error(`Element not found: ${t}`);const s=new MouseEvent("click",{view:window,bubbles:!0,cancelable:!0,button:"right"===n?2:"middle"===n?1:0});return o.dispatchEvent(s),{success:!0}}async interactionType(e){const{selector:t,text:n,clear:o=!1}=e,s=document.querySelector(t);if(!s)throw new Error(`Element not found: ${t}`);return o&&(s.value=""),s.focus(),s.value+=n,s.dispatchEvent(new Event("input",{bubbles:!0})),s.dispatchEvent(new Event("change",{bubbles:!0})),{success:!0}}async interactionScroll(e){const{selector:t,direction:n,amount:o=100}=e,s=t?document.querySelector(t):window;if(!s&&t)throw new Error(`Element not found: ${t}`);const r={behavior:"smooth"};return"up"===n||"down"===n?r.top="down"===n?o:-o:r.left="right"===n?o:-o,s===window?window.scrollBy(r):s.scrollBy(r),{success:!0}}async interactionHover(e){const{selector:t}=e,n=document.querySelector(t);if(!n)throw new Error(`Element not found: ${t}`);return n.dispatchEvent(new MouseEvent("mouseenter",{view:window,bubbles:!0,cancelable:!0})),n.dispatchEvent(new MouseEvent("mouseover",{view:window,bubbles:!0,cancelable:!0})),{success:!0}}async captureScreenshot(e){const{fullPage:t=!0,format:n="png"}=e;try{const e=t?Math.max(document.documentElement.scrollWidth,document.body.scrollWidth,document.documentElement.offsetWidth,document.body.offsetWidth,document.documentElement.clientWidth):window.innerWidth,o=t?Math.max(document.documentElement.scrollHeight,document.body.scrollHeight,document.documentElement.offsetHeight,document.body.offsetHeight,document.documentElement.clientHeight):window.innerHeight,s=document.createElement("canvas");s.width=e,s.height=o;const r=s.getContext("2d");if(!r)throw new Error("Failed to create canvas context");if(void 0!==window.html2canvas){const s=window.html2canvas,r=await s(document.body,{width:e,height:o,windowWidth:e,windowHeight:o,x:0,y:0,scrollX:t?0:window.scrollX,scrollY:t?0:window.scrollY,useCORS:!0,allowTaint:!0});return{success:!0,dataUrl:r.toDataURL(`image/${n}`),width:e,height:o,message:"Screenshot captured successfully"}}const i=window.getComputedStyle(document.body).backgroundColor||"#ffffff";r.fillStyle=i,r.fillRect(0,0,e,o),r.fillStyle="#666",r.font="14px system-ui, -apple-system, sans-serif",r.textAlign="left";const c=[`Page Title: ${document.title}`,`URL: ${window.location.href}`,`Dimensions: ${e}x${o}`,"","Note: For full screenshot functionality, include html2canvas library:",'<script src="https://cdnjs.cloudflare.com/ajax/libs/html2canvas/1.4.1/html2canvas.min.js"><\/script>'];let a=30;c.forEach(e=>{r.fillText(e,20,a),a+=25}),r.strokeStyle="#ddd",r.lineWidth=2,r.strokeRect(1,1,e-2,o-2);return{success:!0,dataUrl:s.toDataURL(`image/${n}`),width:e,height:o,message:"Screenshot captured (basic mode - add html2canvas for full rendering)"}}catch(e){throw new Error(`Failed to capture screenshot: ${e}`)}}async captureElementScreenshot(e){const{selector:t,format:n="png"}=e;if(!t)throw new Error("Selector is required for element screenshot");const o=document.querySelector(t);if(!o)throw new Error(`Element not found: ${t}`);try{const e=o.getBoundingClientRect();if(void 0!==window.html2canvas){const s=window.html2canvas,r=await s(o,{width:e.width,height:e.height,x:e.left+window.scrollX,y:e.top+window.scrollY,scrollX:-e.left,scrollY:-e.top,useCORS:!0,allowTaint:!0});return{success:!0,dataUrl:r.toDataURL(`image/${n}`),width:e.width,height:e.height,selector:t,message:"Element screenshot captured successfully"}}const s=document.createElement("canvas"),r=s.getContext("2d");if(!r)throw new Error("Failed to create canvas context");s.width=e.width,s.height=e.height;const i=window.getComputedStyle(o),c=i.backgroundColor||"#ffffff";r.fillStyle=c,r.fillRect(0,0,e.width,e.height),r.strokeStyle=i.borderColor||"#ddd",r.lineWidth=parseInt(i.borderWidth)||1,r.strokeRect(0,0,e.width,e.height),r.fillStyle="#666",r.font="12px system-ui, -apple-system, sans-serif",r.textAlign="center";const a=[`Element: ${t}`,`Size: ${Math.round(e.width)}x${Math.round(e.height)}`,`Tag: ${o.tagName.toLowerCase()}`,o.className?`Class: ${o.className}`:"","Add html2canvas for full rendering"].filter(Boolean);let l=Math.max(20,e.height/2-15*a.length/2);a.forEach(t=>{r.fillText(t,e.width/2,l),l+=15});return{success:!0,dataUrl:s.toDataURL(`image/${n}`),width:e.width,height:e.height,selector:t,message:"Element screenshot captured (basic mode - add html2canvas for full rendering)"}}catch(e){throw new Error(`Failed to capture element screenshot: ${e}`)}}async stateGetVariable(e){const{path:t}=e,n=t.split(".");let o=window;for(const e of n){if(!o||"object"!=typeof o||!(e in o))throw new Error(`Variable not found: ${t}`);o=o[e]}return{value:o}}async stateLocalStorage(e){const{operation:t,key:n,value:o}=e;switch(t){case"get":return{value:localStorage.getItem(n)};case"set":return localStorage.setItem(n,o),{success:!0};case"remove":return localStorage.removeItem(n),{success:!0};case"clear":return localStorage.clear(),{success:!0};case"getAll":const e={};for(let t=0;t<localStorage.length;t++){const n=localStorage.key(t);n&&(e[n]=localStorage.getItem(n)||"")}return{items:e};default:throw new Error(`Unknown localStorage operation: ${t}`)}}async consoleGetLogs(e){const{level:t="all",limit:n=100}=e;let o=this.consoleLogs;return"all"!==t&&(o=o.filter(e=>e.level===t)),{logs:o.slice(-n)}}async domManipulate(e){const{action:t,selector:n,value:o,attribute:s,property:r}=e;if(!n)throw new Error("Selector is required for DOM manipulation");const i=document.querySelector(n);if(!i)throw new Error(`Element not found: ${n}`);switch(t){case"setAttribute":if(!s||void 0===o)throw new Error("Attribute name and value are required for setAttribute");return i.setAttribute(s,o),{success:!0,message:`Set attribute ${s}="${o}" on ${n}`};case"removeAttribute":if(!s)throw new Error("Attribute name is required for removeAttribute");return i.removeAttribute(s),{success:!0,message:`Removed attribute ${s} from ${n}`};case"setProperty":if(!r||void 0===o)throw new Error("Property name and value are required for setProperty");return i[r]=o,{success:!0,message:`Set property ${r}=${o} on ${n}`};case"addClass":if(!o)throw new Error("Class name is required for addClass");return i.classList.add(o),{success:!0,message:`Added class "${o}" to ${n}`};case"removeClass":if(!o)throw new Error("Class name is required for removeClass");return i.classList.remove(o),{success:!0,message:`Removed class "${o}" from ${n}`};case"setInnerHTML":if(void 0===o)throw new Error("HTML content is required for setInnerHTML");return i.innerHTML=o,{success:!0,message:`Set innerHTML on ${n}`};case"setTextContent":if(void 0===o)throw new Error("Text content is required for setTextContent");return i.textContent=o,{success:!0,message:`Set textContent on ${n}`};case"setStyle":if(!r||void 0===o)throw new Error("Style property and value are required for setStyle");return i.style[r]=o,{success:!0,message:`Set style ${r}=${o} on ${n}`};case"remove":return i.remove(),{success:!0,message:`Removed element ${n}`};default:throw new Error(`Unknown DOM manipulation action: ${t}`)}}async javascriptInject(args){const{code:code,returnValue:returnValue=!1}=args;if(!code)throw new Error("JavaScript code is required");try{let result;if(returnValue)result=eval(code);else{const e=new Function(code);result=e()}return{success:!0,result:void 0!==result?result:null,message:"JavaScript executed successfully"}}catch(e){throw new Error(`JavaScript execution failed: ${e instanceof Error?e.message:"Unknown error"}`)}}async webappListClients(e){return{clients:[{id:"browser-client",type:"browser",url:window.location.href,userAgent:navigator.userAgent,connected:this.isConnected,timestamp:(new Date).toISOString()}]}}async executeJavascript(args){const{code:code,returnValue:returnValue=!1,async:async=!1}=args;if(!code)throw new Error("JavaScript code is required");try{let result;return async?result=returnValue?await eval(`(async () => { return ${code}; })()`):await eval(`(async () => { ${code}; })()`):returnValue?result=eval(`(() => { return ${code}; })()`):(eval(code),result=void 0),{success:!0,result:void 0!==result?result:null,message:"JavaScript executed successfully",executionTime:(new Date).toISOString()}}catch(e){throw new Error(`JavaScript execution failed: ${e instanceof Error?e.message:"Unknown error"}`)}}loadPluginExtension(extension){try{const pluginCode=`\n (function() {\n ${extension.code}\n })();\n `;eval(pluginCode),this.log("[WebApp Client] Plugin extension loaded successfully")}catch(e){this.logError("[WebApp Client] Failed to load plugin extension:",e)}}registerPluginHandler(e,t){this.pluginHandlers[e]=t,this.log(`[WebApp Client] Registered plugin handler for tool: ${e}`)}}"undefined"!=typeof window&&(window.WebAppMCP={WebAppMCPClient:WebAppMCPClient}),"undefined"!=typeof window&&(window.WebAppMCPClient=WebAppMCPClient,window.WebAppMCP={WebAppMCPClient:WebAppMCPClient}),exports.WebAppMCPClient=WebAppMCPClient});
1
+ !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).WebAppMCP={})}(this,function(exports){"use strict";class MCPDevTools{constructor(e={}){this.container=null,this.isExpanded=!1,this.logs=[],this.maxLogs=500,this.connectionStatus="disconnected",this.config={position:"bottom-right",theme:"dark",...e},this.addStyles(),this.createDevToolsUI(),this.setupEventListeners()}createDevToolsUI(){this.container=document.createElement("div"),this.container.id="mcp-devtools",this.container.className=`mcp-theme-${this.config.theme} mcp-position-${this.config.position}`,this.container.innerHTML='\n <div class="mcp-devtools-indicator" id="mcp-indicator">\n <div class="mcp-status-dot" id="mcp-status-dot"></div>\n <span class="mcp-label">MCP</span>\n </div>\n <div class="mcp-devtools-panel" id="mcp-panel" style="display: none;">\n <div class="mcp-devtools-header">\n <span>MCP DevTools</span>\n <div class="mcp-header-controls">\n <button class="mcp-theme-toggle" id="mcp-theme-btn" title="Toggle theme">🌓</button>\n <button class="mcp-close-btn" id="mcp-close-btn">×</button>\n </div>\n </div>\n <div class="mcp-devtools-content">\n <div class="mcp-status-section">\n <div class="mcp-status-item">\n <label>WebSocket:</label>\n <span id="mcp-ws-status">Disconnected</span>\n </div>\n <div class="mcp-status-item">\n <label>MCP Server:</label>\n <span id="mcp-server-status">Disconnected</span>\n </div>\n </div>\n <div class="mcp-logs-section">\n <div class="mcp-logs-header">\n <span>Activity Log</span>\n <div class="mcp-logs-controls">\n <label class="mcp-checkbox">\n <input type="checkbox" id="mcp-autoscroll" checked>\n Auto-scroll\n </label>\n <button class="mcp-clear-btn" id="mcp-clear-btn">Clear</button>\n </div>\n </div>\n <div class="mcp-logs-container" id="mcp-logs"></div>\n </div>\n </div>\n </div>\n ',this.addStyles(),document.body.appendChild(this.container)}addStyles(){const e=document.createElement("style");e.textContent="\n #mcp-devtools {\n position: fixed;\n z-index: 10000;\n font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;\n }\n \n /* Positioning */\n #mcp-devtools.mcp-position-bottom-right {\n bottom: 20px;\n right: 20px;\n }\n \n #mcp-devtools.mcp-position-bottom-left {\n bottom: 20px;\n left: 20px;\n }\n \n #mcp-devtools.mcp-position-top-right {\n top: 20px;\n right: 20px;\n }\n \n #mcp-devtools.mcp-position-top-left {\n top: 20px;\n left: 20px;\n }\n\n .mcp-devtools-indicator {\n cursor: pointer;\n display: flex;\n align-items: center;\n gap: 4px;\n padding: 4px 8px;\n background: rgba(255, 255, 255, 0.9);\n border-radius: 4px;\n border: 1px solid rgba(0, 0, 0, 0.1);\n box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);\n }\n\n .mcp-label {\n font-size: 10px;\n font-weight: 600;\n color: #495057;\n user-select: none;\n }\n\n .mcp-status-dot {\n width: 12px;\n height: 12px;\n border-radius: 50%;\n background-color: #dc3545;\n border: 2px solid rgba(255, 255, 255, 0.8);\n box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);\n transition: background-color 0.3s ease;\n }\n\n .mcp-status-dot.connecting {\n background-color: #ffc107;\n animation: pulse 1.5s infinite;\n }\n\n .mcp-status-dot.connected {\n background-color: #28a745;\n }\n\n @keyframes pulse {\n 0%, 100% { opacity: 1; }\n 50% { opacity: 0.5; }\n }\n\n .mcp-devtools-panel {\n position: absolute;\n width: 500px;\n height: 400px;\n background: white;\n border: 1px solid #e0e0e0;\n border-radius: 8px;\n box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);\n display: flex;\n flex-direction: column;\n }\n \n /* Panel positioning based on indicator position */\n .mcp-position-bottom-right .mcp-devtools-panel {\n bottom: 40px;\n right: 0;\n }\n \n .mcp-position-bottom-left .mcp-devtools-panel {\n bottom: 40px;\n left: 0;\n }\n \n .mcp-position-top-right .mcp-devtools-panel {\n top: 40px;\n right: 0;\n }\n \n .mcp-position-top-left .mcp-devtools-panel {\n top: 40px;\n left: 0;\n }\n\n .mcp-devtools-header {\n padding: 12px 16px;\n background: #f8f9fa;\n border-bottom: 1px solid #e0e0e0;\n border-radius: 8px 8px 0 0;\n display: flex;\n justify-content: space-between;\n align-items: center;\n font-weight: 600;\n font-size: 14px;\n }\n\n .mcp-close-btn {\n background: none;\n border: none;\n font-size: 18px;\n cursor: pointer;\n color: #6c757d;\n padding: 0;\n width: 20px;\n height: 20px;\n display: flex;\n align-items: center;\n justify-content: center;\n }\n\n .mcp-close-btn:hover {\n color: #495057;\n }\n\n .mcp-devtools-content {\n flex: 1;\n display: flex;\n flex-direction: column;\n overflow: hidden;\n }\n\n .mcp-status-section {\n padding: 12px 16px;\n border-bottom: 1px solid #e0e0e0;\n background: #f8f9fa;\n }\n\n .mcp-status-item {\n display: flex;\n justify-content: space-between;\n margin-bottom: 4px;\n font-size: 12px;\n }\n\n .mcp-status-item label {\n font-weight: 500;\n color: #495057;\n }\n\n .mcp-status-item span {\n color: #6c757d;\n }\n\n .mcp-logs-section {\n flex: 1;\n display: flex;\n flex-direction: column;\n overflow: hidden;\n }\n\n .mcp-logs-header {\n padding: 8px 16px;\n background: #f8f9fa;\n border-bottom: 1px solid #e0e0e0;\n display: flex;\n justify-content: space-between;\n align-items: center;\n font-size: 12px;\n font-weight: 500;\n }\n\n .mcp-clear-btn {\n background: none;\n border: 1px solid #dee2e6;\n border-radius: 4px;\n padding: 2px 8px;\n font-size: 11px;\n cursor: pointer;\n color: #6c757d;\n }\n\n .mcp-clear-btn:hover {\n background: #e9ecef;\n }\n\n .mcp-logs-container {\n flex: 1;\n overflow-y: auto;\n padding: 8px;\n font-size: 11px;\n font-family: 'SF Mono', Monaco, 'Cascadia Code', monospace;\n }\n\n .mcp-log-entry {\n margin-bottom: 4px;\n padding: 4px 8px;\n border-radius: 4px;\n white-space: pre-wrap;\n word-break: break-word;\n }\n\n .mcp-log-entry.info {\n background: #e7f3ff;\n color: #0c5460;\n }\n\n .mcp-log-entry.warning {\n background: #fff3cd;\n color: #856404;\n }\n\n .mcp-log-entry.error {\n background: #f8d7da;\n color: #721c24;\n }\n\n .mcp-log-timestamp {\n color: #6c757d;\n font-size: 10px;\n }\n \n /* Header controls */\n .mcp-header-controls {\n display: flex;\n gap: 8px;\n align-items: center;\n }\n \n .mcp-theme-toggle {\n background: none;\n border: none;\n font-size: 16px;\n cursor: pointer;\n padding: 0;\n opacity: 0.6;\n transition: opacity 0.2s;\n }\n \n .mcp-theme-toggle:hover {\n opacity: 1;\n }\n \n /* Log controls */\n .mcp-logs-controls {\n display: flex;\n gap: 8px;\n align-items: center;\n }\n \n .mcp-checkbox {\n display: flex;\n align-items: center;\n gap: 4px;\n font-size: 11px;\n cursor: pointer;\n }\n \n .mcp-checkbox input {\n cursor: pointer;\n }\n \n /* Tool execution logs */\n .mcp-log-entry.tool {\n background: #e7f3ff;\n color: #004085;\n border-left: 3px solid #004085;\n }\n \n .mcp-tool-details {\n font-size: 10px;\n margin-top: 4px;\n padding-left: 16px;\n opacity: 0.8;\n }\n \n /* Dark theme */\n .mcp-theme-dark .mcp-devtools-indicator {\n background: rgba(30, 30, 30, 0.9);\n border-color: rgba(255, 255, 255, 0.1);\n }\n \n .mcp-theme-dark .mcp-label {\n color: #e0e0e0;\n }\n \n .mcp-theme-dark .mcp-devtools-panel {\n background: #1e1e1e;\n border-color: #333;\n }\n \n .mcp-theme-dark .mcp-devtools-header {\n background: #2d2d2d;\n border-color: #333;\n color: #e0e0e0;\n }\n \n .mcp-theme-dark .mcp-devtools-content {\n background: #1e1e1e;\n }\n \n .mcp-theme-dark .mcp-status-section {\n background: #2d2d2d;\n border-color: #333;\n }\n \n .mcp-theme-dark .mcp-status-item label {\n color: #b0b0b0;\n }\n \n .mcp-theme-dark .mcp-status-item span {\n color: #e0e0e0;\n }\n \n .mcp-theme-dark .mcp-logs-header {\n background: #2d2d2d;\n border-color: #333;\n color: #e0e0e0;\n }\n \n .mcp-theme-dark .mcp-logs-container {\n background: #252525;\n border-color: #333;\n }\n \n .mcp-theme-dark .mcp-log-entry {\n background: #2d2d2d;\n color: #e0e0e0;\n border-color: #333;\n }\n \n .mcp-theme-dark .mcp-log-entry.warning {\n background: #4a3800;\n color: #ffc107;\n }\n \n .mcp-theme-dark .mcp-log-entry.error {\n background: #4a0000;\n color: #ff6b6b;\n }\n \n .mcp-theme-dark .mcp-log-entry.tool {\n background: #003366;\n color: #66b3ff;\n border-left-color: #66b3ff;\n }\n \n .mcp-theme-dark .mcp-log-timestamp {\n color: #888;\n }\n \n .mcp-theme-dark .mcp-clear-btn,\n .mcp-theme-dark .mcp-close-btn {\n color: #e0e0e0;\n border-color: #555;\n }\n \n .mcp-theme-dark .mcp-clear-btn:hover,\n .mcp-theme-dark .mcp-close-btn:hover {\n background: #444;\n }\n }\n ",document.head.appendChild(e)}setupEventListeners(){const e=this.container?.querySelector("#mcp-indicator"),t=this.container?.querySelector("#mcp-close-btn"),n=this.container?.querySelector("#mcp-clear-btn"),o=this.container?.querySelector("#mcp-theme-btn");e?.addEventListener("click",()=>this.togglePanel()),t?.addEventListener("click",()=>this.togglePanel()),n?.addEventListener("click",()=>this.clearLogs()),o?.addEventListener("click",()=>this.toggleTheme())}toggleTheme(){this.container&&(this.config.theme="light"===this.config.theme?"dark":"light",this.container.className=`mcp-theme-${this.config.theme} mcp-position-${this.config.position}`)}togglePanel(){this.isExpanded=!this.isExpanded;const e=this.container?.querySelector("#mcp-panel");e&&(e.style.display=this.isExpanded?"flex":"none")}setConnectionStatus(e){this.connectionStatus=e;const t=this.container?.querySelector("#mcp-status-dot"),n=this.container?.querySelector("#mcp-ws-status"),o=this.container?.querySelector("#mcp-server-status");if(t&&(t.className=`mcp-status-dot ${e}`),n&&o){const t=e.charAt(0).toUpperCase()+e.slice(1);n.textContent=t,o.textContent=t}this.addLog("info","client",`Connection status: ${e}`)}addLog(e,t,n,o){const s={timestamp:(new Date).toISOString(),level:e,source:t,message:n,data:o};this.logs.unshift(s),this.logs.length>this.maxLogs&&(this.logs=this.logs.slice(0,this.maxLogs)),this.renderLogs()}renderLogs(){const e=this.container?.querySelector("#mcp-logs");if(!e)return;e.innerHTML=this.logs.map(e=>{const t=new Date(e.timestamp).toLocaleTimeString();if("tool"===e.level&&e.data){const n=e.data;let o="";if(n.args&&(o+=`<div class="mcp-tool-details">Args: ${this.safeStringify(n.args)}</div>`),n.error&&(o+=`<div class="mcp-tool-details">Error: ${n.error}</div>`),n.result&&"completed"===n.status){const e=this.safeStringify(n.result);e.length>100?o+=`<div class="mcp-tool-details">Result: ${e.substring(0,100)}...</div>`:o+=`<div class="mcp-tool-details">Result: ${e}</div>`}return`\n <div class="mcp-log-entry ${e.level}">\n <span class="mcp-log-timestamp">[${t}]</span> [${e.source.toUpperCase()}] ${e.message}\n ${o}\n </div>\n `}{const n=e.data?` ${this.safeStringify(e.data)}`:"";return`\n <div class="mcp-log-entry ${e.level}">\n <span class="mcp-log-timestamp">[${t}]</span> [${e.source.toUpperCase()}] ${e.message}${n}\n </div>\n `}}).join("");const t=this.container?.querySelector("#mcp-autoscroll");t?.checked&&(e.scrollTop=0)}safeStringify(e){try{if(null==e)return String(e);if("string"==typeof e||"number"==typeof e||"boolean"==typeof e)return String(e);const t=new Set;return JSON.stringify(e,(e,n)=>{if("object"==typeof n&&null!==n){if(t.has(n))return"[Circular Reference]";t.add(n)}return n})}catch(e){return`[Error stringifying: ${e instanceof Error?e.message:"Unknown error"}]`}}clearLogs(){this.logs=[],this.renderLogs()}logWebSocketEvent(e,t){this.addLog("info","websocket",e,t)}logMCPEvent(e,t){this.addLog("info","mcp",e,t)}logError(e,t,n){this.addLog("error",e,t,n)}logToolExecution(e,t,n,o,s,r){const i=null===n?"started":n?"completed":"failed",c={tool:e,status:i,args:t,executionTime:s?`${s}ms`:void 0,result:n&&r?r:void 0,error:n||"Success"===o?void 0:o},a=`Tool ${e} ${i}${s?` (${s}ms)`:""}`;this.addLog(!1===n?"error":"tool","tool",a,c)}}class WebAppMCPClient{get isConnected(){return this._isConnected&&this.ws?.readyState===WebSocket.OPEN}constructor(e){this.ws=null,this.reconnectAttempts=0,this.messageHandlers=new Map,this.consoleLogs=[],this._isConnected=!1,this.devTools=null,this.pluginHandlers={},this.config={reconnectInterval:5e3,maxReconnectAttempts:10,enableDevTools:!0,debug:!1,enableConnection:!0,interceptConsole:!0,enabledTools:[],devToolsPosition:"bottom-right",devToolsTheme:"dark",...e},this.config.interceptConsole&&this.setupConsoleInterception(),this.loadHtml2Canvas(),this.config.enableDevTools&&this.config.enableConnection&&(this.devTools=new MCPDevTools({position:this.config.devToolsPosition,theme:this.config.devToolsTheme}),this.devTools.setConnectionStatus("disconnected"))}log(...e){this.config.debug&&console.log("[webappmcp]",...e)}logError(...e){console.error("[webappmcp]",...e)}connect(){if(this.config.enableConnection){if(!this.ws||this.ws.readyState!==WebSocket.OPEN){this.devTools?.setConnectionStatus("connecting"),this.devTools?.logWebSocketEvent("Attempting to connect",{url:this.config.serverUrl});try{const e=new URL(this.config.serverUrl),t={};this.config.authToken&&(t.Authorization=`Bearer ${this.config.authToken}`),this.config.authToken&&e.searchParams.set("token",this.config.authToken),this.ws=new WebSocket(e.toString()),this.setupWebSocketHandlers()}catch(e){this.logError("Failed to connect to WebApp MCP server:",e),this.devTools?.logError("websocket","Failed to connect",e),this.scheduleReconnect()}}}else this.log("Connection disabled by configuration")}disconnect(){this._isConnected=!1,this.reconnectTimer&&(clearTimeout(this.reconnectTimer),this.reconnectTimer=null),this.ws&&(this.ws.close(),this.ws=null)}setupWebSocketHandlers(){this.ws&&(this.ws.onopen=()=>{this.log("Connected to WebApp MCP server"),this._isConnected=!0,this.reconnectAttempts=0,this.devTools?.setConnectionStatus("connected"),this.devTools?.logWebSocketEvent("Connected to WebApp MCP server"),this.sendMessage({type:"init",url:window.location.href})},this.ws.onmessage=e=>{try{const t=JSON.parse(e.data);this.devTools?.logWebSocketEvent("Message received",t),this.handleMessage(t)}catch(e){this.logError("Failed to parse WebSocket message:",e),this.devTools?.logError("websocket","Failed to parse message",e)}},this.ws.onerror=e=>{this.logError("WebSocket error:",e),this.devTools?.logError("websocket","WebSocket error",e)},this.ws.onclose=()=>{this.log("Disconnected from WebApp MCP server"),this._isConnected=!1,this.devTools?.setConnectionStatus("disconnected"),this.devTools?.logWebSocketEvent("Disconnected from WebApp MCP server"),this.scheduleReconnect()})}scheduleReconnect(){this.reconnectAttempts>=(this.config.maxReconnectAttempts||10)||this.reconnectTimer||(this.reconnectAttempts++,this.log(`Scheduling reconnect attempt ${this.reconnectAttempts}/${this.config.maxReconnectAttempts}`),this.reconnectTimer=setTimeout(()=>{this.reconnectTimer=null,this.connect()},this.config.reconnectInterval))}sendMessage(e){this.ws&&this.ws.readyState===WebSocket.OPEN?(this.ws.send(JSON.stringify(e)),this.devTools?.logWebSocketEvent("Message sent",e)):this.logError("WebSocket is not connected")}handleMessage(e){const{type:t,requestId:n,tool:o,args:s}=e;if(this.log("[WebApp Client] Received message:",JSON.stringify(e)),"connected"===t)return this.log("WebApp MCP client registered:",e.clientId),void this.devTools?.logMCPEvent("Client registered",{clientId:e.clientId});if("execute_tool"===t)return this.log(`[WebApp Client] Executing tool: ${o} with requestId: ${n}`),this.devTools?.logMCPEvent(`Executing tool: ${o}`,{requestId:n,args:s}),void this.executeToolHandler(n,o,s);if("plugin_extension"===t)return this.log("[WebApp Client] Loading plugin extension"),void this.loadPluginExtension(e.extension);const r=this.messageHandlers.get(t);r&&r(e)}async executeToolHandler(e,t,n){if(this.config.enabledTools&&this.config.enabledTools.length>0&&!this.config.enabledTools.includes(t)){const o=`Tool ${t} is not enabled`;return this.logError(o),this.devTools?.logToolExecution(t,n,!1,o),void this.sendMessage({type:"tool_response",requestId:e,success:!1,error:o})}this.log(`[WebApp Client] Executing tool handler for ${t}`),this.log("[WebApp Client] Tool args:",JSON.stringify(n)),this.devTools?.logToolExecution(t,n,null,"Started");const o=Date.now();try{let s;switch(t){case"dom_query":s=await this.domQuery(n);break;case"dom_get_properties":s=await this.domGetProperties(n);break;case"dom_get_text":s=await this.domGetText(n);break;case"dom_get_html":s=await this.domGetHTML(n);break;case"interaction_click":s=await this.interactionClick(n);break;case"interaction_type":s=await this.interactionType(n);break;case"interaction_scroll":s=await this.interactionScroll(n);break;case"interaction_hover":s=await this.interactionHover(n);break;case"capture_screenshot":s=await this.captureScreenshot(n);break;case"capture_element_screenshot":s=await this.captureElementScreenshot(n);break;case"state_get_variable":s=await this.stateGetVariable(n);break;case"state_local_storage":s=await this.stateLocalStorage(n);break;case"console_get_logs":s=await this.consoleGetLogs(n);break;case"console_save_to_file":s=await this.consoleSaveToFile(n);break;case"dom_manipulate":s=await this.domManipulate(n);break;case"javascript_inject":s=await this.javascriptInject(n);break;case"webapp_list_clients":s=await this.webappListClients(n);break;case"execute_javascript":s=await this.executeJavascript(n);break;default:if(!this.pluginHandlers||!this.pluginHandlers[t])throw new Error(`Unknown tool: ${t}`);s=await this.pluginHandlers[t](n)}const r=Date.now()-o;this.log("[WebApp Client] Tool execution successful, sending response"),this.devTools?.logToolExecution(t,n,!0,"Success",r,s),this.sendMessage({type:"tool_response",requestId:e,result:s,success:!0})}catch(s){const r=Date.now()-o,i=s instanceof Error?s.message:String(s);this.logError("[WebApp Client] Tool execution failed:",s),this.devTools?.logToolExecution(t,n,!1,i,r),this.sendMessage({type:"tool_response",requestId:e,success:!1,error:i})}}loadHtml2Canvas(){if(void 0!==window.html2canvas)return;const e=document.createElement("script");e.src="https://cdnjs.cloudflare.com/ajax/libs/html2canvas/1.4.1/html2canvas.min.js",e.async=!0,e.onload=()=>{this.config.debug&&console.log("[WebAppMCP] html2canvas loaded successfully")},e.onerror=()=>{console.warn("[WebAppMCP] Failed to load html2canvas - screenshots will use fallback mode")},document.head.appendChild(e)}setupConsoleInterception(){const e={log:console.log,info:console.info,warn:console.warn,error:console.error},t=t=>(...n)=>{this.consoleLogs.push({level:t,timestamp:(new Date).toISOString(),args:n.map(e=>{try{return"object"==typeof e?JSON.stringify(e):String(e)}catch{return String(e)}})}),this.consoleLogs.length>1e3&&this.consoleLogs.shift(),e[t](...n)};console.log=t("log"),console.info=t("info"),console.warn=t("warn"),console.error=t("error")}async domQuery(e){const{selector:t,limit:n=10}=e;return{elements:Array.from(document.querySelectorAll(t)).slice(0,n).map(e=>({selector:t,tagName:e.tagName.toLowerCase(),id:e.id||void 0,className:e.className||void 0,text:e.textContent?.trim().substring(0,100),attributes:(()=>{const t={};for(let n=0;n<e.attributes.length;n++){const o=e.attributes[n];t[o.name]=o.value}return t})()}))}}async domGetProperties(e){const{selector:t,properties:n=[]}=e,o=document.querySelector(t);if(!o)throw new Error(`Element not found: ${t}`);const s={};for(const e of n)try{s[e]=o[e]}catch{s[e]=void 0}return s}async domGetText(e){const{selector:t,includeHidden:n=!1}=e,o=document.querySelectorAll(t),s=[];return o.forEach(e=>{if(n||null!==e.offsetParent){const t=e.textContent?.trim();t&&s.push(t)}}),{texts:s}}async domGetHTML(e){const{selector:t,outerHTML:n=!1}=e,o=document.querySelector(t);if(!o)throw new Error(`Element not found: ${t}`);return{html:n?o.outerHTML:o.innerHTML}}async interactionClick(e){const{selector:t,button:n="left"}=e,o=document.querySelector(t);if(!o)throw new Error(`Element not found: ${t}`);const s=new MouseEvent("click",{view:window,bubbles:!0,cancelable:!0,button:"right"===n?2:"middle"===n?1:0});return o.dispatchEvent(s),{success:!0}}async interactionType(e){const{selector:t,text:n,clear:o=!1}=e,s=document.querySelector(t);if(!s)throw new Error(`Element not found: ${t}`);return o&&(s.value=""),s.focus(),s.value+=n,s.dispatchEvent(new Event("input",{bubbles:!0})),s.dispatchEvent(new Event("change",{bubbles:!0})),{success:!0}}async interactionScroll(e){const{selector:t,direction:n,amount:o=100}=e,s=t?document.querySelector(t):window;if(!s&&t)throw new Error(`Element not found: ${t}`);const r={behavior:"smooth"};return"up"===n||"down"===n?r.top="down"===n?o:-o:r.left="right"===n?o:-o,s===window?window.scrollBy(r):s.scrollBy(r),{success:!0}}async interactionHover(e){const{selector:t}=e,n=document.querySelector(t);if(!n)throw new Error(`Element not found: ${t}`);return n.dispatchEvent(new MouseEvent("mouseenter",{view:window,bubbles:!0,cancelable:!0})),n.dispatchEvent(new MouseEvent("mouseover",{view:window,bubbles:!0,cancelable:!0})),{success:!0}}async captureScreenshot(e){const{fullPage:t=!0,format:n="png"}=e;try{const e=t?Math.max(document.documentElement.scrollWidth,document.body.scrollWidth,document.documentElement.offsetWidth,document.body.offsetWidth,document.documentElement.clientWidth):window.innerWidth,o=t?Math.max(document.documentElement.scrollHeight,document.body.scrollHeight,document.documentElement.offsetHeight,document.body.offsetHeight,document.documentElement.clientHeight):window.innerHeight,s=document.createElement("canvas");s.width=e,s.height=o;const r=s.getContext("2d");if(!r)throw new Error("Failed to create canvas context");if(void 0!==window.html2canvas){const s=window.html2canvas,r=await s(document.body,{width:e,height:o,windowWidth:e,windowHeight:o,x:0,y:0,scrollX:t?0:window.scrollX,scrollY:t?0:window.scrollY,useCORS:!0,allowTaint:!0});return{success:!0,dataUrl:r.toDataURL(`image/${n}`),width:e,height:o,message:"Screenshot captured successfully"}}const i=window.getComputedStyle(document.body).backgroundColor||"#ffffff";r.fillStyle=i,r.fillRect(0,0,e,o),r.fillStyle="#666",r.font="14px system-ui, -apple-system, sans-serif",r.textAlign="left";const c=[`Page Title: ${document.title}`,`URL: ${window.location.href}`,`Dimensions: ${e}x${o}`,"","Note: For full screenshot functionality, include html2canvas library:",'<script src="https://cdnjs.cloudflare.com/ajax/libs/html2canvas/1.4.1/html2canvas.min.js"><\/script>'];let a=30;c.forEach(e=>{r.fillText(e,20,a),a+=25}),r.strokeStyle="#ddd",r.lineWidth=2,r.strokeRect(1,1,e-2,o-2);return{success:!0,dataUrl:s.toDataURL(`image/${n}`),width:e,height:o,message:"Screenshot captured (basic mode - add html2canvas for full rendering)"}}catch(e){throw new Error(`Failed to capture screenshot: ${e}`)}}async captureElementScreenshot(e){const{selector:t,format:n="png"}=e;if(!t)throw new Error("Selector is required for element screenshot");const o=document.querySelector(t);if(!o)throw new Error(`Element not found: ${t}`);try{const e=o.getBoundingClientRect();if(void 0!==window.html2canvas){const s=window.html2canvas,r=await s(o,{width:e.width,height:e.height,x:e.left+window.scrollX,y:e.top+window.scrollY,scrollX:-e.left,scrollY:-e.top,useCORS:!0,allowTaint:!0});return{success:!0,dataUrl:r.toDataURL(`image/${n}`),width:e.width,height:e.height,selector:t,message:"Element screenshot captured successfully"}}const s=document.createElement("canvas"),r=s.getContext("2d");if(!r)throw new Error("Failed to create canvas context");s.width=e.width,s.height=e.height;const i=window.getComputedStyle(o),c=i.backgroundColor||"#ffffff";r.fillStyle=c,r.fillRect(0,0,e.width,e.height),r.strokeStyle=i.borderColor||"#ddd",r.lineWidth=parseInt(i.borderWidth)||1,r.strokeRect(0,0,e.width,e.height),r.fillStyle="#666",r.font="12px system-ui, -apple-system, sans-serif",r.textAlign="center";const a=[`Element: ${t}`,`Size: ${Math.round(e.width)}x${Math.round(e.height)}`,`Tag: ${o.tagName.toLowerCase()}`,o.className?`Class: ${o.className}`:"","Add html2canvas for full rendering"].filter(Boolean);let l=Math.max(20,e.height/2-15*a.length/2);a.forEach(t=>{r.fillText(t,e.width/2,l),l+=15});return{success:!0,dataUrl:s.toDataURL(`image/${n}`),width:e.width,height:e.height,selector:t,message:"Element screenshot captured (basic mode - add html2canvas for full rendering)"}}catch(e){throw new Error(`Failed to capture element screenshot: ${e}`)}}async stateGetVariable(e){const{path:t}=e,n=t.split(".");let o=window;for(const e of n){if(!o||"object"!=typeof o||!(e in o))throw new Error(`Variable not found: ${t}`);o=o[e]}return{value:o}}async stateLocalStorage(e){const{operation:t,key:n,value:o}=e;switch(t){case"get":return{value:localStorage.getItem(n)};case"set":return localStorage.setItem(n,o),{success:!0};case"remove":return localStorage.removeItem(n),{success:!0};case"clear":return localStorage.clear(),{success:!0};case"getAll":const e={};for(let t=0;t<localStorage.length;t++){const n=localStorage.key(t);n&&(e[n]=localStorage.getItem(n)||"")}return{items:e};default:throw new Error(`Unknown localStorage operation: ${t}`)}}async consoleGetLogs(e){const{level:t="all",limit:n=100,regex:o}=e;let s=this.consoleLogs;if("all"!==t&&(s=s.filter(e=>e.level===t)),o)try{const e=new RegExp(o);s=s.filter(t=>{const n=t.args.map(e=>{try{return"object"==typeof e?JSON.stringify(e):String(e)}catch{return String(e)}}).join(" ");return e.test(n)})}catch(e){throw new Error(`Invalid regex pattern: ${o}`)}return{logs:s.slice(-n)}}async consoleSaveToFile(e){const{level:t="all",format:n="json"}=e;let o=this.consoleLogs;return"all"!==t&&(o=o.filter(e=>e.level===t)),{logs:o,format:n}}async domManipulate(e){const{action:t,selector:n,value:o,attribute:s,property:r}=e;if(!n)throw new Error("Selector is required for DOM manipulation");const i=document.querySelector(n);if(!i)throw new Error(`Element not found: ${n}`);switch(t){case"setAttribute":if(!s||void 0===o)throw new Error("Attribute name and value are required for setAttribute");return i.setAttribute(s,o),{success:!0,message:`Set attribute ${s}="${o}" on ${n}`};case"removeAttribute":if(!s)throw new Error("Attribute name is required for removeAttribute");return i.removeAttribute(s),{success:!0,message:`Removed attribute ${s} from ${n}`};case"setProperty":if(!r||void 0===o)throw new Error("Property name and value are required for setProperty");return i[r]=o,{success:!0,message:`Set property ${r}=${o} on ${n}`};case"addClass":if(!o)throw new Error("Class name is required for addClass");return i.classList.add(o),{success:!0,message:`Added class "${o}" to ${n}`};case"removeClass":if(!o)throw new Error("Class name is required for removeClass");return i.classList.remove(o),{success:!0,message:`Removed class "${o}" from ${n}`};case"setInnerHTML":if(void 0===o)throw new Error("HTML content is required for setInnerHTML");return i.innerHTML=o,{success:!0,message:`Set innerHTML on ${n}`};case"setTextContent":if(void 0===o)throw new Error("Text content is required for setTextContent");return i.textContent=o,{success:!0,message:`Set textContent on ${n}`};case"setStyle":if(!r||void 0===o)throw new Error("Style property and value are required for setStyle");return i.style[r]=o,{success:!0,message:`Set style ${r}=${o} on ${n}`};case"remove":return i.remove(),{success:!0,message:`Removed element ${n}`};default:throw new Error(`Unknown DOM manipulation action: ${t}`)}}async javascriptInject(args){const{code:code,returnValue:returnValue=!1}=args;if(!code)throw new Error("JavaScript code is required");try{let result;if(returnValue)result=eval(code);else{const e=new Function(code);result=e()}return{success:!0,result:void 0!==result?result:null,message:"JavaScript executed successfully"}}catch(e){throw new Error(`JavaScript execution failed: ${e instanceof Error?e.message:"Unknown error"}`)}}async webappListClients(e){return{clients:[{id:"browser-client",type:"browser",url:window.location.href,userAgent:navigator.userAgent,connected:this.isConnected,timestamp:(new Date).toISOString()}]}}async executeJavascript(args){const{code:code,returnValue:returnValue=!1,async:async=!1}=args;if(!code)throw new Error("JavaScript code is required");try{let result;return async?result=returnValue?await eval(`(async () => { return ${code}; })()`):await eval(`(async () => { ${code}; })()`):returnValue?result=eval(`(() => { return ${code}; })()`):(eval(code),result=void 0),{success:!0,result:void 0!==result?result:null,message:"JavaScript executed successfully",executionTime:(new Date).toISOString()}}catch(e){throw new Error(`JavaScript execution failed: ${e instanceof Error?e.message:"Unknown error"}`)}}loadPluginExtension(extension){try{const pluginCode=`\n (function() {\n ${extension.code}\n })();\n `;eval(pluginCode),this.log("[WebApp Client] Plugin extension loaded successfully")}catch(e){this.logError("[WebApp Client] Failed to load plugin extension:",e)}}registerPluginHandler(e,t){this.pluginHandlers[e]=t,this.log(`[WebApp Client] Registered plugin handler for tool: ${e}`)}}"undefined"!=typeof window&&(window.WebAppMCP={WebAppMCPClient:WebAppMCPClient}),"undefined"!=typeof window&&(window.WebAppMCPClient=WebAppMCPClient,window.WebAppMCP={WebAppMCPClient:WebAppMCPClient}),exports.WebAppMCPClient=WebAppMCPClient});
2
2
  //# sourceMappingURL=browser.min.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"browser.min.js","sources":["../src/client/devtools.ts","../src/client/index.ts","../src/browser.ts"],"sourcesContent":[null,null,null],"names":["MCPDevTools","constructor","config","this","container","isExpanded","logs","maxLogs","connectionStatus","position","theme","addStyles","createDevToolsUI","setupEventListeners","document","createElement","id","className","innerHTML","body","appendChild","style","textContent","head","indicator","querySelector","closeBtn","clearBtn","themeBtn","addEventListener","togglePanel","clearLogs","toggleTheme","panel","display","setConnectionStatus","status","dot","wsStatus","serverStatus","statusText","charAt","toUpperCase","slice","addLog","level","source","message","data","log","timestamp","Date","toISOString","unshift","length","renderLogs","logsContainer","map","time","toLocaleTimeString","details","detailsHtml","args","safeStringify","error","result","resultStr","substring","dataStr","join","autoScrollCheckbox","checked","scrollTop","obj","String","seen","Set","JSON","stringify","key","value","has","add","Error","logWebSocketEvent","event","logMCPEvent","logError","logToolExecution","toolName","success","executionTime","tool","undefined","logMessage","WebAppMCPClient","isConnected","_isConnected","ws","readyState","WebSocket","OPEN","reconnectAttempts","messageHandlers","Map","consoleLogs","devTools","pluginHandlers","reconnectInterval","maxReconnectAttempts","enableDevTools","debug","enableConnection","interceptConsole","enabledTools","devToolsPosition","devToolsTheme","setupConsoleInterception","loadHtml2Canvas","console","connect","url","serverUrl","URL","headers","authToken","searchParams","set","toString","setupWebSocketHandlers","scheduleReconnect","disconnect","reconnectTimer","clearTimeout","close","onopen","sendMessage","type","window","location","href","onmessage","parse","handleMessage","onerror","onclose","setTimeout","send","requestId","clientId","executeToolHandler","loadPluginExtension","extension","handler","get","includes","startTime","now","domQuery","domGetProperties","domGetText","domGetHTML","interactionClick","interactionType","interactionScroll","interactionHover","captureScreenshot","captureElementScreenshot","stateGetVariable","stateLocalStorage","consoleGetLogs","domManipulate","javascriptInject","webappListClients","executeJavascript","errorMessage","html2canvas","script","src","async","onload","warn","originalConsole","info","interceptor","push","arg","shift","selector","limit","elements","Array","from","querySelectorAll","el","tagName","toLowerCase","text","trim","attributes","attrs","i","attr","name","properties","element","prop","includeHidden","texts","forEach","offsetParent","outerHTML","html","button","MouseEvent","view","bubbles","cancelable","dispatchEvent","clear","focus","Event","direction","amount","scrollOptions","behavior","top","left","scrollBy","fullPage","format","width","Math","max","documentElement","scrollWidth","offsetWidth","clientWidth","innerWidth","height","scrollHeight","offsetHeight","clientHeight","innerHeight","canvas","ctx","getContext","capturedCanvas","windowWidth","windowHeight","x","y","scrollX","scrollY","useCORS","allowTaint","dataUrl","toDataURL","bgColor","getComputedStyle","backgroundColor","fillStyle","fillRect","font","textAlign","title","line","fillText","strokeStyle","lineWidth","strokeRect","rect","getBoundingClientRect","styles","borderColor","parseInt","borderWidth","lines","round","filter","Boolean","path","parts","split","current","part","operation","localStorage","getItem","setItem","removeItem","items","k","action","attribute","property","setAttribute","removeAttribute","classList","remove","code","returnValue","eval","func","Function","clients","userAgent","navigator","connected","pluginCode","registerPluginHandler","WebAppMCP"],"mappings":"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"}
1
+ {"version":3,"file":"browser.min.js","sources":["../src/client/devtools.ts","../src/client/index.ts","../src/browser.ts"],"sourcesContent":[null,null,null],"names":["MCPDevTools","constructor","config","this","container","isExpanded","logs","maxLogs","connectionStatus","position","theme","addStyles","createDevToolsUI","setupEventListeners","document","createElement","id","className","innerHTML","body","appendChild","style","textContent","head","indicator","querySelector","closeBtn","clearBtn","themeBtn","addEventListener","togglePanel","clearLogs","toggleTheme","panel","display","setConnectionStatus","status","dot","wsStatus","serverStatus","statusText","charAt","toUpperCase","slice","addLog","level","source","message","data","log","timestamp","Date","toISOString","unshift","length","renderLogs","logsContainer","map","time","toLocaleTimeString","details","detailsHtml","args","safeStringify","error","result","resultStr","substring","dataStr","join","autoScrollCheckbox","checked","scrollTop","obj","String","seen","Set","JSON","stringify","key","value","has","add","Error","logWebSocketEvent","event","logMCPEvent","logError","logToolExecution","toolName","success","executionTime","tool","undefined","logMessage","WebAppMCPClient","isConnected","_isConnected","ws","readyState","WebSocket","OPEN","reconnectAttempts","messageHandlers","Map","consoleLogs","devTools","pluginHandlers","reconnectInterval","maxReconnectAttempts","enableDevTools","debug","enableConnection","interceptConsole","enabledTools","devToolsPosition","devToolsTheme","setupConsoleInterception","loadHtml2Canvas","console","connect","url","serverUrl","URL","headers","authToken","searchParams","set","toString","setupWebSocketHandlers","scheduleReconnect","disconnect","reconnectTimer","clearTimeout","close","onopen","sendMessage","type","window","location","href","onmessage","parse","handleMessage","onerror","onclose","setTimeout","send","requestId","clientId","executeToolHandler","loadPluginExtension","extension","handler","get","includes","startTime","now","domQuery","domGetProperties","domGetText","domGetHTML","interactionClick","interactionType","interactionScroll","interactionHover","captureScreenshot","captureElementScreenshot","stateGetVariable","stateLocalStorage","consoleGetLogs","consoleSaveToFile","domManipulate","javascriptInject","webappListClients","executeJavascript","errorMessage","html2canvas","script","src","async","onload","warn","originalConsole","info","interceptor","push","arg","shift","selector","limit","elements","Array","from","querySelectorAll","el","tagName","toLowerCase","text","trim","attributes","attrs","i","attr","name","properties","element","prop","includeHidden","texts","forEach","offsetParent","outerHTML","html","button","MouseEvent","view","bubbles","cancelable","dispatchEvent","clear","focus","Event","direction","amount","scrollOptions","behavior","top","left","scrollBy","fullPage","format","width","Math","max","documentElement","scrollWidth","offsetWidth","clientWidth","innerWidth","height","scrollHeight","offsetHeight","clientHeight","innerHeight","canvas","ctx","getContext","capturedCanvas","windowWidth","windowHeight","x","y","scrollX","scrollY","useCORS","allowTaint","dataUrl","toDataURL","bgColor","getComputedStyle","backgroundColor","fillStyle","fillRect","font","textAlign","title","line","fillText","strokeStyle","lineWidth","strokeRect","rect","getBoundingClientRect","styles","borderColor","parseInt","borderWidth","lines","round","filter","Boolean","path","parts","split","current","part","operation","localStorage","getItem","setItem","removeItem","items","k","regex","pattern","RegExp","test","e","action","attribute","property","setAttribute","removeAttribute","classList","remove","code","returnValue","eval","func","Function","clients","userAgent","navigator","connected","pluginCode","registerPluginHandler","WebAppMCP"],"mappings":"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"}
@@ -47,6 +47,7 @@ declare class WebAppMCPClient {
47
47
  private stateGetVariable;
48
48
  private stateLocalStorage;
49
49
  private consoleGetLogs;
50
+ private consoleSaveToFile;
50
51
  private domManipulate;
51
52
  private javascriptInject;
52
53
  private webappListClients;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"AAEA,UAAU,qBAAqB;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,gBAAgB,CAAC,EAAE,cAAc,GAAG,aAAa,GAAG,WAAW,GAAG,UAAU,CAAC;IAC7E,aAAa,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;CAClC;AAED,cAAM,eAAe;IACnB,OAAO,CAAC,EAAE,CAA0B;IACpC,OAAO,CAAC,MAAM,CAAwB;IACtC,OAAO,CAAC,iBAAiB,CAAK;IAC9B,OAAO,CAAC,cAAc,CAAM;IAC5B,OAAO,CAAC,eAAe,CAA0C;IACjE,OAAO,CAAC,WAAW,CAAa;IAChC,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,QAAQ,CAA4B;IAC5C,OAAO,CAAC,cAAc,CAAmD;IAEzE,IAAI,WAAW,IAAI,OAAO,CAEzB;gBAEW,MAAM,EAAE,qBAAqB;IA+BzC,OAAO,CAAC,GAAG;IAMX,OAAO,CAAC,QAAQ;IAKhB,OAAO,IAAI,IAAI;IAqCf,UAAU,IAAI,IAAI;IAYlB,OAAO,CAAC,sBAAsB;IAwC9B,OAAO,CAAC,iBAAiB;IAmBzB,OAAO,CAAC,WAAW;IASnB,OAAO,CAAC,aAAa;YA6BP,kBAAkB;IAiHhC,OAAO,CAAC,eAAe;IAsBvB,OAAO,CAAC,wBAAwB;YAoClB,QAAQ;YAuBR,gBAAgB;YAoBhB,UAAU;YAeV,UAAU;YAaV,gBAAgB;YAmBhB,eAAe;YAoBf,iBAAiB;YA2BjB,gBAAgB;YA2BhB,iBAAiB;YAyGjB,wBAAwB;YAmGxB,gBAAgB;YAgBhB,iBAAiB;YA2BjB,cAAc;YAWd,aAAa;YA8Eb,gBAAgB;YA4BhB,iBAAiB;YAcjB,iBAAiB;IAsC/B,OAAO,CAAC,mBAAmB;IAe3B,qBAAqB,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,OAAO,CAAC,GAAG,CAAC,GAAG,IAAI;CAIpF;AAGD,OAAO,EAAE,eAAe,EAAE,CAAC;AAG3B,eAAe,eAAe,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"AAEA,UAAU,qBAAqB;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,gBAAgB,CAAC,EAAE,cAAc,GAAG,aAAa,GAAG,WAAW,GAAG,UAAU,CAAC;IAC7E,aAAa,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;CAClC;AAED,cAAM,eAAe;IACnB,OAAO,CAAC,EAAE,CAA0B;IACpC,OAAO,CAAC,MAAM,CAAwB;IACtC,OAAO,CAAC,iBAAiB,CAAK;IAC9B,OAAO,CAAC,cAAc,CAAM;IAC5B,OAAO,CAAC,eAAe,CAA0C;IACjE,OAAO,CAAC,WAAW,CAAa;IAChC,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,QAAQ,CAA4B;IAC5C,OAAO,CAAC,cAAc,CAAmD;IAEzE,IAAI,WAAW,IAAI,OAAO,CAEzB;gBAEW,MAAM,EAAE,qBAAqB;IA+BzC,OAAO,CAAC,GAAG;IAMX,OAAO,CAAC,QAAQ;IAKhB,OAAO,IAAI,IAAI;IAqCf,UAAU,IAAI,IAAI;IAYlB,OAAO,CAAC,sBAAsB;IAwC9B,OAAO,CAAC,iBAAiB;IAmBzB,OAAO,CAAC,WAAW;IASnB,OAAO,CAAC,aAAa;YA6BP,kBAAkB;IAoHhC,OAAO,CAAC,eAAe;IAsBvB,OAAO,CAAC,wBAAwB;YAoClB,QAAQ;YAuBR,gBAAgB;YAoBhB,UAAU;YAeV,UAAU;YAaV,gBAAgB;YAmBhB,eAAe;YAoBf,iBAAiB;YA2BjB,gBAAgB;YA2BhB,iBAAiB;YAyGjB,wBAAwB;YAmGxB,gBAAgB;YAgBhB,iBAAiB;YA2BjB,cAAc;YA+Bd,iBAAiB;YAejB,aAAa;YA8Eb,gBAAgB;YA4BhB,iBAAiB;YAcjB,iBAAiB;IAsC/B,OAAO,CAAC,mBAAmB;IAe3B,qBAAqB,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,OAAO,CAAC,GAAG,CAAC,GAAG,IAAI;CAIpF;AAGD,OAAO,EAAE,eAAe,EAAE,CAAC;AAG3B,eAAe,eAAe,CAAC"}
@@ -235,6 +235,9 @@ class WebAppMCPClient {
235
235
  case 'console_get_logs':
236
236
  result = await this.consoleGetLogs(args);
237
237
  break;
238
+ case 'console_save_to_file':
239
+ result = await this.consoleSaveToFile(args);
240
+ break;
238
241
  case 'dom_manipulate':
239
242
  result = await this.domManipulate(args);
240
243
  break;
@@ -663,13 +666,46 @@ class WebAppMCPClient {
663
666
  }
664
667
  }
665
668
  async consoleGetLogs(args) {
666
- const { level = 'all', limit = 100 } = args;
669
+ const { level = 'all', limit = 100, regex } = args;
667
670
  let logs = this.consoleLogs;
668
671
  if (level !== 'all') {
669
672
  logs = logs.filter((log) => log.level === level);
670
673
  }
674
+ // Apply regex filtering if provided
675
+ if (regex) {
676
+ try {
677
+ const pattern = new RegExp(regex);
678
+ logs = logs.filter((log) => {
679
+ // Concatenate all log arguments into a single string for matching
680
+ const logMessage = log.args.map((arg) => {
681
+ try {
682
+ return typeof arg === 'object' ? JSON.stringify(arg) : String(arg);
683
+ }
684
+ catch {
685
+ return String(arg);
686
+ }
687
+ }).join(' ');
688
+ return pattern.test(logMessage);
689
+ });
690
+ }
691
+ catch (e) {
692
+ throw new Error(`Invalid regex pattern: ${regex}`);
693
+ }
694
+ }
671
695
  return { logs: logs.slice(-limit) };
672
696
  }
697
+ async consoleSaveToFile(args) {
698
+ const { level = 'all', format = 'json' } = args;
699
+ let logs = this.consoleLogs;
700
+ if (level !== 'all') {
701
+ logs = logs.filter((log) => log.level === level);
702
+ }
703
+ // Return logs with format for server-side processing
704
+ return {
705
+ logs: logs,
706
+ format: format
707
+ };
708
+ }
673
709
  async domManipulate(args) {
674
710
  const { action, selector, value, attribute, property } = args;
675
711
  if (!selector) {