UNPKG

openclaw

Version:

Multi-channel AI gateway with extensible messaging integrations

57 lines (56 loc) • 3.06 kB
import { s as tokenizeConcreteConfigPath } from "./dot-path-CVD5Jolm.mjs"; import { c as findActiveDegradedSecretOwner, n as SecretSurfaceUnavailableError } from "./runtime-degraded-state-Dyd8aD2x.mjs"; import { n as normalizeMediaProviderId } from "./provider-id-BZvihdyi.mjs"; //#region src/secrets/runtime-media-secret-owner.ts /** Runtime owner for one configured media-understanding model entry. */ function runtimeMediaModelSecretOwnerId(index) { return `media-model:shared:${index}`; } /** Runtime owner for request defaults inherited by one media capability. */ function runtimeMediaRequestSecretOwnerId(capability) { return `media-model:${capability}:request`; } function modelRequestOverridesPath(entry, path) { const request = entry.request; if (!request) return false; const segments = tokenizeConcreteConfigPath(path).tokens; const field = segments[4]; if (field === "auth" || field === "tls" || field === "proxy") return request[field] !== void 0; const headerKey = segments[5]; const headerName = field === "headers" && typeof headerKey === "string" ? headerKey.toLowerCase() : void 0; return Boolean(headerName && Object.keys(request.headers ?? {}).some((key) => key.toLowerCase() === headerName)); } /** Rejects a cold capability request only when the model still inherits its failed field. */ function assertRuntimeMediaRequestSecretOwnerAvailable(params) { const owner = findActiveDegradedSecretOwner("capability", runtimeMediaRequestSecretOwnerId(params.capability)); if (owner && owner.paths.some((path) => !modelRequestOverridesPath(params.entry, path))) throw new SecretSurfaceUnavailableError(owner); } //#endregion //#region src/media-understanding/entry-capabilities.ts const MEDIA_CAPABILITIES = [ "audio", "image", "video" ]; function isMediaCapability(value) { return typeof value === "string" && MEDIA_CAPABILITIES.includes(value); } function resolveConfiguredMediaEntryCapabilities(entry) { if (!Array.isArray(entry.capabilities)) return; const capabilities = entry.capabilities.filter(isMediaCapability); return capabilities.length > 0 ? capabilities : void 0; } /** Resolves the capability set for an entry, inferring shared provider entries from metadata. */ function resolveEffectiveMediaEntryCapabilities(params) { const configured = resolveConfiguredMediaEntryCapabilities(params.entry); if (configured) return configured; if ((params.entry.type ?? (params.entry.command ? "cli" : "provider")) === "cli") return; const providerId = normalizeMediaProviderId(params.entry.provider ?? ""); if (!providerId) return; return params.providerRegistry.get(providerId)?.capabilities; } function matchesMediaEntryCapability(params) { return resolveEffectiveMediaEntryCapabilities(params)?.includes(params.capability) ?? false; } //#endregion export { runtimeMediaModelSecretOwnerId as a, assertRuntimeMediaRequestSecretOwnerAvailable as i, resolveConfiguredMediaEntryCapabilities as n, runtimeMediaRequestSecretOwnerId as o, resolveEffectiveMediaEntryCapabilities as r, matchesMediaEntryCapability as t };