UNPKG

openclaw

Version:

Multi-channel AI gateway with extensible messaging integrations

38 lines (37 loc) • 2.16 kB
import { f as materializeRuntimeConfig, m as hasAnthropicDefaultSignal } from "./validation-core-C5DCruFP.mjs"; import { a as validateConfigObjectWithStrictFactsAsync, i as validateConfigObjectWithPluginsAsync } from "./validation-CiziKiqX.mjs"; //#region src/config/io.snapshot-preparation.ts /** Preserve the ordinary reader's lazy defaults, including an unused manifest loader. */ function materializeConfigSnapshotDefaults(context, config, metadata) { return materializeRuntimeConfig(config, { ...context.pathResolution, ...context.options.pluginValidation === "core-only" ? { manifestRegistry: { plugins: [] } } : { loadManifestRegistry: () => metadata.load(config).manifestRegistry } }); } async function prepareHostConfigSnapshot(request) { if (request.kind === "metadata") return await request.metadata.loadAsync(request.config); const { context, metadata } = request; if (request.kind === "materialize") { if (context.options.pluginValidation !== "core-only" && (request.config.models?.providers || hasAnthropicDefaultSignal(request.config, context.deps.env))) await metadata.loadAsync(request.config); return materializeConfigSnapshotDefaults(context, request.config, metadata); } return prepareConfigSnapshotValidation(request); } /** Both explicit CLI validation and an admitted host read prepare database facts before validation. */ async function prepareConfigSnapshotValidation(request) { const { context, metadata } = request; const pending = await context.resolveDeferredPluginMigrationsAsync(); return { deferredPluginMigrations: pending, validated: await (request.prepareValidation === "strict" ? validateConfigObjectWithStrictFactsAsync : validateConfigObjectWithPluginsAsync)(request.raw, { ...context.pathResolution, pluginValidation: context.options.pluginValidation, loadPluginMetadataSnapshotAsync: metadata.loadAsync, sourceRaw: request.sourceRaw, preservedLegacyRootKeys: context.options.preservedLegacyRootKeys, deferredPluginMigrations: pending }) }; } //#endregion export { prepareConfigSnapshotValidation as n, prepareHostConfigSnapshot as r, materializeConfigSnapshotDefaults as t };