UNPKG

openclaw

Version:

Multi-channel AI gateway with extensible messaging integrations

53 lines (52 loc) 1.64 kB
import { i as asOptionalRecord } from "../../record-coerce-DHZ4bFlT.js"; import "../../string-coerce-runtime-CEGJWkQ_.js"; import { t as definePluginEntry } from "../../plugin-entry-C7DUzV0e.js"; //#region extensions/canvas/src/config-migration.ts function mergeHostConfig(params) { return Object.assign({}, params.legacyHost, params.existingHost); } /** Migrates root canvasHost config into plugins.entries.canvas.config.host. */ function migrateLegacyCanvasHostConfig(config) { const legacyHost = asOptionalRecord(config.canvasHost); if (!legacyHost) return null; const plugins = structuredClone(asOptionalRecord(config.plugins) ?? {}); const entries = asOptionalRecord(plugins.entries) ?? {}; const canvasEntry = asOptionalRecord(entries.canvas) ?? {}; const canvasConfig = asOptionalRecord(canvasEntry.config) ?? {}; const existingHost = asOptionalRecord(canvasConfig.host); entries.canvas = { ...canvasEntry, config: { ...canvasConfig, host: mergeHostConfig({ legacyHost, existingHost }) } }; plugins.entries = entries; const next = { ...config, plugins }; delete next.canvasHost; return { config: next, changes: ["migrated canvasHost to plugins.entries.canvas.config.host"] }; } //#endregion //#region extensions/canvas/setup-api.ts /** * Canvas setup entrypoint that exposes config migrations. */ var setup_api_default = definePluginEntry({ id: "canvas", name: "Canvas Setup", description: "Lightweight Canvas setup hooks", register(api) { api.registerConfigMigration((config) => migrateLegacyCanvasHostConfig(config)); } }); //#endregion export { setup_api_default as default };