@langchain/svelte 0.4.7 → 1.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (74) hide show
  1. package/README.md +37 -443
  2. package/dist/context.cjs +72 -0
  3. package/dist/context.cjs.map +1 -0
  4. package/dist/context.d.cts +72 -0
  5. package/dist/context.d.cts.map +1 -0
  6. package/dist/context.d.ts +72 -0
  7. package/dist/context.d.ts.map +1 -0
  8. package/dist/context.js +70 -0
  9. package/dist/context.js.map +1 -0
  10. package/dist/index.cjs +32 -316
  11. package/dist/index.d.cts +11 -97
  12. package/dist/index.d.ts +11 -97
  13. package/dist/index.js +10 -290
  14. package/dist/selectors.svelte.cjs +214 -0
  15. package/dist/selectors.svelte.cjs.map +1 -0
  16. package/dist/selectors.svelte.d.cts +146 -0
  17. package/dist/selectors.svelte.d.cts.map +1 -0
  18. package/dist/selectors.svelte.d.ts +146 -0
  19. package/dist/selectors.svelte.d.ts.map +1 -0
  20. package/dist/selectors.svelte.js +204 -0
  21. package/dist/selectors.svelte.js.map +1 -0
  22. package/dist/use-audio-player.svelte.cjs +608 -0
  23. package/dist/use-audio-player.svelte.cjs.map +1 -0
  24. package/dist/use-audio-player.svelte.d.cts +70 -0
  25. package/dist/use-audio-player.svelte.d.cts.map +1 -0
  26. package/dist/use-audio-player.svelte.d.ts +70 -0
  27. package/dist/use-audio-player.svelte.d.ts.map +1 -0
  28. package/dist/use-audio-player.svelte.js +608 -0
  29. package/dist/use-audio-player.svelte.js.map +1 -0
  30. package/dist/use-media-url.svelte.cjs +54 -0
  31. package/dist/use-media-url.svelte.cjs.map +1 -0
  32. package/dist/use-media-url.svelte.d.cts +29 -0
  33. package/dist/use-media-url.svelte.d.cts.map +1 -0
  34. package/dist/use-media-url.svelte.d.ts +29 -0
  35. package/dist/use-media-url.svelte.d.ts.map +1 -0
  36. package/dist/use-media-url.svelte.js +54 -0
  37. package/dist/use-media-url.svelte.js.map +1 -0
  38. package/dist/use-projection.svelte.cjs +62 -0
  39. package/dist/use-projection.svelte.cjs.map +1 -0
  40. package/dist/use-projection.svelte.d.cts +65 -0
  41. package/dist/use-projection.svelte.d.cts.map +1 -0
  42. package/dist/use-projection.svelte.d.ts +65 -0
  43. package/dist/use-projection.svelte.d.ts.map +1 -0
  44. package/dist/use-projection.svelte.js +62 -0
  45. package/dist/use-projection.svelte.js.map +1 -0
  46. package/dist/use-stream.svelte.cjs +193 -0
  47. package/dist/use-stream.svelte.cjs.map +1 -0
  48. package/dist/use-stream.svelte.d.cts +116 -0
  49. package/dist/use-stream.svelte.d.cts.map +1 -0
  50. package/dist/use-stream.svelte.d.ts +116 -0
  51. package/dist/use-stream.svelte.d.ts.map +1 -0
  52. package/dist/use-stream.svelte.js +191 -0
  53. package/dist/use-stream.svelte.js.map +1 -0
  54. package/dist/use-video-player.svelte.cjs +233 -0
  55. package/dist/use-video-player.svelte.cjs.map +1 -0
  56. package/dist/use-video-player.svelte.d.cts +66 -0
  57. package/dist/use-video-player.svelte.d.cts.map +1 -0
  58. package/dist/use-video-player.svelte.d.ts +66 -0
  59. package/dist/use-video-player.svelte.d.ts.map +1 -0
  60. package/dist/use-video-player.svelte.js +233 -0
  61. package/dist/use-video-player.svelte.js.map +1 -0
  62. package/package.json +9 -8
  63. package/dist/index.cjs.map +0 -1
  64. package/dist/index.d.cts.map +0 -1
  65. package/dist/index.d.ts.map +0 -1
  66. package/dist/index.js.map +0 -1
  67. package/dist/stream.custom.cjs +0 -122
  68. package/dist/stream.custom.cjs.map +0 -1
  69. package/dist/stream.custom.js +0 -122
  70. package/dist/stream.custom.js.map +0 -1
  71. package/dist/subagents.cjs +0 -81
  72. package/dist/subagents.cjs.map +0 -1
  73. package/dist/subagents.js +0 -81
  74. package/dist/subagents.js.map +0 -1
