fix: SSE streaming - WorkflowNode label attribute and ai_insights column name
All checks were successful
Deploy Development / deploy (push) Successful in 52s
Build Test / pytest-backend (push) Successful in 4s
Build Test / lint-backend (push) Successful in 0s
Build Test / build-frontend (push) Successful in 16s

- workflow_executor.py: Generate node_label from prompt_slug or node.type (WorkflowNode has no label attribute)
- prompts.py: Fix INSERT statement - use 'created' column instead of 'created_at'

SSE endpoint now works correctly for workflow execution streaming.
This commit is contained in:
Lars 2026-04-13 11:47:31 +02:00
parent bb01283727
commit fb2e0803c0
2 changed files with 5 additions and 3 deletions

View File

@ -1555,8 +1555,8 @@ async def execute_unified_prompt_stream(
with get_db() as conn: with get_db() as conn:
cur = get_cursor(conn) cur = get_cursor(conn)
cur.execute( cur.execute(
"""INSERT INTO ai_insights (profile_id, scope, content, metadata, created_at) """INSERT INTO ai_insights (profile_id, scope, content, metadata, created)
VALUES (%s, %s, %s, %s, NOW())""", VALUES (%s, %s, %s, %s, CURRENT_TIMESTAMP)""",
(profile_id, prompt_slug, content, json.dumps({"prompt_type": result['type']})) (profile_id, prompt_slug, content, json.dumps({"prompt_type": result['type']}))
) )
conn.commit() conn.commit()

View File

@ -171,10 +171,12 @@ async def execute_workflow(
# NEW: Progress-Callback aufrufen (für SSE Streaming) # NEW: Progress-Callback aufrufen (für SSE Streaming)
if progress_callback: if progress_callback:
# Create a meaningful label for the node
node_label = node.prompt_slug if hasattr(node, 'prompt_slug') and node.prompt_slug else f"{node.type.value}-{node_id[:8]}"
await progress_callback("node_complete", { await progress_callback("node_complete", {
"node_id": node_id, "node_id": node_id,
"node_type": node.type, "node_type": node.type,
"node_label": node.label, "node_label": node_label,
"status": node_state.status.value, "status": node_state.status.value,
"total_nodes": len(graph.nodes), "total_nodes": len(graph.nodes),
"completed_nodes": len([ns for ns in node_states if ns.status in [NodeStatus.COMPLETED, NodeStatus.SKIPPED]]), "completed_nodes": len([ns for ns in node_states if ns.status in [NodeStatus.COMPLETED, NodeStatus.SKIPPED]]),