import type { AgentModelInfo, AgentModeInfo } from "sandbox-agent"; const ChatSetup = ({ agentMode, permissionMode, model, variant, modelOptions, defaultModel, modelsLoading, modelsError, variantOptions, defaultVariant, supportsVariants, activeModes, hasSession, modesLoading, modesError, onAgentModeChange, onPermissionModeChange, onModelChange, onVariantChange }: { agentMode: string; permissionMode: string; model: string; variant: string; modelOptions: AgentModelInfo[]; defaultModel: string; modelsLoading: boolean; modelsError: string | null; variantOptions: string[]; defaultVariant: string; supportsVariants: boolean; activeModes: AgentModeInfo[]; hasSession: boolean; modesLoading: boolean; modesError: string | null; onAgentModeChange: (value: string) => void; onPermissionModeChange: (value: string) => void; onModelChange: (value: string) => void; onVariantChange: (value: string) => void; }) => { const showModelSelect = modelsLoading || Boolean(modelsError) || modelOptions.length > 0; const hasModelOptions = modelOptions.length > 0; const showVariantSelect = supportsVariants && (modelsLoading || Boolean(modelsError) || variantOptions.length > 0); const hasVariantOptions = variantOptions.length > 0; const modelCustom = model && hasModelOptions && !modelOptions.some((entry) => entry.id === model); const variantCustom = variant && hasVariantOptions && !variantOptions.includes(variant); return (
Mode
Permission
Model {showModelSelect ? ( ) : ( onModelChange(e.target.value)} placeholder="Model" title="Model" disabled={!hasSession} /> )}
Variant {showVariantSelect ? ( ) : ( onVariantChange(e.target.value)} placeholder={supportsVariants ? "Variant" : "Variants unsupported"} title="Variant" disabled={!hasSession || !supportsVariants} /> )}
); }; export default ChatSetup;