UNPKG

openclaw

Version:

Multi-channel AI gateway with extensible messaging integrations

46 lines (45 loc) 1.72 kB
import { M as containsAuthoredInclude, N as isSingleTopLevelIncludeMigration, s as readConfigFileSnapshot } from "./io.runtime-B9iJRs3w.js"; import { h as validateConfigObjectWithPlugins } from "./io.types-BUCjdS5v.js"; import { r as replaceConfigFile } from "./mutate-ZNN4iFCn.js"; import "./config-Cs0XXL3x.js"; import { t as migrateLegacyConfig } from "./legacy-config-migrate-ibYHB0mZ.js"; //#region src/commands/doctor/legacy-config-repair.ts /** Migrate a legacy config snapshot during update, unless validation blocks it. */ async function repairLegacyConfigForUpdateChannel(params) { const hasAuthoredIncludes = containsAuthoredInclude(params.configSnapshot.parsed); const migrated = migrateLegacyConfig(params.configSnapshot.sourceConfig); if (!migrated.config) return { snapshot: params.configSnapshot, repaired: false }; const validated = validateConfigObjectWithPlugins(migrated.config); if (!validated.ok) return { snapshot: params.configSnapshot, repaired: false }; const nextConfig = hasAuthoredIncludes && migrated.sourceConfig ? migrated.sourceConfig : validated.config; if (hasAuthoredIncludes && !isSingleTopLevelIncludeMigration({ parsed: params.configSnapshot.parsed, sourceConfig: params.configSnapshot.sourceConfig, candidate: nextConfig })) return { snapshot: params.configSnapshot, repaired: false }; await replaceConfigFile({ nextConfig, baseHash: params.configSnapshot.hash, writeOptions: { auditOrigin: "doctor", allowConfigSizeDrop: true, skipOutputLogs: params.jsonMode } }); const snapshot = await readConfigFileSnapshot(); return { snapshot, repaired: snapshot.valid }; } //#endregion export { repairLegacyConfigForUpdateChannel };