// ======================================== // CliExecutionSettings Component // ======================================== // Shared execution parameter controls (tool, mode, resumeStrategy) // extracted from QueueExecuteInSession and QueueSendToOrchestrator. import { useIntl } from 'react-intl'; import { Card, CardContent } from '@/components/ui/Card'; import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue, } from '@/components/ui/Select'; import { cn } from '@/lib/utils'; // --------------------------------------------------------------------------- // Types // --------------------------------------------------------------------------- export type ToolName = 'claude' | 'codex' | 'gemini' | 'qwen'; export type ExecutionMode = 'analysis' | 'write'; export type ResumeStrategy = 'nativeResume' | 'promptConcat'; export interface CliExecutionSettingsProps { /** Currently selected tool. */ tool: ToolName; /** Currently selected execution mode. */ mode: ExecutionMode; /** Currently selected resume strategy. */ resumeStrategy: ResumeStrategy; /** Callback when tool changes. */ onToolChange: (tool: ToolName) => void; /** Callback when mode changes. */ onModeChange: (mode: ExecutionMode) => void; /** Callback when resume strategy changes. */ onResumeStrategyChange: (strategy: ResumeStrategy) => void; /** Available tool options. Defaults to claude, codex, gemini, qwen. */ toolOptions?: ToolName[]; /** Additional CSS class. */ className?: string; } // --------------------------------------------------------------------------- // Default tool list // --------------------------------------------------------------------------- const DEFAULT_TOOL_OPTIONS: ToolName[] = ['claude', 'codex', 'gemini', 'qwen']; // --------------------------------------------------------------------------- // Component // --------------------------------------------------------------------------- export function CliExecutionSettings({ tool, mode, resumeStrategy, onToolChange, onModeChange, onResumeStrategyChange, toolOptions = DEFAULT_TOOL_OPTIONS, className, }: CliExecutionSettingsProps) { const { formatMessage } = useIntl(); return (
{/* Tool selector */}
{/* Mode selector */}
{/* Resume strategy selector */}
); }