@@ -0,0 +1,72 @@
1
+ import { AgentServerOptions as AgentServerOptions$1, CustomAdapterOptions as CustomAdapterOptions$1, UseStreamReturn } from "./use-stream.svelte.js";
2
+ import { InferStateType } from "@langchain/langgraph-sdk/stream";
3
+
4
+ //#region src/context.d.ts
5
+ /**
6
+ * Context key used for the shared stream handle exposed via
7
+ * {@link provideStream}. Exported so advanced callers can drive
8
+ * Svelte's context API directly (e.g. a shared context in a
9
+ * microfrontend shell).
10
+ */
11
+ declare const STREAM_CONTEXT_KEY: unique symbol;
12
+ /**
13
+ * Props for {@link provideStream} when talking to the default
14
+ * LangGraph-Platform agent server.
15
+ */
16
+ type ProvideStreamProps<T = Record<string, unknown>> = AgentServerOptions$1<InferStateType<T>>;
17
+ /**
18
+ * Props for {@link provideStream} when wiring a custom
19
+ * {@link AgentServerAdapter}.
20
+ */
21
+ type ProvideStreamCustomProps<T = Record<string, unknown>> = CustomAdapterOptions$1<InferStateType<T>>;
22
+ /**
23
+ * Creates a shared {@link useStream} handle and publishes it via
24
+ * Svelte's `setContext`. Descendant components read it via
25
+ * {@link getStream}.
26
+ *
27
+ * Must be called during component initialisation (the top level of a
28
+ * `<script>` block or `<script module>` that runs at mount), same
29
+ * lifecycle constraint as `setContext`.
30
+ *
31
+ * @example
32
+ * ```svelte
33
+ * <!-- ChatContainer.svelte -->
34
+ * <script lang="ts">
35
+ * import { provideStream } from "@langchain/svelte";
36
+ *
37
+ * provideStream({
38
+ * assistantId: "agent",
39
+ * apiUrl: "http://localhost:2024",
40
+ * });
41
+ * </script>
42
+ *
43
+ * <ChatHeader />
44
+ * <MessageList />
45
+ * <MessageInput />
46
+ * ```
47
+ */
48
+ declare function provideStream<T = Record<string, unknown>, InterruptType = unknown, ConfigurableType extends object = Record<string, unknown>>(options: ProvideStreamProps<T> | ProvideStreamCustomProps<T>): UseStreamReturn<T, InterruptType, ConfigurableType>;
49
+ /**
50
+ * Reads the shared stream handle exposed by the nearest ancestor
51
+ * {@link provideStream} call. Throws when no ancestor has provided
52
+ * one.
53
+ *
54
+ * @example
55
+ * ```svelte
56
+ * <!-- MessageList.svelte -->
57
+ * <script lang="ts">
58
+ * import { getStream } from "@langchain/svelte";
59
+ * import type { agent } from "./agent";
60
+ *
61
+ * const stream = getStream<typeof agent>();
62
+ * </script>
63
+ *
64
+ * {#each stream.messages as msg (msg.id)}
65
+ * <div>{msg.content}</div>
66
+ * {/each}
67
+ * ```
68
+ */
69
+ declare function getStream<T = Record<string, unknown>, InterruptType = unknown, ConfigurableType extends object = Record<string, unknown>>(): UseStreamReturn<T, InterruptType, ConfigurableType>;
70
+ //#endregion
71
+ export { ProvideStreamCustomProps, ProvideStreamProps, STREAM_CONTEXT_KEY, getStream, provideStream };
72
+ //# sourceMappingURL=context.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context.d.ts","names":[],"sources":["../src/context.ts"],"mappings":";;;;;;AAgBA;;;;cAAa,kBAAA;AAQb;;;;AAAA,KAAY,kBAAA,KAAuB,MAAA,qBACjC,oBAAA,CAAmB,cAAA,CAAe,CAAA;;;;;KAMxB,wBAAA,KAA6B,MAAA,qBACvC,sBAAA,CAAqB,cAAA,CAAe,CAAA;;;;;;;AADtC;;;;;;;;;;;;;;;;AA6BA;;;;iBAAgB,aAAA,KACV,MAAA,8EAE8B,MAAA,kBAAA,CAElC,OAAA,EAAS,kBAAA,CAAmB,CAAA,IAAK,wBAAA,CAAyB,CAAA,IACzD,eAAA,CAAgB,CAAA,EAAG,aAAA,EAAe,gBAAA;;;;;;;;;;;;;;;;;;;;;iBA4BrB,SAAA,KACV,MAAA,8EAE8B,MAAA,kBAAA,CAAA,GAC/B,eAAA,CAAgB,CAAA,EAAG,aAAA,EAAe,gBAAA"}
@@ -0,0 +1,70 @@
1
+ import { useStream } from "./use-stream.svelte.js";
2
+ import { getContext, setContext } from "svelte";
3
+ //#region src/context.ts
4
+ /**
5
+ * Context key used for the shared stream handle exposed via
6
+ * {@link provideStream}. Exported so advanced callers can drive
7
+ * Svelte's context API directly (e.g. a shared context in a
8
+ * microfrontend shell).
9
+ */
10
+ const STREAM_CONTEXT_KEY = Symbol.for("@langchain/svelte/stream-context");
11
+ /**
12
+ * Creates a shared {@link useStream} handle and publishes it via
13
+ * Svelte's `setContext`. Descendant components read it via
14
+ * {@link getStream}.
15
+ *
16
+ * Must be called during component initialisation (the top level of a
17
+ * `<script>` block or `<script module>` that runs at mount), same
18
+ * lifecycle constraint as `setContext`.
19
+ *
20
+ * @example
21
+ * ```svelte
22
+ * <!-- ChatContainer.svelte -->
23
+ * <script lang="ts">
24
+ * import { provideStream } from "@langchain/svelte";
25
+ *
26
+ * provideStream({
27
+ * assistantId: "agent",
28
+ * apiUrl: "http://localhost:2024",
29
+ * });
30
+ * <\/script>
31
+ *
32
+ * <ChatHeader />
33
+ * <MessageList />
34
+ * <MessageInput />
35
+ * ```
36
+ */
37
+ function provideStream(options) {
38
+ const stream = useStream(options);
39
+ setContext(STREAM_CONTEXT_KEY, stream);
40
+ return stream;
41
+ }
42
+ /**
43
+ * Reads the shared stream handle exposed by the nearest ancestor
44
+ * {@link provideStream} call. Throws when no ancestor has provided
45
+ * one.
46
+ *
47
+ * @example
48
+ * ```svelte
49
+ * <!-- MessageList.svelte -->
50
+ * <script lang="ts">
51
+ * import { getStream } from "@langchain/svelte";
52
+ * import type { agent } from "./agent";
53
+ *
54
+ * const stream = getStream<typeof agent>();
55
+ * <\/script>
56
+ *
57
+ * {#each stream.messages as msg (msg.id)}
58
+ * <div>{msg.content}</div>
59
+ * {/each}
60
+ * ```
61
+ */
62
+ function getStream() {
63
+ const context = getContext(STREAM_CONTEXT_KEY);
64
+ if (context == null) throw new Error("getStream() requires a parent component to call provideStream(). Add provideStream({ assistantId: '...' }) in an ancestor component.");
65
+ return context;
66
+ }
67
+ //#endregion
68
+ export { STREAM_CONTEXT_KEY, getStream, provideStream };
69
+
70
+ //# sourceMappingURL=context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context.js","names":[],"sources":["../src/context.ts"],"sourcesContent":["import { getContext, setContext } from \"svelte\";\nimport type { InferStateType } from \"@langchain/langgraph-sdk/stream\";\nimport {\n useStream,\n type AgentServerOptions,\n type CustomAdapterOptions,\n type UseStreamOptions,\n type UseStreamReturn,\n} from \"./use-stream.svelte.js\";\n\n/**\n * Context key used for the shared stream handle exposed via\n * {@link provideStream}. Exported so advanced callers can drive\n * Svelte's context API directly (e.g. a shared context in a\n * microfrontend shell).\n */\nexport const STREAM_CONTEXT_KEY: unique symbol = Symbol.for(\n \"@langchain/svelte/stream-context\"\n);\n\n/**\n * Props for {@link provideStream} when talking to the default\n * LangGraph-Platform agent server.\n */\nexport type ProvideStreamProps<T = Record<string, unknown>> =\n AgentServerOptions<InferStateType<T>>;\n\n/**\n * Props for {@link provideStream} when wiring a custom\n * {@link AgentServerAdapter}.\n */\nexport type ProvideStreamCustomProps<T = Record<string, unknown>> =\n CustomAdapterOptions<InferStateType<T>>;\n\n/**\n * Creates a shared {@link useStream} handle and publishes it via\n * Svelte's `setContext`. Descendant components read it via\n * {@link getStream}.\n *\n * Must be called during component initialisation (the top level of a\n * `<script>` block or `<script module>` that runs at mount), same\n * lifecycle constraint as `setContext`.\n *\n * @example\n * ```svelte\n * <!-- ChatContainer.svelte -->\n * <script lang=\"ts\">\n * import { provideStream } from \"@langchain/svelte\";\n *\n * provideStream({\n * assistantId: \"agent\",\n * apiUrl: \"http://localhost:2024\",\n * });\n * </script>\n *\n * <ChatHeader />\n * <MessageList />\n * <MessageInput />\n * ```\n */\nexport function provideStream<\n T = Record<string, unknown>,\n InterruptType = unknown,\n ConfigurableType extends object = Record<string, unknown>,\n>(\n options: ProvideStreamProps<T> | ProvideStreamCustomProps<T>\n): UseStreamReturn<T, InterruptType, ConfigurableType> {\n const stream = useStream<T, InterruptType, ConfigurableType>(\n options as UseStreamOptions<InferStateType<T>>\n );\n setContext(STREAM_CONTEXT_KEY, stream);\n return stream;\n}\n\n/**\n * Reads the shared stream handle exposed by the nearest ancestor\n * {@link provideStream} call. Throws when no ancestor has provided\n * one.\n *\n * @example\n * ```svelte\n * <!-- MessageList.svelte -->\n * <script lang=\"ts\">\n * import { getStream } from \"@langchain/svelte\";\n * import type { agent } from \"./agent\";\n *\n * const stream = getStream<typeof agent>();\n * </script>\n *\n * {#each stream.messages as msg (msg.id)}\n * <div>{msg.content}</div>\n * {/each}\n * ```\n */\nexport function getStream<\n T = Record<string, unknown>,\n InterruptType = unknown,\n ConfigurableType extends object = Record<string, unknown>,\n>(): UseStreamReturn<T, InterruptType, ConfigurableType> {\n const context = getContext<\n UseStreamReturn<T, InterruptType, ConfigurableType> | undefined\n >(STREAM_CONTEXT_KEY);\n if (context == null) {\n throw new Error(\n \"getStream() requires a parent component to call provideStream(). \" +\n \"Add provideStream({ assistantId: '...' }) in an ancestor component.\"\n );\n }\n return context;\n}\n"],"mappings":";;;;;;;;;AAgBA,MAAa,qBAAoC,OAAO,IACtD,mCACD;;;;;;;;;;;;;;;;;;;;;;;;;;;AA0CD,SAAgB,cAKd,SACqD;CACrD,MAAM,SAAS,UACb,QACD;AACD,YAAW,oBAAoB,OAAO;AACtC,QAAO;;;;;;;;;;;;;;;;;;;;;;AAuBT,SAAgB,YAIyC;CACvD,MAAM,UAAU,WAEd,mBAAmB;AACrB,KAAI,WAAW,KACb,OAAM,IAAI,MACR,uIAED;AAEH,QAAO"}
package/dist/index.cjs CHANGED
@@ -1,322 +1,33 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_subagents = require("./subagents.cjs");
3
- const require_stream_custom = require("./stream.custom.cjs");
4
- let svelte_store = require("svelte/store");
5
- let svelte = require("svelte");
6
- let _langchain_langgraph_sdk_ui = require("@langchain/langgraph-sdk/ui");
2
+ const require_use_stream_svelte = require("./use-stream.svelte.cjs");
3
+ const require_use_projection_svelte = require("./use-projection.svelte.cjs");
4
+ const require_selectors_svelte = require("./selectors.svelte.cjs");
5
+ const require_use_media_url_svelte = require("./use-media-url.svelte.cjs");
6
+ const require_use_audio_player_svelte = require("./use-audio-player.svelte.cjs");
7
+ const require_use_video_player_svelte = require("./use-video-player.svelte.cjs");
8
+ const require_context = require("./context.cjs");
7
9
  let _langchain_langgraph_sdk = require("@langchain/langgraph-sdk");
