v1.60.0

AppFlowy-IO/AppFlowyv1.60.0Jun 11, 2026by github-actions[bot]

AI Summary

Introduces a new `@copilotkit/bot` family for building AG-UI agents and updates the A2UI API to use a single-arg interface.

Key Highlights

  • New `@copilotkit/bot` platform-agnostic engine and Slack adapter
  • New `@copilotkit/bot-ui` JSX runtime and cross-platform components
  • A2UI adopts single-arg `A2UIToolParams` API
  • Context scoping per-agent instead of broadcasting to all runs

New Features

  • New `@copilotkit/bot` package family for building chat platform agents
  • Slack on-call triage bot example
  • MCP server failures are now non-fatal to a run
  • Intelligence indicator icon renders correctly across all browsers

Full Release Notes

# CopilotKit v1.60.0

A minor release on the `1.60` line. Headline: the new **`@copilotkit/bot`** family — a platform-agnostic bot engine, a cross-platform JSX UI runtime, and a Slack platform adapter ([#5274](https://github.com/CopilotKit/CopilotKit/pull/5274)) — debuts alongside the AG-UI **`A2UIToolParams`** single-arg API on `@ag-ui` `0.0.56` ([#5339](https://github.com/CopilotKit/CopilotKit/pull/5339)). This cut also scopes the A2UI catalog context per-agent instead of broadcasting it into every run ([#5369](https://github.com/CopilotKit/CopilotKit/pull/5369)), makes a single unhealthy MCP server non-fatal to a run, threads app-user IDs through Intelligence thread reads and deletes ([#5389](https://github.com/CopilotKit/CopilotKit/pull/5389)), and fixes the Intelligence indicator icon that rendered blank outside Chrome ([#5316](https://github.com/CopilotKit/CopilotKit/pull/5316)).

## Install

```bash
npm install @copilotkit/react-core@1.60.0 @copilotkit/react-ui@1.60.0 @copilotkit/runtime@1.60.0
```

## New packages

- **`@copilotkit/bot`, `@copilotkit/bot-ui`, `@copilotkit/bot-slack` (`0.0.1`)** — A new family for building AG-UI agents into chat platforms, landing the production rework of the earlier Slack PoC ([#4883](https://github.com/CopilotKit/CopilotKit/pull/4883)).
  - **`bot`** — a platform-agnostic engine: `createBot` with `onMention`/`onMessage`/`onInterrupt`/`onCommand` handler registration, the agent run/tool/interrupt loop, content-stable JSX action binding with cold-path rehydration from a pluggable `ActionStore`, the `PlatformAdapter` boundary, capability-gated thread methods, a shared `BotToolContext`, `defineBotTool`/`defineBotCommand`, and typed interaction/interrupt handlers (ships fake-adapter/fake-agent test utilities).
  - **`bot-ui`** — a JSX runtime, intermediate representation, and a cross-platform component vocabulary.
  - **`bot-slack`** — a Slack adapter: JSX → Block Kit rendering with per-element budgets and graceful degradation, Socket Mode ingress, opaque-id interactions (ack within 3 s, run async), `chat.update` streaming with chunking, accent attachments, and sender-profile resolution. Bolt initialization is deferred to `start()`.
  - A 100% JSX **Slack on-call triage bot** example (over Linear + Notion MCP) ships under `examples/slack` — issue/page cards, tables, Chart.js charts, Mermaid diagrams, a `confirm_write` HITL gate, and `/agent` + `/triage` slash commands. ([#5274](https://github.com/CopilotKit/CopilotKit/pull/5274))

## Features

- **A2UI adopts the single-arg `A2UIToolParams` API (OSS-248)** — `getA2UITools` / `get_a2ui_tools` in the LangGraph middlewares now take one `A2UIToolParams` object (model inside), with `composition_guide` folded into the `guidelines` bag. Counterpart to [ag-ui#1894](https://github.com/ag-ui-protocol/ag-ui/pull/1894), which re-enables A2UI generation and design guidelines via the shared params bag. ([#5339](https://github.com/CopilotKit/CopilotKit/pull/5339), [#5314](https://github.com/CopilotKit/CopilotKit/pull/5314))

## Fixes

- **`@copilotkit/core` / `runtime` / `react-core` / `vue`: scope A2UI context per agent** — the A2UI catalog context was being injected into *every* agent's runs. Context entries are now scoped per-agent, the runtime info response forwards per-agent A2UI scoping, and the a2ui agent list is preserved through the core context path — so only the runtime's designated a2ui agents receive the catalog. ([#5369](https://github.com/CopilotKit/CopilotKit/pull/5369), [#5383](https://github.com/CopilotKit/CopilotKit/pull/5383))
- **`@copilotkit/runtime`: MCP server failures are non-fatal** — a single unavailable MCP server (down, 5xx, timeout, bad auth) no longer fails the whole run. It's skipped with an error log and the run continues with the healthy servers and the agent's own tools. ([#5274](https://github.com/CopilotKit/CopilotKit/pull/5274))
- **`@copilotkit/runtime`: pass app-user IDs to Intelligence thread reads** — the Intelligence REST API now requires explicit app-user ownership for direct thread reads, message-history lookups, and destructive thread mutations. Runtime now threads the resolved `userId` (and `agentId` on deletes) through those calls as route params; create/list/connect/lock already sent it. Wire-contract assertions added to the runtime tests. ([#5389](https://github.com/CopilotKit/CopilotKit/pull/5389))
- **`@copilotkit/react-core`: Intelligence indicator icon renders cross-browser** — the indicator's spinner→checkmark icon was blank in Safari and Firefox because its geometry lived in the Blink-only CSS `d:` property. Geometry moved to the SVG `d` attribute, replaced the Chrome-only path-morph with two overlaid static shapes (a fading spinning arc + a self-drawing checkmark), and rotated the arc via `transform-box: fill-box; transform-origin: center` so it renders instantly and on-center in every engine. ([#5316](https://github.com/CopilotKit/CopilotKit/pull/5316))
- **`@copilotkit/core`: adapt to `@ag-ui/client` `0.0.56`'s `runHttpRequest`** — `0.0.56` changed `runHttpRequest` from `(url, requestInit)` to a fetch-thunk signature (`() => Promise<Response>`). The single-route and connect transport paths in `ProxiedCopilotRuntimeAgent` now wrap the request as `() => this.fetch(url, init)`, restoring the envelope transports; `@ag-ui/*` added to `minimum-release-age-exclude` so the fresh publish installs in CI. ([#5344](https://github.com/CopilotKit/CopilotKit/pull/5344))
- **`@copilotkit/shared` / `a2ui-renderer`: repair `check-types` rot** — define license context types locally (drop the dead `LicenseMode` redefinition), remove dead 0.8-era a2ui-renderer viewer files, and resolve Angular workspace paths to `dist` first in typecheck. ([#5356](https://github.com/CopilotKit/CopilotKit/pull/5356))
- **`@copilotkit/web-inspector`: Node 25 compatibility** — shim `localStorage` in the vitest setup so the suite runs on Node 25. ([#5274](https://github.com/CopilotKit/CopilotKit/pull/5274))
- **`@copilotkitnext/angular`: support Angular 19–21 install** — widen the `@angular/*` peer range to `^19 || ^20 || ^21` (a clean install on Angular 20/21 no longer needs `--legacy-peer-deps`) and correct the README to the real package name `@copilotkitnext/angular`. Rides the separate `@copilotkitnext/angular` version line (not part of the 1.60.0 republish). ([#5342](https://github.com/CopilotKit/CopilotKit/pull/5342))

## Dependencies

- **`@ag-ui/*` bumped to `0.0.56`** — `@ag-ui/core`, `@ag-ui/client`, `@ag-ui/encoder` `0.0.53 → 0.0.56` across all packages; `@ag-ui/langgraph` at `0.0.41`, `@ag-ui/a2ui-middleware` at `0.0.8`. ([#5339](https://github.com/CopilotKit/CopilotKit/pull/5339), [#5344](https://github.com/CopilotKit/CopilotKit/pull/5344))

## Packages republished at `1.60.0`

`@copilotkit/runtime`, `@copilotkit/react-core`, `@copilotkit/react-ui`, `@copilotkit/react-native`, `@copilotkit/core`, `@copilotkit/shared`, `@copilotkit/runtime-client-gql`, `@copilotkit/sdk-js`, `@copilotkit/vue`, `@copilotkit/voice`, `@copilotkit/web-inspector`, `@copilotkit/a2ui-renderer`, `@copilotkit/react-textarea`, `@copilotkit/sqlite-runner`, and `@copilotkit/agentcore-runner`.