[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill-copilotkit-copilotkit-integrations":3,"mdc--rg045f-key":53,"related-org-copilotkit-copilotkit-integrations":3364,"related-repo-copilotkit-copilotkit-integrations":3534},{"slug":4,"name":4,"fn":5,"description":6,"org":7,"tags":11,"stars":23,"repoUrl":24,"updatedAt":25,"license":26,"forks":27,"topics":28,"repo":48,"sourceUrl":51,"mdContent":52},"copilotkit-integrations","integrate agent frameworks into CopilotKit applications","Use when wiring an external agent framework (LangGraph, CrewAI, PydanticAI, Mastra, ADK, LlamaIndex, Agno, Strands, Microsoft Agent Framework, or others) into a CopilotKit application via the AG-UI protocol.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},"copilotkit","CopilotKit","https:\u002F\u002Fpexgzepcugksgbtrxkhf.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Forg-logos\u002Fcopilotkit.png",[12,14,17,20],{"name":9,"slug":8,"type":13},"tag",{"name":15,"slug":16,"type":13},"Integrations","integrations",{"name":18,"slug":19,"type":13},"Agents","agents",{"name":21,"slug":22,"type":13},"API Development","api-development",35928,"https:\u002F\u002Fgithub.com\u002FCopilotKit\u002FCopilotKit","2026-07-12T08:06:32.560054",null,4434,[29,30,31,19,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47],"agent","agent-native","agentic-ai","ai","ai-agent","ai-assistant","assistant","assistant-chat-bots","copilot","copilot-chat","generative-ui","js","llm","nextjs","open-source","react","reactjs","ts","typescript",{"repoUrl":24,"stars":23,"forks":27,"topics":49,"description":50},[29,30,31,19,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47],"The Frontend Stack for Agents & Generative UI. React, Angular, Mobile, Slack, and more.  Makers of the AG-UI Protocol","https:\u002F\u002Fgithub.com\u002FCopilotKit\u002FCopilotKit\u002Ftree\u002FHEAD\u002Fskills\u002Fcopilotkit-integrations","---\nname: copilotkit-integrations\ndescription: \"Use when wiring an external agent framework (LangGraph, CrewAI, PydanticAI, Mastra, ADK, LlamaIndex, Agno, Strands, Microsoft Agent Framework, or others) into a CopilotKit application via the AG-UI protocol.\"\nversion: 1.0.0\n---\n\n# CopilotKit Integrations\n\n## Live Documentation (MCP)\n\nThis plugin includes an MCP server (`copilotkit-docs`) that provides `search-docs` and `search-code` tools for querying live CopilotKit documentation and source code. Useful for looking up framework-specific integration details.\n\n- **Claude Code:** Auto-configured by the plugin's `.mcp.json` -- no setup needed.\n- **Codex:** Requires manual configuration. See the [copilotkit-debug skill](..\u002Fcopilotkit-debug\u002FSKILL.md#mcp-setup) for setup instructions.\n\n## Overview\n\nCopilotKit connects to external agent frameworks through the **AG-UI (Agent-UI) protocol** -- a streaming protocol that enables bidirectional communication between a frontend CopilotKit application and a backend agent. Every integration follows the same architectural pattern:\n\n1. **Agent server** -- your agent framework runs as an HTTP server (usually FastAPI\u002Fuvicorn for Python, or an Express\u002FNext.js route for JS\u002FTS)\n2. **AG-UI adapter** -- a framework-specific adapter translates between the agent's native interface and the AG-UI wire protocol\n3. **CopilotKit runtime** -- the Next.js catch-all API route creates a `CopilotRuntime` that connects to the agent via an AG-UI client class, mounted with the V2 multi-route Hono handler\n4. **Frontend** -- React components use `useAgent`, `useFrontendTool`, `useRenderTool`, and `useHumanInTheLoop` to interact with the agent\n\n## Supported Integrations\n\n| Framework                              | Language    | AG-UI Client (route.ts)                                   | AG-UI Server Adapter                                             | Agent Port         |\n| -------------------------------------- | ----------- | --------------------------------------------------------- | ---------------------------------------------------------------- | ------------------ |\n| LangGraph (Python, self-hosted)        | Python      | `LangGraphHttpAgent` from `@copilotkit\u002Fruntime\u002Flanggraph` | `ag-ui-langgraph` (`add_langgraph_fastapi_endpoint`)             | 8123               |\n| LangGraph (Python, LangGraph Platform) | Python      | `LangGraphAgent` from `@copilotkit\u002Fruntime\u002Flanggraph`     | LangGraph Platform (managed)                                     | varies             |\n| LangGraph (JS)                         | TypeScript  | `LangGraphAgent` from `@copilotkit\u002Fruntime\u002Flanggraph`     | Built into `@copilotkit\u002Fsdk-js\u002Flanggraph`                        | 8123               |\n| CrewAI Flows                           | Python      | `HttpAgent` from `@ag-ui\u002Fclient`                          | `ag-ui-crewai` (`add_crewai_flow_fastapi_endpoint`)              | 8000               |\n| CrewAI Crews                           | Python      | `CrewAIAgent` from `@ag-ui\u002Fcrewai`                        | `ag-ui-crewai` (`add_crewai_crew_fastapi_endpoint`)              | 8000               |\n| PydanticAI                             | Python      | `HttpAgent` from `@ag-ui\u002Fclient`                          | `pydantic-ai-slim[ag-ui]` (`agent.to_ag_ui()`)                   | 8000               |\n| Mastra                                 | TypeScript  | `MastraAgent` from `@ag-ui\u002Fmastra`                        | Built into `@ag-ui\u002Fmastra`                                       | Next.js dev server |\n| Google ADK                             | Python      | `HttpAgent` from `@ag-ui\u002Fclient`                          | `ag-ui-adk` (`add_adk_fastapi_endpoint`)                         | 8000               |\n| LlamaIndex                             | Python      | `LlamaIndexAgent` from `@ag-ui\u002Fllamaindex`                | `llama-index-protocols-ag-ui` (`get_ag_ui_workflow_router`)      | 9000               |\n| Agno                                   | Python      | `HttpAgent` from `@ag-ui\u002Fclient`                          | `agno` (built-in `AgentOS` with `AGUI` interface)                | 8000               |\n| Strands                                | Python      | `HttpAgent` from `@ag-ui\u002Fclient`                          | `ag_ui_strands` (`create_strands_app`)                           | 8000               |\n| Microsoft Agent Framework (Python)     | Python      | `HttpAgent` from `@ag-ui\u002Fclient`                          | `agent-framework-ag-ui` (`add_agent_framework_fastapi_endpoint`) | 8000               |\n| Microsoft Agent Framework (.NET)       | C#          | `HttpAgent` from `@ag-ui\u002Fclient`                          | `Microsoft.Agents.AI.Hosting.AGUI.AspNetCore` (`MapAGUI`)        | 8000               |\n| A2A Middleware                         | Python + TS | `A2AMiddlewareAgent` from `@ag-ui\u002Fa2a-middleware`         | Per-agent (mixed frameworks)                                     | 9000-9002          |\n| MCP Apps                               | TypeScript  | `BuiltInAgent` with `MCPAppsMiddleware`                   | N\u002FA (middleware on BuiltInAgent)                                 | 3108               |\n\n## Decision Tree\n\nUse this to pick the right integration:\n\n```\nIs your agent written in TypeScript\u002FJavaScript?\n  YES --> Is it a Mastra agent?\n    YES --> Use Mastra integration (references\u002Fintegrations\u002Fmastra.md)\n    NO  --> Is it a LangGraph JS agent?\n      YES --> Use LangGraph JS integration (references\u002Fintegrations\u002Flanggraph.md, JS section)\n      NO  --> Use BuiltInAgent with MCP Apps middleware or HttpAgent\n  NO (Python or .NET) -->\n    Which framework?\n      LangGraph     --> references\u002Fintegrations\u002Flanggraph.md\n      CrewAI        --> references\u002Fintegrations\u002Fcrewai.md\n      PydanticAI    --> references\u002Fintegrations\u002Fpydantic-ai.md\n      Google ADK    --> references\u002Fintegrations\u002Fadk.md\n      LlamaIndex    --> references\u002Fintegrations\u002Fllamaindex.md\n      Agno          --> references\u002Fintegrations\u002Fagno.md\n      Strands       --> references\u002Fintegrations\u002Fstrands.md\n      MS Agent Fw   --> references\u002Fintegrations\u002Fms-agent-framework.md\n      Multiple agents (A2A) --> references\u002Fintegrations\u002Fa2a.md\n```\n\n## Common AG-UI Protocol Patterns\n\nEvery integration shares these patterns on the frontend side.\n\n### CopilotKit Provider (layout.tsx)\n\n```tsx\nimport { CopilotKit } from \"@copilotkit\u002Freact-core\u002Fv2\";\nimport \"@copilotkit\u002Freact-core\u002Fv2\u002Fstyles.css\";\n\nexport default function RootLayout({ children }) {\n  return (\n    \u003CCopilotKit runtimeUrl=\"\u002Fapi\u002Fcopilotkit\" useSingleEndpoint={false}>\n      {children}\n    \u003C\u002FCopilotKit>\n  );\n}\n```\n\nThe provider component is `CopilotKit` (imported from `@copilotkit\u002Freact-core\u002Fv2`). There is no `agent` prop -- agents are selected per-hook via `agentId` (matching a key from `CopilotRuntime({ agents: { ... } })`). Set `useSingleEndpoint={false}` so the v1-compat bridge uses multi-route transport against the catch-all backend route below; omitting it defaults to single-route, which a multi-route backend 404s.\n\n### API Route Pattern (route.ts)\n\nAll integrations create a Next.js catch-all API route at `src\u002Fapp\u002Fapi\u002Fcopilotkit\u002F[[...slug]]\u002Froute.ts` using the V2 multi-route Hono handler:\n\n```tsx\nimport {\n  CopilotRuntime,\n  createCopilotHonoHandler,\n  InMemoryAgentRunner,\n} from \"@copilotkit\u002Fruntime\u002Fv2\";\nimport { handle } from \"hono\u002Fvercel\";\n\u002F\u002F Import the appropriate agent class for your framework\n\nconst runtime = new CopilotRuntime({\n  agents: {\n    default: new SomeAgentClass({ url: \"http:\u002F\u002Flocalhost:8000\u002F\" }),\n  },\n  runner: new InMemoryAgentRunner(),\n});\n\nconst app = createCopilotHonoHandler({\n  runtime,\n  basePath: \"\u002Fapi\u002Fcopilotkit\",\n});\n\nexport const GET = handle(app);\nexport const POST = handle(app);\nexport const PATCH = handle(app);\nexport const DELETE = handle(app);\n```\n\nUse `createCopilotHonoHandler` (the non-deprecated factory; `createCopilotEndpoint` is an alias). The frontend selects this agent via `agentId: \"default\"`.\n\n### Shared State (useAgent)\n\n`useAgent` returns `{ agent }` only. Read state via `agent.state` and write via `agent.setState`:\n\n```tsx\nconst { agent } = useAgent({ agentId: \"default\" });\nconst state = (agent.state as { proverbs: string[] } | undefined) ?? {\n  proverbs: [],\n};\nconst setState = (next: { proverbs: string[] }) => agent.setState(next);\n```\n\n### Frontend Tools (useFrontendTool)\n\n```tsx\nimport { z } from \"zod\";\n\nuseFrontendTool({\n  name: \"setThemeColor\",\n  parameters: z.object({\n    themeColor: z.string().describe(\"The theme color to set.\"),\n  }),\n  handler: async ({ themeColor }) => {\n    setThemeColor(themeColor);\n    return `Set theme color to ${themeColor}`;\n  },\n});\n```\n\n### Generative UI (useRenderTool)\n\n```tsx\nimport { z } from \"zod\";\n\nuseRenderTool(\n  {\n    name: \"get_weather\",\n    parameters: z.object({ location: z.string() }),\n    render: ({ parameters }) => \u003CWeatherCard location={parameters.location} \u002F>,\n  },\n  [],\n);\n```\n\n### Human in the Loop (useHumanInTheLoop)\n\n```tsx\nuseHumanInTheLoop(\n  {\n    name: \"go_to_moon\",\n    description: \"Go to the moon on request.\",\n    render: ({ respond, status }) => (\n      \u003CMoonCard status={status} respond={respond} \u002F>\n    ),\n  },\n  [],\n);\n```\n\n## Agent-Side State Management\n\nOn the agent side, shared state is managed differently per framework, but the protocol is the same -- agents emit `STATE_SNAPSHOT` events to update the frontend. See each integration guide for framework-specific patterns.\n\n## Key Packages\n\nFrontend (all integrations):\n\n- `@copilotkit\u002Freact-core\u002Fv2` -- provider (`CopilotKit`), hooks (`useAgent`, `useFrontendTool`, `useRenderTool`, `useHumanInTheLoop`), and chat components (`CopilotChat`, `CopilotSidebar`, `CopilotPopup`). Styles: `import \"@copilotkit\u002Freact-core\u002Fv2\u002Fstyles.css\"`.\n- `@copilotkit\u002Fruntime\u002Fv2` -- server runtime (`CopilotRuntime`, `createCopilotHonoHandler`, `InMemoryAgentRunner`)\n\nAG-UI client classes (choose one per integration):\n\n- `@copilotkit\u002Fruntime\u002Flanggraph` -- `LangGraphAgent`, `LangGraphHttpAgent`\n- `@ag-ui\u002Fclient` -- `HttpAgent` (generic, works with any AG-UI server)\n- `@ag-ui\u002Fcrewai` -- `CrewAIAgent`\n- `@ag-ui\u002Fmastra` -- `MastraAgent`\n- `@ag-ui\u002Fllamaindex` -- `LlamaIndexAgent`\n- `@ag-ui\u002Fa2a-middleware` -- `A2AMiddlewareAgent`\n- `@ag-ui\u002Fmcp-apps-middleware` -- `MCPAppsMiddleware`\n",{"data":54,"body":56},{"name":4,"description":6,"version":55},"1.0.0",{"type":57,"children":58},"root",[59,67,74,105,148,154,166,249,255,991,997,1002,1014,1020,1025,1032,1309,1359,1365,1378,1932,1961,1967,2000,2276,2282,2615,2621,2889,2895,3109,3115,3128,3134,3139,3242,3247,3358],{"type":60,"tag":61,"props":62,"children":63},"element","h1",{"id":4},[64],{"type":65,"value":66},"text","CopilotKit Integrations",{"type":60,"tag":68,"props":69,"children":71},"h2",{"id":70},"live-documentation-mcp",[72],{"type":65,"value":73},"Live Documentation (MCP)",{"type":60,"tag":75,"props":76,"children":77},"p",{},[78,80,87,89,95,97,103],{"type":65,"value":79},"This plugin includes an MCP server (",{"type":60,"tag":81,"props":82,"children":84},"code",{"className":83},[],[85],{"type":65,"value":86},"copilotkit-docs",{"type":65,"value":88},") that provides ",{"type":60,"tag":81,"props":90,"children":92},{"className":91},[],[93],{"type":65,"value":94},"search-docs",{"type":65,"value":96}," and ",{"type":60,"tag":81,"props":98,"children":100},{"className":99},[],[101],{"type":65,"value":102},"search-code",{"type":65,"value":104}," tools for querying live CopilotKit documentation and source code. Useful for looking up framework-specific integration details.",{"type":60,"tag":106,"props":107,"children":108},"ul",{},[109,129],{"type":60,"tag":110,"props":111,"children":112},"li",{},[113,119,121,127],{"type":60,"tag":114,"props":115,"children":116},"strong",{},[117],{"type":65,"value":118},"Claude Code:",{"type":65,"value":120}," Auto-configured by the plugin's ",{"type":60,"tag":81,"props":122,"children":124},{"className":123},[],[125],{"type":65,"value":126},".mcp.json",{"type":65,"value":128}," -- no setup needed.",{"type":60,"tag":110,"props":130,"children":131},{},[132,137,139,146],{"type":60,"tag":114,"props":133,"children":134},{},[135],{"type":65,"value":136},"Codex:",{"type":65,"value":138}," Requires manual configuration. See the ",{"type":60,"tag":140,"props":141,"children":143},"a",{"href":142},"..\u002Fcopilotkit-debug\u002FSKILL.md#mcp-setup",[144],{"type":65,"value":145},"copilotkit-debug skill",{"type":65,"value":147}," for setup instructions.",{"type":60,"tag":68,"props":149,"children":151},{"id":150},"overview",[152],{"type":65,"value":153},"Overview",{"type":60,"tag":75,"props":155,"children":156},{},[157,159,164],{"type":65,"value":158},"CopilotKit connects to external agent frameworks through the ",{"type":60,"tag":114,"props":160,"children":161},{},[162],{"type":65,"value":163},"AG-UI (Agent-UI) protocol",{"type":65,"value":165}," -- a streaming protocol that enables bidirectional communication between a frontend CopilotKit application and a backend agent. Every integration follows the same architectural pattern:",{"type":60,"tag":167,"props":168,"children":169},"ol",{},[170,180,190,208],{"type":60,"tag":110,"props":171,"children":172},{},[173,178],{"type":60,"tag":114,"props":174,"children":175},{},[176],{"type":65,"value":177},"Agent server",{"type":65,"value":179}," -- your agent framework runs as an HTTP server (usually FastAPI\u002Fuvicorn for Python, or an Express\u002FNext.js route for JS\u002FTS)",{"type":60,"tag":110,"props":181,"children":182},{},[183,188],{"type":60,"tag":114,"props":184,"children":185},{},[186],{"type":65,"value":187},"AG-UI adapter",{"type":65,"value":189}," -- a framework-specific adapter translates between the agent's native interface and the AG-UI wire protocol",{"type":60,"tag":110,"props":191,"children":192},{},[193,198,200,206],{"type":60,"tag":114,"props":194,"children":195},{},[196],{"type":65,"value":197},"CopilotKit runtime",{"type":65,"value":199}," -- the Next.js catch-all API route creates a ",{"type":60,"tag":81,"props":201,"children":203},{"className":202},[],[204],{"type":65,"value":205},"CopilotRuntime",{"type":65,"value":207}," that connects to the agent via an AG-UI client class, mounted with the V2 multi-route Hono handler",{"type":60,"tag":110,"props":209,"children":210},{},[211,216,218,224,226,232,233,239,241,247],{"type":60,"tag":114,"props":212,"children":213},{},[214],{"type":65,"value":215},"Frontend",{"type":65,"value":217}," -- React components use ",{"type":60,"tag":81,"props":219,"children":221},{"className":220},[],[222],{"type":65,"value":223},"useAgent",{"type":65,"value":225},", ",{"type":60,"tag":81,"props":227,"children":229},{"className":228},[],[230],{"type":65,"value":231},"useFrontendTool",{"type":65,"value":225},{"type":60,"tag":81,"props":234,"children":236},{"className":235},[],[237],{"type":65,"value":238},"useRenderTool",{"type":65,"value":240},", and ",{"type":60,"tag":81,"props":242,"children":244},{"className":243},[],[245],{"type":65,"value":246},"useHumanInTheLoop",{"type":65,"value":248}," to interact with the agent",{"type":60,"tag":68,"props":250,"children":252},{"id":251},"supported-integrations",[253],{"type":65,"value":254},"Supported Integrations",{"type":60,"tag":256,"props":257,"children":258},"table",{},[259,293],{"type":60,"tag":260,"props":261,"children":262},"thead",{},[263],{"type":60,"tag":264,"props":265,"children":266},"tr",{},[267,273,278,283,288],{"type":60,"tag":268,"props":269,"children":270},"th",{},[271],{"type":65,"value":272},"Framework",{"type":60,"tag":268,"props":274,"children":275},{},[276],{"type":65,"value":277},"Language",{"type":60,"tag":268,"props":279,"children":280},{},[281],{"type":65,"value":282},"AG-UI Client (route.ts)",{"type":60,"tag":268,"props":284,"children":285},{},[286],{"type":65,"value":287},"AG-UI Server Adapter",{"type":60,"tag":268,"props":289,"children":290},{},[291],{"type":65,"value":292},"Agent Port",{"type":60,"tag":294,"props":295,"children":296},"tbody",{},[297,352,389,431,481,529,576,618,665,715,772,819,866,914,953],{"type":60,"tag":264,"props":298,"children":299},{},[300,306,311,328,347],{"type":60,"tag":301,"props":302,"children":303},"td",{},[304],{"type":65,"value":305},"LangGraph (Python, self-hosted)",{"type":60,"tag":301,"props":307,"children":308},{},[309],{"type":65,"value":310},"Python",{"type":60,"tag":301,"props":312,"children":313},{},[314,320,322],{"type":60,"tag":81,"props":315,"children":317},{"className":316},[],[318],{"type":65,"value":319},"LangGraphHttpAgent",{"type":65,"value":321}," from ",{"type":60,"tag":81,"props":323,"children":325},{"className":324},[],[326],{"type":65,"value":327},"@copilotkit\u002Fruntime\u002Flanggraph",{"type":60,"tag":301,"props":329,"children":330},{},[331,337,339,345],{"type":60,"tag":81,"props":332,"children":334},{"className":333},[],[335],{"type":65,"value":336},"ag-ui-langgraph",{"type":65,"value":338}," (",{"type":60,"tag":81,"props":340,"children":342},{"className":341},[],[343],{"type":65,"value":344},"add_langgraph_fastapi_endpoint",{"type":65,"value":346},")",{"type":60,"tag":301,"props":348,"children":349},{},[350],{"type":65,"value":351},"8123",{"type":60,"tag":264,"props":353,"children":354},{},[355,360,364,379,384],{"type":60,"tag":301,"props":356,"children":357},{},[358],{"type":65,"value":359},"LangGraph (Python, LangGraph Platform)",{"type":60,"tag":301,"props":361,"children":362},{},[363],{"type":65,"value":310},{"type":60,"tag":301,"props":365,"children":366},{},[367,373,374],{"type":60,"tag":81,"props":368,"children":370},{"className":369},[],[371],{"type":65,"value":372},"LangGraphAgent",{"type":65,"value":321},{"type":60,"tag":81,"props":375,"children":377},{"className":376},[],[378],{"type":65,"value":327},{"type":60,"tag":301,"props":380,"children":381},{},[382],{"type":65,"value":383},"LangGraph Platform (managed)",{"type":60,"tag":301,"props":385,"children":386},{},[387],{"type":65,"value":388},"varies",{"type":60,"tag":264,"props":390,"children":391},{},[392,397,402,416,427],{"type":60,"tag":301,"props":393,"children":394},{},[395],{"type":65,"value":396},"LangGraph (JS)",{"type":60,"tag":301,"props":398,"children":399},{},[400],{"type":65,"value":401},"TypeScript",{"type":60,"tag":301,"props":403,"children":404},{},[405,410,411],{"type":60,"tag":81,"props":406,"children":408},{"className":407},[],[409],{"type":65,"value":372},{"type":65,"value":321},{"type":60,"tag":81,"props":412,"children":414},{"className":413},[],[415],{"type":65,"value":327},{"type":60,"tag":301,"props":417,"children":418},{},[419,421],{"type":65,"value":420},"Built into ",{"type":60,"tag":81,"props":422,"children":424},{"className":423},[],[425],{"type":65,"value":426},"@copilotkit\u002Fsdk-js\u002Flanggraph",{"type":60,"tag":301,"props":428,"children":429},{},[430],{"type":65,"value":351},{"type":60,"tag":264,"props":432,"children":433},{},[434,439,443,459,476],{"type":60,"tag":301,"props":435,"children":436},{},[437],{"type":65,"value":438},"CrewAI Flows",{"type":60,"tag":301,"props":440,"children":441},{},[442],{"type":65,"value":310},{"type":60,"tag":301,"props":444,"children":445},{},[446,452,453],{"type":60,"tag":81,"props":447,"children":449},{"className":448},[],[450],{"type":65,"value":451},"HttpAgent",{"type":65,"value":321},{"type":60,"tag":81,"props":454,"children":456},{"className":455},[],[457],{"type":65,"value":458},"@ag-ui\u002Fclient",{"type":60,"tag":301,"props":460,"children":461},{},[462,468,469,475],{"type":60,"tag":81,"props":463,"children":465},{"className":464},[],[466],{"type":65,"value":467},"ag-ui-crewai",{"type":65,"value":338},{"type":60,"tag":81,"props":470,"children":472},{"className":471},[],[473],{"type":65,"value":474},"add_crewai_flow_fastapi_endpoint",{"type":65,"value":346},{"type":60,"tag":301,"props":477,"children":478},{},[479],{"type":65,"value":480},"8000",{"type":60,"tag":264,"props":482,"children":483},{},[484,489,493,509,525],{"type":60,"tag":301,"props":485,"children":486},{},[487],{"type":65,"value":488},"CrewAI Crews",{"type":60,"tag":301,"props":490,"children":491},{},[492],{"type":65,"value":310},{"type":60,"tag":301,"props":494,"children":495},{},[496,502,503],{"type":60,"tag":81,"props":497,"children":499},{"className":498},[],[500],{"type":65,"value":501},"CrewAIAgent",{"type":65,"value":321},{"type":60,"tag":81,"props":504,"children":506},{"className":505},[],[507],{"type":65,"value":508},"@ag-ui\u002Fcrewai",{"type":60,"tag":301,"props":510,"children":511},{},[512,517,518,524],{"type":60,"tag":81,"props":513,"children":515},{"className":514},[],[516],{"type":65,"value":467},{"type":65,"value":338},{"type":60,"tag":81,"props":519,"children":521},{"className":520},[],[522],{"type":65,"value":523},"add_crewai_crew_fastapi_endpoint",{"type":65,"value":346},{"type":60,"tag":301,"props":526,"children":527},{},[528],{"type":65,"value":480},{"type":60,"tag":264,"props":530,"children":531},{},[532,537,541,555,572],{"type":60,"tag":301,"props":533,"children":534},{},[535],{"type":65,"value":536},"PydanticAI",{"type":60,"tag":301,"props":538,"children":539},{},[540],{"type":65,"value":310},{"type":60,"tag":301,"props":542,"children":543},{},[544,549,550],{"type":60,"tag":81,"props":545,"children":547},{"className":546},[],[548],{"type":65,"value":451},{"type":65,"value":321},{"type":60,"tag":81,"props":551,"children":553},{"className":552},[],[554],{"type":65,"value":458},{"type":60,"tag":301,"props":556,"children":557},{},[558,564,565,571],{"type":60,"tag":81,"props":559,"children":561},{"className":560},[],[562],{"type":65,"value":563},"pydantic-ai-slim[ag-ui]",{"type":65,"value":338},{"type":60,"tag":81,"props":566,"children":568},{"className":567},[],[569],{"type":65,"value":570},"agent.to_ag_ui()",{"type":65,"value":346},{"type":60,"tag":301,"props":573,"children":574},{},[575],{"type":65,"value":480},{"type":60,"tag":264,"props":577,"children":578},{},[579,584,588,604,613],{"type":60,"tag":301,"props":580,"children":581},{},[582],{"type":65,"value":583},"Mastra",{"type":60,"tag":301,"props":585,"children":586},{},[587],{"type":65,"value":401},{"type":60,"tag":301,"props":589,"children":590},{},[591,597,598],{"type":60,"tag":81,"props":592,"children":594},{"className":593},[],[595],{"type":65,"value":596},"MastraAgent",{"type":65,"value":321},{"type":60,"tag":81,"props":599,"children":601},{"className":600},[],[602],{"type":65,"value":603},"@ag-ui\u002Fmastra",{"type":60,"tag":301,"props":605,"children":606},{},[607,608],{"type":65,"value":420},{"type":60,"tag":81,"props":609,"children":611},{"className":610},[],[612],{"type":65,"value":603},{"type":60,"tag":301,"props":614,"children":615},{},[616],{"type":65,"value":617},"Next.js dev server",{"type":60,"tag":264,"props":619,"children":620},{},[621,626,630,644,661],{"type":60,"tag":301,"props":622,"children":623},{},[624],{"type":65,"value":625},"Google ADK",{"type":60,"tag":301,"props":627,"children":628},{},[629],{"type":65,"value":310},{"type":60,"tag":301,"props":631,"children":632},{},[633,638,639],{"type":60,"tag":81,"props":634,"children":636},{"className":635},[],[637],{"type":65,"value":451},{"type":65,"value":321},{"type":60,"tag":81,"props":640,"children":642},{"className":641},[],[643],{"type":65,"value":458},{"type":60,"tag":301,"props":645,"children":646},{},[647,653,654,660],{"type":60,"tag":81,"props":648,"children":650},{"className":649},[],[651],{"type":65,"value":652},"ag-ui-adk",{"type":65,"value":338},{"type":60,"tag":81,"props":655,"children":657},{"className":656},[],[658],{"type":65,"value":659},"add_adk_fastapi_endpoint",{"type":65,"value":346},{"type":60,"tag":301,"props":662,"children":663},{},[664],{"type":65,"value":480},{"type":60,"tag":264,"props":666,"children":667},{},[668,673,677,693,710],{"type":60,"tag":301,"props":669,"children":670},{},[671],{"type":65,"value":672},"LlamaIndex",{"type":60,"tag":301,"props":674,"children":675},{},[676],{"type":65,"value":310},{"type":60,"tag":301,"props":678,"children":679},{},[680,686,687],{"type":60,"tag":81,"props":681,"children":683},{"className":682},[],[684],{"type":65,"value":685},"LlamaIndexAgent",{"type":65,"value":321},{"type":60,"tag":81,"props":688,"children":690},{"className":689},[],[691],{"type":65,"value":692},"@ag-ui\u002Fllamaindex",{"type":60,"tag":301,"props":694,"children":695},{},[696,702,703,709],{"type":60,"tag":81,"props":697,"children":699},{"className":698},[],[700],{"type":65,"value":701},"llama-index-protocols-ag-ui",{"type":65,"value":338},{"type":60,"tag":81,"props":704,"children":706},{"className":705},[],[707],{"type":65,"value":708},"get_ag_ui_workflow_router",{"type":65,"value":346},{"type":60,"tag":301,"props":711,"children":712},{},[713],{"type":65,"value":714},"9000",{"type":60,"tag":264,"props":716,"children":717},{},[718,723,727,741,768],{"type":60,"tag":301,"props":719,"children":720},{},[721],{"type":65,"value":722},"Agno",{"type":60,"tag":301,"props":724,"children":725},{},[726],{"type":65,"value":310},{"type":60,"tag":301,"props":728,"children":729},{},[730,735,736],{"type":60,"tag":81,"props":731,"children":733},{"className":732},[],[734],{"type":65,"value":451},{"type":65,"value":321},{"type":60,"tag":81,"props":737,"children":739},{"className":738},[],[740],{"type":65,"value":458},{"type":60,"tag":301,"props":742,"children":743},{},[744,750,752,758,760,766],{"type":60,"tag":81,"props":745,"children":747},{"className":746},[],[748],{"type":65,"value":749},"agno",{"type":65,"value":751}," (built-in ",{"type":60,"tag":81,"props":753,"children":755},{"className":754},[],[756],{"type":65,"value":757},"AgentOS",{"type":65,"value":759}," with ",{"type":60,"tag":81,"props":761,"children":763},{"className":762},[],[764],{"type":65,"value":765},"AGUI",{"type":65,"value":767}," interface)",{"type":60,"tag":301,"props":769,"children":770},{},[771],{"type":65,"value":480},{"type":60,"tag":264,"props":773,"children":774},{},[775,780,784,798,815],{"type":60,"tag":301,"props":776,"children":777},{},[778],{"type":65,"value":779},"Strands",{"type":60,"tag":301,"props":781,"children":782},{},[783],{"type":65,"value":310},{"type":60,"tag":301,"props":785,"children":786},{},[787,792,793],{"type":60,"tag":81,"props":788,"children":790},{"className":789},[],[791],{"type":65,"value":451},{"type":65,"value":321},{"type":60,"tag":81,"props":794,"children":796},{"className":795},[],[797],{"type":65,"value":458},{"type":60,"tag":301,"props":799,"children":800},{},[801,807,808,814],{"type":60,"tag":81,"props":802,"children":804},{"className":803},[],[805],{"type":65,"value":806},"ag_ui_strands",{"type":65,"value":338},{"type":60,"tag":81,"props":809,"children":811},{"className":810},[],[812],{"type":65,"value":813},"create_strands_app",{"type":65,"value":346},{"type":60,"tag":301,"props":816,"children":817},{},[818],{"type":65,"value":480},{"type":60,"tag":264,"props":820,"children":821},{},[822,827,831,845,862],{"type":60,"tag":301,"props":823,"children":824},{},[825],{"type":65,"value":826},"Microsoft Agent Framework (Python)",{"type":60,"tag":301,"props":828,"children":829},{},[830],{"type":65,"value":310},{"type":60,"tag":301,"props":832,"children":833},{},[834,839,840],{"type":60,"tag":81,"props":835,"children":837},{"className":836},[],[838],{"type":65,"value":451},{"type":65,"value":321},{"type":60,"tag":81,"props":841,"children":843},{"className":842},[],[844],{"type":65,"value":458},{"type":60,"tag":301,"props":846,"children":847},{},[848,854,855,861],{"type":60,"tag":81,"props":849,"children":851},{"className":850},[],[852],{"type":65,"value":853},"agent-framework-ag-ui",{"type":65,"value":338},{"type":60,"tag":81,"props":856,"children":858},{"className":857},[],[859],{"type":65,"value":860},"add_agent_framework_fastapi_endpoint",{"type":65,"value":346},{"type":60,"tag":301,"props":863,"children":864},{},[865],{"type":65,"value":480},{"type":60,"tag":264,"props":867,"children":868},{},[869,874,879,893,910],{"type":60,"tag":301,"props":870,"children":871},{},[872],{"type":65,"value":873},"Microsoft Agent Framework (.NET)",{"type":60,"tag":301,"props":875,"children":876},{},[877],{"type":65,"value":878},"C#",{"type":60,"tag":301,"props":880,"children":881},{},[882,887,888],{"type":60,"tag":81,"props":883,"children":885},{"className":884},[],[886],{"type":65,"value":451},{"type":65,"value":321},{"type":60,"tag":81,"props":889,"children":891},{"className":890},[],[892],{"type":65,"value":458},{"type":60,"tag":301,"props":894,"children":895},{},[896,902,903,909],{"type":60,"tag":81,"props":897,"children":899},{"className":898},[],[900],{"type":65,"value":901},"Microsoft.Agents.AI.Hosting.AGUI.AspNetCore",{"type":65,"value":338},{"type":60,"tag":81,"props":904,"children":906},{"className":905},[],[907],{"type":65,"value":908},"MapAGUI",{"type":65,"value":346},{"type":60,"tag":301,"props":911,"children":912},{},[913],{"type":65,"value":480},{"type":60,"tag":264,"props":915,"children":916},{},[917,922,927,943,948],{"type":60,"tag":301,"props":918,"children":919},{},[920],{"type":65,"value":921},"A2A Middleware",{"type":60,"tag":301,"props":923,"children":924},{},[925],{"type":65,"value":926},"Python + TS",{"type":60,"tag":301,"props":928,"children":929},{},[930,936,937],{"type":60,"tag":81,"props":931,"children":933},{"className":932},[],[934],{"type":65,"value":935},"A2AMiddlewareAgent",{"type":65,"value":321},{"type":60,"tag":81,"props":938,"children":940},{"className":939},[],[941],{"type":65,"value":942},"@ag-ui\u002Fa2a-middleware",{"type":60,"tag":301,"props":944,"children":945},{},[946],{"type":65,"value":947},"Per-agent (mixed frameworks)",{"type":60,"tag":301,"props":949,"children":950},{},[951],{"type":65,"value":952},"9000-9002",{"type":60,"tag":264,"props":954,"children":955},{},[956,961,965,981,986],{"type":60,"tag":301,"props":957,"children":958},{},[959],{"type":65,"value":960},"MCP Apps",{"type":60,"tag":301,"props":962,"children":963},{},[964],{"type":65,"value":401},{"type":60,"tag":301,"props":966,"children":967},{},[968,974,975],{"type":60,"tag":81,"props":969,"children":971},{"className":970},[],[972],{"type":65,"value":973},"BuiltInAgent",{"type":65,"value":759},{"type":60,"tag":81,"props":976,"children":978},{"className":977},[],[979],{"type":65,"value":980},"MCPAppsMiddleware",{"type":60,"tag":301,"props":982,"children":983},{},[984],{"type":65,"value":985},"N\u002FA (middleware on BuiltInAgent)",{"type":60,"tag":301,"props":987,"children":988},{},[989],{"type":65,"value":990},"3108",{"type":60,"tag":68,"props":992,"children":994},{"id":993},"decision-tree",[995],{"type":65,"value":996},"Decision Tree",{"type":60,"tag":75,"props":998,"children":999},{},[1000],{"type":65,"value":1001},"Use this to pick the right integration:",{"type":60,"tag":1003,"props":1004,"children":1008},"pre",{"className":1005,"code":1007,"language":65},[1006],"language-text","Is your agent written in TypeScript\u002FJavaScript?\n  YES --> Is it a Mastra agent?\n    YES --> Use Mastra integration (references\u002Fintegrations\u002Fmastra.md)\n    NO  --> Is it a LangGraph JS agent?\n      YES --> Use LangGraph JS integration (references\u002Fintegrations\u002Flanggraph.md, JS section)\n      NO  --> Use BuiltInAgent with MCP Apps middleware or HttpAgent\n  NO (Python or .NET) -->\n    Which framework?\n      LangGraph     --> references\u002Fintegrations\u002Flanggraph.md\n      CrewAI        --> references\u002Fintegrations\u002Fcrewai.md\n      PydanticAI    --> references\u002Fintegrations\u002Fpydantic-ai.md\n      Google ADK    --> references\u002Fintegrations\u002Fadk.md\n      LlamaIndex    --> references\u002Fintegrations\u002Fllamaindex.md\n      Agno          --> references\u002Fintegrations\u002Fagno.md\n      Strands       --> references\u002Fintegrations\u002Fstrands.md\n      MS Agent Fw   --> references\u002Fintegrations\u002Fms-agent-framework.md\n      Multiple agents (A2A) --> references\u002Fintegrations\u002Fa2a.md\n",[1009],{"type":60,"tag":81,"props":1010,"children":1012},{"__ignoreMap":1011},"",[1013],{"type":65,"value":1007},{"type":60,"tag":68,"props":1015,"children":1017},{"id":1016},"common-ag-ui-protocol-patterns",[1018],{"type":65,"value":1019},"Common AG-UI Protocol Patterns",{"type":60,"tag":75,"props":1021,"children":1022},{},[1023],{"type":65,"value":1024},"Every integration shares these patterns on the frontend side.",{"type":60,"tag":1026,"props":1027,"children":1029},"h3",{"id":1028},"copilotkit-provider-layouttsx",[1030],{"type":65,"value":1031},"CopilotKit Provider (layout.tsx)",{"type":60,"tag":1003,"props":1033,"children":1037},{"className":1034,"code":1035,"language":1036,"meta":1011,"style":1011},"language-tsx shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","import { CopilotKit } from \"@copilotkit\u002Freact-core\u002Fv2\";\nimport \"@copilotkit\u002Freact-core\u002Fv2\u002Fstyles.css\";\n\nexport default function RootLayout({ children }) {\n  return (\n    \u003CCopilotKit runtimeUrl=\"\u002Fapi\u002Fcopilotkit\" useSingleEndpoint={false}>\n      {children}\n    \u003C\u002FCopilotKit>\n  );\n}\n","tsx",[1038],{"type":60,"tag":81,"props":1039,"children":1040},{"__ignoreMap":1011},[1041,1096,1121,1131,1178,1193,1251,1270,1288,1301],{"type":60,"tag":1042,"props":1043,"children":1046},"span",{"class":1044,"line":1045},"line",1,[1047,1053,1059,1065,1070,1075,1080,1086,1091],{"type":60,"tag":1042,"props":1048,"children":1050},{"style":1049},"--shiki-light:#39ADB5;--shiki-light-font-style:italic;--shiki-default:#89DDFF;--shiki-default-font-style:italic;--shiki-dark:#89DDFF;--shiki-dark-font-style:italic",[1051],{"type":65,"value":1052},"import",{"type":60,"tag":1042,"props":1054,"children":1056},{"style":1055},"--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF",[1057],{"type":65,"value":1058}," {",{"type":60,"tag":1042,"props":1060,"children":1062},{"style":1061},"--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8",[1063],{"type":65,"value":1064}," CopilotKit",{"type":60,"tag":1042,"props":1066,"children":1067},{"style":1055},[1068],{"type":65,"value":1069}," }",{"type":60,"tag":1042,"props":1071,"children":1072},{"style":1049},[1073],{"type":65,"value":1074}," from",{"type":60,"tag":1042,"props":1076,"children":1077},{"style":1055},[1078],{"type":65,"value":1079}," \"",{"type":60,"tag":1042,"props":1081,"children":1083},{"style":1082},"--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D",[1084],{"type":65,"value":1085},"@copilotkit\u002Freact-core\u002Fv2",{"type":60,"tag":1042,"props":1087,"children":1088},{"style":1055},[1089],{"type":65,"value":1090},"\"",{"type":60,"tag":1042,"props":1092,"children":1093},{"style":1055},[1094],{"type":65,"value":1095},";\n",{"type":60,"tag":1042,"props":1097,"children":1099},{"class":1044,"line":1098},2,[1100,1104,1108,1113,1117],{"type":60,"tag":1042,"props":1101,"children":1102},{"style":1049},[1103],{"type":65,"value":1052},{"type":60,"tag":1042,"props":1105,"children":1106},{"style":1055},[1107],{"type":65,"value":1079},{"type":60,"tag":1042,"props":1109,"children":1110},{"style":1082},[1111],{"type":65,"value":1112},"@copilotkit\u002Freact-core\u002Fv2\u002Fstyles.css",{"type":60,"tag":1042,"props":1114,"children":1115},{"style":1055},[1116],{"type":65,"value":1090},{"type":60,"tag":1042,"props":1118,"children":1119},{"style":1055},[1120],{"type":65,"value":1095},{"type":60,"tag":1042,"props":1122,"children":1124},{"class":1044,"line":1123},3,[1125],{"type":60,"tag":1042,"props":1126,"children":1128},{"emptyLinePlaceholder":1127},true,[1129],{"type":65,"value":1130},"\n",{"type":60,"tag":1042,"props":1132,"children":1134},{"class":1044,"line":1133},4,[1135,1140,1145,1151,1157,1162,1168,1173],{"type":60,"tag":1042,"props":1136,"children":1137},{"style":1049},[1138],{"type":65,"value":1139},"export",{"type":60,"tag":1042,"props":1141,"children":1142},{"style":1049},[1143],{"type":65,"value":1144}," default",{"type":60,"tag":1042,"props":1146,"children":1148},{"style":1147},"--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA",[1149],{"type":65,"value":1150}," function",{"type":60,"tag":1042,"props":1152,"children":1154},{"style":1153},"--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF",[1155],{"type":65,"value":1156}," RootLayout",{"type":60,"tag":1042,"props":1158,"children":1159},{"style":1055},[1160],{"type":65,"value":1161},"({",{"type":60,"tag":1042,"props":1163,"children":1165},{"style":1164},"--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#EEFFFF;--shiki-default-font-style:italic;--shiki-dark:#BABED8;--shiki-dark-font-style:italic",[1166],{"type":65,"value":1167}," children",{"type":60,"tag":1042,"props":1169,"children":1170},{"style":1055},[1171],{"type":65,"value":1172}," })",{"type":60,"tag":1042,"props":1174,"children":1175},{"style":1055},[1176],{"type":65,"value":1177}," {\n",{"type":60,"tag":1042,"props":1179,"children":1181},{"class":1044,"line":1180},5,[1182,1187],{"type":60,"tag":1042,"props":1183,"children":1184},{"style":1049},[1185],{"type":65,"value":1186},"  return",{"type":60,"tag":1042,"props":1188,"children":1190},{"style":1189},"--shiki-light:#E53935;--shiki-default:#F07178;--shiki-dark:#F07178",[1191],{"type":65,"value":1192}," (\n",{"type":60,"tag":1042,"props":1194,"children":1196},{"class":1044,"line":1195},6,[1197,1202,1207,1212,1217,1221,1226,1230,1235,1240,1246],{"type":60,"tag":1042,"props":1198,"children":1199},{"style":1055},[1200],{"type":65,"value":1201},"    \u003C",{"type":60,"tag":1042,"props":1203,"children":1205},{"style":1204},"--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B",[1206],{"type":65,"value":9},{"type":60,"tag":1042,"props":1208,"children":1209},{"style":1147},[1210],{"type":65,"value":1211}," runtimeUrl",{"type":60,"tag":1042,"props":1213,"children":1214},{"style":1055},[1215],{"type":65,"value":1216},"=",{"type":60,"tag":1042,"props":1218,"children":1219},{"style":1055},[1220],{"type":65,"value":1090},{"type":60,"tag":1042,"props":1222,"children":1223},{"style":1082},[1224],{"type":65,"value":1225},"\u002Fapi\u002Fcopilotkit",{"type":60,"tag":1042,"props":1227,"children":1228},{"style":1055},[1229],{"type":65,"value":1090},{"type":60,"tag":1042,"props":1231,"children":1232},{"style":1147},[1233],{"type":65,"value":1234}," useSingleEndpoint",{"type":60,"tag":1042,"props":1236,"children":1237},{"style":1055},[1238],{"type":65,"value":1239},"={",{"type":60,"tag":1042,"props":1241,"children":1243},{"style":1242},"--shiki-light:#FF5370;--shiki-default:#FF9CAC;--shiki-dark:#FF9CAC",[1244],{"type":65,"value":1245},"false",{"type":60,"tag":1042,"props":1247,"children":1248},{"style":1055},[1249],{"type":65,"value":1250},"}>\n",{"type":60,"tag":1042,"props":1252,"children":1254},{"class":1044,"line":1253},7,[1255,1260,1265],{"type":60,"tag":1042,"props":1256,"children":1257},{"style":1055},[1258],{"type":65,"value":1259},"      {",{"type":60,"tag":1042,"props":1261,"children":1262},{"style":1061},[1263],{"type":65,"value":1264},"children",{"type":60,"tag":1042,"props":1266,"children":1267},{"style":1055},[1268],{"type":65,"value":1269},"}\n",{"type":60,"tag":1042,"props":1271,"children":1273},{"class":1044,"line":1272},8,[1274,1279,1283],{"type":60,"tag":1042,"props":1275,"children":1276},{"style":1055},[1277],{"type":65,"value":1278},"    \u003C\u002F",{"type":60,"tag":1042,"props":1280,"children":1281},{"style":1204},[1282],{"type":65,"value":9},{"type":60,"tag":1042,"props":1284,"children":1285},{"style":1055},[1286],{"type":65,"value":1287},">\n",{"type":60,"tag":1042,"props":1289,"children":1291},{"class":1044,"line":1290},9,[1292,1297],{"type":60,"tag":1042,"props":1293,"children":1294},{"style":1189},[1295],{"type":65,"value":1296},"  )",{"type":60,"tag":1042,"props":1298,"children":1299},{"style":1055},[1300],{"type":65,"value":1095},{"type":60,"tag":1042,"props":1302,"children":1304},{"class":1044,"line":1303},10,[1305],{"type":60,"tag":1042,"props":1306,"children":1307},{"style":1055},[1308],{"type":65,"value":1269},{"type":60,"tag":75,"props":1310,"children":1311},{},[1312,1314,1319,1321,1326,1328,1333,1335,1341,1343,1349,1351,1357],{"type":65,"value":1313},"The provider component is ",{"type":60,"tag":81,"props":1315,"children":1317},{"className":1316},[],[1318],{"type":65,"value":9},{"type":65,"value":1320}," (imported from ",{"type":60,"tag":81,"props":1322,"children":1324},{"className":1323},[],[1325],{"type":65,"value":1085},{"type":65,"value":1327},"). There is no ",{"type":60,"tag":81,"props":1329,"children":1331},{"className":1330},[],[1332],{"type":65,"value":29},{"type":65,"value":1334}," prop -- agents are selected per-hook via ",{"type":60,"tag":81,"props":1336,"children":1338},{"className":1337},[],[1339],{"type":65,"value":1340},"agentId",{"type":65,"value":1342}," (matching a key from ",{"type":60,"tag":81,"props":1344,"children":1346},{"className":1345},[],[1347],{"type":65,"value":1348},"CopilotRuntime({ agents: { ... } })",{"type":65,"value":1350},"). Set ",{"type":60,"tag":81,"props":1352,"children":1354},{"className":1353},[],[1355],{"type":65,"value":1356},"useSingleEndpoint={false}",{"type":65,"value":1358}," so the v1-compat bridge uses multi-route transport against the catch-all backend route below; omitting it defaults to single-route, which a multi-route backend 404s.",{"type":60,"tag":1026,"props":1360,"children":1362},{"id":1361},"api-route-pattern-routets",[1363],{"type":65,"value":1364},"API Route Pattern (route.ts)",{"type":60,"tag":75,"props":1366,"children":1367},{},[1368,1370,1376],{"type":65,"value":1369},"All integrations create a Next.js catch-all API route at ",{"type":60,"tag":81,"props":1371,"children":1373},{"className":1372},[],[1374],{"type":65,"value":1375},"src\u002Fapp\u002Fapi\u002Fcopilotkit\u002F[[...slug]]\u002Froute.ts",{"type":65,"value":1377}," using the V2 multi-route Hono handler:",{"type":60,"tag":1003,"props":1379,"children":1381},{"className":1034,"code":1380,"language":1036,"meta":1011,"style":1011},"import {\n  CopilotRuntime,\n  createCopilotHonoHandler,\n  InMemoryAgentRunner,\n} from \"@copilotkit\u002Fruntime\u002Fv2\";\nimport { handle } from \"hono\u002Fvercel\";\n\u002F\u002F Import the appropriate agent class for your framework\n\nconst runtime = new CopilotRuntime({\n  agents: {\n    default: new SomeAgentClass({ url: \"http:\u002F\u002Flocalhost:8000\u002F\" }),\n  },\n  runner: new InMemoryAgentRunner(),\n});\n\nconst app = createCopilotHonoHandler({\n  runtime,\n  basePath: \"\u002Fapi\u002Fcopilotkit\",\n});\n\nexport const GET = handle(app);\nexport const POST = handle(app);\nexport const PATCH = handle(app);\nexport const DELETE = handle(app);\n",[1382],{"type":60,"tag":81,"props":1383,"children":1384},{"__ignoreMap":1011},[1385,1396,1409,1421,1433,1462,1503,1512,1519,1556,1573,1638,1647,1678,1694,1702,1732,1745,1774,1790,1798,1833,1866,1899],{"type":60,"tag":1042,"props":1386,"children":1387},{"class":1044,"line":1045},[1388,1392],{"type":60,"tag":1042,"props":1389,"children":1390},{"style":1049},[1391],{"type":65,"value":1052},{"type":60,"tag":1042,"props":1393,"children":1394},{"style":1055},[1395],{"type":65,"value":1177},{"type":60,"tag":1042,"props":1397,"children":1398},{"class":1044,"line":1098},[1399,1404],{"type":60,"tag":1042,"props":1400,"children":1401},{"style":1061},[1402],{"type":65,"value":1403},"  CopilotRuntime",{"type":60,"tag":1042,"props":1405,"children":1406},{"style":1055},[1407],{"type":65,"value":1408},",\n",{"type":60,"tag":1042,"props":1410,"children":1411},{"class":1044,"line":1123},[1412,1417],{"type":60,"tag":1042,"props":1413,"children":1414},{"style":1061},[1415],{"type":65,"value":1416},"  createCopilotHonoHandler",{"type":60,"tag":1042,"props":1418,"children":1419},{"style":1055},[1420],{"type":65,"value":1408},{"type":60,"tag":1042,"props":1422,"children":1423},{"class":1044,"line":1133},[1424,1429],{"type":60,"tag":1042,"props":1425,"children":1426},{"style":1061},[1427],{"type":65,"value":1428},"  InMemoryAgentRunner",{"type":60,"tag":1042,"props":1430,"children":1431},{"style":1055},[1432],{"type":65,"value":1408},{"type":60,"tag":1042,"props":1434,"children":1435},{"class":1044,"line":1180},[1436,1441,1445,1449,1454,1458],{"type":60,"tag":1042,"props":1437,"children":1438},{"style":1055},[1439],{"type":65,"value":1440},"}",{"type":60,"tag":1042,"props":1442,"children":1443},{"style":1049},[1444],{"type":65,"value":1074},{"type":60,"tag":1042,"props":1446,"children":1447},{"style":1055},[1448],{"type":65,"value":1079},{"type":60,"tag":1042,"props":1450,"children":1451},{"style":1082},[1452],{"type":65,"value":1453},"@copilotkit\u002Fruntime\u002Fv2",{"type":60,"tag":1042,"props":1455,"children":1456},{"style":1055},[1457],{"type":65,"value":1090},{"type":60,"tag":1042,"props":1459,"children":1460},{"style":1055},[1461],{"type":65,"value":1095},{"type":60,"tag":1042,"props":1463,"children":1464},{"class":1044,"line":1195},[1465,1469,1473,1478,1482,1486,1490,1495,1499],{"type":60,"tag":1042,"props":1466,"children":1467},{"style":1049},[1468],{"type":65,"value":1052},{"type":60,"tag":1042,"props":1470,"children":1471},{"style":1055},[1472],{"type":65,"value":1058},{"type":60,"tag":1042,"props":1474,"children":1475},{"style":1061},[1476],{"type":65,"value":1477}," handle",{"type":60,"tag":1042,"props":1479,"children":1480},{"style":1055},[1481],{"type":65,"value":1069},{"type":60,"tag":1042,"props":1483,"children":1484},{"style":1049},[1485],{"type":65,"value":1074},{"type":60,"tag":1042,"props":1487,"children":1488},{"style":1055},[1489],{"type":65,"value":1079},{"type":60,"tag":1042,"props":1491,"children":1492},{"style":1082},[1493],{"type":65,"value":1494},"hono\u002Fvercel",{"type":60,"tag":1042,"props":1496,"children":1497},{"style":1055},[1498],{"type":65,"value":1090},{"type":60,"tag":1042,"props":1500,"children":1501},{"style":1055},[1502],{"type":65,"value":1095},{"type":60,"tag":1042,"props":1504,"children":1505},{"class":1044,"line":1253},[1506],{"type":60,"tag":1042,"props":1507,"children":1509},{"style":1508},"--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#546E7A;--shiki-default-font-style:italic;--shiki-dark:#676E95;--shiki-dark-font-style:italic",[1510],{"type":65,"value":1511},"\u002F\u002F Import the appropriate agent class for your framework\n",{"type":60,"tag":1042,"props":1513,"children":1514},{"class":1044,"line":1272},[1515],{"type":60,"tag":1042,"props":1516,"children":1517},{"emptyLinePlaceholder":1127},[1518],{"type":65,"value":1130},{"type":60,"tag":1042,"props":1520,"children":1521},{"class":1044,"line":1290},[1522,1527,1532,1536,1541,1546,1551],{"type":60,"tag":1042,"props":1523,"children":1524},{"style":1147},[1525],{"type":65,"value":1526},"const",{"type":60,"tag":1042,"props":1528,"children":1529},{"style":1061},[1530],{"type":65,"value":1531}," runtime ",{"type":60,"tag":1042,"props":1533,"children":1534},{"style":1055},[1535],{"type":65,"value":1216},{"type":60,"tag":1042,"props":1537,"children":1538},{"style":1055},[1539],{"type":65,"value":1540}," new",{"type":60,"tag":1042,"props":1542,"children":1543},{"style":1153},[1544],{"type":65,"value":1545}," CopilotRuntime",{"type":60,"tag":1042,"props":1547,"children":1548},{"style":1061},[1549],{"type":65,"value":1550},"(",{"type":60,"tag":1042,"props":1552,"children":1553},{"style":1055},[1554],{"type":65,"value":1555},"{\n",{"type":60,"tag":1042,"props":1557,"children":1558},{"class":1044,"line":1303},[1559,1564,1569],{"type":60,"tag":1042,"props":1560,"children":1561},{"style":1189},[1562],{"type":65,"value":1563},"  agents",{"type":60,"tag":1042,"props":1565,"children":1566},{"style":1055},[1567],{"type":65,"value":1568},":",{"type":60,"tag":1042,"props":1570,"children":1571},{"style":1055},[1572],{"type":65,"value":1177},{"type":60,"tag":1042,"props":1574,"children":1576},{"class":1044,"line":1575},11,[1577,1582,1586,1590,1595,1599,1604,1609,1613,1617,1622,1626,1630,1634],{"type":60,"tag":1042,"props":1578,"children":1579},{"style":1189},[1580],{"type":65,"value":1581},"    default",{"type":60,"tag":1042,"props":1583,"children":1584},{"style":1055},[1585],{"type":65,"value":1568},{"type":60,"tag":1042,"props":1587,"children":1588},{"style":1055},[1589],{"type":65,"value":1540},{"type":60,"tag":1042,"props":1591,"children":1592},{"style":1153},[1593],{"type":65,"value":1594}," SomeAgentClass",{"type":60,"tag":1042,"props":1596,"children":1597},{"style":1061},[1598],{"type":65,"value":1550},{"type":60,"tag":1042,"props":1600,"children":1601},{"style":1055},[1602],{"type":65,"value":1603},"{",{"type":60,"tag":1042,"props":1605,"children":1606},{"style":1189},[1607],{"type":65,"value":1608}," url",{"type":60,"tag":1042,"props":1610,"children":1611},{"style":1055},[1612],{"type":65,"value":1568},{"type":60,"tag":1042,"props":1614,"children":1615},{"style":1055},[1616],{"type":65,"value":1079},{"type":60,"tag":1042,"props":1618,"children":1619},{"style":1082},[1620],{"type":65,"value":1621},"http:\u002F\u002Flocalhost:8000\u002F",{"type":60,"tag":1042,"props":1623,"children":1624},{"style":1055},[1625],{"type":65,"value":1090},{"type":60,"tag":1042,"props":1627,"children":1628},{"style":1055},[1629],{"type":65,"value":1069},{"type":60,"tag":1042,"props":1631,"children":1632},{"style":1061},[1633],{"type":65,"value":346},{"type":60,"tag":1042,"props":1635,"children":1636},{"style":1055},[1637],{"type":65,"value":1408},{"type":60,"tag":1042,"props":1639,"children":1641},{"class":1044,"line":1640},12,[1642],{"type":60,"tag":1042,"props":1643,"children":1644},{"style":1055},[1645],{"type":65,"value":1646},"  },\n",{"type":60,"tag":1042,"props":1648,"children":1650},{"class":1044,"line":1649},13,[1651,1656,1660,1664,1669,1674],{"type":60,"tag":1042,"props":1652,"children":1653},{"style":1189},[1654],{"type":65,"value":1655},"  runner",{"type":60,"tag":1042,"props":1657,"children":1658},{"style":1055},[1659],{"type":65,"value":1568},{"type":60,"tag":1042,"props":1661,"children":1662},{"style":1055},[1663],{"type":65,"value":1540},{"type":60,"tag":1042,"props":1665,"children":1666},{"style":1153},[1667],{"type":65,"value":1668}," InMemoryAgentRunner",{"type":60,"tag":1042,"props":1670,"children":1671},{"style":1061},[1672],{"type":65,"value":1673},"()",{"type":60,"tag":1042,"props":1675,"children":1676},{"style":1055},[1677],{"type":65,"value":1408},{"type":60,"tag":1042,"props":1679,"children":1681},{"class":1044,"line":1680},14,[1682,1686,1690],{"type":60,"tag":1042,"props":1683,"children":1684},{"style":1055},[1685],{"type":65,"value":1440},{"type":60,"tag":1042,"props":1687,"children":1688},{"style":1061},[1689],{"type":65,"value":346},{"type":60,"tag":1042,"props":1691,"children":1692},{"style":1055},[1693],{"type":65,"value":1095},{"type":60,"tag":1042,"props":1695,"children":1697},{"class":1044,"line":1696},15,[1698],{"type":60,"tag":1042,"props":1699,"children":1700},{"emptyLinePlaceholder":1127},[1701],{"type":65,"value":1130},{"type":60,"tag":1042,"props":1703,"children":1705},{"class":1044,"line":1704},16,[1706,1710,1715,1719,1724,1728],{"type":60,"tag":1042,"props":1707,"children":1708},{"style":1147},[1709],{"type":65,"value":1526},{"type":60,"tag":1042,"props":1711,"children":1712},{"style":1061},[1713],{"type":65,"value":1714}," app ",{"type":60,"tag":1042,"props":1716,"children":1717},{"style":1055},[1718],{"type":65,"value":1216},{"type":60,"tag":1042,"props":1720,"children":1721},{"style":1153},[1722],{"type":65,"value":1723}," createCopilotHonoHandler",{"type":60,"tag":1042,"props":1725,"children":1726},{"style":1061},[1727],{"type":65,"value":1550},{"type":60,"tag":1042,"props":1729,"children":1730},{"style":1055},[1731],{"type":65,"value":1555},{"type":60,"tag":1042,"props":1733,"children":1735},{"class":1044,"line":1734},17,[1736,1741],{"type":60,"tag":1042,"props":1737,"children":1738},{"style":1061},[1739],{"type":65,"value":1740},"  runtime",{"type":60,"tag":1042,"props":1742,"children":1743},{"style":1055},[1744],{"type":65,"value":1408},{"type":60,"tag":1042,"props":1746,"children":1748},{"class":1044,"line":1747},18,[1749,1754,1758,1762,1766,1770],{"type":60,"tag":1042,"props":1750,"children":1751},{"style":1189},[1752],{"type":65,"value":1753},"  basePath",{"type":60,"tag":1042,"props":1755,"children":1756},{"style":1055},[1757],{"type":65,"value":1568},{"type":60,"tag":1042,"props":1759,"children":1760},{"style":1055},[1761],{"type":65,"value":1079},{"type":60,"tag":1042,"props":1763,"children":1764},{"style":1082},[1765],{"type":65,"value":1225},{"type":60,"tag":1042,"props":1767,"children":1768},{"style":1055},[1769],{"type":65,"value":1090},{"type":60,"tag":1042,"props":1771,"children":1772},{"style":1055},[1773],{"type":65,"value":1408},{"type":60,"tag":1042,"props":1775,"children":1777},{"class":1044,"line":1776},19,[1778,1782,1786],{"type":60,"tag":1042,"props":1779,"children":1780},{"style":1055},[1781],{"type":65,"value":1440},{"type":60,"tag":1042,"props":1783,"children":1784},{"style":1061},[1785],{"type":65,"value":346},{"type":60,"tag":1042,"props":1787,"children":1788},{"style":1055},[1789],{"type":65,"value":1095},{"type":60,"tag":1042,"props":1791,"children":1793},{"class":1044,"line":1792},20,[1794],{"type":60,"tag":1042,"props":1795,"children":1796},{"emptyLinePlaceholder":1127},[1797],{"type":65,"value":1130},{"type":60,"tag":1042,"props":1799,"children":1801},{"class":1044,"line":1800},21,[1802,1806,1811,1816,1820,1824,1829],{"type":60,"tag":1042,"props":1803,"children":1804},{"style":1049},[1805],{"type":65,"value":1139},{"type":60,"tag":1042,"props":1807,"children":1808},{"style":1147},[1809],{"type":65,"value":1810}," const",{"type":60,"tag":1042,"props":1812,"children":1813},{"style":1061},[1814],{"type":65,"value":1815}," GET ",{"type":60,"tag":1042,"props":1817,"children":1818},{"style":1055},[1819],{"type":65,"value":1216},{"type":60,"tag":1042,"props":1821,"children":1822},{"style":1153},[1823],{"type":65,"value":1477},{"type":60,"tag":1042,"props":1825,"children":1826},{"style":1061},[1827],{"type":65,"value":1828},"(app)",{"type":60,"tag":1042,"props":1830,"children":1831},{"style":1055},[1832],{"type":65,"value":1095},{"type":60,"tag":1042,"props":1834,"children":1836},{"class":1044,"line":1835},22,[1837,1841,1845,1850,1854,1858,1862],{"type":60,"tag":1042,"props":1838,"children":1839},{"style":1049},[1840],{"type":65,"value":1139},{"type":60,"tag":1042,"props":1842,"children":1843},{"style":1147},[1844],{"type":65,"value":1810},{"type":60,"tag":1042,"props":1846,"children":1847},{"style":1061},[1848],{"type":65,"value":1849}," POST ",{"type":60,"tag":1042,"props":1851,"children":1852},{"style":1055},[1853],{"type":65,"value":1216},{"type":60,"tag":1042,"props":1855,"children":1856},{"style":1153},[1857],{"type":65,"value":1477},{"type":60,"tag":1042,"props":1859,"children":1860},{"style":1061},[1861],{"type":65,"value":1828},{"type":60,"tag":1042,"props":1863,"children":1864},{"style":1055},[1865],{"type":65,"value":1095},{"type":60,"tag":1042,"props":1867,"children":1869},{"class":1044,"line":1868},23,[1870,1874,1878,1883,1887,1891,1895],{"type":60,"tag":1042,"props":1871,"children":1872},{"style":1049},[1873],{"type":65,"value":1139},{"type":60,"tag":1042,"props":1875,"children":1876},{"style":1147},[1877],{"type":65,"value":1810},{"type":60,"tag":1042,"props":1879,"children":1880},{"style":1061},[1881],{"type":65,"value":1882}," PATCH ",{"type":60,"tag":1042,"props":1884,"children":1885},{"style":1055},[1886],{"type":65,"value":1216},{"type":60,"tag":1042,"props":1888,"children":1889},{"style":1153},[1890],{"type":65,"value":1477},{"type":60,"tag":1042,"props":1892,"children":1893},{"style":1061},[1894],{"type":65,"value":1828},{"type":60,"tag":1042,"props":1896,"children":1897},{"style":1055},[1898],{"type":65,"value":1095},{"type":60,"tag":1042,"props":1900,"children":1902},{"class":1044,"line":1901},24,[1903,1907,1911,1916,1920,1924,1928],{"type":60,"tag":1042,"props":1904,"children":1905},{"style":1049},[1906],{"type":65,"value":1139},{"type":60,"tag":1042,"props":1908,"children":1909},{"style":1147},[1910],{"type":65,"value":1810},{"type":60,"tag":1042,"props":1912,"children":1913},{"style":1061},[1914],{"type":65,"value":1915}," DELETE ",{"type":60,"tag":1042,"props":1917,"children":1918},{"style":1055},[1919],{"type":65,"value":1216},{"type":60,"tag":1042,"props":1921,"children":1922},{"style":1153},[1923],{"type":65,"value":1477},{"type":60,"tag":1042,"props":1925,"children":1926},{"style":1061},[1927],{"type":65,"value":1828},{"type":60,"tag":1042,"props":1929,"children":1930},{"style":1055},[1931],{"type":65,"value":1095},{"type":60,"tag":75,"props":1933,"children":1934},{},[1935,1937,1943,1945,1951,1953,1959],{"type":65,"value":1936},"Use ",{"type":60,"tag":81,"props":1938,"children":1940},{"className":1939},[],[1941],{"type":65,"value":1942},"createCopilotHonoHandler",{"type":65,"value":1944}," (the non-deprecated factory; ",{"type":60,"tag":81,"props":1946,"children":1948},{"className":1947},[],[1949],{"type":65,"value":1950},"createCopilotEndpoint",{"type":65,"value":1952}," is an alias). The frontend selects this agent via ",{"type":60,"tag":81,"props":1954,"children":1956},{"className":1955},[],[1957],{"type":65,"value":1958},"agentId: \"default\"",{"type":65,"value":1960},".",{"type":60,"tag":1026,"props":1962,"children":1964},{"id":1963},"shared-state-useagent",[1965],{"type":65,"value":1966},"Shared State (useAgent)",{"type":60,"tag":75,"props":1968,"children":1969},{},[1970,1975,1977,1983,1985,1991,1993,1999],{"type":60,"tag":81,"props":1971,"children":1973},{"className":1972},[],[1974],{"type":65,"value":223},{"type":65,"value":1976}," returns ",{"type":60,"tag":81,"props":1978,"children":1980},{"className":1979},[],[1981],{"type":65,"value":1982},"{ agent }",{"type":65,"value":1984}," only. Read state via ",{"type":60,"tag":81,"props":1986,"children":1988},{"className":1987},[],[1989],{"type":65,"value":1990},"agent.state",{"type":65,"value":1992}," and write via ",{"type":60,"tag":81,"props":1994,"children":1996},{"className":1995},[],[1997],{"type":65,"value":1998},"agent.setState",{"type":65,"value":1568},{"type":60,"tag":1003,"props":2001,"children":2003},{"className":1034,"code":2002,"language":1036,"meta":1011,"style":1011},"const { agent } = useAgent({ agentId: \"default\" });\nconst state = (agent.state as { proverbs: string[] } | undefined) ?? {\n  proverbs: [],\n};\nconst setState = (next: { proverbs: string[] }) => agent.setState(next);\n",[2004],{"type":60,"tag":81,"props":2005,"children":2006},{"__ignoreMap":1011},[2007,2079,2165,2186,2194],{"type":60,"tag":1042,"props":2008,"children":2009},{"class":1044,"line":1045},[2010,2014,2018,2023,2027,2032,2037,2041,2045,2050,2054,2058,2063,2067,2071,2075],{"type":60,"tag":1042,"props":2011,"children":2012},{"style":1147},[2013],{"type":65,"value":1526},{"type":60,"tag":1042,"props":2015,"children":2016},{"style":1055},[2017],{"type":65,"value":1058},{"type":60,"tag":1042,"props":2019,"children":2020},{"style":1061},[2021],{"type":65,"value":2022}," agent ",{"type":60,"tag":1042,"props":2024,"children":2025},{"style":1055},[2026],{"type":65,"value":1440},{"type":60,"tag":1042,"props":2028,"children":2029},{"style":1055},[2030],{"type":65,"value":2031}," =",{"type":60,"tag":1042,"props":2033,"children":2034},{"style":1153},[2035],{"type":65,"value":2036}," useAgent",{"type":60,"tag":1042,"props":2038,"children":2039},{"style":1061},[2040],{"type":65,"value":1550},{"type":60,"tag":1042,"props":2042,"children":2043},{"style":1055},[2044],{"type":65,"value":1603},{"type":60,"tag":1042,"props":2046,"children":2047},{"style":1189},[2048],{"type":65,"value":2049}," agentId",{"type":60,"tag":1042,"props":2051,"children":2052},{"style":1055},[2053],{"type":65,"value":1568},{"type":60,"tag":1042,"props":2055,"children":2056},{"style":1055},[2057],{"type":65,"value":1079},{"type":60,"tag":1042,"props":2059,"children":2060},{"style":1082},[2061],{"type":65,"value":2062},"default",{"type":60,"tag":1042,"props":2064,"children":2065},{"style":1055},[2066],{"type":65,"value":1090},{"type":60,"tag":1042,"props":2068,"children":2069},{"style":1055},[2070],{"type":65,"value":1069},{"type":60,"tag":1042,"props":2072,"children":2073},{"style":1061},[2074],{"type":65,"value":346},{"type":60,"tag":1042,"props":2076,"children":2077},{"style":1055},[2078],{"type":65,"value":1095},{"type":60,"tag":1042,"props":2080,"children":2081},{"class":1044,"line":1098},[2082,2086,2091,2095,2100,2104,2109,2114,2118,2123,2127,2132,2137,2141,2146,2151,2156,2161],{"type":60,"tag":1042,"props":2083,"children":2084},{"style":1147},[2085],{"type":65,"value":1526},{"type":60,"tag":1042,"props":2087,"children":2088},{"style":1061},[2089],{"type":65,"value":2090}," state ",{"type":60,"tag":1042,"props":2092,"children":2093},{"style":1055},[2094],{"type":65,"value":1216},{"type":60,"tag":1042,"props":2096,"children":2097},{"style":1061},[2098],{"type":65,"value":2099}," (agent",{"type":60,"tag":1042,"props":2101,"children":2102},{"style":1055},[2103],{"type":65,"value":1960},{"type":60,"tag":1042,"props":2105,"children":2106},{"style":1061},[2107],{"type":65,"value":2108},"state ",{"type":60,"tag":1042,"props":2110,"children":2111},{"style":1049},[2112],{"type":65,"value":2113},"as",{"type":60,"tag":1042,"props":2115,"children":2116},{"style":1055},[2117],{"type":65,"value":1058},{"type":60,"tag":1042,"props":2119,"children":2120},{"style":1189},[2121],{"type":65,"value":2122}," proverbs",{"type":60,"tag":1042,"props":2124,"children":2125},{"style":1055},[2126],{"type":65,"value":1568},{"type":60,"tag":1042,"props":2128,"children":2129},{"style":1204},[2130],{"type":65,"value":2131}," string",{"type":60,"tag":1042,"props":2133,"children":2134},{"style":1061},[2135],{"type":65,"value":2136},"[] ",{"type":60,"tag":1042,"props":2138,"children":2139},{"style":1055},[2140],{"type":65,"value":1440},{"type":60,"tag":1042,"props":2142,"children":2143},{"style":1055},[2144],{"type":65,"value":2145}," |",{"type":60,"tag":1042,"props":2147,"children":2148},{"style":1204},[2149],{"type":65,"value":2150}," undefined",{"type":60,"tag":1042,"props":2152,"children":2153},{"style":1061},[2154],{"type":65,"value":2155},") ",{"type":60,"tag":1042,"props":2157,"children":2158},{"style":1055},[2159],{"type":65,"value":2160},"??",{"type":60,"tag":1042,"props":2162,"children":2163},{"style":1055},[2164],{"type":65,"value":1177},{"type":60,"tag":1042,"props":2166,"children":2167},{"class":1044,"line":1123},[2168,2173,2177,2182],{"type":60,"tag":1042,"props":2169,"children":2170},{"style":1189},[2171],{"type":65,"value":2172},"  proverbs",{"type":60,"tag":1042,"props":2174,"children":2175},{"style":1055},[2176],{"type":65,"value":1568},{"type":60,"tag":1042,"props":2178,"children":2179},{"style":1061},[2180],{"type":65,"value":2181}," []",{"type":60,"tag":1042,"props":2183,"children":2184},{"style":1055},[2185],{"type":65,"value":1408},{"type":60,"tag":1042,"props":2187,"children":2188},{"class":1044,"line":1133},[2189],{"type":60,"tag":1042,"props":2190,"children":2191},{"style":1055},[2192],{"type":65,"value":2193},"};\n",{"type":60,"tag":1042,"props":2195,"children":2196},{"class":1044,"line":1180},[2197,2201,2206,2210,2214,2219,2223,2227,2231,2235,2239,2243,2248,2253,2258,2262,2267,2272],{"type":60,"tag":1042,"props":2198,"children":2199},{"style":1147},[2200],{"type":65,"value":1526},{"type":60,"tag":1042,"props":2202,"children":2203},{"style":1061},[2204],{"type":65,"value":2205}," setState ",{"type":60,"tag":1042,"props":2207,"children":2208},{"style":1055},[2209],{"type":65,"value":1216},{"type":60,"tag":1042,"props":2211,"children":2212},{"style":1055},[2213],{"type":65,"value":338},{"type":60,"tag":1042,"props":2215,"children":2216},{"style":1164},[2217],{"type":65,"value":2218},"next",{"type":60,"tag":1042,"props":2220,"children":2221},{"style":1055},[2222],{"type":65,"value":1568},{"type":60,"tag":1042,"props":2224,"children":2225},{"style":1055},[2226],{"type":65,"value":1058},{"type":60,"tag":1042,"props":2228,"children":2229},{"style":1189},[2230],{"type":65,"value":2122},{"type":60,"tag":1042,"props":2232,"children":2233},{"style":1055},[2234],{"type":65,"value":1568},{"type":60,"tag":1042,"props":2236,"children":2237},{"style":1204},[2238],{"type":65,"value":2131},{"type":60,"tag":1042,"props":2240,"children":2241},{"style":1061},[2242],{"type":65,"value":2136},{"type":60,"tag":1042,"props":2244,"children":2245},{"style":1055},[2246],{"type":65,"value":2247},"})",{"type":60,"tag":1042,"props":2249,"children":2250},{"style":1147},[2251],{"type":65,"value":2252}," =>",{"type":60,"tag":1042,"props":2254,"children":2255},{"style":1061},[2256],{"type":65,"value":2257}," agent",{"type":60,"tag":1042,"props":2259,"children":2260},{"style":1055},[2261],{"type":65,"value":1960},{"type":60,"tag":1042,"props":2263,"children":2264},{"style":1153},[2265],{"type":65,"value":2266},"setState",{"type":60,"tag":1042,"props":2268,"children":2269},{"style":1061},[2270],{"type":65,"value":2271},"(next)",{"type":60,"tag":1042,"props":2273,"children":2274},{"style":1055},[2275],{"type":65,"value":1095},{"type":60,"tag":1026,"props":2277,"children":2279},{"id":2278},"frontend-tools-usefrontendtool",[2280],{"type":65,"value":2281},"Frontend Tools (useFrontendTool)",{"type":60,"tag":1003,"props":2283,"children":2285},{"className":1034,"code":2284,"language":1036,"meta":1011,"style":1011},"import { z } from \"zod\";\n\nuseFrontendTool({\n  name: \"setThemeColor\",\n  parameters: z.object({\n    themeColor: z.string().describe(\"The theme color to set.\"),\n  }),\n  handler: async ({ themeColor }) => {\n    setThemeColor(themeColor);\n    return `Set theme color to ${themeColor}`;\n  },\n});\n",[2286],{"type":60,"tag":81,"props":2287,"children":2288},{"__ignoreMap":1011},[2289,2330,2337,2352,2381,2414,2477,2493,2532,2557,2593,2600],{"type":60,"tag":1042,"props":2290,"children":2291},{"class":1044,"line":1045},[2292,2296,2300,2305,2309,2313,2317,2322,2326],{"type":60,"tag":1042,"props":2293,"children":2294},{"style":1049},[2295],{"type":65,"value":1052},{"type":60,"tag":1042,"props":2297,"children":2298},{"style":1055},[2299],{"type":65,"value":1058},{"type":60,"tag":1042,"props":2301,"children":2302},{"style":1061},[2303],{"type":65,"value":2304}," z",{"type":60,"tag":1042,"props":2306,"children":2307},{"style":1055},[2308],{"type":65,"value":1069},{"type":60,"tag":1042,"props":2310,"children":2311},{"style":1049},[2312],{"type":65,"value":1074},{"type":60,"tag":1042,"props":2314,"children":2315},{"style":1055},[2316],{"type":65,"value":1079},{"type":60,"tag":1042,"props":2318,"children":2319},{"style":1082},[2320],{"type":65,"value":2321},"zod",{"type":60,"tag":1042,"props":2323,"children":2324},{"style":1055},[2325],{"type":65,"value":1090},{"type":60,"tag":1042,"props":2327,"children":2328},{"style":1055},[2329],{"type":65,"value":1095},{"type":60,"tag":1042,"props":2331,"children":2332},{"class":1044,"line":1098},[2333],{"type":60,"tag":1042,"props":2334,"children":2335},{"emptyLinePlaceholder":1127},[2336],{"type":65,"value":1130},{"type":60,"tag":1042,"props":2338,"children":2339},{"class":1044,"line":1123},[2340,2344,2348],{"type":60,"tag":1042,"props":2341,"children":2342},{"style":1153},[2343],{"type":65,"value":231},{"type":60,"tag":1042,"props":2345,"children":2346},{"style":1061},[2347],{"type":65,"value":1550},{"type":60,"tag":1042,"props":2349,"children":2350},{"style":1055},[2351],{"type":65,"value":1555},{"type":60,"tag":1042,"props":2353,"children":2354},{"class":1044,"line":1133},[2355,2360,2364,2368,2373,2377],{"type":60,"tag":1042,"props":2356,"children":2357},{"style":1189},[2358],{"type":65,"value":2359},"  name",{"type":60,"tag":1042,"props":2361,"children":2362},{"style":1055},[2363],{"type":65,"value":1568},{"type":60,"tag":1042,"props":2365,"children":2366},{"style":1055},[2367],{"type":65,"value":1079},{"type":60,"tag":1042,"props":2369,"children":2370},{"style":1082},[2371],{"type":65,"value":2372},"setThemeColor",{"type":60,"tag":1042,"props":2374,"children":2375},{"style":1055},[2376],{"type":65,"value":1090},{"type":60,"tag":1042,"props":2378,"children":2379},{"style":1055},[2380],{"type":65,"value":1408},{"type":60,"tag":1042,"props":2382,"children":2383},{"class":1044,"line":1180},[2384,2389,2393,2397,2401,2406,2410],{"type":60,"tag":1042,"props":2385,"children":2386},{"style":1189},[2387],{"type":65,"value":2388},"  parameters",{"type":60,"tag":1042,"props":2390,"children":2391},{"style":1055},[2392],{"type":65,"value":1568},{"type":60,"tag":1042,"props":2394,"children":2395},{"style":1061},[2396],{"type":65,"value":2304},{"type":60,"tag":1042,"props":2398,"children":2399},{"style":1055},[2400],{"type":65,"value":1960},{"type":60,"tag":1042,"props":2402,"children":2403},{"style":1153},[2404],{"type":65,"value":2405},"object",{"type":60,"tag":1042,"props":2407,"children":2408},{"style":1061},[2409],{"type":65,"value":1550},{"type":60,"tag":1042,"props":2411,"children":2412},{"style":1055},[2413],{"type":65,"value":1555},{"type":60,"tag":1042,"props":2415,"children":2416},{"class":1044,"line":1195},[2417,2422,2426,2430,2434,2439,2443,2447,2452,2456,2460,2465,2469,2473],{"type":60,"tag":1042,"props":2418,"children":2419},{"style":1189},[2420],{"type":65,"value":2421},"    themeColor",{"type":60,"tag":1042,"props":2423,"children":2424},{"style":1055},[2425],{"type":65,"value":1568},{"type":60,"tag":1042,"props":2427,"children":2428},{"style":1061},[2429],{"type":65,"value":2304},{"type":60,"tag":1042,"props":2431,"children":2432},{"style":1055},[2433],{"type":65,"value":1960},{"type":60,"tag":1042,"props":2435,"children":2436},{"style":1153},[2437],{"type":65,"value":2438},"string",{"type":60,"tag":1042,"props":2440,"children":2441},{"style":1061},[2442],{"type":65,"value":1673},{"type":60,"tag":1042,"props":2444,"children":2445},{"style":1055},[2446],{"type":65,"value":1960},{"type":60,"tag":1042,"props":2448,"children":2449},{"style":1153},[2450],{"type":65,"value":2451},"describe",{"type":60,"tag":1042,"props":2453,"children":2454},{"style":1061},[2455],{"type":65,"value":1550},{"type":60,"tag":1042,"props":2457,"children":2458},{"style":1055},[2459],{"type":65,"value":1090},{"type":60,"tag":1042,"props":2461,"children":2462},{"style":1082},[2463],{"type":65,"value":2464},"The theme color to set.",{"type":60,"tag":1042,"props":2466,"children":2467},{"style":1055},[2468],{"type":65,"value":1090},{"type":60,"tag":1042,"props":2470,"children":2471},{"style":1061},[2472],{"type":65,"value":346},{"type":60,"tag":1042,"props":2474,"children":2475},{"style":1055},[2476],{"type":65,"value":1408},{"type":60,"tag":1042,"props":2478,"children":2479},{"class":1044,"line":1253},[2480,2485,2489],{"type":60,"tag":1042,"props":2481,"children":2482},{"style":1055},[2483],{"type":65,"value":2484},"  }",{"type":60,"tag":1042,"props":2486,"children":2487},{"style":1061},[2488],{"type":65,"value":346},{"type":60,"tag":1042,"props":2490,"children":2491},{"style":1055},[2492],{"type":65,"value":1408},{"type":60,"tag":1042,"props":2494,"children":2495},{"class":1044,"line":1272},[2496,2501,2505,2510,2515,2520,2524,2528],{"type":60,"tag":1042,"props":2497,"children":2498},{"style":1153},[2499],{"type":65,"value":2500},"  handler",{"type":60,"tag":1042,"props":2502,"children":2503},{"style":1055},[2504],{"type":65,"value":1568},{"type":60,"tag":1042,"props":2506,"children":2507},{"style":1147},[2508],{"type":65,"value":2509}," async",{"type":60,"tag":1042,"props":2511,"children":2512},{"style":1055},[2513],{"type":65,"value":2514}," ({",{"type":60,"tag":1042,"props":2516,"children":2517},{"style":1164},[2518],{"type":65,"value":2519}," themeColor",{"type":60,"tag":1042,"props":2521,"children":2522},{"style":1055},[2523],{"type":65,"value":1172},{"type":60,"tag":1042,"props":2525,"children":2526},{"style":1147},[2527],{"type":65,"value":2252},{"type":60,"tag":1042,"props":2529,"children":2530},{"style":1055},[2531],{"type":65,"value":1177},{"type":60,"tag":1042,"props":2533,"children":2534},{"class":1044,"line":1290},[2535,2540,2544,2549,2553],{"type":60,"tag":1042,"props":2536,"children":2537},{"style":1153},[2538],{"type":65,"value":2539},"    setThemeColor",{"type":60,"tag":1042,"props":2541,"children":2542},{"style":1189},[2543],{"type":65,"value":1550},{"type":60,"tag":1042,"props":2545,"children":2546},{"style":1061},[2547],{"type":65,"value":2548},"themeColor",{"type":60,"tag":1042,"props":2550,"children":2551},{"style":1189},[2552],{"type":65,"value":346},{"type":60,"tag":1042,"props":2554,"children":2555},{"style":1055},[2556],{"type":65,"value":1095},{"type":60,"tag":1042,"props":2558,"children":2559},{"class":1044,"line":1303},[2560,2565,2570,2575,2580,2584,2589],{"type":60,"tag":1042,"props":2561,"children":2562},{"style":1049},[2563],{"type":65,"value":2564},"    return",{"type":60,"tag":1042,"props":2566,"children":2567},{"style":1055},[2568],{"type":65,"value":2569}," `",{"type":60,"tag":1042,"props":2571,"children":2572},{"style":1082},[2573],{"type":65,"value":2574},"Set theme color to ",{"type":60,"tag":1042,"props":2576,"children":2577},{"style":1055},[2578],{"type":65,"value":2579},"${",{"type":60,"tag":1042,"props":2581,"children":2582},{"style":1061},[2583],{"type":65,"value":2548},{"type":60,"tag":1042,"props":2585,"children":2586},{"style":1055},[2587],{"type":65,"value":2588},"}`",{"type":60,"tag":1042,"props":2590,"children":2591},{"style":1055},[2592],{"type":65,"value":1095},{"type":60,"tag":1042,"props":2594,"children":2595},{"class":1044,"line":1575},[2596],{"type":60,"tag":1042,"props":2597,"children":2598},{"style":1055},[2599],{"type":65,"value":1646},{"type":60,"tag":1042,"props":2601,"children":2602},{"class":1044,"line":1640},[2603,2607,2611],{"type":60,"tag":1042,"props":2604,"children":2605},{"style":1055},[2606],{"type":65,"value":1440},{"type":60,"tag":1042,"props":2608,"children":2609},{"style":1061},[2610],{"type":65,"value":346},{"type":60,"tag":1042,"props":2612,"children":2613},{"style":1055},[2614],{"type":65,"value":1095},{"type":60,"tag":1026,"props":2616,"children":2618},{"id":2617},"generative-ui-userendertool",[2619],{"type":65,"value":2620},"Generative UI (useRenderTool)",{"type":60,"tag":1003,"props":2622,"children":2624},{"className":1034,"code":2623,"language":1036,"meta":1011,"style":1011},"import { z } from \"zod\";\n\nuseRenderTool(\n  {\n    name: \"get_weather\",\n    parameters: z.object({ location: z.string() }),\n    render: ({ parameters }) => \u003CWeatherCard location={parameters.location} \u002F>,\n  },\n  [],\n);\n",[2625],{"type":60,"tag":81,"props":2626,"children":2627},{"__ignoreMap":1011},[2628,2667,2674,2686,2694,2723,2793,2859,2866,2878],{"type":60,"tag":1042,"props":2629,"children":2630},{"class":1044,"line":1045},[2631,2635,2639,2643,2647,2651,2655,2659,2663],{"type":60,"tag":1042,"props":2632,"children":2633},{"style":1049},[2634],{"type":65,"value":1052},{"type":60,"tag":1042,"props":2636,"children":2637},{"style":1055},[2638],{"type":65,"value":1058},{"type":60,"tag":1042,"props":2640,"children":2641},{"style":1061},[2642],{"type":65,"value":2304},{"type":60,"tag":1042,"props":2644,"children":2645},{"style":1055},[2646],{"type":65,"value":1069},{"type":60,"tag":1042,"props":2648,"children":2649},{"style":1049},[2650],{"type":65,"value":1074},{"type":60,"tag":1042,"props":2652,"children":2653},{"style":1055},[2654],{"type":65,"value":1079},{"type":60,"tag":1042,"props":2656,"children":2657},{"style":1082},[2658],{"type":65,"value":2321},{"type":60,"tag":1042,"props":2660,"children":2661},{"style":1055},[2662],{"type":65,"value":1090},{"type":60,"tag":1042,"props":2664,"children":2665},{"style":1055},[2666],{"type":65,"value":1095},{"type":60,"tag":1042,"props":2668,"children":2669},{"class":1044,"line":1098},[2670],{"type":60,"tag":1042,"props":2671,"children":2672},{"emptyLinePlaceholder":1127},[2673],{"type":65,"value":1130},{"type":60,"tag":1042,"props":2675,"children":2676},{"class":1044,"line":1123},[2677,2681],{"type":60,"tag":1042,"props":2678,"children":2679},{"style":1153},[2680],{"type":65,"value":238},{"type":60,"tag":1042,"props":2682,"children":2683},{"style":1061},[2684],{"type":65,"value":2685},"(\n",{"type":60,"tag":1042,"props":2687,"children":2688},{"class":1044,"line":1133},[2689],{"type":60,"tag":1042,"props":2690,"children":2691},{"style":1055},[2692],{"type":65,"value":2693},"  {\n",{"type":60,"tag":1042,"props":2695,"children":2696},{"class":1044,"line":1180},[2697,2702,2706,2710,2715,2719],{"type":60,"tag":1042,"props":2698,"children":2699},{"style":1189},[2700],{"type":65,"value":2701},"    name",{"type":60,"tag":1042,"props":2703,"children":2704},{"style":1055},[2705],{"type":65,"value":1568},{"type":60,"tag":1042,"props":2707,"children":2708},{"style":1055},[2709],{"type":65,"value":1079},{"type":60,"tag":1042,"props":2711,"children":2712},{"style":1082},[2713],{"type":65,"value":2714},"get_weather",{"type":60,"tag":1042,"props":2716,"children":2717},{"style":1055},[2718],{"type":65,"value":1090},{"type":60,"tag":1042,"props":2720,"children":2721},{"style":1055},[2722],{"type":65,"value":1408},{"type":60,"tag":1042,"props":2724,"children":2725},{"class":1044,"line":1195},[2726,2731,2735,2739,2743,2747,2751,2755,2760,2764,2768,2772,2776,2781,2785,2789],{"type":60,"tag":1042,"props":2727,"children":2728},{"style":1189},[2729],{"type":65,"value":2730},"    parameters",{"type":60,"tag":1042,"props":2732,"children":2733},{"style":1055},[2734],{"type":65,"value":1568},{"type":60,"tag":1042,"props":2736,"children":2737},{"style":1061},[2738],{"type":65,"value":2304},{"type":60,"tag":1042,"props":2740,"children":2741},{"style":1055},[2742],{"type":65,"value":1960},{"type":60,"tag":1042,"props":2744,"children":2745},{"style":1153},[2746],{"type":65,"value":2405},{"type":60,"tag":1042,"props":2748,"children":2749},{"style":1061},[2750],{"type":65,"value":1550},{"type":60,"tag":1042,"props":2752,"children":2753},{"style":1055},[2754],{"type":65,"value":1603},{"type":60,"tag":1042,"props":2756,"children":2757},{"style":1189},[2758],{"type":65,"value":2759}," location",{"type":60,"tag":1042,"props":2761,"children":2762},{"style":1055},[2763],{"type":65,"value":1568},{"type":60,"tag":1042,"props":2765,"children":2766},{"style":1061},[2767],{"type":65,"value":2304},{"type":60,"tag":1042,"props":2769,"children":2770},{"style":1055},[2771],{"type":65,"value":1960},{"type":60,"tag":1042,"props":2773,"children":2774},{"style":1153},[2775],{"type":65,"value":2438},{"type":60,"tag":1042,"props":2777,"children":2778},{"style":1061},[2779],{"type":65,"value":2780},"() ",{"type":60,"tag":1042,"props":2782,"children":2783},{"style":1055},[2784],{"type":65,"value":1440},{"type":60,"tag":1042,"props":2786,"children":2787},{"style":1061},[2788],{"type":65,"value":346},{"type":60,"tag":1042,"props":2790,"children":2791},{"style":1055},[2792],{"type":65,"value":1408},{"type":60,"tag":1042,"props":2794,"children":2795},{"class":1044,"line":1253},[2796,2801,2805,2809,2814,2818,2822,2827,2832,2836,2840,2845,2849,2854],{"type":60,"tag":1042,"props":2797,"children":2798},{"style":1153},[2799],{"type":65,"value":2800},"    render",{"type":60,"tag":1042,"props":2802,"children":2803},{"style":1055},[2804],{"type":65,"value":1568},{"type":60,"tag":1042,"props":2806,"children":2807},{"style":1055},[2808],{"type":65,"value":2514},{"type":60,"tag":1042,"props":2810,"children":2811},{"style":1164},[2812],{"type":65,"value":2813}," parameters",{"type":60,"tag":1042,"props":2815,"children":2816},{"style":1055},[2817],{"type":65,"value":1172},{"type":60,"tag":1042,"props":2819,"children":2820},{"style":1147},[2821],{"type":65,"value":2252},{"type":60,"tag":1042,"props":2823,"children":2824},{"style":1055},[2825],{"type":65,"value":2826}," \u003C",{"type":60,"tag":1042,"props":2828,"children":2829},{"style":1204},[2830],{"type":65,"value":2831},"WeatherCard",{"type":60,"tag":1042,"props":2833,"children":2834},{"style":1147},[2835],{"type":65,"value":2759},{"type":60,"tag":1042,"props":2837,"children":2838},{"style":1055},[2839],{"type":65,"value":1239},{"type":60,"tag":1042,"props":2841,"children":2842},{"style":1061},[2843],{"type":65,"value":2844},"parameters",{"type":60,"tag":1042,"props":2846,"children":2847},{"style":1055},[2848],{"type":65,"value":1960},{"type":60,"tag":1042,"props":2850,"children":2851},{"style":1061},[2852],{"type":65,"value":2853},"location",{"type":60,"tag":1042,"props":2855,"children":2856},{"style":1055},[2857],{"type":65,"value":2858},"} \u002F>,\n",{"type":60,"tag":1042,"props":2860,"children":2861},{"class":1044,"line":1272},[2862],{"type":60,"tag":1042,"props":2863,"children":2864},{"style":1055},[2865],{"type":65,"value":1646},{"type":60,"tag":1042,"props":2867,"children":2868},{"class":1044,"line":1290},[2869,2874],{"type":60,"tag":1042,"props":2870,"children":2871},{"style":1061},[2872],{"type":65,"value":2873},"  []",{"type":60,"tag":1042,"props":2875,"children":2876},{"style":1055},[2877],{"type":65,"value":1408},{"type":60,"tag":1042,"props":2879,"children":2880},{"class":1044,"line":1303},[2881,2885],{"type":60,"tag":1042,"props":2882,"children":2883},{"style":1061},[2884],{"type":65,"value":346},{"type":60,"tag":1042,"props":2886,"children":2887},{"style":1055},[2888],{"type":65,"value":1095},{"type":60,"tag":1026,"props":2890,"children":2892},{"id":2891},"human-in-the-loop-usehumanintheloop",[2893],{"type":65,"value":2894},"Human in the Loop (useHumanInTheLoop)",{"type":60,"tag":1003,"props":2896,"children":2898},{"className":1034,"code":2897,"language":1036,"meta":1011,"style":1011},"useHumanInTheLoop(\n  {\n    name: \"go_to_moon\",\n    description: \"Go to the moon on request.\",\n    render: ({ respond, status }) => (\n      \u003CMoonCard status={status} respond={respond} \u002F>\n    ),\n  },\n  [],\n);\n",[2899],{"type":60,"tag":81,"props":2900,"children":2901},{"__ignoreMap":1011},[2902,2913,2920,2948,2977,3019,3068,3080,3087,3098],{"type":60,"tag":1042,"props":2903,"children":2904},{"class":1044,"line":1045},[2905,2909],{"type":60,"tag":1042,"props":2906,"children":2907},{"style":1153},[2908],{"type":65,"value":246},{"type":60,"tag":1042,"props":2910,"children":2911},{"style":1061},[2912],{"type":65,"value":2685},{"type":60,"tag":1042,"props":2914,"children":2915},{"class":1044,"line":1098},[2916],{"type":60,"tag":1042,"props":2917,"children":2918},{"style":1055},[2919],{"type":65,"value":2693},{"type":60,"tag":1042,"props":2921,"children":2922},{"class":1044,"line":1123},[2923,2927,2931,2935,2940,2944],{"type":60,"tag":1042,"props":2924,"children":2925},{"style":1189},[2926],{"type":65,"value":2701},{"type":60,"tag":1042,"props":2928,"children":2929},{"style":1055},[2930],{"type":65,"value":1568},{"type":60,"tag":1042,"props":2932,"children":2933},{"style":1055},[2934],{"type":65,"value":1079},{"type":60,"tag":1042,"props":2936,"children":2937},{"style":1082},[2938],{"type":65,"value":2939},"go_to_moon",{"type":60,"tag":1042,"props":2941,"children":2942},{"style":1055},[2943],{"type":65,"value":1090},{"type":60,"tag":1042,"props":2945,"children":2946},{"style":1055},[2947],{"type":65,"value":1408},{"type":60,"tag":1042,"props":2949,"children":2950},{"class":1044,"line":1133},[2951,2956,2960,2964,2969,2973],{"type":60,"tag":1042,"props":2952,"children":2953},{"style":1189},[2954],{"type":65,"value":2955},"    description",{"type":60,"tag":1042,"props":2957,"children":2958},{"style":1055},[2959],{"type":65,"value":1568},{"type":60,"tag":1042,"props":2961,"children":2962},{"style":1055},[2963],{"type":65,"value":1079},{"type":60,"tag":1042,"props":2965,"children":2966},{"style":1082},[2967],{"type":65,"value":2968},"Go to the moon on request.",{"type":60,"tag":1042,"props":2970,"children":2971},{"style":1055},[2972],{"type":65,"value":1090},{"type":60,"tag":1042,"props":2974,"children":2975},{"style":1055},[2976],{"type":65,"value":1408},{"type":60,"tag":1042,"props":2978,"children":2979},{"class":1044,"line":1180},[2980,2984,2988,2992,2997,3002,3007,3011,3015],{"type":60,"tag":1042,"props":2981,"children":2982},{"style":1153},[2983],{"type":65,"value":2800},{"type":60,"tag":1042,"props":2985,"children":2986},{"style":1055},[2987],{"type":65,"value":1568},{"type":60,"tag":1042,"props":2989,"children":2990},{"style":1055},[2991],{"type":65,"value":2514},{"type":60,"tag":1042,"props":2993,"children":2994},{"style":1164},[2995],{"type":65,"value":2996}," respond",{"type":60,"tag":1042,"props":2998,"children":2999},{"style":1055},[3000],{"type":65,"value":3001},",",{"type":60,"tag":1042,"props":3003,"children":3004},{"style":1164},[3005],{"type":65,"value":3006}," status",{"type":60,"tag":1042,"props":3008,"children":3009},{"style":1055},[3010],{"type":65,"value":1172},{"type":60,"tag":1042,"props":3012,"children":3013},{"style":1147},[3014],{"type":65,"value":2252},{"type":60,"tag":1042,"props":3016,"children":3017},{"style":1061},[3018],{"type":65,"value":1192},{"type":60,"tag":1042,"props":3020,"children":3021},{"class":1044,"line":1195},[3022,3027,3032,3036,3040,3045,3050,3055,3059,3063],{"type":60,"tag":1042,"props":3023,"children":3024},{"style":1055},[3025],{"type":65,"value":3026},"      \u003C",{"type":60,"tag":1042,"props":3028,"children":3029},{"style":1204},[3030],{"type":65,"value":3031},"MoonCard",{"type":60,"tag":1042,"props":3033,"children":3034},{"style":1147},[3035],{"type":65,"value":3006},{"type":60,"tag":1042,"props":3037,"children":3038},{"style":1055},[3039],{"type":65,"value":1239},{"type":60,"tag":1042,"props":3041,"children":3042},{"style":1061},[3043],{"type":65,"value":3044},"status",{"type":60,"tag":1042,"props":3046,"children":3047},{"style":1055},[3048],{"type":65,"value":3049},"} ",{"type":60,"tag":1042,"props":3051,"children":3052},{"style":1147},[3053],{"type":65,"value":3054},"respond",{"type":60,"tag":1042,"props":3056,"children":3057},{"style":1055},[3058],{"type":65,"value":1239},{"type":60,"tag":1042,"props":3060,"children":3061},{"style":1061},[3062],{"type":65,"value":3054},{"type":60,"tag":1042,"props":3064,"children":3065},{"style":1055},[3066],{"type":65,"value":3067},"} \u002F>\n",{"type":60,"tag":1042,"props":3069,"children":3070},{"class":1044,"line":1253},[3071,3076],{"type":60,"tag":1042,"props":3072,"children":3073},{"style":1061},[3074],{"type":65,"value":3075},"    )",{"type":60,"tag":1042,"props":3077,"children":3078},{"style":1055},[3079],{"type":65,"value":1408},{"type":60,"tag":1042,"props":3081,"children":3082},{"class":1044,"line":1272},[3083],{"type":60,"tag":1042,"props":3084,"children":3085},{"style":1055},[3086],{"type":65,"value":1646},{"type":60,"tag":1042,"props":3088,"children":3089},{"class":1044,"line":1290},[3090,3094],{"type":60,"tag":1042,"props":3091,"children":3092},{"style":1061},[3093],{"type":65,"value":2873},{"type":60,"tag":1042,"props":3095,"children":3096},{"style":1055},[3097],{"type":65,"value":1408},{"type":60,"tag":1042,"props":3099,"children":3100},{"class":1044,"line":1303},[3101,3105],{"type":60,"tag":1042,"props":3102,"children":3103},{"style":1061},[3104],{"type":65,"value":346},{"type":60,"tag":1042,"props":3106,"children":3107},{"style":1055},[3108],{"type":65,"value":1095},{"type":60,"tag":68,"props":3110,"children":3112},{"id":3111},"agent-side-state-management",[3113],{"type":65,"value":3114},"Agent-Side State Management",{"type":60,"tag":75,"props":3116,"children":3117},{},[3118,3120,3126],{"type":65,"value":3119},"On the agent side, shared state is managed differently per framework, but the protocol is the same -- agents emit ",{"type":60,"tag":81,"props":3121,"children":3123},{"className":3122},[],[3124],{"type":65,"value":3125},"STATE_SNAPSHOT",{"type":65,"value":3127}," events to update the frontend. See each integration guide for framework-specific patterns.",{"type":60,"tag":68,"props":3129,"children":3131},{"id":3130},"key-packages",[3132],{"type":65,"value":3133},"Key Packages",{"type":60,"tag":75,"props":3135,"children":3136},{},[3137],{"type":65,"value":3138},"Frontend (all integrations):",{"type":60,"tag":106,"props":3140,"children":3141},{},[3142,3213],{"type":60,"tag":110,"props":3143,"children":3144},{},[3145,3150,3152,3157,3159,3164,3165,3170,3171,3176,3177,3182,3184,3190,3191,3197,3198,3204,3206,3212],{"type":60,"tag":81,"props":3146,"children":3148},{"className":3147},[],[3149],{"type":65,"value":1085},{"type":65,"value":3151}," -- provider (",{"type":60,"tag":81,"props":3153,"children":3155},{"className":3154},[],[3156],{"type":65,"value":9},{"type":65,"value":3158},"), hooks (",{"type":60,"tag":81,"props":3160,"children":3162},{"className":3161},[],[3163],{"type":65,"value":223},{"type":65,"value":225},{"type":60,"tag":81,"props":3166,"children":3168},{"className":3167},[],[3169],{"type":65,"value":231},{"type":65,"value":225},{"type":60,"tag":81,"props":3172,"children":3174},{"className":3173},[],[3175],{"type":65,"value":238},{"type":65,"value":225},{"type":60,"tag":81,"props":3178,"children":3180},{"className":3179},[],[3181],{"type":65,"value":246},{"type":65,"value":3183},"), and chat components (",{"type":60,"tag":81,"props":3185,"children":3187},{"className":3186},[],[3188],{"type":65,"value":3189},"CopilotChat",{"type":65,"value":225},{"type":60,"tag":81,"props":3192,"children":3194},{"className":3193},[],[3195],{"type":65,"value":3196},"CopilotSidebar",{"type":65,"value":225},{"type":60,"tag":81,"props":3199,"children":3201},{"className":3200},[],[3202],{"type":65,"value":3203},"CopilotPopup",{"type":65,"value":3205},"). Styles: ",{"type":60,"tag":81,"props":3207,"children":3209},{"className":3208},[],[3210],{"type":65,"value":3211},"import \"@copilotkit\u002Freact-core\u002Fv2\u002Fstyles.css\"",{"type":65,"value":1960},{"type":60,"tag":110,"props":3214,"children":3215},{},[3216,3221,3223,3228,3229,3234,3235,3241],{"type":60,"tag":81,"props":3217,"children":3219},{"className":3218},[],[3220],{"type":65,"value":1453},{"type":65,"value":3222}," -- server runtime (",{"type":60,"tag":81,"props":3224,"children":3226},{"className":3225},[],[3227],{"type":65,"value":205},{"type":65,"value":225},{"type":60,"tag":81,"props":3230,"children":3232},{"className":3231},[],[3233],{"type":65,"value":1942},{"type":65,"value":225},{"type":60,"tag":81,"props":3236,"children":3238},{"className":3237},[],[3239],{"type":65,"value":3240},"InMemoryAgentRunner",{"type":65,"value":346},{"type":60,"tag":75,"props":3243,"children":3244},{},[3245],{"type":65,"value":3246},"AG-UI client classes (choose one per integration):",{"type":60,"tag":106,"props":3248,"children":3249},{},[3250,3271,3287,3301,3315,3329,3343],{"type":60,"tag":110,"props":3251,"children":3252},{},[3253,3258,3260,3265,3266],{"type":60,"tag":81,"props":3254,"children":3256},{"className":3255},[],[3257],{"type":65,"value":327},{"type":65,"value":3259}," -- ",{"type":60,"tag":81,"props":3261,"children":3263},{"className":3262},[],[3264],{"type":65,"value":372},{"type":65,"value":225},{"type":60,"tag":81,"props":3267,"children":3269},{"className":3268},[],[3270],{"type":65,"value":319},{"type":60,"tag":110,"props":3272,"children":3273},{},[3274,3279,3280,3285],{"type":60,"tag":81,"props":3275,"children":3277},{"className":3276},[],[3278],{"type":65,"value":458},{"type":65,"value":3259},{"type":60,"tag":81,"props":3281,"children":3283},{"className":3282},[],[3284],{"type":65,"value":451},{"type":65,"value":3286}," (generic, works with any AG-UI server)",{"type":60,"tag":110,"props":3288,"children":3289},{},[3290,3295,3296],{"type":60,"tag":81,"props":3291,"children":3293},{"className":3292},[],[3294],{"type":65,"value":508},{"type":65,"value":3259},{"type":60,"tag":81,"props":3297,"children":3299},{"className":3298},[],[3300],{"type":65,"value":501},{"type":60,"tag":110,"props":3302,"children":3303},{},[3304,3309,3310],{"type":60,"tag":81,"props":3305,"children":3307},{"className":3306},[],[3308],{"type":65,"value":603},{"type":65,"value":3259},{"type":60,"tag":81,"props":3311,"children":3313},{"className":3312},[],[3314],{"type":65,"value":596},{"type":60,"tag":110,"props":3316,"children":3317},{},[3318,3323,3324],{"type":60,"tag":81,"props":3319,"children":3321},{"className":3320},[],[3322],{"type":65,"value":692},{"type":65,"value":3259},{"type":60,"tag":81,"props":3325,"children":3327},{"className":3326},[],[3328],{"type":65,"value":685},{"type":60,"tag":110,"props":3330,"children":3331},{},[3332,3337,3338],{"type":60,"tag":81,"props":3333,"children":3335},{"className":3334},[],[3336],{"type":65,"value":942},{"type":65,"value":3259},{"type":60,"tag":81,"props":3339,"children":3341},{"className":3340},[],[3342],{"type":65,"value":935},{"type":60,"tag":110,"props":3344,"children":3345},{},[3346,3352,3353],{"type":60,"tag":81,"props":3347,"children":3349},{"className":3348},[],[3350],{"type":65,"value":3351},"@ag-ui\u002Fmcp-apps-middleware",{"type":65,"value":3259},{"type":60,"tag":81,"props":3354,"children":3356},{"className":3355},[],[3357],{"type":65,"value":980},{"type":60,"tag":3359,"props":3360,"children":3361},"style",{},[3362],{"type":65,"value":3363},"html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"items":3365,"total":1680},[3366,3382,3398,3415,3427,3440,3447,3461,3473,3485,3500,3515],{"slug":3367,"name":3367,"fn":3368,"description":3369,"org":3370,"tags":3371,"stars":23,"repoUrl":24,"updatedAt":3381},"a2ui-renderer","render declarative agent UI surfaces","Render A2UI (Agent-to-UI declarative surfaces) in CopilotKit v2. Enable the runtime via CopilotRuntime({ a2ui: {...} }), then enable the provider via \u003CCopilotKit a2ui={{ theme }}>. Auto-activates via \u002Finfo — do NOT manually pass renderActivityMessages. createA2UIMessageRenderer ships from @copilotkit\u002Freact-core\u002Fv2; low-level primitives (A2UIProvider, A2UIRenderer, createCatalog) ship from @copilotkit\u002Fa2ui-renderer. Covers theme customization, createSurface dedup, action-bridge try\u002Ffinally cleanup. Load when an agent emits A2UI operations (createSurface \u002F updateComponents \u002F updateDataModel), when wiring a2ui on CopilotRuntime, or when styling A2UI surfaces.\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[3372,3373,3376,3378],{"name":9,"slug":8,"type":13},{"name":3374,"slug":3375,"type":13},"Design","design",{"name":215,"slug":3377,"type":13},"frontend",{"name":3379,"slug":3380,"type":13},"UI Components","ui-components","2026-07-12T08:06:36.722091",{"slug":3383,"name":3383,"fn":3384,"description":3385,"org":3386,"tags":3387,"stars":23,"repoUrl":24,"updatedAt":3397},"copilotkit-agui","build and debug CopilotKit agent backends","Use when building custom agent backends, implementing the AG-UI protocol, debugging streaming issues, or understanding how agents communicate with frontends. Covers event types, SSE transport, AbstractAgent\u002FHttpAgent patterns, state synchronization, tool calls, and human-in-the-loop flows.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[3388,3389,3390,3393,3394],{"name":18,"slug":19,"type":13},{"name":21,"slug":22,"type":13},{"name":3391,"slug":3392,"type":13},"Backend","backend",{"name":9,"slug":8,"type":13},{"name":3395,"slug":3396,"type":13},"Debugging","debugging","2026-07-12T08:06:22.179755",{"slug":3399,"name":3399,"fn":3400,"description":3401,"org":3402,"tags":3403,"stars":23,"repoUrl":24,"updatedAt":3414},"copilotkit-contribute","contribute to CopilotKit open-source project","Use when contributing to the CopilotKit open-source project — forking, cloning, setting up the monorepo, creating branches, running tests, and submitting pull requests against CopilotKit\u002FCopilotKit.\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[3404,3405,3408,3411],{"name":9,"slug":8,"type":13},{"name":3406,"slug":3407,"type":13},"Engineering","engineering",{"name":3409,"slug":3410,"type":13},"GitHub","github",{"name":3412,"slug":3413,"type":13},"Pull Requests","pull-requests","2026-07-12T08:06:30.102192",{"slug":3416,"name":3416,"fn":3417,"description":3418,"org":3419,"tags":3420,"stars":23,"repoUrl":24,"updatedAt":3426},"copilotkit-debug","diagnose and debug CopilotKit issues","Use when diagnosing CopilotKit issues -- runtime connectivity failures, agent not responding, streaming errors, tool execution problems, transcription failures, version mismatches, and AG-UI event tracing.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[3421,3422,3423],{"name":9,"slug":8,"type":13},{"name":3395,"slug":3396,"type":13},{"name":3424,"slug":3425,"type":13},"Observability","observability","2026-07-12T08:06:23.407872",{"slug":3428,"name":3428,"fn":3429,"description":3430,"org":3431,"tags":3432,"stars":23,"repoUrl":24,"updatedAt":3439},"copilotkit-develop","build AI features with CopilotKit","Use when building AI-powered features with CopilotKit v2 -- adding chat interfaces, registering frontend tools, sharing application context with agents, handling agent interrupts, and working with the CopilotKit runtime.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[3433,3434,3437,3438],{"name":18,"slug":19,"type":13},{"name":3435,"slug":3436,"type":13},"AI Context","ai-context",{"name":9,"slug":8,"type":13},{"name":215,"slug":3377,"type":13},"2026-07-12T08:06:28.856644",{"slug":4,"name":4,"fn":5,"description":6,"org":3441,"tags":3442,"stars":23,"repoUrl":24,"updatedAt":25},{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[3443,3444,3445,3446],{"name":18,"slug":19,"type":13},{"name":21,"slug":22,"type":13},{"name":9,"slug":8,"type":13},{"name":15,"slug":16,"type":13},{"slug":3448,"name":3448,"fn":3449,"description":3450,"org":3451,"tags":3452,"stars":23,"repoUrl":24,"updatedAt":3460},"copilotkit-self-update","update CopilotKit agent skills","Use when the user wants to update, refresh, or reinstall the CopilotKit agent SKILLS (the SKILL.md files that teach this agent about CopilotKit). NOT for updating the CopilotKit codebase or project — this is specifically about refreshing the skills\u002Fknowledge this agent has loaded. Triggers on \"update copilotkit skills\", \"update skills\", \"refresh skills\", \"skills are stale\", \"skills are outdated\", \"get latest skills\", \"my copilotkit knowledge is wrong\", \"copilotkit APIs changed\", \"skills seem old\", \"wrong API names\", \"reinstall skills\", \"skills not working right\", \"update your copilotkit knowledge\".",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[3453,3454,3457],{"name":9,"slug":8,"type":13},{"name":3455,"slug":3456,"type":13},"Documentation","documentation",{"name":3458,"slug":3459,"type":13},"Productivity","productivity","2026-07-12T08:06:31.345052",{"slug":3462,"name":3462,"fn":3463,"description":3464,"org":3465,"tags":3466,"stars":23,"repoUrl":24,"updatedAt":3472},"copilotkit-setup","set up CopilotKit in projects","Use when adding CopilotKit to an existing project or bootstrapping a new CopilotKit project from scratch. Covers framework detection, package installation, runtime wiring, provider setup, and first working chat integration.\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[3467,3468,3469],{"name":9,"slug":8,"type":13},{"name":215,"slug":3377,"type":13},{"name":3470,"slug":3471,"type":13},"Onboarding","onboarding","2026-07-12T08:06:25.534415",{"slug":3474,"name":3474,"fn":3475,"description":3476,"org":3477,"tags":3478,"stars":23,"repoUrl":24,"updatedAt":3484},"copilotkit-upgrade","migrate CopilotKit applications to v2","Use when migrating a CopilotKit v1 application to v2 -- updating package imports, replacing deprecated hooks and components, switching from GraphQL runtime to AG-UI protocol runtime, and resolving breaking API changes.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[3479,3480,3481],{"name":9,"slug":8,"type":13},{"name":3406,"slug":3407,"type":13},{"name":3482,"slug":3483,"type":13},"Migration","migration","2026-07-12T08:06:26.949801",{"slug":3486,"name":3486,"fn":3487,"description":3488,"org":3489,"tags":3490,"stars":23,"repoUrl":24,"updatedAt":3499},"react-core","integrate CopilotKit into React applications","@copilotkit\u002Freact-core — mount the CopilotKit provider (from @copilotkit\u002Freact-core\u002Fv2) in a Next.js App Router \u002F React Router v7 \u002F TanStack Start \u002F SPA app, drop in CopilotChat\u002FCopilotPopup\u002FCopilotSidebar (v2 chat components ship from react-core\u002Fv2 — NOT react-ui, which is CSS-only in v2), access and subscribe to agents with useAgent \u002F useAgentContext \u002F useCapabilities, switch between multiple agents, manage durable Intelligence threads with useThreads, register browser-side tools via useFrontendTool, render tool calls with useRenderTool \u002F useComponent \u002F useDefaultRenderTool, gate execution with useHumanInTheLoop, wire file attachments with useAttachments, configure suggestion pills, and register activity- and custom-message renderers. publicLicenseKey is canonical (publicApiKey is deprecated alias). Load the reference under references\u002F that matches your task.\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[3491,3492,3493,3496,3498],{"name":9,"slug":8,"type":13},{"name":215,"slug":3377,"type":13},{"name":3494,"slug":3495,"type":13},"Next.js","next-js",{"name":3497,"slug":44,"type":13},"React",{"name":3379,"slug":3380,"type":13},"2026-07-12T08:06:15.72619",{"slug":3501,"name":3501,"fn":3502,"description":3503,"org":3504,"tags":3505,"stars":23,"repoUrl":24,"updatedAt":3514},"runtime","mount and configure CopilotRuntime servers","@copilotkit\u002Fruntime — mount a fetch-native CopilotRuntime on any JS server, wire middleware, pick an AgentRunner, instantiate BuiltInAgent (Factory Mode with TanStack AI is the preferred default) or plug in any of 12 external agent frameworks (Mastra, LangGraph, CrewAI Crews\u002FFlows, PydanticAI, ADK, LlamaIndex, Agno, AWS Strands, MS Agent Framework, AG2, A2A), enable Intelligence mode for durable threads + websocket, register server-side tools via defineTool, and wire voice transcription. Uses the fetch-based createCopilotRuntimeHandler primitive — the Express\u002FHono adapters are discouraged. Load the reference under references\u002F that matches your task.\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[3506,3507,3508,3511],{"name":3391,"slug":3392,"type":13},{"name":9,"slug":8,"type":13},{"name":3509,"slug":3510,"type":13},"JavaScript","javascript",{"name":3512,"slug":3513,"type":13},"Middleware","middleware","2026-07-12T08:06:10.034875",{"slug":3516,"name":3517,"fn":3518,"description":3519,"org":3520,"tags":3521,"stars":3531,"repoUrl":3532,"updatedAt":3533},"advanced-visualization-techniques","Advanced Visualization Techniques","create advanced generative UI visualizations","UI mockups, dashboards, advanced interactivity, generative art, simulations, math visualizations, and design system rules for producing rich generateSandboxedUi output.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[3522,3525,3526,3527,3530],{"name":3523,"slug":3524,"type":13},"Dashboards","dashboards",{"name":3374,"slug":3375,"type":13},{"name":215,"slug":3377,"type":13},{"name":3528,"slug":3529,"type":13},"Generative Art","generative-art",{"name":3379,"slug":3380,"type":13},1440,"https:\u002F\u002Fgithub.com\u002FCopilotKit\u002FOpenGenerativeUI","2026-07-12T08:06:40.712754",{"items":3535,"total":1575},[3536,3543,3551,3558,3564,3571,3578],{"slug":3367,"name":3367,"fn":3368,"description":3369,"org":3537,"tags":3538,"stars":23,"repoUrl":24,"updatedAt":3381},{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[3539,3540,3541,3542],{"name":9,"slug":8,"type":13},{"name":3374,"slug":3375,"type":13},{"name":215,"slug":3377,"type":13},{"name":3379,"slug":3380,"type":13},{"slug":3383,"name":3383,"fn":3384,"description":3385,"org":3544,"tags":3545,"stars":23,"repoUrl":24,"updatedAt":3397},{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[3546,3547,3548,3549,3550],{"name":18,"slug":19,"type":13},{"name":21,"slug":22,"type":13},{"name":3391,"slug":3392,"type":13},{"name":9,"slug":8,"type":13},{"name":3395,"slug":3396,"type":13},{"slug":3399,"name":3399,"fn":3400,"description":3401,"org":3552,"tags":3553,"stars":23,"repoUrl":24,"updatedAt":3414},{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[3554,3555,3556,3557],{"name":9,"slug":8,"type":13},{"name":3406,"slug":3407,"type":13},{"name":3409,"slug":3410,"type":13},{"name":3412,"slug":3413,"type":13},{"slug":3416,"name":3416,"fn":3417,"description":3418,"org":3559,"tags":3560,"stars":23,"repoUrl":24,"updatedAt":3426},{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[3561,3562,3563],{"name":9,"slug":8,"type":13},{"name":3395,"slug":3396,"type":13},{"name":3424,"slug":3425,"type":13},{"slug":3428,"name":3428,"fn":3429,"description":3430,"org":3565,"tags":3566,"stars":23,"repoUrl":24,"updatedAt":3439},{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[3567,3568,3569,3570],{"name":18,"slug":19,"type":13},{"name":3435,"slug":3436,"type":13},{"name":9,"slug":8,"type":13},{"name":215,"slug":3377,"type":13},{"slug":4,"name":4,"fn":5,"description":6,"org":3572,"tags":3573,"stars":23,"repoUrl":24,"updatedAt":25},{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[3574,3575,3576,3577],{"name":18,"slug":19,"type":13},{"name":21,"slug":22,"type":13},{"name":9,"slug":8,"type":13},{"name":15,"slug":16,"type":13},{"slug":3448,"name":3448,"fn":3449,"description":3450,"org":3579,"tags":3580,"stars":23,"repoUrl":24,"updatedAt":3460},{"slug":8,"name":9,"logoUrl":10,"githubOrg":9},[3581,3582,3583],{"name":9,"slug":8,"type":13},{"name":3455,"slug":3456,"type":13},{"name":3458,"slug":3459,"type":13}]