import { RootProvider } from 'fumadocs-ui/provider/next'; import type { Metadata } from 'next'; import { Analytics } from '@vercel/analytics/next'; import './global.css'; import { JetBrains_Mono } from 'next/font/google'; import localFont from 'next/font/local'; import { PostHogProvider } from '@/components/posthog-provider'; import CustomSearchDialog from '@/components/custom-search-dialog'; import { ScrollReset } from '@/components/scroll-reset'; import { source, referenceSource } from '@/lib/source'; const defaultLinkSlugs: { slug: string[]; source: typeof source }[] = [ { slug: ['quickstart'], source }, { slug: ['authentication'], source }, { slug: ['configuring-sessions'], source }, { slug: ['white-labeling-authentication'], source }, { slug: ['glossary'], source: referenceSource }, { slug: ['troubleshooting'], source }, ]; const defaultLinks = defaultLinkSlugs.flatMap(({ slug, source: pageSource }) => { const page = pageSource.getPage(slug); if (!page) return []; return [{ title: page.data.title, description: page.data.description ?? '', href: page.url }]; }); export const metadata: Metadata = { title: { default: 'Composio Docs', template: '%s | Composio', }, description: 'Build AI agents with 1000+ tools. Connect LLMs to external services like GitHub, Slack, Gmail, and more.', metadataBase: new URL('https://docs.composio.dev'), openGraph: { title: 'Composio Docs', description: 'Build AI agents with 1000+ tools. Connect LLMs to external services like GitHub, Slack, Gmail, and more.', siteName: 'Composio Docs', type: 'website', images: ['https://og.composio.dev/api/og?title=Composio%20Docs'], }, twitter: { card: 'summary_large_image', title: 'Composio Docs', description: 'Build AI agents with 1000+ tools. Connect LLMs to external services like GitHub, Slack, Gmail, and more.', images: ['https://og.composio.dev/api/og?title=Composio%20Docs'], }, }; const abcDiatype = localFont({ src: [ { path: '../public/fonts/ABCDiatype-Regular.woff2', weight: '400', style: 'normal' }, { path: '../public/fonts/ABCDiatype-RegularItalic.woff2', weight: '400', style: 'italic' }, { path: '../public/fonts/ABCDiatype-Medium.woff2', weight: '500', style: 'normal' }, ], variable: '--font-sans', display: 'swap', }); const jetbrainsMono = JetBrains_Mono({ subsets: ['latin'], variable: '--font-mono', display: 'swap', }); export default function Layout({ children }: LayoutProps<'/'>) { return (