assistant-stream 0.0.18 → 0.0.20
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/dist/AssistantStream-dm_T4K6d.d.mts +28 -0
- package/dist/AssistantStream-dm_T4K6d.d.ts +28 -0
- package/dist/ai-sdk.d.mts +4 -4
- package/dist/ai-sdk.d.ts +4 -4
- package/dist/ai-sdk.js +9 -32
- package/dist/ai-sdk.js.map +1 -1
- package/dist/ai-sdk.mjs +8 -8
- package/dist/ai-sdk.mjs.map +1 -1
- package/dist/chunk-ZSSWV6GU.mjs +11 -0
- package/dist/chunk-ZSSWV6GU.mjs.map +1 -0
- package/dist/index.d.mts +26 -5
- package/dist/index.d.ts +26 -5
- package/dist/index.js +250 -242
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +258 -228
- package/dist/index.mjs.map +1 -1
- package/package.json +4 -4
- package/dist/AssistantStream-BvnjeSxd.d.mts +0 -30
- package/dist/AssistantStream-BvnjeSxd.d.ts +0 -30
- package/dist/chunk-K4MZ4HSJ.mjs +0 -36
- package/dist/chunk-K4MZ4HSJ.mjs.map +0 -1
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
type AssistantStreamChunk = {
|
|
2
|
+
type: "text-delta";
|
|
3
|
+
textDelta: string;
|
|
4
|
+
} | {
|
|
5
|
+
type: "tool-call-begin";
|
|
6
|
+
toolCallId: string;
|
|
7
|
+
toolName: string;
|
|
8
|
+
} | {
|
|
9
|
+
type: "tool-call-delta";
|
|
10
|
+
toolCallId: string;
|
|
11
|
+
argsTextDelta: string;
|
|
12
|
+
} | {
|
|
13
|
+
type: "tool-result";
|
|
14
|
+
toolCallId: string;
|
|
15
|
+
result: any;
|
|
16
|
+
} | {
|
|
17
|
+
type: "error";
|
|
18
|
+
error: string;
|
|
19
|
+
};
|
|
20
|
+
type AssistantStream = ReadableStream<AssistantStreamChunk>;
|
|
21
|
+
declare const AssistantStream: {
|
|
22
|
+
toResponse(stream: AssistantStream, transformer: ReadableWritablePair<Uint8Array, AssistantStreamChunk>): Response;
|
|
23
|
+
fromResponse(response: Response, transformer: ReadableWritablePair<AssistantStreamChunk, Uint8Array>): ReadableStream<AssistantStreamChunk>;
|
|
24
|
+
toByteStream(stream: AssistantStream, transformer: ReadableWritablePair<Uint8Array, AssistantStreamChunk>): ReadableStream<Uint8Array<ArrayBufferLike>>;
|
|
25
|
+
fromByteStream(readable: ReadableStream<Uint8Array>, transformer: ReadableWritablePair<AssistantStreamChunk, Uint8Array>): ReadableStream<AssistantStreamChunk>;
|
|
26
|
+
};
|
|
27
|
+
|
|
28
|
+
export { AssistantStream as A, type AssistantStreamChunk as a };
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
type AssistantStreamChunk = {
|
|
2
|
+
type: "text-delta";
|
|
3
|
+
textDelta: string;
|
|
4
|
+
} | {
|
|
5
|
+
type: "tool-call-begin";
|
|
6
|
+
toolCallId: string;
|
|
7
|
+
toolName: string;
|
|
8
|
+
} | {
|
|
9
|
+
type: "tool-call-delta";
|
|
10
|
+
toolCallId: string;
|
|
11
|
+
argsTextDelta: string;
|
|
12
|
+
} | {
|
|
13
|
+
type: "tool-result";
|
|
14
|
+
toolCallId: string;
|
|
15
|
+
result: any;
|
|
16
|
+
} | {
|
|
17
|
+
type: "error";
|
|
18
|
+
error: string;
|
|
19
|
+
};
|
|
20
|
+
type AssistantStream = ReadableStream<AssistantStreamChunk>;
|
|
21
|
+
declare const AssistantStream: {
|
|
22
|
+
toResponse(stream: AssistantStream, transformer: ReadableWritablePair<Uint8Array, AssistantStreamChunk>): Response;
|
|
23
|
+
fromResponse(response: Response, transformer: ReadableWritablePair<AssistantStreamChunk, Uint8Array>): ReadableStream<AssistantStreamChunk>;
|
|
24
|
+
toByteStream(stream: AssistantStream, transformer: ReadableWritablePair<Uint8Array, AssistantStreamChunk>): ReadableStream<Uint8Array<ArrayBufferLike>>;
|
|
25
|
+
fromByteStream(readable: ReadableStream<Uint8Array>, transformer: ReadableWritablePair<AssistantStreamChunk, Uint8Array>): ReadableStream<AssistantStreamChunk>;
|
|
26
|
+
};
|
|
27
|
+
|
|
28
|
+
export { AssistantStream as A, type AssistantStreamChunk as a };
|
package/dist/ai-sdk.d.mts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { TextStreamPart, CoreTool, ObjectStreamPart } from 'ai';
|
|
2
|
-
import { A as AssistantStream } from './AssistantStream-
|
|
2
|
+
import { A as AssistantStream } from './AssistantStream-dm_T4K6d.mjs';
|
|
3
3
|
|
|
4
|
-
declare const
|
|
5
|
-
declare const
|
|
4
|
+
declare const fromStreamText: (stream: ReadableStream<TextStreamPart<Record<string, CoreTool>>>) => AssistantStream;
|
|
5
|
+
declare const fromStreamObject: (stream: ReadableStream<ObjectStreamPart<unknown>>, toolName: string) => AssistantStream;
|
|
6
6
|
|
|
7
|
-
export {
|
|
7
|
+
export { fromStreamObject, fromStreamText };
|
package/dist/ai-sdk.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { TextStreamPart, CoreTool, ObjectStreamPart } from 'ai';
|
|
2
|
-
import { A as AssistantStream } from './AssistantStream-
|
|
2
|
+
import { A as AssistantStream } from './AssistantStream-dm_T4K6d.js';
|
|
3
3
|
|
|
4
|
-
declare const
|
|
5
|
-
declare const
|
|
4
|
+
declare const fromStreamText: (stream: ReadableStream<TextStreamPart<Record<string, CoreTool>>>) => AssistantStream;
|
|
5
|
+
declare const fromStreamObject: (stream: ReadableStream<ObjectStreamPart<unknown>>, toolName: string) => AssistantStream;
|
|
6
6
|
|
|
7
|
-
export {
|
|
7
|
+
export { fromStreamObject, fromStreamText };
|
package/dist/ai-sdk.js
CHANGED
|
@@ -20,35 +20,11 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
|
|
|
20
20
|
// src/ai-sdk.ts
|
|
21
21
|
var ai_sdk_exports = {};
|
|
22
22
|
__export(ai_sdk_exports, {
|
|
23
|
-
|
|
24
|
-
|
|
23
|
+
fromStreamObject: () => fromStreamObject,
|
|
24
|
+
fromStreamText: () => fromStreamText
|
|
25
25
|
});
|
|
26
26
|
module.exports = __toCommonJS(ai_sdk_exports);
|
|
27
27
|
|
|
28
|
-
// src/core/AssistantStream.ts
|
|
29
|
-
var AssistantStream = class _AssistantStream {
|
|
30
|
-
constructor(readable) {
|
|
31
|
-
this.readable = readable;
|
|
32
|
-
this.readable = readable;
|
|
33
|
-
}
|
|
34
|
-
toResponse(transformer) {
|
|
35
|
-
return new Response(this.toByteStream(transformer));
|
|
36
|
-
}
|
|
37
|
-
static fromResponse(response, transformer) {
|
|
38
|
-
return _AssistantStream.fromByteStream(response.body, transformer);
|
|
39
|
-
}
|
|
40
|
-
toByteStream(transformer) {
|
|
41
|
-
return this.readable.pipeThrough(transformer);
|
|
42
|
-
}
|
|
43
|
-
static fromByteStream(readable, transformer) {
|
|
44
|
-
return new _AssistantStream(readable.pipeThrough(transformer));
|
|
45
|
-
}
|
|
46
|
-
tee() {
|
|
47
|
-
const [readable1, readable2] = this.readable.tee();
|
|
48
|
-
return [new _AssistantStream(readable1), new _AssistantStream(readable2)];
|
|
49
|
-
}
|
|
50
|
-
};
|
|
51
|
-
|
|
52
28
|
// src/core/utils/generateId.tsx
|
|
53
29
|
var import_non_secure = require("nanoid/non-secure");
|
|
54
30
|
var generateId = (0, import_non_secure.customAlphabet)(
|
|
@@ -57,7 +33,7 @@ var generateId = (0, import_non_secure.customAlphabet)(
|
|
|
57
33
|
);
|
|
58
34
|
|
|
59
35
|
// src/ai-sdk/index.ts
|
|
60
|
-
var
|
|
36
|
+
var fromStreamText = (stream) => {
|
|
61
37
|
const transformer = new TransformStream({
|
|
62
38
|
transform(chunk, controller) {
|
|
63
39
|
const { type } = chunk;
|
|
@@ -111,6 +87,7 @@ var fromAISDKStreamText = (stream) => {
|
|
|
111
87
|
});
|
|
112
88
|
break;
|
|
113
89
|
}
|
|
90
|
+
case "reasoning":
|
|
114
91
|
case "step-start":
|
|
115
92
|
case "step-finish":
|
|
116
93
|
case "error":
|
|
@@ -124,9 +101,9 @@ var fromAISDKStreamText = (stream) => {
|
|
|
124
101
|
}
|
|
125
102
|
}
|
|
126
103
|
});
|
|
127
|
-
return
|
|
104
|
+
return stream.pipeThrough(transformer);
|
|
128
105
|
};
|
|
129
|
-
var
|
|
106
|
+
var fromStreamObject = (stream, toolName) => {
|
|
130
107
|
const toolCallId = generateId();
|
|
131
108
|
const transformer = new TransformStream({
|
|
132
109
|
start(controller) {
|
|
@@ -167,11 +144,11 @@ var fromAISDKStreamObject = (stream, toolName) => {
|
|
|
167
144
|
}
|
|
168
145
|
}
|
|
169
146
|
});
|
|
170
|
-
return
|
|
147
|
+
return stream.pipeThrough(transformer);
|
|
171
148
|
};
|
|
172
149
|
// Annotate the CommonJS export names for ESM import in node:
|
|
173
150
|
0 && (module.exports = {
|
|
174
|
-
|
|
175
|
-
|
|
151
|
+
fromStreamObject,
|
|
152
|
+
fromStreamText
|
|
176
153
|
});
|
|
177
154
|
//# sourceMappingURL=ai-sdk.js.map
|
package/dist/ai-sdk.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/ai-sdk.ts","../src/core/
|
|
1
|
+
{"version":3,"sources":["../src/ai-sdk.ts","../src/core/utils/generateId.tsx","../src/ai-sdk/index.ts"],"sourcesContent":["export * from \"./ai-sdk/index\";\n","import { customAlphabet } from \"nanoid/non-secure\";\n\nexport const generateId = customAlphabet(\n \"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz\",\n 7,\n);\n","import type { TextStreamPart, CoreTool, ObjectStreamPart } from \"ai\";\nimport { AssistantStream, AssistantStreamChunk } from \"../core/AssistantStream\";\nimport { generateId } from \"../core/utils/generateId\";\n\nexport const fromStreamText = (\n stream: ReadableStream<TextStreamPart<Record<string, CoreTool>>>,\n): AssistantStream => {\n const transformer = new TransformStream<\n TextStreamPart<Record<string, CoreTool>>,\n AssistantStreamChunk\n >({\n transform(chunk, controller) {\n const { type } = chunk;\n switch (type) {\n case \"text-delta\": {\n const { textDelta } = chunk;\n controller.enqueue({\n type: \"text-delta\",\n textDelta,\n });\n break;\n }\n case \"tool-call-streaming-start\": {\n const { toolCallId, toolName } = chunk;\n controller.enqueue({\n type: \"tool-call-begin\",\n toolCallId,\n toolName,\n });\n break;\n }\n case \"tool-call-delta\": {\n const { toolCallId, argsTextDelta } = chunk;\n controller.enqueue({\n type: \"tool-call-delta\",\n toolCallId,\n argsTextDelta,\n });\n break;\n }\n case \"tool-result\" as string: {\n const { toolCallId, result } = chunk as unknown as {\n toolCallId: string;\n result: unknown;\n };\n controller.enqueue({\n type: \"tool-result\",\n toolCallId,\n result,\n });\n break;\n }\n case \"tool-call\": {\n const { toolCallId, toolName, args } = chunk;\n controller.enqueue({\n type: \"tool-call-begin\",\n toolCallId,\n toolName,\n });\n controller.enqueue({\n type: \"tool-call-delta\",\n toolCallId,\n argsTextDelta: JSON.stringify(args),\n });\n break;\n }\n\n case \"reasoning\":\n case \"step-start\":\n case \"step-finish\":\n case \"error\":\n case \"finish\": {\n break;\n }\n\n default: {\n const unhandledType: never = type;\n throw new Error(`Unhandled chunk type: ${unhandledType}`);\n }\n }\n },\n });\n\n return stream.pipeThrough(transformer);\n};\n\nexport const fromStreamObject = (\n stream: ReadableStream<ObjectStreamPart<unknown>>,\n toolName: string,\n): AssistantStream => {\n const toolCallId = generateId();\n const transformer = new TransformStream<\n ObjectStreamPart<unknown>,\n AssistantStreamChunk\n >({\n start(controller) {\n controller.enqueue({\n type: \"tool-call-begin\",\n toolName,\n toolCallId,\n });\n },\n transform(chunk, controller) {\n const { type } = chunk;\n switch (type) {\n case \"text-delta\": {\n const { textDelta } = chunk;\n controller.enqueue({\n type: \"tool-call-delta\",\n toolCallId,\n argsTextDelta: textDelta,\n });\n break;\n }\n case \"finish\": {\n controller.enqueue({\n type: \"tool-result\",\n toolCallId,\n result: \"\",\n });\n break;\n }\n\n case \"object\":\n case \"error\": {\n break;\n }\n\n default: {\n const unhandledType: never = type;\n throw new Error(`Unhandled chunk type: ${unhandledType}`);\n }\n }\n },\n });\n\n return stream.pipeThrough(transformer);\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACAA,wBAA+B;AAExB,IAAM,iBAAa;AAAA,EACxB;AAAA,EACA;AACF;;;ACDO,IAAM,iBAAiB,CAC5B,WACoB;AACpB,QAAM,cAAc,IAAI,gBAGtB;AAAA,IACA,UAAU,OAAO,YAAY;AAC3B,YAAM,EAAE,KAAK,IAAI;AACjB,cAAQ,MAAM;AAAA,QACZ,KAAK,cAAc;AACjB,gBAAM,EAAE,UAAU,IAAI;AACtB,qBAAW,QAAQ;AAAA,YACjB,MAAM;AAAA,YACN;AAAA,UACF,CAAC;AACD;AAAA,QACF;AAAA,QACA,KAAK,6BAA6B;AAChC,gBAAM,EAAE,YAAY,SAAS,IAAI;AACjC,qBAAW,QAAQ;AAAA,YACjB,MAAM;AAAA,YACN;AAAA,YACA;AAAA,UACF,CAAC;AACD;AAAA,QACF;AAAA,QACA,KAAK,mBAAmB;AACtB,gBAAM,EAAE,YAAY,cAAc,IAAI;AACtC,qBAAW,QAAQ;AAAA,YACjB,MAAM;AAAA,YACN;AAAA,YACA;AAAA,UACF,CAAC;AACD;AAAA,QACF;AAAA,QACA,KAAK,eAAyB;AAC5B,gBAAM,EAAE,YAAY,OAAO,IAAI;AAI/B,qBAAW,QAAQ;AAAA,YACjB,MAAM;AAAA,YACN;AAAA,YACA;AAAA,UACF,CAAC;AACD;AAAA,QACF;AAAA,QACA,KAAK,aAAa;AAChB,gBAAM,EAAE,YAAY,UAAU,KAAK,IAAI;AACvC,qBAAW,QAAQ;AAAA,YACjB,MAAM;AAAA,YACN;AAAA,YACA;AAAA,UACF,CAAC;AACD,qBAAW,QAAQ;AAAA,YACjB,MAAM;AAAA,YACN;AAAA,YACA,eAAe,KAAK,UAAU,IAAI;AAAA,UACpC,CAAC;AACD;AAAA,QACF;AAAA,QAEA,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK,UAAU;AACb;AAAA,QACF;AAAA,QAEA,SAAS;AACP,gBAAM,gBAAuB;AAC7B,gBAAM,IAAI,MAAM,yBAAyB,aAAa,EAAE;AAAA,QAC1D;AAAA,MACF;AAAA,IACF;AAAA,EACF,CAAC;AAED,SAAO,OAAO,YAAY,WAAW;AACvC;AAEO,IAAM,mBAAmB,CAC9B,QACA,aACoB;AACpB,QAAM,aAAa,WAAW;AAC9B,QAAM,cAAc,IAAI,gBAGtB;AAAA,IACA,MAAM,YAAY;AAChB,iBAAW,QAAQ;AAAA,QACjB,MAAM;AAAA,QACN;AAAA,QACA;AAAA,MACF,CAAC;AAAA,IACH;AAAA,IACA,UAAU,OAAO,YAAY;AAC3B,YAAM,EAAE,KAAK,IAAI;AACjB,cAAQ,MAAM;AAAA,QACZ,KAAK,cAAc;AACjB,gBAAM,EAAE,UAAU,IAAI;AACtB,qBAAW,QAAQ;AAAA,YACjB,MAAM;AAAA,YACN;AAAA,YACA,eAAe;AAAA,UACjB,CAAC;AACD;AAAA,QACF;AAAA,QACA,KAAK,UAAU;AACb,qBAAW,QAAQ;AAAA,YACjB,MAAM;AAAA,YACN;AAAA,YACA,QAAQ;AAAA,UACV,CAAC;AACD;AAAA,QACF;AAAA,QAEA,KAAK;AAAA,QACL,KAAK,SAAS;AACZ;AAAA,QACF;AAAA,QAEA,SAAS;AACP,gBAAM,gBAAuB;AAC7B,gBAAM,IAAI,MAAM,yBAAyB,aAAa,EAAE;AAAA,QAC1D;AAAA,MACF;AAAA,IACF;AAAA,EACF,CAAC;AAED,SAAO,OAAO,YAAY,WAAW;AACvC;","names":[]}
|
package/dist/ai-sdk.mjs
CHANGED
|
@@ -1,10 +1,9 @@
|
|
|
1
1
|
import {
|
|
2
|
-
AssistantStream,
|
|
3
2
|
generateId
|
|
4
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-ZSSWV6GU.mjs";
|
|
5
4
|
|
|
6
5
|
// src/ai-sdk/index.ts
|
|
7
|
-
var
|
|
6
|
+
var fromStreamText = (stream) => {
|
|
8
7
|
const transformer = new TransformStream({
|
|
9
8
|
transform(chunk, controller) {
|
|
10
9
|
const { type } = chunk;
|
|
@@ -58,6 +57,7 @@ var fromAISDKStreamText = (stream) => {
|
|
|
58
57
|
});
|
|
59
58
|
break;
|
|
60
59
|
}
|
|
60
|
+
case "reasoning":
|
|
61
61
|
case "step-start":
|
|
62
62
|
case "step-finish":
|
|
63
63
|
case "error":
|
|
@@ -71,9 +71,9 @@ var fromAISDKStreamText = (stream) => {
|
|
|
71
71
|
}
|
|
72
72
|
}
|
|
73
73
|
});
|
|
74
|
-
return
|
|
74
|
+
return stream.pipeThrough(transformer);
|
|
75
75
|
};
|
|
76
|
-
var
|
|
76
|
+
var fromStreamObject = (stream, toolName) => {
|
|
77
77
|
const toolCallId = generateId();
|
|
78
78
|
const transformer = new TransformStream({
|
|
79
79
|
start(controller) {
|
|
@@ -114,10 +114,10 @@ var fromAISDKStreamObject = (stream, toolName) => {
|
|
|
114
114
|
}
|
|
115
115
|
}
|
|
116
116
|
});
|
|
117
|
-
return
|
|
117
|
+
return stream.pipeThrough(transformer);
|
|
118
118
|
};
|
|
119
119
|
export {
|
|
120
|
-
|
|
121
|
-
|
|
120
|
+
fromStreamObject,
|
|
121
|
+
fromStreamText
|
|
122
122
|
};
|
|
123
123
|
//# sourceMappingURL=ai-sdk.mjs.map
|
package/dist/ai-sdk.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/ai-sdk/index.ts"],"sourcesContent":["import type { TextStreamPart, CoreTool, ObjectStreamPart } from \"ai\";\nimport { AssistantStream, AssistantStreamChunk } from \"../core/AssistantStream\";\nimport { generateId } from \"../core/utils/generateId\";\n\nexport const
|
|
1
|
+
{"version":3,"sources":["../src/ai-sdk/index.ts"],"sourcesContent":["import type { TextStreamPart, CoreTool, ObjectStreamPart } from \"ai\";\nimport { AssistantStream, AssistantStreamChunk } from \"../core/AssistantStream\";\nimport { generateId } from \"../core/utils/generateId\";\n\nexport const fromStreamText = (\n stream: ReadableStream<TextStreamPart<Record<string, CoreTool>>>,\n): AssistantStream => {\n const transformer = new TransformStream<\n TextStreamPart<Record<string, CoreTool>>,\n AssistantStreamChunk\n >({\n transform(chunk, controller) {\n const { type } = chunk;\n switch (type) {\n case \"text-delta\": {\n const { textDelta } = chunk;\n controller.enqueue({\n type: \"text-delta\",\n textDelta,\n });\n break;\n }\n case \"tool-call-streaming-start\": {\n const { toolCallId, toolName } = chunk;\n controller.enqueue({\n type: \"tool-call-begin\",\n toolCallId,\n toolName,\n });\n break;\n }\n case \"tool-call-delta\": {\n const { toolCallId, argsTextDelta } = chunk;\n controller.enqueue({\n type: \"tool-call-delta\",\n toolCallId,\n argsTextDelta,\n });\n break;\n }\n case \"tool-result\" as string: {\n const { toolCallId, result } = chunk as unknown as {\n toolCallId: string;\n result: unknown;\n };\n controller.enqueue({\n type: \"tool-result\",\n toolCallId,\n result,\n });\n break;\n }\n case \"tool-call\": {\n const { toolCallId, toolName, args } = chunk;\n controller.enqueue({\n type: \"tool-call-begin\",\n toolCallId,\n toolName,\n });\n controller.enqueue({\n type: \"tool-call-delta\",\n toolCallId,\n argsTextDelta: JSON.stringify(args),\n });\n break;\n }\n\n case \"reasoning\":\n case \"step-start\":\n case \"step-finish\":\n case \"error\":\n case \"finish\": {\n break;\n }\n\n default: {\n const unhandledType: never = type;\n throw new Error(`Unhandled chunk type: ${unhandledType}`);\n }\n }\n },\n });\n\n return stream.pipeThrough(transformer);\n};\n\nexport const fromStreamObject = (\n stream: ReadableStream<ObjectStreamPart<unknown>>,\n toolName: string,\n): AssistantStream => {\n const toolCallId = generateId();\n const transformer = new TransformStream<\n ObjectStreamPart<unknown>,\n AssistantStreamChunk\n >({\n start(controller) {\n controller.enqueue({\n type: \"tool-call-begin\",\n toolName,\n toolCallId,\n });\n },\n transform(chunk, controller) {\n const { type } = chunk;\n switch (type) {\n case \"text-delta\": {\n const { textDelta } = chunk;\n controller.enqueue({\n type: \"tool-call-delta\",\n toolCallId,\n argsTextDelta: textDelta,\n });\n break;\n }\n case \"finish\": {\n controller.enqueue({\n type: \"tool-result\",\n toolCallId,\n result: \"\",\n });\n break;\n }\n\n case \"object\":\n case \"error\": {\n break;\n }\n\n default: {\n const unhandledType: never = type;\n throw new Error(`Unhandled chunk type: ${unhandledType}`);\n }\n }\n },\n });\n\n return stream.pipeThrough(transformer);\n};\n"],"mappings":";;;;;AAIO,IAAM,iBAAiB,CAC5B,WACoB;AACpB,QAAM,cAAc,IAAI,gBAGtB;AAAA,IACA,UAAU,OAAO,YAAY;AAC3B,YAAM,EAAE,KAAK,IAAI;AACjB,cAAQ,MAAM;AAAA,QACZ,KAAK,cAAc;AACjB,gBAAM,EAAE,UAAU,IAAI;AACtB,qBAAW,QAAQ;AAAA,YACjB,MAAM;AAAA,YACN;AAAA,UACF,CAAC;AACD;AAAA,QACF;AAAA,QACA,KAAK,6BAA6B;AAChC,gBAAM,EAAE,YAAY,SAAS,IAAI;AACjC,qBAAW,QAAQ;AAAA,YACjB,MAAM;AAAA,YACN;AAAA,YACA;AAAA,UACF,CAAC;AACD;AAAA,QACF;AAAA,QACA,KAAK,mBAAmB;AACtB,gBAAM,EAAE,YAAY,cAAc,IAAI;AACtC,qBAAW,QAAQ;AAAA,YACjB,MAAM;AAAA,YACN;AAAA,YACA;AAAA,UACF,CAAC;AACD;AAAA,QACF;AAAA,QACA,KAAK,eAAyB;AAC5B,gBAAM,EAAE,YAAY,OAAO,IAAI;AAI/B,qBAAW,QAAQ;AAAA,YACjB,MAAM;AAAA,YACN;AAAA,YACA;AAAA,UACF,CAAC;AACD;AAAA,QACF;AAAA,QACA,KAAK,aAAa;AAChB,gBAAM,EAAE,YAAY,UAAU,KAAK,IAAI;AACvC,qBAAW,QAAQ;AAAA,YACjB,MAAM;AAAA,YACN;AAAA,YACA;AAAA,UACF,CAAC;AACD,qBAAW,QAAQ;AAAA,YACjB,MAAM;AAAA,YACN;AAAA,YACA,eAAe,KAAK,UAAU,IAAI;AAAA,UACpC,CAAC;AACD;AAAA,QACF;AAAA,QAEA,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK,UAAU;AACb;AAAA,QACF;AAAA,QAEA,SAAS;AACP,gBAAM,gBAAuB;AAC7B,gBAAM,IAAI,MAAM,yBAAyB,aAAa,EAAE;AAAA,QAC1D;AAAA,MACF;AAAA,IACF;AAAA,EACF,CAAC;AAED,SAAO,OAAO,YAAY,WAAW;AACvC;AAEO,IAAM,mBAAmB,CAC9B,QACA,aACoB;AACpB,QAAM,aAAa,WAAW;AAC9B,QAAM,cAAc,IAAI,gBAGtB;AAAA,IACA,MAAM,YAAY;AAChB,iBAAW,QAAQ;AAAA,QACjB,MAAM;AAAA,QACN;AAAA,QACA;AAAA,MACF,CAAC;AAAA,IACH;AAAA,IACA,UAAU,OAAO,YAAY;AAC3B,YAAM,EAAE,KAAK,IAAI;AACjB,cAAQ,MAAM;AAAA,QACZ,KAAK,cAAc;AACjB,gBAAM,EAAE,UAAU,IAAI;AACtB,qBAAW,QAAQ;AAAA,YACjB,MAAM;AAAA,YACN;AAAA,YACA,eAAe;AAAA,UACjB,CAAC;AACD;AAAA,QACF;AAAA,QACA,KAAK,UAAU;AACb,qBAAW,QAAQ;AAAA,YACjB,MAAM;AAAA,YACN;AAAA,YACA,QAAQ;AAAA,UACV,CAAC;AACD;AAAA,QACF;AAAA,QAEA,KAAK;AAAA,QACL,KAAK,SAAS;AACZ;AAAA,QACF;AAAA,QAEA,SAAS;AACP,gBAAM,gBAAuB;AAC7B,gBAAM,IAAI,MAAM,yBAAyB,aAAa,EAAE;AAAA,QAC1D;AAAA,MACF;AAAA,IACF;AAAA,EACF,CAAC;AAED,SAAO,OAAO,YAAY,WAAW;AACvC;","names":[]}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
// src/core/utils/generateId.tsx
|
|
2
|
+
import { customAlphabet } from "nanoid/non-secure";
|
|
3
|
+
var generateId = customAlphabet(
|
|
4
|
+
"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz",
|
|
5
|
+
7
|
|
6
|
+
);
|
|
7
|
+
|
|
8
|
+
export {
|
|
9
|
+
generateId
|
|
10
|
+
};
|
|
11
|
+
//# sourceMappingURL=chunk-ZSSWV6GU.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/core/utils/generateId.tsx"],"sourcesContent":["import { customAlphabet } from \"nanoid/non-secure\";\n\nexport const generateId = customAlphabet(\n \"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz\",\n 7,\n);\n"],"mappings":";AAAA,SAAS,sBAAsB;AAExB,IAAM,aAAa;AAAA,EACxB;AAAA,EACA;AACF;","names":[]}
|
package/dist/index.d.mts
CHANGED
|
@@ -1,10 +1,31 @@
|
|
|
1
|
-
import { A as AssistantStream, a as AssistantStreamChunk } from './AssistantStream-
|
|
1
|
+
import { A as AssistantStream, a as AssistantStreamChunk } from './AssistantStream-dm_T4K6d.mjs';
|
|
2
2
|
|
|
3
|
-
type
|
|
3
|
+
type TextStreamController = {
|
|
4
|
+
append(textDelta: string): void;
|
|
5
|
+
close(): void;
|
|
6
|
+
};
|
|
7
|
+
|
|
8
|
+
type ToolCallStreamController = {
|
|
9
|
+
readonly toolCallId: string;
|
|
10
|
+
readonly toolName: string;
|
|
11
|
+
argsText: TextStreamController;
|
|
12
|
+
setResult(result: unknown): void;
|
|
13
|
+
close(): void;
|
|
14
|
+
};
|
|
15
|
+
|
|
16
|
+
type AssistantStreamController = {
|
|
4
17
|
appendText(textDelta: string): void;
|
|
5
|
-
|
|
18
|
+
addToolCallPart(toolName: string): ToolCallStreamController;
|
|
19
|
+
addToolCallPart(options: {
|
|
20
|
+
toolCallId?: string;
|
|
21
|
+
toolName: string;
|
|
22
|
+
args?: Record<string, unknown>;
|
|
23
|
+
result?: unknown;
|
|
24
|
+
}): ToolCallStreamController;
|
|
25
|
+
merge(stream: AssistantStream): void;
|
|
6
26
|
};
|
|
7
|
-
declare function
|
|
27
|
+
declare function createAssistantStream(callback: (controller: AssistantStreamController) => PromiseLike<void> | void): AssistantStream;
|
|
28
|
+
declare function createAssistantStreamResponse(callback: (controller: AssistantStreamController) => PromiseLike<void> | void): Response;
|
|
8
29
|
|
|
9
30
|
declare class DataStreamEncoder {
|
|
10
31
|
private _transformStream;
|
|
@@ -104,4 +125,4 @@ declare class AssistantMessageStream {
|
|
|
104
125
|
tee(): [AssistantMessageStream, AssistantMessageStream];
|
|
105
126
|
}
|
|
106
127
|
|
|
107
|
-
export { AssistantMessageStream, AssistantStream, AssistantStreamChunk, DataStreamDecoder, DataStreamEncoder, PlainTextDecoder, PlainTextEncoder,
|
|
128
|
+
export { AssistantMessageStream, AssistantStream, AssistantStreamChunk, DataStreamDecoder, DataStreamEncoder, PlainTextDecoder, PlainTextEncoder, createAssistantStream, createAssistantStreamResponse };
|
package/dist/index.d.ts
CHANGED
|
@@ -1,10 +1,31 @@
|
|
|
1
|
-
import { A as AssistantStream, a as AssistantStreamChunk } from './AssistantStream-
|
|
1
|
+
import { A as AssistantStream, a as AssistantStreamChunk } from './AssistantStream-dm_T4K6d.js';
|
|
2
2
|
|
|
3
|
-
type
|
|
3
|
+
type TextStreamController = {
|
|
4
|
+
append(textDelta: string): void;
|
|
5
|
+
close(): void;
|
|
6
|
+
};
|
|
7
|
+
|
|
8
|
+
type ToolCallStreamController = {
|
|
9
|
+
readonly toolCallId: string;
|
|
10
|
+
readonly toolName: string;
|
|
11
|
+
argsText: TextStreamController;
|
|
12
|
+
setResult(result: unknown): void;
|
|
13
|
+
close(): void;
|
|
14
|
+
};
|
|
15
|
+
|
|
16
|
+
type AssistantStreamController = {
|
|
4
17
|
appendText(textDelta: string): void;
|
|
5
|
-
|
|
18
|
+
addToolCallPart(toolName: string): ToolCallStreamController;
|
|
19
|
+
addToolCallPart(options: {
|
|
20
|
+
toolCallId?: string;
|
|
21
|
+
toolName: string;
|
|
22
|
+
args?: Record<string, unknown>;
|
|
23
|
+
result?: unknown;
|
|
24
|
+
}): ToolCallStreamController;
|
|
25
|
+
merge(stream: AssistantStream): void;
|
|
6
26
|
};
|
|
7
|
-
declare function
|
|
27
|
+
declare function createAssistantStream(callback: (controller: AssistantStreamController) => PromiseLike<void> | void): AssistantStream;
|
|
28
|
+
declare function createAssistantStreamResponse(callback: (controller: AssistantStreamController) => PromiseLike<void> | void): Response;
|
|
8
29
|
|
|
9
30
|
declare class DataStreamEncoder {
|
|
10
31
|
private _transformStream;
|
|
@@ -104,4 +125,4 @@ declare class AssistantMessageStream {
|
|
|
104
125
|
tee(): [AssistantMessageStream, AssistantMessageStream];
|
|
105
126
|
}
|
|
106
127
|
|
|
107
|
-
export { AssistantMessageStream, AssistantStream, AssistantStreamChunk, DataStreamDecoder, DataStreamEncoder, PlainTextDecoder, PlainTextEncoder,
|
|
128
|
+
export { AssistantMessageStream, AssistantStream, AssistantStreamChunk, DataStreamDecoder, DataStreamEncoder, PlainTextDecoder, PlainTextEncoder, createAssistantStream, createAssistantStreamResponse };
|