


























@@ -1,22 +1,17 @@
11import fs from "node:fs/promises";
2-import { loadConfig } from "../../config/config.js";
32import type { OpenClawConfig } from "../../config/types.openclaw.js";
4-import { getRemoteSkillEligibility } from "../../infra/skills-remote.js";
53import {
64ensureBrowserControlAuth,
75resolveBrowserControlAuth,
86} from "../../plugin-sdk/browser-control-auth.js";
97import { DEFAULT_BROWSER_EVALUATE_ENABLED } from "../../plugin-sdk/browser-profiles.js";
108import { defaultRuntime } from "../../runtime.js";
119import { resolveUserPath } from "../../utils.js";
12-import { canExecRequestNode } from "../exec-defaults.js";
13-import { syncSkillsToWorkspace } from "../skills.js";
1410import { DEFAULT_AGENT_WORKSPACE_DIR } from "../workspace.js";
1511import { requireSandboxBackendFactory } from "./backend.js";
1612import { ensureSandboxBrowser } from "./browser.js";
1713import { resolveSandboxConfigForAgent } from "./config.js";
1814import { createSandboxFsBridge } from "./fs-bridge.js";
19-import { maybePruneSandboxes } from "./prune.js";
2015import { updateRegistry } from "./registry.js";
2116import { resolveSandboxRuntimeStatus } from "./runtime-status.js";
2217import { resolveSandboxScopeKey, resolveSandboxWorkspaceDir } from "./shared.js";
@@ -54,6 +49,12 @@ async function ensureSandboxWorkspaceLayout(params: {
5449);
5550if (cfg.workspaceAccess !== "rw") {
5651try {
52+const [{ getRemoteSkillEligibility }, { canExecRequestNode }, { syncSkillsToWorkspace }] =
53+await Promise.all([
54+import("../../infra/skills-remote.js"),
55+import("../exec-defaults.js"),
56+import("../skills.js"),
57+]);
5758await syncSkillsToWorkspace({
5859sourceWorkspaceDir: agentWorkspaceDir,
5960targetWorkspaceDir: sandboxWorkspaceDir,
@@ -133,7 +134,7 @@ export async function resolveSandboxContext(params: {
133134}
134135const { rawSessionKey, cfg, runtime } = resolved;
135136136-await maybePruneSandboxes(cfg);
137+await (await import("./prune.js")).maybePruneSandboxes(cfg);
137138138139const { agentWorkspaceDir, scopeKey, workspaceDir } = await ensureSandboxWorkspaceLayout({
139140 cfg,
@@ -175,7 +176,7 @@ export async function resolveSandboxContext(params: {
175176 ? await (async () => {
176177// Sandbox browser bridge server runs on a loopback TCP port; always wire up
177178// the same auth that loopback browser clients will send (token/password).
178-const cfgForAuth = params.config ?? loadConfig();
179+const cfgForAuth = params.config ?? (await import("../../config/config.js")).loadConfig();
179180let browserAuth = resolveBrowserControlAuth(cfgForAuth);
180181try {
181182const ensured = await ensureBrowserControlAuth({ cfg: cfgForAuth });
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。