import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
import { Box, Text } from "ink";
const experimentalRows = [
    {
        key: "fileAnalysis",
        label: "File Analysis",
        description: "Allow image, PDF, DOCX, Markdown, and external-file inspection once provider plumbing is available."
    },
    {
        key: "memory",
        label: "Memory",
        description: "Enable the upcoming SQLite/vector memory layer for durable project/user notes."
    },
    {
        key: "subagents",
        label: "Subagents",
        description: "Enable explorer, planner, and reviewer advisors for larger workspace tasks."
    },
    {
        key: "shellMetacharacters",
        label: "Shell Metachars",
        description: "Allow pipes, &&, and ; in run_shell. Redirects and expansion still ask even in bypass."
    }
];
export function ExperimentalPanel(props) {
    return (_jsxs(Box, { borderStyle: "round", borderColor: "cyan", flexDirection: "column", paddingX: 2, height: props.height, overflowY: "hidden", children: [_jsx(Text, { color: "cyan", bold: true, children: "PatchPilot Experimental" }), _jsx(Text, { color: "white", children: "Use up/down to move, Space to toggle, Enter or Escape to close." }), _jsx(Box, { flexDirection: "column", marginTop: 2, children: experimentalRows.map((row, index) => {
                    const selected = index === props.selectedIndex;
                    const enabled = props.flags[row.key];
                    return (_jsxs(Box, { marginTop: index === 0 ? 0 : 1, children: [_jsx(Box, { width: 3, children: _jsx(Text, { color: selected ? "cyan" : "gray", children: selected ? ">" : " " }) }), _jsx(Box, { width: 5, children: _jsx(Text, { color: enabled ? "green" : "gray", children: enabled ? "[x]" : "[ ]" }) }), _jsx(Box, { width: 18, children: _jsx(Text, { color: selected ? "white" : "cyan", bold: selected, children: row.label }) }), _jsx(Text, { color: selected ? "white" : "gray", children: row.description })] }, row.key));
                }) })] }));
}
export function experimentalFlagAt(index) {
    return experimentalRows[Math.max(0, Math.min(index, experimentalRows.length - 1))]?.key ?? "fileAnalysis";
}
export function experimentalFlagCount() {
    return experimentalRows.length;
}
//# sourceMappingURL=ExperimentalPanel.js.map