@opentabs-dev/mcp-server 0.0.51 → 0.0.53
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/dist/browser-tools/analyze-site/index.d.ts.map +1 -1
- package/dist/browser-tools/analyze-site/index.js +25 -22
- package/dist/browser-tools/analyze-site/index.js.map +1 -1
- package/dist/config.d.ts +2 -2
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +9 -4
- package/dist/config.js.map +1 -1
- package/dist/dev-proxy.d.ts +8 -1
- package/dist/dev-proxy.d.ts.map +1 -1
- package/dist/dev-proxy.js +398 -5
- package/dist/dev-proxy.js.map +1 -1
- package/dist/extension-handlers.d.ts +8 -3
- package/dist/extension-handlers.d.ts.map +1 -1
- package/dist/extension-handlers.js +32 -13
- package/dist/extension-handlers.js.map +1 -1
- package/dist/extension-protocol.d.ts +7 -1
- package/dist/extension-protocol.d.ts.map +1 -1
- package/dist/extension-protocol.js +31 -9
- package/dist/extension-protocol.js.map +1 -1
- package/dist/http-routes.d.ts.map +1 -1
- package/dist/http-routes.js +19 -4
- package/dist/http-routes.js.map +1 -1
- package/dist/permissions.d.ts +1 -1
- package/dist/permissions.js +3 -3
- package/dist/permissions.js.map +1 -1
- package/dist/plugin-management.js +2 -2
- package/dist/plugin-management.js.map +1 -1
- package/dist/reload.js +3 -3
- package/dist/reload.js.map +1 -1
- package/dist/skip-permissions.d.ts +18 -0
- package/dist/skip-permissions.d.ts.map +1 -0
- package/dist/skip-permissions.js +22 -0
- package/dist/skip-permissions.js.map +1 -0
- package/dist/state.d.ts +2 -2
- package/dist/state.d.ts.map +1 -1
- package/dist/state.js +1 -1
- package/dist/state.js.map +1 -1
- package/package.json +1 -1
package/dist/dev-proxy.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Dev proxy for hot reload.
|
|
2
|
+
* Dev proxy for hot reload with MCP session persistence.
|
|
3
3
|
*
|
|
4
4
|
* Listens on the configured port. Forks the MCP server (dist/index.js) on
|
|
5
5
|
* an ephemeral port (PORT=0). The worker reports its actual port to the proxy
|
|
@@ -7,10 +7,18 @@
|
|
|
7
7
|
* current worker. Restarts the worker when .js files in the dist/ directory
|
|
8
8
|
* change (debounced). Incoming HTTP requests are buffered during restarts and
|
|
9
9
|
* drained once the new worker is ready (up to 5 seconds, then 503).
|
|
10
|
+
*
|
|
11
|
+
* MCP session bridging: The proxy assigns its own stable session ID to each
|
|
12
|
+
* MCP client. When a worker restarts, the proxy re-initializes the MCP session
|
|
13
|
+
* with the new worker on behalf of connected clients, mapping the stable proxy
|
|
14
|
+
* session ID to the new worker session ID. SSE GET streams are held open across
|
|
15
|
+
* worker restarts — the proxy reconnects the upstream SSE stream to the new
|
|
16
|
+
* worker and resumes forwarding events to the client.
|
|
10
17
|
*/
|
|
11
18
|
import { DEFAULT_HOST, DEFAULT_PORT } from '@opentabs-dev/shared';
|
|
12
19
|
import { WebSocket, WebSocketServer } from 'ws';
|
|
13
20
|
import { fork } from 'node:child_process';
|
|
21
|
+
import { randomUUID } from 'node:crypto';
|
|
14
22
|
import { watch } from 'node:fs';
|
|
15
23
|
import { createServer, request as httpRequest } from 'node:http';
|
|
16
24
|
import { resolve } from 'node:path';
|
|
@@ -24,11 +32,107 @@ let worker = null;
|
|
|
24
32
|
let debounceTimer = null;
|
|
25
33
|
const pending = [];
|
|
26
34
|
let workerStartCount = 0;
|
|
35
|
+
/** Map from proxy session ID → session state. */
|
|
36
|
+
const sessions = new Map();
|
|
37
|
+
/** Reverse map from worker session ID → proxy session ID for fast lookup. */
|
|
38
|
+
const workerToProxySession = new Map();
|
|
27
39
|
/** Drain all buffered requests now that the worker is ready. */
|
|
28
40
|
const drainPending = () => {
|
|
29
41
|
for (const fn of pending.splice(0))
|
|
30
42
|
fn();
|
|
31
43
|
};
|
|
44
|
+
/**
|
|
45
|
+
* Re-initialize all tracked MCP sessions with the new worker.
|
|
46
|
+
* Sends the original initialize request + notifications/initialized to the
|
|
47
|
+
* new worker for each session, capturing the new worker session IDs.
|
|
48
|
+
* Then reconnects SSE streams.
|
|
49
|
+
*/
|
|
50
|
+
const reinitializeSessions = async (port) => {
|
|
51
|
+
const sessionsToReinit = [...sessions.values()];
|
|
52
|
+
if (sessionsToReinit.length === 0)
|
|
53
|
+
return;
|
|
54
|
+
console.log(`[proxy] Re-initializing ${sessionsToReinit.length} MCP session(s) with new worker`);
|
|
55
|
+
for (const session of sessionsToReinit) {
|
|
56
|
+
try {
|
|
57
|
+
// Remove old worker session mapping
|
|
58
|
+
workerToProxySession.delete(session.workerSessionId);
|
|
59
|
+
// Send the original initialize request to the new worker
|
|
60
|
+
const headers = {
|
|
61
|
+
'Content-Type': 'application/json',
|
|
62
|
+
Accept: 'application/json, text/event-stream',
|
|
63
|
+
};
|
|
64
|
+
if (session.authHeader) {
|
|
65
|
+
headers['Authorization'] = session.authHeader;
|
|
66
|
+
}
|
|
67
|
+
const initRes = await fetch(`http://127.0.0.1:${port}/mcp`, {
|
|
68
|
+
method: 'POST',
|
|
69
|
+
headers,
|
|
70
|
+
body: JSON.stringify(session.initializeBody),
|
|
71
|
+
signal: AbortSignal.timeout(READY_TIMEOUT_MS),
|
|
72
|
+
});
|
|
73
|
+
if (!initRes.ok) {
|
|
74
|
+
const text = await initRes.text().catch(() => '');
|
|
75
|
+
console.error(`[proxy] Failed to re-initialize session ${session.proxySessionId}: ${initRes.status} ${text}`);
|
|
76
|
+
cleanupSession(session.proxySessionId);
|
|
77
|
+
continue;
|
|
78
|
+
}
|
|
79
|
+
const newWorkerSessionId = initRes.headers.get('mcp-session-id');
|
|
80
|
+
if (!newWorkerSessionId) {
|
|
81
|
+
console.error(`[proxy] Re-initialize did not return session ID for ${session.proxySessionId}`);
|
|
82
|
+
cleanupSession(session.proxySessionId);
|
|
83
|
+
continue;
|
|
84
|
+
}
|
|
85
|
+
// Update session mapping
|
|
86
|
+
session.workerSessionId = newWorkerSessionId;
|
|
87
|
+
workerToProxySession.set(newWorkerSessionId, session.proxySessionId);
|
|
88
|
+
// Consume the initialize response body
|
|
89
|
+
await initRes.text().catch(() => { });
|
|
90
|
+
// Send notifications/initialized
|
|
91
|
+
const notifHeaders = {
|
|
92
|
+
'Content-Type': 'application/json',
|
|
93
|
+
Accept: 'application/json, text/event-stream',
|
|
94
|
+
'mcp-session-id': newWorkerSessionId,
|
|
95
|
+
};
|
|
96
|
+
if (session.authHeader) {
|
|
97
|
+
notifHeaders['Authorization'] = session.authHeader;
|
|
98
|
+
}
|
|
99
|
+
await fetch(`http://127.0.0.1:${port}/mcp`, {
|
|
100
|
+
method: 'POST',
|
|
101
|
+
headers: notifHeaders,
|
|
102
|
+
body: JSON.stringify({ jsonrpc: '2.0', method: 'notifications/initialized' }),
|
|
103
|
+
signal: AbortSignal.timeout(READY_TIMEOUT_MS),
|
|
104
|
+
}).catch(() => { });
|
|
105
|
+
console.log(`[proxy] Session ${session.proxySessionId} re-initialized (worker session: ${newWorkerSessionId})`);
|
|
106
|
+
// Reconnect SSE streams for this session
|
|
107
|
+
for (const clientRes of session.sseStreams) {
|
|
108
|
+
if (!clientRes.destroyed && !clientRes.writableEnded) {
|
|
109
|
+
connectUpstreamSse(session, clientRes, port);
|
|
110
|
+
}
|
|
111
|
+
else {
|
|
112
|
+
session.sseStreams.delete(clientRes);
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
catch (err) {
|
|
117
|
+
console.error(`[proxy] Error re-initializing session ${session.proxySessionId}:`, err instanceof Error ? err.message : err);
|
|
118
|
+
cleanupSession(session.proxySessionId);
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
};
|
|
122
|
+
/** Remove a session and clean up its resources. */
|
|
123
|
+
const cleanupSession = (proxySessionId) => {
|
|
124
|
+
const session = sessions.get(proxySessionId);
|
|
125
|
+
if (!session)
|
|
126
|
+
return;
|
|
127
|
+
workerToProxySession.delete(session.workerSessionId);
|
|
128
|
+
for (const res of session.sseStreams) {
|
|
129
|
+
if (!res.destroyed && !res.writableEnded) {
|
|
130
|
+
res.end();
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
session.sseStreams.clear();
|
|
134
|
+
sessions.delete(proxySessionId);
|
|
135
|
+
};
|
|
32
136
|
/**
|
|
33
137
|
* Start (or restart) the worker. Kills the previous worker if running,
|
|
34
138
|
* forks a new one with PORT=0 and OPENTABS_PROXY=1, then waits for the
|
|
@@ -53,9 +157,17 @@ const startWorker = () => {
|
|
|
53
157
|
typeof msg.port === 'number') {
|
|
54
158
|
workerPort = msg.port;
|
|
55
159
|
console.log(`[proxy] Worker ready on port ${workerPort}`);
|
|
56
|
-
if (isRestart)
|
|
57
|
-
|
|
58
|
-
|
|
160
|
+
if (isRestart) {
|
|
161
|
+
// Re-initialize existing MCP sessions with the new worker before
|
|
162
|
+
// draining pending requests, so session mappings are ready.
|
|
163
|
+
void reinitializeSessions(workerPort).then(() => {
|
|
164
|
+
console.log('Hot reload complete');
|
|
165
|
+
drainPending();
|
|
166
|
+
});
|
|
167
|
+
}
|
|
168
|
+
else {
|
|
169
|
+
drainPending();
|
|
170
|
+
}
|
|
59
171
|
}
|
|
60
172
|
});
|
|
61
173
|
child.on('exit', code => {
|
|
@@ -110,6 +222,281 @@ const proxyHttp = (req, res, port) => {
|
|
|
110
222
|
});
|
|
111
223
|
req.pipe(proxyReq);
|
|
112
224
|
};
|
|
225
|
+
// --- MCP-aware HTTP handling ---
|
|
226
|
+
/** Read the full request body as a string. */
|
|
227
|
+
const readBody = (req) => new Promise((resolve, reject) => {
|
|
228
|
+
const chunks = [];
|
|
229
|
+
req.on('data', (chunk) => chunks.push(chunk));
|
|
230
|
+
req.on('end', () => resolve(Buffer.concat(chunks).toString()));
|
|
231
|
+
req.on('error', reject);
|
|
232
|
+
});
|
|
233
|
+
/**
|
|
234
|
+
* Connect an upstream SSE stream from the worker to a client response.
|
|
235
|
+
* Forwards SSE events from the worker to the client, rewriting the
|
|
236
|
+
* mcp-session-id in any headers to the proxy session ID.
|
|
237
|
+
*/
|
|
238
|
+
const connectUpstreamSse = (session, clientRes, port) => {
|
|
239
|
+
const headers = {
|
|
240
|
+
Accept: 'text/event-stream',
|
|
241
|
+
'mcp-session-id': session.workerSessionId,
|
|
242
|
+
};
|
|
243
|
+
if (session.authHeader) {
|
|
244
|
+
headers['Authorization'] = session.authHeader;
|
|
245
|
+
}
|
|
246
|
+
const upstreamReq = httpRequest({
|
|
247
|
+
hostname: '127.0.0.1',
|
|
248
|
+
port,
|
|
249
|
+
path: '/mcp',
|
|
250
|
+
method: 'GET',
|
|
251
|
+
headers,
|
|
252
|
+
}, upstreamRes => {
|
|
253
|
+
if (upstreamRes.statusCode !== 200) {
|
|
254
|
+
upstreamRes.resume();
|
|
255
|
+
return;
|
|
256
|
+
}
|
|
257
|
+
// Forward SSE data chunks to the client
|
|
258
|
+
upstreamRes.on('data', (chunk) => {
|
|
259
|
+
if (!clientRes.destroyed && !clientRes.writableEnded) {
|
|
260
|
+
clientRes.write(chunk);
|
|
261
|
+
}
|
|
262
|
+
});
|
|
263
|
+
// When upstream closes (worker restart), the proxy keeps the client
|
|
264
|
+
// response open. The reinitializeSessions() function will reconnect
|
|
265
|
+
// the upstream SSE stream after the new worker is ready.
|
|
266
|
+
upstreamRes.on('end', () => {
|
|
267
|
+
// Upstream ended — do NOT close the client response.
|
|
268
|
+
// It will be reconnected after worker restart.
|
|
269
|
+
});
|
|
270
|
+
upstreamRes.on('error', () => {
|
|
271
|
+
// Upstream error — keep client response open for reconnection.
|
|
272
|
+
});
|
|
273
|
+
});
|
|
274
|
+
upstreamReq.on('error', () => {
|
|
275
|
+
// Worker is down — keep the client response open.
|
|
276
|
+
// reinitializeSessions() will reconnect after the worker restarts.
|
|
277
|
+
});
|
|
278
|
+
upstreamReq.end();
|
|
279
|
+
};
|
|
280
|
+
/**
|
|
281
|
+
* Handle an MCP POST request. Intercepts initialize requests to track sessions,
|
|
282
|
+
* rewrites session IDs for existing sessions, and forwards to the worker.
|
|
283
|
+
*/
|
|
284
|
+
const handleMcpPost = async (req, res, port) => {
|
|
285
|
+
const bodyStr = await readBody(req);
|
|
286
|
+
let body;
|
|
287
|
+
try {
|
|
288
|
+
body = JSON.parse(bodyStr);
|
|
289
|
+
}
|
|
290
|
+
catch {
|
|
291
|
+
res.writeHead(400);
|
|
292
|
+
res.end('Invalid JSON');
|
|
293
|
+
return;
|
|
294
|
+
}
|
|
295
|
+
const isInitialize = typeof body === 'object' &&
|
|
296
|
+
body !== null &&
|
|
297
|
+
body.method === 'initialize' &&
|
|
298
|
+
body.jsonrpc === '2.0';
|
|
299
|
+
const clientSessionId = req.headers['mcp-session-id'];
|
|
300
|
+
if (isInitialize) {
|
|
301
|
+
// Forward initialize to the worker (no session ID header)
|
|
302
|
+
const headers = {
|
|
303
|
+
'Content-Type': 'application/json',
|
|
304
|
+
Accept: req.headers.accept ?? 'application/json, text/event-stream',
|
|
305
|
+
};
|
|
306
|
+
const authHeader = req.headers.authorization;
|
|
307
|
+
if (authHeader) {
|
|
308
|
+
headers['Authorization'] = authHeader;
|
|
309
|
+
}
|
|
310
|
+
// Forward Host header for DNS rebinding protection
|
|
311
|
+
if (req.headers.host) {
|
|
312
|
+
headers['Host'] = req.headers.host;
|
|
313
|
+
}
|
|
314
|
+
const workerRes = await fetch(`http://127.0.0.1:${port}/mcp`, {
|
|
315
|
+
method: 'POST',
|
|
316
|
+
headers,
|
|
317
|
+
body: bodyStr,
|
|
318
|
+
signal: AbortSignal.timeout(READY_TIMEOUT_MS),
|
|
319
|
+
});
|
|
320
|
+
const workerSessionId = workerRes.headers.get('mcp-session-id');
|
|
321
|
+
const responseBody = await workerRes.text();
|
|
322
|
+
if (workerRes.ok && workerSessionId) {
|
|
323
|
+
// Create a proxy session
|
|
324
|
+
const proxySessionId = randomUUID();
|
|
325
|
+
const session = {
|
|
326
|
+
proxySessionId,
|
|
327
|
+
workerSessionId,
|
|
328
|
+
initializeBody: body,
|
|
329
|
+
sseStreams: new Set(),
|
|
330
|
+
authHeader: authHeader ?? null,
|
|
331
|
+
};
|
|
332
|
+
sessions.set(proxySessionId, session);
|
|
333
|
+
workerToProxySession.set(workerSessionId, proxySessionId);
|
|
334
|
+
// Forward the response with the proxy session ID
|
|
335
|
+
const resHeaders = {
|
|
336
|
+
'content-type': workerRes.headers.get('content-type') ?? 'application/json',
|
|
337
|
+
'mcp-session-id': proxySessionId,
|
|
338
|
+
};
|
|
339
|
+
res.writeHead(workerRes.status, resHeaders);
|
|
340
|
+
res.end(responseBody);
|
|
341
|
+
}
|
|
342
|
+
else {
|
|
343
|
+
// Forward error response as-is
|
|
344
|
+
const resHeaders = {};
|
|
345
|
+
const ct = workerRes.headers.get('content-type');
|
|
346
|
+
if (ct)
|
|
347
|
+
resHeaders['content-type'] = ct;
|
|
348
|
+
res.writeHead(workerRes.status, resHeaders);
|
|
349
|
+
res.end(responseBody);
|
|
350
|
+
}
|
|
351
|
+
return;
|
|
352
|
+
}
|
|
353
|
+
// Non-initialize POST — look up the session and rewrite the session ID
|
|
354
|
+
if (clientSessionId) {
|
|
355
|
+
const session = sessions.get(clientSessionId);
|
|
356
|
+
if (session) {
|
|
357
|
+
// Rewrite the session ID header to the current worker session ID
|
|
358
|
+
const forwardHeaders = {};
|
|
359
|
+
for (const [key, value] of Object.entries(req.headers)) {
|
|
360
|
+
if (key === 'mcp-session-id') {
|
|
361
|
+
forwardHeaders[key] = session.workerSessionId;
|
|
362
|
+
}
|
|
363
|
+
else {
|
|
364
|
+
forwardHeaders[key] = value;
|
|
365
|
+
}
|
|
366
|
+
}
|
|
367
|
+
const proxyReq = httpRequest({ hostname: '127.0.0.1', port, path: '/mcp', method: 'POST', headers: forwardHeaders }, proxyRes => {
|
|
368
|
+
// Rewrite the session ID in the response back to the proxy session ID
|
|
369
|
+
const outHeaders = {};
|
|
370
|
+
for (const [key, value] of Object.entries(proxyRes.headers)) {
|
|
371
|
+
if (key === 'mcp-session-id') {
|
|
372
|
+
outHeaders[key] = session.proxySessionId;
|
|
373
|
+
}
|
|
374
|
+
else {
|
|
375
|
+
outHeaders[key] = value;
|
|
376
|
+
}
|
|
377
|
+
}
|
|
378
|
+
res.writeHead(proxyRes.statusCode ?? 200, outHeaders);
|
|
379
|
+
proxyRes.pipe(res);
|
|
380
|
+
res.on('close', () => proxyRes.destroy());
|
|
381
|
+
});
|
|
382
|
+
proxyReq.on('error', () => {
|
|
383
|
+
if (!res.headersSent) {
|
|
384
|
+
res.writeHead(502);
|
|
385
|
+
res.end('Bad Gateway');
|
|
386
|
+
}
|
|
387
|
+
});
|
|
388
|
+
proxyReq.write(bodyStr);
|
|
389
|
+
proxyReq.end();
|
|
390
|
+
return;
|
|
391
|
+
}
|
|
392
|
+
}
|
|
393
|
+
// Unknown session or no session header — forward as-is
|
|
394
|
+
const proxyReq = httpRequest({ hostname: '127.0.0.1', port, path: '/mcp', method: 'POST', headers: req.headers }, proxyRes => {
|
|
395
|
+
res.writeHead(proxyRes.statusCode ?? 200, proxyRes.headers);
|
|
396
|
+
proxyRes.pipe(res);
|
|
397
|
+
res.on('close', () => proxyRes.destroy());
|
|
398
|
+
});
|
|
399
|
+
proxyReq.on('error', () => {
|
|
400
|
+
if (!res.headersSent) {
|
|
401
|
+
res.writeHead(502);
|
|
402
|
+
res.end('Bad Gateway');
|
|
403
|
+
}
|
|
404
|
+
});
|
|
405
|
+
proxyReq.write(bodyStr);
|
|
406
|
+
proxyReq.end();
|
|
407
|
+
};
|
|
408
|
+
/**
|
|
409
|
+
* Handle an MCP GET request (SSE stream). The proxy keeps the client-facing
|
|
410
|
+
* SSE response alive across worker restarts by reconnecting the upstream
|
|
411
|
+
* SSE stream to the new worker.
|
|
412
|
+
*/
|
|
413
|
+
const handleMcpGet = (req, res, port) => {
|
|
414
|
+
const clientSessionId = req.headers['mcp-session-id'];
|
|
415
|
+
if (!clientSessionId) {
|
|
416
|
+
proxyHttp(req, res, port);
|
|
417
|
+
return;
|
|
418
|
+
}
|
|
419
|
+
const session = sessions.get(clientSessionId);
|
|
420
|
+
if (!session) {
|
|
421
|
+
proxyHttp(req, res, port);
|
|
422
|
+
return;
|
|
423
|
+
}
|
|
424
|
+
// Write SSE headers to the client — the proxy owns this response
|
|
425
|
+
res.writeHead(200, {
|
|
426
|
+
'Content-Type': 'text/event-stream',
|
|
427
|
+
'Cache-Control': 'no-cache, no-transform',
|
|
428
|
+
Connection: 'keep-alive',
|
|
429
|
+
'mcp-session-id': session.proxySessionId,
|
|
430
|
+
});
|
|
431
|
+
// Track this SSE stream for reconnection after worker restart
|
|
432
|
+
session.sseStreams.add(res);
|
|
433
|
+
res.on('close', () => {
|
|
434
|
+
session.sseStreams.delete(res);
|
|
435
|
+
// If the client disconnected and there are no more SSE streams, clean up
|
|
436
|
+
if (session.sseStreams.size === 0) {
|
|
437
|
+
cleanupSession(session.proxySessionId);
|
|
438
|
+
}
|
|
439
|
+
});
|
|
440
|
+
// Connect the upstream SSE stream from the current worker
|
|
441
|
+
connectUpstreamSse(session, res, port);
|
|
442
|
+
};
|
|
443
|
+
/**
|
|
444
|
+
* Handle an MCP DELETE request. Rewrites session ID and cleans up.
|
|
445
|
+
*/
|
|
446
|
+
const handleMcpDelete = (req, res, port) => {
|
|
447
|
+
const clientSessionId = req.headers['mcp-session-id'];
|
|
448
|
+
if (!clientSessionId) {
|
|
449
|
+
proxyHttp(req, res, port);
|
|
450
|
+
return;
|
|
451
|
+
}
|
|
452
|
+
const session = sessions.get(clientSessionId);
|
|
453
|
+
if (!session) {
|
|
454
|
+
proxyHttp(req, res, port);
|
|
455
|
+
return;
|
|
456
|
+
}
|
|
457
|
+
// Rewrite session ID and forward
|
|
458
|
+
const forwardHeaders = {};
|
|
459
|
+
for (const [key, value] of Object.entries(req.headers)) {
|
|
460
|
+
if (key === 'mcp-session-id') {
|
|
461
|
+
forwardHeaders[key] = session.workerSessionId;
|
|
462
|
+
}
|
|
463
|
+
else {
|
|
464
|
+
forwardHeaders[key] = value;
|
|
465
|
+
}
|
|
466
|
+
}
|
|
467
|
+
const proxyReq = httpRequest({ hostname: '127.0.0.1', port, path: '/mcp', method: 'DELETE', headers: forwardHeaders }, proxyRes => {
|
|
468
|
+
res.writeHead(proxyRes.statusCode ?? 200, proxyRes.headers);
|
|
469
|
+
proxyRes.pipe(res);
|
|
470
|
+
res.on('close', () => proxyRes.destroy());
|
|
471
|
+
});
|
|
472
|
+
proxyReq.on('error', () => {
|
|
473
|
+
if (!res.headersSent) {
|
|
474
|
+
res.writeHead(502);
|
|
475
|
+
res.end('Bad Gateway');
|
|
476
|
+
}
|
|
477
|
+
});
|
|
478
|
+
proxyReq.end();
|
|
479
|
+
// Clean up the session
|
|
480
|
+
cleanupSession(session.proxySessionId);
|
|
481
|
+
};
|
|
482
|
+
/**
|
|
483
|
+
* Route an MCP request to the appropriate handler based on HTTP method.
|
|
484
|
+
*/
|
|
485
|
+
const handleMcpRequest = (req, res, port) => {
|
|
486
|
+
if (req.method === 'GET') {
|
|
487
|
+
handleMcpGet(req, res, port);
|
|
488
|
+
}
|
|
489
|
+
else if (req.method === 'POST') {
|
|
490
|
+
void handleMcpPost(req, res, port);
|
|
491
|
+
}
|
|
492
|
+
else if (req.method === 'DELETE') {
|
|
493
|
+
handleMcpDelete(req, res, port);
|
|
494
|
+
}
|
|
495
|
+
else {
|
|
496
|
+
res.writeHead(405);
|
|
497
|
+
res.end('Method not allowed');
|
|
498
|
+
}
|
|
499
|
+
};
|
|
113
500
|
// WebSocketServer in noServer mode — used only to complete client-side upgrades.
|
|
114
501
|
// handleProtocols returns false to suppress ws's automatic protocol selection;
|
|
115
502
|
// the 'headers' event injects the Sec-WebSocket-Protocol echo from the worker.
|
|
@@ -122,9 +509,15 @@ wss.on('headers', (headers) => {
|
|
|
122
509
|
}
|
|
123
510
|
});
|
|
124
511
|
const httpServer = createServer((req, res) => {
|
|
512
|
+
const isMcpRequest = (req.url ?? '/').startsWith('/mcp');
|
|
125
513
|
whenReady(() => {
|
|
126
514
|
if (workerPort !== null) {
|
|
127
|
-
|
|
515
|
+
if (isMcpRequest) {
|
|
516
|
+
handleMcpRequest(req, res, workerPort);
|
|
517
|
+
}
|
|
518
|
+
else {
|
|
519
|
+
proxyHttp(req, res, workerPort);
|
|
520
|
+
}
|
|
128
521
|
}
|
|
129
522
|
else {
|
|
130
523
|
res.writeHead(503);
|
package/dist/dev-proxy.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dev-proxy.js","sourceRoot":"","sources":["../src/dev-proxy.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"dev-proxy.js","sourceRoot":"","sources":["../src/dev-proxy.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAClE,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,IAAI,CAAC;AAChD,OAAO,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,YAAY,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,WAAW,CAAC;AACjE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAKpC,MAAM,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;AAC3D,MAAM,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AAC9C,MAAM,UAAU,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,YAAY,CAAC,CAAC;AAC/D,MAAM,WAAW,GAAG,GAAG,CAAC;AACxB,MAAM,gBAAgB,GAAG,IAAI,CAAC;AAE9B,IAAI,UAAU,GAAkB,IAAI,CAAC;AACrC,IAAI,MAAM,GAAwB,IAAI,CAAC;AACvC,IAAI,aAAa,GAAyC,IAAI,CAAC;AAC/D,MAAM,OAAO,GAAsB,EAAE,CAAC;AACtC,IAAI,gBAAgB,GAAG,CAAC,CAAC;AAkBzB,iDAAiD;AACjD,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAwB,CAAC;AAEjD,6EAA6E;AAC7E,MAAM,oBAAoB,GAAG,IAAI,GAAG,EAAkB,CAAC;AAEvD,gEAAgE;AAChE,MAAM,YAAY,GAAG,GAAS,EAAE;IAC9B,KAAK,MAAM,EAAE,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;QAAE,EAAE,EAAE,CAAC;AAC3C,CAAC,CAAC;AAEF;;;;;GAKG;AACH,MAAM,oBAAoB,GAAG,KAAK,EAAE,IAAY,EAAiB,EAAE;IACjE,MAAM,gBAAgB,GAAG,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;IAChD,IAAI,gBAAgB,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO;IAE1C,OAAO,CAAC,GAAG,CAAC,2BAA2B,gBAAgB,CAAC,MAAM,iCAAiC,CAAC,CAAC;IAEjG,KAAK,MAAM,OAAO,IAAI,gBAAgB,EAAE,CAAC;QACvC,IAAI,CAAC;YACH,oCAAoC;YACpC,oBAAoB,CAAC,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;YAErD,yDAAyD;YACzD,MAAM,OAAO,GAA2B;gBACtC,cAAc,EAAE,kBAAkB;gBAClC,MAAM,EAAE,qCAAqC;aAC9C,CAAC;YACF,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;gBACvB,OAAO,CAAC,eAAe,CAAC,GAAG,OAAO,CAAC,UAAU,CAAC;YAChD,CAAC;YAED,MAAM,OAAO,GAAG,MAAM,KAAK,CAAC,oBAAoB,IAAI,MAAM,EAAE;gBAC1D,MAAM,EAAE,MAAM;gBACd,OAAO;gBACP,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,cAAc,CAAC;gBAC5C,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,gBAAgB,CAAC;aAC9C,CAAC,CAAC;YAEH,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC;gBAChB,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;gBAClD,OAAO,CAAC,KAAK,CAAC,2CAA2C,OAAO,CAAC,cAAc,KAAK,OAAO,CAAC,MAAM,IAAI,IAAI,EAAE,CAAC,CAAC;gBAC9G,cAAc,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;gBACvC,SAAS;YACX,CAAC;YAED,MAAM,kBAAkB,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;YACjE,IAAI,CAAC,kBAAkB,EAAE,CAAC;gBACxB,OAAO,CAAC,KAAK,CAAC,uDAAuD,OAAO,CAAC,cAAc,EAAE,CAAC,CAAC;gBAC/F,cAAc,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;gBACvC,SAAS;YACX,CAAC;YAED,yBAAyB;YACzB,OAAO,CAAC,eAAe,GAAG,kBAAkB,CAAC;YAC7C,oBAAoB,CAAC,GAAG,CAAC,kBAAkB,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC;YAErE,uCAAuC;YACvC,MAAM,OAAO,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;YAErC,iCAAiC;YACjC,MAAM,YAAY,GAA2B;gBAC3C,cAAc,EAAE,kBAAkB;gBAClC,MAAM,EAAE,qCAAqC;gBAC7C,gBAAgB,EAAE,kBAAkB;aACrC,CAAC;YACF,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;gBACvB,YAAY,CAAC,eAAe,CAAC,GAAG,OAAO,CAAC,UAAU,CAAC;YACrD,CAAC;YAED,MAAM,KAAK,CAAC,oBAAoB,IAAI,MAAM,EAAE;gBAC1C,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE,YAAY;gBACrB,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,2BAA2B,EAAE,CAAC;gBAC7E,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,gBAAgB,CAAC;aAC9C,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;YAEnB,OAAO,CAAC,GAAG,CAAC,mBAAmB,OAAO,CAAC,cAAc,oCAAoC,kBAAkB,GAAG,CAAC,CAAC;YAEhH,yCAAyC;YACzC,KAAK,MAAM,SAAS,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;gBAC3C,IAAI,CAAC,SAAS,CAAC,SAAS,IAAI,CAAC,SAAS,CAAC,aAAa,EAAE,CAAC;oBACrD,kBAAkB,CAAC,OAAO,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;gBAC/C,CAAC;qBAAM,CAAC;oBACN,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;gBACvC,CAAC;YACH,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,KAAK,CACX,yCAAyC,OAAO,CAAC,cAAc,GAAG,EAClE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CACzC,CAAC;YACF,cAAc,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;QACzC,CAAC;IACH,CAAC;AACH,CAAC,CAAC;AAEF,mDAAmD;AACnD,MAAM,cAAc,GAAG,CAAC,cAAsB,EAAQ,EAAE;IACtD,MAAM,OAAO,GAAG,QAAQ,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IAC7C,IAAI,CAAC,OAAO;QAAE,OAAO;IACrB,oBAAoB,CAAC,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;IACrD,KAAK,MAAM,GAAG,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;QACrC,IAAI,CAAC,GAAG,CAAC,SAAS,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;YACzC,GAAG,CAAC,GAAG,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;IACD,OAAO,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;IAC3B,QAAQ,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;AAClC,CAAC,CAAC;AAEF;;;;GAIG;AACH,MAAM,WAAW,GAAG,GAAS,EAAE;IAC7B,IAAI,MAAM,EAAE,CAAC;QACX,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACvB,MAAM,GAAG,IAAI,CAAC;QACd,UAAU,GAAG,IAAI,CAAC;IACpB,CAAC;IAED,gBAAgB,EAAE,CAAC;IACnB,MAAM,SAAS,GAAG,gBAAgB,GAAG,CAAC,CAAC;IAEvC,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC,OAAO,CAAC,EAAE;QACvC,GAAG,EAAE,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,cAAc,EAAE,GAAG,EAAE;KACxD,CAAC,CAAC;IACH,MAAM,GAAG,KAAK,CAAC;IAEf,KAAK,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,GAAY,EAAE,EAAE;QACnC,IACE,OAAO,GAAG,KAAK,QAAQ;YACvB,GAAG,KAAK,IAAI;YACX,GAA0B,CAAC,IAAI,KAAK,OAAO;YAC5C,OAAQ,GAA0B,CAAC,IAAI,KAAK,QAAQ,EACpD,CAAC;YACD,UAAU,GAAI,GAAsC,CAAC,IAAI,CAAC;YAC1D,OAAO,CAAC,GAAG,CAAC,gCAAgC,UAAU,EAAE,CAAC,CAAC;YAE1D,IAAI,SAAS,EAAE,CAAC;gBACd,iEAAiE;gBACjE,4DAA4D;gBAC5D,KAAK,oBAAoB,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE;oBAC9C,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;oBACnC,YAAY,EAAE,CAAC;gBACjB,CAAC,CAAC,CAAC;YACL,CAAC;iBAAM,CAAC;gBACN,YAAY,EAAE,CAAC;YACjB,CAAC;QACH,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE;QACtB,IAAI,MAAM,KAAK,KAAK,EAAE,CAAC;YACrB,MAAM,GAAG,IAAI,CAAC;YACd,UAAU,GAAG,IAAI,CAAC;YAClB,OAAO,CAAC,GAAG,CAAC,+BAA+B,IAAI,IAAI,MAAM,GAAG,CAAC,CAAC;QAChE,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AAEF;;;;GAIG;AACH,MAAM,SAAS,GAAG,CAAC,EAAc,EAAE,SAAqB,EAAQ,EAAE;IAChE,IAAI,UAAU,KAAK,IAAI,EAAE,CAAC;QACxB,EAAE,EAAE,CAAC;QACL,OAAO;IACT,CAAC;IAED,uEAAuE;IACvE,+DAA+D;IAC/D,IAAI,OAAO,GAAG,KAAK,CAAC;IAEpB,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;QAC5B,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,GAAG,IAAI,CAAC;YACf,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;YAC1C,SAAS,EAAE,CAAC;QACd,CAAC;IACH,CAAC,EAAE,gBAAgB,CAAC,CAAC;IAErB,MAAM,KAAK,GAAG,GAAS,EAAE;QACvB,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,GAAG,IAAI,CAAC;YACf,YAAY,CAAC,KAAK,CAAC,CAAC;YACpB,EAAE,EAAE,CAAC;QACP,CAAC;IACH,CAAC,CAAC;IAEF,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACtB,CAAC,CAAC;AAEF,2DAA2D;AAC3D,MAAM,SAAS,GAAG,CAAC,GAAoB,EAAE,GAAmB,EAAE,IAAY,EAAQ,EAAE;IAClF,MAAM,QAAQ,GAAG,WAAW,CAC1B,EAAE,QAAQ,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC,GAAG,IAAI,GAAG,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,EAC/F,QAAQ,CAAC,EAAE;QACT,GAAG,CAAC,SAAS,CAAC,QAAQ,CAAC,UAAU,IAAI,GAAG,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC;QAC5D,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACnB,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC;IAC5C,CAAC,CACF,CAAC;IACF,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;QACxB,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;YACrB,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;YACnB,GAAG,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;QACzB,CAAC;IACH,CAAC,CAAC,CAAC;IACH,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AACrB,CAAC,CAAC;AAEF,kCAAkC;AAElC,8CAA8C;AAC9C,MAAM,QAAQ,GAAG,CAAC,GAAoB,EAAmB,EAAE,CACzD,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;IAC9B,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,GAAG,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;IACtD,GAAG,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;IAC/D,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;AAC1B,CAAC,CAAC,CAAC;AAEL;;;;GAIG;AACH,MAAM,kBAAkB,GAAG,CAAC,OAAqB,EAAE,SAAyB,EAAE,IAAY,EAAQ,EAAE;IAClG,MAAM,OAAO,GAA2B;QACtC,MAAM,EAAE,mBAAmB;QAC3B,gBAAgB,EAAE,OAAO,CAAC,eAAe;KAC1C,CAAC;IACF,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;QACvB,OAAO,CAAC,eAAe,CAAC,GAAG,OAAO,CAAC,UAAU,CAAC;IAChD,CAAC;IAED,MAAM,WAAW,GAAG,WAAW,CAC7B;QACE,QAAQ,EAAE,WAAW;QACrB,IAAI;QACJ,IAAI,EAAE,MAAM;QACZ,MAAM,EAAE,KAAK;QACb,OAAO;KACR,EACD,WAAW,CAAC,EAAE;QACZ,IAAI,WAAW,CAAC,UAAU,KAAK,GAAG,EAAE,CAAC;YACnC,WAAW,CAAC,MAAM,EAAE,CAAC;YACrB,OAAO;QACT,CAAC;QAED,wCAAwC;QACxC,WAAW,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE;YACvC,IAAI,CAAC,SAAS,CAAC,SAAS,IAAI,CAAC,SAAS,CAAC,aAAa,EAAE,CAAC;gBACrD,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YACzB,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,oEAAoE;QACpE,oEAAoE;QACpE,yDAAyD;QACzD,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE;YACzB,qDAAqD;YACrD,+CAA+C;QACjD,CAAC,CAAC,CAAC;QAEH,WAAW,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;YAC3B,+DAA+D;QACjE,CAAC,CAAC,CAAC;IACL,CAAC,CACF,CAAC;IAEF,WAAW,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;QAC3B,kDAAkD;QAClD,mEAAmE;IACrE,CAAC,CAAC,CAAC;IAEH,WAAW,CAAC,GAAG,EAAE,CAAC;AACpB,CAAC,CAAC;AAEF;;;GAGG;AACH,MAAM,aAAa,GAAG,KAAK,EAAE,GAAoB,EAAE,GAAmB,EAAE,IAAY,EAAiB,EAAE;IACrG,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,GAAG,CAAC,CAAC;IACpC,IAAI,IAAa,CAAC;IAClB,IAAI,CAAC;QACH,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAC7B,CAAC;IAAC,MAAM,CAAC;QACP,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;QACnB,GAAG,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;QACxB,OAAO;IACT,CAAC;IAED,MAAM,YAAY,GAChB,OAAO,IAAI,KAAK,QAAQ;QACxB,IAAI,KAAK,IAAI;QACZ,IAAgC,CAAC,MAAM,KAAK,YAAY;QACxD,IAAgC,CAAC,OAAO,KAAK,KAAK,CAAC;IAEtD,MAAM,eAAe,GAAG,GAAG,CAAC,OAAO,CAAC,gBAAgB,CAAuB,CAAC;IAE5E,IAAI,YAAY,EAAE,CAAC;QACjB,0DAA0D;QAC1D,MAAM,OAAO,GAA2B;YACtC,cAAc,EAAE,kBAAkB;YAClC,MAAM,EAAE,GAAG,CAAC,OAAO,CAAC,MAAM,IAAI,qCAAqC;SACpE,CAAC;QACF,MAAM,UAAU,GAAG,GAAG,CAAC,OAAO,CAAC,aAAa,CAAC;QAC7C,IAAI,UAAU,EAAE,CAAC;YACf,OAAO,CAAC,eAAe,CAAC,GAAG,UAAU,CAAC;QACxC,CAAC;QACD,mDAAmD;QACnD,IAAI,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;YACrB,OAAO,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC;QACrC,CAAC;QAED,MAAM,SAAS,GAAG,MAAM,KAAK,CAAC,oBAAoB,IAAI,MAAM,EAAE;YAC5D,MAAM,EAAE,MAAM;YACd,OAAO;YACP,IAAI,EAAE,OAAO;YACb,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,gBAAgB,CAAC;SAC9C,CAAC,CAAC;QAEH,MAAM,eAAe,GAAG,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;QAChE,MAAM,YAAY,GAAG,MAAM,SAAS,CAAC,IAAI,EAAE,CAAC;QAE5C,IAAI,SAAS,CAAC,EAAE,IAAI,eAAe,EAAE,CAAC;YACpC,yBAAyB;YACzB,MAAM,cAAc,GAAG,UAAU,EAAE,CAAC;YAEpC,MAAM,OAAO,GAAiB;gBAC5B,cAAc;gBACd,eAAe;gBACf,cAAc,EAAE,IAAI;gBACpB,UAAU,EAAE,IAAI,GAAG,EAAE;gBACrB,UAAU,EAAE,UAAU,IAAI,IAAI;aAC/B,CAAC;YACF,QAAQ,CAAC,GAAG,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;YACtC,oBAAoB,CAAC,GAAG,CAAC,eAAe,EAAE,cAAc,CAAC,CAAC;YAE1D,iDAAiD;YACjD,MAAM,UAAU,GAA2B;gBACzC,cAAc,EAAE,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,kBAAkB;gBAC3E,gBAAgB,EAAE,cAAc;aACjC,CAAC;YACF,GAAG,CAAC,SAAS,CAAC,SAAS,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;YAC5C,GAAG,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QACxB,CAAC;aAAM,CAAC;YACN,+BAA+B;YAC/B,MAAM,UAAU,GAA2B,EAAE,CAAC;YAC9C,MAAM,EAAE,GAAG,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;YACjD,IAAI,EAAE;gBAAE,UAAU,CAAC,cAAc,CAAC,GAAG,EAAE,CAAC;YACxC,GAAG,CAAC,SAAS,CAAC,SAAS,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;YAC5C,GAAG,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QACxB,CAAC;QACD,OAAO;IACT,CAAC;IAED,uEAAuE;IACvE,IAAI,eAAe,EAAE,CAAC;QACpB,MAAM,OAAO,GAAG,QAAQ,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;QAC9C,IAAI,OAAO,EAAE,CAAC;YACZ,iEAAiE;YACjE,MAAM,cAAc,GAAkD,EAAE,CAAC;YACzE,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;gBACvD,IAAI,GAAG,KAAK,gBAAgB,EAAE,CAAC;oBAC7B,cAAc,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,eAAe,CAAC;gBAChD,CAAC;qBAAM,CAAC;oBACN,cAAc,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;gBAC9B,CAAC;YACH,CAAC;YAED,MAAM,QAAQ,GAAG,WAAW,CAC1B,EAAE,QAAQ,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,EAAE,EACtF,QAAQ,CAAC,EAAE;gBACT,sEAAsE;gBACtE,MAAM,UAAU,GAAkD,EAAE,CAAC;gBACrE,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;oBAC5D,IAAI,GAAG,KAAK,gBAAgB,EAAE,CAAC;wBAC7B,UAAU,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,cAAc,CAAC;oBAC3C,CAAC;yBAAM,CAAC;wBACN,UAAU,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;oBAC1B,CAAC;gBACH,CAAC;gBACD,GAAG,CAAC,SAAS,CAAC,QAAQ,CAAC,UAAU,IAAI,GAAG,EAAE,UAAU,CAAC,CAAC;gBACtD,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACnB,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC;YAC5C,CAAC,CACF,CAAC;YACF,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;gBACxB,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;oBACrB,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;oBACnB,GAAG,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;gBACzB,CAAC;YACH,CAAC,CAAC,CAAC;YACH,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YACxB,QAAQ,CAAC,GAAG,EAAE,CAAC;YACf,OAAO;QACT,CAAC;IACH,CAAC;IAED,uDAAuD;IACvD,MAAM,QAAQ,GAAG,WAAW,CAC1B,EAAE,QAAQ,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,EACnF,QAAQ,CAAC,EAAE;QACT,GAAG,CAAC,SAAS,CAAC,QAAQ,CAAC,UAAU,IAAI,GAAG,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC;QAC5D,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACnB,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC;IAC5C,CAAC,CACF,CAAC;IACF,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;QACxB,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;YACrB,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;YACnB,GAAG,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;QACzB,CAAC;IACH,CAAC,CAAC,CAAC;IACH,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACxB,QAAQ,CAAC,GAAG,EAAE,CAAC;AACjB,CAAC,CAAC;AAEF;;;;GAIG;AACH,MAAM,YAAY,GAAG,CAAC,GAAoB,EAAE,GAAmB,EAAE,IAAY,EAAQ,EAAE;IACrF,MAAM,eAAe,GAAG,GAAG,CAAC,OAAO,CAAC,gBAAgB,CAAuB,CAAC;IAC5E,IAAI,CAAC,eAAe,EAAE,CAAC;QACrB,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;QAC1B,OAAO;IACT,CAAC;IAED,MAAM,OAAO,GAAG,QAAQ,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;IAC9C,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;QAC1B,OAAO;IACT,CAAC;IAED,iEAAiE;IACjE,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE;QACjB,cAAc,EAAE,mBAAmB;QACnC,eAAe,EAAE,wBAAwB;QACzC,UAAU,EAAE,YAAY;QACxB,gBAAgB,EAAE,OAAO,CAAC,cAAc;KACzC,CAAC,CAAC;IAEH,8DAA8D;IAC9D,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAE5B,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;QACnB,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAC/B,yEAAyE;QACzE,IAAI,OAAO,CAAC,UAAU,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;YAClC,cAAc,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;QACzC,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,0DAA0D;IAC1D,kBAAkB,CAAC,OAAO,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;AACzC,CAAC,CAAC;AAEF;;GAEG;AACH,MAAM,eAAe,GAAG,CAAC,GAAoB,EAAE,GAAmB,EAAE,IAAY,EAAQ,EAAE;IACxF,MAAM,eAAe,GAAG,GAAG,CAAC,OAAO,CAAC,gBAAgB,CAAuB,CAAC;IAC5E,IAAI,CAAC,eAAe,EAAE,CAAC;QACrB,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;QAC1B,OAAO;IACT,CAAC;IAED,MAAM,OAAO,GAAG,QAAQ,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;IAC9C,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;QAC1B,OAAO;IACT,CAAC;IAED,iCAAiC;IACjC,MAAM,cAAc,GAAkD,EAAE,CAAC;IACzE,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;QACvD,IAAI,GAAG,KAAK,gBAAgB,EAAE,CAAC;YAC7B,cAAc,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,eAAe,CAAC;QAChD,CAAC;aAAM,CAAC;YACN,cAAc,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;QAC9B,CAAC;IACH,CAAC;IAED,MAAM,QAAQ,GAAG,WAAW,CAC1B,EAAE,QAAQ,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,cAAc,EAAE,EACxF,QAAQ,CAAC,EAAE;QACT,GAAG,CAAC,SAAS,CAAC,QAAQ,CAAC,UAAU,IAAI,GAAG,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC;QAC5D,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACnB,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC;IAC5C,CAAC,CACF,CAAC;IACF,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;QACxB,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;YACrB,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;YACnB,GAAG,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;QACzB,CAAC;IACH,CAAC,CAAC,CAAC;IACH,QAAQ,CAAC,GAAG,EAAE,CAAC;IAEf,uBAAuB;IACvB,cAAc,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;AACzC,CAAC,CAAC;AAEF;;GAEG;AACH,MAAM,gBAAgB,GAAG,CAAC,GAAoB,EAAE,GAAmB,EAAE,IAAY,EAAQ,EAAE;IACzF,IAAI,GAAG,CAAC,MAAM,KAAK,KAAK,EAAE,CAAC;QACzB,YAAY,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;IAC/B,CAAC;SAAM,IAAI,GAAG,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;QACjC,KAAK,aAAa,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;IACrC,CAAC;SAAM,IAAI,GAAG,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;QACnC,eAAe,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;IAClC,CAAC;SAAM,CAAC;QACN,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;QACnB,GAAG,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;IAChC,CAAC;AACH,CAAC,CAAC;AAEF,iFAAiF;AACjF,+EAA+E;AAC/E,+EAA+E;AAC/E,MAAM,GAAG,GAAG,IAAI,eAAe,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,eAAe,EAAE,GAAG,EAAE,CAAC,KAAK,EAAE,CAAC,CAAC;AAClF,IAAI,iBAAiB,GAAkB,IAAI,CAAC;AAC5C,GAAG,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,OAAiB,EAAE,EAAE;IACtC,IAAI,iBAAiB,KAAK,IAAI,EAAE,CAAC;QAC/B,OAAO,CAAC,IAAI,CAAC,2BAA2B,iBAAiB,EAAE,CAAC,CAAC;QAC7D,iBAAiB,GAAG,IAAI,CAAC;IAC3B,CAAC;AACH,CAAC,CAAC,CAAC;AAEH,MAAM,UAAU,GAAG,YAAY,CAAC,CAAC,GAAoB,EAAE,GAAmB,EAAE,EAAE;IAC5E,MAAM,YAAY,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;IAEzD,SAAS,CACP,GAAG,EAAE;QACH,IAAI,UAAU,KAAK,IAAI,EAAE,CAAC;YACxB,IAAI,YAAY,EAAE,CAAC;gBACjB,gBAAgB,CAAC,GAAG,EAAE,GAAG,EAAE,UAAU,CAAC,CAAC;YACzC,CAAC;iBAAM,CAAC;gBACN,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,UAAU,CAAC,CAAC;YAClC,CAAC;QACH,CAAC;aAAM,CAAC;YACN,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;YACnB,GAAG,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;QACjC,CAAC;IACH,CAAC,EACD,GAAG,EAAE;QACH,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;QACnB,GAAG,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;IACjC,CAAC,CACF,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,2EAA2E;AAC3E,MAAM,cAAc,GAAG,CAAC,GAAoB,EAAE,MAAc,EAAE,IAAY,EAAE,IAAY,EAAQ,EAAE;IAChG,0EAA0E;IAC1E,uEAAuE;IACvE,yEAAyE;IACzE,0EAA0E;IAC1E,2CAA2C;IAC3C,MAAM,WAAW,GAAG,GAAG,CAAC,OAAO,CAAC,wBAAwB,CAAkC,CAAC;IAC3F,MAAM,kBAAkB,GAAa,WAAW;QAC9C,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC;YAC1B,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YAC1C,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,KAAK,CAAC;QAC5B,CAAC,CAAC,EAAE,CAAC;IAEP,oFAAoF;IACpF,MAAM,cAAc,GAAkD,EAAE,CAAC;IACzE,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;QACvD,IAAI,GAAG,KAAK,wBAAwB,EAAE,CAAC;YACrC,cAAc,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;QAC9B,CAAC;IACH,CAAC;IAED,MAAM,QAAQ,GAAG,IAAI,SAAS,CAC5B,kBAAkB,IAAI,GAAG,GAAG,CAAC,GAAG,IAAI,GAAG,EAAE,EACzC,kBAAkB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,SAAS,EAC9D,EAAE,OAAO,EAAE,cAAc,EAAE,CAC5B,CAAC;IAEF,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE;QACvB,yEAAyE;QACzE,IAAI,QAAQ,CAAC,QAAQ,EAAE,CAAC;YACtB,iBAAiB,GAAG,QAAQ,CAAC,QAAQ,CAAC;QACxC,CAAC;QACD,GAAG,CAAC,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,EAAE;YAC5C,MAAM,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,IAAI,EAAE,QAAQ,EAAE,EAAE;gBACtC,IAAI,QAAQ,CAAC,UAAU,KAAK,SAAS,CAAC,IAAI;oBAAE,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;YACxF,CAAC,CAAC,CAAC;YACH,QAAQ,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,IAAI,EAAE,QAAQ,EAAE,EAAE;gBACxC,IAAI,MAAM,CAAC,UAAU,KAAK,SAAS,CAAC,IAAI;oBAAE,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;YACpF,CAAC,CAAC,CAAC;YACH,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC;YAC3C,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;YAC3C,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC;YAC/C,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,SAAS,EAAE,CAAC,CAAC;QACjD,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,CAAC,EAAE;QACzB,OAAO,CAAC,KAAK,CAAC,qCAAqC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;QAClE,MAAM,CAAC,OAAO,EAAE,CAAC;IACnB,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AAEF,UAAU,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,GAAoB,EAAE,MAAc,EAAE,IAAY,EAAE,EAAE;IAC9E,SAAS,CACP,GAAG,EAAE;QACH,IAAI,UAAU,KAAK,IAAI,EAAE,CAAC;YACxB,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC;QAChD,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,OAAO,EAAE,CAAC;QACnB,CAAC;IACH,CAAC,EACD,GAAG,EAAE;QACH,MAAM,CAAC,OAAO,EAAE,CAAC;IACnB,CAAC,CACF,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAA0B,EAAE,EAAE;IACpD,IAAI,GAAG,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;QAC9B,OAAO,CAAC,KAAK,CAAC,gBAAgB,UAAU,oBAAoB,CAAC,CAAC;IAChE,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,KAAK,CAAC,0BAA0B,EAAE,GAAG,CAAC,CAAC;IACjD,CAAC;IACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC;AAEH,UAAU,CAAC,MAAM,CAAC,UAAU,EAAE,WAAW,EAAE,GAAG,EAAE;IAC9C,MAAM,UAAU,GAAI,UAAU,CAAC,OAAO,EAAuB,CAAC,IAAI,CAAC;IACnE,OAAO,CAAC,GAAG,CAAC,yCAAyC,YAAY,IAAI,UAAU,EAAE,CAAC,CAAC;IACnF,WAAW,EAAE,CAAC;AAChB,CAAC,CAAC,CAAC;AAEH,+EAA+E;AAC/E,iFAAiF;AACjF,KAAK,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,EAAE;IACxD,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,QAAQ,KAAK,cAAc,EAAE,CAAC;QAC5F,IAAI,aAAa,KAAK,IAAI;YAAE,YAAY,CAAC,aAAa,CAAC,CAAC;QACxD,aAAa,GAAG,UAAU,CAAC,GAAG,EAAE;YAC9B,aAAa,GAAG,IAAI,CAAC;YACrB,OAAO,CAAC,GAAG,CAAC,oDAAoD,CAAC,CAAC;YAClE,WAAW,EAAE,CAAC;QAChB,CAAC,EAAE,WAAW,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CAAC,CAAC;AAEH,2DAA2D;AAC3D,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE;IACzB,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;IACxB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC;AACH,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE;IACxB,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;IACxB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC;AAEH,yEAAyE;AACzE,sEAAsE;AACtE,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE;IACzB,OAAO,CAAC,GAAG,CAAC,oDAAoD,CAAC,CAAC;IAClE,WAAW,EAAE,CAAC;AAChB,CAAC,CAAC,CAAC"}
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
*/
|
|
7
7
|
import type { PluginLogEntry } from './log-buffer.js';
|
|
8
8
|
import type { RegisteredPlugin, ServerState, TabMapping } from './state.js';
|
|
9
|
-
import type { JsonRpcError, JsonRpcNotification, JsonRpcRequest, JsonRpcResult, PluginTabInfo } from '@opentabs-dev/shared';
|
|
9
|
+
import type { ConfigStateResult, JsonRpcError, JsonRpcNotification, JsonRpcRequest, JsonRpcResult, PluginTabInfo, TrustTier } from '@opentabs-dev/shared';
|
|
10
10
|
/** Callbacks the extension protocol can invoke on the MCP side */
|
|
11
11
|
interface McpCallbacks {
|
|
12
12
|
onToolConfigChanged: () => void;
|
|
@@ -45,7 +45,7 @@ declare const serializePluginForExtension: (plugin: RegisteredPlugin, state: Ser
|
|
|
45
45
|
version: string;
|
|
46
46
|
displayName: string;
|
|
47
47
|
urlPatterns: string[];
|
|
48
|
-
trustTier:
|
|
48
|
+
trustTier: TrustTier;
|
|
49
49
|
iconSvg?: string;
|
|
50
50
|
iconInactiveSvg?: string;
|
|
51
51
|
tools: {
|
|
@@ -75,6 +75,11 @@ declare const parsePluginTabInfo: (wire: WirePluginTabInfo) => PluginTabInfo | n
|
|
|
75
75
|
declare const parseTabMapping: (wire: WireTabMapping) => TabMapping;
|
|
76
76
|
declare const handleTabSyncAll: (state: ServerState, params: Record<string, unknown> | undefined) => void;
|
|
77
77
|
declare const handleTabStateChanged: (state: ServerState, params: Record<string, unknown> | undefined, id?: string | number) => void;
|
|
78
|
+
/**
|
|
79
|
+
* Build the full ConfigStateResult payload from current server state.
|
|
80
|
+
* Shared between config.getState responses and plugins.changed notifications.
|
|
81
|
+
*/
|
|
82
|
+
declare const buildConfigStatePayload: (state: ServerState) => ConfigStateResult;
|
|
78
83
|
declare const handleConfigGetState: (state: ServerState, id: string | number) => void;
|
|
79
84
|
declare const handleConfigSetToolEnabled: (state: ServerState, params: Record<string, unknown> | undefined, id: string | number, callbacks: McpCallbacks) => void;
|
|
80
85
|
declare const handleConfigSetAllToolsEnabled: (state: ServerState, params: Record<string, unknown> | undefined, id: string | number, callbacks: McpCallbacks) => void;
|
|
@@ -109,5 +114,5 @@ declare const handlePluginUpdateFromRegistry: (state: ServerState, params: Recor
|
|
|
109
114
|
declare const handlePluginRemove: (state: ServerState, params: Record<string, unknown> | undefined, id: string | number, callbacks: McpCallbacks) => Promise<void>;
|
|
110
115
|
declare const handlePluginCheckUpdates: (state: ServerState, id: string | number) => Promise<void>;
|
|
111
116
|
export type { McpCallbacks, WireTabMapping, WirePluginTabInfo };
|
|
112
|
-
export { sendToExtension, sendJsonRpcError, sendPluginManagementError, serializePluginForExtension, parsePluginTabInfo, parseTabMapping, VALID_LOG_LEVELS, handleTabSyncAll, handleTabStateChanged, handleConfigGetState, handleConfigSetToolEnabled, handleConfigSetAllToolsEnabled, handleConfigSetBrowserToolEnabled, handleConfigSetAllBrowserToolsEnabled, handlePluginSearch, handlePluginInstall, handlePluginUpdateFromRegistry, handlePluginRemove, handlePluginCheckUpdates, handleToolProgress, handlePluginLog, handleConfirmationResponse, rejectAllPendingConfirmations, };
|
|
117
|
+
export { buildConfigStatePayload, sendToExtension, sendJsonRpcError, sendPluginManagementError, serializePluginForExtension, parsePluginTabInfo, parseTabMapping, VALID_LOG_LEVELS, handleTabSyncAll, handleTabStateChanged, handleConfigGetState, handleConfigSetToolEnabled, handleConfigSetAllToolsEnabled, handleConfigSetBrowserToolEnabled, handleConfigSetAllBrowserToolsEnabled, handlePluginSearch, handlePluginInstall, handlePluginUpdateFromRegistry, handlePluginRemove, handlePluginCheckUpdates, handleToolProgress, handlePluginLog, handleConfirmationResponse, rejectAllPendingConfirmations, };
|
|
113
118
|
//# sourceMappingURL=extension-handlers.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"extension-handlers.d.ts","sourceRoot":"","sources":["../src/extension-handlers.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAoBH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,KAAK,EAAE,gBAAgB,EAAE,WAAW,EAAE,UAAU,EAA4C,MAAM,YAAY,CAAC;AACtH,OAAO,KAAK,EAKV,YAAY,EACZ,mBAAmB,EACnB,cAAc,EACd,aAAa,EACb,aAAa,
|
|
1
|
+
{"version":3,"file":"extension-handlers.d.ts","sourceRoot":"","sources":["../src/extension-handlers.ts"],"names":[],"mappings":"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"}
|