Files
Mark b4041622b0 feat(examples): LangGraph interrupt HITL probe for channels
Adds a minimal, runnable test rig for the channels HITL path that nothing in
the repo previously exercised: `onInterrupt` + `thread.resume()`, driven by a
real LangGraph graph that suspends in its checkpointer.

Channels has two unrelated HITL models, and they suspend in different places:

  thread.awaitChoice()   a channel-side tool handler blocks; the agent run
                         stays open; the waiter is an in-memory Map
  onInterrupt/resume     the AGENT's graph suspends; the run ENDS; the click
                         starts a new run carrying the resume value

Only the first had coverage. `examples/integrations/langgraph-python` has zero
`interrupt()` calls, and `examples/slack/e2e/restart-recovery.ts` — written for
this exact path — no longer compiles (it imports `@copilotkit/slack` plus
`appComponents`/`appHitl`, none of which still exist).

What's here:

- `agent-py/` — a LangGraph agent whose `create_thing` tool calls `interrupt()`
  and writes nothing, so the interrupt fires deterministically with no
  Linear/Notion credentials. Served over AG-UI, so the channel dials it
  directly and `runtime.ts` is not involved.
- `agent-py/probe.py` — drives the agent alone (no channel, no Slack).
- `e2e/route-b-interrupt.ts` — drives agent + channel with a `FakeAdapter`
  standing in for the platform, so a failure is unambiguously channels' fault.
  Asserts the resume leaves in the legacy `forwardedProps.command.resume` shape.
- `app/route-b.ts` — the Slack-facing probe, plus a boot-time preflight that
  rejects an unreachable/mangled `AGENT_URL` with a specific diagnosis instead
  of a bare `fetch failed` on the first message.

Two wire facts worth recording, since both fail silently:

- `on_interrupt` is not a label you choose. It's the AG-UI custom event name
  LangGraph's adapter emits, and adapters default `interruptEventNames` to
  exactly that. Rename either side and the graph stays suspended forever.
- the interrupt payload crosses as a JSON *string*. All four real adapters
  parse it before the handler runs; `FakeAdapter` does not, so handlers that
  assume an object work in Slack and break headless. Both handlers here
  normalize defensively.

Nothing in `packages/` changes; this is examples-only.
2026-08-03 08:53:30 +00:00
..
2026-07-31 18:58:10 +00: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)