Files
langgraphjs/examples/ai-elements
github-actions[bot] 28fbf1dc4e chore: version packages (#2490)
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/langgraph@1.3.5

### Patch Changes

- [#2489](https://github.com/langchain-ai/langgraphjs/pull/2489)
[`e3a1933`](https://github.com/langchain-ai/langgraphjs/commit/e3a1933a8825a515d847b38b24a0743f4d418646)
Thanks [@christian-bromann](https://github.com/christian-bromann)! -
fix(core): keep stream chunks as three-element tuples

    Emit lightweight checkpoint envelopes as separate
`[namespace, "checkpoints", envelope]` chunks before paired `values`
chunks.
    Public `stream()` always yields `[namespace, mode, payload]`; the v3
    protocol path surfaces envelopes via `convertToProtocolEvent`.

- Updated dependencies
\[[`244c24e`](https://github.com/langchain-ai/langgraphjs/commit/244c24eaccff4009df7d83e4320e51a4b310b15f)]:
    -   @langchain/langgraph-sdk@1.9.16

## @langchain/langgraph-sdk@1.9.16

### Patch Changes

- [#2486](https://github.com/langchain-ai/langgraphjs/pull/2486)
[`244c24e`](https://github.com/langchain-ai/langgraphjs/commit/244c24eaccff4009df7d83e4320e51a4b310b15f)
Thanks [@christian-bromann](https://github.com/christian-bromann)! -
fix(sdk): surface resumed run failures on stream.error

Route `respond()` and `respondAll()` through a coordinator dispatch path
that
writes the reactive `rootStore.error` slot when a resumed run reaches a
failed
terminal or when `input.respond` dispatch fails, matching submit()
behavior so
framework consumers (e.g. API-key retry UIs) observe resume failures via
    `stream.error` instead of only `isLoading` transitions.

## @langchain/angular@1.0.16

### Patch Changes

- Updated dependencies
\[[`244c24e`](https://github.com/langchain-ai/langgraphjs/commit/244c24eaccff4009df7d83e4320e51a4b310b15f)]:
    -   @langchain/langgraph-sdk@1.9.16

## @langchain/react@1.0.16

### Patch Changes

- Updated dependencies
\[[`244c24e`](https://github.com/langchain-ai/langgraphjs/commit/244c24eaccff4009df7d83e4320e51a4b310b15f)]:
    -   @langchain/langgraph-sdk@1.9.16

## @langchain/svelte@1.0.16

### Patch Changes

- Updated dependencies
\[[`244c24e`](https://github.com/langchain-ai/langgraphjs/commit/244c24eaccff4009df7d83e4320e51a4b310b15f)]:
    -   @langchain/langgraph-sdk@1.9.16

## @langchain/vue@1.0.16

### Patch Changes

- Updated dependencies
\[[`244c24e`](https://github.com/langchain-ai/langgraphjs/commit/244c24eaccff4009df7d83e4320e51a4b310b15f)]:
    -   @langchain/langgraph-sdk@1.9.16

## @example/ai-elements@0.1.31

### Patch Changes

- Updated dependencies
\[[`e3a1933`](https://github.com/langchain-ai/langgraphjs/commit/e3a1933a8825a515d847b38b24a0743f4d418646)]:
    -   @langchain/langgraph@1.3.5
    -   @langchain/react@1.0.16

## @examples/assistant-ui-claude@0.1.31

### Patch Changes

- Updated dependencies
\[[`e3a1933`](https://github.com/langchain-ai/langgraphjs/commit/e3a1933a8825a515d847b38b24a0743f4d418646)]:
    -   @langchain/langgraph@1.3.5
    -   @langchain/react@1.0.16

## @examples/ui-angular@0.0.41

### Patch Changes

- Updated dependencies
\[[`244c24e`](https://github.com/langchain-ai/langgraphjs/commit/244c24eaccff4009df7d83e4320e51a4b310b15f),
[`e3a1933`](https://github.com/langchain-ai/langgraphjs/commit/e3a1933a8825a515d847b38b24a0743f4d418646)]:
    -   @langchain/langgraph-sdk@1.9.16
    -   @langchain/langgraph@1.3.5
    -   @langchain/angular@1.0.16

## @examples/ui-multimodal@0.0.17

### Patch Changes

- Updated dependencies
\[[`e3a1933`](https://github.com/langchain-ai/langgraphjs/commit/e3a1933a8825a515d847b38b24a0743f4d418646)]:
    -   @langchain/langgraph@1.3.5
    -   @langchain/react@1.0.16

## @examples/ui-react@0.0.17

### Patch Changes

- Updated dependencies
\[[`244c24e`](https://github.com/langchain-ai/langgraphjs/commit/244c24eaccff4009df7d83e4320e51a4b310b15f),
[`e3a1933`](https://github.com/langchain-ai/langgraphjs/commit/e3a1933a8825a515d847b38b24a0743f4d418646)]:
    -   @langchain/langgraph-sdk@1.9.16
    -   @langchain/langgraph@1.3.5
    -   @langchain/react@1.0.16

## langgraph@1.0.37

### Patch Changes

- Updated dependencies
\[[`e3a1933`](https://github.com/langchain-ai/langgraphjs/commit/e3a1933a8825a515d847b38b24a0743f4d418646)]:
    -   @langchain/langgraph@1.3.5

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-06-04 14:25:44 -07:00
..
2026-06-04 14:25:44 -07:00
2026-06-04 14:25:44 -07:00

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 Reasoning block auto-opens during streaming and collapses when done.
  • Streaming messagesMessage + MessageContent + MessageResponse renders streaming markdown via Streamdown with full GFM support.
  • Loading skeleton — a Shimmer placeholder appears between the user's message and the first assistant token.
  • Conversation scrollConversation + ConversationContent + ConversationScrollButton auto-scrolls and shows a jump-to-bottom button when you scroll up.
  • Message actionsMessageActions + MessageAction with a copy button appears below the last assistant message once streaming completes.
  • Prompt inputPromptInput + PromptInputBody + PromptInputTextarea + PromptInputFooter + PromptInputSubmit provides a full-featured input bar.
  • SuggestionsSuggestions + Suggestion shows 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.