Files
Jordan Ritter 23af69041c fix(examples): migrate integrations from v1 to v2 API surface
Migrate 15 example integrations from the v1 compatibility facade to
native v2 CopilotKit APIs. The v1 surface delegates to v2 internally
so this is an API surface change, not a functional one.

Key changes per integration:
- Import paths: @copilotkit/react-core -> react-core/v2,
  @copilotkit/runtime -> runtime/v2
- Hook renames: useCoAgent -> useAgent, useCopilotAction ->
  useFrontendTool, useRenderToolCall -> useRenderTool
- UI: CopilotSidebar from react-ui -> react-core/v2
- Styles: react-ui/styles.css -> react-core/v2/styles.css
- Runtime: copilotRuntimeNextJSAppRouterEndpoint ->
  createCopilotEndpoint + hono/vercel
- Removed @copilotkit/react-ui and @copilotkit/shared deps

Integrations migrated (v1 -> v2):
  a2a-middleware, adk, agno, crewai-crews, crewai-flows,
  langgraph-js, llamaindex, mastra, ms-agent-framework-dotnet,
  ms-agent-framework-python, pydantic-ai, strands-python

Mixed integrations cleaned up (stale deps removed):
  agent-spec, agentcore, langgraph-fastapi, langgraph-python,
  langgraph-python-threads
2026-05-22 12:10:00 -07:00
..

CopilotKit + AWS AgentCore

Chat UI with generative charts, shared-state todo canvas, and inline tool rendering — deployed on AWS Bedrock AgentCore. Pick LangGraph or Strands.

Prerequisites

Tool Version
AWS CLI configured (aws configure)
Node.js 18+
Python 3.8+
Docker running

Deploy to AWS

  1. Create your config:

    cp config.yaml.example config.yaml
    # Edit config.yaml — set stack_name_base and admin_user_email
    
  2. Deploy:

    ./deploy-langgraph.sh                    # LangGraph agent (infra + frontend)
    ./deploy-langgraph.sh --skip-frontend    # infra/agent only
    ./deploy-langgraph.sh --skip-backend     # frontend only
    # or
    ./deploy-strands.sh                      # AWS Strands agent
    ./deploy-strands.sh --skip-frontend
    ./deploy-strands.sh --skip-backend
    
  3. Open the Amplify URL printed at the end. Sign in with your email.

Local Development

cd docker
cp .env.example .env
# Fill in AWS creds — STACK_NAME, MEMORY_ID, and aws-exports.json are auto-resolved
./up.sh --build
  • Frontend → hot reloads on save (volume mount + Vite)
  • Agent → rebuild on changes: docker compose up --build agent
  • Browser → http://localhost:3000, auth redirects back to localhost

The full chain runs locally: browser:3000 → bridge:3001 → agent:8080. AWS is only used for Memory and Gateway (SSM/OAuth2).

See docs/LOCAL_DEVELOPMENT.md for full details.

What's inside

Piece What it does
frontend/ Vite + React with CopilotKit chat, charts, todo canvas
agents/langgraph-single-agent/ LangGraph agent with tools + shared todo state
agents/strands-single-agent/ Strands agent with tools + shared todo state
infra-cdk/ CDK: Cognito, AgentCore, CopilotKit Lambda bridge, Amplify
infra-terraform/ Terraform equivalent — see infra-terraform/README.md
docker/ Local dev via Docker Compose
docs/ LOCAL_DEVELOPMENT.md, LOCAL_DOCKER_TESTING.md

Architecture

Browser → API Gateway → CopilotKit Lambda (Node.js, AG-UI bridge)
                              ↓
                        AgentCore Runtime
                              ↓
                    langgraph_agent.py / strands_agent.py
                              ↓ MCP (OAuth2 M2M)
                        AgentCore Gateway → Lambda tools

Auth: Cognito OIDC → Bearer token forwarded from browser through Lambda to AgentCore.

Tear down

cd infra-cdk && npx cdk@latest destroy --all --output ../cdk.out-lg   # LangGraph stack
cd infra-cdk && npx cdk@latest destroy --all --output ../cdk.out-st   # Strands stack

Docs