From af7c5ca55ad5ceffe7b714617b97a743b1c4ebf3 Mon Sep 17 00:00:00 2001 From: Lars Date: Thu, 9 Apr 2026 13:59:54 +0200 Subject: [PATCH] =?UTF-8?q?fix:=20Workflow=20execute=20-=20prompt=5Fid=20?= =?UTF-8?q?=E2=86=92=20prompt=5Fslug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit **Problem:** Execute-Button funktionierte, aber Ausführung scheiterte mit "Prompt not found: none" im Analysis Node. **Root Cause:** Mismatch zwischen Frontend (speicherte prompt_id/UUID) und Backend (erwartete prompt_slug/String). Backend WorkflowNode Model (workflow_models.py:193): prompt_slug: Optional[str] = Field(...) **Änderungen:** - WorkflowEditorPage.jsx: Dropdown auf slug umgestellt - value: prompt_slug statt prompt_id - onChange: selectedPrompt.slug statt .id - handleNodeUpdate: prompt_slug speichern - workflowSerializer.js: Serialization/Deserialization - Serialize: prompt_slug statt prompt_id - Deserialize: node.prompt_slug lesen **Testing:** - Workflow mit Analysis Node neu erstellen - Execute-Button sollte jetzt funktionieren Part 2 Bugfix - Workflow Execution Co-Authored-By: Claude Opus 4.6 --- frontend/src/pages/WorkflowEditorPage.jsx | 16 ++++++++-------- frontend/src/utils/workflowSerializer.js | 4 ++-- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/frontend/src/pages/WorkflowEditorPage.jsx b/frontend/src/pages/WorkflowEditorPage.jsx index a761be2..0aae0c2 100644 --- a/frontend/src/pages/WorkflowEditorPage.jsx +++ b/frontend/src/pages/WorkflowEditorPage.jsx @@ -426,14 +426,14 @@ export default function WorkflowEditorPage() {
- {selectedNode.data.prompt_id && ( + {selectedNode.data.prompt_slug && (
- Prompt ID: {selectedNode.data.prompt_id} ({selectedNode.data.prompt_name || 'unbekannt'}) + Prompt: {selectedNode.data.prompt_slug} ({selectedNode.data.prompt_name || 'unbekannt'})
)}
diff --git a/frontend/src/utils/workflowSerializer.js b/frontend/src/utils/workflowSerializer.js index 4983a5b..8d885bd 100644 --- a/frontend/src/utils/workflowSerializer.js +++ b/frontend/src/utils/workflowSerializer.js @@ -21,7 +21,7 @@ export function serializeToWorkflowGraph(nodes, edges, metadata = {}) { // Type-spezifische Felder ...(node.type === 'analysis' && { - prompt_id: node.data.prompt_id || null, + prompt_slug: node.data.prompt_slug || null, prompt_name: node.data.prompt_name || null, questions: node.data.questions || [], fallback_strategy: node.data.fallback_strategy || 'conservative_skip' @@ -78,7 +78,7 @@ export function deserializeFromWorkflowGraph(jsonbData) { label: node.label, ...(node.type === 'analysis' && { - prompt_id: node.prompt_id, + prompt_slug: node.prompt_slug, prompt_name: node.prompt_name || null, // Falls vom Backend mitgeliefert questions: node.questions || [], fallback_strategy: node.fallback_strategy || 'conservative_skip'