Commit Graph

828 Commits

Author SHA1 Message Date
Alem Tuzlak 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)
|
![age](https://developer.mend.io/api/mc/badges/age/npm/@copilotkit%2fa2ui-renderer/1.57.1?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@copilotkit%2fa2ui-renderer/0.0.0-mme-ag-ui-0-0-46-20260227141603/1.57.1?slim=true)
|
|
[@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)
|
![age](https://developer.mend.io/api/mc/badges/age/npm/@copilotkit%2freact-core/1.57.1?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@copilotkit%2freact-core/0.0.0-mme-ag-ui-0-0-46-20260227141603/1.57.1?slim=true)
|
|
[@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)
|
![age](https://developer.mend.io/api/mc/badges/age/npm/@copilotkit%2freact-ui/1.57.1?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@copilotkit%2freact-ui/0.0.0-mme-ag-ui-0-0-46-20260227141603/1.57.1?slim=true)
|
|
[@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)
|
![age](https://developer.mend.io/api/mc/badges/age/npm/@copilotkit%2fruntime/1.57.1?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@copilotkit%2fruntime/0.0.0-mme-ag-ui-0-0-46-20260227141603/1.57.1?slim=true)
|
|
[@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)
|
![age](https://developer.mend.io/api/mc/badges/age/npm/@copilotkit%2fruntime-client-gql/1.57.1?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@copilotkit%2fruntime-client-gql/0.0.0-mme-ag-ui-0-0-46-20260227141603/1.57.1?slim=true)
|
|
[@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)
|
![age](https://developer.mend.io/api/mc/badges/age/npm/@copilotkit%2fshared/1.57.1?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@copilotkit%2fshared/0.0.0-mme-ag-ui-0-0-46-20260227141603/1.57.1?slim=true)
|
| copilotkit | [`^0.0.45` →
`^2.0.0`](https://renovatebot.com/diffs/npm/copilotkit/0.0.45/2.0.4) |
![age](https://developer.mend.io/api/mc/badges/age/npm/copilotkit/2.0.4?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/copilotkit/0.0.45/2.0.4?slim=true)
|

---

### Release Notes

<details>
<summary>CopilotKit/CopilotKit
(@&#8203;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 @&#8203;copilotkit/react-core@1.56.2 @&#8203;copilotkit/react-ui@1.56.2 @&#8203;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.
([#&#8203;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 @&#8203;copilotkit/react-core@1.56.1 @&#8203;copilotkit/react-ui@1.56.1 @&#8203;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.
([#&#8203;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.
([#&#8203;3824](https://redirect.github.com/CopilotKit/CopilotKit/pull/3824),
closes
[#&#8203;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.
([#&#8203;3820](https://redirect.github.com/CopilotKit/CopilotKit/pull/3820),
closes
[#&#8203;2450](https://redirect.github.com/CopilotKit/CopilotKit/issues/2450))
- **Configurable `maxInputTokens` on OpenAI and Anthropic adapters** —
cap input tokens explicitly per request.
([#&#8203;3823](https://redirect.github.com/CopilotKit/CopilotKit/pull/3823),
closes
[#&#8203;2405](https://redirect.github.com/CopilotKit/CopilotKit/issues/2405))
- **LangChain adapter always generates unique message IDs** — prevents
downstream deduplication issues.
([#&#8203;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.
([#&#8203;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.
([#&#8203;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.
([#&#8203;3800](https://redirect.github.com/CopilotKit/CopilotKit/pull/3800),
closes
[#&#8203;3410](https://redirect.github.com/CopilotKit/CopilotKit/issues/3410),
[#&#8203;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.
([#&#8203;3817](https://redirect.github.com/CopilotKit/CopilotKit/pull/3817),
closes
[#&#8203;2194](https://redirect.github.com/CopilotKit/CopilotKit/issues/2194))
- **`Button` uses `forwardRef` for Radix interop** — no more ref
warnings when composing with Radix `DropdownMenuTrigger`.
([#&#8203;3830](https://redirect.github.com/CopilotKit/CopilotKit/pull/3830))
- **IME composition guard in `CopilotChatInput`** — no more accidental
sends mid-composition for CJK/IME input.
([#&#8203;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.
([#&#8203;3833](https://redirect.github.com/CopilotKit/CopilotKit/pull/3833))
- **Controlled-input reset after send** — `onChange("")` fires after
submit in controlled mode.
([#&#8203;3836](https://redirect.github.com/CopilotKit/CopilotKit/pull/3836))
- **`available: "disabled"` tools excluded from `buildFrontendTools`** —
disabled tools are no longer announced to the model.
([#&#8203;3793](https://redirect.github.com/CopilotKit/CopilotKit/pull/3793),
closes
[#&#8203;3020](https://redirect.github.com/CopilotKit/CopilotKit/issues/3020))
- **Thumbs callbacks receive `AssistantMessage`** —
`onThumbsUp`/`onThumbsDown` now pass the message instead of a
`SyntheticEvent`.
([#&#8203;3796](https://redirect.github.com/CopilotKit/CopilotKit/pull/3796),
closes
[#&#8203;3457](https://redirect.github.com/CopilotKit/CopilotKit/issues/3457))
- **`urlTransform` forwards to `ReactMarkdown`** — the prop was being
dropped silently.
([#&#8203;3845](https://redirect.github.com/CopilotKit/CopilotKit/pull/3845))
- **Message footer width** — hardcoded `97%` replaced with `100%`.
([#&#8203;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.
([#&#8203;3790](https://redirect.github.com/CopilotKit/CopilotKit/pull/3790))
- **LangGraph agent pagination default 10 → 100** — larger default page
size for LangGraph thread/run listings.
([#&#8203;3812](https://redirect.github.com/CopilotKit/CopilotKit/pull/3812),
closes
[#&#8203;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.
([#&#8203;3783](https://redirect.github.com/CopilotKit/CopilotKit/pull/3783))
- **`useRenderCustomMessages` returns `null` when agent missing** — used
to throw; now safely no-ops.
([#&#8203;3797](https://redirect.github.com/CopilotKit/CopilotKit/pull/3797),
closes
[#&#8203;3497](https://redirect.github.com/CopilotKit/CopilotKit/issues/3497))
- **`CopilotListeners` guards empty agents map** — stops `useAgent`
throwing on initial boot.
([#&#8203;3798](https://redirect.github.com/CopilotKit/CopilotKit/pull/3798),
closes
[#&#8203;3249](https://redirect.github.com/CopilotKit/CopilotKit/issues/3249))
- **Skip version check when `showDevConsole={false}`** — fewer requests
when the dev console is disabled.
([#&#8203;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.
([#&#8203;3839](https://redirect.github.com/CopilotKit/CopilotKit/pull/3839))
- **`toolCallId` passed to `useRenderTool` render components** — render
functions now receive the tool call ID.
([#&#8203;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.
([#&#8203;3801](https://redirect.github.com/CopilotKit/CopilotKit/pull/3801),
closes
[#&#8203;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.
([#&#8203;3811](https://redirect.github.com/CopilotKit/CopilotKit/pull/3811),
closes
[#&#8203;2049](https://redirect.github.com/CopilotKit/CopilotKit/issues/2049),
[#&#8203;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.
([#&#8203;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 @&#8203;copilotkit/react-core@1.56.0 @&#8203;copilotkit/react-ui@1.56.0 @&#8203;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.
([#&#8203;3562](https://redirect.github.com/CopilotKit/CopilotKit/pull/3562))

  ```tsx
  // Client
  import { CopilotKit } from "@&#8203;copilotkit/react-core";

  <CopilotKit debug runtimeUrl="/api/copilotkit">
    <App />
  </CopilotKit>
  ```

  ```ts
  // Runtime
  import { CopilotRuntime } from "@&#8203;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.
([#&#8203;3934](https://redirect.github.com/CopilotKit/CopilotKit/pull/3934),
[#&#8203;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.
([#&#8203;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.
([#&#8203;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.
([#&#8203;3858](https://redirect.github.com/CopilotKit/CopilotKit/pull/3858))
- **Docs-sync PR flow** — review items now staged before creating the
PR.
([#&#8203;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 @&#8203;copilotkit/react-core@1.55.3 @&#8203;copilotkit/react-ui@1.55.3 @&#8203;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.
([#&#8203;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).
([#&#8203;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.
([#&#8203;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.
([#&#8203;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.
([#&#8203;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.
([#&#8203;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.
([#&#8203;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.
([#&#8203;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.
([#&#8203;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 `{}`.
([#&#8203;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.
([#&#8203;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.
([#&#8203;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.
([#&#8203;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.
([#&#8203;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).
([#&#8203;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.
([#&#8203;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 "@&#8203;copilotkitnext/react";
  + import { CopilotChat } from "@&#8203;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 @&#8203;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)]
-
[@&#8203;copilotkit/react-core](https://redirect.github.com/copilotkit/react-core)@&#8203;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)]
-
[@&#8203;copilotkit/react-core](https://redirect.github.com/copilotkit/react-core)@&#8203;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
[@&#8203;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)]
-
[@&#8203;copilotkit/react-core](https://redirect.github.com/copilotkit/react-core)@&#8203;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)]
-
[@&#8203;copilotkit/react-core](https://redirect.github.com/copilotkit/react-core)@&#8203;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)]
-
[@&#8203;copilotkit/react-core](https://redirect.github.com/copilotkit/react-core)@&#8203;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)]
-
[@&#8203;copilotkit/react-core](https://redirect.github.com/copilotkit/react-core)@&#8203;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)]
-
[@&#8203;copilotkit/react-core](https://redirect.github.com/copilotkit/react-core)@&#8203;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)]
-
[@&#8203;copilotkit/react-core](https://redirect.github.com/copilotkit/react-core)@&#8203;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)]
-
[@&#8203;copilotkit/react-core](https://redirect.github.com/copilotkit/react-core)@&#8203;1.50.1

</details>

<details>
<summary>CopilotKit/CopilotKit (@&#8203;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)

#####
[@&#8203;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)]
-
[@&#8203;copilotkitnext/core](https://redirect.github.com/copilotkitnext/core)@&#8203;1.54.0
-
[@&#8203;copilotkitnext/react](https://redirect.github.com/copilotkitnext/react)@&#8203;1.54.0
-
[@&#8203;copilotkit/runtime-client-gql](https://redirect.github.com/copilotkit/runtime-client-gql)@&#8203;1.54.0
-
[@&#8203;copilotkit/shared](https://redirect.github.com/copilotkit/shared)@&#8203;1.54.0

#####
[@&#8203;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)]
-
[@&#8203;copilotkit/react-core](https://redirect.github.com/copilotkit/react-core)@&#8203;1.54.0
-
[@&#8203;copilotkit/runtime-client-gql](https://redirect.github.com/copilotkit/runtime-client-gql)@&#8203;1.54.0
-
[@&#8203;copilotkit/shared](https://redirect.github.com/copilotkit/shared)@&#8203;1.54.0

#####
[@&#8203;copilotkit/sdk-js](https://redirect.github.com/copilotkit/sdk-js)

##### 1.54.0

##### Patch Changes

-
[@&#8203;copilotkit/shared](https://redirect.github.com/copilotkit/shared)@&#8203;1.54.0

#####
[@&#8203;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)]
-
[@&#8203;copilotkit/react-core](https://redirect.github.com/copilotkit/react-core)@&#8203;1.54.0
-
[@&#8203;copilotkit/runtime-client-gql](https://redirect.github.com/copilotkit/runtime-client-gql)@&#8203;1.54.0
-
[@&#8203;copilotkit/shared](https://redirect.github.com/copilotkit/shared)@&#8203;1.54.0

#####
[@&#8203;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)]
-
[@&#8203;copilotkitnext/agent](https://redirect.github.com/copilotkitnext/agent)@&#8203;1.54.0
-
[@&#8203;copilotkitnext/runtime](https://redirect.github.com/copilotkitnext/runtime)@&#8203;1.54.0
-
[@&#8203;copilotkit/shared](https://redirect.github.com/copilotkit/shared)@&#8203;1.54.0

#####
[@&#8203;copilotkit/runtime-client-gql](https://redirect.github.com/copilotkit/runtime-client-gql)

##### 1.54.0

##### Patch Changes

-
[@&#8203;copilotkit/shared](https://redirect.github.com/copilotkit/shared)@&#8203;1.54.0

#####
[@&#8203;copilotkit/shared](https://redirect.github.com/copilotkit/shared)

##### 1.54.0

#####
[@&#8203;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)]
-
[@&#8203;copilotkitnext/core](https://redirect.github.com/copilotkitnext/core)@&#8203;1.54.0
-
[@&#8203;copilotkitnext/react](https://redirect.github.com/copilotkitnext/react)@&#8203;1.54.0
-
[@&#8203;copilotkit/runtime-client-gql](https://redirect.github.com/copilotkit/runtime-client-gql)@&#8203;1.54.0
-
[@&#8203;copilotkit/shared](https://redirect.github.com/copilotkit/shared)@&#8203;1.54.0

#####
[@&#8203;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)]
-
[@&#8203;copilotkit/react-core](https://redirect.github.com/copilotkit/react-core)@&#8203;1.54.0
-
[@&#8203;copilotkit/runtime-client-gql](https://redirect.github.com/copilotkit/runtime-client-gql)@&#8203;1.54.0
-
[@&#8203;copilotkit/shared](https://redirect.github.com/copilotkit/shared)@&#8203;1.54.0

#####
[@&#8203;copilotkit/sdk-js](https://redirect.github.com/copilotkit/sdk-js)

##### 1.54.0

##### Patch Changes

-
[@&#8203;copilotkit/shared](https://redirect.github.com/copilotkit/shared)@&#8203;1.54.0

#####
[@&#8203;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)]
-
[@&#8203;copilotkit/react-core](https://redirect.github.com/copilotkit/react-core)@&#8203;1.54.0
-
[@&#8203;copilotkit/runtime-client-gql](https://redirect.github.com/copilotkit/runtime-client-gql)@&#8203;1.54.0
-
[@&#8203;copilotkit/shared](https://redirect.github.com/copilotkit/shared)@&#8203;1.54.0

#####
[@&#8203;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)]
-
[@&#8203;copilotkitnext/agent](https://redirect.github.com/copilotkitnext/agent)@&#8203;1.54.0
-
[@&#8203;copilotkitnext/runtime](https://redirect.github.com/copilotkitnext/runtime)@&#8203;1.54.0
-
[@&#8203;copilotkit/shared](https://redirect.github.com/copilotkit/shared)@&#8203;1.54.0

#####
[@&#8203;copilotkit/runtime-client-gql](https://redirect.github.com/copilotkit/runtime-client-gql)

##### 1.54.0

##### Patch Changes

-
[@&#8203;copilotkit/shared](https://redirect.github.com/copilotkit/shared)@&#8203;1.54.0

#####
[@&#8203;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)

#####
[@&#8203;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)]
-
[@&#8203;copilotkit/shared](https://redirect.github.com/copilotkit/shared)@&#8203;1.53.0
-
[@&#8203;copilotkitnext/core](https://redirect.github.com/copilotkitnext/core)@&#8203;1.53.0
-
[@&#8203;copilotkitnext/react](https://redirect.github.com/copilotkitnext/react)@&#8203;1.53.0
-
[@&#8203;copilotkit/runtime-client-gql](https://redirect.github.com/copilotkit/runtime-client-gql)@&#8203;1.53.0

#####
[@&#8203;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)]
-
[@&#8203;copilotkit/react-core](https://redirect.github.com/copilotkit/react-core)@&#8203;1.53.0
-
[@&#8203;copilotkit/shared](https://redirect.github.com/copilotkit/shared)@&#8203;1.53.0
-
[@&#8203;copilotkit/runtime-client-gql](https://redirect.github.com/copilotkit/runtime-client-gql)@&#8203;1.53.0

#####
[@&#8203;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)]
-
[@&#8203;copilotkit/shared](https://redirect.github.com/copilotkit/shared)@&#8203;1.53.0

#####
[@&#8203;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)]
-
[@&#8203;copilotkit/react-core](https://redirect.github.com/copilotkit/react-core)@&#8203;1.53.0
-
[@&#8203;copilotkit/shared](https://redirect.github.com/copilotkit/shared)@&#8203;1.53.0
-
[@&#8203;copilotkit/runtime-client-gql](https://redirect.github.com/copilotkit/runtime-client-gql)@&#8203;1.53.0

#####
[@&#8203;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)]
-
[@&#8203;copilotkit/shared](https://redirect.github.com/copilotkit/shared)@&#8203;1.53.0
-
[@&#8203;copilotkitnext/agent](https://redirect.github.com/copilotkitnext/agent)@&#8203;1.53.0
-
[@&#8203;copilotkitnext/runtime](https://redirect.github.com/copilotkitnext/runtime)@&#8203;1.53.0

#####
[@&#8203;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)]
-
[@&#8203;copilotkit/shared](https://redirect.github.com/copilotkit/shared)@&#8203;1.53.0

#####
[@&#8203;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

#####
[@&#8203;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)]
-
[@&#8203;copilotkit/shared](https://redirect.github.com/copilotkit/shared)@&#8203;1.53.0
-
[@&#8203;copilotkitnext/core](https://redirect.github.com/copilotkitnext/core)@&#8203;1.53.0
-
[@&#8203;copilotkitnext/react](https://redirect.github.com/copilotkitnext/react)@&#8203;1.53.0
-
[@&#8203;copilotkit/runtime-client-gql](https://redirect.github.com/copilotkit/runtime-client-gql)@&#8203;1.53.0

#####
[@&#8203;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)]
-
[@&#8203;copilotkit/react-core](https://redirect.github.com/copilotkit/react-core)@&#8203;1.53.0
-
[@&#8203;copilotkit/shared](https://redirect.github.com/copilotkit/shared)@&#8203;1.53.0
-
[@&#8203;copilotkit/runtime-client-gql](https://redirect.github.com/copilotkit/runtime-client-gql)@&#8203;1.53.0

#####
[@&#8203;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)]
-
[@&#8203;copilotkit/shared](https://redirect.github.com/copilotkit/shared)@&#8203;1.53.0

#####
[@&#8203;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)]
-
[@&#8203;copilotkit/react-core](https://redirect.github.com/copilotkit/react-core)@&#8203;1.53.0
-
[@&#8203;copilotkit/shared](https://redirect.github.com/copilotkit/shared)@&#8203;1.53.0
-
[@&#8203;copilotkit/runtime-client-gql](https://redirect.github.com/copilotkit/runtime-client-gql)@&#8203;1.53.0

#####
[@&#8203;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)]
-
[@&#8203;copilotkit/shared](https://redirect.github.com/copilotkit/shared)@&#8203;1.53.0
-
[@&#8203;copilotkitnext/agent](https://redirect.github.com/copilotkitnext/agent)@&#8203;1.53.0
-
[@&#8203;copilotkitnext/runtime](https://redirect.github.com/copilotkitnext/runtime)@&#8203;1.53.0

#####
[@&#8203;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)]
-
[@&#8203;copilotkit/shared](https://redirect.github.com/copilotkit/shared)@&#8203;1.53.0

#####
[@&#8203;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)

#####
[@&#8203;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)]
-
[@&#8203;copilotkitnext/react](https://redirect.github.com/copilotkitnext/react)@&#8203;1.52.1
-
[@&#8203;copilotkit/runtime-client-gql](https://redirect.github.com/copilotkit/runtime-client-gql)@&#8203;1.52.1
-
[@&#8203;copilotkit/shared](https://redirect.github.com/copilotkit/shared)@&#8203;1.52.1
-
[@&#8203;copilotkitnext/core](https://redirect.github.com/copilotkitnext/core)@&#8203;1.52.1

#####
[@&#8203;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)]
  - [@&#8203;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==-->
2026-05-15 17:08:38 +02:00
Jordan Ritter 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.
2026-05-13 23:10:35 -07:00
Jordan Ritter b6ad624c94 style: apply formatter to vue package and other unformatted files 2026-05-13 17:06:47 -07:00
enekesabel 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.
2026-05-13 15:50:13 -07:00
enekesabel 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.
2026-05-13 15:50:12 -07:00
Max Korp 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.
2026-05-12 18:51:06 -05:00
renovate[bot] 1b96bfae87 fix(deps): update copilotkit examples 2026-05-10 15:24:32 +00:00
Tyler Slaton 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)
2026-05-07 16:39:34 -07:00
Tyler Slaton 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>
2026-05-07 16:00:24 -07:00
Tyler Slaton 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>
2026-05-07 13:49:22 -07:00
Markus Ecker 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
2026-05-07 14:20:55 +02:00
Jordan Ritter 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)
2026-05-06 16:46:38 -07:00
Maxim 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.
2026-05-06 16:42:22 -07:00
Jordan Ritter d5c56ff341 Revert "fix(runtime): remove obsolete STREAM_EVENTS_V3_MODES import"
This reverts commit 8084390fb9330008636e0d23818ed69adfdb7af5.
2026-05-06 16:35:52 -07:00
Jordan Ritter 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.
2026-05-06 16:35:52 -07:00
Jordan Ritter 21b832443d fix(showcase): run oxfmt on deep-agents-finance-erp use-request-approval hook 2026-05-06 16:35:49 -07:00
Alem Tuzlak 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.
2026-05-06 18:27:03 +02:00
Jerel Velarde bde2286c88 Merge branch 'main' into fix/finance-erp-hitl-interrupt 2026-05-06 23:17:55 +07:00
Jerel Velarde 8b11e52d8e Merge branch 'main' into feat/finance-erp-chat-animations 2026-05-06 23:17:51 +07:00
Martha Schumann 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>
2026-05-05 05:55:28 -07:00
Martha Kelly Schumann 7b7fe88e2d Merge branch 'main' into fix/langgraph-js-pin-langchain 2026-05-05 05:52:20 -07:00
Martha Schumann 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>
2026-05-05 05:51:32 -07:00
Martha Schumann 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>
2026-05-05 05:29:04 -07:00
GeneralJerel 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.
2026-05-04 05:47:24 -07:00
GeneralJerel 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)
2026-05-04 04:56:32 -07:00
Markus Ecker 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.
2026-05-04 13:27:04 +02:00
Jordan Ritter 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
2026-05-01 18:33:02 -07:00
Jordan Ritter 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.
2026-05-01 18:30:52 -07:00
Tyler Slaton c798775421 chore(langgraph-threads): upgrade demo to latest + fix small bug blocking inspector
Signed-off-by: Tyler Slaton <tyler@copilotkit.ai>
2026-05-01 15:49:03 -07:00
Mike Ryan c118aefd75 fix(examples): load scaffold root env files 2026-05-01 14:38:59 -07:00
Mike Ryan 3a0480ea98 docs(examples): correct scaffold template instructions 2026-05-01 14:38:59 -07:00
Jerel Velarde 804319426f Merge branch 'main' into improve/finance-erp-demo-ux 2026-05-02 03:58:26 +07:00
Tyler Slaton df3c961276 Merge branch 'main' into feat/CPK-7193-inspector-threads-clean 2026-05-01 12:40:38 -07:00
GeneralJerel 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.
2026-05-01 10:27:18 -07:00
Ran Shem Tov fa01c3510a chore: sync example-layout to north-star 2026-05-01 12:54:09 +02:00
Ran Shem Tov 67d22d88ec chore: fix smoke tests on lg-js 2026-05-01 12:31:05 +02:00
Ran Shem Tov 84af438694 chore: use latest cpk 2026-05-01 12:31:05 +02:00
Ran Shem Tov 2143b9666d chore: use latest js sdk 2026-05-01 12:31:04 +02:00
Ran Shem Tov 8bae258b84 chore: fix peripherals for smoke tests and parity 2026-05-01 12:31:04 +02:00
Ran Shem Tov 73e5e2cb54 chore: fix dockerfile for langgraph fastapi demo 2026-05-01 12:31:04 +02:00
Ran Shem Tov 0b41bebe23 chore: fix showcase drift 2026-05-01 12:31:04 +02:00
github-actions[bot] 3f814cf602 style: auto-fix formatting 2026-05-01 12:31:04 +02:00
Ran Shem Tov a79481439a chore(integrations/langgraph-fastapi): sync to langgraph-python reference demo 2026-05-01 12:31:04 +02:00
Ran Shem Tov efb37668b3 chore(integrations/langgraph-js): use latest packages 2026-05-01 12:31:04 +02:00
Ran Shem Tov e77df6d16b chore(integrations/langgraph-js): fix state streaming 2026-05-01 12:31:04 +02:00
Ran Shem Tov f13f8865a8 feat(sdk-js/langgraph): zodState helper for agent state schemas
Add a zodState() helper that attaches a lazy `~standard.jsonSchema.input`
to a zod schema so LangGraph's StateSchema.getJsonSchema() emits the
field into the graph's output_schema. Without it, zod v4 fields carry
`~standard.validate` + `vendor` only, `isStandardJSONSchema` returns
false, and the field is silently dropped from output_schema — which in
turn causes the AG-UI LangGraphAgent proxy to filter the value out of
STATE_SNAPSHOT events on the wire, so the frontend never sees it even
though the underlying thread state has the data.

Apply zodState to the middleware's own `copilotkit` state field so it
surfaces in output_schema and export it for demos to use on custom
state fields (todos, documents, etc.).

Uses `z.toJSONSchema` when available (zod v4 subpath) and falls back to
an empty object, which is sufficient to make langgraph-api include the
key in output_schema.
2026-05-01 12:31:04 +02:00
Ran Shem Tov 091eb86f16 chore(integrations/langgraph-js): port agent to createAgent + fix Docker
Rewrite the langgraph-js agent to use `createAgent` from `langchain`
(matching langgraph-python) with `copilotkitMiddleware` and
`stateStreamingMiddleware` from `@copilotkit/sdk-js/langgraph-middlewares`.
Tools now use `ToolRuntime` for state and tool-call-id access. System
prompt inlined in `agent.ts`; drop the file-based `PROMPT.md`.

Replace the legacy single-stage Dockerfile with a Node-only two-stage
build that mirrors the langgraph-python Dockerfile (frontend build →
runner, HttpAgent route override for Docker, Turbopack→webpack).

Add JS-specific `entrypoint.sh` (launches `@langchain/langgraph-cli dev`
+ Next.js standalone) and `docker-compose.test.yml` (wget healthcheck
for the alpine-based agent image, STARTER=langgraph-js default). Both
added to the instance's `allowedDivergence` in the parity manifest.

Rewrite the README to drop Python/uv prerequisites and list the correct
TypeScript tool paths.
2026-05-01 12:31:04 +02:00
Ran Shem Tov 09501b43ed chore(integrations/_parity): inline-prompt contract + track Dockerfile
Two small changes to the parity tooling, surfaced while validating it on
the langgraph-fastapi port.

1. Drop the per-instance PROMPT.md file. The reference demo
   (langgraph-python) does not load agent/PROMPT.md at runtime — it inlines
   the prompt as a triple-string literal in agent/main.py. Syncing a
   cosmetic PROMPT.md file to every instance created a contract the code
   did not follow. Now:
   - sync.ts no longer writes agent/PROMPT.md per instance.
   - verify.ts greps the first non-blank line of _parity/canonical/PROMPT.md
     against each instance's agent source. Inline the prompt string in
     source; verifier passes.
   - Deleted the now-orphaned PROMPT.md copy under langgraph-js/agent/.

2. Track Dockerfile, docker/Dockerfile.agent, and serve.py in the shared
   verbatim-files list. These were previously silent "allowed divergence"
   across all instances — any Docker or runtime-adapter drift shipped
   unflagged. Now:
   - Added to tracked.verbatimFiles in manifest.json.
   - langgraph-js keeps them in allowedDivergence (Node-only stack, legit
     difference from the Python-based reference).
   - langgraph-fastapi drops them from allowedDivergence (same language
     stack as the reference; Docker/serve.py should match).

README and the copilotkit-demo-parity skill updated to match the new
prompt contract. Verifier still supports `--target` and exits non-zero on
unexpected drift.
2026-05-01 12:31:04 +02:00
Ran Shem Tov c9793b5e6e chore(integrations/langgraph-js): sync to langgraph-python reference demo
Align langgraph-js with examples/integrations/langgraph-python via the
parity tooling. Remove legacy app/ layout, adopt src/ layout, rewrite
the TS agent to expose the tracked tool surface (manage_todos,
get_todos, query_data, generate_a2ui, search_flights) and todos state,
and write the canonical PROMPT.md. Keeps LangGraphAgent + stategraph
runtime (allowed divergence per the manifest); brings deps,
Dockerfile.app, entrypoint, showcase metadata, and shared UI into
lockstep. Parity verifier: 88 ok / 0 error.
2026-05-01 12:31:04 +02:00
Ran Shem Tov 2bb9f3fdf4 chore(integrations): add _parity tooling + copilotkit-demo-parity skill
Introduce machinery for keeping examples/integrations/* demos aligned to a
single north-star (langgraph-python). Built first so the upcoming
langgraph-js and langgraph-fastapi alignment PRs have a mechanical baseline
to work against instead of manual copy-paste.

- examples/integrations/_parity/manifest.json declares verbatim files,
  tracked package.json keys, and expected agent surface (tool names,
  state keys) per instance plus allowed-divergence lists.
- _parity/sync.ts copies verbatim files + rewrites tracked package.json
  keys from north-star to a target instance. Dry-run supported.
- _parity/verify.ts diffs each instance vs north-star and exits non-zero
  on unexpected drift. Checks verbatim content, tracked keys, canonical
  prompt equality, and agent-surface grep-level presence.
- Canonical prompt at _parity/canonical/PROMPT.md — synced into each
  instance's agent/PROMPT.md on parity:sync.
- Root package.json: pnpm parity:sync, parity:verify, parity:check.
- CI: .github/workflows/integrations_parity.yml runs parity:check on PRs
  touching examples/integrations/**.
- Skill: .claude/skills/copilotkit-demo-parity/SKILL.md teaches agents
  how to drive sync/verify and handle manual-merge zones (agent code,
  api route, Dockerfile).

Does NOT touch the existing instance demos yet. Those alignment commits
follow in the same PR.
2026-05-01 12:31:04 +02:00