mirror of
https://github.com/CopilotKit/CopilotKit.git
synced 2026-09-14 16:26:20 +08:00
codex/remove-threads-cli-path
1093 Commits
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
|
580fe9bc58 |
feat(examples): add daytona-runcode showcase app
The deployable Next.js demo behind the new Daytona cookbook recipe. A minimal CopilotKit Built-in Agent whose only added capability is the recipe's runCode server tool — executes Python / TypeScript / JavaScript in an isolated Daytona sandbox and streams the result back to the chat via a custom useRenderTool card (fixed-height streaming code pane with react-syntax-highlighter + vscDarkPlus, mirroring @copilotkit/react-ui's own CodeBlock, and a fixed- height result pane with a 'Generated code:' / 'Result:' label pair). The agent's system prompt instructs it not to restate stdout in chat text since the renderer already shows it. Standalone npm project — intentionally not in the monorepo's pnpm workspace (matches the existing examples/showcases/* convention; only generative-ui- playground is in the workspace globs). Validated end to end against published @copilotkit/runtime@1.58.0 with both Python and JavaScript snippets round- tripping through real Daytona sandboxes. OSS-222 |
||
|
|
ca114288e0 | chore: add multimodal and dynamic flow details to readme | ||
|
|
0ef47d90ad | feat(showcase): add a2ui pdf analyst demo | ||
|
|
1a2cce1b46 | style: auto-fix formatting | ||
|
|
23af69041c |
fix(examples): migrate integrations from v1 to v2 API surface
Migrate 15 example integrations from the v1 compatibility facade to native v2 CopilotKit APIs. The v1 surface delegates to v2 internally so this is an API surface change, not a functional one. Key changes per integration: - Import paths: @copilotkit/react-core -> react-core/v2, @copilotkit/runtime -> runtime/v2 - Hook renames: useCoAgent -> useAgent, useCopilotAction -> useFrontendTool, useRenderToolCall -> useRenderTool - UI: CopilotSidebar from react-ui -> react-core/v2 - Styles: react-ui/styles.css -> react-core/v2/styles.css - Runtime: copilotRuntimeNextJSAppRouterEndpoint -> createCopilotEndpoint + hono/vercel - Removed @copilotkit/react-ui and @copilotkit/shared deps Integrations migrated (v1 -> v2): a2a-middleware, adk, agno, crewai-crews, crewai-flows, langgraph-js, llamaindex, mastra, ms-agent-framework-dotnet, ms-agent-framework-python, pydantic-ai, strands-python Mixed integrations cleaned up (stale deps removed): agent-spec, agentcore, langgraph-fastapi, langgraph-python, langgraph-python-threads |
||
|
|
f90234e1a7 |
chore(examples): oxlint --fix north-star + parity-sync all instances
Root cause of the parity-check CI failures:
The 5 verbatim-tracked files in `examples/integrations/langgraph-python/`
(the north-star) all carried `typescript/consistent-type-imports` and
`react/self-closing-comp` warnings that oxlint wants to auto-fix.
The lefthook pre-commit `lint-fix` hook is scoped to staged files
and re-stages fixes via `stage_fixed: true`. So when I ran
`pnpm parity:sync --target=strands-python` and staged the synced
files, oxlint --fix rewrote them on commit to satisfy the
type-imports rule — turning `import { NextRequest }` into
`import type { NextRequest }`, etc. The north-star was never touched
by the hook (nothing staged in langgraph-python/), so it kept the
un-fixed form. The two diverged at commit time and parity:check
caught the drift.
Two prior commits (
|
||
|
|
1a534ba9dd |
Merge remote-tracking branch 'origin/main' into tyler/laughing-burnell-67b26b
# Conflicts: # showcase/integrations/strands/package-lock.json |
||
|
|
4de3562bc8 | chore: revert docker route override change | ||
|
|
499740952b | style: auto-fix formatting | ||
|
|
70b4d28063 | chore: use latest agui strands integration | ||
|
|
d07c058b33 |
chore(strands): drop langgraph naming from docker smoke stack
Previous commit wired LANGGRAPH_DEPLOYMENT_URL into the strands route.ts to satisfy the verbatim langgraph-python docker-compose.test.yml — that leaks the wrong runtime's name into a strands-only file. Instead, mark docker-compose.test.yml as allowed-divergence for strands (parity manifest) and give strands its own compose stack: - agent on port 8000 (matches `npm run dev:agent` locally) - healthcheck on /health (already exposed by main.py) - app reads AGENT_URL (strands-native), no LANGGRAPH_DEPLOYMENT_URL Reverts: - Dockerfile.agent: EXPOSE/uvicorn back to 8000 - main.py: drop the /ok endpoint added in 2994b3a96 - route.ts: drop the LANGGRAPH_DEPLOYMENT_URL fallback Keeps: - Dockerfile.agent: COPY src/ ./src/ (needed for db.csv + a2ui schemas) |
||
|
|
4341880dec |
chore(strands): align agent with verbatim docker smoke stack
The smoke-test docker-compose.test.yml is a verbatim copy of the canonical
langgraph-python stack, which expects:
- agent listening on port 8123
- readiness probe at /ok
- app reading LANGGRAPH_DEPLOYMENT_URL for the agent URL
Bring the strands agent in line:
- Dockerfile.agent: COPY src/ so main.py can find db.csv +
a2ui/schemas/flight_schema.json; expose 8123 and bind uvicorn to it
- main.py: add /ok alongside existing /health endpoint
- route.ts: read LANGGRAPH_DEPLOYMENT_URL as a fallback so the verbatim
compose env wires through; AGENT_URL / STRANDS_AGENT_URL still win
for local dev overrides
|
||
|
|
2db98e69ee | style: auto-fix formatting | ||
|
|
d94cb38178 |
chore(strands): fix CI on canonical demo renovation
- Drop local editable uv.sources for ag_ui_strands; pin agent deps to exact resolved versions so CI resolves from PyPI - Switch docker-route-override.ts to type-only NextRequest import across strands-python and the three langgraph integrations to satisfy oxlint + restore parity-check - Pin showcase/integrations/strands deps to exact versions matching the upgraded agent (ag-ui-protocol, strands-agents, ag_ui_strands, copilotkit, langchain, langchain-openai, openai, @copilotkit/* @ 1.56.5, @ag-ui/client @ 0.0.52); add missing @copilotkit/react-ui and @copilotkit/shared - Ratchet validatePinsFailCount baseline 98 -> 87 (drift decreased) |
||
|
|
2d1ede341c | chore: renovate aws strands canonical demo | ||
|
|
12d3547842 |
fix(deps): update copilotkit examples (major) (#4755)
> ℹ️ **Note** > > This PR body was truncated due to platform limits. This PR contains the following updates: | Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) | |---|---|---|---| | [@copilotkit/a2ui-renderer](https://redirect.github.com/CopilotKit/CopilotKit) ([source](https://redirect.github.com/CopilotKit/CopilotKit/tree/HEAD/packages/a2ui-renderer)) | [`0.0.0-mme-ag-ui-0-0-46-20260227141603` → `1.57.1`](https://renovatebot.com/diffs/npm/@copilotkit%2fa2ui-renderer/0.0.0-mme-ag-ui-0-0-46-20260227141603/1.57.1) |  |  | | [@copilotkit/react-core](https://redirect.github.com/CopilotKit/CopilotKit) | [`0.0.0-mme-ag-ui-0-0-46-20260227141603` → `1.57.1`](https://renovatebot.com/diffs/npm/@copilotkit%2freact-core/0.0.0-mme-ag-ui-0-0-46-20260227141603/1.57.1) |  |  | | [@copilotkit/react-ui](https://redirect.github.com/CopilotKit/CopilotKit) | [`0.0.0-mme-ag-ui-0-0-46-20260227141603` → `1.57.1`](https://renovatebot.com/diffs/npm/@copilotkit%2freact-ui/0.0.0-mme-ag-ui-0-0-46-20260227141603/1.57.1) |  |  | | [@copilotkit/runtime](https://redirect.github.com/CopilotKit/CopilotKit) | [`0.0.0-mme-ag-ui-0-0-46-20260227141603` → `1.57.1`](https://renovatebot.com/diffs/npm/@copilotkit%2fruntime/0.0.0-mme-ag-ui-0-0-46-20260227141603/1.57.1) |  |  | | [@copilotkit/runtime-client-gql](https://redirect.github.com/CopilotKit/CopilotKit) | [`0.0.0-mme-ag-ui-0-0-46-20260227141603` → `1.57.1`](https://renovatebot.com/diffs/npm/@copilotkit%2fruntime-client-gql/0.0.0-mme-ag-ui-0-0-46-20260227141603/1.57.1) |  |  | | [@copilotkit/shared](https://redirect.github.com/CopilotKit/CopilotKit) | [`0.0.0-mme-ag-ui-0-0-46-20260227141603` → `1.57.1`](https://renovatebot.com/diffs/npm/@copilotkit%2fshared/0.0.0-mme-ag-ui-0-0-46-20260227141603/1.57.1) |  |  | | copilotkit | [`^0.0.45` → `^2.0.0`](https://renovatebot.com/diffs/npm/copilotkit/0.0.45/2.0.4) |  |  | --- ### Release Notes <details> <summary>CopilotKit/CopilotKit (@​copilotkit/a2ui-renderer)</summary> ### [`v1.57.1`](https://redirect.github.com/CopilotKit/CopilotKit/compare/v1.57.0...v1.57.1) [Compare Source](https://redirect.github.com/CopilotKit/CopilotKit/compare/v1.57.0...v1.57.1) ### [`v1.57.0`](https://redirect.github.com/CopilotKit/CopilotKit/compare/v1.56.5...v1.57.0) [Compare Source](https://redirect.github.com/CopilotKit/CopilotKit/compare/v1.56.5...v1.57.0) ### [`v1.56.5`](https://redirect.github.com/CopilotKit/CopilotKit/compare/v1.56.4...v1.56.5) [Compare Source](https://redirect.github.com/CopilotKit/CopilotKit/compare/v1.56.4...v1.56.5) ### [`v1.56.4`](https://redirect.github.com/CopilotKit/CopilotKit/compare/v1.56.3...v1.56.4) [Compare Source](https://redirect.github.com/CopilotKit/CopilotKit/compare/v1.56.3...v1.56.4) ### [`v1.56.3`](https://redirect.github.com/CopilotKit/CopilotKit/compare/v1.56.2...v1.56.3) [Compare Source](https://redirect.github.com/CopilotKit/CopilotKit/compare/v1.56.2...v1.56.3) ### [`v1.56.2`](https://redirect.github.com/CopilotKit/CopilotKit/releases/tag/v1.56.2) [Compare Source](https://redirect.github.com/CopilotKit/CopilotKit/compare/v1.56.1...v1.56.2) ### CopilotKit v1.56.2 A hygiene release on the `1.56` line. Removes a leftover peer dependency that was generating install warnings for users not on LangChain. #### Install ```bash npm install @​copilotkit/react-core@1.56.2 @​copilotkit/react-ui@1.56.2 @​copilotkit/runtime@1.56.2 ``` #### SDK fixes (`@copilotkit/sdk-js`) - **Remove unused `@langchain/community` peer dependency** — `@langchain/community` was a leftover peer dep that nothing inside `@copilotkit/sdk-js` actually used, but it still generated install warnings for anyone not on LangChain. Dropped. If you've been installing `@langchain/community` only to quiet a peer-dep warning, you can drop it. ([#​3960](https://redirect.github.com/CopilotKit/CopilotKit/pull/3960)) #### Packages republished at `1.56.2` `@copilotkit/runtime`, `@copilotkit/react-core`, `@copilotkit/react-ui`, `@copilotkit/core`, `@copilotkit/shared`, `@copilotkit/runtime-client-gql`, `@copilotkit/sdk-js`, `@copilotkit/voice`, `@copilotkit/web-inspector`, `@copilotkit/a2ui-renderer`, `@copilotkit/react-textarea`, `@copilotkit/sqlite-runner`, and `@copilotkit/angular`. ### [`v1.56.1`](https://redirect.github.com/CopilotKit/CopilotKit/releases/tag/v1.56.1) [Compare Source](https://redirect.github.com/CopilotKit/CopilotKit/compare/v1.56.0...v1.56.1) ### CopilotKit v1.56.1 A patch release on the `1.56` line. No breaking API changes — thirty-plus fixes across adapters, the React UI surface, and the runtime/agent layer. Most of these address long-standing issues that had been quietly biting users; batch-resolved here. #### Install ```bash npm install @​copilotkit/react-core@1.56.1 @​copilotkit/react-ui@1.56.1 @​copilotkit/runtime@1.56.1 ``` #### Adapter fixes (`@copilotkit/runtime`) - **Anthropic `max_tokens` default bumped 1024 → 4096** — the old default was short enough that longer completions were getting truncated without warning. ([#​3785](https://redirect.github.com/CopilotKit/CopilotKit/pull/3785)) - **Anthropic adapter skips unknown `tool_use` blocks** — no more crash when Anthropic emits `content_block_delta` for a `tool_use` the adapter hasn't seen. ([#​3824](https://redirect.github.com/CopilotKit/CopilotKit/pull/3824), closes [#​2504](https://redirect.github.com/CopilotKit/CopilotKit/issues/2504)) - **Anthropic `tool_result` paired with `tool_use` after token trimming** — token trimming no longer orphans `tool_result` messages. ([#​3820](https://redirect.github.com/CopilotKit/CopilotKit/pull/3820), closes [#​2450](https://redirect.github.com/CopilotKit/CopilotKit/issues/2450)) - **Configurable `maxInputTokens` on OpenAI and Anthropic adapters** — cap input tokens explicitly per request. ([#​3823](https://redirect.github.com/CopilotKit/CopilotKit/pull/3823), closes [#​2405](https://redirect.github.com/CopilotKit/CopilotKit/issues/2405)) - **LangChain adapter always generates unique message IDs** — prevents downstream deduplication issues. ([#​3829](https://redirect.github.com/CopilotKit/CopilotKit/pull/3829)) - **Zod v4 compatibility for schema-to-JSON conversion** — the schema-to-JSON converter now handles the Zod v4 shape. ([#​3837](https://redirect.github.com/CopilotKit/CopilotKit/pull/3837)) - **MCP `TOOL_CALL_RESULT` array-content normalization** — array-shaped tool results are now normalized into strings the runtime can emit. ([#​3832](https://redirect.github.com/CopilotKit/CopilotKit/pull/3832)) - **Non-unique provider IDs replaced with UUIDs** — placeholders like `txt-0` were colliding; the adapter now emits proper UUIDs. ([#​3800](https://redirect.github.com/CopilotKit/CopilotKit/pull/3800), closes [#​3410](https://redirect.github.com/CopilotKit/CopilotKit/issues/3410), [#​3623](https://redirect.github.com/CopilotKit/CopilotKit/issues/3623)) #### React fixes (`@copilotkit/react-core`, `@copilotkit/react-ui`) - **Export `CopilotModal` and `CopilotModalProps`** — public components without a public export, now corrected. ([#​3817](https://redirect.github.com/CopilotKit/CopilotKit/pull/3817), closes [#​2194](https://redirect.github.com/CopilotKit/CopilotKit/issues/2194)) - **`Button` uses `forwardRef` for Radix interop** — no more ref warnings when composing with Radix `DropdownMenuTrigger`. ([#​3830](https://redirect.github.com/CopilotKit/CopilotKit/pull/3830)) - **IME composition guard in `CopilotChatInput`** — no more accidental sends mid-composition for CJK/IME input. ([#​3835](https://redirect.github.com/CopilotKit/CopilotKit/pull/3835)) - **Loading indicator during tool execution** — keeps the UI honest about what's happening mid-tool-call. ([#​3833](https://redirect.github.com/CopilotKit/CopilotKit/pull/3833)) - **Controlled-input reset after send** — `onChange("")` fires after submit in controlled mode. ([#​3836](https://redirect.github.com/CopilotKit/CopilotKit/pull/3836)) - **`available: "disabled"` tools excluded from `buildFrontendTools`** — disabled tools are no longer announced to the model. ([#​3793](https://redirect.github.com/CopilotKit/CopilotKit/pull/3793), closes [#​3020](https://redirect.github.com/CopilotKit/CopilotKit/issues/3020)) - **Thumbs callbacks receive `AssistantMessage`** — `onThumbsUp`/`onThumbsDown` now pass the message instead of a `SyntheticEvent`. ([#​3796](https://redirect.github.com/CopilotKit/CopilotKit/pull/3796), closes [#​3457](https://redirect.github.com/CopilotKit/CopilotKit/issues/3457)) - **`urlTransform` forwards to `ReactMarkdown`** — the prop was being dropped silently. ([#​3845](https://redirect.github.com/CopilotKit/CopilotKit/pull/3845)) - **Message footer width** — hardcoded `97%` replaced with `100%`. ([#​3786](https://redirect.github.com/CopilotKit/CopilotKit/pull/3786)) #### Runtime + agent fixes (`@copilotkit/runtime`, `@copilotkit/react-core`) - **Duck-type `Request` for Hono polyfill compat** — `instanceof` was brittle under Hono's polyfilled `Request`; the runtime now type-sniffs instead. ([#​3790](https://redirect.github.com/CopilotKit/CopilotKit/pull/3790)) - **LangGraph agent pagination default 10 → 100** — larger default page size for LangGraph thread/run listings. ([#​3812](https://redirect.github.com/CopilotKit/CopilotKit/pull/3812), closes [#​2056](https://redirect.github.com/CopilotKit/CopilotKit/issues/2056)) - **Handle void return from `sendFunction` in `usePushToTalk`** — push-to-talk no longer assumes a non-void return. ([#​3783](https://redirect.github.com/CopilotKit/CopilotKit/pull/3783)) - **`useRenderCustomMessages` returns `null` when agent missing** — used to throw; now safely no-ops. ([#​3797](https://redirect.github.com/CopilotKit/CopilotKit/pull/3797), closes [#​3497](https://redirect.github.com/CopilotKit/CopilotKit/issues/3497)) - **`CopilotListeners` guards empty agents map** — stops `useAgent` throwing on initial boot. ([#​3798](https://redirect.github.com/CopilotKit/CopilotKit/pull/3798), closes [#​3249](https://redirect.github.com/CopilotKit/CopilotKit/issues/3249)) - **Skip version check when `showDevConsole={false}`** — fewer requests when the dev console is disabled. ([#​3827](https://redirect.github.com/CopilotKit/CopilotKit/pull/3827)) - **Forward credentials on all agent registration paths** — one registration path was not forwarding credentials; now consistent. ([#​3839](https://redirect.github.com/CopilotKit/CopilotKit/pull/3839)) - **`toolCallId` passed to `useRenderTool` render components** — render functions now receive the tool call ID. ([#​3843](https://redirect.github.com/CopilotKit/CopilotKit/pull/3843)) - **`hookParams` passed to `onAfterRequest`** — the callback was receiving an empty object. Now receives the actual hook params. ([#​3801](https://redirect.github.com/CopilotKit/CopilotKit/pull/3801), closes [#​2124](https://redirect.github.com/CopilotKit/CopilotKit/issues/2124)) - **Configurable audio `mediaType` + mic tracks released on stop** — mic tracks no longer linger after a recording ends. ([#​3811](https://redirect.github.com/CopilotKit/CopilotKit/pull/3811), closes [#​2049](https://redirect.github.com/CopilotKit/CopilotKit/issues/2049), [#​2050](https://redirect.github.com/CopilotKit/CopilotKit/issues/2050)) #### Build / packaging - **Release pipeline hardened** — registry error handling, tag-existence checks before publish, and prerelease smoke tests in the release workflow. ([#​3858](https://redirect.github.com/CopilotKit/CopilotKit/pull/3858)) #### Packages republished at `1.56.1` `@copilotkit/runtime`, `@copilotkit/react-core`, `@copilotkit/react-ui`, `@copilotkit/core`, `@copilotkit/shared`, `@copilotkit/runtime-client-gql`, `@copilotkit/sdk-js`, `@copilotkit/voice`, `@copilotkit/web-inspector`, `@copilotkit/a2ui-renderer`, `@copilotkit/react-textarea`, `@copilotkit/sqlite-runner`, and `@copilotkit/angular`. ### [`v1.56.0`](https://redirect.github.com/CopilotKit/CopilotKit/releases/tag/v1.56.0) [Compare Source](https://redirect.github.com/CopilotKit/CopilotKit/compare/v1.55.3...v1.56.0) ### CopilotKit v1.56.0 A minor release on the `1.56` line. The headline is **debug mode** — a single `debug` flag on the runtime and the `<CopilotKit>` provider that threads structured logging through the full stack, with PII-safe defaults. Also fixes the state streaming path on LangGraph prebuilt agents and realigns A2UI with the v0.9 spec. #### Install ```bash npm install @​copilotkit/react-core@1.56.0 @​copilotkit/react-ui@1.56.0 @​copilotkit/runtime@1.56.0 ``` #### Features - **Debug mode for runtime and client** — a single `debug` flag on `CopilotRuntime` and the `<CopilotKit>` provider, with structured logging across the SSE event pipeline. Defaults to `verbose: false` to prevent accidental PII exposure in logs. Shared `DebugConfig` type and `resolveDebugConfig` helper live in `@copilotkit/shared`. Changes apply at runtime; toggling the flag does not require a remount. ([#​3562](https://redirect.github.com/CopilotKit/CopilotKit/pull/3562)) ```tsx // Client import { CopilotKit } from "@​copilotkit/react-core"; <CopilotKit debug runtimeUrl="/api/copilotkit"> <App /> </CopilotKit> ``` ```ts // Runtime import { CopilotRuntime } from "@​copilotkit/runtime"; const runtime = new CopilotRuntime({ debug: { events: true, lifecycle: true, verbose: false }, }); ``` - **State streaming on LangGraph prebuilt agents** — the state streaming path now works on prebuilt LangGraph agents without unwrapping the graph manually. A reference example landed alongside the fix. ([#​3934](https://redirect.github.com/CopilotKit/CopilotKit/pull/3934), [#​3649](https://redirect.github.com/CopilotKit/CopilotKit/pull/3649)) #### Runtime fixes (`@copilotkit/runtime`) - **A2UI schema realigned with v0.9 spec** — the schema format had drifted from the v0.9 spec as upstream tightened constraints. Realigned, with improved path-binding prompts so the model produces schema-valid output more reliably. ([#​3929](https://redirect.github.com/CopilotKit/CopilotKit/pull/3929)) - **Latest `@ag-ui/langgraph` packages** — runtime and examples now pull the latest `@ag-ui/langgraph` packages, picking up upstream fixes. No API change. ([#​3932](https://redirect.github.com/CopilotKit/CopilotKit/pull/3932)) #### Build / packaging - **Release pipeline hardening** — registry error handling, a tag-existence check before publish, and prerelease smoke tests so release-time failures get caught before the git tag. ([#​3858](https://redirect.github.com/CopilotKit/CopilotKit/pull/3858)) - **Docs-sync PR flow** — review items now staged before creating the PR. ([#​3779](https://redirect.github.com/CopilotKit/CopilotKit/pull/3779)) #### Packages republished at `1.56.0` `@copilotkit/runtime`, `@copilotkit/react-core`, `@copilotkit/react-ui`, `@copilotkit/core`, `@copilotkit/shared`, `@copilotkit/runtime-client-gql`, `@copilotkit/sdk-js`, `@copilotkit/voice`, `@copilotkit/web-inspector`, `@copilotkit/a2ui-renderer`, `@copilotkit/react-textarea`, `@copilotkit/sqlite-runner`, and `@copilotkit/angular`. ### [`v1.55.3`](https://redirect.github.com/CopilotKit/CopilotKit/releases/tag/v1.55.3) ### CopilotKit v1.55.3 A consolidation release on the `1.55` line, rolling up everything that landed in `1.55.0`, `1.55.1`, and `1.55.2`. The headline: every `@copilotkitnext/*` package has been folded into its flat `@copilotkit/*` equivalent. v1 imports stay on `@copilotkit/react-core`; v2 imports continue to use the `@copilotkit/react-core/v2` subpath. On top of the consolidation: multimodal attachments for the built-in agent, A2UI v0.9 with Open Generative UI, a fetch-based runtime handler, Vertex AI provider, `BuiltInAgent` factory mode, and a long list of fixes to streaming, reasoning, layout, and re-render behavior. #### Install ```bash npm install @​copilotkit/react-core@1.55.3 @​copilotkit/react-ui@1.55.3 @​copilotkit/runtime@1.55.3 ``` #### Features - **Package consolidation: `@copilotkitnext/*` → `@copilotkit/*`** — every `@copilotkitnext/*` package is folded into its flat `@copilotkit/*` equivalent. The v1 API surface stays at the package root (e.g. `@copilotkit/react-core`); the v2 API surface continues to be available via the `@copilotkit/react-core/v2` subpath. The `@copilotkitnext/*` scope was deprecated in 1.54 and is removed here. - **Multimodal attachments for the built-in agent** — `@copilotkit/runtime` now accepts multimodal attachments (images, files, anything non-text) and passes them through to the model with content types preserved. ([#​3604](https://redirect.github.com/CopilotKit/CopilotKit/pull/3604)) - **A2UI v0.9 + Open Generative UI** — A2UI aligns with the v0.9 spec and Open Generative UI lands with BYOC catalogs (the agent renders from your component catalog), built-in dark mode, and sandboxed UI generation (generated components render inside a sandbox instead of being spliced into the host tree). ([#​3588](https://redirect.github.com/CopilotKit/CopilotKit/pull/3588)) - **Fetch-based runtime handler** — `@copilotkit/runtime` exposes a fetch-based handler alongside the Node/Hono integrations, plus a consistency pass on public function names. Targets Cloudflare Workers, Vercel Edge, and other Web `fetch` runtimes. ([#​3550](https://redirect.github.com/CopilotKit/CopilotKit/pull/3550)) - **`BuiltInAgent` factory mode** — the built-in agent now supports a factory construction path, so you can pass your own LLM-producing factory and decouple the agent from the providers baked in today. Landed in 1.55.2. ([#​3572](https://redirect.github.com/CopilotKit/CopilotKit/pull/3572)) - **Auto-detected runtime transport** — `@copilotkit/core` and `@copilotkit/react-core` now detect REST vs. single-endpoint transport from the runtime and adapt automatically. ([#​3601](https://redirect.github.com/CopilotKit/CopilotKit/pull/3601)) - **Vertex AI provider** — first-class provider on the runtime. - **State streaming LangGraph middleware re-exported** — re-exported directly from `@copilotkit/runtime` so callers no longer have to reach into `@ag-ui/*` to wire it up. ([#​3473](https://redirect.github.com/CopilotKit/CopilotKit/pull/3473)) - **Custom `mcpClients` configuration** — pass your own MCP client configuration to the runtime to control how tool providers connect and reuse. ([#​3493](https://redirect.github.com/CopilotKit/CopilotKit/pull/3493)) #### Runtime fixes (`@copilotkit/runtime`) - **Reasoning lifecycle hardening** — keeps the AG-UI reasoning event stream well-formed regardless of SDK behavior: skip empty reasoning deltas (which violate the `@ag-ui/core` schema), auto-close reasoning when the SDK omits `reasoning-end` (covers consecutive-start, phase changes, aborts, errors, and fallback paths), make `reasoning-end` idempotent, regenerate `reasoningMessageId` between consecutive reasoning blocks, and close reasoning in the outer catch block. ([#​3526](https://redirect.github.com/CopilotKit/CopilotKit/pull/3526)) - **Race condition dropping agent runs** — `RunHandler.runAgent()` had a race that could drop runs invoked in quick succession. Closed. ([#​3514](https://redirect.github.com/CopilotKit/CopilotKit/pull/3514)) - **Empty tool arguments no longer crash** — tool calls with empty, `null`, or `undefined` argument strings were throwing a JSON parse error instead of being treated as the logically empty object they represent. The runtime now normalizes them to `{}`. ([#​3439](https://redirect.github.com/CopilotKit/CopilotKit/pull/3439)) - **Open-generative-ui middleware import fix** — corrects an incorrect import in the open-generative-ui middleware that surfaced after the consolidation. Shipped in 1.55.1. ([#​3680](https://redirect.github.com/CopilotKit/CopilotKit/pull/3680)) #### React fixes (`@copilotkit/react-core`, `@copilotkit/react-ui`) - **`messageView` and `labels` props stabilized** — `CopilotChat` was re-rendering the entire message list on every keystroke because prop identity was shifting. Replaced with `useShallowStableRef` to keep references stable. ([#​3646](https://redirect.github.com/CopilotKit/CopilotKit/pull/3646)) - **Multiple `CopilotChat` instances no longer share state across `threadId`s** — two chats mounted at different threads were sharing message state. Per-thread agent instances are now isolated. ([#​3525](https://redirect.github.com/CopilotKit/CopilotKit/pull/3525)) - **Markdown components ref stabilized** — the Markdown component ref was changing every render, cascading into unnecessary work during streaming. Stabilized. ([#​3535](https://redirect.github.com/CopilotKit/CopilotKit/pull/3535)) - **Assistant text preserved across multi-tool turns** — when an assistant turn emitted text plus multiple tool calls, the text portion could get dropped. Preserved correctly now (CPK-7154). ([#​3622](https://redirect.github.com/CopilotKit/CopilotKit/pull/3622)) - **Chat layout regressions from 1.55.0 fixed** — the chat input is pinned to the bottom of the window again, and mounting `CopilotSidebar` no longer adds empty space below the page content. ([#​3759](https://redirect.github.com/CopilotKit/CopilotKit/pull/3759)) - **React keys on `CopilotMessages` children** — suppresses the "unique key prop" warning React was emitting. - **`defaultOpen={false}` respected in `CopilotSidebar` and `CopilotPopup`** — the prop was being ignored on initial mount. #### Upgrading - The `@copilotkitnext/*` scope is removed in this release. The deprecation notice shipped in v1.54.0. - For v2 imports, switch from `@copilotkitnext/react` to the `@copilotkit/react-core/v2` subpath: ```diff - import { CopilotChat } from "@​copilotkitnext/react"; + import { CopilotChat } from "@​copilotkit/react-core/v2"; ``` - Other `@copilotkitnext/*` packages map one-to-one to their `@copilotkit/*` equivalents (e.g. `@copilotkitnext/angular` → `@copilotkit/angular`). - v1 APIs are unchanged. If you were importing v1 hooks from `@copilotkit/react-core`, nothing changes. #### Packages republished at `1.55.3` `@copilotkit/runtime`, `@copilotkit/react-core`, `@copilotkit/react-ui`, `@copilotkit/core`, `@copilotkit/shared`, `@copilotkit/runtime-client-gql`, `@copilotkit/sdk-js`, `@copilotkit/voice`, `@copilotkit/web-inspector`, `@copilotkit/a2ui-renderer`, `@copilotkit/react-textarea`, `@copilotkit/sqlite-runner`, and `@copilotkit/angular`. ### [`v1.55.2`](https://redirect.github.com/CopilotKit/CopilotKit/blob/HEAD/packages/a2ui-renderer/CHANGELOG.md#1552) ##### Patch Changes - [`62c6042`](https://redirect.github.com/CopilotKit/CopilotKit/commit/62c6042): Bumping the a2ui-middleware underneath the a2ui renderer ### [`v1.55.1`](https://redirect.github.com/CopilotKit/CopilotKit/blob/HEAD/packages/a2ui-renderer/CHANGELOG.md#1551) ### [`v1.55.0`](https://redirect.github.com/CopilotKit/CopilotKit/blob/HEAD/packages/a2ui-renderer/CHANGELOG.md#1550) ##### Minor Changes - [`1ceb963`](https://redirect.github.com/CopilotKit/CopilotKit/commit/1ceb963): refactor: consolidate V1/V2 packages into flat @​copilotkit/\* structure - [`434ccd8`](https://redirect.github.com/CopilotKit/CopilotKit/commit/434ccd8): A2UI v0.9 + Open Generative UI: BYOC catalogs, dark mode, sandboxed UI generation ##### Patch Changes - [`52a9322`](https://redirect.github.com/CopilotKit/CopilotKit/commit/52a9322): Fixing license warnings, barrel export and typing ### [`v1.54.1`](https://redirect.github.com/CopilotKit/CopilotKit/blob/HEAD/packages/a2ui-renderer/CHANGELOG.md#1541-next6) ### [`v1.54.0`](https://redirect.github.com/CopilotKit/CopilotKit/blob/HEAD/packages/a2ui-renderer/CHANGELOG.md#1540) [Compare Source](https://redirect.github.com/CopilotKit/CopilotKit/compare/v1.53.0...v1.54.0) ##### Patch Changes - [`6e0cddf`](https://redirect.github.com/CopilotKit/CopilotKit/commit/6e0cddf): feat: move a2ui message renderer to v2s react package - [`7916df6`](https://redirect.github.com/CopilotKit/CopilotKit/commit/7916df6): feat: set default a2ui theme to fit cpk main theme ### [`v1.53.0`](https://redirect.github.com/CopilotKit/CopilotKit/blob/HEAD/packages/a2ui-renderer/CHANGELOG.md#1530) [Compare Source](https://redirect.github.com/CopilotKit/CopilotKit/compare/v1.52.1...v1.53.0) ##### Patch Changes - Updated dependencies \[[`1510f64`](https://redirect.github.com/CopilotKit/CopilotKit/commit/1510f64)] - Updated dependencies \[[`f1eaa4c`](https://redirect.github.com/CopilotKit/CopilotKit/commit/f1eaa4c)] - Updated dependencies \[[`ac31331`](https://redirect.github.com/CopilotKit/CopilotKit/commit/ac31331)] - [@​copilotkit/react-core](https://redirect.github.com/copilotkit/react-core)@​1.53.0 ### [`v1.52.1`](https://redirect.github.com/CopilotKit/CopilotKit/blob/HEAD/packages/a2ui-renderer/CHANGELOG.md#1521) [Compare Source](https://redirect.github.com/CopilotKit/CopilotKit/compare/v1.52.0...v1.52.1) ##### Patch Changes - Updated dependencies \[[`b555ac4`](https://redirect.github.com/CopilotKit/CopilotKit/commit/b555ac4)] - [@​copilotkit/react-core](https://redirect.github.com/copilotkit/react-core)@​1.52.1 ### [`v1.52.0`](https://redirect.github.com/CopilotKit/CopilotKit/blob/HEAD/packages/a2ui-renderer/CHANGELOG.md#1520) [Compare Source](https://redirect.github.com/CopilotKit/CopilotKit/compare/v1.51.4...v1.52.0) ##### Patch Changes - [`80418e3`](https://redirect.github.com/CopilotKit/CopilotKit/commit/80418e3): Fix a2ui-renderer to use workspace:\* for [@​copilotkit/react-core](https://redirect.github.com/copilotkit/react-core) peer dependency, preventing lockfile drift on release - Updated dependencies \[[`6dd6c84`](https://redirect.github.com/CopilotKit/CopilotKit/commit/6dd6c84)] - Updated dependencies \[[`d77f347`](https://redirect.github.com/CopilotKit/CopilotKit/commit/d77f347)] - Updated dependencies \[[`2007f8b`](https://redirect.github.com/CopilotKit/CopilotKit/commit/2007f8b)] - Updated dependencies \[[`ef0f539`](https://redirect.github.com/CopilotKit/CopilotKit/commit/ef0f539)] - Updated dependencies \[[`412965a`](https://redirect.github.com/CopilotKit/CopilotKit/commit/412965a)] - Updated dependencies \[[`5f941db`](https://redirect.github.com/CopilotKit/CopilotKit/commit/5f941db)] - [@​copilotkit/react-core](https://redirect.github.com/copilotkit/react-core)@​1.52.0 ### [`v1.51.4`](https://redirect.github.com/CopilotKit/CopilotKit/blob/HEAD/packages/a2ui-renderer/CHANGELOG.md#1514) [Compare Source](https://redirect.github.com/CopilotKit/CopilotKit/compare/v1.51.3...v1.51.4) ##### Patch Changes - [`ac64163`](https://redirect.github.com/CopilotKit/CopilotKit/commit/ac64163): feat(a2ui-renderer): replace Lit wrapper with React renderer - Updated dependencies \[[`6b9c60e`](https://redirect.github.com/CopilotKit/CopilotKit/commit/6b9c60e)] - Updated dependencies \[[`12ee574`](https://redirect.github.com/CopilotKit/CopilotKit/commit/12ee574)] - Updated dependencies \[[`9bc868d`](https://redirect.github.com/CopilotKit/CopilotKit/commit/9bc868d)] - Updated dependencies \[[`c998f30`](https://redirect.github.com/CopilotKit/CopilotKit/commit/c998f30)] - Updated dependencies \[[`6b7d8ef`](https://redirect.github.com/CopilotKit/CopilotKit/commit/6b7d8ef)] - [@​copilotkit/react-core](https://redirect.github.com/copilotkit/react-core)@​1.51.4 ### [`v1.51.3`](https://redirect.github.com/CopilotKit/CopilotKit/blob/HEAD/packages/a2ui-renderer/CHANGELOG.md#1513) [Compare Source](https://redirect.github.com/CopilotKit/CopilotKit/compare/v1.51.2...v1.51.3) ##### Patch Changes - [`d36fc1e`](https://redirect.github.com/CopilotKit/CopilotKit/commit/d36fc1e): Add UMD export - [`ffb46f4`](https://redirect.github.com/CopilotKit/CopilotKit/commit/ffb46f4): fix(a2ui-renderer): ensure the component updates when A2UI operations change - Updated dependencies \[[`d655e75`](https://redirect.github.com/CopilotKit/CopilotKit/commit/d655e75)] - Updated dependencies \[[`d36fc1e`](https://redirect.github.com/CopilotKit/CopilotKit/commit/d36fc1e)] - Updated dependencies \[[`e89fe98`](https://redirect.github.com/CopilotKit/CopilotKit/commit/e89fe98)] - Updated dependencies \[[`3f00a01`](https://redirect.github.com/CopilotKit/CopilotKit/commit/3f00a01)] - [@​copilotkit/react-core](https://redirect.github.com/copilotkit/react-core)@​1.51.3 ### [`v1.51.2`](https://redirect.github.com/CopilotKit/CopilotKit/blob/HEAD/packages/a2ui-renderer/CHANGELOG.md#1512) [Compare Source](https://redirect.github.com/CopilotKit/CopilotKit/compare/v1.51.1...v1.51.2) ##### Patch Changes - [`e59d23f`](https://redirect.github.com/CopilotKit/CopilotKit/commit/e59d23f): Use deps instead of peerdeps - [`e59d23f`](https://redirect.github.com/CopilotKit/CopilotKit/commit/e59d23f): Move in-repo deps from peerdeps to actual deps - Updated dependencies \[[`e59d23f`](https://redirect.github.com/CopilotKit/CopilotKit/commit/e59d23f)] - Updated dependencies \[[`e59d23f`](https://redirect.github.com/CopilotKit/CopilotKit/commit/e59d23f)] - [@​copilotkit/react-core](https://redirect.github.com/copilotkit/react-core)@​1.51.2 ### [`v1.51.1`](https://redirect.github.com/CopilotKit/CopilotKit/blob/HEAD/packages/a2ui-renderer/CHANGELOG.md#1511) ##### Patch Changes - Updated dependencies \[[`329653b`](https://redirect.github.com/CopilotKit/CopilotKit/commit/329653b)] - [@​copilotkit/react-core](https://redirect.github.com/copilotkit/react-core)@​1.51.1 ### [`v1.51.0`](https://redirect.github.com/CopilotKit/CopilotKit/blob/HEAD/packages/a2ui-renderer/CHANGELOG.md#1510) ##### Patch Changes - [`2839a15`](https://redirect.github.com/CopilotKit/CopilotKit/commit/2839a15): Update versioning strategy - Updated dependencies \[[`2839a15`](https://redirect.github.com/CopilotKit/CopilotKit/commit/2839a15)] - [@​copilotkit/react-core](https://redirect.github.com/copilotkit/react-core)@​1.51.0 ### [`v1.50.1`](https://redirect.github.com/CopilotKit/CopilotKit/blob/HEAD/packages/a2ui-renderer/CHANGELOG.md#1501) ##### Patch Changes - [`eac8b20`](https://redirect.github.com/CopilotKit/CopilotKit/commit/eac8b20): - fix: use latest vnext - Updated dependencies \[[`bdc7a8f`](https://redirect.github.com/CopilotKit/CopilotKit/commit/bdc7a8f)] - Updated dependencies \[[`80dffec`](https://redirect.github.com/CopilotKit/CopilotKit/commit/80dffec)] - Updated dependencies \[[`cfa4185`](https://redirect.github.com/CopilotKit/CopilotKit/commit/cfa4185)] - Updated dependencies \[[`eac8b20`](https://redirect.github.com/CopilotKit/CopilotKit/commit/eac8b20)] - [@​copilotkit/react-core](https://redirect.github.com/copilotkit/react-core)@​1.50.1 </details> <details> <summary>CopilotKit/CopilotKit (@​copilotkit/react-core)</summary> ### [`v1.57.1`](https://redirect.github.com/CopilotKit/CopilotKit/compare/v1.57.0...v1.57.1) [Compare Source](https://redirect.github.com/CopilotKit/CopilotKit/compare/v1.57.0...v1.57.1) ### [`v1.57.0`](https://redirect.github.com/CopilotKit/CopilotKit/compare/v1.56.5...v1.57.0) [Compare Source](https://redirect.github.com/CopilotKit/CopilotKit/compare/v1.56.5...v1.57.0) ### [`v1.56.5`](https://redirect.github.com/CopilotKit/CopilotKit/compare/v1.56.4...v1.56.5) [Compare Source](https://redirect.github.com/CopilotKit/CopilotKit/compare/v1.56.4...v1.56.5) ### [`v1.56.4`](https://redirect.github.com/CopilotKit/CopilotKit/compare/v1.56.3...v1.56.4) [Compare Source](https://redirect.github.com/CopilotKit/CopilotKit/compare/v1.56.3...v1.56.4) ### [`v1.56.3`](https://redirect.github.com/CopilotKit/CopilotKit/compare/v1.56.2...v1.56.3) [Compare Source](https://redirect.github.com/CopilotKit/CopilotKit/compare/v1.56.2...v1.56.3) ### [`v1.56.2`](https://redirect.github.com/CopilotKit/CopilotKit/releases/tag/v1.56.2) [Compare Source](https://redirect.github.com/CopilotKit/CopilotKit/compare/v1.56.1...v1.56.2) Release v1.56.2 ### [`v1.56.1`](https://redirect.github.com/CopilotKit/CopilotKit/releases/tag/v1.56.1) [Compare Source](https://redirect.github.com/CopilotKit/CopilotKit/compare/v1.56.0...v1.56.1) Release v1.56.1 ### [`v1.56.0`](https://redirect.github.com/CopilotKit/CopilotKit/releases/tag/v1.56.0) [Compare Source](https://redirect.github.com/CopilotKit/CopilotKit/compare/v1.55.3...v1.56.0) Release v1.56.0 ### [`v1.55.3`](https://redirect.github.com/CopilotKit/CopilotKit/releases/tag/v1.55.3) Release v1.55.3 ### [`v1.54.0`](https://redirect.github.com/CopilotKit/CopilotKit/releases/tag/v1.54.0) [Compare Source](https://redirect.github.com/CopilotKit/CopilotKit/compare/v1.53.0...v1.54.0) ##### [@​copilotkit/react-core](https://redirect.github.com/copilotkit/react-core) ##### 1.54.0 ##### Minor Changes - [`fa0d1cd`](https://redirect.github.com/CopilotKit/CopilotKit/commit/fa0d1cd): Add support for Standard Schema (instead of just Zod) ##### Patch Changes - [`c80498e`](https://redirect.github.com/CopilotKit/CopilotKit/commit/c80498e): feat(core): add copilotkit.runTool() for programmatic tool execution - [`af11b1e`](https://redirect.github.com/CopilotKit/CopilotKit/commit/af11b1e): Fixed hook render registrations lost under React Strict Mode. - Updated dependencies \[[`eb1e0bf`](https://redirect.github.com/CopilotKit/CopilotKit/commit/eb1e0bf)] - Updated dependencies \[[`3780c6a`](https://redirect.github.com/CopilotKit/CopilotKit/commit/3780c6a)] - Updated dependencies \[[`6e0cddf`](https://redirect.github.com/CopilotKit/CopilotKit/commit/6e0cddf)] - Updated dependencies \[[`fa0d1cd`](https://redirect.github.com/CopilotKit/CopilotKit/commit/fa0d1cd)] - Updated dependencies \[[`c80498e`](https://redirect.github.com/CopilotKit/CopilotKit/commit/c80498e)] - Updated dependencies \[[`d746e4f`](https://redirect.github.com/CopilotKit/CopilotKit/commit/d746e4f)] - Updated dependencies \[[`f1571ef`](https://redirect.github.com/CopilotKit/CopilotKit/commit/f1571ef)] - [@​copilotkitnext/core](https://redirect.github.com/copilotkitnext/core)@​1.54.0 - [@​copilotkitnext/react](https://redirect.github.com/copilotkitnext/react)@​1.54.0 - [@​copilotkit/runtime-client-gql](https://redirect.github.com/copilotkit/runtime-client-gql)@​1.54.0 - [@​copilotkit/shared](https://redirect.github.com/copilotkit/shared)@​1.54.0 ##### [@​copilotkit/react-ui](https://redirect.github.com/copilotkit/react-ui) ##### 1.54.0 ##### Patch Changes - Updated dependencies \[[`fa0d1cd`](https://redirect.github.com/CopilotKit/CopilotKit/commit/fa0d1cd)] - Updated dependencies \[[`c80498e`](https://redirect.github.com/CopilotKit/CopilotKit/commit/c80498e)] - Updated dependencies \[[`af11b1e`](https://redirect.github.com/CopilotKit/CopilotKit/commit/af11b1e)] - [@​copilotkit/react-core](https://redirect.github.com/copilotkit/react-core)@​1.54.0 - [@​copilotkit/runtime-client-gql](https://redirect.github.com/copilotkit/runtime-client-gql)@​1.54.0 - [@​copilotkit/shared](https://redirect.github.com/copilotkit/shared)@​1.54.0 ##### [@​copilotkit/sdk-js](https://redirect.github.com/copilotkit/sdk-js) ##### 1.54.0 ##### Patch Changes - [@​copilotkit/shared](https://redirect.github.com/copilotkit/shared)@​1.54.0 ##### [@​copilotkit/react-textarea](https://redirect.github.com/copilotkit/react-textarea) ##### 1.54.0 ##### Patch Changes - [`40c22a0`](https://redirect.github.com/CopilotKit/CopilotKit/commit/40c22a0): fix: restore focus to textarea when hitting Escape in CMD+K popup - Updated dependencies \[[`fa0d1cd`](https://redirect.github.com/CopilotKit/CopilotKit/commit/fa0d1cd)] - Updated dependencies \[[`c80498e`](https://redirect.github.com/CopilotKit/CopilotKit/commit/c80498e)] - Updated dependencies \[[`af11b1e`](https://redirect.github.com/CopilotKit/CopilotKit/commit/af11b1e)] - [@​copilotkit/react-core](https://redirect.github.com/copilotkit/react-core)@​1.54.0 - [@​copilotkit/runtime-client-gql](https://redirect.github.com/copilotkit/runtime-client-gql)@​1.54.0 - [@​copilotkit/shared](https://redirect.github.com/copilotkit/shared)@​1.54.0 ##### [@​copilotkit/runtime](https://redirect.github.com/copilotkit/runtime) ##### 1.54.0 ##### Minor Changes - [`fa0d1cd`](https://redirect.github.com/CopilotKit/CopilotKit/commit/fa0d1cd): Add support for Standard Schema (instead of just Zod) ##### Patch Changes - Updated dependencies \[[`3780c6a`](https://redirect.github.com/CopilotKit/CopilotKit/commit/3780c6a)] - Updated dependencies \[[`fa0d1cd`](https://redirect.github.com/CopilotKit/CopilotKit/commit/fa0d1cd)] - [@​copilotkitnext/agent](https://redirect.github.com/copilotkitnext/agent)@​1.54.0 - [@​copilotkitnext/runtime](https://redirect.github.com/copilotkitnext/runtime)@​1.54.0 - [@​copilotkit/shared](https://redirect.github.com/copilotkit/shared)@​1.54.0 ##### [@​copilotkit/runtime-client-gql](https://redirect.github.com/copilotkit/runtime-client-gql) ##### 1.54.0 ##### Patch Changes - [@​copilotkit/shared](https://redirect.github.com/copilotkit/shared)@​1.54.0 ##### [@​copilotkit/shared](https://redirect.github.com/copilotkit/shared) ##### 1.54.0 ##### [@​copilotkit/react-core](https://redirect.github.com/copilotkit/react-core) ##### 1.54.0 ##### Minor Changes - [`fa0d1cd`](https://redirect.github.com/CopilotKit/CopilotKit/commit/fa0d1cd): Add support for Standard Schema (instead of just Zod) ##### Patch Changes - [`c80498e`](https://redirect.github.com/CopilotKit/CopilotKit/commit/c80498e): feat(core): add copilotkit.runTool() for programmatic tool execution - [`af11b1e`](https://redirect.github.com/CopilotKit/CopilotKit/commit/af11b1e): Fixed hook render registrations lost under React Strict Mode. - Updated dependencies \[[`eb1e0bf`](https://redirect.github.com/CopilotKit/CopilotKit/commit/eb1e0bf)] - Updated dependencies \[[`3780c6a`](https://redirect.github.com/CopilotKit/CopilotKit/commit/3780c6a)] - Updated dependencies \[[`6e0cddf`](https://redirect.github.com/CopilotKit/CopilotKit/commit/6e0cddf)] - Updated dependencies \[[`fa0d1cd`](https://redirect.github.com/CopilotKit/CopilotKit/commit/fa0d1cd)] - Updated dependencies \[[`c80498e`](https://redirect.github.com/CopilotKit/CopilotKit/commit/c80498e)] - Updated dependencies \[[`d746e4f`](https://redirect.github.com/CopilotKit/CopilotKit/commit/d746e4f)] - Updated dependencies \[[`f1571ef`](https://redirect.github.com/CopilotKit/CopilotKit/commit/f1571ef)] - [@​copilotkitnext/core](https://redirect.github.com/copilotkitnext/core)@​1.54.0 - [@​copilotkitnext/react](https://redirect.github.com/copilotkitnext/react)@​1.54.0 - [@​copilotkit/runtime-client-gql](https://redirect.github.com/copilotkit/runtime-client-gql)@​1.54.0 - [@​copilotkit/shared](https://redirect.github.com/copilotkit/shared)@​1.54.0 ##### [@​copilotkit/react-ui](https://redirect.github.com/copilotkit/react-ui) ##### 1.54.0 ##### Patch Changes - Updated dependencies \[[`fa0d1cd`](https://redirect.github.com/CopilotKit/CopilotKit/commit/fa0d1cd)] - Updated dependencies \[[`c80498e`](https://redirect.github.com/CopilotKit/CopilotKit/commit/c80498e)] - Updated dependencies \[[`af11b1e`](https://redirect.github.com/CopilotKit/CopilotKit/commit/af11b1e)] - [@​copilotkit/react-core](https://redirect.github.com/copilotkit/react-core)@​1.54.0 - [@​copilotkit/runtime-client-gql](https://redirect.github.com/copilotkit/runtime-client-gql)@​1.54.0 - [@​copilotkit/shared](https://redirect.github.com/copilotkit/shared)@​1.54.0 ##### [@​copilotkit/sdk-js](https://redirect.github.com/copilotkit/sdk-js) ##### 1.54.0 ##### Patch Changes - [@​copilotkit/shared](https://redirect.github.com/copilotkit/shared)@​1.54.0 ##### [@​copilotkit/react-textarea](https://redirect.github.com/copilotkit/react-textarea) ##### 1.54.0 ##### Patch Changes - [`40c22a0`](https://redirect.github.com/CopilotKit/CopilotKit/commit/40c22a0): fix: restore focus to textarea when hitting Escape in CMD+K popup - Updated dependencies \[[`fa0d1cd`](https://redirect.github.com/CopilotKit/CopilotKit/commit/fa0d1cd)] - Updated dependencies \[[`c80498e`](https://redirect.github.com/CopilotKit/CopilotKit/commit/c80498e)] - Updated dependencies \[[`af11b1e`](https://redirect.github.com/CopilotKit/CopilotKit/commit/af11b1e)] - [@​copilotkit/react-core](https://redirect.github.com/copilotkit/react-core)@​1.54.0 - [@​copilotkit/runtime-client-gql](https://redirect.github.com/copilotkit/runtime-client-gql)@​1.54.0 - [@​copilotkit/shared](https://redirect.github.com/copilotkit/shared)@​1.54.0 ##### [@​copilotkit/runtime](https://redirect.github.com/copilotkit/runtime) ##### 1.54.0 ##### Minor Changes - [`fa0d1cd`](https://redirect.github.com/CopilotKit/CopilotKit/commit/fa0d1cd): Add support for Standard Schema (instead of just Zod) ##### Patch Changes - Updated dependencies \[[`3780c6a`](https://redirect.github.com/CopilotKit/CopilotKit/commit/3780c6a)] - Updated dependencies \[[`fa0d1cd`](https://redirect.github.com/CopilotKit/CopilotKit/commit/fa0d1cd)] - [@​copilotkitnext/agent](https://redirect.github.com/copilotkitnext/agent)@​1.54.0 - [@​copilotkitnext/runtime](https://redirect.github.com/copilotkitnext/runtime)@​1.54.0 - [@​copilotkit/shared](https://redirect.github.com/copilotkit/shared)@​1.54.0 ##### [@​copilotkit/runtime-client-gql](https://redirect.github.com/copilotkit/runtime-client-gql) ##### 1.54.0 ##### Patch Changes - [@​copilotkit/shared](https://redirect.github.com/copilotkit/shared)@​1.54.0 ##### [@​copilotkit/shared](https://redirect.github.com/copilotkit/shared) ##### 1.54.0 ### [`v1.53.0`](https://redirect.github.com/CopilotKit/CopilotKit/releases/tag/v1.53.0) [Compare Source](https://redirect.github.com/CopilotKit/CopilotKit/compare/v1.52.1...v1.53.0) ##### [@​copilotkit/react-core](https://redirect.github.com/copilotkit/react-core) ##### 1.53.0 ##### Patch Changes - [`1510f64`](https://redirect.github.com/CopilotKit/CopilotKit/commit/1510f64): feat: enable mcp and a2ui middleware directly from copilotkit runtime - [`f1eaa4c`](https://redirect.github.com/CopilotKit/CopilotKit/commit/f1eaa4c): Fixing a regression with setModalOpen - [`ac31331`](https://redirect.github.com/CopilotKit/CopilotKit/commit/ac31331): - Prevents error propagating out of CPK when an agent runtime is defined but not reachable - Adds an onError callback to CopilotChat and CopilotKitProvider - Updated dependencies \[[`1510f64`](https://redirect.github.com/CopilotKit/CopilotKit/commit/1510f64)] - Updated dependencies \[[`bf1fc6f`](https://redirect.github.com/CopilotKit/CopilotKit/commit/bf1fc6f)] - [@​copilotkit/shared](https://redirect.github.com/copilotkit/shared)@​1.53.0 - [@​copilotkitnext/core](https://redirect.github.com/copilotkitnext/core)@​1.53.0 - [@​copilotkitnext/react](https://redirect.github.com/copilotkitnext/react)@​1.53.0 - [@​copilotkit/runtime-client-gql](https://redirect.github.com/copilotkit/runtime-client-gql)@​1.53.0 ##### [@​copilotkit/react-ui](https://redirect.github.com/copilotkit/react-ui) ##### 1.53.0 ##### Patch Changes - Updated dependencies \[[`1510f64`](https://redirect.github.com/CopilotKit/CopilotKit/commit/1510f64)] - Updated dependencies \[[`f1eaa4c`](https://redirect.github.com/CopilotKit/CopilotKit/commit/f1eaa4c)] - Updated dependencies \[[`bf1fc6f`](https://redirect.github.com/CopilotKit/CopilotKit/commit/bf1fc6f)] - Updated dependencies \[[`ac31331`](https://redirect.github.com/CopilotKit/CopilotKit/commit/ac31331)] - [@​copilotkit/react-core](https://redirect.github.com/copilotkit/react-core)@​1.53.0 - [@​copilotkit/shared](https://redirect.github.com/copilotkit/shared)@​1.53.0 - [@​copilotkit/runtime-client-gql](https://redirect.github.com/copilotkit/runtime-client-gql)@​1.53.0 ##### [@​copilotkit/sdk-js](https://redirect.github.com/copilotkit/sdk-js) ##### 1.53.0 ##### Patch Changes - Updated dependencies \[[`1510f64`](https://redirect.github.com/CopilotKit/CopilotKit/commit/1510f64)] - Updated dependencies \[[`bf1fc6f`](https://redirect.github.com/CopilotKit/CopilotKit/commit/bf1fc6f)] - [@​copilotkit/shared](https://redirect.github.com/copilotkit/shared)@​1.53.0 ##### [@​copilotkit/react-textarea](https://redirect.github.com/copilotkit/react-textarea) ##### 1.53.0 ##### Patch Changes - Updated dependencies \[[`1510f64`](https://redirect.github.com/CopilotKit/CopilotKit/commit/1510f64)] - Updated dependencies \[[`f1eaa4c`](https://redirect.github.com/CopilotKit/CopilotKit/commit/f1eaa4c)] - Updated dependencies \[[`bf1fc6f`](https://redirect.github.com/CopilotKit/CopilotKit/commit/bf1fc6f)] - Updated dependencies \[[`ac31331`](https://redirect.github.com/CopilotKit/CopilotKit/commit/ac31331)] - [@​copilotkit/react-core](https://redirect.github.com/copilotkit/react-core)@​1.53.0 - [@​copilotkit/shared](https://redirect.github.com/copilotkit/shared)@​1.53.0 - [@​copilotkit/runtime-client-gql](https://redirect.github.com/copilotkit/runtime-client-gql)@​1.53.0 ##### [@​copilotkit/runtime](https://redirect.github.com/copilotkit/runtime) ##### 1.53.0 ##### Minor Changes - [`f822c05`](https://redirect.github.com/CopilotKit/CopilotKit/commit/f822c05): Updating the path and devex for mcp apps ##### Patch Changes - [`d1f7aba`](https://redirect.github.com/CopilotKit/CopilotKit/commit/d1f7aba): feat(runtime): expose messages in afterRequestMiddleware - [`1510f64`](https://redirect.github.com/CopilotKit/CopilotKit/commit/1510f64): feat: enable mcp and a2ui middleware directly from copilotkit runtime - [`8e0f94f`](https://redirect.github.com/CopilotKit/CopilotKit/commit/8e0f94f): Bump AI SDK from v5 to v6 - [`501e8d7`](https://redirect.github.com/CopilotKit/CopilotKit/commit/501e8d7): surpress sse warning in middleware callback - Updated dependencies \[[`1510f64`](https://redirect.github.com/CopilotKit/CopilotKit/commit/1510f64)] - Updated dependencies \[[`bf1fc6f`](https://redirect.github.com/CopilotKit/CopilotKit/commit/bf1fc6f)] - [@​copilotkit/shared](https://redirect.github.com/copilotkit/shared)@​1.53.0 - [@​copilotkitnext/agent](https://redirect.github.com/copilotkitnext/agent)@​1.53.0 - [@​copilotkitnext/runtime](https://redirect.github.com/copilotkitnext/runtime)@​1.53.0 ##### [@​copilotkit/runtime-client-gql](https://redirect.github.com/copilotkit/runtime-client-gql) ##### 1.53.0 ##### Patch Changes - Updated dependencies \[[`1510f64`](https://redirect.github.com/CopilotKit/CopilotKit/commit/1510f64)] - Updated dependencies \[[`bf1fc6f`](https://redirect.github.com/CopilotKit/CopilotKit/commit/bf1fc6f)] - [@​copilotkit/shared](https://redirect.github.com/copilotkit/shared)@​1.53.0 ##### [@​copilotkit/shared](https://redirect.github.com/copilotkit/shared) ##### 1.53.0 ##### Patch Changes - [`1510f64`](https://redirect.github.com/CopilotKit/CopilotKit/commit/1510f64): feat: enable mcp and a2ui middleware directly from copilotkit runtime - [`bf1fc6f`](https://redirect.github.com/CopilotKit/CopilotKit/commit/bf1fc6f): fix: `convertJsonSchemaToZodSchema` drops enum constraints ##### [@​copilotkit/react-core](https://redirect.github.com/copilotkit/react-core) ##### 1.53.0 ##### Patch Changes - [`1510f64`](https://redirect.github.com/CopilotKit/CopilotKit/commit/1510f64): feat: enable mcp and a2ui middleware directly from copilotkit runtime - [`f1eaa4c`](https://redirect.github.com/CopilotKit/CopilotKit/commit/f1eaa4c): Fixing a regression with setModalOpen - [`ac31331`](https://redirect.github.com/CopilotKit/CopilotKit/commit/ac31331): - Prevents error propagating out of CPK when an agent runtime is defined but not reachable - Adds an onError callback to CopilotChat and CopilotKitProvider - Updated dependencies \[[`1510f64`](https://redirect.github.com/CopilotKit/CopilotKit/commit/1510f64)] - Updated dependencies \[[`bf1fc6f`](https://redirect.github.com/CopilotKit/CopilotKit/commit/bf1fc6f)] - [@​copilotkit/shared](https://redirect.github.com/copilotkit/shared)@​1.53.0 - [@​copilotkitnext/core](https://redirect.github.com/copilotkitnext/core)@​1.53.0 - [@​copilotkitnext/react](https://redirect.github.com/copilotkitnext/react)@​1.53.0 - [@​copilotkit/runtime-client-gql](https://redirect.github.com/copilotkit/runtime-client-gql)@​1.53.0 ##### [@​copilotkit/react-ui](https://redirect.github.com/copilotkit/react-ui) ##### 1.53.0 ##### Patch Changes - Updated dependencies \[[`1510f64`](https://redirect.github.com/CopilotKit/CopilotKit/commit/1510f64)] - Updated dependencies \[[`f1eaa4c`](https://redirect.github.com/CopilotKit/CopilotKit/commit/f1eaa4c)] - Updated dependencies \[[`bf1fc6f`](https://redirect.github.com/CopilotKit/CopilotKit/commit/bf1fc6f)] - Updated dependencies \[[`ac31331`](https://redirect.github.com/CopilotKit/CopilotKit/commit/ac31331)] - [@​copilotkit/react-core](https://redirect.github.com/copilotkit/react-core)@​1.53.0 - [@​copilotkit/shared](https://redirect.github.com/copilotkit/shared)@​1.53.0 - [@​copilotkit/runtime-client-gql](https://redirect.github.com/copilotkit/runtime-client-gql)@​1.53.0 ##### [@​copilotkit/sdk-js](https://redirect.github.com/copilotkit/sdk-js) ##### 1.53.0 ##### Patch Changes - Updated dependencies \[[`1510f64`](https://redirect.github.com/CopilotKit/CopilotKit/commit/1510f64)] - Updated dependencies \[[`bf1fc6f`](https://redirect.github.com/CopilotKit/CopilotKit/commit/bf1fc6f)] - [@​copilotkit/shared](https://redirect.github.com/copilotkit/shared)@​1.53.0 ##### [@​copilotkit/react-textarea](https://redirect.github.com/copilotkit/react-textarea) ##### 1.53.0 ##### Patch Changes - Updated dependencies \[[`1510f64`](https://redirect.github.com/CopilotKit/CopilotKit/commit/1510f64)] - Updated dependencies \[[`f1eaa4c`](https://redirect.github.com/CopilotKit/CopilotKit/commit/f1eaa4c)] - Updated dependencies \[[`bf1fc6f`](https://redirect.github.com/CopilotKit/CopilotKit/commit/bf1fc6f)] - Updated dependencies \[[`ac31331`](https://redirect.github.com/CopilotKit/CopilotKit/commit/ac31331)] - [@​copilotkit/react-core](https://redirect.github.com/copilotkit/react-core)@​1.53.0 - [@​copilotkit/shared](https://redirect.github.com/copilotkit/shared)@​1.53.0 - [@​copilotkit/runtime-client-gql](https://redirect.github.com/copilotkit/runtime-client-gql)@​1.53.0 ##### [@​copilotkit/runtime](https://redirect.github.com/copilotkit/runtime) ##### 1.53.0 ##### Minor Changes - [`f822c05`](https://redirect.github.com/CopilotKit/CopilotKit/commit/f822c05): Updating the path and devex for mcp apps ##### Patch Changes - [`d1f7aba`](https://redirect.github.com/CopilotKit/CopilotKit/commit/d1f7aba): feat(runtime): expose messages in afterRequestMiddleware - [`1510f64`](https://redirect.github.com/CopilotKit/CopilotKit/commit/1510f64): feat: enable mcp and a2ui middleware directly from copilotkit runtime - [`8e0f94f`](https://redirect.github.com/CopilotKit/CopilotKit/commit/8e0f94f): Bump AI SDK from v5 to v6 - [`501e8d7`](https://redirect.github.com/CopilotKit/CopilotKit/commit/501e8d7): surpress sse warning in middleware callback - Updated dependencies \[[`1510f64`](https://redirect.github.com/CopilotKit/CopilotKit/commit/1510f64)] - Updated dependencies \[[`bf1fc6f`](https://redirect.github.com/CopilotKit/CopilotKit/commit/bf1fc6f)] - [@​copilotkit/shared](https://redirect.github.com/copilotkit/shared)@​1.53.0 - [@​copilotkitnext/agent](https://redirect.github.com/copilotkitnext/agent)@​1.53.0 - [@​copilotkitnext/runtime](https://redirect.github.com/copilotkitnext/runtime)@​1.53.0 ##### [@​copilotkit/runtime-client-gql](https://redirect.github.com/copilotkit/runtime-client-gql) ##### 1.53.0 ##### Patch Changes - Updated dependencies \[[`1510f64`](https://redirect.github.com/CopilotKit/CopilotKit/commit/1510f64)] - Updated dependencies \[[`bf1fc6f`](https://redirect.github.com/CopilotKit/CopilotKit/commit/bf1fc6f)] - [@​copilotkit/shared](https://redirect.github.com/copilotkit/shared)@​1.53.0 ##### [@​copilotkit/shared](https://redirect.github.com/copilotkit/shared) ##### 1.53.0 ##### Patch Changes - [`1510f64`](https://redirect.github.com/CopilotKit/CopilotKit/commit/1510f64): feat: enable mcp and a2ui middleware directly from copilotkit runtime - [`bf1fc6f`](https://redirect.github.com/CopilotKit/CopilotKit/commit/bf1fc6f): fix: `convertJsonSchemaToZodSchema` drops enum constraints ### [`v1.52.1`](https://redirect.github.com/CopilotKit/CopilotKit/releases/tag/v1.52.1) [Compare Source](https://redirect.github.com/CopilotKit/CopilotKit/compare/v1.52.0...v1.52.1) ##### [@​copilotkit/react-core](https://redirect.github.com/copilotkit/react-core) ##### 1.52.1 ##### Patch Changes - [`b555ac4`](https://redirect.github.com/CopilotKit/CopilotKit/commit/b555ac4): fix(react-core): allow overriding useSingleEndpoint in CopilotKit provider The V1 `<CopilotKit>` provider previously hardcoded `useSingleEndpoint={true}` when wrapping the V2 provider, preventing users from opting into REST transport mode. The prop is now passed through from user config, defaulting to `true` to preserve backward compatibility. - Updated dependencies \[[`bbdf67d`](https://redirect.github.com/CopilotKit/CopilotKit/commit/bbdf67d)] - [@​copilotkitnext/react](https://redirect.github.com/copilotkitnext/react)@​1.52.1 - [@​copilotkit/runtime-client-gql](https://redirect.github.com/copilotkit/runtime-client-gql)@​1.52.1 - [@​copilotkit/shared](https://redirect.github.com/copilotkit/shared)@​1.52.1 - [@​copilotkitnext/core](https://redirect.github.com/copilotkitnext/core)@​1.52.1 ##### [@​copilotkit/react-ui](https://redirect.github.com/copilotkit/react-ui) ##### 1.52.1 ##### Patch Changes - [`bbdf67d`](https://redirect.github.com/CopilotKit/CopilotKit/commit/bbdf67d): fix(css): address imcompat with CJS - Updated dependencies \[[`b555ac4`](https://redirect.github.com/CopilotKit/CopilotKit/commit/b555ac4)] - [@​co > ✂ **Note** > > PR body was truncated to here. </details> --- ### Configuration 📅 **Schedule**: (UTC) - Branch creation - At any time (no schedule defined) - Automerge - At any time (no schedule defined) 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 👻 **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://redirect.github.com/renovatebot/renovate/discussions) if that's undesired. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/CopilotKit/CopilotKit). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4xNTkuMiIsInVwZGF0ZWRJblZlciI6IjQzLjE1OS4yIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJleGFtcGxlcyJdfQ==--> |
||
|
|
2482317ccc |
style: apply ruff format to Python codebase
320 files reformatted. One-time alignment to match the ruff format check added to CI in #4812. |
||
|
|
b6ad624c94 | style: apply formatter to vue package and other unformatted files | ||
|
|
233b7532c2 |
feat(vue): add Storybook stories
Vue Storybook configuration and stories for visual component parity testing: chat views, inputs, messages, suggestions, toggle buttons, sidebar, popup, inspector, provider, and A2UI activity rendering. |
||
|
|
bdd0532b1c |
feat(vue-demo): add Nuxt demo app
Nuxt 3 demo application with CopilotKit integration showcasing popup, sidebar, single-agent, MCP apps, and A2UI demo pages with Hono-based API endpoints. |
||
|
|
4cf9fe84c5 |
fix(examples/langgraph-python-threads): fail loudly when uv or Docker is missing
The template required uv (for the agent's `postinstall: uv sync`) and Docker (for the threads infrastructure) but surfaced nothing until npm install errored with `sh: uv: command not found`. Add a preflight script wired to preinstall and predev that prints a clear message pointing at the install docs, plus README updates calling out both prerequisites. |
||
|
|
1b96bfae87 | fix(deps): update copilotkit examples | ||
|
|
442d2150c3 |
feat(react-core): add position prop to CopilotSidebar (left/right) (#4710)
## What does this PR do? Adds a `position?: \"left\" | \"right\"` prop to the v2 `CopilotSidebar` (and the underlying `CopilotSidebarView`), letting consumers anchor the sidebar to either side of the viewport. Defaults to `\"right\"` so existing usage is unchanged. ```tsx <CopilotSidebar position=\"left\" /> ``` ### What changes when `position` flips - **Anchor:** `cpk:right-0` ↔ `cpk:left-0` - **Border side:** `cpk:border-l` ↔ `cpk:border-r` - **Off-screen translate (closed state):** `cpk:translate-x-full` ↔ `cpk:-translate-x-full` - **Body push margin:** `document.body.style.marginInlineEnd` ↔ `marginInlineStart` (with the matching `transition` CSS property name) - **Aside element:** picks up a `data-position` attribute for styling/test hooks `position` is in the `useLayoutEffect` deps, so toggling it at runtime cleans up the prior side's body margin before applying the new one. ### Tests New `CopilotSidebarView.position.test.tsx` (7 cases) — default/right/left class assertions, off-screen translate direction, and verification that the wrapper forwards through to the view. All 32 sidebar-area tests pass; full react-core suite (1167 tests) green with no regressions. ### Storybook Added `RightPosition` and `LeftPosition` stories under `UI/CopilotSidebarView` for visual diffing. ## Related PRs and Issues - N/A ## Checklist - [x] I have read the [Contribution Guide](https://github.com/copilotkit/copilotkit/blob/master/CONTRIBUTING.md) - [ ] If the PR changes or adds functionality, I have updated the relevant documentation - [x] \"Allow edits by maintainers\" is checked 🤖 Generated with [Claude Code](https://claude.com/claude-code) |
||
|
|
3626bf1c53 |
fix(react-core): mirror sidebar toggle button when position="left"
The toggle button is hardcoded right-anchored (cpk:bottom-6 cpk:right-6). When the sidebar sits on the left, the button should mirror to the left so it lives behind/under the chat panel — otherwise it floats on the opposite side from the sidebar it controls. CopilotSidebarView now passes a position-aware className override into the toggle slot (left-6 + right-auto, merged via tailwind-merge so the default right-6 is dropped). Behavior on the right is unchanged. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> |
||
|
|
68d0885d27 |
feat(react-core): add position prop to CopilotSidebar (left/right)
Lets consumers anchor the v2 CopilotSidebar to either side of the viewport instead of the hardcoded right side. The prop flips the fixed anchor, the border side, the off-screen translate direction, and the body push margin (marginInlineStart vs marginInlineEnd) so the layout mirrors correctly. Defaults to "right" for backward compatibility. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> |
||
|
|
79fb5af452 |
Merge remote-tracking branch 'origin/main' into mme/register-proxied-agent
# Conflicts: # packages/react-core/src/v2/hooks/__tests__/use-agent-thread-isolation.test.tsx # packages/react-core/src/v2/hooks/use-agent.tsx # packages/web-inspector/src/styles/generated.css |
||
|
|
164897647e |
feat: add @copilotkit/react-native package (#3633)
## Summary
- Extract `CopilotKitContext` and `useCopilotKit` into standalone
`context.ts` in react-core, enabling cross-platform reuse without web
dependencies
- Add new `@copilotkit/react-native` package with lightweight provider,
polyfills, and streaming fetch
- All hooks (`useAgent`, `useFrontendTool`, `useHumanInTheLoop`, etc.)
are re-exported directly from react-core — no reimplementation
## Motivation
CopilotKit's React hooks are platform-agnostic, but the barrel import in
`@copilotkit/react-core` pulls in web-only dependencies (Radix UI, Lit,
A2UI renderer, react-dom, CSS). This makes the package unusable in React
Native without extensive Metro shimming.
By extracting the React context into a standalone entry point
(`@copilotkit/react-core/v2/context`), the new
`@copilotkit/react-native` package can provide its own lightweight
provider while reusing all existing hooks.
## What's in `@copilotkit/react-native`
| Export | Description |
|--------|-------------|
| `CopilotKitProvider` | Lightweight provider — no DOM, CSS, Radix, Lit,
or A2UI deps |
| `installStreamingFetch()` | XHR-based streaming fetch for
`response.body.getReader()` support |
| `@copilotkit/react-native/polyfills` | All polyfills at once
(ReadableStream, TextEncoder, crypto, DOMException, window.location) |
| `@copilotkit/react-native/polyfills/*` | Granular per-polyfill imports
(`/streams`, `/encoding`, `/crypto`, `/dom`, `/location`) for users who
need to avoid overriding their own shims |
| `useAgent`, `useFrontendTool`, etc. | Re-exported from react-core
(shared context) |
## Usage
```tsx
// index.js (entry point, before other imports)
import "@copilotkit/react-native/polyfills";
import { installStreamingFetch } from "@copilotkit/react-native";
installStreamingFetch();
// App.tsx
import { CopilotKitProvider, useAgent, useCopilotKit } from "@copilotkit/react-native";
function App() {
return (
<CopilotKitProvider runtimeUrl="https://your-server/api/copilotkit">
<ChatScreen />
</CopilotKitProvider>
);
}
```
## Test plan
- [x] `nx run react-core:build` passes
- [x] `nx run @copilotkit/react-native:build` passes
- [x] `nx run react-core:test` — all 1153 tests pass
- [x] Manual test in React Native app (tested during development with
bare RN 0.84 project)
🤖 Generated with [Claude Code](https://claude.com/claude-code)
|
||
|
|
a9b2dbff75 |
feat: add React Native demo app
Full RN 0.85.2 demo showing chat with useAgent, frontend tools (theme toggle, app mode), generative UI (pie chart), HITL (meeting scheduler), shared state (task manager), and thread management. Points to langgraph-py example runtime. |
||
|
|
d5c56ff341 |
Revert "fix(runtime): remove obsolete STREAM_EVENTS_V3_MODES import"
This reverts commit 8084390fb9330008636e0d23818ed69adfdb7af5. |
||
|
|
d2f5c8a442 |
fix(runtime): remove obsolete STREAM_EVENTS_V3_MODES import
Bump @langchain/langgraph-cli from 1.2.1 to 2.0.0 in the langgraph-js starter and showcase langgraph-typescript integration. The transitive dep @langchain/langgraph-api@1.2.1 imports STREAM_EVENTS_V3_MODES from @langchain/langgraph/web, but that symbol was never published in any release of @langchain/langgraph (including 1.3.0 currently pinned). langgraph-api@2.0.0 drops the broken import entirely. |
||
|
|
21b832443d | fix(showcase): run oxfmt on deep-agents-finance-erp use-request-approval hook | ||
|
|
e3b696c29d |
feat(showcase-finance-erp): animate chat tool cards on mount (#4631)
## Summary Replace the abrupt "cut in" with a 300ms fade + slide-from-bottom entrance on each chat card so they feel connected to the streaming response instead of popping in. Follow-up polish on [#4587](https://github.com/CopilotKit/CopilotKit/pull/4587). ## What changed Added `animate-in fade-in slide-in-from-bottom-2 duration-300 ease-out` to the root element of every tool render surface in the chat: - `ToolCard` — `SpecializedToolCard` and `DefaultToolCard` (covers `do_research`, `do_projections`, `navigate_and_filter`, dashboard ops, `render_chat_visual`, etc.) - `InlineChart` (both placeholder and rendered chart) - `CashPositionCard` (both placeholder and full card) - `InventoryReorderCard` (both placeholder and full card) - `InvoiceApprovalCard` (both placeholder and full card) ## Why this approach - **`tw-animate-css` is already imported** in `examples/showcases/deep-agents-finance-erp/src/app/globals.css` — no new dependencies. - **Mount-time CSS animation, not Framer Motion** — the cards are short-lived per turn and don't need orchestration; CSS keyframes resolve to `animation-name: enter` exactly once on first paint and don't re-fire on prop transitions, so swapping between `InProgress` and the populated state stays smooth. - 300ms `ease-out` matches the rest of the demo's transition timing. ## Test plan - [x] Chat → "Cash Position" → cards slide+fade in (verified via `getComputedStyle().animationName === "enter"`, `animationDuration === "0.3s"`). - [x] Same animation fires for `do_research` / `do_projections` tool cards, inline charts, approval cards, and inventory reorder cards. - [x] No layout shift or jank in successive turns. - [ ] Reviewer: visual verification on a non-mac browser if possible (animation runs on standard CSS, but worth confirming). ## Notes - No JS/runtime changes. Pure CSS class additions via Tailwind utilities. - Decoupled from the HITL fix in [#4630](https://github.com/CopilotKit/CopilotKit/pull/4630) — landing this independently is fine. |
||
|
|
bde2286c88 | Merge branch 'main' into fix/finance-erp-hitl-interrupt | ||
|
|
8b11e52d8e | Merge branch 'main' into feat/finance-erp-chat-animations | ||
|
|
13653bc657 |
fix(langgraph-js): bump @langchain/core to 1.1.44 to satisfy langgraph 1.3.0 peer
The previous commit bumped @langchain/langgraph to 1.3.0 but missed the peer-dep ripple: langgraph 1.3.0 peers @langchain/core ^1.1.44. The agent pinned core 1.1.41 and the root override pinned 1.0.1, both below the required range, so npm install in the agent container failed with ERESOLVE. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> |
||
|
|
7b7fe88e2d | Merge branch 'main' into fix/langgraph-js-pin-langchain | ||
|
|
a8a006e4fc |
fix(langgraph-js): bump @langchain/langgraph to 1.3.0 and pin langgraph-cli@1.2.1
@langchain/langgraph-api@1.2.1 (pulled transitively by langgraph-cli) imports STREAM_EVENTS_V3_MODES from @langchain/langgraph/web, which only exists in 1.3.0. The starter's overrides + agent dep were pinning langgraph to 1.2.9, causing the agent container to crash on startup with a SyntaxError. Bump the override and the direct pin to 1.3.0, and pin @langchain/langgraph-cli in the npx invocations so future cross-package drift in the LangChain ecosystem cannot silently re-break this starter. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> |
||
|
|
853740266a |
fix(langgraph-python-threads): pin to stable @copilotkit/* 1.57.0 and intelligence 0.1.0
Replaces canary @copilotkit/* (1.56.5-canary.1777671752) and the intelligence composite RC tag (0.1.0-rc.16) with the just-released stable artifacts so users cloning this starter get a reproducible configuration. Also aligns the Dockerfile copilotkit Python pin (0.1.78) with apps/agent/pyproject.toml (0.1.86). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> |
||
|
|
57722ce6d6 |
feat(showcase-finance-erp): animate chat tool cards on mount
Replace the abrupt "cut in" with a 300ms fade + slide-from-bottom entrance on each chat card so they feel connected to the streaming response instead of popping in. Applied to all five tool render surfaces: - ToolCard (Specialized + Default variants — do_research, do_projections, navigate_and_filter, dashboard ops, render_chat_visual, etc.) - InlineChart - CashPositionCard - InventoryReorderCard - InvoiceApprovalCard Uses tw-animate-css utilities (`animate-in fade-in slide-in-from-bottom-2 duration-300 ease-out`), already imported in globals.css — no new deps. |
||
|
|
ecea359618 |
fix(showcase-finance-erp): wire request_approval HITL through useInterrupt
The agent's request_approval tool calls copilotkit_interrupt() which
raises GraphInterrupt and the runtime emits a CUSTOM { name:
"on_interrupt" } event. The previous useHumanInTheLoop hook only handles
frontend-executed tools and was ignoring those events, so the approval
card flashed in then vanished without ever exposing Approve/Reject.
- Switch to useInterrupt for the interrupt-driven flow
- Add a no-op useRenderTool for request_approval to suppress the
wildcard tool renderer (which would otherwise show a half-finished
generic card during streaming)
- JSON-parse event.value (the runtime delivers the interrupt payload as
a string, not an object — accessing properties directly silently
returns undefined and filters the interrupt out)
|
||
|
|
762370a4e5 |
refactor: remove per-thread agent cloning, restore single registry agent per id
Reverts the cloning design from #3525 (useAgent per-thread clones, getThreadClone, globalThreadCloneMap, cloneForThread) and #3630 (clone routing in activity renderers), plus the inspector machinery that existed only to handle clones (onAgentRunStarted subscriber + run-handler emissions from #3869, the connect-time emission from #3872, and the agentRunThreadId map that read from it). State-manager isClone composite-key path and SuggestionEngine consumerAgent param — both added in #3525 to keep clones visible to bookkeeping — are gone too. Restores agent.threadId = resolvedThreadId in CopilotChat (pre-#3525 behavior) and swaps the inspector's agentRunThreadId map for a direct agent.threadId read. Removes the DemoButtonAgent and /a2ui-demo page from the demo (added by #3630 as a clone-fix repro). Re-opens the original issue #2957 (CPK-7155): two CopilotChat instances with the same agentId and different threadIds will share message state again. The follow-up is a public registerProxiedAgent API so callers can opt into multiple frontend agents proxying to the same runtime agent, without implicit per-thread cloning. |
||
|
|
1d4715ff8b |
docs(examples): correct scaffold template instructions (#4589)
## What does this PR do? Corrects scaffolded template instructions so generated projects match their actual package scripts and runtime requirements. The updates remove stale duplicate setup steps, fix provider environment examples, align Python version and uv guidance, and document that the threads template npm run dev starts its Docker Compose infrastructure. ## Related PRs and Issues - Companion Intelligence CLI PR: https://github.com/CopilotKit/Intelligence/pull/160 ## Checklist - [x] I have read the Contribution Guide - [x] If the PR changes or adds functionality, I have updated the relevant documentation - [ ] Allow edits by maintainers is checked |
||
|
|
9520e6be6d |
feat(showcase-finance-erp): polish demo chat UX (#4587)
## Summary
Polish pass on the deep-agents-finance-erp showcase to reduce visual
noise and make the chat surface feel more like a real assistant.
- **Persistent follow-up suggestion chips** above the input. The third
chip rotates based on the currently loaded dashboard so we never suggest
switching to the view the user is already on (e.g. on Cost Control the
chip becomes "Cash Flow Risk", on Cash Flow Risk it becomes "Cost
Control").
- **Hover-only assistant toolbar on the last turn.** The copy icon no
longer floats between tool-call cards mid-conversation; it only appears
on the latest assistant message and only when the user hovers it.
- **Cleaner research / projections tool render.** Replaced the raw
markdown-table preview under `do_research` / `do_projections` cards (`|
Metric | Amount | |---|---:|...`) with a "Completed data gathering" /
"Completed projections" status caption. Full results still available
behind the chevron expand.
- **Natural-language intent routing in the orchestrator prompt.**
Spending / cost / cash-flow / revenue / executive-overview questions now
resolve to `do_research` → `load_dashboard` against the matching
pre-built template (no `save_dashboard` + `manage_dashboard(reset)` +
`update_dashboard` churn). Approval-context invoice questions ("do we
have any invoices for approval", "what needs to be paid") route to
`request_approval(invoice_payment)` instead of just charting.
## Files
-
examples/showcases/deep-agents-finance-erp/src/components/layout/shell.tsx
— suggestion chips, hover-only toolbar wrapper, dashboard-aware rotation
-
examples/showcases/deep-agents-finance-erp/src/components/chat/tool-card.tsx
— clean status caption for do_research / do_projections
- examples/showcases/deep-agents-finance-erp/agent/prompts.py —
intent-mapping rules for dashboards and approvals
## Test plan
- [ ] Open the chat and send any message — verify three chips appear
above the input on the second turn (Cash Position Chart / Approve
Payments / dashboard suggestion).
- [ ] Click "Show me where the company is spending its money" — verify
agent only calls `do_research` then `load_dashboard("Cost Control")`, no
`update_dashboard` / `save_dashboard` / `manage_dashboard`.
- [ ] After Cost Control loads, verify the third chip rotates to "Cash
Flow Risk".
- [ ] Hover over an assistant message — copy/toolbar icons fade in only
on the latest turn.
- [ ] Trigger `do_research` and verify the tool card shows "Completed
data gathering" instead of raw markdown.
- [ ] Ask "Do we have any pending invoices for approval?" — verify the
approval HITL dialog renders.
|
||
|
|
c798775421 |
chore(langgraph-threads): upgrade demo to latest + fix small bug blocking inspector
Signed-off-by: Tyler Slaton <tyler@copilotkit.ai> |
||
|
|
c118aefd75 | fix(examples): load scaffold root env files | ||
|
|
3a0480ea98 | docs(examples): correct scaffold template instructions | ||
|
|
804319426f | Merge branch 'main' into improve/finance-erp-demo-ux | ||
|
|
df3c961276 | Merge branch 'main' into feat/CPK-7193-inspector-threads-clean | ||
|
|
15bf868cb8 |
feat(showcase-finance-erp): polish demo chat UX
- Persistent follow-up suggestion chips above the input; the third chip rotates based on the currently loaded dashboard so we never suggest switching to the dashboard the user is already viewing. - Hide the assistant message toolbar except on hover and only on the latest turn — drops the floating copy icon that previously appeared mid-conversation between tool cards. - Replace the raw markdown preview under do_research/do_projections tool cards with a clean "Completed data gathering" status caption. - Expand the orchestrator prompt with natural-language intent mapping so spending / cash-flow / revenue / executive-overview questions route to load_dashboard against the matching template (no save + reset + update churn), and approval-context invoice queries route to request_approval instead of just charting. |
||
|
|
fa01c3510a | chore: sync example-layout to north-star |