import { CopilotRuntime, ExperimentalEmptyAdapter, copilotRuntimeNextJSAppRouterEndpoint, } from "@copilotkit/runtime"; import { HttpAgent } from "@ag-ui/client"; import { NextRequest } from "next/server"; // 1. You can use any service adapter here for multi-agent support. We use // the empty adapter since we're only using one agent. const serviceAdapter = new ExperimentalEmptyAdapter(); // 2. Create the CopilotRuntime instance and utilize the Strands AG-UI // integration to setup the connection. const runtime = new CopilotRuntime({ agents: { // Our FastAPI endpoint URL strands_agent: new HttpAgent({ url: process.env.AGENT_URL || process.env.STRANDS_AGENT_URL || "http://localhost:8000", }), }, }); // 3. Build a Next.js API route that handles the CopilotKit runtime requests. export const POST = async (req: NextRequest) => { const { handleRequest } = copilotRuntimeNextJSAppRouterEndpoint({ runtime, serviceAdapter, endpoint: "/api/copilotkit", }); return handleRequest(req); };