From 006c64c1f5574996f169ce9847d1b5bbdc101ac1 Mon Sep 17 00:00:00 2001 From: shrimbly Date: Thu, 19 Feb 2026 23:37:08 +1300 Subject: [PATCH] fix: revert all-provider cost tracking and hide indicator for audio nodes MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Restore fal-only cost tracking guard in video/audio executors — other providers don't have reliable pricing. Also add generateAudio to hasNonGeminiProviders so the CostIndicator hides when audio nodes are present. Co-Authored-By: Claude Opus 4.6 --- src/store/execution/generateAudioExecutor.ts | 2 +- src/store/execution/generateVideoExecutor.ts | 2 +- src/utils/costCalculator.ts | 3 +++ 3 files changed, 5 insertions(+), 2 deletions(-) diff --git a/src/store/execution/generateAudioExecutor.ts b/src/store/execution/generateAudioExecutor.ts index 47745f5b..8b76024c 100644 --- a/src/store/execution/generateAudioExecutor.ts +++ b/src/store/execution/generateAudioExecutor.ts @@ -141,7 +141,7 @@ export async function executeGenerateAudio( }); // Track cost - if (nodeData.selectedModel?.pricing) { + if (nodeData.selectedModel?.provider === "fal" && nodeData.selectedModel?.pricing) { addIncurredCost(nodeData.selectedModel.pricing.amount); } diff --git a/src/store/execution/generateVideoExecutor.ts b/src/store/execution/generateVideoExecutor.ts index 0c1952b2..4bb47222 100644 --- a/src/store/execution/generateVideoExecutor.ts +++ b/src/store/execution/generateVideoExecutor.ts @@ -148,7 +148,7 @@ export async function executeGenerateVideo( }); // Track cost - if (nodeData.selectedModel?.pricing) { + if (nodeData.selectedModel?.provider === "fal" && nodeData.selectedModel?.pricing) { addIncurredCost(nodeData.selectedModel.pricing.amount); } diff --git a/src/utils/costCalculator.ts b/src/utils/costCalculator.ts index 320faf21..019d381e 100644 --- a/src/utils/costCalculator.ts +++ b/src/utils/costCalculator.ts @@ -258,6 +258,9 @@ export function hasNonGeminiProviders(nodes: WorkflowNode[]): boolean { const data = node.data as Generate3DNodeData; return data.selectedModel?.provider !== undefined && data.selectedModel.provider !== "gemini"; } + if (node.type === "generateAudio") { + return true; // Audio nodes are always non-Gemini + } return false; }); }