8
- //#region src/index.ts
9
- const STREAM_CONTEXT_KEY = Symbol.for("langchain:stream-context");
10
- /**
11
- * Provides a `useStream` return value to all descendant components via
12
- * Svelte's context API. Must be called during component initialisation
13
- * (i.e. at the top level of a `<script>` block).
14
- *
15
- * @example
16
- * ```svelte
17
- * <script lang="ts">
18
- * import { useStream, setStreamContext } from "@langchain/svelte";
19
- *
20
- * const stream = useStream({ assistantId: "agent", apiUrl: "..." });
21
- * setStreamContext(stream);
22
- * <\/script>
23
- *
24
- * <ChildComponent />
25
- * ```
26
- */
27
- function setStreamContext(stream) {
28
- (0, svelte.setContext)(STREAM_CONTEXT_KEY, stream);
29
- return stream;
30
- }
31
- /**
32
- * Retrieves the `useStream` instance previously provided by a parent
33
- * component via {@link setStreamContext} or {@link provideStream}.
34
- * Must be called during component initialisation.
35
- *
36
- * @throws If no stream context has been set by an ancestor component.
37
- *
38
- * @example
39
- * ```svelte
40
- * <script lang="ts">
41
- * import { getStreamContext } from "@langchain/svelte";
42
- *
43
- * const stream = getStreamContext();
44
- * <\/script>
45
- * ```
46
- */
47
- function getStreamContext() {
48
- const ctx = (0, svelte.getContext)(STREAM_CONTEXT_KEY);
49
- if (!ctx) throw new Error("getStreamContext must be used within a component that has called setStreamContext");
50
- return ctx;
51
- }
52
- /**
53
- * Creates a shared `useStream` instance and makes it available to all
54
- * descendant components via Svelte's `setContext`/`getContext`.
55
- *
56
- * Call this in a parent component's `<script>` block. Children access
57
- * the shared stream via {@link getStream}.
58
- *
59
- * Uses the same context key as {@link setStreamContext}/{@link getStreamContext},
60
- * so both retrieval functions work interchangeably.
61
- *
62
- * @example
63
- * ```svelte
64
- * <!-- ChatContainer.svelte -->
65
- * <script lang="ts">
66
- * import { provideStream } from "@langchain/svelte";
67
- *
68
- * provideStream({
69
- * assistantId: "agent",
70
- * apiUrl: "http://localhost:2024",
71
- * });
72
- * <\/script>
73
- *
74
- * <ChatHeader />
75
- * <MessageList />
76
- * <MessageInput />
77
- * ```
78
- *
79
- * @returns The stream instance (same as calling `useStream` directly).
80
- */
81
- function provideStream(options) {
82
- const stream = useStream(options);
83
- (0, svelte.setContext)(STREAM_CONTEXT_KEY, stream);
84
- return stream;
85
- }
86
- /**
87
- * Retrieves the shared stream instance from the nearest ancestor that
88
- * called {@link provideStream} or {@link setStreamContext}.
89
- *
90
- * Throws if no ancestor has provided a stream.
91
- *
92
- * @example
93
- * ```svelte
94
- * <!-- MessageList.svelte -->
95
- * <script lang="ts">
96
- * import { getStream } from "@langchain/svelte";
97
- *
98
- * const stream = getStream();
99
- * <\/script>
100
- *
101
- * {#each stream.messages as msg (msg.id)}
102
- * <div>{msg.content}</div>
103
- * {/each}
104
- * ```
105
- */
106
- function getStream() {
107
- const context = (0, svelte.getContext)(STREAM_CONTEXT_KEY);
108
- if (context == null) throw new Error("getStream() requires a parent component to call provideStream(). Add provideStream({ assistantId: '...' }) in an ancestor component.");
109
- return context;
110
- }
111
- function useStream(options) {
112
- if ("transport" in options) return require_stream_custom.useStreamCustom(options);
113
- return useStreamLGP(options);
114
- }
115
- function useStreamLGP(options) {
116
- const client = options.client ?? new _langchain_langgraph_sdk.Client({ apiUrl: options.apiUrl });
117
- const orchestrator = new _langchain_langgraph_sdk_ui.StreamOrchestrator(options, {
118
- getClient: () => client,
119
- getAssistantId: () => options.assistantId,
120
- getMessagesKey: () => options.messagesKey ?? "messages"
121
- });
122
- orchestrator.initThreadId(options.threadId ?? void 0);
123
- const version = (0, svelte_store.writable)(0);
124
- const reactiveSubagents = require_subagents.createReactiveSubagentAccessors({
125
- getSubagent: (toolCallId) => orchestrator.getSubagent(toolCallId),
126
- getSubagentsByType: (type) => orchestrator.getSubagentsByType(type),
127
- getSubagentsByMessage: (messageId) => orchestrator.getSubagentsByMessage(messageId)
128
- }, version);
129
- const unsubscribe = orchestrator.subscribe(() => {
130
- version.update((v) => v + 1);
131
- });
132
- let fetchController = null;
133
- const unsubReconstruct = (0, svelte_store.derived)(version, () => {
134
- const hvMessages = orchestrator.messages;
135
- if (!options.filterSubagentMessages) return false;
136
- if (orchestrator.isLoading || orchestrator.historyData.isLoading) return false;
137
- return hvMessages.length > 0;
138
- }).subscribe(($should) => {
139
- if ($should) {
140
- fetchController?.abort();
141
- fetchController = orchestrator.reconstructSubagentsIfNeeded();
142
- }
143
- });
144
- const unsubDrain = (0, svelte_store.derived)(version, () => orchestrator.isLoading).subscribe(() => {
145
- orchestrator.drainQueue();
146
- });
147
- let { shouldReconnect } = orchestrator;
148
- (0, svelte.onMount)(() => {
149
- if (shouldReconnect) {
150
- if (orchestrator.tryReconnect()) shouldReconnect = false;
151
- }
152
- });
153
- (0, svelte.onDestroy)(() => {
154
- fetchController?.abort();
155
- unsubscribe();
156
- unsubReconstruct();
157
- unsubDrain();
158
- orchestrator.dispose();
159
- });
160
- const valuesStore = (0, svelte_store.derived)(version, () => {
161
- orchestrator.trackStreamMode("values");
162
- return orchestrator.values;
163
- });
164
- const errorStore = (0, svelte_store.derived)(version, () => orchestrator.error);
165
- const isLoadingStore = (0, svelte_store.derived)(version, () => orchestrator.isLoading);
166
- const branchStore = (0, svelte_store.derived)(version, () => orchestrator.branch);
167
- const messagesStore = (0, svelte_store.derived)(version, () => {
168
- orchestrator.trackStreamMode("messages-tuple", "values");
169
- return (0, _langchain_langgraph_sdk_ui.ensureMessageInstances)(orchestrator.messages);
170
- });
171
- const toolCallsStore = (0, svelte_store.derived)(version, () => {
172
- orchestrator.trackStreamMode("messages-tuple", "values");
173
- return orchestrator.toolCalls;
174
- });
175
- const interruptStore = (0, svelte_store.derived)(version, () => orchestrator.interrupt);
176
- const interruptsStore = (0, svelte_store.derived)(version, () => orchestrator.interrupts);
177
- const historyListStore = (0, svelte_store.derived)(version, () => orchestrator.flatHistory);
178
- const isThreadLoadingStore = (0, svelte_store.derived)(version, () => orchestrator.isThreadLoading);
179
- const experimentalBranchTreeStore = (0, svelte_store.derived)(version, () => orchestrator.experimental_branchTree);
180
- const subagentsStore = (0, svelte_store.derived)(version, () => {
181
- orchestrator.trackStreamMode("updates", "messages-tuple");
182
- return reactiveSubagents.mapSubagents(orchestrator.subagents);
183
- });
184
- const activeSubagentsStore = (0, svelte_store.derived)(version, () => {
185
- orchestrator.trackStreamMode("updates", "messages-tuple");
186
- return reactiveSubagents.mapActiveSubagents(orchestrator.activeSubagents);
187
- });
188
- const queueEntriesStore = (0, svelte_store.derived)(version, () => orchestrator.queueEntries);
189
- const queueSizeStore = (0, svelte_store.derived)(version, () => orchestrator.queueSize);
190
- const valuesRef = (0, svelte_store.fromStore)(valuesStore);
191
- const errorRef = (0, svelte_store.fromStore)(errorStore);
192
- const isLoadingRef = (0, svelte_store.fromStore)(isLoadingStore);
193
- const branchRef = (0, svelte_store.fromStore)(branchStore);
194
- const messagesRef = (0, svelte_store.fromStore)(messagesStore);
195
- const toolCallsRef = (0, svelte_store.fromStore)(toolCallsStore);
196
- const interruptRef = (0, svelte_store.fromStore)(interruptStore);
197
- const interruptsRef = (0, svelte_store.fromStore)(interruptsStore);
198
- const historyListRef = (0, svelte_store.fromStore)(historyListStore);
199
- const isThreadLoadingRef = (0, svelte_store.fromStore)(isThreadLoadingStore);
200
- const experimentalBranchTreeRef = (0, svelte_store.fromStore)(experimentalBranchTreeStore);
201
- const subagentsRef = (0, svelte_store.fromStore)(subagentsStore);
202
- const activeSubagentsRef = (0, svelte_store.fromStore)(activeSubagentsStore);
203
- const queueEntriesRef = (0, svelte_store.fromStore)(queueEntriesStore);
204
- const queueSizeRef = (0, svelte_store.fromStore)(queueSizeStore);
205
- return {
206
- assistantId: options.assistantId,
207
- client,
208
- get values() {
209
- return valuesRef.current;
210
- },
211
- get error() {
212
- return errorRef.current;
213
- },
214
- get isLoading() {
215
- return isLoadingRef.current;
216
- },
217
- get isThreadLoading() {
218
- return isThreadLoadingRef.current;
219
- },
220
- get branch() {
221
- return branchRef.current;
222
- },
223
- setBranch(value) {
224
- orchestrator.setBranch(value);
225
- },
226
- get messages() {
227
- return messagesRef.current;
228
- },
229
- get toolCalls() {
230
- return toolCallsRef.current;
231
- },
232
- getToolCalls(message) {
233
- return orchestrator.getToolCalls(message);
234
- },
235
- get interrupt() {
236
- return interruptRef.current;
237
- },
238
- get interrupts() {
239
- return interruptsRef.current;
240
- },
241
- get history() {
242
- return historyListRef.current;
243
- },
244
- get experimental_branchTree() {
245
- return experimentalBranchTreeRef.current;
246
- },
247
- getMessagesMetadata(message, index) {
248
- return orchestrator.getMessagesMetadata(message, index);
249
- },
250
- submit: (...args) => orchestrator.submit(...args),
251
- stop: () => orchestrator.stop(),
252
- joinStream: (...args) => orchestrator.joinStream(...args),
253
- queue: {
254
- get entries() {
255
- return queueEntriesRef.current;
256
- },
257
- get size() {
258
- return queueSizeRef.current;
259
- },
260
- cancel: (id) => orchestrator.cancelQueueItem(id),
261
- clear: () => orchestrator.clearQueue()
262
- },
263
- switchThread(newThreadId) {
264
- orchestrator.switchThread(newThreadId);
265
- },
266
- get subagents() {
267
- orchestrator.trackStreamMode("updates", "messages-tuple");
268
- return subagentsRef.current;
269
- },
270
- get activeSubagents() {
271
- orchestrator.trackStreamMode("updates", "messages-tuple");
272
- return activeSubagentsRef.current;
273
- },
274
- getSubagent(toolCallId) {
275
- orchestrator.trackStreamMode("updates", "messages-tuple");
276
- return reactiveSubagents.getSubagent(toolCallId);
277
- },
278
- getSubagentsByType(type) {
279
- orchestrator.trackStreamMode("updates", "messages-tuple");
280
- return reactiveSubagents.getSubagentsByType(type);
281
- },
282
- getSubagentsByMessage(messageId) {
283
- orchestrator.trackStreamMode("updates", "messages-tuple");
284
- return reactiveSubagents.getSubagentsByMessage(messageId);
285
- }
286
- };
287
- }
288
- //#endregion
289
- exports.FetchStreamTransport = _langchain_langgraph_sdk_ui.FetchStreamTransport;
290
- Object.defineProperty(exports, "SubagentManager", {
10
+ let _langchain_langgraph_sdk_stream = require("@langchain/langgraph-sdk/stream");
11
+ Object.defineProperty(exports, "HttpAgentServerAdapter", {
291
12
  enumerable: true,
292
13
  get: function() {
293
- return _langchain_langgraph_sdk_ui.SubagentManager;
14
+ return _langchain_langgraph_sdk.HttpAgentServerAdapter;
294
15
  }
295
16
  });
296
- Object.defineProperty(exports, "calculateDepthFromNamespace", {
17
+ Object.defineProperty(exports, "MediaAssemblyError", {
297
18
  enumerable: true,
298
19
  get: function() {
299
- return _langchain_langgraph_sdk_ui.calculateDepthFromNamespace;
20
+ return _langchain_langgraph_sdk_stream.MediaAssemblyError;
300
21
  }
301
22
  });
23
+ exports.STREAM_CONTEXT_KEY = require_context.STREAM_CONTEXT_KEY;
24
+ exports.STREAM_CONTROLLER = require_use_stream_svelte.STREAM_CONTROLLER;
302
25
  Object.defineProperty(exports, "executeHeadlessTool", {
303
26
  enumerable: true,
304
27
  get: function() {
305
28
  return _langchain_langgraph_sdk.executeHeadlessTool;
306
29
  }
307
30
  });
308
- Object.defineProperty(exports, "extractParentIdFromNamespace", {
309
- enumerable: true,
310
- get: function() {
311
- return _langchain_langgraph_sdk_ui.extractParentIdFromNamespace;
312
- }
313
- });
314
- Object.defineProperty(exports, "extractToolCallIdFromNamespace", {
315
- enumerable: true,
316
- get: function() {
317
- return _langchain_langgraph_sdk_ui.extractToolCallIdFromNamespace;
318
- }
319
- });
320
31
  Object.defineProperty(exports, "filterOutHeadlessToolInterrupts", {
321
32
  enumerable: true,
322
33
  get: function() {
@@ -335,8 +46,7 @@ Object.defineProperty(exports, "flushPendingHeadlessToolInterrupts", {
335
46
  return _langchain_langgraph_sdk.flushPendingHeadlessToolInterrupts;
336
47
  }
337
48
  });
338
- exports.getStream = getStream;
339
- exports.getStreamContext = getStreamContext;
49
+ exports.getStream = require_context.getStream;
340
50
  Object.defineProperty(exports, "handleHeadlessToolInterrupt", {
341
51
  enumerable: true,
342
52
  get: function() {
@@ -355,20 +65,26 @@ Object.defineProperty(exports, "isHeadlessToolInterrupt", {
355
65
  return _langchain_langgraph_sdk.isHeadlessToolInterrupt;
356
66
  }
357
67
  });
358
- Object.defineProperty(exports, "isSubagentNamespace", {
359
- enumerable: true,
360
- get: function() {
361
- return _langchain_langgraph_sdk_ui.isSubagentNamespace;
362
- }
363
- });
364
68
  Object.defineProperty(exports, "parseHeadlessToolInterruptPayload", {
365
69
  enumerable: true,
366
70
  get: function() {
367
71
  return _langchain_langgraph_sdk.parseHeadlessToolInterruptPayload;
368
72
  }
369
73
  });
370
- exports.provideStream = provideStream;
371
- exports.setStreamContext = setStreamContext;
372
- exports.useStream = useStream;
373
-
374
- //# sourceMappingURL=index.cjs.map
74
+ exports.provideStream = require_context.provideStream;
75
+ exports.useAudio = require_selectors_svelte.useAudio;
76
+ exports.useAudioPlayer = require_use_audio_player_svelte.useAudioPlayer;
77
+ exports.useChannel = require_selectors_svelte.useChannel;
78
+ exports.useExtension = require_selectors_svelte.useExtension;
79
+ exports.useFiles = require_selectors_svelte.useFiles;
80
+ exports.useImages = require_selectors_svelte.useImages;
81
+ exports.useMediaURL = require_use_media_url_svelte.useMediaURL;
82
+ exports.useMessageMetadata = require_selectors_svelte.useMessageMetadata;
83
+ exports.useMessages = require_selectors_svelte.useMessages;
84
+ exports.useProjection = require_use_projection_svelte.useProjection;
85
+ exports.useStream = require_use_stream_svelte.useStream;
86
+ exports.useSubmissionQueue = require_selectors_svelte.useSubmissionQueue;
87
+ exports.useToolCalls = require_selectors_svelte.useToolCalls;
88
+ exports.useValues = require_selectors_svelte.useValues;
89
+ exports.useVideo = require_selectors_svelte.useVideo;
90
+ exports.useVideoPlayer = require_use_video_player_svelte.useVideoPlayer;
package/dist/index.d.cts CHANGED
@@ -1,97 +1,11 @@
1
- import { AIMessage, ToolMessage } from "@langchain/core/messages";
2
- import { AgentTypeConfigLike, BaseStream, BaseSubagentState, ClassSubagentStreamInterface, CompiledSubAgentLike, DeepAgentTypeConfigLike, DefaultSubagentStates, ExtractAgentConfig, ExtractDeepAgentConfig, ExtractSubAgentMiddleware, FetchStreamTransport, GetToolCallsType, InferAgentToolCalls, InferBag, InferBag as InferBag$1, InferDeepAgentSubagents, InferNodeNames, InferStateType, InferStateType as InferStateType$1, InferSubagentByName, InferSubagentNames, InferSubagentState, InferSubagentStates, InferToolCalls, IsAgentLike, IsDeepAgentLike, MessageMetadata, QueueEntry, QueueInterface, ResolveStreamInterface, ResolveStreamInterface as ResolveStreamInterface$1, ResolveStreamOptions, ResolveStreamOptions as ResolveStreamOptions$1, SubAgentLike, SubagentApi, SubagentManager, SubagentStateMap, SubagentStatus, SubagentStream, SubagentStreamInterface, SubagentToolCall, UseAgentStream, UseAgentStreamOptions, UseDeepAgentStream, UseDeepAgentStreamOptions, UseStreamCustomOptions, UseStreamCustomOptions as UseStreamCustomOptions$1, UseStreamOptions, UseStreamThread, UseStreamTransport, WithClassMessages, calculateDepthFromNamespace, extractParentIdFromNamespace, extractToolCallIdFromNamespace, isSubagentNamespace } from "@langchain/langgraph-sdk/ui";
3
- import { AnyHeadlessToolImplementation, BagTemplate, DefaultToolCall, DefaultToolCall as DefaultToolCall$1, FlushPendingHeadlessToolInterruptsOptions, HeadlessToolImplementation, HeadlessToolInterrupt, OnToolCallback, ToolCallFromTool, ToolCallState, ToolCallWithResult as ToolCallWithResult$1, ToolCallsFromTools, ToolEvent, executeHeadlessTool, filterOutHeadlessToolInterrupts, findHeadlessTool, flushPendingHeadlessToolInterrupts, handleHeadlessToolInterrupt, headlessToolResumeCommand, isHeadlessToolInterrupt, parseHeadlessToolInterruptPayload } from "@langchain/langgraph-sdk";
4
-
5
- //#region src/index.d.ts
6
- /**
7
- * Provides a `useStream` return value to all descendant components via
8
- * Svelte's context API. Must be called during component initialisation
9
- * (i.e. at the top level of a `<script>` block).
10
- *
11
- * @example
12
- * ```svelte
13
- * <script lang="ts">
14
- * import { useStream, setStreamContext } from "@langchain/svelte";
15
- *
16
- * const stream = useStream({ assistantId: "agent", apiUrl: "..." });
17
- * setStreamContext(stream);
18
- * </script>
19
- *
20
- * <ChildComponent />
21
- * ```
22
- */
23
- declare function setStreamContext<T extends ReturnType<typeof useStream>>(stream: T): T;
24
- /**
25
- * Retrieves the `useStream` instance previously provided by a parent
26
- * component via {@link setStreamContext} or {@link provideStream}.
27
- * Must be called during component initialisation.
28
- *
29
- * @throws If no stream context has been set by an ancestor component.
30
- *
31
- * @example
32
- * ```svelte
33
- * <script lang="ts">
34
- * import { getStreamContext } from "@langchain/svelte";
35
- *
36
- * const stream = getStreamContext();
37
- * </script>
38
- * ```
39
- */
40
- declare function getStreamContext<T = Record<string, unknown>, Bag extends BagTemplate = BagTemplate>(): WithClassMessages<ResolveStreamInterface$1<T, InferBag$1<T, Bag>>>;
41
- /**
42
- * Creates a shared `useStream` instance and makes it available to all
43
- * descendant components via Svelte's `setContext`/`getContext`.
44
- *
45
- * Call this in a parent component's `<script>` block. Children access
46
- * the shared stream via {@link getStream}.
47
- *
48
- * Uses the same context key as {@link setStreamContext}/{@link getStreamContext},
49
- * so both retrieval functions work interchangeably.
50
- *
51
- * @example
52
- * ```svelte
53
- * <!-- ChatContainer.svelte -->
54
- * <script lang="ts">
55
- * import { provideStream } from "@langchain/svelte";
56
- *
57
- * provideStream({
58
- * assistantId: "agent",
59
- * apiUrl: "http://localhost:2024",
60
- * });
61
- * </script>
62
- *
63
- * <ChatHeader />
64
- * <MessageList />
65
- * <MessageInput />
66
- * ```
67
- *
68
- * @returns The stream instance (same as calling `useStream` directly).
69
- */
70
- declare function provideStream<T = Record<string, unknown>, Bag extends BagTemplate = BagTemplate>(options: ResolveStreamOptions$1<T, InferBag$1<T, Bag>> | UseStreamCustomOptions$1<InferStateType$1<T>, InferBag$1<T, Bag>>): ReturnType<typeof useStream<T, Bag>>;
71
- /**
72
- * Retrieves the shared stream instance from the nearest ancestor that
73
- * called {@link provideStream} or {@link setStreamContext}.
74
- *
75
- * Throws if no ancestor has provided a stream.
76
- *
77
- * @example
78
- * ```svelte
79
- * <!-- MessageList.svelte -->
80
- * <script lang="ts">
81
- * import { getStream } from "@langchain/svelte";
82
- *
83
- * const stream = getStream();
84
- * </script>
85
- *
86
- * {#each stream.messages as msg (msg.id)}
87
- * <div>{msg.content}</div>
88
- * {/each}
89
- * ```
90
- */
91
- declare function getStream<T = Record<string, unknown>, Bag extends BagTemplate = BagTemplate>(): ReturnType<typeof useStream<T, Bag>>;
92
- declare function useStream<T = Record<string, unknown>, Bag extends BagTemplate = BagTemplate>(options: ResolveStreamOptions$1<T, InferBag$1<T, Bag>>): WithClassMessages<ResolveStreamInterface$1<T, InferBag$1<T, Bag>>>;
93
- declare function useStream<T = Record<string, unknown>, Bag extends BagTemplate = BagTemplate>(options: UseStreamCustomOptions$1<InferStateType$1<T>, InferBag$1<T, Bag>>): WithClassMessages<ResolveStreamInterface$1<T, InferBag$1<T, Bag>>>;
94
- type ToolCallWithResult<ToolCall = DefaultToolCall$1> = ToolCallWithResult$1<ToolCall, ToolMessage, AIMessage>;
95
- //#endregion
96
- export { type AgentTypeConfigLike, type AnyHeadlessToolImplementation, type BaseStream, type BaseSubagentState, type ClassSubagentStreamInterface, type CompiledSubAgentLike, type DeepAgentTypeConfigLike, type DefaultSubagentStates, type DefaultToolCall, type ExtractAgentConfig, type ExtractDeepAgentConfig, type ExtractSubAgentMiddleware, FetchStreamTransport, type FlushPendingHeadlessToolInterruptsOptions, type GetToolCallsType, type HeadlessToolImplementation, type HeadlessToolInterrupt, type InferAgentToolCalls, type InferBag, type InferDeepAgentSubagents, type InferNodeNames, type InferStateType, type InferSubagentByName, type InferSubagentNames, type InferSubagentState, type InferSubagentStates, type InferToolCalls, type IsAgentLike, type IsDeepAgentLike, type MessageMetadata, type OnToolCallback, type QueueEntry, type QueueInterface, type ResolveStreamInterface, type ResolveStreamOptions, type SubAgentLike, type SubagentApi, SubagentManager, type SubagentStateMap, type SubagentStatus, type SubagentStream, type SubagentStreamInterface, type SubagentToolCall, type ToolCallFromTool, type ToolCallState, ToolCallWithResult, type ToolCallsFromTools, type ToolEvent, type UseAgentStream, type UseAgentStreamOptions, type UseDeepAgentStream, type UseDeepAgentStreamOptions, type UseStreamCustomOptions, type UseStreamOptions, type UseStreamThread, type UseStreamTransport, calculateDepthFromNamespace, executeHeadlessTool, extractParentIdFromNamespace, extractToolCallIdFromNamespace, filterOutHeadlessToolInterrupts, findHeadlessTool, flushPendingHeadlessToolInterrupts, getStream, getStreamContext, handleHeadlessToolInterrupt, headlessToolResumeCommand, isHeadlessToolInterrupt, isSubagentNamespace, parseHeadlessToolInterruptPayload, provideStream, setStreamContext, useStream };
97
- //# sourceMappingURL=index.d.cts.map
1
+ import { AgentServerOptions, AnyStream, CustomAdapterOptions, STREAM_CONTROLLER, StateOf, ThreadStream, UseStreamOptions, UseStreamResult, UseStreamReturn, useStream } from "./use-stream.svelte.cjs";
2
+ import { useProjection } from "./use-projection.svelte.cjs";
3
+ import { SelectorTarget, SubmissionQueueEntry, SubmissionQueueSnapshot, UseSubmissionQueueReturn, useAudio, useChannel, useExtension, useFiles, useImages, useMessageMetadata, useMessages, useSubmissionQueue, useToolCalls, useValues, useVideo } from "./selectors.svelte.cjs";
4
+ import { useMediaURL } from "./use-media-url.svelte.cjs";
5
+ import { AudioPlayerHandle, PlayerStatus, UseAudioPlayerOptions, useAudioPlayer } from "./use-audio-player.svelte.cjs";
6
+ import { UseVideoPlayerOptions, VideoPlayerHandle, useVideoPlayer } from "./use-video-player.svelte.cjs";
7
+ import { ProvideStreamCustomProps, ProvideStreamProps, STREAM_CONTEXT_KEY, getStream, provideStream } from "./context.cjs";
8
+ import { AnyHeadlessToolImplementation, DefaultToolCall, FlushPendingHeadlessToolInterruptsOptions, HeadlessToolImplementation, HeadlessToolInterrupt, HttpAgentServerAdapter, HttpAgentServerAdapterOptions, OnToolCallback, ToolCallFromTool, ToolCallState, ToolCallsFromTools, ToolEvent, executeHeadlessTool, filterOutHeadlessToolInterrupts, findHeadlessTool, flushPendingHeadlessToolInterrupts, handleHeadlessToolInterrupt, headlessToolResumeCommand, isHeadlessToolInterrupt, parseHeadlessToolInterruptPayload } from "@langchain/langgraph-sdk";
9
+ import { AgentServerAdapter, AnyMediaHandle, AssembledToolCall, AudioMedia, Channel, Event, FileMedia, ImageMedia, InferStateType, InferSubagentStates, InferToolCalls, MediaAssemblyError, MediaAssemblyErrorKind, MediaBase, MediaBlockType, MessageMetadata, MessageMetadataMap, StreamSubmitOptions, SubagentDiscoverySnapshot, SubgraphDiscoverySnapshot, ToolCallStatus, VideoMedia, WidenUpdateMessages } from "@langchain/langgraph-sdk/stream";
10
+ import { AcceptBaseMessages, GetToolCallsType, ResolveStreamInterface, ResolveStreamOptions, UseAgentStream, UseAgentStreamOptions, UseDeepAgentStream, UseDeepAgentStreamOptions } from "@langchain/langgraph-sdk/ui";
11
+ export { type AcceptBaseMessages, type AgentServerAdapter, type AgentServerOptions, type AnyHeadlessToolImplementation, type AnyMediaHandle, type AnyStream, type AssembledToolCall, type AudioMedia, type AudioPlayerHandle, type Channel, type CustomAdapterOptions, type DefaultToolCall, type Event, type FileMedia, type FlushPendingHeadlessToolInterruptsOptions, type GetToolCallsType, type HeadlessToolImplementation, type HeadlessToolInterrupt, HttpAgentServerAdapter, type HttpAgentServerAdapterOptions, type ImageMedia, type InferStateType, type InferSubagentStates, type InferToolCalls, MediaAssemblyError, type MediaAssemblyErrorKind, type MediaBase, type MediaBlockType, type MessageMetadata, type MessageMetadataMap, type OnToolCallback, type PlayerStatus, type ProvideStreamCustomProps, type ProvideStreamProps, type ResolveStreamInterface, type ResolveStreamOptions, STREAM_CONTEXT_KEY, STREAM_CONTROLLER, type SelectorTarget, type StateOf, type StreamSubmitOptions, type SubagentDiscoverySnapshot, type SubgraphDiscoverySnapshot, type SubmissionQueueEntry, type SubmissionQueueSnapshot, type ThreadStream, type ToolCallFromTool, type ToolCallState, type ToolCallStatus, type ToolCallsFromTools, type ToolEvent, type UseAgentStream, type UseAgentStreamOptions, type UseAudioPlayerOptions, type UseDeepAgentStream, type UseDeepAgentStreamOptions, type UseStreamOptions, type UseStreamResult, type UseStreamReturn, type UseSubmissionQueueReturn, type UseVideoPlayerOptions, type VideoMedia, type VideoPlayerHandle, type WidenUpdateMessages, executeHeadlessTool, filterOutHeadlessToolInterrupts, findHeadlessTool, flushPendingHeadlessToolInterrupts, getStream, handleHeadlessToolInterrupt, headlessToolResumeCommand, isHeadlessToolInterrupt, parseHeadlessToolInterruptPayload, provideStream, useAudio, useAudioPlayer, useChannel, useExtension, useFiles, useImages, useMediaURL, useMessageMetadata, useMessages, useProjection, useStream, useSubmissionQueue, useToolCalls, useValues, useVideo, useVideoPlayer };