This PR was opened by the [Changesets release](https://github.com/changesets/action) GitHub action. When you're ready to do a release, you can merge this and the packages will be published to npm automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to main, this PR will be updated. # Releases ## @langchain/angular@1.0.0 ### Major Changes - [#2314](https://github.com/langchain-ai/langgraphjs/pull/2314) [`085a07f`](https://github.com/langchain-ai/langgraphjs/commit/085a07f569b6d7d79728eb7eb6eb3a0c67fcdefb) Thanks [@christian-bromann](https://github.com/christian-bromann)! - Add the Angular event streaming integration. Angular applications can now build on the shared event streaming runtime with `useStream`, `injectStream`, `StreamService`, `provideStream`, `provideStreamDefaults`, `injectProjection`, and selector helpers for messages, values, tool calls, custom channels, extensions, media, message metadata, and submission queues. The integration supports thread switching, run submission, reattachment, interrupts, WebSocket and SSE/custom transports, headless tools, subgraphs, subagents, and typed event projections. This release also adds Angular-specific media helpers, including `injectMediaUrl` and selectors for audio, images, video, and files. The package now exports the shared stream, media, transport, headless-tool, and type inference types needed to compose strongly typed streaming UIs. The documentation has been refreshed with guides for dependency injection, `injectStream`, selectors, transports, custom transports, interrupts, submission queues, headless tools, subagents/subgraphs, type safety, testing, and migration from the previous SDK surface. ### Patch Changes - Updated dependencies \[[`085a07f`](https://github.com/langchain-ai/langgraphjs/commit/085a07f569b6d7d79728eb7eb6eb3a0c67fcdefb), [`d1e2fda`](https://github.com/langchain-ai/langgraphjs/commit/d1e2fda1b1165e122362780a62ab8d2ebff9f9b9)]: - @langchain/langgraph-sdk@1.9.0 ## @langchain/react@1.0.0 ### Major Changes - [#2314](https://github.com/langchain-ai/langgraphjs/pull/2314) [`085a07f`](https://github.com/langchain-ai/langgraphjs/commit/085a07f569b6d7d79728eb7eb6eb3a0c67fcdefb) Thanks [@christian-bromann](https://github.com/christian-bromann)! - Add the React event streaming integration. React applications can now use the shared event streaming runtime through `useStream`, `useProjection`, `useSuspenseStream`, `StreamProvider`, and focused selector hooks for messages, values, tool calls, custom channels, extensions, media, message metadata, and submission queues. The new integration supports thread-scoped runs, reattachment, interrupts, WebSocket and SSE/custom transports, headless tools, subgraphs, subagents, typed stream extensions, and strongly typed state/tool-call inference. This release also adds media helpers for streaming UI experiences, including `useMediaURL`, `useAudioPlayer`, and `useVideoPlayer`, plus selectors for audio, images, video, and files. Shared transport, media, protocol event, message metadata, and discovery types are exported from the package so React components can compose richer streaming interfaces without deep imports. The package documentation and tests have been expanded around custom transports, selectors, interrupts, multimodal streaming, suspense, submission queues, headless tools, subagents, type safety, and migration from the previous streaming API. ### Patch Changes - Updated dependencies \[[`085a07f`](https://github.com/langchain-ai/langgraphjs/commit/085a07f569b6d7d79728eb7eb6eb3a0c67fcdefb), [`d1e2fda`](https://github.com/langchain-ai/langgraphjs/commit/d1e2fda1b1165e122362780a62ab8d2ebff9f9b9)]: - @langchain/langgraph-sdk@1.9.0 ## @langchain/svelte@1.0.0 ### Major Changes - [#2314](https://github.com/langchain-ai/langgraphjs/pull/2314) [`085a07f`](https://github.com/langchain-ai/langgraphjs/commit/085a07f569b6d7d79728eb7eb6eb3a0c67fcdefb) Thanks [@christian-bromann](https://github.com/christian-bromann)! - Add the Svelte event streaming integration. Svelte applications can now use the shared event streaming runtime through `useStream`, `useProjection`, context helpers, and selector runes for messages, values, tool calls, custom channels, extensions, media, message metadata, and submission queues. The integration supports thread-scoped runs, reattachment, interrupts, WebSocket and SSE/custom transports, headless tools, subgraphs, subagents, typed stream extensions, and strongly typed state/tool-call inference. This release also adds Svelte media helpers, including `useMediaURL`, `useAudioPlayer`, and `useVideoPlayer`, plus selectors for audio, images, video, and files. Shared transport, media, protocol event, message metadata, and discovery types are exported from the package so Svelte components can compose streaming interfaces without deep imports. The package now includes focused documentation and tests for context, custom transports, selectors, interrupts, hydration, submission queues, subscriptions, headless tools, subagents, type safety, and migration from the previous streaming API. ### Patch Changes - Updated dependencies \[[`085a07f`](https://github.com/langchain-ai/langgraphjs/commit/085a07f569b6d7d79728eb7eb6eb3a0c67fcdefb), [`d1e2fda`](https://github.com/langchain-ai/langgraphjs/commit/d1e2fda1b1165e122362780a62ab8d2ebff9f9b9)]: - @langchain/langgraph-sdk@1.9.0 ## @langchain/vue@1.0.0 ### Major Changes - [#2314](https://github.com/langchain-ai/langgraphjs/pull/2314) [`085a07f`](https://github.com/langchain-ai/langgraphjs/commit/085a07f569b6d7d79728eb7eb6eb3a0c67fcdefb) Thanks [@christian-bromann](https://github.com/christian-bromann)! - Add the Vue event streaming integration. Vue applications can now use the shared event streaming runtime through `useStream`, `useProjection`, `provideStream`, `useStreamContext`, and selector composables for messages, values, tool calls, custom channels, extensions, media, message metadata, and submission queues. The integration supports thread-scoped runs, reattachment, interrupts, WebSocket and SSE/custom transports, headless tools, subgraphs, subagents, typed stream extensions, and strongly typed state/tool-call inference. This release also adds Vue media helpers, including `useMediaURL`, `useAudioPlayer`, and `useVideoPlayer`, plus selectors for audio, images, video, and files. Shared transport, media, protocol event, message metadata, and discovery types are exported from the package so Vue components can build rich streaming UIs without deep imports. The package documentation and tests now cover API usage, custom transports, forking, interrupts, multimodal streaming, selectors, shared streams, subagents, suspense, submission queues, transports, type safety, and migration from the previous streaming API. ### Patch Changes - Updated dependencies \[[`085a07f`](https://github.com/langchain-ai/langgraphjs/commit/085a07f569b6d7d79728eb7eb6eb3a0c67fcdefb), [`d1e2fda`](https://github.com/langchain-ai/langgraphjs/commit/d1e2fda1b1165e122362780a62ab8d2ebff9f9b9)]: - @langchain/langgraph-sdk@1.9.0 ## @langchain/langgraph-api@1.2.0 ### Minor Changes - [#2314](https://github.com/langchain-ai/langgraphjs/pull/2314) [`085a07f`](https://github.com/langchain-ai/langgraphjs/commit/085a07f569b6d7d79728eb7eb6eb3a0c67fcdefb) Thanks [@christian-bromann](https://github.com/christian-bromann)! - Add the thread-scoped event streaming protocol used by the new SDK streaming clients. This release adds protocol routes for WebSocket and SSE/HTTP streaming, including thread-local command handling, filtered subscriptions, event replay, state inspection, checkpoint listing/forking, interrupt input, agent tree queries, and run start/resume commands. Stream events are normalized into the canonical protocol shape with ordered sequence IDs so clients can safely dedupe, resume subscriptions, and coordinate multiple projections from the same run. The experimental embed server now supports the same protocol flow, so embedded graphs can serve the new SDK transports without standing up a separate LangGraph API deployment. The server also gains protocol session tests and fixture graphs covering deep agents, interrupts, subgraphs, and SDK transport behavior. ### Patch Changes - Updated dependencies \[]: - @langchain/langgraph-ui@1.2.0 ## @langchain/langgraph@1.3.0 ### Minor Changes - [#2314](https://github.com/langchain-ai/langgraphjs/pull/2314) [`085a07f`](https://github.com/langchain-ai/langgraphjs/commit/085a07f569b6d7d79728eb7eb6eb3a0c67fcdefb) Thanks [@christian-bromann](https://github.com/christian-bromann)! - Add the in-process event streaming runtime behind `streamEvents`. LangGraph now exposes the core primitives for event-based streaming, including `StreamChannel`, `StreamMux`, `GraphRunStream`, `SubgraphRunStream`, native stream transformers, and protocol event conversion utilities. These APIs let graphs emit ordered protocol events, derive additional projections, expose custom stream channels, and bridge in-process runs to remote SDK clients. The runtime includes built-in transformers for messages, values, lifecycle events, and subgraph discovery. It also adds support for transformer registration during graph execution, forwarding remote `StreamChannel` output, subgraph-aware event routing, event log multiplexing, and checkpoint-aware values streams. This release also expands test coverage across Pregel streaming, event conversion, stream muxing, stream channels, run streams, lifecycle transformers, subgraph transformers, and type-level streaming behavior. ### Patch Changes - Updated dependencies \[[`085a07f`](https://github.com/langchain-ai/langgraphjs/commit/085a07f569b6d7d79728eb7eb6eb3a0c67fcdefb), [`085a07f`](https://github.com/langchain-ai/langgraphjs/commit/085a07f569b6d7d79728eb7eb6eb3a0c67fcdefb), [`d1e2fda`](https://github.com/langchain-ai/langgraphjs/commit/d1e2fda1b1165e122362780a62ab8d2ebff9f9b9)]: - @langchain/langgraph-checkpoint@1.0.2 - @langchain/langgraph-sdk@1.9.0 ## @langchain/langgraph-sdk@1.9.0 ### Minor Changes - [#2314](https://github.com/langchain-ai/langgraphjs/pull/2314) [`085a07f`](https://github.com/langchain-ai/langgraphjs/commit/085a07f569b6d7d79728eb7eb6eb3a0c67fcdefb) Thanks [@christian-bromann](https://github.com/christian-bromann)! - Add the framework-agnostic event streaming SDK. The SDK now includes a thread-focused streaming client built around `ThreadStream`, `SubscriptionHandle`, message assembly, media assembly, typed stream extensions, and pluggable protocol transports. Applications can stream over SSE or WebSocket, provide custom agent-server adapters, subscribe to values/messages/tools/custom/lifecycle/checkpoint channels, inspect and fork state, respond to interrupts, and replay or dedupe ordered event streams. This release also adds the reusable stream runtime used by the React, Vue, Svelte, and Angular packages: `StreamController`, `StreamStore`, `ChannelRegistry`, projection factories, subagent/subgraph discovery, submission queue coordination, message metadata tracking, root message projection, media projections, and helper types for agent/deep-agent state and tool-call inference. The client package has been reorganized into focused modules for assistants, threads, runs, store, protocol streaming, transports, media, messages, and UI helpers. New SDK documentation covers configuration, assistants, threads, runs, store, streaming, transports, extensions, interrupts, messages, media, subagents, and subgraphs. ### Patch Changes - [#2363](https://github.com/langchain-ai/langgraphjs/pull/2363) [`d1e2fda`](https://github.com/langchain-ai/langgraphjs/commit/d1e2fda1b1165e122362780a62ab8d2ebff9f9b9) Thanks [@cwlbraa](https://github.com/cwlbraa)! - Add a `returnMinimal` option to `threads.update`. ## @langchain/langgraph-checkpoint@1.0.2 ### Patch Changes - [#2314](https://github.com/langchain-ai/langgraphjs/pull/2314) [`085a07f`](https://github.com/langchain-ai/langgraphjs/commit/085a07f569b6d7d79728eb7eb6eb3a0c67fcdefb) Thanks [@christian-bromann](https://github.com/christian-bromann)! - Improve `MemorySaver` diagnostics when checkpoint writes are missing a `thread_id`. The in-memory checkpointer now explains why `configurable.thread_id` is required and includes a concrete `graph.stream(..., { configurable: { thread_id } })` example in the error message. This makes the new thread-oriented event streaming flows easier to debug when an application forgets to provide durable thread configuration. ## @langchain/langgraph-cli@1.2.0 ### Patch Changes - Updated dependencies \[[`085a07f`](https://github.com/langchain-ai/langgraphjs/commit/085a07f569b6d7d79728eb7eb6eb3a0c67fcdefb)]: - @langchain/langgraph-api@1.2.0 ## @langchain/langgraph-ui@1.2.0 ## @example/ai-elements@0.1.15 ### Patch Changes - Updated dependencies \[[`085a07f`](https://github.com/langchain-ai/langgraphjs/commit/085a07f569b6d7d79728eb7eb6eb3a0c67fcdefb), [`085a07f`](https://github.com/langchain-ai/langgraphjs/commit/085a07f569b6d7d79728eb7eb6eb3a0c67fcdefb)]: - @langchain/langgraph@1.3.0 - @langchain/react@1.0.0 ## @examples/assistant-ui-claude@0.1.15 ### Patch Changes - Updated dependencies \[[`085a07f`](https://github.com/langchain-ai/langgraphjs/commit/085a07f569b6d7d79728eb7eb6eb3a0c67fcdefb), [`085a07f`](https://github.com/langchain-ai/langgraphjs/commit/085a07f569b6d7d79728eb7eb6eb3a0c67fcdefb)]: - @langchain/langgraph@1.3.0 - @langchain/react@1.0.0 ## @examples/ui-angular@0.0.25 ### Patch Changes - Updated dependencies \[[`085a07f`](https://github.com/langchain-ai/langgraphjs/commit/085a07f569b6d7d79728eb7eb6eb3a0c67fcdefb), [`085a07f`](https://github.com/langchain-ai/langgraphjs/commit/085a07f569b6d7d79728eb7eb6eb3a0c67fcdefb), [`085a07f`](https://github.com/langchain-ai/langgraphjs/commit/085a07f569b6d7d79728eb7eb6eb3a0c67fcdefb), [`d1e2fda`](https://github.com/langchain-ai/langgraphjs/commit/d1e2fda1b1165e122362780a62ab8d2ebff9f9b9)]: - @langchain/langgraph@1.3.0 - @langchain/langgraph-sdk@1.9.0 - @langchain/angular@1.0.0 ## @examples/ui-multimodal@0.0.1 ### Patch Changes - Updated dependencies \[[`085a07f`](https://github.com/langchain-ai/langgraphjs/commit/085a07f569b6d7d79728eb7eb6eb3a0c67fcdefb), [`085a07f`](https://github.com/langchain-ai/langgraphjs/commit/085a07f569b6d7d79728eb7eb6eb3a0c67fcdefb)]: - @langchain/langgraph@1.3.0 - @langchain/react@1.0.0 ## @examples/ui-react@0.0.1 ### Patch Changes - Updated dependencies \[[`085a07f`](https://github.com/langchain-ai/langgraphjs/commit/085a07f569b6d7d79728eb7eb6eb3a0c67fcdefb), [`085a07f`](https://github.com/langchain-ai/langgraphjs/commit/085a07f569b6d7d79728eb7eb6eb3a0c67fcdefb), [`085a07f`](https://github.com/langchain-ai/langgraphjs/commit/085a07f569b6d7d79728eb7eb6eb3a0c67fcdefb), [`d1e2fda`](https://github.com/langchain-ai/langgraphjs/commit/d1e2fda1b1165e122362780a62ab8d2ebff9f9b9)]: - @langchain/langgraph@1.3.0 - @langchain/langgraph-sdk@1.9.0 - @langchain/react@1.0.0 ## langgraph@1.0.32 ### Patch Changes - Updated dependencies \[[`085a07f`](https://github.com/langchain-ai/langgraphjs/commit/085a07f569b6d7d79728eb7eb6eb3a0c67fcdefb)]: - @langchain/langgraph@1.3.0 --------- Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: Hunter Lovell <hunter@hntrl.io>
AI Elements — Tool-Calling Agent Example
A self-contained chat interface built with AI Elements components and @langchain/react. It demonstrates how to build a production-quality agentic UI using AI Elements' composable component library.
What it shows
- Tool call rendering — each tool invocation is displayed with
Tool+ToolHeader+ToolContent+ToolInput+ToolOutput, updating live as the agent streams tool input and then the result. - Reasoning display — when the model emits reasoning tokens, a collapsible
Reasoningblock auto-opens during streaming and collapses when done. - Streaming messages —
Message+MessageContent+MessageResponserenders streaming markdown via Streamdown with full GFM support. - Loading skeleton — a
Shimmerplaceholder appears between the user's message and the first assistant token. - Conversation scroll —
Conversation+ConversationContent+ConversationScrollButtonauto-scrolls and shows a jump-to-bottom button when you scroll up. - Message actions —
MessageActions+MessageActionwith a copy button appears below the last assistant message once streaming completes. - Prompt input —
PromptInput+PromptInputBody+PromptInputTextarea+PromptInputFooter+PromptInputSubmitprovides a full-featured input bar. - Suggestions —
Suggestions+Suggestionshows preset prompts before the first message.
Agent
The backing LangGraph agent (packages/agents/src/agents/ai-elements.ts) is a createReactAgent with two simulated tools:
| Tool | Description |
|---|---|
get_weather |
Returns deterministic simulated weather data for any city |
web_search |
Returns three simulated search result objects for any query |
No external API keys are required for the tools.
Setup
Create a .env file in this folder (optional — defaults are provided):
VITE_LANGGRAPH_API_URL=http://localhost:2024 # default when running locally
VITE_LANGGRAPH_ASSISTANT_ID=ai_elements # matches langgraph.json
Run
Start the LangGraph agent server first:
bun run dev --filter=@langchain/playground-agents
Then start this preview app:
bun run dev --filter=@langchain/playground-preview-ai-elements
Open http://localhost:4600.
AI Elements components used
| Component | Source file |
|---|---|
Conversation, ConversationContent, ConversationScrollButton |
src/components/ai-elements/conversation.tsx |
Message, MessageContent, MessageResponse, MessageActions, MessageAction |
src/components/ai-elements/message.tsx |
PromptInput, PromptInputBody, PromptInputTextarea, PromptInputFooter, PromptInputSubmit |
src/components/ai-elements/prompt-input.tsx |
Tool, ToolHeader, ToolContent, ToolInput, ToolOutput |
src/components/ai-elements/tool.tsx |
Reasoning, ReasoningTrigger, ReasoningContent |
src/components/ai-elements/reasoning.tsx |
Suggestions, Suggestion |
src/components/ai-elements/suggestion.tsx |
Shimmer |
src/components/ai-elements/shimmer.tsx |
Components live in src/components/ai-elements/ and are owned by this package (shadcn/AI Elements registry style — copy-paste, not a node_modules import).
Vite path alias
AI Elements components use bare src/ imports (e.g. import { cn } from "src/lib/utils"). The vite.config.ts maps src → ./src to resolve these correctly in both dev and production builds.