@s2-dev/streamstore 0.15.7 → 0.15.9
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/bin/mcp-server.js +28 -35
- package/bin/mcp-server.js.map +6 -6
- package/dist/commonjs/lib/config.d.ts +3 -3
- package/dist/commonjs/lib/config.js +3 -3
- package/dist/commonjs/lib/event-streams.d.ts +1 -1
- package/dist/commonjs/lib/event-streams.d.ts.map +1 -1
- package/dist/commonjs/lib/event-streams.js +22 -29
- package/dist/commonjs/lib/event-streams.js.map +1 -1
- package/dist/commonjs/mcp-server/mcp-server.js +1 -1
- package/dist/commonjs/mcp-server/server.js +1 -1
- package/dist/esm/lib/config.d.ts +3 -3
- package/dist/esm/lib/config.js +3 -3
- package/dist/esm/lib/event-streams.d.ts +1 -1
- package/dist/esm/lib/event-streams.d.ts.map +1 -1
- package/dist/esm/lib/event-streams.js +22 -29
- package/dist/esm/lib/event-streams.js.map +1 -1
- package/dist/esm/mcp-server/mcp-server.js +1 -1
- package/dist/esm/mcp-server/server.js +1 -1
- package/docs/sdks/accesstokens/README.md +3 -0
- package/docs/sdks/basins/README.md +6 -0
- package/docs/sdks/metrics/README.md +3 -0
- package/docs/sdks/records/README.md +3 -0
- package/docs/sdks/streams/README.md +6 -0
- package/examples/package-lock.json +5 -6
- package/jsr.json +1 -1
- package/package.json +5 -6
- package/src/lib/config.ts +3 -3
- package/src/lib/event-streams.ts +21 -31
- package/src/mcp-server/mcp-server.ts +1 -1
- package/src/mcp-server/server.ts +1 -1
package/src/lib/event-streams.ts
CHANGED
|
@@ -13,32 +13,37 @@ export class EventStream<T extends ServerEvent<unknown>>
|
|
|
13
13
|
extends ReadableStream<T>
|
|
14
14
|
{
|
|
15
15
|
constructor(
|
|
16
|
-
|
|
16
|
+
responseBody: ReadableStream<Uint8Array>,
|
|
17
17
|
parse: (x: ServerEvent<string>) => IteratorResult<T, undefined>,
|
|
18
18
|
) {
|
|
19
|
-
const
|
|
19
|
+
const upstream = responseBody.getReader();
|
|
20
20
|
let buffer: Uint8Array = new Uint8Array();
|
|
21
21
|
super({
|
|
22
|
-
async pull(
|
|
22
|
+
async pull(downstream) {
|
|
23
23
|
try {
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
24
|
+
while (true) {
|
|
25
|
+
const match = findBoundary(buffer);
|
|
26
|
+
if (!match) {
|
|
27
|
+
const chunk = await upstream.read();
|
|
28
|
+
if (chunk.done) return downstream.close();
|
|
29
|
+
buffer = concatBuffer(buffer, chunk.value);
|
|
30
|
+
continue;
|
|
31
|
+
}
|
|
32
|
+
const message = buffer.slice(0, match.index);
|
|
33
|
+
buffer = buffer.slice(match.index + match.length);
|
|
34
|
+
const item = parseMessage(message, parse);
|
|
35
|
+
if (item?.value) return downstream.enqueue(item.value);
|
|
31
36
|
if (item?.done) {
|
|
32
|
-
await
|
|
33
|
-
return
|
|
37
|
+
await upstream.cancel("done");
|
|
38
|
+
return downstream.close();
|
|
34
39
|
}
|
|
35
40
|
}
|
|
36
41
|
} catch (e) {
|
|
37
|
-
|
|
38
|
-
|
|
42
|
+
downstream.error(e);
|
|
43
|
+
await upstream.cancel(e);
|
|
39
44
|
}
|
|
40
45
|
},
|
|
41
|
-
cancel: reason =>
|
|
46
|
+
cancel: reason => upstream.cancel(reason),
|
|
42
47
|
});
|
|
43
48
|
}
|
|
44
49
|
|
|
@@ -103,22 +108,7 @@ function findBoundary(
|
|
|
103
108
|
return null;
|
|
104
109
|
}
|
|
105
110
|
|
|
106
|
-
function
|
|
107
|
-
remainder: Uint8Array,
|
|
108
|
-
): Generator<{ chunk: Uint8Array; remainder: Uint8Array }> {
|
|
109
|
-
while (true) {
|
|
110
|
-
const match = findBoundary(remainder);
|
|
111
|
-
if (!match) {
|
|
112
|
-
yield { chunk: new Uint8Array(), remainder };
|
|
113
|
-
return;
|
|
114
|
-
}
|
|
115
|
-
const chunk = remainder.slice(0, match.index);
|
|
116
|
-
remainder = remainder.slice(match.index + match.length);
|
|
117
|
-
yield { chunk, remainder };
|
|
118
|
-
}
|
|
119
|
-
}
|
|
120
|
-
|
|
121
|
-
function parseChunk<T extends ServerEvent<unknown>>(
|
|
111
|
+
function parseMessage<T extends ServerEvent<unknown>>(
|
|
122
112
|
chunk: Uint8Array,
|
|
123
113
|
parse: (x: ServerEvent<string>) => IteratorResult<T, undefined>,
|
|
124
114
|
) {
|