diff --git a/backend/workflow_executor.py b/backend/workflow_executor.py index 56d76b6..cdadb4a 100644 --- a/backend/workflow_executor.py +++ b/backend/workflow_executor.py @@ -624,6 +624,17 @@ def execute_end_node( logger.debug(f"End node {node.id}: Built template context for {len(template_context)} nodes") + # DEBUG: Log template context keys for each node + for node_id, node_ctx in template_context.items(): + logger.info(f"End node template context[{node_id}]: {list(node_ctx.keys())}") + # Log signal keys specifically + signal_keys = [k for k in node_ctx.keys() if k.startswith('signal_')] + question_keys = [k for k in node_ctx.keys() if k.startswith('question_')] + if signal_keys: + logger.info(f" Signals: {signal_keys} → values: {[(k, node_ctx[k]) for k in signal_keys]}") + if question_keys: + logger.info(f" Questions: {question_keys} → values: {[(k, node_ctx[k]) for k in question_keys]}") + # Render template try: jinja_template = Template(node.template) diff --git a/frontend/src/components/workflow/panels/PlaceholderPicker.jsx b/frontend/src/components/workflow/panels/PlaceholderPicker.jsx index 1259aaa..1f9b163 100644 --- a/frontend/src/components/workflow/panels/PlaceholderPicker.jsx +++ b/frontend/src/components/workflow/panels/PlaceholderPicker.jsx @@ -372,17 +372,27 @@ function extractWorkflowPlaceholders(nodes) { }) } - // Signals für Analysis Nodes mit Fragen + // Signals und Fragen für Analysis Nodes if (node.type === 'analysis' && node.data.questions && node.data.questions.length > 0) { node.data.questions.forEach((q, qIdx) => { - const questionId = q.id || `q${qIdx + 1}` + const questionType = q.type || `q${qIdx + 1}` const questionText = q.question || `Frage ${qIdx + 1}` + + // Signal-Platzhalter (Antwort) placeholders.push({ - placeholder: `{{ ${nodeId}.signal_${questionId} }}`, + placeholder: `{{ ${nodeId}.signal_${questionType} }}`, description: `${nodeLabel} - Signal: ${questionText.substring(0, 50)}${questionText.length > 50 ? '...' : ''}`, icon: '📊', category: 'Workflow - Signals' }) + + // Frage-Text-Platzhalter + placeholders.push({ + placeholder: `{{ ${nodeId}.question_${questionType} }}`, + description: `${nodeLabel} - Frage-Text: ${questionText.substring(0, 50)}${questionText.length > 50 ? '...' : ''}`, + icon: '❓', + category: 'Workflow - Questions' + }) }) } })