import { useState } from "react"; import { useSessionStream } from "../stream/useSessionStream"; import { WidgetHost } from "./WidgetHost"; import { NavSessions } from "./NavSessions"; import { NewSessionDialog } from "./NewSessionDialog"; import { SteerInput } from "./SteerInput"; import { WorkflowBar } from "./WorkflowBar"; export function AppShell() { const [activeSessionId, setActiveSessionId] = useState(null); const [sidebarOpen, setSidebarOpen] = useState(true); useSessionStream(activeSessionId); function handleSessionSelect(id: string) { setActiveSessionId(id); } function handleCreated(id: string) { setActiveSessionId(id); } return (
{/* Left nav: new session button + sessions list */}
{/* Top workflow bar */}
{/* Center: chat + steer input */}
{activeSessionId && }
{/* Right artifact sidebar — collapsible */} {sidebarOpen && ( )}
); }