import { Bot, ChevronDown, ChevronUp, CircleUser, Layers, Radio, Shuffle, Trash2 } from 'lucide-react'; import { findModel, getSupportedReasoningEfforts, resolveReasoningEffort, type ModelDefinition, } from '@shared/domain/models'; import type { OrchestrationMode, PatternAgentDefinition, PatternGraph, PatternGraphNodeKind, } from '@shared/domain/pattern'; import { canMoveSequential, findAgentForNode, swapSequentialOrder, } from '@renderer/lib/patternGraph'; import { ModelSelect, ReasoningEffortSelect } from '../AgentConfigFields'; interface PatternGraphInspectorProps { availableModels: ReadonlyArray; agents: PatternAgentDefinition[]; graph: PatternGraph; mode: OrchestrationMode; selectedNodeId: string | null; onAgentChange: (agentId: string, patch: Partial) => void; onAgentRemove: (agentId: string) => void; onGraphChange: (graph: PatternGraph) => void; } function InputField({ label, value, onChange, multiline, placeholder, }: { label: string; value: string; onChange: (value: string) => void; multiline?: boolean; placeholder?: string; }) { const base = 'w-full rounded-lg border border-zinc-700 bg-zinc-900 px-3 py-2 text-[13px] text-zinc-100 placeholder-zinc-600 outline-none transition focus:border-indigo-500/50'; return (