UNPKG

openclaw

Version:

Multi-channel AI gateway with extensible messaging integrations

110 lines (109 loc) 4.36 kB
import { l as normalizeOptionalString } from "./string-coerce-CIXf7egm.js"; import { f as secretRefKey } from "./ref-contract-D92DqQ-r.js"; import { u as resolveConfigSecretRef } from "./resolution-facts-Dks1tbik.js"; import { r as resolveSecretRefValues } from "./resolve-224YoYfx.js"; import { n as describeSecretResolutionOperatorDiagnostic, r as describeSecretResolutionOperatorRecovery } from "./resolve-errors-C2XRFrol.js"; //#region src/gateway/resolve-configured-secret-input-string.ts function buildUnresolvedReason(params) { if (params.style === "generic") return `${params.path} SecretRef is unresolved (${params.refLabel}).`; if (params.kind === "non-string") return `${params.path} SecretRef resolved to a non-string value.`; if (params.kind === "empty") return `${params.path} SecretRef resolved to an empty value.`; return `${params.path} SecretRef is unresolved (${params.refLabel}).`; } async function resolveConfiguredSecretInputString(params) { const style = params.unresolvedReasonStyle ?? "generic"; const ref = resolveConfigSecretRef({ config: params.config, path: params.path, value: params.value, defaults: params.config.secrets?.defaults }); if (!ref) return { value: normalizeOptionalString(params.value) }; const refLabel = `${ref.source}:${ref.provider}:${ref.id}`; try { const resolvedValue = (await resolveSecretRefValues([ref], { config: params.config, env: params.env, ...params.manifestRegistry ? { manifestRegistry: params.manifestRegistry } : {} })).get(secretRefKey(ref)); if (typeof resolvedValue !== "string") return { unresolvedRefReason: buildUnresolvedReason({ path: params.path, style, kind: "non-string", refLabel }) }; const trimmed = normalizeOptionalString(resolvedValue); if (!trimmed) return { unresolvedRefReason: buildUnresolvedReason({ path: params.path, style, kind: "empty", refLabel }) }; return { value: trimmed }; } catch (error) { const operatorDiagnostic = style === "detailed" ? describeSecretResolutionOperatorDiagnostic(error) : void 0; const operatorRecovery = style === "detailed" ? describeSecretResolutionOperatorRecovery(error) : void 0; const unresolvedReason = buildUnresolvedReason({ path: params.path, style, kind: "unresolved", refLabel }); const operatorDetail = [operatorDiagnostic, operatorRecovery].filter(Boolean).join(". "); return { unresolvedRefReason: operatorDetail ? `${unresolvedReason} ${operatorDetail}.` : unresolvedReason }; } } async function resolveConfiguredSecretRefOnlyInputString(params) { if (!resolveConfigSecretRef({ config: params.config, path: params.path, value: params.value, defaults: params.config.secrets?.defaults })) return { refConfigured: false }; return { refConfigured: true, ...await resolveConfiguredSecretInputString({ config: params.config, env: params.env, value: params.value, path: params.path, ...params.manifestRegistry ? { manifestRegistry: params.manifestRegistry } : {}, unresolvedReasonStyle: params.unresolvedReasonStyle }) }; } async function resolveConfiguredSecretInputWithFallback(params) { const resolved = await resolveConfiguredSecretRefOnlyInputString(params); const configValue = !resolved.refConfigured ? normalizeOptionalString(params.value) : void 0; if (configValue) return { value: configValue, source: "config", secretRefConfigured: false }; if (!resolved.refConfigured) { const fallback = normalizeOptionalString(params.readFallback?.()); if (fallback) return { value: fallback, source: "fallback", secretRefConfigured: false }; return { secretRefConfigured: false }; } if (resolved.value) return { value: resolved.value, source: "secretRef", secretRefConfigured: true }; return { unresolvedRefReason: resolved.unresolvedRefReason, secretRefConfigured: true }; } async function resolveRequiredConfiguredSecretRefInputString(params) { const resolved = await resolveConfiguredSecretRefOnlyInputString(params); if (!resolved.refConfigured) return; if (resolved.value) return resolved.value; throw new Error(resolved.unresolvedRefReason ?? `${params.path} resolved to an empty value.`); } //#endregion export { resolveConfiguredSecretInputWithFallback as n, resolveRequiredConfiguredSecretRefInputString as r, resolveConfiguredSecretInputString as t };