Files
langgraphjs/libs/sdk-svelte
github-actions[bot] 9320c37da2 chore: version packages (#2674)
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-sdk@1.9.29

### Patch Changes

- [#2668](https://github.com/langchain-ai/langgraphjs/pull/2668)
[`f9c0e88`](https://github.com/langchain-ai/langgraphjs/commit/f9c0e885e25149fe614d7d2002c884b80ab54484)
Thanks [@edenbuilds](https://github.com/edenbuilds)! - Always attach the
underlying Response on HTTPError.

- [#2675](https://github.com/langchain-ai/langgraphjs/pull/2675)
[`3958305`](https://github.com/langchain-ai/langgraphjs/commit/3958305d3ee89419abc496f28602cf4b38f2a6b3)
Thanks [@christian-bromann](https://github.com/christian-bromann)! -
fix(sdk): deliver input channel events on the root-bus fast path

`channelProjection` with `replay: false` (the `useChannelEffect`
default) compared `event.method` to channel names, so `input.requested`
never matched `"input"`. Match via `inferChannel` instead, same as the
slow path.

- [#2677](https://github.com/langchain-ai/langgraphjs/pull/2677)
[`4c0fd78`](https://github.com/langchain-ai/langgraphjs/commit/4c0fd78485e1778234ddb56c7579f8d823946f18)
Thanks [@christian-bromann](https://github.com/christian-bromann)! -
fix(sdk): defer stream join until lazy thread create commits

Hydrating an externally-minted thread id that 404s still opened
`/stream/events` before `POST /commands` created the row. On
langgraph_api's in-mem runtime that join is accepted but dead, so the
first run delivered nothing until idle reconnect. Treat missing threads
like client-minted ones and start the root pump only after dispatch
succeeds.

- [#2672](https://github.com/langchain-ai/langgraphjs/pull/2672)
[`5be518f`](https://github.com/langchain-ai/langgraphjs/commit/5be518fe18f2497a28957dfec85522997e6df4f3)
Thanks [@christian-bromann](https://github.com/christian-bromann)! -
fix(sdk): surface nested interrupts on stream.interrupts

`input.requested` events from subgraphs/subagents were dropped live by a
root-only filter, while hydrate seeded them from `state.tasks`, so HITL
UIs saw nested interrupts only after reload. Mirror every namespace onto
`rootStore.interrupts` (with `Interrupt.namespace`), and resolve that
namespace in `respond({ interruptId })` when callers omit it.

- [#2676](https://github.com/langchain-ai/langgraphjs/pull/2676)
[`b3c1ceb`](https://github.com/langchain-ai/langgraphjs/commit/b3c1ceb2cc16dcb15e7a9c1178fe6ddb98e5a93f)
Thanks [@christian-bromann](https://github.com/christian-bromann)! -
fix(sdk): resolve respond() namespace from interrupt id

  When callers pass `{ interruptId }` without `namespace`, look the
  namespace up on `thread.interrupts` instead of defaulting to root.
## @langchain/angular@1.0.30

### Patch Changes

- [#2676](https://github.com/langchain-ai/langgraphjs/pull/2676)
[`b3c1ceb`](https://github.com/langchain-ai/langgraphjs/commit/b3c1ceb2cc16dcb15e7a9c1178fe6ddb98e5a93f)
Thanks [@christian-bromann](https://github.com/christian-bromann)! -
fix(sdk): resolve respond() namespace from interrupt id

  When callers pass `{ interruptId }` without `namespace`, look the
  namespace up on `thread.interrupts` instead of defaulting to root.

- Updated dependencies
[[`f9c0e88`](https://github.com/langchain-ai/langgraphjs/commit/f9c0e885e25149fe614d7d2002c884b80ab54484),
[`3958305`](https://github.com/langchain-ai/langgraphjs/commit/3958305d3ee89419abc496f28602cf4b38f2a6b3),
[`4c0fd78`](https://github.com/langchain-ai/langgraphjs/commit/4c0fd78485e1778234ddb56c7579f8d823946f18),
[`5be518f`](https://github.com/langchain-ai/langgraphjs/commit/5be518fe18f2497a28957dfec85522997e6df4f3),
[`b3c1ceb`](https://github.com/langchain-ai/langgraphjs/commit/b3c1ceb2cc16dcb15e7a9c1178fe6ddb98e5a93f)]:
  - @langchain/langgraph-sdk@1.9.29
## @langchain/react@1.0.30

### Patch Changes

- [#2676](https://github.com/langchain-ai/langgraphjs/pull/2676)
[`b3c1ceb`](https://github.com/langchain-ai/langgraphjs/commit/b3c1ceb2cc16dcb15e7a9c1178fe6ddb98e5a93f)
Thanks [@christian-bromann](https://github.com/christian-bromann)! -
fix(sdk): resolve respond() namespace from interrupt id

  When callers pass `{ interruptId }` without `namespace`, look the
  namespace up on `thread.interrupts` instead of defaulting to root.

- Updated dependencies
[[`f9c0e88`](https://github.com/langchain-ai/langgraphjs/commit/f9c0e885e25149fe614d7d2002c884b80ab54484),
[`3958305`](https://github.com/langchain-ai/langgraphjs/commit/3958305d3ee89419abc496f28602cf4b38f2a6b3),
[`4c0fd78`](https://github.com/langchain-ai/langgraphjs/commit/4c0fd78485e1778234ddb56c7579f8d823946f18),
[`5be518f`](https://github.com/langchain-ai/langgraphjs/commit/5be518fe18f2497a28957dfec85522997e6df4f3),
[`b3c1ceb`](https://github.com/langchain-ai/langgraphjs/commit/b3c1ceb2cc16dcb15e7a9c1178fe6ddb98e5a93f)]:
  - @langchain/langgraph-sdk@1.9.29
## @langchain/svelte@1.0.30

### Patch Changes

- [#2676](https://github.com/langchain-ai/langgraphjs/pull/2676)
[`b3c1ceb`](https://github.com/langchain-ai/langgraphjs/commit/b3c1ceb2cc16dcb15e7a9c1178fe6ddb98e5a93f)
Thanks [@christian-bromann](https://github.com/christian-bromann)! -
fix(sdk): resolve respond() namespace from interrupt id

  When callers pass `{ interruptId }` without `namespace`, look the
  namespace up on `thread.interrupts` instead of defaulting to root.

- Updated dependencies
[[`f9c0e88`](https://github.com/langchain-ai/langgraphjs/commit/f9c0e885e25149fe614d7d2002c884b80ab54484),
[`3958305`](https://github.com/langchain-ai/langgraphjs/commit/3958305d3ee89419abc496f28602cf4b38f2a6b3),
[`4c0fd78`](https://github.com/langchain-ai/langgraphjs/commit/4c0fd78485e1778234ddb56c7579f8d823946f18),
[`5be518f`](https://github.com/langchain-ai/langgraphjs/commit/5be518fe18f2497a28957dfec85522997e6df4f3),
[`b3c1ceb`](https://github.com/langchain-ai/langgraphjs/commit/b3c1ceb2cc16dcb15e7a9c1178fe6ddb98e5a93f)]:
  - @langchain/langgraph-sdk@1.9.29
## @langchain/vue@1.0.30

### Patch Changes

- [#2676](https://github.com/langchain-ai/langgraphjs/pull/2676)
[`b3c1ceb`](https://github.com/langchain-ai/langgraphjs/commit/b3c1ceb2cc16dcb15e7a9c1178fe6ddb98e5a93f)
Thanks [@christian-bromann](https://github.com/christian-bromann)! -
fix(sdk): resolve respond() namespace from interrupt id

  When callers pass `{ interruptId }` without `namespace`, look the
  namespace up on `thread.interrupts` instead of defaulting to root.

- Updated dependencies
[[`f9c0e88`](https://github.com/langchain-ai/langgraphjs/commit/f9c0e885e25149fe614d7d2002c884b80ab54484),
[`3958305`](https://github.com/langchain-ai/langgraphjs/commit/3958305d3ee89419abc496f28602cf4b38f2a6b3),
[`4c0fd78`](https://github.com/langchain-ai/langgraphjs/commit/4c0fd78485e1778234ddb56c7579f8d823946f18),
[`5be518f`](https://github.com/langchain-ai/langgraphjs/commit/5be518fe18f2497a28957dfec85522997e6df4f3),
[`b3c1ceb`](https://github.com/langchain-ai/langgraphjs/commit/b3c1ceb2cc16dcb15e7a9c1178fe6ddb98e5a93f)]:
  - @langchain/langgraph-sdk@1.9.29

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-08-10 20:39:44 -07:00
..
2026-08-10 20:39:44 -07:00
2026-08-10 20:39:44 -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