UNPKG

openclaw

Version:

Multi-channel AI gateway with extensible messaging integrations

62 lines (61 loc) 2.58 kB
import { h as collectManifestModelIdNormalizationPolicies, r as getCurrentPluginMetadataSnapshot, y as normalizeProviderModelIdWithPolicies } from "./current-plugin-metadata-snapshot-CfA_n2Nc.js"; import { a as resolvePluginMetadataSnapshot } from "./plugin-metadata-snapshot-Ctk9Oarq.js"; //#region src/plugins/runtime-workspace-state.ts const PLUGIN_REGISTRY_STATE = Symbol.for("openclaw.pluginRegistryState"); /** Reads the active plugin registry workspace directory from global runtime state. */ function getActivePluginRegistryWorkspaceDirFromState() { return globalThis[PLUGIN_REGISTRY_STATE]?.workspaceDir ?? void 0; } //#endregion //#region src/plugins/manifest-model-id-normalization.ts /** Applies manifest-declared model-id normalization policies to provider model refs. */ let cachedPolicies; function resolveMetadataSnapshotForPolicies(params = {}) { const env = params.env ?? process.env; const workspaceDir = params.workspaceDir ?? getActivePluginRegistryWorkspaceDirFromState(); if (params.config === void 0) { const currentSnapshot = getCurrentPluginMetadataSnapshot({ env, workspaceDir, allowWorkspaceScopedSnapshot: true, requireDefaultDiscoveryContext: true }); if (currentSnapshot) return { plugins: currentSnapshot.plugins, configFingerprint: currentSnapshot.configFingerprint, cacheable: true }; } const snapshot = resolvePluginMetadataSnapshot({ config: params.config ?? {}, env, workspaceDir, allowWorkspaceScopedCurrent: true }); return { plugins: snapshot.plugins, configFingerprint: snapshot.configFingerprint, cacheable: false }; } function loadManifestModelIdNormalizationPolicies(params = {}) { if (params.plugins) return collectManifestModelIdNormalizationPolicies(params.plugins); const { plugins, configFingerprint, cacheable } = resolveMetadataSnapshotForPolicies(params); if (cacheable && configFingerprint && cachedPolicies?.configFingerprint === configFingerprint) return cachedPolicies.policies; const policies = collectManifestModelIdNormalizationPolicies(plugins); if (cacheable && configFingerprint) cachedPolicies = { configFingerprint, policies }; return policies; } /** Normalizes a provider model id using plugin manifest-declared model-id policies. */ function normalizeProviderModelIdWithManifest(params) { return normalizeProviderModelIdWithPolicies({ provider: params.provider, policies: loadManifestModelIdNormalizationPolicies(params), context: { modelId: params.context.modelId } }); } //#endregion export { normalizeProviderModelIdWithManifest as t };