@langchain/langgraph-sdk 0.1.9 → 1.0.0
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.
- package/CHANGELOG.md +12 -0
- package/dist/_virtual/rolldown_runtime.cjs +25 -0
- package/dist/auth/error.cjs +76 -86
- package/dist/auth/error.cjs.map +1 -0
- package/dist/auth/error.d.cts +13 -0
- package/dist/auth/error.d.cts.map +1 -0
- package/dist/auth/error.d.ts +12 -8
- package/dist/auth/error.d.ts.map +1 -0
- package/dist/auth/error.js +76 -83
- package/dist/auth/error.js.map +1 -0
- package/dist/auth/index.cjs +36 -44
- package/dist/auth/index.cjs.map +1 -0
- package/dist/auth/index.d.cts +31 -0
- package/dist/auth/index.d.cts.map +1 -0
- package/dist/auth/index.d.ts +20 -15
- package/dist/auth/index.d.ts.map +1 -0
- package/dist/auth/index.js +35 -39
- package/dist/auth/index.js.map +1 -0
- package/dist/auth/types.d.cts +294 -0
- package/dist/auth/types.d.cts.map +1 -0
- package/dist/auth/types.d.ts +162 -165
- package/dist/auth/types.d.ts.map +1 -0
- package/dist/client.cjs +1108 -1294
- package/dist/client.cjs.map +1 -0
- package/dist/client.d.cts +688 -0
- package/dist/client.d.cts.map +1 -0
- package/dist/client.d.ts +647 -639
- package/dist/client.d.ts.map +1 -0
- package/dist/client.js +1099 -1281
- package/dist/client.js.map +1 -0
- package/dist/index.cjs +6 -8
- package/dist/index.d.cts +7 -0
- package/dist/index.d.ts +7 -7
- package/dist/index.js +4 -2
- package/dist/logging/index.cjs +30 -31
- package/dist/logging/index.cjs.map +1 -0
- package/dist/logging/index.d.cts +47 -0
- package/dist/logging/index.d.cts.map +1 -0
- package/dist/logging/index.d.ts +20 -16
- package/dist/logging/index.d.ts.map +1 -0
- package/dist/logging/index.js +31 -29
- package/dist/logging/index.js.map +1 -0
- package/dist/react/index.cjs +5 -7
- package/dist/react/index.d.cts +4 -0
- package/dist/react/index.d.ts +4 -3
- package/dist/react/index.js +4 -2
- package/dist/react/stream.cjs +14 -15
- package/dist/react/stream.cjs.map +1 -0
- package/dist/react/stream.custom.cjs +126 -145
- package/dist/react/stream.custom.cjs.map +1 -0
- package/dist/react/stream.custom.d.cts +39 -0
- package/dist/react/stream.custom.d.cts.map +1 -0
- package/dist/react/stream.custom.d.ts +35 -37
- package/dist/react/stream.custom.d.ts.map +1 -0
- package/dist/react/stream.custom.js +122 -137
- package/dist/react/stream.custom.js.map +1 -0
- package/dist/react/stream.d.cts +73 -0
- package/dist/react/stream.d.cts.map +1 -0
- package/dist/react/stream.d.ts +21 -15
- package/dist/react/stream.d.ts.map +1 -0
- package/dist/react/stream.js +12 -11
- package/dist/react/stream.js.map +1 -0
- package/dist/react/stream.lgp.cjs +438 -495
- package/dist/react/stream.lgp.cjs.map +1 -0
- package/dist/react/stream.lgp.js +433 -487
- package/dist/react/stream.lgp.js.map +1 -0
- package/dist/react/thread.cjs +18 -15
- package/dist/react/thread.cjs.map +1 -0
- package/dist/react/thread.js +19 -13
- package/dist/react/thread.js.map +1 -0
- package/dist/react/types.d.cts +355 -0
- package/dist/react/types.d.cts.map +1 -0
- package/dist/react/types.d.ts +333 -329
- package/dist/react/types.d.ts.map +1 -0
- package/dist/react-ui/client.cjs +123 -184
- package/dist/react-ui/client.cjs.map +1 -0
- package/dist/react-ui/client.d.cts +90 -0
- package/dist/react-ui/client.d.cts.map +1 -0
- package/dist/react-ui/client.d.ts +67 -51
- package/dist/react-ui/client.d.ts.map +1 -0
- package/dist/react-ui/client.js +118 -143
- package/dist/react-ui/client.js.map +1 -0
- package/dist/react-ui/index.cjs +14 -13
- package/dist/react-ui/index.cjs.map +1 -0
- package/dist/react-ui/index.d.cts +3 -0
- package/dist/react-ui/index.d.ts +3 -2
- package/dist/react-ui/index.js +8 -3
- package/dist/react-ui/index.js.map +1 -0
- package/dist/react-ui/server/index.cjs +5 -7
- package/dist/react-ui/server/index.d.cts +3 -0
- package/dist/react-ui/server/index.d.ts +3 -2
- package/dist/react-ui/server/index.js +4 -2
- package/dist/react-ui/server/server.cjs +53 -44
- package/dist/react-ui/server/server.cjs.map +1 -0
- package/dist/react-ui/server/server.d.cts +55 -0
- package/dist/react-ui/server/server.d.cts.map +1 -0
- package/dist/react-ui/server/server.d.ts +43 -39
- package/dist/react-ui/server/server.d.ts.map +1 -0
- package/dist/react-ui/server/server.js +54 -42
- package/dist/react-ui/server/server.js.map +1 -0
- package/dist/react-ui/types.cjs +32 -36
- package/dist/react-ui/types.cjs.map +1 -0
- package/dist/react-ui/types.d.cts +25 -0
- package/dist/react-ui/types.d.cts.map +1 -0
- package/dist/react-ui/types.d.ts +23 -19
- package/dist/react-ui/types.d.ts.map +1 -0
- package/dist/react-ui/types.js +32 -34
- package/dist/react-ui/types.js.map +1 -0
- package/dist/schema.d.cts +277 -0
- package/dist/schema.d.cts.map +1 -0
- package/dist/schema.d.ts +249 -242
- package/dist/schema.d.ts.map +1 -0
- package/dist/singletons/fetch.cjs +16 -20
- package/dist/singletons/fetch.cjs.map +1 -0
- package/dist/singletons/fetch.d.cts +14 -0
- package/dist/singletons/fetch.d.cts.map +1 -0
- package/dist/singletons/fetch.d.ts +5 -2
- package/dist/singletons/fetch.d.ts.map +1 -0
- package/dist/singletons/fetch.js +16 -17
- package/dist/singletons/fetch.js.map +1 -0
- package/dist/types.d.cts +187 -0
- package/dist/types.d.cts.map +1 -0
- package/dist/types.d.ts +178 -173
- package/dist/types.d.ts.map +1 -0
- package/dist/types.messages.d.cts +91 -0
- package/dist/types.messages.d.cts.map +1 -0
- package/dist/types.messages.d.ts +71 -66
- package/dist/types.messages.d.ts.map +1 -0
- package/dist/types.stream.d.cts +235 -0
- package/dist/types.stream.d.cts.map +1 -0
- package/dist/types.stream.d.ts +149 -142
- package/dist/types.stream.d.ts.map +1 -0
- package/dist/ui/branching.cjs +145 -141
- package/dist/ui/branching.cjs.map +1 -0
- package/dist/ui/branching.d.cts +22 -0
- package/dist/ui/branching.d.cts.map +1 -0
- package/dist/ui/branching.d.ts +17 -30
- package/dist/ui/branching.d.ts.map +1 -0
- package/dist/ui/branching.js +147 -139
- package/dist/ui/branching.js.map +1 -0
- package/dist/ui/errors.cjs +14 -12
- package/dist/ui/errors.cjs.map +1 -0
- package/dist/ui/errors.js +14 -9
- package/dist/ui/errors.js.map +1 -0
- package/dist/ui/manager.cjs +156 -232
- package/dist/ui/manager.cjs.map +1 -0
- package/dist/ui/manager.js +156 -228
- package/dist/ui/manager.js.map +1 -0
- package/dist/ui/messages.cjs +55 -69
- package/dist/ui/messages.cjs.map +1 -0
- package/dist/ui/messages.js +55 -66
- package/dist/ui/messages.js.map +1 -0
- package/dist/ui/utils.cjs +10 -10
- package/dist/ui/utils.cjs.map +1 -0
- package/dist/ui/utils.js +10 -8
- package/dist/ui/utils.js.map +1 -0
- package/dist/utils/async_caller.cjs +103 -185
- package/dist/utils/async_caller.cjs.map +1 -0
- package/dist/utils/async_caller.d.cts +53 -0
- package/dist/utils/async_caller.d.cts.map +1 -0
- package/dist/utils/async_caller.d.ts +36 -31
- package/dist/utils/async_caller.d.ts.map +1 -0
- package/dist/utils/async_caller.js +101 -177
- package/dist/utils/async_caller.js.map +1 -0
- package/dist/utils/env.cjs +11 -13
- package/dist/utils/env.cjs.map +1 -0
- package/dist/utils/env.js +11 -11
- package/dist/utils/env.js.map +1 -0
- package/dist/utils/signals.cjs +18 -19
- package/dist/utils/signals.cjs.map +1 -0
- package/dist/utils/signals.js +18 -17
- package/dist/utils/signals.js.map +1 -0
- package/dist/utils/sse.cjs +110 -140
- package/dist/utils/sse.cjs.map +1 -0
- package/dist/utils/sse.js +110 -138
- package/dist/utils/sse.js.map +1 -0
- package/dist/utils/stream.cjs +90 -114
- package/dist/utils/stream.cjs.map +1 -0
- package/dist/utils/stream.js +90 -111
- package/dist/utils/stream.js.map +1 -0
- package/package.json +72 -80
- package/auth.cjs +0 -1
- package/auth.d.cts +0 -1
- package/auth.d.ts +0 -1
- package/auth.js +0 -1
- package/client.cjs +0 -1
- package/client.d.cts +0 -1
- package/client.d.ts +0 -1
- package/client.js +0 -1
- package/dist/auth/types.cjs +0 -2
- package/dist/auth/types.js +0 -1
- package/dist/react/stream.lgp.d.ts +0 -7
- package/dist/react/thread.d.ts +0 -4
- package/dist/react/types.cjs +0 -2
- package/dist/react/types.js +0 -1
- package/dist/schema.cjs +0 -2
- package/dist/schema.js +0 -1
- package/dist/types.cjs +0 -2
- package/dist/types.js +0 -1
- package/dist/types.messages.cjs +0 -2
- package/dist/types.messages.js +0 -1
- package/dist/types.stream.cjs +0 -2
- package/dist/types.stream.js +0 -1
- package/dist/ui/branching.test.cjs +0 -370
- package/dist/ui/branching.test.d.ts +0 -1
- package/dist/ui/branching.test.js +0 -368
- package/dist/ui/errors.d.ts +0 -12
- package/dist/ui/manager.d.ts +0 -87
- package/dist/ui/messages.d.ts +0 -18
- package/dist/ui/utils.d.ts +0 -2
- package/dist/utils/env.d.ts +0 -1
- package/dist/utils/signals.d.ts +0 -1
- package/dist/utils/sse.d.ts +0 -8
- package/dist/utils/stream.d.ts +0 -13
- package/index.cjs +0 -1
- package/index.d.cts +0 -1
- package/index.d.ts +0 -1
- package/index.js +0 -1
- package/logging.cjs +0 -1
- package/logging.d.cts +0 -1
- package/logging.d.ts +0 -1
- package/logging.js +0 -1
- package/react-ui/server.cjs +0 -1
- package/react-ui/server.d.cts +0 -1
- package/react-ui/server.d.ts +0 -1
- package/react-ui/server.js +0 -1
- package/react-ui.cjs +0 -1
- package/react-ui.d.cts +0 -1
- package/react-ui.d.ts +0 -1
- package/react-ui.js +0 -1
- package/react.cjs +0 -1
- package/react.d.cts +0 -1
- package/react.d.ts +0 -1
- package/react.js +0 -1
package/dist/utils/stream.cjs
CHANGED
|
@@ -1,115 +1,91 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
});
|
|
91
|
-
}
|
|
92
|
-
},
|
|
93
|
-
cancel() {
|
|
94
|
-
reader.releaseLock();
|
|
95
|
-
},
|
|
96
|
-
});
|
|
97
|
-
}
|
|
98
|
-
static fromAsyncGenerator(generator) {
|
|
99
|
-
return new IterableReadableStream({
|
|
100
|
-
async pull(controller) {
|
|
101
|
-
const { value, done } = await generator.next();
|
|
102
|
-
// When no more data needs to be consumed, close the stream
|
|
103
|
-
if (done) {
|
|
104
|
-
controller.close();
|
|
105
|
-
}
|
|
106
|
-
// Fix: `else if (value)` will hang the streaming when nullish value (e.g. empty string) is pulled
|
|
107
|
-
controller.enqueue(value);
|
|
108
|
-
},
|
|
109
|
-
async cancel(reason) {
|
|
110
|
-
await generator.return(reason);
|
|
111
|
-
},
|
|
112
|
-
});
|
|
113
|
-
}
|
|
114
|
-
}
|
|
1
|
+
|
|
2
|
+
//#region src/utils/stream.ts
|
|
3
|
+
var IterableReadableStream = class IterableReadableStream extends ReadableStream {
|
|
4
|
+
reader;
|
|
5
|
+
ensureReader() {
|
|
6
|
+
if (!this.reader) this.reader = this.getReader();
|
|
7
|
+
}
|
|
8
|
+
async next() {
|
|
9
|
+
this.ensureReader();
|
|
10
|
+
try {
|
|
11
|
+
const result = await this.reader.read();
|
|
12
|
+
if (result.done) {
|
|
13
|
+
this.reader.releaseLock();
|
|
14
|
+
return {
|
|
15
|
+
done: true,
|
|
16
|
+
value: void 0
|
|
17
|
+
};
|
|
18
|
+
} else return {
|
|
19
|
+
done: false,
|
|
20
|
+
value: result.value
|
|
21
|
+
};
|
|
22
|
+
} catch (e) {
|
|
23
|
+
this.reader.releaseLock();
|
|
24
|
+
throw e;
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
async return() {
|
|
28
|
+
this.ensureReader();
|
|
29
|
+
if (this.locked) {
|
|
30
|
+
const cancelPromise = this.reader.cancel();
|
|
31
|
+
this.reader.releaseLock();
|
|
32
|
+
await cancelPromise;
|
|
33
|
+
}
|
|
34
|
+
return {
|
|
35
|
+
done: true,
|
|
36
|
+
value: void 0
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
async throw(e) {
|
|
40
|
+
this.ensureReader();
|
|
41
|
+
if (this.locked) {
|
|
42
|
+
const cancelPromise = this.reader.cancel();
|
|
43
|
+
this.reader.releaseLock();
|
|
44
|
+
await cancelPromise;
|
|
45
|
+
}
|
|
46
|
+
throw e;
|
|
47
|
+
}
|
|
48
|
+
async [Symbol.asyncDispose]() {
|
|
49
|
+
await this.return();
|
|
50
|
+
}
|
|
51
|
+
[Symbol.asyncIterator]() {
|
|
52
|
+
return this;
|
|
53
|
+
}
|
|
54
|
+
static fromReadableStream(stream) {
|
|
55
|
+
const reader = stream.getReader();
|
|
56
|
+
return new IterableReadableStream({
|
|
57
|
+
start(controller) {
|
|
58
|
+
return pump();
|
|
59
|
+
function pump() {
|
|
60
|
+
return reader.read().then(({ done, value }) => {
|
|
61
|
+
if (done) {
|
|
62
|
+
controller.close();
|
|
63
|
+
return;
|
|
64
|
+
}
|
|
65
|
+
controller.enqueue(value);
|
|
66
|
+
return pump();
|
|
67
|
+
});
|
|
68
|
+
}
|
|
69
|
+
},
|
|
70
|
+
cancel() {
|
|
71
|
+
reader.releaseLock();
|
|
72
|
+
}
|
|
73
|
+
});
|
|
74
|
+
}
|
|
75
|
+
static fromAsyncGenerator(generator) {
|
|
76
|
+
return new IterableReadableStream({
|
|
77
|
+
async pull(controller) {
|
|
78
|
+
const { value, done } = await generator.next();
|
|
79
|
+
if (done) controller.close();
|
|
80
|
+
controller.enqueue(value);
|
|
81
|
+
},
|
|
82
|
+
async cancel(reason) {
|
|
83
|
+
await generator.return(reason);
|
|
84
|
+
}
|
|
85
|
+
});
|
|
86
|
+
}
|
|
87
|
+
};
|
|
88
|
+
|
|
89
|
+
//#endregion
|
|
115
90
|
exports.IterableReadableStream = IterableReadableStream;
|
|
91
|
+
//# sourceMappingURL=stream.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stream.cjs","names":[],"sources":["../../src/utils/stream.ts"],"sourcesContent":["// in this case don't quite match.\ntype IterableReadableStreamInterface<T> = ReadableStream<T> & AsyncIterable<T>;\n\n/*\n * Support async iterator syntax for ReadableStreams in all environments.\n * Source: https://github.com/MattiasBuelens/web-streams-polyfill/pull/122#issuecomment-1627354490\n */\nexport class IterableReadableStream<T>\n extends ReadableStream<T>\n implements IterableReadableStreamInterface<T>\n{\n public reader: ReadableStreamDefaultReader<T>;\n\n ensureReader() {\n if (!this.reader) {\n this.reader = this.getReader();\n }\n }\n\n async next(): Promise<IteratorResult<T>> {\n this.ensureReader();\n try {\n const result = await this.reader.read();\n if (result.done) {\n this.reader.releaseLock(); // release lock when stream becomes closed\n return {\n done: true,\n value: undefined,\n };\n } else {\n return {\n done: false,\n value: result.value,\n };\n }\n } catch (e) {\n this.reader.releaseLock(); // release lock when stream becomes errored\n throw e;\n }\n }\n\n async return(): Promise<IteratorResult<T>> {\n this.ensureReader();\n // If wrapped in a Node stream, cancel is already called.\n if (this.locked) {\n const cancelPromise = this.reader.cancel(); // cancel first, but don't await yet\n this.reader.releaseLock(); // release lock first\n await cancelPromise; // now await it\n }\n return { done: true, value: undefined };\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n async throw(e: any): Promise<IteratorResult<T>> {\n this.ensureReader();\n if (this.locked) {\n const cancelPromise = this.reader.cancel(); // cancel first, but don't await yet\n this.reader.releaseLock(); // release lock first\n await cancelPromise; // now await it\n }\n throw e;\n }\n\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore Not present in Node 18 types, required in latest Node 22\n async [Symbol.asyncDispose]() {\n await this.return();\n }\n\n [Symbol.asyncIterator]() {\n return this;\n }\n\n static fromReadableStream<T>(stream: ReadableStream<T>) {\n // From https://developer.mozilla.org/en-US/docs/Web/API/Streams_API/Using_readable_streams#reading_the_stream\n const reader = stream.getReader();\n return new IterableReadableStream<T>({\n start(controller) {\n return pump();\n function pump(): Promise<T | undefined> {\n return reader.read().then(({ done, value }) => {\n // When no more data needs to be consumed, close the stream\n if (done) {\n controller.close();\n return;\n }\n // Enqueue the next data chunk into our target stream\n controller.enqueue(value);\n return pump();\n });\n }\n },\n cancel() {\n reader.releaseLock();\n },\n });\n }\n\n static fromAsyncGenerator<T>(generator: AsyncGenerator<T>) {\n return new IterableReadableStream<T>({\n async pull(controller) {\n const { value, done } = await generator.next();\n // When no more data needs to be consumed, close the stream\n if (done) {\n controller.close();\n }\n // Fix: `else if (value)` will hang the streaming when nullish value (e.g. empty string) is pulled\n controller.enqueue(value);\n },\n async cancel(reason) {\n await generator.return(reason);\n },\n });\n }\n}\n"],"mappings":";;AAOA,IAAa,yBAAb,MAAa,+BACH,eAEV;CACE,AAAO;CAEP,eAAe;AACb,MAAI,CAAC,KAAK,OACR,MAAK,SAAS,KAAK;;CAIvB,MAAM,OAAmC;AACvC,OAAK;AACL,MAAI;GACF,MAAM,SAAS,MAAM,KAAK,OAAO;AACjC,OAAI,OAAO,MAAM;AACf,SAAK,OAAO;AACZ,WAAO;KACL,MAAM;KACN,OAAO;;SAGT,QAAO;IACL,MAAM;IACN,OAAO,OAAO;;WAGX,GAAG;AACV,QAAK,OAAO;AACZ,SAAM;;;CAIV,MAAM,SAAqC;AACzC,OAAK;AAEL,MAAI,KAAK,QAAQ;GACf,MAAM,gBAAgB,KAAK,OAAO;AAClC,QAAK,OAAO;AACZ,SAAM;;AAER,SAAO;GAAE,MAAM;GAAM,OAAO;;;CAI9B,MAAM,MAAM,GAAoC;AAC9C,OAAK;AACL,MAAI,KAAK,QAAQ;GACf,MAAM,gBAAgB,KAAK,OAAO;AAClC,QAAK,OAAO;AACZ,SAAM;;AAER,QAAM;;CAKR,OAAO,OAAO,gBAAgB;AAC5B,QAAM,KAAK;;CAGb,CAAC,OAAO,iBAAiB;AACvB,SAAO;;CAGT,OAAO,mBAAsB,QAA2B;EAEtD,MAAM,SAAS,OAAO;AACtB,SAAO,IAAI,uBAA0B;GACnC,MAAM,YAAY;AAChB,WAAO;IACP,SAAS,OAA+B;AACtC,YAAO,OAAO,OAAO,MAAM,EAAE,MAAM,YAAY;AAE7C,UAAI,MAAM;AACR,kBAAW;AACX;;AAGF,iBAAW,QAAQ;AACnB,aAAO;;;;GAIb,SAAS;AACP,WAAO;;;;CAKb,OAAO,mBAAsB,WAA8B;AACzD,SAAO,IAAI,uBAA0B;GACnC,MAAM,KAAK,YAAY;IACrB,MAAM,EAAE,OAAO,SAAS,MAAM,UAAU;AAExC,QAAI,KACF,YAAW;AAGb,eAAW,QAAQ;;GAErB,MAAM,OAAO,QAAQ;AACnB,UAAM,UAAU,OAAO"}
|
package/dist/utils/stream.js
CHANGED
|
@@ -1,111 +1,90 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
reader.releaseLock();
|
|
92
|
-
},
|
|
93
|
-
});
|
|
94
|
-
}
|
|
95
|
-
static fromAsyncGenerator(generator) {
|
|
96
|
-
return new IterableReadableStream({
|
|
97
|
-
async pull(controller) {
|
|
98
|
-
const { value, done } = await generator.next();
|
|
99
|
-
// When no more data needs to be consumed, close the stream
|
|
100
|
-
if (done) {
|
|
101
|
-
controller.close();
|
|
102
|
-
}
|
|
103
|
-
// Fix: `else if (value)` will hang the streaming when nullish value (e.g. empty string) is pulled
|
|
104
|
-
controller.enqueue(value);
|
|
105
|
-
},
|
|
106
|
-
async cancel(reason) {
|
|
107
|
-
await generator.return(reason);
|
|
108
|
-
},
|
|
109
|
-
});
|
|
110
|
-
}
|
|
111
|
-
}
|
|
1
|
+
//#region src/utils/stream.ts
|
|
2
|
+
var IterableReadableStream = class IterableReadableStream extends ReadableStream {
|
|
3
|
+
reader;
|
|
4
|
+
ensureReader() {
|
|
5
|
+
if (!this.reader) this.reader = this.getReader();
|
|
6
|
+
}
|
|
7
|
+
async next() {
|
|
8
|
+
this.ensureReader();
|
|
9
|
+
try {
|
|
10
|
+
const result = await this.reader.read();
|
|
11
|
+
if (result.done) {
|
|
12
|
+
this.reader.releaseLock();
|
|
13
|
+
return {
|
|
14
|
+
done: true,
|
|
15
|
+
value: void 0
|
|
16
|
+
};
|
|
17
|
+
} else return {
|
|
18
|
+
done: false,
|
|
19
|
+
value: result.value
|
|
20
|
+
};
|
|
21
|
+
} catch (e) {
|
|
22
|
+
this.reader.releaseLock();
|
|
23
|
+
throw e;
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
async return() {
|
|
27
|
+
this.ensureReader();
|
|
28
|
+
if (this.locked) {
|
|
29
|
+
const cancelPromise = this.reader.cancel();
|
|
30
|
+
this.reader.releaseLock();
|
|
31
|
+
await cancelPromise;
|
|
32
|
+
}
|
|
33
|
+
return {
|
|
34
|
+
done: true,
|
|
35
|
+
value: void 0
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
async throw(e) {
|
|
39
|
+
this.ensureReader();
|
|
40
|
+
if (this.locked) {
|
|
41
|
+
const cancelPromise = this.reader.cancel();
|
|
42
|
+
this.reader.releaseLock();
|
|
43
|
+
await cancelPromise;
|
|
44
|
+
}
|
|
45
|
+
throw e;
|
|
46
|
+
}
|
|
47
|
+
async [Symbol.asyncDispose]() {
|
|
48
|
+
await this.return();
|
|
49
|
+
}
|
|
50
|
+
[Symbol.asyncIterator]() {
|
|
51
|
+
return this;
|
|
52
|
+
}
|
|
53
|
+
static fromReadableStream(stream) {
|
|
54
|
+
const reader = stream.getReader();
|
|
55
|
+
return new IterableReadableStream({
|
|
56
|
+
start(controller) {
|
|
57
|
+
return pump();
|
|
58
|
+
function pump() {
|
|
59
|
+
return reader.read().then(({ done, value }) => {
|
|
60
|
+
if (done) {
|
|
61
|
+
controller.close();
|
|
62
|
+
return;
|
|
63
|
+
}
|
|
64
|
+
controller.enqueue(value);
|
|
65
|
+
return pump();
|
|
66
|
+
});
|
|
67
|
+
}
|
|
68
|
+
},
|
|
69
|
+
cancel() {
|
|
70
|
+
reader.releaseLock();
|
|
71
|
+
}
|
|
72
|
+
});
|
|
73
|
+
}
|
|
74
|
+
static fromAsyncGenerator(generator) {
|
|
75
|
+
return new IterableReadableStream({
|
|
76
|
+
async pull(controller) {
|
|
77
|
+
const { value, done } = await generator.next();
|
|
78
|
+
if (done) controller.close();
|
|
79
|
+
controller.enqueue(value);
|
|
80
|
+
},
|
|
81
|
+
async cancel(reason) {
|
|
82
|
+
await generator.return(reason);
|
|
83
|
+
}
|
|
84
|
+
});
|
|
85
|
+
}
|
|
86
|
+
};
|
|
87
|
+
|
|
88
|
+
//#endregion
|
|
89
|
+
export { IterableReadableStream };
|
|
90
|
+
//# sourceMappingURL=stream.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stream.js","names":[],"sources":["../../src/utils/stream.ts"],"sourcesContent":["// in this case don't quite match.\ntype IterableReadableStreamInterface<T> = ReadableStream<T> & AsyncIterable<T>;\n\n/*\n * Support async iterator syntax for ReadableStreams in all environments.\n * Source: https://github.com/MattiasBuelens/web-streams-polyfill/pull/122#issuecomment-1627354490\n */\nexport class IterableReadableStream<T>\n extends ReadableStream<T>\n implements IterableReadableStreamInterface<T>\n{\n public reader: ReadableStreamDefaultReader<T>;\n\n ensureReader() {\n if (!this.reader) {\n this.reader = this.getReader();\n }\n }\n\n async next(): Promise<IteratorResult<T>> {\n this.ensureReader();\n try {\n const result = await this.reader.read();\n if (result.done) {\n this.reader.releaseLock(); // release lock when stream becomes closed\n return {\n done: true,\n value: undefined,\n };\n } else {\n return {\n done: false,\n value: result.value,\n };\n }\n } catch (e) {\n this.reader.releaseLock(); // release lock when stream becomes errored\n throw e;\n }\n }\n\n async return(): Promise<IteratorResult<T>> {\n this.ensureReader();\n // If wrapped in a Node stream, cancel is already called.\n if (this.locked) {\n const cancelPromise = this.reader.cancel(); // cancel first, but don't await yet\n this.reader.releaseLock(); // release lock first\n await cancelPromise; // now await it\n }\n return { done: true, value: undefined };\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n async throw(e: any): Promise<IteratorResult<T>> {\n this.ensureReader();\n if (this.locked) {\n const cancelPromise = this.reader.cancel(); // cancel first, but don't await yet\n this.reader.releaseLock(); // release lock first\n await cancelPromise; // now await it\n }\n throw e;\n }\n\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore Not present in Node 18 types, required in latest Node 22\n async [Symbol.asyncDispose]() {\n await this.return();\n }\n\n [Symbol.asyncIterator]() {\n return this;\n }\n\n static fromReadableStream<T>(stream: ReadableStream<T>) {\n // From https://developer.mozilla.org/en-US/docs/Web/API/Streams_API/Using_readable_streams#reading_the_stream\n const reader = stream.getReader();\n return new IterableReadableStream<T>({\n start(controller) {\n return pump();\n function pump(): Promise<T | undefined> {\n return reader.read().then(({ done, value }) => {\n // When no more data needs to be consumed, close the stream\n if (done) {\n controller.close();\n return;\n }\n // Enqueue the next data chunk into our target stream\n controller.enqueue(value);\n return pump();\n });\n }\n },\n cancel() {\n reader.releaseLock();\n },\n });\n }\n\n static fromAsyncGenerator<T>(generator: AsyncGenerator<T>) {\n return new IterableReadableStream<T>({\n async pull(controller) {\n const { value, done } = await generator.next();\n // When no more data needs to be consumed, close the stream\n if (done) {\n controller.close();\n }\n // Fix: `else if (value)` will hang the streaming when nullish value (e.g. empty string) is pulled\n controller.enqueue(value);\n },\n async cancel(reason) {\n await generator.return(reason);\n },\n });\n }\n}\n"],"mappings":";AAOA,IAAa,yBAAb,MAAa,+BACH,eAEV;CACE,AAAO;CAEP,eAAe;AACb,MAAI,CAAC,KAAK,OACR,MAAK,SAAS,KAAK;;CAIvB,MAAM,OAAmC;AACvC,OAAK;AACL,MAAI;GACF,MAAM,SAAS,MAAM,KAAK,OAAO;AACjC,OAAI,OAAO,MAAM;AACf,SAAK,OAAO;AACZ,WAAO;KACL,MAAM;KACN,OAAO;;SAGT,QAAO;IACL,MAAM;IACN,OAAO,OAAO;;WAGX,GAAG;AACV,QAAK,OAAO;AACZ,SAAM;;;CAIV,MAAM,SAAqC;AACzC,OAAK;AAEL,MAAI,KAAK,QAAQ;GACf,MAAM,gBAAgB,KAAK,OAAO;AAClC,QAAK,OAAO;AACZ,SAAM;;AAER,SAAO;GAAE,MAAM;GAAM,OAAO;;;CAI9B,MAAM,MAAM,GAAoC;AAC9C,OAAK;AACL,MAAI,KAAK,QAAQ;GACf,MAAM,gBAAgB,KAAK,OAAO;AAClC,QAAK,OAAO;AACZ,SAAM;;AAER,QAAM;;CAKR,OAAO,OAAO,gBAAgB;AAC5B,QAAM,KAAK;;CAGb,CAAC,OAAO,iBAAiB;AACvB,SAAO;;CAGT,OAAO,mBAAsB,QAA2B;EAEtD,MAAM,SAAS,OAAO;AACtB,SAAO,IAAI,uBAA0B;GACnC,MAAM,YAAY;AAChB,WAAO;IACP,SAAS,OAA+B;AACtC,YAAO,OAAO,OAAO,MAAM,EAAE,MAAM,YAAY;AAE7C,UAAI,MAAM;AACR,kBAAW;AACX;;AAGF,iBAAW,QAAQ;AACnB,aAAO;;;;GAIb,SAAS;AACP,WAAO;;;;CAKb,OAAO,mBAAsB,WAA8B;AACzD,SAAO,IAAI,uBAA0B;GACnC,MAAM,KAAK,YAAY;IACrB,MAAM,EAAE,OAAO,SAAS,MAAM,UAAU;AAExC,QAAI,KACF,YAAW;AAGb,eAAW,QAAQ;;GAErB,MAAM,OAAO,QAAQ;AACnB,UAAM,UAAU,OAAO"}
|
package/package.json
CHANGED
|
@@ -1,31 +1,28 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@langchain/langgraph-sdk",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "1.0.0",
|
|
4
4
|
"description": "Client library for interacting with the LangGraph API",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"scripts": {
|
|
7
7
|
"clean": "rm -rf dist/ dist-cjs/",
|
|
8
8
|
"build": "yarn turbo:command build:internal --filter=@langchain/langgraph-sdk",
|
|
9
|
-
"build:internal": "yarn
|
|
10
|
-
"
|
|
9
|
+
"build:internal": "yarn workspace @langchain/build compile @langchain/langgraph-sdk",
|
|
10
|
+
"prepublish": "yarn build",
|
|
11
11
|
"format:check": "prettier --check src",
|
|
12
12
|
"format": "prettier --write src",
|
|
13
13
|
"lint:eslint": "NODE_OPTIONS=--max-old-space-size=4096 eslint --cache --ext .ts,.js,.jsx,.tsx src/",
|
|
14
14
|
"lint": "yarn lint:eslint",
|
|
15
15
|
"lint:fix": "yarn lint:eslint --fix",
|
|
16
|
-
"test": "vitest run"
|
|
17
|
-
"typedoc": "typedoc && typedoc src/react/index.ts --out docs/react --options typedoc.react.json && typedoc src/auth/index.ts --out docs/auth --options typedoc.auth.json"
|
|
16
|
+
"test": "vitest run"
|
|
18
17
|
},
|
|
19
|
-
"main": "index.js",
|
|
20
18
|
"license": "MIT",
|
|
21
19
|
"dependencies": {
|
|
22
|
-
"@types/json-schema": "^7.0.15",
|
|
23
20
|
"p-queue": "^6.6.2",
|
|
24
21
|
"p-retry": "4",
|
|
25
22
|
"uuid": "^9.0.0"
|
|
26
23
|
},
|
|
27
24
|
"devDependencies": {
|
|
28
|
-
"@langchain/core": "^0.
|
|
25
|
+
"@langchain/core": "^1.0.1",
|
|
29
26
|
"@langchain/scripts": "^0.1.4",
|
|
30
27
|
"@tsconfig/recommended": "^1.0.2",
|
|
31
28
|
"@types/node": "^18.15.11",
|
|
@@ -48,7 +45,7 @@
|
|
|
48
45
|
"vitest": "^3.1.2"
|
|
49
46
|
},
|
|
50
47
|
"peerDependencies": {
|
|
51
|
-
"@langchain/core": "
|
|
48
|
+
"@langchain/core": "^1.0.1",
|
|
52
49
|
"react": "^18 || ^19",
|
|
53
50
|
"react-dom": "^18 || ^19"
|
|
54
51
|
},
|
|
@@ -63,101 +60,96 @@
|
|
|
63
60
|
"optional": true
|
|
64
61
|
}
|
|
65
62
|
},
|
|
63
|
+
"main": "./dist/index.js",
|
|
64
|
+
"types": "./dist/index.d.ts",
|
|
66
65
|
"exports": {
|
|
67
66
|
".": {
|
|
68
|
-
"
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
"
|
|
67
|
+
"input": "./src/index.ts",
|
|
68
|
+
"typedoc": "./src/index.ts",
|
|
69
|
+
"import": {
|
|
70
|
+
"types": "./dist/index.d.ts",
|
|
71
|
+
"default": "./dist/index.js"
|
|
72
72
|
},
|
|
73
|
-
"
|
|
74
|
-
|
|
73
|
+
"require": {
|
|
74
|
+
"types": "./dist/index.d.cts",
|
|
75
|
+
"default": "./dist/index.cjs"
|
|
76
|
+
}
|
|
75
77
|
},
|
|
76
78
|
"./client": {
|
|
77
|
-
"
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
"
|
|
79
|
+
"input": "./src/client.ts",
|
|
80
|
+
"typedoc": "./src/client.ts",
|
|
81
|
+
"import": {
|
|
82
|
+
"types": "./dist/client.d.ts",
|
|
83
|
+
"default": "./dist/client.js"
|
|
81
84
|
},
|
|
82
|
-
"
|
|
83
|
-
|
|
85
|
+
"require": {
|
|
86
|
+
"types": "./dist/client.d.cts",
|
|
87
|
+
"default": "./dist/client.cjs"
|
|
88
|
+
}
|
|
84
89
|
},
|
|
85
90
|
"./auth": {
|
|
86
|
-
"
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
"
|
|
91
|
+
"input": "./src/auth/index.ts",
|
|
92
|
+
"typedoc": "./src/auth/index.ts",
|
|
93
|
+
"import": {
|
|
94
|
+
"types": "./dist/auth/index.d.ts",
|
|
95
|
+
"default": "./dist/auth/index.js"
|
|
90
96
|
},
|
|
91
|
-
"
|
|
92
|
-
|
|
97
|
+
"require": {
|
|
98
|
+
"types": "./dist/auth/index.d.cts",
|
|
99
|
+
"default": "./dist/auth/index.cjs"
|
|
100
|
+
}
|
|
93
101
|
},
|
|
94
102
|
"./react": {
|
|
95
|
-
"
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
"
|
|
103
|
+
"input": "./src/react/index.ts",
|
|
104
|
+
"typedoc": "./src/react/index.ts",
|
|
105
|
+
"import": {
|
|
106
|
+
"types": "./dist/react/index.d.ts",
|
|
107
|
+
"default": "./dist/react/index.js"
|
|
99
108
|
},
|
|
100
|
-
"
|
|
101
|
-
|
|
109
|
+
"require": {
|
|
110
|
+
"types": "./dist/react/index.d.cts",
|
|
111
|
+
"default": "./dist/react/index.cjs"
|
|
112
|
+
}
|
|
102
113
|
},
|
|
103
114
|
"./logging": {
|
|
104
|
-
"
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
"
|
|
115
|
+
"input": "./src/logging/index.ts",
|
|
116
|
+
"typedoc": "./src/logging/index.ts",
|
|
117
|
+
"import": {
|
|
118
|
+
"types": "./dist/logging/index.d.ts",
|
|
119
|
+
"default": "./dist/logging/index.js"
|
|
108
120
|
},
|
|
109
|
-
"
|
|
110
|
-
|
|
121
|
+
"require": {
|
|
122
|
+
"types": "./dist/logging/index.d.cts",
|
|
123
|
+
"default": "./dist/logging/index.cjs"
|
|
124
|
+
}
|
|
111
125
|
},
|
|
112
126
|
"./react-ui": {
|
|
113
|
-
"
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
"
|
|
127
|
+
"input": "./src/react-ui/index.ts",
|
|
128
|
+
"typedoc": "./src/react-ui/index.ts",
|
|
129
|
+
"import": {
|
|
130
|
+
"types": "./dist/react-ui/index.d.ts",
|
|
131
|
+
"default": "./dist/react-ui/index.js"
|
|
117
132
|
},
|
|
118
|
-
"
|
|
119
|
-
|
|
133
|
+
"require": {
|
|
134
|
+
"types": "./dist/react-ui/index.d.cts",
|
|
135
|
+
"default": "./dist/react-ui/index.cjs"
|
|
136
|
+
}
|
|
120
137
|
},
|
|
121
138
|
"./react-ui/server": {
|
|
122
|
-
"
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
"
|
|
139
|
+
"input": "./src/react-ui/server/index.ts",
|
|
140
|
+
"typedoc": "./src/react-ui/server/index.ts",
|
|
141
|
+
"import": {
|
|
142
|
+
"types": "./dist/react-ui/server/index.d.ts",
|
|
143
|
+
"default": "./dist/react-ui/server/index.js"
|
|
126
144
|
},
|
|
127
|
-
"
|
|
128
|
-
|
|
145
|
+
"require": {
|
|
146
|
+
"types": "./dist/react-ui/server/index.d.cts",
|
|
147
|
+
"default": "./dist/react-ui/server/index.cjs"
|
|
148
|
+
}
|
|
129
149
|
},
|
|
130
150
|
"./package.json": "./package.json"
|
|
131
151
|
},
|
|
132
152
|
"files": [
|
|
133
|
-
"dist/"
|
|
134
|
-
"index.cjs",
|
|
135
|
-
"index.js",
|
|
136
|
-
"index.d.ts",
|
|
137
|
-
"index.d.cts",
|
|
138
|
-
"client.cjs",
|
|
139
|
-
"client.js",
|
|
140
|
-
"client.d.ts",
|
|
141
|
-
"client.d.cts",
|
|
142
|
-
"auth.cjs",
|
|
143
|
-
"auth.js",
|
|
144
|
-
"auth.d.ts",
|
|
145
|
-
"auth.d.cts",
|
|
146
|
-
"react.cjs",
|
|
147
|
-
"react.js",
|
|
148
|
-
"react.d.ts",
|
|
149
|
-
"react.d.cts",
|
|
150
|
-
"logging.cjs",
|
|
151
|
-
"logging.js",
|
|
152
|
-
"logging.d.ts",
|
|
153
|
-
"logging.d.cts",
|
|
154
|
-
"react-ui.cjs",
|
|
155
|
-
"react-ui.js",
|
|
156
|
-
"react-ui.d.ts",
|
|
157
|
-
"react-ui.d.cts",
|
|
158
|
-
"react-ui/server.cjs",
|
|
159
|
-
"react-ui/server.js",
|
|
160
|
-
"react-ui/server.d.ts",
|
|
161
|
-
"react-ui/server.d.cts"
|
|
153
|
+
"dist/"
|
|
162
154
|
]
|
|
163
155
|
}
|