UNPKG

openclaw

Version:

Multi-channel AI gateway with extensible messaging integrations

34 lines (33 loc) 1.3 kB
import "./agent-scope-MrLta7Pq.js"; import { r as resolveAgentConfig } from "./agent-scope-config-CgCYpZfK.js"; import { n as pickSandboxToolPolicy } from "./sandbox-tool-policy-BRuLtPlA.js"; import { i as resolveToolsBySender } from "./group-policy-CShy7eWv.js"; //#region src/agents/sender-tool-policy.ts /** * Sender-scoped sandbox tool policy resolver. * Applies per-agent toolsBySender matches before global sender policy so * channel delivery can narrow tool access by sender identity. */ /** Resolves sender-scoped sandbox tool policy, preferring agent config over global config. */ function resolveSenderToolPolicy(params) { const cfg = params.config; if (!cfg) return; const sender = { messageProvider: params.messageProvider, senderId: params.senderId, senderName: params.senderName, senderUsername: params.senderUsername, senderE164: params.senderE164 }; const agentPolicy = resolveToolsBySender({ toolsBySender: (params.agentId && params.agentId.trim() ? resolveAgentConfig(cfg, params.agentId)?.tools : void 0)?.toolsBySender, ...sender }); if (agentPolicy) return pickSandboxToolPolicy(agentPolicy); return pickSandboxToolPolicy(resolveToolsBySender({ toolsBySender: cfg.tools?.toolsBySender, ...sender })); } //#endregion export { resolveSenderToolPolicy as t };