Files
copilotkit__copilotkit/examples
Mark 14a294f2d8 Port the Pydantic AI example to Pydantic AI v2 (#6355)
This pull request was posted by Claude Code using claude-opus-5 on
behalf of David. David has not reviewed this diff.

`examples/integrations/pydantic-ai` only runs on Pydantic AI **v1**.
`Agent.to_ag_ui()`, `AGUIApp`, and the `pydantic_ai.ag_ui` shim were all
removed in v2 (pydantic/pydantic-ai#5464, announced in
pydantic/pydantic-ai#5345). The example pins `pydantic-ai-slim==1.0.18`,
so anyone installing it against current Pydantic AI (2.22.0) fails at
import.

This ports it to v2.

## Changes

1. `agent/pyproject.toml` — `pydantic-ai-slim[ag-ui,openai]>=2.0.0`,
`ag-ui-protocol>=0.1.19`
2. `agent/src/agent.py` — `StateDeps` moved from `pydantic_ai.ag_ui` to
`pydantic_ai.ui`
3. `agent/src/main.py` — serve via `AGUIAdapter.dispatch_request` on a
Starlette route
4. `agent/uv.lock` — relocked (resolves `pydantic-ai-slim` 2.22.0,
`ag-ui-protocol` 0.1.19)

## One fix beyond the mechanical port

The old wiring built the app once around a single shared `StateDeps`
instance. `dispatch_request` mutates `deps.state` with the state the
client sends, so one shared instance lets state leak between threads,
channels and users — which matters more for Channels than it did for a
single browser tab. Each request now gets its own `replace(deps)` copy,
matching the pattern in [Pydantic AI's own AG-UI
examples](https://github.com/pydantic/pydantic-ai/blob/main/examples/pydantic_ai_examples/ag_ui/api/shared_state.py).

<details><summary>Verified end to end</summary>

`uv sync` + a request through the actual ASGI app (model overridden with
`TestModel` so no API call), with a Channels-shaped payload (`threadId`,
`state`, `forwardedProps`):

```
health: 200 {'status': 'ok'}
POST / -> 200 text/event-stream; charset=utf-8
event types: ['RUN_STARTED', 'TOOL_CALL_START', 'TOOL_CALL_END', 'TOOL_CALL_START', 'TOOL_CALL_ARGS',
 'TOOL_CALL_END', ..., 'TOOL_CALL_RESULT', 'STATE_SNAPSHOT', 'TOOL_CALL_RESULT', 'STATE_SNAPSHOT',
 'TEXT_MESSAGE_START', 'TEXT_MESSAGE_CONTENT', ..., 'TEXT_MESSAGE_END', 'RUN_FINISHED']
threadId echoed: slack-C123-thread-1
tool call: get_proverbs
tool call: add_proverbs
tool call: set_proverbs
tool call: get_weather
```

The emitted event set is exactly what `channels-slack`'s `RunRenderer`
subscribes to (`RUN_*`, `TEXT_MESSAGE_*`, `TOOL_CALL_*`), plus
`STATE_SNAPSHOT` which it ignores.

</details>

<details><summary>Note on <code>ag-ui-protocol</code>: 0.1.19, not
0.1.18</summary>

Not required by this port, but worth pinning forward: typed multimodal
input content (`ImageInputContent` &c.) landed in 0.1.15 and the
interrupt lifecycle in 0.1.19. We found that a Pydantic AI install below
0.1.15 rejects an inbound image attachment with a 422 rather than
skipping it — so a Channels gateway forwarding a Slack image needs the
newer floor. We're tracking that on our side.

</details>
2026-08-04 09:02:10 -07:00
..

CopilotKit Examples

This directory contains 50 consolidated demo repositories showcasing CopilotKit integrations, canvas apps, and showcases.

Each example is a self-contained project. To get started:

GIT_LFS_SKIP_SMUDGE=1 git clone <repo-url>
cd examples/<category>/<name>
# Follow the example's own README for setup instructions

Note: The v1/ and v2/ directories at the top level are legacy workspace examples from earlier CopilotKit releases and are not part of the consolidated demo set.


Integrations (19)

Framework integration starters demonstrating CopilotKit with various agent frameworks.

Example Description
langgraph-python Starter template for building AI agents using LangGraph (Python) and CopilotKit
langgraph-js Starter template for building AI agents using LangGraph (JS) with Turborepo monorepo
langgraph-fastapi Starter template for building AI agents using LangGraph with FastAPI and Poetry
mastra Starter template for building AI agents using Mastra and CopilotKit
crewai-flows Starter template for building AI agents using CrewAI Flows (uv-based)
llamaindex Starter template with a LlamaIndex investment analyst agent
pydantic-ai Starter template with a PydanticAI investment analyst agent
ms-agent-framework-python CopilotKit with Microsoft Agent Framework (Python/FastAPI, AG-UI protocol)
ms-agent-framework-dotnet CopilotKit with Microsoft Agent Framework (.NET/C#, AG-UI protocol)
strands-python Starter template with a Strands investment analyst agent
mcp-apps Integration of MCP Apps with CopilotKit using Three.js
adk Starter template using Google ADK with an investment analyst agent
agent-spec Starter for Agent Spec with A2UI-powered frontend tool rendering
a2a-a2ui Starter for A2UI + A2A with a restaurant finder agent (Gemini/ADK)
agno Starter template using Agno with an investment analyst agent
crewai-crews Starter template for building AI agents using CrewAI Crews
a2a-middleware Multi-agent starter with A2A Protocol and AG-UI Protocol (LangGraph + ADK)
claude-sdk-python Starter template using the Claude Agent SDK (Python) and CopilotKit
claude-sdk-typescript Starter template using the Claude Agent SDK (TypeScript) and CopilotKit

Canvas (7)

AI-powered canvas applications with visual card interfaces, real-time state sync, and HITL workflows.

Example Description
langgraph-python AG-UI canvas starter with LangGraph — interactive cards with real-time AI sync
llamaindex AG-UI canvas starter with LlamaIndex — visual cards, multi-step planning, HITL
llamaindex-composio Hackathon starter with LlamaIndex, CopilotKit, and Composio (Google Sheets integration)
pydantic-ai AG-UI canvas starter with PydanticAI — visual cards, planning, HITL
mastra AG-UI canvas starter with Mastra — interactive cards with real-time AI sync
gemini Open Gemini Canvas — post generator and stack analyzer agents (Gemini + LangGraph)
mastra-pm AG-UI + Mastra workshop — shared state, multiple clients, generative UI

Showcases (24)

Full-featured demo applications highlighting CopilotKit capabilities in real-world scenarios.

Example Description
banking Banking app demo with authorization, multiple operations, and generative UI
presentation PowerPoint-like web app built with CopilotKit
deep-agents Deep research assistant with planning, memory/files, and generative UI (Tavily)
deep-agents-job-search Job application assistant — resume parsing, skill extraction, DeepAgents orchestration
generative-ui Generative UI for agentic apps — AG-UI protocol showcase
generative-ui-playground Playground for static GenUI, MCP Apps, and A2UI generative UI types
mcp-apps MCP Apps demo — airline booking, hotel booking, investment simulator, kanban board
research-canvas ANA (Agent Native Application) — research canvas with Tavily search and LangGraph
mcp-demo Working Memory — MCP server-client integration for project management (Linear)
strands-file-analyzer AI-powered document analysis with Strands Agents and Amazon Bedrock
microsoft-kanban Kanban board demo with CopilotKit + Microsoft Agent Framework (.NET, AG-UI)
multi-page Multi-page Remix app with CopilotKit
orca Cisco CopilotKit demo — PR and repository analytics dashboard
pydantic-ai-todos AI-powered todo board with PydanticAI (Todo, In-Progress, Done columns)
scene-creator Scene creator with LangGraph + Gemini 3 — AI-generated characters and backgrounds
adk-dashboard Generative canvas with Google ADK — metrics, charts, and real-time data
langgraph-js-support-agents Multi-agent telecom support system with intent, lookup, reply, and escalation agents
multi-agent-canvas Open Multi-Agent Canvas — manage multiple agents (travel, research, MCP) in one chat
chatkit-studio Open ChatKit Studio — explore and build embeddable chat experiences
enterprise-brex Enterprise banking demo with authorization, operations, and generative UI
a2a-travel A2A + AG-UI multi-agent travel demo (LangGraph + Google ADK)
spreadsheet AI-powered Excel-like spreadsheet web app
todo Simple todo app built with CopilotKit
strands-crm Enterprise sales CRM — dashboard, pipeline, products, quotes, reports & agentic canvas (TypeScript Strands + AG-UI)