Commit Graph

377 Commits

Author SHA1 Message Date
Martha Schumann a42a44a882 feat(integrations): add Intelligence threads to crewai-crews 2026-06-03 13:51:15 -07:00
Benjamin Taylor 501565c966 fix(examples): green parity + starter smoke — v2 label keys, llamaindex v2 state, parity sync
Addresses the blocking review on #5151:

1. Starter smoke 'Popup Assistant' timeouts (adk, agno, mastra,
   ms-agent-framework-python/dotnet): the pages passed the dead v1 label keys
   (labels.title / labels.initial), which v2 CopilotSidebar ignores — the
   header rendered the default 'CopilotKit Chat' so the smoke's
   text=Popup Assistant wait timed out. Map to the v2 CopilotChatLabels keys:
   title -> modalHeaderTitle, initial -> welcomeMessageText. Verified live:
   SSR now renders 'Popup Assistant'.

2. llamaindex TypeError (reading 'proverbs'): the page still used the v1
   useAgent API ({ state, setState } = useAgent({ name, initialState })) —
   v2 returns { agent }, so state was undefined at render. Migrate to the v2
   pattern (agent.state with a guarded default + agent.setState + one-time
   seed effect), and fix its dead v1 label keys too. Verified: next build
   prerenders all pages cleanly.

