Browse Source

feat(03-03): add workflow migration logic for legacy nodes

- Migrate nanoBanana nodes without selectedModel on workflow load
- Derive selectedModel from legacy model field (nano-banana, nano-banana-pro)
- Set provider to gemini and appropriate displayName for migrated nodes
handoff-20260429-1057
shrimbly 6 months ago
parent
commit
2811e62e0d
  1. 22
      src/store/workflowStore.ts

22
src/store/workflowStore.ts

@ -1835,6 +1835,28 @@ export const useWorkflowStore = create<WorkflowStore>((set, get) => ({
}, 0); }, 0);
groupIdCounter = maxGroupId; groupIdCounter = maxGroupId;
// Migrate legacy nanoBanana nodes: derive selectedModel from model field if missing
workflow.nodes = workflow.nodes.map((node) => {
if (node.type === "nanoBanana") {
const data = node.data as NanoBananaNodeData;
if (data.model && !data.selectedModel) {
const displayName = data.model === "nano-banana" ? "Nano Banana" : "Nano Banana Pro";
return {
...node,
data: {
...data,
selectedModel: {
provider: "gemini" as ProviderType,
modelId: data.model,
displayName,
},
},
};
}
}
return node;
}) as WorkflowNode[];
// Look up saved config from localStorage (only if workflow has an ID) // Look up saved config from localStorage (only if workflow has an ID)
const configs = loadSaveConfigs(); const configs = loadSaveConfigs();
const savedConfig = workflow.id ? configs[workflow.id] : null; const savedConfig = workflow.id ? configs[workflow.id] : null;

Loading…
Cancel
Save