import { CONFIG_PATH_CLAWDBOT } from "../../config/config.js"; import type { RuntimeEnv } from "../../runtime.js"; import { resolveModelTarget, updateConfig } from "./shared.js"; export async function modelsSetImageCommand( modelRaw: string, runtime: RuntimeEnv, ) { const updated = await updateConfig((cfg) => { const resolved = resolveModelTarget({ raw: modelRaw, cfg }); const key = `${resolved.provider}/${resolved.model}`; const nextModels = { ...cfg.agent?.models }; if (!nextModels[key]) nextModels[key] = {}; const existingModel = cfg.agent?.imageModel as | { primary?: string; fallbacks?: string[] } | undefined; return { ...cfg, agent: { ...cfg.agent, imageModel: { ...(existingModel?.fallbacks ? { fallbacks: existingModel.fallbacks } : undefined), primary: key, }, models: nextModels, }, }; }); runtime.log(`Updated ${CONFIG_PATH_CLAWDBOT}`); runtime.log(`Image model: ${updated.agent?.imageModel?.primary ?? modelRaw}`); }