@webmcp-bridge/local-mcp 0.5.0 → 0.5.2
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/bridge.d.ts +10 -5
- package/dist/bridge.d.ts.map +1 -1
- package/dist/bridge.js +620 -70
- package/dist/bridge.js.map +1 -1
- package/dist/cli.d.ts +4 -1
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +30 -8
- package/dist/cli.js.map +1 -1
- package/dist/runtime.d.ts +15 -4
- package/dist/runtime.d.ts.map +1 -1
- package/dist/runtime.js +249 -36
- package/dist/runtime.js.map +1 -1
- package/dist/server.d.ts +26 -6
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +213 -15
- package/dist/server.js.map +1 -1
- package/dist/session.d.ts +86 -0
- package/dist/session.d.ts.map +1 -0
- package/dist/session.js +584 -0
- package/dist/session.js.map +1 -0
- package/dist/sites.d.ts +1 -1
- package/dist/sites.d.ts.map +1 -1
- package/dist/sites.js +50 -0
- package/dist/sites.js.map +1 -1
- package/package.json +8 -6
- package/dist/client.d.ts +0 -39
- package/dist/client.d.ts.map +0 -1
- package/dist/client.js +0 -232
- package/dist/client.js.map +0 -1
- package/dist/event-buffer.d.ts +0 -22
- package/dist/event-buffer.d.ts.map +0 -1
- package/dist/event-buffer.js +0 -46
- package/dist/event-buffer.js.map +0 -1
- package/dist/protocol.d.ts +0 -11
- package/dist/protocol.d.ts.map +0 -1
- package/dist/protocol.js +0 -52
- package/dist/protocol.js.map +0 -1
package/dist/runtime.js
CHANGED
|
@@ -7,6 +7,7 @@ import { tmpdir } from "node:os";
|
|
|
7
7
|
import { join } from "node:path";
|
|
8
8
|
import { createWebMcpPageGateway, } from "@webmcp-bridge/playwright";
|
|
9
9
|
import { chromium, firefox, webkit, } from "playwright";
|
|
10
|
+
import { resolveAuthPolicy } from "./session.js";
|
|
10
11
|
const NAVIGATION_TIMEOUT_MS = 5_000;
|
|
11
12
|
const LAUNCH_RETRY_DELAY_MS = 750;
|
|
12
13
|
const MAX_LAUNCH_ATTEMPTS = 2;
|
|
@@ -21,22 +22,25 @@ const LAUNCH_RETRY_ERROR_SNIPPETS = [
|
|
|
21
22
|
"Opening in existing browser session.",
|
|
22
23
|
"ProcessSingleton",
|
|
23
24
|
];
|
|
24
|
-
function isChromiumAutomationWorkaroundEnabled() {
|
|
25
|
+
function isChromiumAutomationWorkaroundEnabled(enabledOverride) {
|
|
26
|
+
if (enabledOverride !== undefined) {
|
|
27
|
+
return enabledOverride;
|
|
28
|
+
}
|
|
25
29
|
const value = process.env.WEBMCP_CHROMIUM_LOGIN_WORKAROUND;
|
|
26
30
|
return value === "1" || value === "true";
|
|
27
31
|
}
|
|
28
|
-
function createChromiumLaunchOptions(
|
|
32
|
+
function createChromiumLaunchOptions(presentationMode, browserChannel, chromiumLoginWorkaround) {
|
|
29
33
|
const launchOptions = {
|
|
30
|
-
headless,
|
|
34
|
+
headless: presentationMode === "headless",
|
|
31
35
|
viewport: null,
|
|
32
36
|
};
|
|
33
|
-
if (isChromiumAutomationWorkaroundEnabled()) {
|
|
34
|
-
// Experimental:
|
|
35
|
-
launchOptions.args = ["--disable-blink-features=AutomationControlled"];
|
|
37
|
+
if (isChromiumAutomationWorkaroundEnabled(chromiumLoginWorkaround)) {
|
|
38
|
+
// Experimental: remove the most obvious automation marker for login surfaces.
|
|
36
39
|
launchOptions.ignoreDefaultArgs = ["--enable-automation"];
|
|
37
40
|
}
|
|
38
41
|
if (browserChannel) {
|
|
39
42
|
launchOptions.channel = browserChannel;
|
|
43
|
+
launchOptions.chromiumSandbox = true;
|
|
40
44
|
}
|
|
41
45
|
return launchOptions;
|
|
42
46
|
}
|
|
@@ -65,6 +69,17 @@ async function launchPersistentContextWithRetry(browserType, userDataDir, launch
|
|
|
65
69
|
}
|
|
66
70
|
throw lastError;
|
|
67
71
|
}
|
|
72
|
+
async function connectToExternalBrowserContext(browserUrl) {
|
|
73
|
+
const browser = await chromium.connectOverCDP(browserUrl);
|
|
74
|
+
const context = browser.contexts()[0];
|
|
75
|
+
if (context) {
|
|
76
|
+
return { browser, context };
|
|
77
|
+
}
|
|
78
|
+
await browser.close().catch(() => {
|
|
79
|
+
// Cleanup should be best-effort when attach validation fails.
|
|
80
|
+
});
|
|
81
|
+
throw new Error("SESSION_NOT_AVAILABLE: no persistent browser context found at --browser-url. Open the target Chromium profile with remote debugging enabled before starting local-mcp.");
|
|
82
|
+
}
|
|
68
83
|
function normalizeHost(value) {
|
|
69
84
|
return value.trim().toLowerCase();
|
|
70
85
|
}
|
|
@@ -115,8 +130,85 @@ export function resolveRecoveryNavigationUrl(currentUrl, targetUrl, hostPatterns
|
|
|
115
130
|
}
|
|
116
131
|
return isUrlAllowed(currentUrl, hostPatterns) ? undefined : targetUrl;
|
|
117
132
|
}
|
|
118
|
-
|
|
119
|
-
|
|
133
|
+
function readAuthState(value) {
|
|
134
|
+
if (typeof value !== "object" || value === null || Array.isArray(value)) {
|
|
135
|
+
return undefined;
|
|
136
|
+
}
|
|
137
|
+
const state = value.state;
|
|
138
|
+
if (state === "authenticated" || state === "auth_required" || state === "challenge_required") {
|
|
139
|
+
return state;
|
|
140
|
+
}
|
|
141
|
+
return undefined;
|
|
142
|
+
}
|
|
143
|
+
export function shouldDeferBridgeForAuthState(state) {
|
|
144
|
+
return state === "auth_required" || state === "challenge_required";
|
|
145
|
+
}
|
|
146
|
+
export function shouldEndOwnerSessionAfterPageClose(presentationMode, openPageCount) {
|
|
147
|
+
return presentationMode === "headed" && openPageCount === 0;
|
|
148
|
+
}
|
|
149
|
+
export function selectPreferredPage(pages, targetUrl, hostPatterns) {
|
|
150
|
+
const openPages = pages.filter((entry) => !entry.isClosed());
|
|
151
|
+
if (openPages.length === 0) {
|
|
152
|
+
return undefined;
|
|
153
|
+
}
|
|
154
|
+
const exactTargetPage = openPages.find((entry) => entry.url() === targetUrl);
|
|
155
|
+
if (exactTargetPage) {
|
|
156
|
+
return exactTargetPage;
|
|
157
|
+
}
|
|
158
|
+
let targetHost = "";
|
|
159
|
+
try {
|
|
160
|
+
targetHost = new URL(targetUrl).hostname;
|
|
161
|
+
}
|
|
162
|
+
catch {
|
|
163
|
+
// Ignore target URL parsing failures here; caller already validates targetUrl separately.
|
|
164
|
+
}
|
|
165
|
+
if (targetHost) {
|
|
166
|
+
const exactHostPage = openPages.find((entry) => {
|
|
167
|
+
try {
|
|
168
|
+
return new URL(entry.url()).hostname === targetHost;
|
|
169
|
+
}
|
|
170
|
+
catch {
|
|
171
|
+
return false;
|
|
172
|
+
}
|
|
173
|
+
});
|
|
174
|
+
if (exactHostPage) {
|
|
175
|
+
return exactHostPage;
|
|
176
|
+
}
|
|
177
|
+
}
|
|
178
|
+
const allowedHostPage = openPages.find((entry) => isUrlAllowed(entry.url(), hostPatterns));
|
|
179
|
+
if (allowedHostPage) {
|
|
180
|
+
return allowedHostPage;
|
|
181
|
+
}
|
|
182
|
+
return openPages[0];
|
|
183
|
+
}
|
|
184
|
+
export async function detectExternalPresentationMode(context, page, fallbackMode) {
|
|
185
|
+
const chromiumContext = context;
|
|
186
|
+
if (typeof chromiumContext.newCDPSession !== "function") {
|
|
187
|
+
return fallbackMode;
|
|
188
|
+
}
|
|
189
|
+
const session = await chromiumContext.newCDPSession(page);
|
|
190
|
+
try {
|
|
191
|
+
await session.send("Browser.getWindowForTarget");
|
|
192
|
+
return "headed";
|
|
193
|
+
}
|
|
194
|
+
catch {
|
|
195
|
+
try {
|
|
196
|
+
const version = (await session.send("Browser.getVersion"));
|
|
197
|
+
const markers = [version.product, version.userAgent].filter((value) => typeof value === "string");
|
|
198
|
+
if (markers.some((value) => value.includes("HeadlessChrome"))) {
|
|
199
|
+
return "headless";
|
|
200
|
+
}
|
|
201
|
+
}
|
|
202
|
+
catch {
|
|
203
|
+
// Fall back to the requested presentation mode when browser-level detection is unavailable.
|
|
204
|
+
}
|
|
205
|
+
return fallbackMode;
|
|
206
|
+
}
|
|
207
|
+
finally {
|
|
208
|
+
await session.detach?.().catch(() => {
|
|
209
|
+
// Best-effort cleanup for capability probing.
|
|
210
|
+
});
|
|
211
|
+
}
|
|
120
212
|
}
|
|
121
213
|
function resolveBrowserType(browser) {
|
|
122
214
|
if (browser === "firefox") {
|
|
@@ -166,24 +258,40 @@ export async function startLocalMcpRuntime(options) {
|
|
|
166
258
|
const site = options.siteDefinition;
|
|
167
259
|
const browserEngine = options.browser ?? "chromium";
|
|
168
260
|
const browserChannel = options.browserChannel;
|
|
169
|
-
const
|
|
261
|
+
const browserUrl = options.browserUrl;
|
|
262
|
+
const preferredPresentationMode = options.preferredPresentationMode ?? "headed";
|
|
170
263
|
if (browserChannel && browserEngine !== "chromium") {
|
|
171
264
|
throw new Error(`CONFIG_ERROR: --browser-channel requires --browser chromium (received ${browserEngine})`);
|
|
172
265
|
}
|
|
266
|
+
if (browserUrl && browserEngine !== "chromium") {
|
|
267
|
+
throw new Error(`CONFIG_ERROR: --browser-url requires --browser chromium (received ${browserEngine})`);
|
|
268
|
+
}
|
|
269
|
+
if (browserUrl && browserChannel) {
|
|
270
|
+
throw new Error("CONFIG_ERROR: --browser-url cannot be combined with --browser-channel");
|
|
271
|
+
}
|
|
272
|
+
if (options.chromiumLoginWorkaround && browserEngine !== "chromium") {
|
|
273
|
+
throw new Error(`CONFIG_ERROR: --chromium-login-workaround requires --browser chromium (received ${browserEngine})`);
|
|
274
|
+
}
|
|
275
|
+
if (browserUrl && options.chromiumLoginWorkaround) {
|
|
276
|
+
throw new Error("CONFIG_ERROR: --browser-url cannot be combined with --chromium-login-workaround");
|
|
277
|
+
}
|
|
173
278
|
const browserType = resolveBrowserType(browserEngine);
|
|
174
279
|
const targetUrl = resolveTargetUrl(options.url, site.manifest.defaultUrl);
|
|
280
|
+
const controlMode = browserUrl ? "attach" : "launch";
|
|
175
281
|
if (!isUrlAllowed(targetUrl, site.manifest.hostPatterns)) {
|
|
176
282
|
throw new Error("URL_NOT_ALLOWED: target url host is not allowed by adapter hostPatterns");
|
|
177
283
|
}
|
|
178
284
|
let profileDirFromTemp = false;
|
|
179
|
-
const userDataDir = options.userDataDir ?? (await mkdtemp(join(tmpdir(), "webmcp-local-mcp-")));
|
|
180
|
-
if (!options.userDataDir) {
|
|
285
|
+
const userDataDir = browserUrl ? undefined : (options.userDataDir ?? (await mkdtemp(join(tmpdir(), "webmcp-local-mcp-"))));
|
|
286
|
+
if (!browserUrl && !options.userDataDir) {
|
|
181
287
|
profileDirFromTemp = true;
|
|
182
288
|
}
|
|
289
|
+
let browser;
|
|
183
290
|
let context;
|
|
184
291
|
let currentPage;
|
|
185
292
|
let currentGatewaySession;
|
|
186
293
|
let currentMode = "native";
|
|
294
|
+
let currentPresentationMode = preferredPresentationMode;
|
|
187
295
|
let gatewayStale = false;
|
|
188
296
|
let runtimeClosing = false;
|
|
189
297
|
let pageLifecycleCleanup;
|
|
@@ -205,11 +313,23 @@ export async function startLocalMcpRuntime(options) {
|
|
|
205
313
|
await currentGatewaySession?.close().catch(() => {
|
|
206
314
|
// Cleanup should be best-effort when process is terminating.
|
|
207
315
|
});
|
|
316
|
+
if (deferredAdapterStarted && deferredAdapter && currentPage && !currentPage.isClosed()) {
|
|
317
|
+
await deferredAdapter.stop?.({ page: currentPage }).catch(() => {
|
|
318
|
+
// Cleanup should be best-effort when process is terminating.
|
|
319
|
+
});
|
|
320
|
+
}
|
|
208
321
|
pageGatewayResourceCleanup?.();
|
|
209
322
|
pageLifecycleCleanup?.();
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
323
|
+
if (browser) {
|
|
324
|
+
await browser.close().catch(() => {
|
|
325
|
+
// Cleanup should be best-effort when process is terminating.
|
|
326
|
+
});
|
|
327
|
+
}
|
|
328
|
+
else {
|
|
329
|
+
await context?.close().catch(() => {
|
|
330
|
+
// Cleanup should be best-effort when process is terminating.
|
|
331
|
+
});
|
|
332
|
+
}
|
|
213
333
|
if (profileDirFromTemp) {
|
|
214
334
|
await rm(userDataDir, { recursive: true, force: true }).catch(() => {
|
|
215
335
|
// Cleanup should be best-effort when process is terminating.
|
|
@@ -223,6 +343,56 @@ export async function startLocalMcpRuntime(options) {
|
|
|
223
343
|
if (fallbackAdapterFactory) {
|
|
224
344
|
gatewayOptions.fallbackAdapter = fallbackAdapterFactory();
|
|
225
345
|
}
|
|
346
|
+
const authPolicy = resolveAuthPolicy(site.manifest);
|
|
347
|
+
const authProbeTool = authPolicy.authProbeTool;
|
|
348
|
+
const deferBridgeUntilAuthenticated = authPolicy.mode === "bootstrap_then_attach" &&
|
|
349
|
+
authPolicy.allowAnonymousTools &&
|
|
350
|
+
typeof authProbeTool === "string" &&
|
|
351
|
+
authProbeTool.length > 0 &&
|
|
352
|
+
typeof fallbackAdapterFactory === "function";
|
|
353
|
+
let deferredAdapter;
|
|
354
|
+
let deferredAdapterStarted = false;
|
|
355
|
+
const ensureDeferredAdapterStarted = async (page) => {
|
|
356
|
+
if (!deferBridgeUntilAuthenticated) {
|
|
357
|
+
return undefined;
|
|
358
|
+
}
|
|
359
|
+
if (!deferredAdapter && fallbackAdapterFactory) {
|
|
360
|
+
deferredAdapter = fallbackAdapterFactory();
|
|
361
|
+
}
|
|
362
|
+
if (!deferredAdapter) {
|
|
363
|
+
return undefined;
|
|
364
|
+
}
|
|
365
|
+
if (!deferredAdapterStarted) {
|
|
366
|
+
await deferredAdapter.start?.({ page });
|
|
367
|
+
deferredAdapterStarted = true;
|
|
368
|
+
}
|
|
369
|
+
return deferredAdapter;
|
|
370
|
+
};
|
|
371
|
+
const callDeferredAdapterTool = async (page, name, input) => {
|
|
372
|
+
const adapter = await ensureDeferredAdapterStarted(page);
|
|
373
|
+
if (!adapter) {
|
|
374
|
+
throw new Error("SESSION_NOT_AVAILABLE: fallback adapter is unavailable");
|
|
375
|
+
}
|
|
376
|
+
return await adapter.callTool({ name, input }, { page });
|
|
377
|
+
};
|
|
378
|
+
const listDeferredAdapterTools = async (page) => {
|
|
379
|
+
const adapter = await ensureDeferredAdapterStarted(page);
|
|
380
|
+
if (!adapter) {
|
|
381
|
+
return [];
|
|
382
|
+
}
|
|
383
|
+
const tools = await adapter.listTools({ page });
|
|
384
|
+
return tools.map((tool) => ({
|
|
385
|
+
...tool,
|
|
386
|
+
inputSchema: tool.inputSchema ?? { type: "object" },
|
|
387
|
+
}));
|
|
388
|
+
};
|
|
389
|
+
const shouldDeferGatewayCreation = async (page) => {
|
|
390
|
+
if (!deferBridgeUntilAuthenticated || !authProbeTool) {
|
|
391
|
+
return false;
|
|
392
|
+
}
|
|
393
|
+
const result = await callDeferredAdapterTool(page, authProbeTool, {});
|
|
394
|
+
return shouldDeferBridgeForAuthState(readAuthState(result));
|
|
395
|
+
};
|
|
226
396
|
const initializePageSession = async (navigate = true) => {
|
|
227
397
|
if (!context) {
|
|
228
398
|
throw new Error("SESSION_NOT_AVAILABLE: browser context is unavailable");
|
|
@@ -231,7 +401,7 @@ export async function startLocalMcpRuntime(options) {
|
|
|
231
401
|
// Session replacement should be best-effort.
|
|
232
402
|
});
|
|
233
403
|
currentGatewaySession = undefined;
|
|
234
|
-
const reusablePage = context.pages()
|
|
404
|
+
const reusablePage = selectPreferredPage(context.pages(), targetUrl, site.manifest.hostPatterns);
|
|
235
405
|
currentPage = reusablePage ?? (await context.newPage());
|
|
236
406
|
pageLifecycleCleanup?.();
|
|
237
407
|
const pageForEvents = currentPage;
|
|
@@ -245,7 +415,7 @@ export async function startLocalMcpRuntime(options) {
|
|
|
245
415
|
return;
|
|
246
416
|
}
|
|
247
417
|
const openPageCount = context?.pages().filter((entry) => !entry.isClosed()).length ?? 0;
|
|
248
|
-
if (shouldEndOwnerSessionAfterPageClose(
|
|
418
|
+
if (shouldEndOwnerSessionAfterPageClose(currentPresentationMode, openPageCount)) {
|
|
249
419
|
signalOwnerSessionEnded();
|
|
250
420
|
}
|
|
251
421
|
});
|
|
@@ -264,7 +434,7 @@ export async function startLocalMcpRuntime(options) {
|
|
|
264
434
|
};
|
|
265
435
|
if (navigate) {
|
|
266
436
|
try {
|
|
267
|
-
await
|
|
437
|
+
await pageForEvents.goto(targetUrl, {
|
|
268
438
|
waitUntil: "domcontentloaded",
|
|
269
439
|
timeout: NAVIGATION_TIMEOUT_MS,
|
|
270
440
|
});
|
|
@@ -273,7 +443,14 @@ export async function startLocalMcpRuntime(options) {
|
|
|
273
443
|
throw mapNavigationError(error, targetUrl, "goto");
|
|
274
444
|
}
|
|
275
445
|
}
|
|
276
|
-
|
|
446
|
+
if (await shouldDeferGatewayCreation(pageForEvents)) {
|
|
447
|
+
pageGatewayResourceCleanup?.();
|
|
448
|
+
pageGatewayResourceCleanup = undefined;
|
|
449
|
+
currentMode = deferredAdapter ? "adapter-shim" : "polyfill";
|
|
450
|
+
gatewayStale = false;
|
|
451
|
+
return;
|
|
452
|
+
}
|
|
453
|
+
currentGatewaySession = await createWebMcpPageGateway(pageForEvents, gatewayOptions);
|
|
277
454
|
pageGatewayResourceCleanup?.();
|
|
278
455
|
pageGatewayResourceCleanup = currentGatewaySession.onResourceUpdated((uri) => {
|
|
279
456
|
for (const listener of resourceUpdatedListeners) {
|
|
@@ -282,7 +459,7 @@ export async function startLocalMcpRuntime(options) {
|
|
|
282
459
|
});
|
|
283
460
|
if (navigate && currentGatewaySession.mode === "polyfill") {
|
|
284
461
|
try {
|
|
285
|
-
await
|
|
462
|
+
await pageForEvents.reload({
|
|
286
463
|
waitUntil: "domcontentloaded",
|
|
287
464
|
timeout: NAVIGATION_TIMEOUT_MS,
|
|
288
465
|
});
|
|
@@ -334,15 +511,38 @@ export async function startLocalMcpRuntime(options) {
|
|
|
334
511
|
return await operation();
|
|
335
512
|
}
|
|
336
513
|
};
|
|
514
|
+
const maybeEnsureGatewaySession = async () => {
|
|
515
|
+
if (!currentPage || currentPage.isClosed()) {
|
|
516
|
+
throw new Error("SESSION_NOT_AVAILABLE: current page is closed");
|
|
517
|
+
}
|
|
518
|
+
if (currentGatewaySession && !gatewayStale) {
|
|
519
|
+
return true;
|
|
520
|
+
}
|
|
521
|
+
await rebuildGatewaySession();
|
|
522
|
+
return Boolean(currentGatewaySession);
|
|
523
|
+
};
|
|
337
524
|
try {
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
525
|
+
if (browserUrl) {
|
|
526
|
+
const attachedSession = await connectToExternalBrowserContext(browserUrl);
|
|
527
|
+
browser = attachedSession.browser;
|
|
528
|
+
context = attachedSession.context;
|
|
529
|
+
}
|
|
530
|
+
else {
|
|
531
|
+
const launchOptions = browserEngine === "chromium"
|
|
532
|
+
? createChromiumLaunchOptions(preferredPresentationMode, browserChannel, options.chromiumLoginWorkaround)
|
|
533
|
+
: {
|
|
534
|
+
headless: preferredPresentationMode === "headless",
|
|
535
|
+
viewport: null,
|
|
536
|
+
};
|
|
537
|
+
context = await launchPersistentContextWithRetry(browserType, userDataDir, launchOptions);
|
|
538
|
+
}
|
|
345
539
|
await initializePageSession();
|
|
540
|
+
if (browserUrl && context && currentPage && options.browserUrlOrigin !== "managed") {
|
|
541
|
+
currentPresentationMode = await detectExternalPresentationMode(context, currentPage, preferredPresentationMode);
|
|
542
|
+
}
|
|
543
|
+
else {
|
|
544
|
+
currentPresentationMode = preferredPresentationMode;
|
|
545
|
+
}
|
|
346
546
|
let closed = false;
|
|
347
547
|
const close = async () => {
|
|
348
548
|
if (closed) {
|
|
@@ -353,8 +553,8 @@ export async function startLocalMcpRuntime(options) {
|
|
|
353
553
|
await cleanup();
|
|
354
554
|
};
|
|
355
555
|
const openWindow = async () => {
|
|
356
|
-
if (headless) {
|
|
357
|
-
throw new Error("UNSUPPORTED_IN_HEADLESS_SESSION: bridge.open requires a headed
|
|
556
|
+
if (currentPresentationMode === "headless") {
|
|
557
|
+
throw new Error("UNSUPPORTED_IN_HEADLESS_SESSION: bridge.open requires a headed browser session. For managed sessions, use bridge.session.mode.set({ mode: \"headed\" }) or start the bridge with --no-headless. For external attach sessions, connect to a headed external browser instead of a headless one.");
|
|
358
558
|
}
|
|
359
559
|
if (!currentPage || currentPage.isClosed()) {
|
|
360
560
|
await initializePageSession(true);
|
|
@@ -364,35 +564,45 @@ export async function startLocalMcpRuntime(options) {
|
|
|
364
564
|
await currentPage.bringToFront();
|
|
365
565
|
return "opened";
|
|
366
566
|
}
|
|
367
|
-
|
|
368
|
-
await rebuildGatewaySession();
|
|
369
|
-
}
|
|
567
|
+
await maybeEnsureGatewaySession();
|
|
370
568
|
await currentPage.bringToFront();
|
|
371
569
|
return "focused";
|
|
372
570
|
};
|
|
373
571
|
const gateway = {
|
|
374
572
|
listTools: async () => {
|
|
375
|
-
if (!
|
|
573
|
+
if (!currentPage || currentPage.isClosed()) {
|
|
376
574
|
throw new Error("SESSION_NOT_AVAILABLE: current page is closed");
|
|
377
575
|
}
|
|
576
|
+
if (!(await maybeEnsureGatewaySession())) {
|
|
577
|
+
return await listDeferredAdapterTools(currentPage);
|
|
578
|
+
}
|
|
378
579
|
return await withGatewayRecovery(async () => await currentGatewaySession.listTools());
|
|
379
580
|
},
|
|
380
581
|
callTool: async (name, input) => {
|
|
381
|
-
if (!
|
|
582
|
+
if (!currentPage || currentPage.isClosed()) {
|
|
382
583
|
throw new Error("SESSION_NOT_AVAILABLE: current page is closed");
|
|
383
584
|
}
|
|
585
|
+
if (!(await maybeEnsureGatewaySession())) {
|
|
586
|
+
return await callDeferredAdapterTool(currentPage, name, input);
|
|
587
|
+
}
|
|
384
588
|
return await withGatewayRecovery(async () => await currentGatewaySession.callTool(name, input));
|
|
385
589
|
},
|
|
386
590
|
listResources: async () => {
|
|
387
|
-
if (!
|
|
591
|
+
if (!currentPage || currentPage.isClosed()) {
|
|
388
592
|
throw new Error("SESSION_NOT_AVAILABLE: current page is closed");
|
|
389
593
|
}
|
|
594
|
+
if (!(await maybeEnsureGatewaySession())) {
|
|
595
|
+
return [];
|
|
596
|
+
}
|
|
390
597
|
return await withGatewayRecovery(async () => await currentGatewaySession.listResources());
|
|
391
598
|
},
|
|
392
599
|
readResource: async (uri) => {
|
|
393
|
-
if (!
|
|
600
|
+
if (!currentPage || currentPage.isClosed()) {
|
|
394
601
|
throw new Error("SESSION_NOT_AVAILABLE: current page is closed");
|
|
395
602
|
}
|
|
603
|
+
if (!(await maybeEnsureGatewaySession())) {
|
|
604
|
+
throw new Error(`RESOURCE_NOT_FOUND: ${uri}`);
|
|
605
|
+
}
|
|
396
606
|
return await withGatewayRecovery(async () => await currentGatewaySession.readResource(uri));
|
|
397
607
|
},
|
|
398
608
|
onResourceUpdated: (listener) => {
|
|
@@ -410,10 +620,13 @@ export async function startLocalMcpRuntime(options) {
|
|
|
410
620
|
get targetUrl() {
|
|
411
621
|
return targetUrl;
|
|
412
622
|
},
|
|
623
|
+
controlMode,
|
|
413
624
|
get mode() {
|
|
414
625
|
return currentMode;
|
|
415
626
|
},
|
|
416
|
-
|
|
627
|
+
get presentationMode() {
|
|
628
|
+
return currentPresentationMode;
|
|
629
|
+
},
|
|
417
630
|
get page() {
|
|
418
631
|
return currentPage;
|
|
419
632
|
},
|
package/dist/runtime.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime.js","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"runtime.js","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"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"}
|
package/dist/server.d.ts
CHANGED
|
@@ -5,6 +5,7 @@
|
|
|
5
5
|
import type { JsonValue } from "@webmcp-bridge/core";
|
|
6
6
|
import type { WebMcpResourceDefinition, WebMcpToolDefinition } from "@webmcp-bridge/playwright";
|
|
7
7
|
import type { Readable, Writable } from "node:stream";
|
|
8
|
+
import type { BridgeAuthState, BridgeControlMode, BridgePresentationMode, BridgeSessionOwnership, BridgeSessionState } from "./session.js";
|
|
8
9
|
export type LocalMcpGateway = {
|
|
9
10
|
listTools: () => Promise<ReadonlyArray<WebMcpToolDefinition>>;
|
|
10
11
|
callTool: (name: string, input: Record<string, unknown>) => Promise<JsonValue>;
|
|
@@ -12,14 +13,33 @@ export type LocalMcpGateway = {
|
|
|
12
13
|
readResource: (uri: string) => Promise<JsonValue>;
|
|
13
14
|
onResourceUpdated: (listener: (uri: string) => void) => () => void;
|
|
14
15
|
};
|
|
16
|
+
export type LocalBridgeState = {
|
|
17
|
+
site: string;
|
|
18
|
+
targetUrl: string;
|
|
19
|
+
controlMode: BridgeControlMode;
|
|
20
|
+
browserUrl?: string;
|
|
21
|
+
mode: "native" | "polyfill" | "adapter-shim" | "control-only";
|
|
22
|
+
presentationMode: BridgePresentationMode;
|
|
23
|
+
preferredPresentationMode: BridgePresentationMode;
|
|
24
|
+
authPolicyMode: "none" | "bootstrap_then_attach";
|
|
25
|
+
authState: BridgeAuthState;
|
|
26
|
+
sessionState: BridgeSessionState;
|
|
27
|
+
ownership: BridgeSessionOwnership;
|
|
28
|
+
profilePath?: string;
|
|
29
|
+
browserPid?: number;
|
|
30
|
+
lastBackupPath?: string;
|
|
31
|
+
};
|
|
32
|
+
export type LocalBridgePresentationModeSetOptions = {
|
|
33
|
+
presentationMode: BridgePresentationMode;
|
|
34
|
+
};
|
|
15
35
|
export type LocalBridgeControl = {
|
|
16
|
-
getState: () =>
|
|
17
|
-
site: string;
|
|
18
|
-
targetUrl: string;
|
|
19
|
-
mode: "native" | "polyfill" | "adapter-shim";
|
|
20
|
-
headless: boolean;
|
|
21
|
-
};
|
|
36
|
+
getState: () => LocalBridgeState;
|
|
22
37
|
openWindow: () => Promise<"focused" | "opened">;
|
|
38
|
+
bootstrapSession: () => Promise<LocalBridgeState>;
|
|
39
|
+
attachSession: (browserUrl?: string) => Promise<LocalBridgeState>;
|
|
40
|
+
getPresentationMode: () => BridgePresentationMode;
|
|
41
|
+
setPresentationMode: (options: LocalBridgePresentationModeSetOptions) => Promise<LocalBridgeState>;
|
|
42
|
+
resetProfile: () => Promise<LocalBridgeState>;
|
|
23
43
|
closeBridge: () => Promise<void>;
|
|
24
44
|
};
|
|
25
45
|
export type LocalMcpStdioServerOptions = {
|
package/dist/server.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAYrD,OAAO,KAAK,EAAE,wBAAwB,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAChG,OAAO,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
|