chore: mcp backend switcher (#854)
This commit is contained in:
@@ -21,11 +21,16 @@ import { startTraceViewerServer } from 'playwright-core/lib/server';
|
||||
import * as mcpTransport from './mcp/transport.js';
|
||||
import { commaSeparatedList, resolveCLIConfig, semicolonSeparatedList } from './config.js';
|
||||
import { packageJSON } from './package.js';
|
||||
import { createExtensionContextFactory, runWithExtension } from './extension/main.js';
|
||||
import { BrowserServerBackend, FactoryList } from './browserServerBackend.js';
|
||||
import { createExtensionClientFactory, runWithExtension } from './extension/main.js';
|
||||
import { Context } from './context.js';
|
||||
import { contextFactory } from './browserContextFactory.js';
|
||||
import { runLoopTools } from './loopTools/main.js';
|
||||
import { ProxyBackend } from './mcp/proxyBackend.js';
|
||||
import { InProcessClientFactory } from './inProcessClient.js';
|
||||
import { BrowserServerBackend } from './browserServerBackend.js';
|
||||
|
||||
import type { ClientFactoryList } from './mcp/proxyBackend.js';
|
||||
import type { ServerBackendFactory } from './mcp/server.js';
|
||||
|
||||
program
|
||||
.version('Version ' + packageJSON.version)
|
||||
@@ -78,11 +83,17 @@ program
|
||||
return;
|
||||
}
|
||||
|
||||
let serverBackendFactory: ServerBackendFactory;
|
||||
const browserContextFactory = contextFactory(config);
|
||||
const factories: FactoryList = [browserContextFactory];
|
||||
if (options.connectTool)
|
||||
factories.push(createExtensionContextFactory(config));
|
||||
const serverBackendFactory = () => new BrowserServerBackend(config, factories);
|
||||
if (options.connectTool) {
|
||||
const factories: ClientFactoryList = [
|
||||
new InProcessClientFactory(browserContextFactory, config),
|
||||
createExtensionClientFactory(config)
|
||||
];
|
||||
serverBackendFactory = () => new ProxyBackend(factories);
|
||||
} else {
|
||||
serverBackendFactory = () => new BrowserServerBackend(config, browserContextFactory);
|
||||
}
|
||||
await mcpTransport.start(serverBackendFactory, config.server);
|
||||
|
||||
if (config.saveTrace) {
|
||||
|
||||
Reference in New Issue
Block a user