Commit Graph

841 Commits

Author SHA1 Message Date
Mike Ryan e6976caa45 chore(examples): bump Intelligence sample packages 2026-05-29 13:16:38 -07:00
github-actions[bot] 1a2cce1b46 style: auto-fix formatting 2026-05-22 19:10:53 +00:00
Jordan Ritter 23af69041c fix(examples): migrate integrations from v1 to v2 API surface
Migrate 15 example integrations from the v1 compatibility facade to
native v2 CopilotKit APIs. The v1 surface delegates to v2 internally
so this is an API surface change, not a functional one.

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

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

Mixed integrations cleaned up (stale deps removed):
  agent-spec, agentcore, langgraph-fastapi, langgraph-python,
  langgraph-python-threads
2026-05-22 12:10:00 -07:00
Tyler Slaton 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 (0559faf3d, 80425fcc8) tried to land the sync but
each landed empty: lefthook + stage_fixed reverted the working-tree
changes to match the north-star's un-fixed form, then the linter's
auto-fix re-applied the same delta the hook had just undone — net
zero file content but with the linter-fixed form, which the post-
commit hook then reverted again. Hard to debug because `git
commit` reported success and shortstat hid the no-op.

This commit fixes the root cause instead of the symptom:

  1. Apply `pnpm exec oxlint --fix` directly to the 5 north-star
     files (`docker-route-override.ts`,
     `src/app/declarative-generative-ui/renderers.tsx`,
     `src/components/ui/{badge,button}.tsx`, `src/lib/utils.ts`).
     The fixes match what the pre-commit hook would have applied:
     type-only imports → `import type`, self-closing JSX → `<X />`.
  2. Re-run `pnpm parity:sync` for all three instances
     (strands-python, langgraph-fastapi, langgraph-js) so they
     verbatim-match the new north-star.
  3. Verified `pnpm parity:check` exits 0; all four trees lint clean
     (`pnpm exec oxlint examples/integrations/.../`).

Net effect: every instance now matches the north-star byte-for-byte,
and the lint-fix hook is a no-op on these files going forward.

Files touched per directory (5 each, except strands-python which had
docker-route-override.ts already synced in a prior attempt):
  examples/integrations/langgraph-python/   — 5 files
  examples/integrations/langgraph-fastapi/  — 5 files
  examples/integrations/langgraph-js/       — 5 files
  examples/integrations/strands-python/     — 4 files

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-20 13:07:52 -07:00
Tyler Slaton 1a534ba9dd Merge remote-tracking branch 'origin/main' into tyler/laughing-burnell-67b26b
# Conflicts:
#	showcase/integrations/strands/package-lock.json
2026-05-20 12:55:00 -07:00
Ran Shem Tov 4de3562bc8 chore: revert docker route override change 2026-05-19 11:07:17 -05:00
github-actions[bot] 499740952b style: auto-fix formatting 2026-05-19 11:06:47 -05:00
Ran Shem Tov 70b4d28063 chore: use latest agui strands integration 2026-05-19 11:06:47 -05:00
Ran Shem Tov 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)
2026-05-19 11:06:47 -05:00
Ran Shem Tov 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
2026-05-19 11:06:47 -05:00
github-actions[bot] 2db98e69ee style: auto-fix formatting 2026-05-19 11:06:47 -05:00
Ran Shem Tov 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)
2026-05-19 11:06:44 -05:00
Ran Shem Tov 2d1ede341c chore: renovate aws strands canonical demo 2026-05-19 11:06:28 -05:00
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