3. parity-check drift: ran _parity/sync.ts --all — syncs example-layout
   (mobile-header fix), layout.tsx, docker-route-override.ts to the
   north-star, and bumps @copilotkit/* to 1.59.1 in langgraph-fastapi and
   strands-python. parity verify: 0 errors across all instances.
   (next-env.d.ts is gitignored repo-wide; verify warns-and-skips it in a
   clean checkout, so it is intentionally not committed.)

4. Trailing-whitespace diff-check failure (showcase google-adk agent): already
   resolved by the merge of main (the file matches main; diff --check clean).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-03 15:47:10 -05:00
Martha Schumann 0c00d3417d fix(integrations): keep batch parity allowances 2026-06-03 13:44:27 -07:00
Martha Schumann 9f495e6c69 feat(integrations): add Intelligence threads to langgraph-fastapi 2026-06-03 13:37:20 -07:00
Martha Schumann d5aaf6e9db feat(integrations): add Intelligence threads to pydantic-ai 2026-06-03 13:21:02 -07:00
Benjamin Taylor 3427f01c58 Merge origin/main into ben1/ent-679-intelligence-ready-north-star
Resolves 5 conflicts from main's e793257650 (v2 frontend tool parameters
array -> Zod) overlapping the threads-wired examples:

- adk/mastra/ms-agent-framework-{dotnet,python} page.tsx: keep the branch
  versions — they already use Zod parameters and add the threads drawer
  wiring + the reviewed v2 restructure on top of what main converted.
- adk/package.json: union — keep the branch's threads-drawer deps +
  @copilotkit 1.59.1 bump, and take main's zod dependency (which our adk
  page imports but the branch never declared — main's line fixes that gap).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-03 15:04:18 -05:00
Martha Schumann 4354ee3ab6 fix(integrations): avoid circular crewai-flows tool deps 2026-06-03 12:35:49 -07:00
Jordan Ritter a4f1d14d3a fix(examples): pin langgraph-js agent CLI as local devDependency
The langgraph-js agent `dev` script ran `npx @langchain/langgraph-cli@1.2.1`,
which resolves its own isolated dependency tree. That tree pulled a 1.2.x
`@langchain/langgraph` to satisfy the `@langchain/langgraph-api` peer
dependency, but the API hard-imports `STREAM_EVENTS_V3_MODES` from
`@langchain/langgraph/web` — a symbol only present in langgraph 1.3.0+ —
crashing the agent at startup with a SyntaxError.

Install `@langchain/langgraph-cli@1.2.4` as a devDependency and invoke the
local `langgraphjs` binary so the `@langchain/langgraph` peer resolves from
the agent's own pinned 1.3.0, which exports the symbol. Verified the agent
boots cleanly (graph registered, API on :8123, no SyntaxError).
2026-06-03 11:54:21 -07:00
Jordan Ritter e793257650 fix(examples): convert v2 frontend tool parameters from array to Zod schema
The v1→v2 migration left tool `parameters` in the old v1 array shape
(`[{ name, type, description, required }]`), which does not satisfy the
v2 `FrontendTool.parameters?: StandardSchemaV1` contract. This produced a
`Property '"~standard"' is missing` TypeScript error, failing the
Next.js build for starters whose Docker smoke build typechecks (mastra,
ms-agent-framework-python, adk).

Convert each tool's parameters to a `z.object({...})` schema so typed
`args`/handler arguments resolve correctly. Add `zod` as a dependency to
the two starters (adk, a2a-middleware) that lacked it.

Affected starters: adk, agno, llamaindex, mastra, pydantic-ai,
ms-agent-framework-dotnet, ms-agent-framework-python, a2a-middleware.
2026-06-03 11:54:21 -07:00
Martha Schumann 6d2f8d2caf fix(integrations): remove stale crewai-flows sidebar props 2026-06-03 11:38:01 -07:00
Martha Schumann a736b29306 feat(integrations): add Intelligence threads to crewai-flows 2026-06-03 11:26:24 -07:00
Benjamin Taylor 074e3881f3 fix(examples/ms-agent-framework-dotnet): correct stale doc links + panel comment
The .NET example's page.tsx pointed its Shared State and Generative UI doc
links at /pydantic-ai/ (copy-paste leftovers) instead of
/microsoft-agent-framework/. Also fix the threads-drawer CSS header comment
that still referenced 'mastra's CopilotSidebar'.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-03 12:03:24 -05:00
Benjamin Taylor df2236d91e fix(examples/threads): hide the locked threads panel on mobile
The no-license locked panel is a fixed-width (w-80 / 18-20rem) block. In the
single-column mobile grid it left a dead background strip beside it and pushed
the app content down. Hide it below 1024px (max-lg:hidden / .lockedPanel
display:none) — consistent with the real drawer + first-paint placeholder,
which also reserve no column on mobile. Content now gets the full width.

Applied across all 7 migrated examples.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-03 12:03:24 -05:00
Benjamin Taylor 0c962fe9a9 fix(examples/threads): locked card — one-line command + clearer runnable hint
On the no-license locked threads panel:
- widen the panel slightly (w-72 -> w-80 / lockedPanel 18rem -> 20rem) and
  add white-space: nowrap so `copilotkit add-intelligence` stays on one line
  instead of wrapping mid-command
- add a 'with:' lead-in above the command box so it reads as a runnable command
  rather than loose text

Applied across all 7 migrated examples (Card-based locked state in adk/agno/
langgraph-js/langgraph-python; themed .lockedPanel in mastra/ms-agent-*).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-03 12:03:24 -05:00
Benjamin Taylor 34906417be fix(examples/threads): surface the locked threads panel (no bare/black column)
The disabled-state ThreadsPanelGate (shown when no Intelligence license is
present) rendered its locked card in a bare `w-72` container with no
background, so the threads column showed the page background (a black column in
dark-themed examples, white in light) instead of the drawer surface.

Give that container the drawer surface (bg + hairline right border) so the
locked card sits in a panel that matches the drawer, consistent with the
already-surfaced .lockedPanel examples (mastra, ms-agent-framework-*).

Affects adk, agno, langgraph-js, langgraph-python (the Card-based locked state).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-03 12:03:24 -05:00
Benjamin Taylor 3875b22f71 fix(examples/threads): kill threads-panel mount flash + content shift on load
The ThreadsPanelGate renders a first-paint placeholder while the client-only
drawer mounts. It was either a bare `w-72` div (no surface → a black/white
column flash in the page bg) or a fixed 18rem inline-styled div (correct color
but, on mobile where the mounted drawer floats, the reserved 18rem collapsed on
mount → content shifted left).

Replace both with a shared `.drawerPlaceholder` class that matches the open
drawer's footprint + surface (18rem, drawer bg, hairline border) on desktop and
`display: none` below 1024px (the mobile drawer floats, so reserve no column).
Result: no color flash and no content shift on load. Applied across all 7
migrated examples (themed vs raw surface tokens per example).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-03 12:03:24 -05:00
Benjamin Taylor 0f6842495a fix(examples/langgraph-js): align mobile header with the threads launcher
Port the langgraph-python mobile-header fix to langgraph-js (same shared
canvas/header demo). Below 1024px the threads drawer's floating launcher is
fixed top-left and collided with the top-left CopilotKit header:

- max-lg:pl-24 on the header so the logo clears the launcher pill
- max-lg:pt-2.5 + pb-0 (and drop the logo span's pb-1.5 on mobile) so the
  logo is vertically centered with the launcher + the Chat/App toggle
- trim the collapsed launcher's icon buttons (2rem -> 1.75rem) + tighter
  padding so the pill height lines up with the toggle

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-03 12:03:24 -05:00
Benjamin Taylor a6586e68e0 fix(examples/langgraph-python): align mobile header with the threads launcher
On phones/tablets (≤1024px) the threads drawer's floating launcher is fixed
at the top-left corner, and it collided with this example's top-left
CopilotKit header. Three small fixes so the header reads as one tidy row:

- max-lg:pl-24 on the header so the logo clears the launcher pill
- max-lg:pt-2.5 + pb-0 (and drop the logo span's pb-1.5 on mobile) so the
  logo is vertically centered with the launcher + the Chat/App toggle
  (was sitting ~7px low)
- trim the collapsed launcher's icon buttons (2rem -> 1.75rem) + tighter
  padding so the pill height (~36px) lines up with the toggle instead of
  towering over it

Local to langgraph-python (the only rollout example with a top-left header).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-03 12:03:24 -05:00
Benjamin Taylor aca92a6fe0 fix(examples/threads): off-canvas threads panel on tablet + phone (≤1024px)
Below 1024px the in-flow threads column squeezed the demo content and the
(full-screen) CopilotSidebar chat into slivers. Raise the responsive
breakpoint from 900→1024 and make the panel a true off-canvas overlay:

- collapsed → a small floating launcher pill pinned top-left (z-1300),
  above the full-screen mobile chat, so threads stay reachable
- open → a fixed full-height panel sliding in from the left (z-1300),
  content + chat use the full width behind it
- default the drawer to collapsed when innerWidth ≤ 1024 on mount

Applied across all 7 integration examples' shared threads-drawer, each
adapted to its own theme tokens (themed examples use --threads-drawer-*,
raw examples use --card/--border for the launcher surface).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-03 12:03:24 -05:00
Benjamin Taylor ad03efefc4 fix(integrations/threads): default the threads drawer collapsed on narrow screens
Below 900px the drawer already overlays the content when open (existing media
query), but it defaulted to open — so on phones the 16rem panel covered the
content + chat on load. Default isOpen from window.innerWidth (> 900) so narrow
screens start at the 3.5rem rail; the user expands to the overlay on demand.
The drawer is client-mounted, so reading window in the initializer is safe.

Applied to the shared threads-drawer.tsx across all examples + north-star.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-03 12:03:24 -05:00
Benjamin Taylor 21c59f9941 fix(integrations/threads): New thread starts a fresh thread + un-clip collapsed tooltips
- New thread (header + collapsed rail) now switches to a fresh threadId
  (crypto.randomUUID()) instead of setting it to undefined. Setting threadId
  undefined after a thread was selected did not reset the V2 chat — it kept
  showing the previous conversation. A new id forces the configuration provider
  to re-thread to an empty conversation.
- Collapsed-rail buttons use a native title tooltip instead of the styled
  ::after one, which clipped horizontally against the viewport's left edge in
  the narrow rail. The wider expanded row keeps the styled tooltip.

Applied to the shared threads-drawer.tsx across all examples + north-star.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-03 12:03:24 -05:00
Benjamin Taylor 3ed9c58f7d fix(integrations/threads): unify threads-drawer base + propagate review fixes across examples
The threads-drawer had drifted into two near-identical .tsx variants (a 1-char
encoding diff) during the bespoke passes. Unify all examples onto a single
shared threads-drawer.tsx, which also propagates the mastra review fixes:
- collapsed rail: hover tooltips on the expand + new-thread buttons, and the
  non-interactive decorative icon (read as a dead button) removed;
- tooltip renders below the trigger in each example's themed module.css (the
  styled ::after tooltip was clipped when shown above the trigger).

Per-example theming (the module.css token values) is unchanged — only the
shared logic + the tooltip positioning rule are reconciled.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-03 12:03:24 -05:00
Benjamin Taylor 64233e1330 fix(integrations/threads): export PATCH/DELETE on runtime route (all examples) + mastra drawer review fixes
The Next route handlers only declared GET/POST, so the threads REST API's
DELETE (delete thread) and PATCH (archive/restore) were 405'd by Next before
reaching the runtime — thread deletion and archive were broken in every
example. Export PATCH + DELETE → handle(app) across all 7 routes.

mastra threads-drawer review fixes:
- tooltip renders below the trigger (the styled ::after tooltip was clipped by
  the drawer's overflow containers when shown above);
- collapsed rail drops a non-interactive decorative icon (read as a dead button)
  and adds hover tooltips to the expand + new-thread buttons.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-03 12:03:24 -05:00
Benjamin Taylor 94130333c6 feat(examples/integrations): Intelligence threads (batch 1) on @copilotkit 1.59.1
Activation-gated Intelligence/threads added to the batch-1 integration
examples (langgraph-js, mastra, adk, agno, ms-agent-framework-python,
ms-agent-framework-dotnet) and standardized — with the langgraph-python
north-star — on @copilotkit 1.59.1.

Per-example:
- env-gated CopilotKitIntelligence route branch (multi-route endpoint +
  `useSingleEndpoint={false}` REST transport; no organizationId);
- bespoke themed threads-drawer panel + locked-state tease;
- next.config `NEXT_PUBLIC_COPILOTKIT_THREADS_ENABLED` gate; demo-user identity.

Demo migration to v2 hooks (the 1.59.1 bump broke the V1-era demos):
- `useAgent({ agentId })` -> `{ agent }` with `agent.state`/`setState`;
- `useFrontendTool` params as Zod schemas; CopilotSidebar content as a sibling
  (v2 slot model), not children; guarded card state.

Shared `_intelligence/` overlay: composite image 0.2.0, idempotent
`provision-user` one-shot (demo-user), and `CHECK_ORIGIN=false` so the local
realtime-gateway accepts the app's websocket origin.

Verified end-to-end on mastra (threads CRUD create/list/auto-name + agent run +
live updates, clean console); the other five build clean and await per-example
visual review.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-03 12:03:24 -05:00
Benjamin Taylor afb39fe04e refactor(integrations/langgraph-python): make threads-drawer a token-driven themeable base
Tokenize the last hardcoded literals in threads-drawer.module.css into --threads-*
CSS variables (with fallbacks to the existing design tokens / prior literals, so
the north-star is visually unchanged). Add THEME.md documenting the token contract
so each example can theme the drawer by defining tokens — no per-example CSS edits.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-03 12:03:24 -05:00
Benjamin Taylor cdc8e36a0f chore(integrations/parity): track threads-drawer; stage instances for batched rollout
Add src/components/threads-drawer/** to verbatimFiles (north-star is canonical).
Stage langgraph-js / langgraph-fastapi / strands-python in allowedDivergence for
the threads files (threads-drawer/**, src/app/page.tsx, next.config.ts) so parity
stays green while the frontend rolls out per batch; entries are removed as each
instance is synced. Verified: adds zero new parity failures (pre-existing
example-layout / docker-route-override / next-env.d.ts drift is unrelated).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-03 12:03:24 -05:00
Benjamin Taylor 2ee3e618aa feat(integrations/langgraph-python): scaffold Threads frontend (locked without license)
Restore the threads-drawer components + locked-state gate, page.tsx wiring
(threadId state + CopilotChatConfigurationProvider + two-column shell), and the
next.config build-time derivation of NEXT_PUBLIC_COPILOTKIT_THREADS_ENABLED from
the license token. Without a license the gate renders the locked panel; the
drawer is client-mounted (SSR-safe). This is the canonical north-star frontend
that parity:sync distributes to instances per batch.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-03 12:03:24 -05:00
Benjamin Taylor b00d36b6bb feat(integrations): framework-agnostic _intelligence activation overlay
docker-compose (postgres + redis + intelligence/composite) with its load-bearing
init-db SQL, a .env.intelligence fragment (appended on activation), and a README.
Framework-agnostic; consumed by copilotkit init -i / add-intelligence.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-03 12:03:24 -05:00
Benjamin Taylor e66e652a3c feat(integrations/langgraph-python): dormant env-gated Intelligence runtime wiring
When COPILOTKIT_LICENSE_TOKEN is set, wire CopilotKitIntelligence + identifyUser +
licenseToken (marker-fenced for opt-out); otherwise InMemoryAgentRunner — today's
behavior, unchanged. Document the optional Intelligence env keys (commented) in
.env.example. No visible change to the example until a license is provided.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-03 12:03:24 -05:00
Martha Schumann 8092f8ba7f chore(examples): update langgraph threads copilotkit pins 2026-05-29 13:07:47 -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
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
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