ai-chatbot/lib/canvas/local-edit-config.ts

33 lines
815 B
TypeScript

export const CANVAS_LOCAL_EDIT_CONFIG_KEY = "canvas_local_edit_config";
export type CanvasLocalEditConfig = {
modelId: string;
scaleAdjustModelId: string;
};
export function defaultCanvasLocalEditConfig(): CanvasLocalEditConfig {
return {
modelId: "",
scaleAdjustModelId: "",
};
}
function normalizeModelRef(value: unknown) {
return String(value || "").trim().slice(0, 128);
}
export function normalizeCanvasLocalEditConfig(
value: unknown
): CanvasLocalEditConfig {
const defaults = defaultCanvasLocalEditConfig();
if (!value || typeof value !== "object" || Array.isArray(value)) {
return defaults;
}
const raw = value as Record<string, unknown>;
return {
modelId: normalizeModelRef(raw.modelId),
scaleAdjustModelId: normalizeModelRef(raw.scaleAdjustModelId),
};
}