Files
langgraphjs/libs/sdk-svelte
github-actions[bot] 3dccad1391 chore: version packages (#2603)
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-api@1.4.3

### Patch Changes

- Updated dependencies []:
  - @langchain/langgraph-ui@1.4.3
## @langchain/langgraph-cli@1.4.3

### Patch Changes

- [#2595](https://github.com/langchain-ai/langgraphjs/pull/2595)
[`dac8c2f`](https://github.com/langchain-ai/langgraphjs/commit/dac8c2fa7edfd643aa393a1d6407759b6cd8acf4)
Thanks [@christian-bromann](https://github.com/christian-bromann)! -
chore: bump langsmith to ^0.8.0

- Updated dependencies []:
  - @langchain/langgraph-api@1.4.3
## @langchain/langgraph@1.4.8

### Patch Changes

- [#2604](https://github.com/langchain-ai/langgraphjs/pull/2604)
[`42ec394`](https://github.com/langchain-ai/langgraphjs/commit/42ec39460bfe0c3be017fb043c668c3204c8a175)
Thanks [@hntrl](https://github.com/hntrl)! - fix(pregel): wait for
completed-superstep persistence with sync durability

- Updated dependencies
[[`f326b89`](https://github.com/langchain-ai/langgraphjs/commit/f326b89365043bfa846e0b428564bcafafab4aaa),
[`c201256`](https://github.com/langchain-ai/langgraphjs/commit/c201256b27d55c9aa333d3d15f6ec16c2fd7de9b)]:
  - @langchain/langgraph-sdk@1.9.26
## @langchain/langgraph-sdk@1.9.26

### Patch Changes

- [#2605](https://github.com/langchain-ai/langgraphjs/pull/2605)
[`f326b89`](https://github.com/langchain-ai/langgraphjs/commit/f326b89365043bfa846e0b428564bcafafab4aaa)
Thanks [@christian-bromann](https://github.com/christian-bromann)! -
fix(sdk): keep SSE reconnect enabled with custom fetch

Auth/proxy fetch shims previously forced `maxReconnectAttempts: 0`, so
HITL waits that lost `/stream/events` (e.g. `ERR_QUIC_PROTOCOL_ERROR`)
never recovered and left `respond()`/`submit()` spinning. Fail-fast test
mocks should pass `maxReconnectAttempts: 0` explicitly. Also plumbs
reconnect options through framework `useStream` bindings.

- [#2602](https://github.com/langchain-ai/langgraphjs/pull/2602)
[`c201256`](https://github.com/langchain-ai/langgraphjs/commit/c201256b27d55c9aa333d3d15f6ec16c2fd7de9b)
Thanks [@HugoDurand](https://github.com/HugoDurand)! - fix(sdk): support
clearing a cron's end time via `crons.update(cronId, { endTime: null })`

`CronsClient.update` now accepts `endTime: null` to clear a previously
set cron end time; omitting `endTime` still leaves it unchanged. The
field was typed `string`, so callers could not express "clear" even
though the request already forwards an explicit `null`.
## @langchain/angular@1.0.27

### Patch Changes

- [#2605](https://github.com/langchain-ai/langgraphjs/pull/2605)
[`f326b89`](https://github.com/langchain-ai/langgraphjs/commit/f326b89365043bfa846e0b428564bcafafab4aaa)
Thanks [@christian-bromann](https://github.com/christian-bromann)! -
fix(sdk): keep SSE reconnect enabled with custom fetch

Auth/proxy fetch shims previously forced `maxReconnectAttempts: 0`, so
HITL waits that lost `/stream/events` (e.g. `ERR_QUIC_PROTOCOL_ERROR`)
never recovered and left `respond()`/`submit()` spinning. Fail-fast test
mocks should pass `maxReconnectAttempts: 0` explicitly. Also plumbs
reconnect options through framework `useStream` bindings.

- Updated dependencies
[[`f326b89`](https://github.com/langchain-ai/langgraphjs/commit/f326b89365043bfa846e0b428564bcafafab4aaa),
[`c201256`](https://github.com/langchain-ai/langgraphjs/commit/c201256b27d55c9aa333d3d15f6ec16c2fd7de9b)]:
  - @langchain/langgraph-sdk@1.9.26
## @langchain/react@1.0.27

### Patch Changes

- [#2605](https://github.com/langchain-ai/langgraphjs/pull/2605)
[`f326b89`](https://github.com/langchain-ai/langgraphjs/commit/f326b89365043bfa846e0b428564bcafafab4aaa)
Thanks [@christian-bromann](https://github.com/christian-bromann)! -
fix(sdk): keep SSE reconnect enabled with custom fetch

Auth/proxy fetch shims previously forced `maxReconnectAttempts: 0`, so
HITL waits that lost `/stream/events` (e.g. `ERR_QUIC_PROTOCOL_ERROR`)
never recovered and left `respond()`/`submit()` spinning. Fail-fast test
mocks should pass `maxReconnectAttempts: 0` explicitly. Also plumbs
reconnect options through framework `useStream` bindings.

- Updated dependencies
[[`f326b89`](https://github.com/langchain-ai/langgraphjs/commit/f326b89365043bfa846e0b428564bcafafab4aaa),
[`c201256`](https://github.com/langchain-ai/langgraphjs/commit/c201256b27d55c9aa333d3d15f6ec16c2fd7de9b)]:
  - @langchain/langgraph-sdk@1.9.26
## @langchain/svelte@1.0.27

### Patch Changes

- [#2605](https://github.com/langchain-ai/langgraphjs/pull/2605)
[`f326b89`](https://github.com/langchain-ai/langgraphjs/commit/f326b89365043bfa846e0b428564bcafafab4aaa)
Thanks [@christian-bromann](https://github.com/christian-bromann)! -
fix(sdk): keep SSE reconnect enabled with custom fetch

Auth/proxy fetch shims previously forced `maxReconnectAttempts: 0`, so
HITL waits that lost `/stream/events` (e.g. `ERR_QUIC_PROTOCOL_ERROR`)
never recovered and left `respond()`/`submit()` spinning. Fail-fast test
mocks should pass `maxReconnectAttempts: 0` explicitly. Also plumbs
reconnect options through framework `useStream` bindings.

- Updated dependencies
[[`f326b89`](https://github.com/langchain-ai/langgraphjs/commit/f326b89365043bfa846e0b428564bcafafab4aaa),
[`c201256`](https://github.com/langchain-ai/langgraphjs/commit/c201256b27d55c9aa333d3d15f6ec16c2fd7de9b)]:
  - @langchain/langgraph-sdk@1.9.26
## @langchain/vue@1.0.27

### Patch Changes

- [#2605](https://github.com/langchain-ai/langgraphjs/pull/2605)
[`f326b89`](https://github.com/langchain-ai/langgraphjs/commit/f326b89365043bfa846e0b428564bcafafab4aaa)
Thanks [@christian-bromann](https://github.com/christian-bromann)! -
fix(sdk): keep SSE reconnect enabled with custom fetch

Auth/proxy fetch shims previously forced `maxReconnectAttempts: 0`, so
HITL waits that lost `/stream/events` (e.g. `ERR_QUIC_PROTOCOL_ERROR`)
never recovered and left `respond()`/`submit()` spinning. Fail-fast test
mocks should pass `maxReconnectAttempts: 0` explicitly. Also plumbs
reconnect options through framework `useStream` bindings.

- Updated dependencies
[[`f326b89`](https://github.com/langchain-ai/langgraphjs/commit/f326b89365043bfa846e0b428564bcafafab4aaa),
[`c201256`](https://github.com/langchain-ai/langgraphjs/commit/c201256b27d55c9aa333d3d15f6ec16c2fd7de9b)]:
  - @langchain/langgraph-sdk@1.9.26
## @langchain/langgraph-ui@1.4.3

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-07-14 21:47:29 -07:00
..
2026-07-14 21:47:29 -07:00
2026-07-14 21:47:29 -07:00

@langchain/svelte

Svelte 5 SDK for Deep Agents, LangChain and LangGraph.

useStream binds a LangGraph agent into a Svelte 5 component. Reactive fields are exposed as getters on a stable handle (stream.messages, stream.isLoading, …) so templates and $derived expressions track updates automatically — no stores, no $ prefix, no destructuring.

Installation

npm install @langchain/svelte @langchain/core

Peer dependencies: svelte ^5.0.0, @langchain/core ^1.0.1

Quick start

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

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

{#each stream.messages as msg (msg.id)}
  <div>{msg.content}</div>
{/each}

<button
  disabled={stream.isLoading}
  onclick={() =>
    stream.submit({ messages: [{ type: "human", content: "Hello!" }] })}
>
  Send
</button>

Note: Access fields through the live stream handle. Destructuring (const { messages } = stream) freezes the values at that moment — use stream.messages in templates instead.

Highlights

  • v2-native streaming protocol. Session-based transport with automatic re-attach on remount; no more reconnectOnMount / joinStream dance.
  • Always-on root projections. values, messages, toolCalls, and interrupts are reactive at the root with zero extra subscription cost.
  • Selector composables for scoped data. Per-subagent / per-subgraph messages, tool calls, and media stream only when a component actually mounts the matching composable, and release on unmount.
  • Discriminated option bag. The hosted Agent Server path and the custom-adapter path are two arms of a single typed union — mixing them is a compile-time error.
  • Reactive threadId. Pass threadId: () => active to drive in-place thread swaps without remounting.
  • 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 — plus opinionated playback helpers.
  • Headless tools. Register local tool implementations that auto-resolve server-emitted tool-call interrupts without a round-trip through the UI.

Documentation

In-depth guides live in docs/:

Migrating from v0

@langchain/svelte v1 targets the v2 streaming protocol. The useStream import stays the same, but the option bag, return shape, and how you subscribe to scoped data all change. Most chat apps migrate in well under an hour — the full guide with line-by-line diffs lives in docs/v1-migration.md.

Playground

For full end-to-end examples, see the LangChain UI Playground.

License

MIT