Files
langgraphjs/libs/sdk-vue
github-actions[bot] 659d628d19 chore: version packages (#2704)
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.4.11

### Patch Changes

- [#2706](https://github.com/langchain-ai/langgraphjs/pull/2706)
[`eaa5472`](https://github.com/langchain-ai/langgraphjs/commit/eaa5472fa480fad2671659d1c9ed0686a55d42bd)
Thanks [@zduric-langchain](https://github.com/zduric-langchain)! -
fix(langgraph): dedupe merged callback handlers by identity

`mergeCallbacks` concatenated `handlers` and `inheritableHandlers` while
deduping `tags`, so a handler inherited by both the ambient and the
explicit
config picked up an extra registration at every graph boundary. With
tracing
  on, a nested `streamMode: "messages"` run delivered every token twice.

- Updated dependencies
[[`3ce9f8d`](https://github.com/langchain-ai/langgraphjs/commit/3ce9f8d11dd64b1d091a25162603c49e6f4a426f),
[`51b4202`](https://github.com/langchain-ai/langgraphjs/commit/51b42020f7c730a15193aa907056881e3d961924),
[`a86f813`](https://github.com/langchain-ai/langgraphjs/commit/a86f813954e010fbf30711c37baa5c53444613d5)]:
  - @langchain/langgraph-sdk@1.9.30
## @langchain/langgraph-sdk@1.9.30

### Patch Changes

- [#2691](https://github.com/langchain-ai/langgraphjs/pull/2691)
[`3ce9f8d`](https://github.com/langchain-ai/langgraphjs/commit/3ce9f8d11dd64b1d091a25162603c49e6f4a426f)
Thanks [@christian-bromann](https://github.com/christian-bromann)! -
fix(sdk): clear messages on hydrate(null) with a pending interrupt

  Teardown awaited the paused root pump, so threadId went null while
  the old conversation stayed on screen. Reset the snapshot first.

- [#2703](https://github.com/langchain-ai/langgraphjs/pull/2703)
[`51b4202`](https://github.com/langchain-ai/langgraphjs/commit/51b42020f7c730a15193aa907056881e3d961924)
Thanks [@christian-bromann](https://github.com/christian-bromann)! -
fix(sdk): keep isLoading true across interrupt→running hydration

Deferred terminal resets no longer clear isLoading when a newer running
lifecycle has already arrived (HITL resume / SSE replay).

- [#2692](https://github.com/langchain-ai/langgraphjs/pull/2692)
[`a86f813`](https://github.com/langchain-ai/langgraphjs/commit/a86f813954e010fbf30711c37baa5c53444613d5)
Thanks [@christian-bromann](https://github.com/christian-bromann)! -
fix(sdk): adopt server metadata on same-id optimistic message echo

  When a `values` snapshot echoes an optimistic human with the same
  content plus committed `additional_kwargs` (e.g. attachment paths),
  `stream.messages` now takes the server copy instead of keeping the
  plain optimistic message until hydration. Preferring is asymmetric:
  lagging or poorer values snapshots do not strip richer current
  metadata. In-flight AI token streaming is unchanged: streamed content
  still wins when it has moved past the snapshot.
## @langchain/angular@1.0.31

### Patch Changes

- Updated dependencies
[[`3ce9f8d`](https://github.com/langchain-ai/langgraphjs/commit/3ce9f8d11dd64b1d091a25162603c49e6f4a426f),
[`51b4202`](https://github.com/langchain-ai/langgraphjs/commit/51b42020f7c730a15193aa907056881e3d961924),
[`a86f813`](https://github.com/langchain-ai/langgraphjs/commit/a86f813954e010fbf30711c37baa5c53444613d5)]:
  - @langchain/langgraph-sdk@1.9.30
## @langchain/react@1.0.31

### Patch Changes

- Updated dependencies
[[`3ce9f8d`](https://github.com/langchain-ai/langgraphjs/commit/3ce9f8d11dd64b1d091a25162603c49e6f4a426f),
[`51b4202`](https://github.com/langchain-ai/langgraphjs/commit/51b42020f7c730a15193aa907056881e3d961924),
[`a86f813`](https://github.com/langchain-ai/langgraphjs/commit/a86f813954e010fbf30711c37baa5c53444613d5)]:
  - @langchain/langgraph-sdk@1.9.30
## @langchain/svelte@1.0.31

### Patch Changes

- Updated dependencies
[[`3ce9f8d`](https://github.com/langchain-ai/langgraphjs/commit/3ce9f8d11dd64b1d091a25162603c49e6f4a426f),
[`51b4202`](https://github.com/langchain-ai/langgraphjs/commit/51b42020f7c730a15193aa907056881e3d961924),
[`a86f813`](https://github.com/langchain-ai/langgraphjs/commit/a86f813954e010fbf30711c37baa5c53444613d5)]:
  - @langchain/langgraph-sdk@1.9.30
## @langchain/vue@1.0.31

### Patch Changes

- Updated dependencies
[[`3ce9f8d`](https://github.com/langchain-ai/langgraphjs/commit/3ce9f8d11dd64b1d091a25162603c49e6f4a426f),
[`51b4202`](https://github.com/langchain-ai/langgraphjs/commit/51b42020f7c730a15193aa907056881e3d961924),
[`a86f813`](https://github.com/langchain-ai/langgraphjs/commit/a86f813954e010fbf30711c37baa5c53444613d5)]:
  - @langchain/langgraph-sdk@1.9.30

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-08-19 12:36:59 -07:00
..
2026-08-19 12:36:59 -07:00
2026-08-19 12:36:59 -07:00

@langchain/vue

Vue SDK for building AI-powered applications with Deep Agents, LangChain and LangGraph.

The package ships a Composition-APIfirst binding built on top of the v2 streaming protocol. useStream returns a small, always-on root handle (values, messages, isLoading, error, …) and pushes anything namespaced (subagents, subgraphs, media, submission queue, per-message metadata) behind ref-counted use* selectors so components only pay for the data they actually consume.

Upgrading from 0.x? See docs/v1-migration.md for the complete matrix of option, return-shape, and transport changes.

Highlights

  • v2-native streaming protocol. Session-based transport with automatic re-attach on remount — no reconnectOnMount / joinStream dance.
  • Composition-API first. Everything is a ShallowRef / ComputedRef, auto-disposed via onScopeDispose when the scope unmounts.
  • Selector-based subscriptions. Namespaced data (subagents, subgraphs, media) streams only when a component actually mounts the matching selector composable, and releases on unmount.
  • Discriminated transports. Hosted Agent Server and custom adapters are two arms of a single typed union — mixing them is a compile-time error.
  • Agent-brand type inference. useStream<typeof agent>() unwraps state, tool calls, and subagent state maps from an agent brand.
  • Multimodal media streams. Built-in assembly for audio, images, video, and files, with ready-to-use <img> / <audio> / <video> players.
  • <Suspense> friendly. hydrationPromise lets you gate async setup() on initial hydration.

Installation

npm install @langchain/vue @langchain/core

Peer dependencies: vue (^3.4.0), @langchain/core (^1.0.1).

Quick start

<script setup lang="ts">
import { useStream } from "@langchain/vue";

const stream = useStream({
  assistantId: "agent",
  apiUrl: "http://localhost:2024",
});

function onSubmit() {
  void stream.submit({ messages: [{ type: "human", content: "Hello!" }] });
}
</script>

<template>
  <div>
    <div v-for="(msg, i) in stream.messages" :key="msg.id ?? i">
      {{ typeof msg.content === "string" ? msg.content : JSON.stringify(msg.content) }}
    </div>

    <button :disabled="stream.isLoading" @click="onSubmit">
      Send
    </button>
  </div>
</template>

Reactive fields on the handle are Vue refs (ShallowRef / ComputedRef). In <script setup>, read them with .value: stream.messages.value, stream.isLoading.value. In <template>, Vue auto-unwraps refs, so prefer the shorter stream.messages / stream.isLoading form.

Documentation

In-depth guides live in docs/:

Playground

For complete end-to-end examples with full agentic UIs, visit the LangChain UI Playground.

License

MIT