UNPKG

openclaw

Version:

Multi-channel AI gateway with extensible messaging integrations

108 lines (107 loc) 3.84 kB
import { c as normalizeOptionalString } from "./string-coerce-mnp54Vah.js"; import { m as resolveSecretInputRef } from "./types.secrets-_0JOMGE5.js"; import { c as secretRefKey } from "./ref-contract-BAa3qHwr.js"; import { o as resolveSecretRefValues } from "./resolve-DPFnV1p0.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 } = resolveSecretInputRef({ 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 { return { unresolvedRefReason: buildUnresolvedReason({ path: params.path, style, kind: "unresolved", refLabel }) }; } } async function resolveConfiguredSecretRefOnlyInputString(params) { const { ref } = resolveSecretInputRef({ value: params.value, defaults: params.config.secrets?.defaults }); if (!ref) 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 = 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 }; const fallback = params.readFallback?.(); if (fallback) return { value: fallback, source: "fallback", 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 };