UNPKG

openclaw

Version:

Multi-channel AI gateway with extensible messaging integrations

55 lines (54 loc) 2.76 kB
import { r as normalizeProviderId } from "./provider-id-DMd-TDFp.js"; import { r as ensureAuthProfileStore } from "./store-F1B2duCT.js"; import { a as resolveAuthProfileOrder } from "./order-CC2RBzI5.js"; import { t as resolveRuntimeCliBackends } from "./cli-backends.runtime.js"; import { s as resolveCliRuntimeExecutionProvider } from "./model-runtime-aliases-BJ2qM8I_.js"; import { o as resolveModelAuthMode } from "./model-auth-C48_DZ-I.js"; //#region src/agents/embedded-agent-runner/cli-backend-dispatch-eligibility.ts /** * Provider/backend/credential eligibility for CLI-backend dispatch of * embedded runs. Shared by the dispatch itself and by callers that must * budget for CLI latency before starting the run (active-memory recall's * timeout default); both sides seeing one decision keeps timeouts and * routing from drifting apart. Kept separate from the dispatch module so * the plugin runtime surface does not eagerly load the run machinery. */ /** * Decides whether an opted-in embedded run would execute through the CLI * backend. Resolution stays on stored credential metadata — no credential * materialization, refresh locks, or network calls on this per-turn path. */ function resolveEmbeddedCliBackendDispatchEligibility(params) { const backends = new Map(resolveRuntimeCliBackends().map((backend) => [normalizeProviderId(backend.id), backend])); const requestedProvider = normalizeProviderId(params.provider ?? ""); const provider = backends.has(requestedProvider) ? requestedProvider : normalizeProviderId(resolveCliRuntimeExecutionProvider({ provider: params.provider ?? "", cfg: params.config, agentId: params.agentId, modelId: params.model, authProfileId: params.authProfileId }) ?? ""); if (!backends.get(provider)?.subscriptionAuthDispatch) return; const authMode = resolveAuthModeSafe(params, provider); if (authMode === "api-key" || authMode === "mixed" || authMode === "aws-sdk") return; return { provider }; } function resolveAuthModeSafe(params, provider) { try { const store = ensureAuthProfileStore(params.agentDir, { config: params.config }); const pinnedType = params.authProfileId ? store.profiles[params.authProfileId.trim()]?.type : void 0; const [selectedProfileId] = resolveAuthProfileOrder({ cfg: params.config, store, provider }); const selectedType = pinnedType ?? (selectedProfileId ? store.profiles[selectedProfileId]?.type : void 0); if (selectedType === "api_key") return "api-key"; if (selectedType === "oauth" || selectedType === "token") return selectedType; return resolveModelAuthMode(provider, params.config, store, { workspaceDir: params.workspaceDir }); } catch { return; } } //#endregion export { resolveEmbeddedCliBackendDispatchEligibility as t };