browser-debug-mcp-bridge 1.9.0 → 1.11.0
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 +271 -188
- package/apps/mcp-server/dist/db/automation-repository.js +199 -0
- package/apps/mcp-server/dist/db/automation-repository.js.map +1 -0
- package/apps/mcp-server/dist/db/connection.js +1 -5
- package/apps/mcp-server/dist/db/connection.js.map +1 -1
- package/apps/mcp-server/dist/db/events-repository.js +79 -10
- package/apps/mcp-server/dist/db/events-repository.js.map +1 -1
- package/apps/mcp-server/dist/db/index.js +2 -0
- package/apps/mcp-server/dist/db/index.js.map +1 -1
- package/apps/mcp-server/dist/db/migrations.js +493 -0
- package/apps/mcp-server/dist/db/migrations.js.map +1 -1
- package/apps/mcp-server/dist/db/schema.js +192 -1
- package/apps/mcp-server/dist/db/schema.js.map +1 -1
- package/apps/mcp-server/dist/document-response-rewriter.js +196 -0
- package/apps/mcp-server/dist/document-response-rewriter.js.map +1 -0
- package/apps/mcp-server/dist/json-rewrite.js +189 -0
- package/apps/mcp-server/dist/json-rewrite.js.map +1 -0
- package/apps/mcp-server/dist/main.js +375 -4
- package/apps/mcp-server/dist/main.js.map +1 -1
- package/apps/mcp-server/dist/mcp/server.js +4168 -310
- package/apps/mcp-server/dist/mcp/server.js.map +1 -1
- package/apps/mcp-server/dist/mcp-bridge.js +46 -3
- package/apps/mcp-server/dist/mcp-bridge.js.map +1 -1
- package/apps/mcp-server/dist/next-asset-mapper.js +701 -0
- package/apps/mcp-server/dist/next-asset-mapper.js.map +1 -0
- package/apps/mcp-server/dist/next-source-override-planner.js +601 -0
- package/apps/mcp-server/dist/next-source-override-planner.js.map +1 -0
- package/apps/mcp-server/dist/override-audit-contract.js +51 -0
- package/apps/mcp-server/dist/override-audit-contract.js.map +1 -0
- package/apps/mcp-server/dist/override-audit.js +740 -0
- package/apps/mcp-server/dist/override-audit.js.map +1 -0
- package/apps/mcp-server/dist/override-capabilities.js +136 -0
- package/apps/mcp-server/dist/override-capabilities.js.map +1 -0
- package/apps/mcp-server/dist/override-observed-assets.js +179 -0
- package/apps/mcp-server/dist/override-observed-assets.js.map +1 -0
- package/apps/mcp-server/dist/override-poc.js +336 -0
- package/apps/mcp-server/dist/override-poc.js.map +1 -0
- package/apps/mcp-server/dist/override-profile-generator.js +403 -0
- package/apps/mcp-server/dist/override-profile-generator.js.map +1 -0
- package/apps/mcp-server/dist/override-response-planner.js +557 -0
- package/apps/mcp-server/dist/override-response-planner.js.map +1 -0
- package/apps/mcp-server/dist/override-rule-types.js +32 -0
- package/apps/mcp-server/dist/override-rule-types.js.map +1 -0
- package/apps/mcp-server/dist/retention.js +4 -3
- package/apps/mcp-server/dist/retention.js.map +1 -1
- package/apps/mcp-server/dist/rsc-flight-patch-safety.js +269 -0
- package/apps/mcp-server/dist/rsc-flight-patch-safety.js.map +1 -0
- package/apps/mcp-server/dist/runtime-paths.js +33 -0
- package/apps/mcp-server/dist/runtime-paths.js.map +1 -0
- package/apps/mcp-server/dist/websocket/messages.js +13 -0
- package/apps/mcp-server/dist/websocket/messages.js.map +1 -1
- package/apps/mcp-server/dist/websocket/websocket-server.js +10 -0
- package/apps/mcp-server/dist/websocket/websocket-server.js.map +1 -1
- package/apps/mcp-server/package.json +1 -0
- package/package.json +16 -1
- package/scripts/mcp-start.cjs +201 -11
|
@@ -1,8 +1,11 @@
|
|
|
1
1
|
import { pathToFileURL } from 'url';
|
|
2
2
|
import { createMCPServer } from './mcp/server.js';
|
|
3
|
+
import { initializeDatabase, getConnection } from './db/index.js';
|
|
3
4
|
let stopServerFn = null;
|
|
4
5
|
let getWebSocketManager = null;
|
|
5
6
|
let isShuttingDown = false;
|
|
7
|
+
const ATTACH_EXISTING_BRIDGE = process.env.MCP_ATTACH_EXISTING_BRIDGE === '1';
|
|
8
|
+
const BRIDGE_HTTP_BASE_URL = process.env.MCP_ATTACH_HTTP_BASE_URL || 'http://127.0.0.1:8065';
|
|
6
9
|
function ensureWebSocketManager() {
|
|
7
10
|
if (!getWebSocketManager) {
|
|
8
11
|
throw new Error('WebSocket manager resolver is not initialized yet.');
|
|
@@ -20,6 +23,17 @@ async function bootstrapMainRuntime() {
|
|
|
20
23
|
stopServerFn = mainRuntime.stopServer;
|
|
21
24
|
getWebSocketManager = () => mainRuntime.wsManager;
|
|
22
25
|
}
|
|
26
|
+
async function ensureAttachableRuntime() {
|
|
27
|
+
initializeDatabase(getConnection().db);
|
|
28
|
+
}
|
|
29
|
+
async function fetchBridgeJson(pathname, init) {
|
|
30
|
+
const response = await fetch(`${BRIDGE_HTTP_BASE_URL}${pathname}`, init);
|
|
31
|
+
const payload = await response.json();
|
|
32
|
+
if (!response.ok || payload.ok === false) {
|
|
33
|
+
throw new Error(typeof payload.error === 'string' ? payload.error : `Bridge request failed: ${pathname}`);
|
|
34
|
+
}
|
|
35
|
+
return payload;
|
|
36
|
+
}
|
|
23
37
|
function writeStderr(message) {
|
|
24
38
|
process.stderr.write(`${message}\n`);
|
|
25
39
|
}
|
|
@@ -48,15 +62,39 @@ function registerLifecycleGuards() {
|
|
|
48
62
|
process.on('disconnect', () => shutdownFromHostDisconnect('parent-disconnect'));
|
|
49
63
|
}
|
|
50
64
|
async function startBridge() {
|
|
51
|
-
|
|
65
|
+
if (ATTACH_EXISTING_BRIDGE) {
|
|
66
|
+
await ensureAttachableRuntime();
|
|
67
|
+
writeStderr(`[MCPServer][Bridge] Attaching MCP stdio to existing bridge runtime at ${BRIDGE_HTTP_BASE_URL}.`);
|
|
68
|
+
}
|
|
69
|
+
else {
|
|
70
|
+
await bootstrapMainRuntime();
|
|
71
|
+
}
|
|
52
72
|
const runtime = createMCPServer({}, {
|
|
53
73
|
captureClient: {
|
|
54
74
|
execute: async (sessionId, command, payload, timeoutMs) => {
|
|
75
|
+
if (ATTACH_EXISTING_BRIDGE) {
|
|
76
|
+
const response = await fetchBridgeJson('/internal/capture-command', {
|
|
77
|
+
method: 'POST',
|
|
78
|
+
headers: { 'Content-Type': 'application/json' },
|
|
79
|
+
body: JSON.stringify({ sessionId, command, payload, timeoutMs }),
|
|
80
|
+
});
|
|
81
|
+
return {
|
|
82
|
+
ok: response.ok === true,
|
|
83
|
+
payload: response.payload && typeof response.payload === 'object' && !Array.isArray(response.payload)
|
|
84
|
+
? response.payload
|
|
85
|
+
: {},
|
|
86
|
+
truncated: response.truncated === true,
|
|
87
|
+
error: typeof response.error === 'string' ? response.error : undefined,
|
|
88
|
+
};
|
|
89
|
+
}
|
|
55
90
|
const manager = ensureWebSocketManager();
|
|
56
91
|
return manager.sendCaptureCommand(sessionId, command, payload, timeoutMs);
|
|
57
92
|
},
|
|
58
93
|
},
|
|
59
94
|
getSessionConnectionState: (sessionId) => {
|
|
95
|
+
if (ATTACH_EXISTING_BRIDGE) {
|
|
96
|
+
return undefined;
|
|
97
|
+
}
|
|
60
98
|
const manager = ensureWebSocketManager();
|
|
61
99
|
const state = manager.getSessionConnectionState(sessionId);
|
|
62
100
|
if (!state) {
|
|
@@ -72,8 +110,13 @@ async function startBridge() {
|
|
|
72
110
|
},
|
|
73
111
|
});
|
|
74
112
|
await runtime.start();
|
|
75
|
-
|
|
76
|
-
|
|
113
|
+
if (ATTACH_EXISTING_BRIDGE) {
|
|
114
|
+
writeStderr('[MCPServer][Bridge] Ready: MCP stdio attached to existing HTTP/WebSocket ingest runtime.');
|
|
115
|
+
}
|
|
116
|
+
else {
|
|
117
|
+
writeStderr('[MCPServer][Bridge] Ready: MCP stdio connected and HTTP/WebSocket ingest is active.');
|
|
118
|
+
writeStderr('[MCPServer][Bridge] Health check: http://127.0.0.1:8065/health');
|
|
119
|
+
}
|
|
77
120
|
writeStderr('[MCPServer][Bridge] Next steps:');
|
|
78
121
|
writeStderr('[MCPServer][Bridge] 1) Start a session in the Chrome extension');
|
|
79
122
|
writeStderr('[MCPServer][Bridge] 2) Ask your MCP client to call list_sessions');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp-bridge.js","sourceRoot":"","sources":["../src/mcp-bridge.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AACpC,OAAO,EAAE,eAAe,EAAuB,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"mcp-bridge.js","sourceRoot":"","sources":["../src/mcp-bridge.ts"],"names":[],"mappings":"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"}
|