The plan now lives IN the chat (plan blocks, wave-4 item 3) and background processes live in the activity dock (item 1), so the right sidebar's tree panel + sub-agent fleet column is retired from the chat view: - delete components/tree-panel.tsx (three-mode rail/list/graph panel) and components/sub-agents-panel.tsx; their graph interaction machinery lives on in plan-block.tsx and fleet observability in activity-dock.tsx. - app/layout.tsx drops TreePanelModeProvider (the mode no longer exists). - chat.tsx drops the xl:flex right column; the middle column is the view. - tests: render-tree-panel.test.tsx deleted; the sub-agents panel suite removed from demos.test.tsx (dispatch cards' jobs-context stays — the central poll drives transcript dispatch cards).
28 lines
902 B
TypeScript
28 lines
902 B
TypeScript
import type { Metadata } from "next";
|
|
import "katex/dist/katex.min.css";
|
|
import "./globals.css";
|
|
import { AppShell, SidebarProvider } from "@/components/sidebar";
|
|
import { ActivityDock, ActivityProvider } from "@/components/activity-dock";
|
|
|
|
export const metadata: Metadata = {
|
|
title: "Learning Harness",
|
|
description: "A teacher agent with a memory — sessions, quizzes, and a knowledge graph of what you know.",
|
|
};
|
|
|
|
export default function RootLayout({ children }: { children: React.ReactNode }) {
|
|
return (
|
|
<html lang="en" className="dark">
|
|
<body className="min-h-dvh antialiased">
|
|
<SidebarProvider>
|
|
<ActivityProvider>
|
|
<AppShell>{children}</AppShell>
|
|
{/* The reserved bottom-right corner of every view — renders
|
|
nothing while no background process runs. */}
|
|
<ActivityDock />
|
|
</ActivityProvider>
|
|
</SidebarProvider>
|
|
</body>
|
|
</html>
|
|
);
|
|
}
|