mirror of
https://github.com/CopilotKit/CopilotKit.git
synced 2026-09-14 16:26:20 +08:00
5bf13abb8e
The TanStack stream converter stopped at the first per-turn RUN_FINISHED, assuming tools are executed client-side. That truncated runs whose tools are executed by chat() itself (MCP servers, provider tools): the TOOL_CALL_RESULT and the model's final answer were dropped, so MCP-backed turns returned nothing. - convertTanStackStream: drop TanStack's per-turn RUN_STARTED/RUN_FINISHED (the Agent wrapper owns the outer pair) and convert every turn's events; dedupe tool START/END by id; surface RUN_ERROR instead of silently dropping it. - convertInputToTanStackAI: return input.tools as TanStack client-side tools so the frontend's generative-UI / HITL tools work in factory mode, and sanitize their JSON Schema (close open objects) so OpenAI accepts them. Adds converter + input tests (multi-turn, dedup, error surfacing, client-tool conversion, schema sanitizing).
CopilotKit - Runtime
✨ Why CopilotKit?
- Minutes to integrate - Get started quickly with our CLI
- Framework agnostic - Works with React, Next.js, AGUI and more
- Production-ready UI - Use customizable components or build with headless UI
- Built-in security - Prompt injection protection
- Open source - Full transparency and community-driven
🧑💻 Real life use cases
Deploy deeply-integrated AI assistants & agents that work alongside your users inside your applications.
🏆 Featured Examples
Documentation
To get started with CopilotKit, please check out the documentation.
Analytics & Privacy
CopilotKit uses Scarf for anonymous usage analytics to help improve the product. Scarf handles all privacy compliance and does not store raw IP addresses. This helps us understand how CopilotKit is being used and prioritize improvements.
Opting Out
To disable analytics, set the environment variable:
export COPILOTKIT_TELEMETRY_DISABLED=true
Or use the DO_NOT_TRACK standard:
export DO_NOT_TRACK=1