ai 4.0.14 → 4.0.16
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 +13 -0
- package/dist/index.d.mts +22 -2
- package/dist/index.d.ts +22 -2
- package/dist/index.js +49 -7
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +48 -7
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
package/dist/index.mjs
CHANGED
@@ -4204,6 +4204,7 @@ function streamText({
|
|
4204
4204
|
experimental_toolCallStreaming: toolCallStreaming = false,
|
4205
4205
|
experimental_activeTools: activeTools,
|
4206
4206
|
experimental_repairToolCall: repairToolCall,
|
4207
|
+
experimental_transform: transform,
|
4207
4208
|
onChunk,
|
4208
4209
|
onFinish,
|
4209
4210
|
onStepFinish,
|
@@ -4227,6 +4228,7 @@ function streamText({
|
|
4227
4228
|
tools,
|
4228
4229
|
toolChoice,
|
4229
4230
|
toolCallStreaming,
|
4231
|
+
transform,
|
4230
4232
|
activeTools,
|
4231
4233
|
repairToolCall,
|
4232
4234
|
maxSteps,
|
@@ -4254,6 +4256,7 @@ var DefaultStreamTextResult = class {
|
|
4254
4256
|
tools,
|
4255
4257
|
toolChoice,
|
4256
4258
|
toolCallStreaming,
|
4259
|
+
transform,
|
4257
4260
|
activeTools,
|
4258
4261
|
repairToolCall,
|
4259
4262
|
maxSteps,
|
@@ -4276,7 +4279,6 @@ var DefaultStreamTextResult = class {
|
|
4276
4279
|
this.requestPromise = new DelayedPromise();
|
4277
4280
|
this.responsePromise = new DelayedPromise();
|
4278
4281
|
this.stepsPromise = new DelayedPromise();
|
4279
|
-
this.stitchableStream = createStitchableStream();
|
4280
4282
|
if (maxSteps < 1) {
|
4281
4283
|
throw new InvalidArgumentError({
|
4282
4284
|
parameter: "maxSteps",
|
@@ -4284,6 +4286,10 @@ var DefaultStreamTextResult = class {
|
|
4284
4286
|
message: "maxSteps must be at least 1"
|
4285
4287
|
});
|
4286
4288
|
}
|
4289
|
+
const stitchableStream = createStitchableStream();
|
4290
|
+
this.addStream = stitchableStream.addStream;
|
4291
|
+
this.closeStream = stitchableStream.close;
|
4292
|
+
this.baseStream = transform ? stitchableStream.stream.pipeThrough(transform) : stitchableStream.stream;
|
4287
4293
|
const { maxRetries, retry } = prepareRetries({
|
4288
4294
|
maxRetries: maxRetriesArg
|
4289
4295
|
});
|
@@ -4449,7 +4455,7 @@ var DefaultStreamTextResult = class {
|
|
4449
4455
|
hasWhitespaceSuffix = chunk.textDelta.trimEnd() !== chunk.textDelta;
|
4450
4456
|
await (onChunk == null ? void 0 : onChunk({ chunk }));
|
4451
4457
|
}
|
4452
|
-
self.
|
4458
|
+
self.addStream(
|
4453
4459
|
transformedStream.pipeThrough(
|
4454
4460
|
new TransformStream({
|
4455
4461
|
async transform(chunk, controller) {
|
@@ -4677,7 +4683,7 @@ var DefaultStreamTextResult = class {
|
|
4677
4683
|
...stepResponse
|
4678
4684
|
}
|
4679
4685
|
});
|
4680
|
-
self.
|
4686
|
+
self.closeStream();
|
4681
4687
|
rootSpan.setAttributes(
|
4682
4688
|
selectTelemetryAttributes({
|
4683
4689
|
telemetry,
|
@@ -4751,7 +4757,7 @@ var DefaultStreamTextResult = class {
|
|
4751
4757
|
});
|
4752
4758
|
}
|
4753
4759
|
}).catch((error) => {
|
4754
|
-
self.
|
4760
|
+
self.addStream(
|
4755
4761
|
new ReadableStream({
|
4756
4762
|
start(controller) {
|
4757
4763
|
controller.enqueue({ type: "error", error });
|
@@ -4759,7 +4765,7 @@ var DefaultStreamTextResult = class {
|
|
4759
4765
|
}
|
4760
4766
|
})
|
4761
4767
|
);
|
4762
|
-
self.
|
4768
|
+
self.closeStream();
|
4763
4769
|
});
|
4764
4770
|
}
|
4765
4771
|
get warnings() {
|
@@ -4801,8 +4807,8 @@ var DefaultStreamTextResult = class {
|
|
4801
4807
|
However, the LLM results are expected to be small enough to not cause issues.
|
4802
4808
|
*/
|
4803
4809
|
teeStream() {
|
4804
|
-
const [stream1, stream2] = this.
|
4805
|
-
this.
|
4810
|
+
const [stream1, stream2] = this.baseStream.tee();
|
4811
|
+
this.baseStream = stream2;
|
4806
4812
|
return stream1;
|
4807
4813
|
}
|
4808
4814
|
get textStream() {
|
@@ -4998,6 +5004,40 @@ var DefaultStreamTextResult = class {
|
|
4998
5004
|
}
|
4999
5005
|
};
|
5000
5006
|
|
5007
|
+
// core/generate-text/smooth-stream.ts
|
5008
|
+
function smoothStream({
|
5009
|
+
delayInMs = 10,
|
5010
|
+
_internal: { delay: delay2 = delay } = {}
|
5011
|
+
} = {}) {
|
5012
|
+
let buffer = "";
|
5013
|
+
return new TransformStream({
|
5014
|
+
async transform(chunk, controller) {
|
5015
|
+
if (chunk.type === "step-finish") {
|
5016
|
+
if (buffer.length > 0) {
|
5017
|
+
controller.enqueue({ type: "text-delta", textDelta: buffer });
|
5018
|
+
buffer = "";
|
5019
|
+
}
|
5020
|
+
controller.enqueue(chunk);
|
5021
|
+
return;
|
5022
|
+
}
|
5023
|
+
if (chunk.type !== "text-delta") {
|
5024
|
+
controller.enqueue(chunk);
|
5025
|
+
return;
|
5026
|
+
}
|
5027
|
+
buffer += chunk.textDelta;
|
5028
|
+
while (buffer.match(/\s/)) {
|
5029
|
+
const whitespaceIndex = buffer.search(/\s/);
|
5030
|
+
const word = buffer.slice(0, whitespaceIndex + 1);
|
5031
|
+
controller.enqueue({ type: "text-delta", textDelta: word });
|
5032
|
+
buffer = buffer.slice(whitespaceIndex + 1);
|
5033
|
+
if (delayInMs > 0) {
|
5034
|
+
await delay2(delayInMs);
|
5035
|
+
}
|
5036
|
+
}
|
5037
|
+
}
|
5038
|
+
});
|
5039
|
+
}
|
5040
|
+
|
5001
5041
|
// core/middleware/wrap-language-model.ts
|
5002
5042
|
var experimental_wrapLanguageModel = ({
|
5003
5043
|
model,
|
@@ -5563,6 +5603,7 @@ export {
|
|
5563
5603
|
pipeDataStreamToResponse,
|
5564
5604
|
processDataStream,
|
5565
5605
|
processTextStream,
|
5606
|
+
smoothStream,
|
5566
5607
|
streamObject,
|
5567
5608
|
streamText,
|
5568
5609
|
tool
|