Files
copilotkit__copilotkit/examples/v2/node-express/src/index.ts
Tyler Slaton 96885b5959 refactor: consolidate V1/V2 packages into flat @copilotkit/* structure
Flatten all packages from packages/v1/* and packages/v2/* into packages/* —
every package now lives directly under the @copilotkit/ scope with no v1/v2
subdirectories.

- Move all v1 packages (react-core, react-ui, runtime, shared, etc.) from
  packages/v1/* to packages/*
- Absorb v2 react code into packages/react-core/src/v2/ (exported via /v2 subpath)
- Absorb v2 agent code into packages/runtime/src/agent/ (exported via /v2 subpath)
- Move v2 packages (core, angular, demo-agents, etc.) to packages/*
- Replace all @copilotkitnext/* imports with @copilotkit/* equivalents
- Keep @copilotkitnext/angular as the sole exception (angular remains on next)
- Update CI workflows, renovate config, release scripts for flat structure
- No public API surface changes — all exports fields are preserved

Co-authored-by: Alem Tuzlak <t.zlak@hotmail.com>
Signed-off-by: Tyler Slaton <tyler@copilotkit.ai>
2026-03-28 16:45:10 -07:00

52 lines
1.1 KiB
TypeScript

import express from "express";
import dotenv from "dotenv";
import { z } from "zod";
import {
CopilotRuntime,
createCopilotEndpointSingleRouteExpress,
BuiltInAgent,
defineTool,
ToolDefinition,
} from "@copilotkit/runtime/v2";
dotenv.config();
const roastTool = defineTool({
name: "sayHello",
description: "Say hello while roasting the user's name",
parameters: z.object({
roast: z.string().describe("A playful roast about the user's name"),
}),
execute: async ({ roast }) => {
console.log(roast);
return "The person has been roasted.";
},
}) as unknown as ToolDefinition;
const runtime = new CopilotRuntime({
agents: {
default: new BuiltInAgent({
model: "openai/gpt-4o-mini",
tools: [roastTool],
}),
},
});
const app = express();
app.use(
"/api/copilotkit",
createCopilotEndpointSingleRouteExpress({
runtime,
basePath: "/",
}),
);
const port = Number(process.env.PORT ?? 4000);
app.listen(port, () => {
console.log(
`CopilotKit v2 runtime listening at http://localhost:${port}/api/copilotkit`,
);
});