import type { Metadata } from "next"; import { Fraunces, IBM_Plex_Sans, JetBrains_Mono, Noto_Serif_SC } from "next/font/google"; import "./globals.css"; const display = Fraunces({ subsets: ["latin"], weight: ["400", "500", "600", "700"], variable: "--font-display", display: "swap", }); const body = IBM_Plex_Sans({ subsets: ["latin"], weight: ["400", "500", "600"], variable: "--font-body", display: "swap", }); const mono = JetBrains_Mono({ subsets: ["latin"], weight: ["400", "500", "600"], variable: "--font-mono", display: "swap", }); // Noto Serif SC is heavy; load only what we need for decorative anchors. const cjk = Noto_Serif_SC({ subsets: ["latin"], weight: ["400", "700"], variable: "--font-cjk", display: "swap", preload: false, }); export const metadata: Metadata = { title: "CodeWhale ยท DeepSeek V4 Agent Harness", description: "Local-first agent harness for DeepSeek V4 and open models: operating identity, conflict law, local tools, evidence, and recovery.", metadataBase: new URL("https://codewhale.net"), openGraph: { title: "CodeWhale", description: "Local-first agent harness with operating identity, conflict law, local tools, evidence, and recovery.", url: "https://codewhale.net", siteName: "CodeWhale", type: "website", }, twitter: { card: "summary_large_image" }, }; export default function RootLayout({ children }: { children: React.ReactNode }) { return ( {children} ); }