






























@@ -8,11 +8,7 @@ import {
88resolveCdpReachabilityTimeouts,
99} from "./cdp-timeouts.js";
1010import { redactCdpUrl } from "./cdp.helpers.js";
11-import {
12-closeChromeMcpSession,
13-ensureChromeMcpAvailable,
14-listChromeMcpTabs,
15-} from "./chrome-mcp.js";
11+import { getChromeMcpModule } from "./chrome-mcp.runtime.js";
1612import {
1713diagnoseChromeCdp,
1814formatChromeCdpDiagnostic,
@@ -78,6 +74,7 @@ export function createProfileAvailability({
7874const isReachable = async (timeoutMs?: number) => {
7975if (capabilities.usesChromeMcp) {
8076// listChromeMcpTabs creates the session if needed — no separate ensureChromeMcpAvailable call required
77+const { listChromeMcpTabs } = await getChromeMcpModule();
8178await listChromeMcpTabs(profile.name, profile.userDataDir);
8279return true;
8380}
@@ -155,6 +152,7 @@ export function createProfileAvailability({
155152setProfileRunning(null);
156153}
157154if (getBrowserProfileCapabilities(previousProfile).usesChromeMcp) {
155+const { closeChromeMcpSession } = await getChromeMcpModule();
158156await closeChromeMcpSession(previousProfile.name).catch(() => false);
159157}
160158await closePlaywrightBrowserConnectionForProfile(previousProfile.cdpUrl);
@@ -191,6 +189,7 @@ export function createProfileAvailability({
191189let lastError: unknown;
192190while (Date.now() < deadlineMs) {
193191try {
192+const { listChromeMcpTabs } = await getChromeMcpModule();
194193await listChromeMcpTabs(profile.name, profile.userDataDir);
195194return;
196195} catch (err) {
@@ -209,6 +208,7 @@ export function createProfileAvailability({
209208`Browser user data directory not found for profile "${profile.name}": ${profile.userDataDir}`,
210209);
211210}
211+const { ensureChromeMcpAvailable } = await getChromeMcpModule();
212212await ensureChromeMcpAvailable(profile.name, profile.userDataDir);
213213await waitForChromeMcpReadyAfterAttach();
214214return;
@@ -308,6 +308,7 @@ export function createProfileAvailability({
308308const stopRunningBrowser = async (): Promise<{ stopped: boolean }> => {
309309await reconcileProfileRuntime();
310310if (capabilities.usesChromeMcp) {
311+const { closeChromeMcpSession } = await getChromeMcpModule();
311312const stopped = await closeChromeMcpSession(profile.name);
312313return { stopped };
313314}
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。