UNPKG

openclaw

Version:

Multi-channel AI gateway with extensible messaging integrations

42 lines (41 loc) 2.17 kB
import { t as formatCliCommand } from "./command-format-C7YfyMTd.js"; import { c as normalizeProviderId } from "./model-ref-shared-Dz7QU0Lx.js"; import { t as resolveProviderAuthAliasMap } from "./provider-auth-aliases-DhA9c2am.js"; import "./model-selection-di2kjKCB.js"; import { r as resolveManifestProviderAuthChoices } from "./provider-auth-choices-DsRM415K.js"; //#region src/agents/provider-auth-recovery-hint.ts /** * Provider authentication recovery hint builder. * * Prefers plugin manifest login commands, then falls back to configure/env-var guidance. */ function normalizeProviderIdForAuth(providerId, aliases) { const normalized = normalizeProviderId(providerId); return normalized ? aliases[normalized] ?? normalized : normalized; } function matchesProviderAuthChoice(choice, providerId, aliases) { const normalized = normalizeProviderIdForAuth(providerId, aliases); if (!normalized) return false; return normalizeProviderIdForAuth(choice.providerId, aliases) === normalized; } function resolveProviderAuthLoginCommand(params) { const aliases = resolveProviderAuthAliasMap(params); const choice = resolveManifestProviderAuthChoices(params).find((candidate) => matchesProviderAuthChoice(candidate, params.provider, aliases)); if (!choice) return; const providerId = normalizeProviderIdForAuth(choice.providerId, aliases); return formatCliCommand(`openclaw models auth login --provider ${providerId}`); } /** Build a concise user-facing hint for recovering provider authentication. */ function buildProviderAuthRecoveryHint(params) { const loginCommand = resolveProviderAuthLoginCommand(params); const parts = []; if (loginCommand) parts.push(`Run \`${loginCommand}\``); if (params.includeConfigure !== false) parts.push(`\`${formatCliCommand("openclaw configure")}\``); if (params.includeEnvVar) parts.push("set an API key env var"); if (parts.length === 0) return `Run \`${formatCliCommand("openclaw configure")}\`.`; if (parts.length === 1) return `${parts[0]}.`; if (parts.length === 2) return `${parts[0]} or ${parts[1]}.`; return `${parts[0]}, ${parts[1]}, or ${parts[2]}.`; } //#endregion export { buildProviderAuthRecoveryHint as t };