import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
import { Box } from 'ink';
import { ChatHistory } from '../../app/components/chat-history.js';
import { NonInteractiveStatus } from '../../app/components/non-interactive-status.js';
import { NonInteractiveRenderContext } from '../../hooks/useNonInteractiveRender.js';
/**
 * Minimal Ink shell used for `run` (non-interactive) mode.
 *
 * Renders only the transcript plus a single status line. Deliberately
 * excludes ChatInput, modal selectors, the file explorer, the IDE selector,
 * the scheduler view, and any other interactive-only surface.
 *
 * Provides NonInteractiveRenderContext to its subtree so shared message
 * components (AssistantMessage, UserMessage, StreamingMessage, etc.) can
 * drop boxes/headers/token counters and render plain text.
 */
export function NonInteractiveShell({ startChat, staticComponents, queuedComponents, liveComponent, statusMessage, }) {
    return (_jsx(NonInteractiveRenderContext.Provider, { value: true, children: _jsxs(Box, { flexDirection: "column", paddingX: 1, width: "100%", children: [_jsx(ChatHistory, { startChat: startChat, staticComponents: staticComponents, queuedComponents: queuedComponents, liveComponent: liveComponent }), _jsx(NonInteractiveStatus, { message: statusMessage })] }) }));
}
//# sourceMappingURL=non-interactive-shell.js.map