Universal CSV Importer #70
|
|
@ -5,14 +5,14 @@ import { Handle, Position } from 'reactflow'
|
|||
*
|
||||
* Properties:
|
||||
* - data.label: Node-Label
|
||||
* - data.prompt_id: ID des referenzierten Basis-Prompts
|
||||
* - data.prompt_slug: Slug des referenzierten Basis-Prompts
|
||||
* - data.prompt_name: Name des Prompts (optional, für Display)
|
||||
* - data.questions: Array von Question Augmentations
|
||||
* - selected: Boolean
|
||||
*/
|
||||
export function AnalysisNode({ data, selected }) {
|
||||
const hasQuestions = data.questions?.length > 0
|
||||
const promptName = data.prompt_name || (data.prompt_id ? `Prompt #${data.prompt_id}` : 'Kein Prompt')
|
||||
const promptName = data.prompt_name || (data.prompt_slug ? `Prompt: ${data.prompt_slug}` : 'Kein Prompt')
|
||||
const questionCount = data.questions?.length || 0
|
||||
|
||||
return (
|
||||
|
|
|
|||
|
|
@ -78,7 +78,7 @@ export function deserializeFromWorkflowGraph(jsonbData) {
|
|||
label: node.label,
|
||||
|
||||
...(node.type === 'analysis' && {
|
||||
prompt_slug: node.prompt_slug,
|
||||
prompt_slug: node.prompt_slug || node.prompt_id || null, // Fallback für alte Workflows mit prompt_id
|
||||
prompt_name: node.prompt_name || null, // Falls vom Backend mitgeliefert
|
||||
questions: node.questions || [],
|
||||
fallback_strategy: node.fallback_strategy || 'conservative_skip'
|
||||
|
|
|
|||
|
|
@ -88,7 +88,7 @@ function validateLogic(nodes, edges, errors, warnings) {
|
|||
const questions = node.data.questions || []
|
||||
|
||||
// Prompt ausgewählt?
|
||||
if (!node.data.prompt_id) {
|
||||
if (!node.data.prompt_slug) {
|
||||
errors.push({
|
||||
type: 'config',
|
||||
message: `Analysis-Node "${node.data.label}" hat keinen Prompt`,
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user