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-[var(--color-border)] bg-[var(--color-surface-1)] px-3 py-2 text-[13px] text-[var(--color-text-primary)] placeholder-[var(--color-text-muted)] outline-none transition focus:border-[var(--color-accent)]/50'; return (