Browse Source

fix: resolve pre-existing TypeScript build errors

Fix nanoBananaExecutor narrowing issue where promptText was narrowed
to `never` after type guard, and fix addEdge type mismatch where
Edge<T> data can be undefined but addEdge expects it defined.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
handoff-20260429-1057
shrimbly 5 months ago
parent
commit
66d231854c
  1. 5
      src/store/execution/nanoBananaExecutor.ts
  2. 29
      src/store/workflowStore.ts

5
src/store/execution/nanoBananaExecutor.ts

@ -65,8 +65,9 @@ export async function executeNanoBanana(
// Defensive: ensure promptText is actually a string at runtime
// (Guards against corrupted node data or race conditions in parallel execution)
if (promptText !== null && typeof promptText !== 'string') {
console.warn('[nanoBanana] promptText was not a string, coercing:', typeof promptText, Array.isArray(promptText) ? `<redacted array length=${promptText.length}>` : '<redacted>');
promptText = Array.isArray(promptText) ? (promptText as string[])[0] ?? null : null;
const raw: unknown = promptText;
console.warn('[nanoBanana] promptText was not a string, coercing:', typeof raw, Array.isArray(raw) ? `<redacted array length=${raw.length}>` : '<redacted>');
promptText = Array.isArray(raw) ? (raw as string[])[0] ?? null : null;
}
if (!promptText) {

29
src/store/workflowStore.ts

@ -533,39 +533,36 @@ export const useWorkflowStore = create<WorkflowStore>((set, get) => ({
},
onConnect: (connection: Connection, edgeDataOverrides?: Record<string, unknown>) => {
set((state) => ({
edges: addEdge(
(() => {
set((state) => {
const baseData = buildConnectionEdgeData(connection, state.nodes, state.edges);
return {
const newEdge = {
...connection,
id: `edge-${connection.source}-${connection.target}-${connection.sourceHandle || "default"}-${connection.targetHandle || "default"}`,
data: edgeDataOverrides ? { ...baseData, ...edgeDataOverrides } : baseData,
};
})(),
state.edges
),
// Cast needed: React Flow's Edge<T> types data as T | undefined, but addEdge expects data to be defined
return {
edges: addEdge(newEdge, state.edges as never) as WorkflowEdge[],
hasUnsavedChanges: true,
}));
};
});
get().incrementManualChangeCount();
},
addEdgeWithType: (connection: Connection, edgeType: string, edgeDataOverrides?: Record<string, unknown>) => {
set((state) => ({
edges: addEdge(
(() => {
set((state) => {
const baseData = buildConnectionEdgeData(connection, state.nodes, state.edges);
return {
const newEdge = {
...connection,
id: `edge-${connection.source}-${connection.target}-${connection.sourceHandle || "default"}-${connection.targetHandle || "default"}`,
type: edgeType,
data: edgeDataOverrides ? { ...baseData, ...edgeDataOverrides } : baseData,
};
})(),
state.edges
),
return {
edges: addEdge(newEdge, state.edges as never) as WorkflowEdge[],
hasUnsavedChanges: true,
}));
};
});
},
removeEdge: (edgeId: string) => {

Loading…
Cancel
Save