UNPKG

openclaw

Version:

Multi-channel AI gateway with extensible messaging integrations

43 lines (42 loc) 2.92 kB
import { a as normalizeOptionalAgentRuntimeId } from "./agent-runtime-id-BpfvnoN1.js"; import { n as resolveProviderIdForAuth } from "./provider-auth-aliases-DhA9c2am.js"; //#region src/agents/runtime-plan/auth.ts const CODEX_HARNESS_AUTH_PROVIDER = "openai"; const EMPTY_PROVIDER_AUTH_ALIAS_METADATA = { plugins: [] }; function resolveHarnessAuthProvider(params) { const harnessId = normalizeOptionalAgentRuntimeId(params.harnessId); const runtime = normalizeOptionalAgentRuntimeId(params.harnessRuntime); return harnessId === "codex" || runtime === "codex" ? CODEX_HARNESS_AUTH_PROVIDER : void 0; } /** Builds the auth forwarding plan for one resolved agent runtime. */ function buildAgentRuntimeAuthPlan(params) { const providerAuthAliasesEnabled = params.providerAuthAliasesEnabled ?? params.config?.plugins?.enabled !== false; const metadataSnapshot = params.metadataSnapshot ?? (providerAuthAliasesEnabled ? void 0 : EMPTY_PROVIDER_AUTH_ALIAS_METADATA); const aliasLookupParams = { config: params.config, workspaceDir: params.workspaceDir, ...metadataSnapshot ? { metadataSnapshot } : {} }; const providerForAuth = resolveProviderIdForAuth(params.provider, aliasLookupParams); const authProfileProviderForAuth = resolveProviderIdForAuth(params.authProfileProvider ?? params.provider, aliasLookupParams); const harnessAuthProvider = resolveHarnessAuthProvider(params); const harnessProviderForAuth = harnessAuthProvider ? resolveProviderIdForAuth(harnessAuthProvider, aliasLookupParams) : void 0; const harnessCanForwardProfile = params.allowHarnessAuthProfileForwarding !== false && harnessProviderForAuth && harnessProviderForAuth === authProfileProviderForAuth; const canForwardProfile = !harnessProviderForAuth && providerForAuth === authProfileProviderForAuth || harnessCanForwardProfile; const forwardedAuthProfileId = canForwardProfile ? params.sessionAuthProfileId : void 0; return { providerForAuth, ...params.modelId ? { modelId: params.modelId } : {}, authProfileProviderForAuth, ...harnessProviderForAuth ? { harnessAuthProvider: harnessProviderForAuth } : {}, ...canForwardProfile ? { forwardedAuthProfileId } : {}, ...canForwardProfile && params.sessionAuthProfileId && params.sessionAuthProfileSource ? { forwardedAuthProfileSource: params.sessionAuthProfileSource === "auto" ? "auto" : "user" } : {}, ...canForwardProfile && params.sessionAuthProfileCandidateIds?.length ? { forwardedAuthProfileCandidateIds: params.sessionAuthProfileCandidateIds } : {}, ...canForwardProfile && params.authProfileMode ? { selectedAuthMode: params.authProfileMode } : {}, ...params.modelRoute ? { modelRoute: params.modelRoute } : {}, ...params.deferredRouteSupport ? { deferredRouteSupport: params.deferredRouteSupport } : {}, ...params.credentialSource ? { credentialSource: params.credentialSource } : {} }; } //#endregion export { buildAgentRuntimeAuthPlan as t };