"use client" import { XIcon } from "lucide-react" import { Button } from "@/components/ui/button" import type { AIWorkflowDefinition, AIWorkflowNodeSpec } from "@/lib/api/admin" import { NodeConfigPanel } from "./node-config-panel" import { getAvailableVariables, type WorkflowNodeData, } from "./workflow-utils" export function WorkflowConfigPanel({ definition, nodeSpecs, selectedNodeId, onClose, onChangeNodeData, onDeleteNode, }: { definition: AIWorkflowDefinition nodeSpecs: AIWorkflowNodeSpec[] selectedNodeId: string onClose: () => void onChangeNodeData: (nodeId: string, data: WorkflowNodeData) => void onDeleteNode: (nodeId: string) => void }) { const selectedNode = definition.nodes.find((node) => node.id === selectedNodeId) ?? null const selectedNodeSpec = selectedNode ? nodeSpecs.find((spec) => spec.type === selectedNode.type) : undefined const availableVariables = selectedNode ? getAvailableVariables(definition, selectedNode.id, nodeSpecs) : [] if (!selectedNode) { return null } return (