Files
copilotkit__copilotkit/docs/next.config.mjs
John Rae-Grant e9e6fbdd85 Docs Rebranding with fixes (#2982)
Co-authored-by: Max Korp <maxkorp@8bytealchemy.com>
Co-authored-by: Santiago Cubino <scubino@litebox.ai>
Co-authored-by: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-01-08 14:28:26 -08:00

338 lines
8.8 KiB
JavaScript

import { createMDX } from 'fumadocs-mdx/next';
const withMDX = createMDX();
/** @type {import('next').NextConfig} */
const config = {
reactStrictMode: true,
env: {
RB2B_ID: process.env.RB2B_ID,
POSTHOG_KEY: process.env.POSTHOG_KEY,
POSTHOG_HOST: process.env.POSTHOG_HOST,
SCARF_PIXEL_ID: process.env.SCARF_PIXEL_ID,
},
images: {
remotePatterns: [
{
protocol: 'https',
hostname: 'github-production-user-asset-6210df.s3.amazonaws.com',
},
{
protocol: 'https',
hostname: 'fonts.gstatic.com',
},
{
protocol: 'https',
hostname: 'docs.copilotkit.ai',
},
{
protocol: 'https',
hostname: 'cdn.copilotkit.ai',
},
{
protocol: 'https',
hostname: '**',
},
],
},
skipTrailingSlashRedirect: true,
skipProxyUrlNormalize: true,
// turbopack: true, // Disabled due to pnpm monorepo issues
async rewrites() {
const integrations = [
'adk',
'a2a',
'ag2',
'agno',
'agent-spec',
'crewai-flows',
'crewai-crews',
'direct-to-llm',
'langgraph',
'llamaindex',
'mastra',
'pydantic-ai',
'microsoft-agent-framework',
'aws-strands',
];
return {
beforeFiles: integrations.map((integration) => ({
source: `/${integration}/:path*`,
destination: `/integrations/${integration}/:path*`,
})),
};
},
async redirects() {
return [
{
source: '/coagents/:path*',
destination: '/langgraph/:path*',
permanent: true,
},
{
source: '/coagents/tutorials/ai-travel-app/overview',
destination: '/coagents/tutorials/ai-travel-app',
permanent: true,
},
{
source: '/coagents/chat-ui/hitl/json-hitl',
destination: '/coagents/chat-ui/hitl',
permanent: true,
},
{
source: '/coagents/react-ui/frontend-functions',
destination: '/coagents/react-ui/hitl',
permanent: true,
},
{
source: '/coagents/chat-ui/render-agent-state',
destination: '/coagents/generative-ui/agentic',
permanent: true,
},
{
source: '/coagents/chat-ui/hitl',
destination: '/coagents/human-in-the-loop/node-flow',
permanent: true,
},
{
source: '/coagents/chat-ui/hitl/interrupt-flow',
destination: '/coagents/human-in-the-loop/interrupt-flow',
permanent: true,
},
{
source: '/coagents/chat-ui/loading-message-history',
destination: '/coagents/persistence/loading-message-history',
permanent: true,
},
{
source: '/coagents/react-ui/in-app-agent-read',
destination: '/coagents/shared-state/in-app-agent-read',
permanent: true,
},
{
source: '/coagents/react-ui/in-app-agent-write',
destination: '/coagents/shared-state/in-app-agent-write',
permanent: true,
},
{
source: '/coagents/react-ui/hitl',
destination: '/coagents/human-in-the-loop/node-flow',
permanent: true,
},
{
source: '/coagents/advanced/router-mode-agent-lock',
destination: '/coagents',
permanent: true,
},
{
source: '/coagents/advanced/intermediate-state-streaming',
destination: '/coagents/shared-state/predictive-state-updates',
permanent: true,
},
{
source: '/coagents/shared-state/intermediate-state-streaming',
destination: '/coagents/shared-state/predictive-state-updates',
permanent: true,
},
{
source: '/coagents/advanced/manually-emitting-messages',
destination: '/coagents/advanced/emit-messages',
permanent: true,
},
{
source: '/coagents/advanced/state-streaming',
destination: '/coagents/shared-state',
permanent: true,
},
{
source: '/coagents/advanced/copilotkit-state',
destination: '/coagents/frontend-actions',
permanent: true,
},
{
source: '/coagents/advanced/message-persistence',
destination: '/coagents/persistence/message-persistence',
permanent: true,
},
{
source: '/coagents/advanced/loading-message-history',
destination: '/coagents/persistence/loading-message-history',
permanent: true,
},
{
source: '/coagents/advanced/loading-agent-state',
destination: '/coagents/persistence/loading-agent-state',
permanent: true,
},
{
source: '/coagents/concepts/state',
destination: '/coagents/shared-state',
permanent: true,
},
{
source: '/coagents/concepts/human-in-the-loop',
destination: '/coagents/human-in-the-loop',
permanent: true,
},
{
source: '/coagents/concepts/multi-agent-flows',
destination: '/coagents',
permanent: true,
},
{
source: '/llamaindex/multi-agent-flows',
destination: '/llamaindex',
permanent: true,
},
{
source: '/crewai-crews/multi-agent-flows',
destination: '/crewai-crews',
permanent: true,
},
{
source: '/crewai-flows/multi-agent-flows',
destination: '/crewai-flows',
permanent: true,
},
{
source: '/langgraph/advanced/multi-agent-flows',
destination: '/langgraph',
permanent: true,
},
{
source: '/coagents/quickstart/langgraph',
destination: '/coagents/quickstart',
permanent: true,
},
{
source: '/crewai-crews/quickstart/crewai',
destination: '/crewai-crews/quickstart',
permanent: true,
},
{
source: '/crewai-flows/quickstart/crewai',
destination: '/crewai-flows/quickstart',
permanent: true,
},
{
source: '/mastra/quickstart/mastra',
destination: '/mastra/quickstart',
permanent: true,
},
{
source: '/ag2/quickstart/ag2',
destination: '/ag2/quickstart',
permanent: true,
},
{
source: '/llamaindex/',
destination: '/llamaindex',
permanent: true,
},
{
source: '/agno/quickstart/agno',
destination: '/agno/quickstart',
permanent: true,
},
{
source: '/mcp',
destination: '/vibe-coding-mcp',
permanent: true,
},
{
source: '/ag2/mcp',
destination: '/ag2/vibe-coding-mcp',
permanent: true,
},
{
source: '/agno/mcp',
destination: '/agno/vibe-coding-mcp',
permanent: true,
},
{
source: '/crewai-crews/mcp',
destination: '/crewai-crews/vibe-coding-mcp',
permanent: true,
},
{
source: '/crewai-flows/mcp',
destination: '/crewai-flows/vibe-coding-mcp',
permanent: true,
},
{
source: '/direct-to-llm/guides/mcp',
destination: '/direct-to-llm/guides/vibe-coding-mcp',
permanent: true,
},
{
source: '/langgraph/mcp',
destination: '/langgraph/vibe-coding-mcp',
permanent: true,
},
{
source: '/llamaindex/mcp',
destination: '/llamaindex/vibe-coding-mcp',
permanent: true,
},
{
source: '/mastra/mcp',
destination: '/mastra/vibe-coding-mcp',
permanent: true,
},
{
source: '/pydantic-ai/mcp',
destination: '/pydantic-ai/vibe-coding-mcp',
permanent: true,
},
{
source: '/pydantic-ai/quickstart/pydantic-ai',
destination: '/pydantic-ai/quickstart',
permanent: true,
},
{
source: '/adk/quickstart/adk',
destination: '/adk/quickstart',
permanent: true,
},
{
source: '/adk/mcp',
destination: '/adk/vibe-coding-mcp',
permanent: true,
},
{
source: "/a2a/generative-ui",
destination: "/a2a/generative-ui/declarative-a2ui",
permanent: true,
},
{
source: "/adk/shared-state/state-inputs-outputs",
destination: "/adk/shared-state/workflow-execution",
permanent: true,
},
{
source: "/langgraph/shared-state/state-inputs-outputs",
destination: "/langgraph/shared-state/workflow-execution",
permanent: true,
},
{
source: "/llamaindex/shared-state/state-inputs-outputs",
destination: "/llamaindex/shared-state/workflow-execution",
permanent: true,
},
{
source: "/coagents/shared-state/state-inputs-outputs",
destination: "/langgraph/shared-state/workflow-execution",
permanent: true,
},
];
},
};
export default withMDX(config);