UNPKG

openclaw

Version:

Multi-channel AI gateway with extensible messaging integrations

40 lines (39 loc) 1.78 kB
import { h as resolveAgentWorkspaceProvisioning, r as isImplicitAcpWorkspaceCandidate } from "./agent-scope-config-DcbEhP0R.js"; import { n as resolveAcpSessionCwd } from "./session-identifiers-B5CDFQVW.js"; //#region src/agents/acp-workspace-provisioning.ts /** * Turn-level ACP workspace provisioning resolution (#92015). * * Resolves the provisioning mode for one concrete invocation by using the * invocation's own cwd — the live session's ACP meta cwd first, then the * configured ACP binding that owns the session key — instead of an agent-wide * binding scan, so mixed-binding agents and workspace-equal cwds keep standard * bootstrap behavior. */ async function resolveAcpAgentWorkspaceProvisioningForTurn(params) { if (!isImplicitAcpWorkspaceCandidate(params.cfg, params.agentId)) return "standard"; const invocation = params.workspaceDir ? { workspaceDir: params.workspaceDir } : void 0; if (params.cwd) return resolveAgentWorkspaceProvisioning(params.cfg, params.agentId, { ...invocation, cwd: params.cwd }); const metaCwd = resolveAcpSessionCwd(params.sessionEntry?.acp); if (metaCwd) return resolveAgentWorkspaceProvisioning(params.cfg, params.agentId, { ...invocation, cwd: metaCwd }); if (params.sessionKey) { const { resolveConfiguredAcpBindingSpecBySessionKey } = await import("./persistent-bindings.resolve-zcgOok_I.js"); const bindingCwd = resolveConfiguredAcpBindingSpecBySessionKey({ cfg: params.cfg, sessionKey: params.sessionKey })?.cwd; if (bindingCwd) return resolveAgentWorkspaceProvisioning(params.cfg, params.agentId, { ...invocation, cwd: bindingCwd }); } return resolveAgentWorkspaceProvisioning(params.cfg, params.agentId, invocation); } //#endregion export { resolveAcpAgentWorkspaceProvisioningForTurn };