ai 4.0.0-canary.3 → 4.0.0-canary.4
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 +21 -0
- package/dist/index.d.mts +45 -281
- package/dist/index.d.ts +45 -281
- package/dist/index.js +81 -228
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +55 -195
- package/dist/index.mjs.map +1 -1
- package/package.json +6 -9
- package/react/dist/index.d.ts +0 -17
- package/rsc/dist/rsc-server.mjs +0 -6
- package/rsc/dist/rsc-server.mjs.map +1 -1
- package/react/dist/index.server.d.mts +0 -17
- package/react/dist/index.server.d.ts +0 -17
- package/react/dist/index.server.js +0 -50
- package/react/dist/index.server.js.map +0 -1
- package/react/dist/index.server.mjs +0 -23
- package/react/dist/index.server.mjs.map +0 -1
package/dist/index.js
CHANGED
@@ -21,7 +21,6 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
|
|
21
21
|
var streams_exports = {};
|
22
22
|
__export(streams_exports, {
|
23
23
|
AISDKError: () => import_provider13.AISDKError,
|
24
|
-
AIStream: () => AIStream,
|
25
24
|
APICallError: () => import_provider13.APICallError,
|
26
25
|
AssistantResponse: () => AssistantResponse,
|
27
26
|
DownloadError: () => DownloadError,
|
@@ -43,14 +42,12 @@ __export(streams_exports, {
|
|
43
42
|
NoSuchProviderError: () => NoSuchProviderError,
|
44
43
|
NoSuchToolError: () => NoSuchToolError,
|
45
44
|
RetryError: () => RetryError,
|
46
|
-
StreamData: () =>
|
45
|
+
StreamData: () => StreamData,
|
47
46
|
StreamingTextResponse: () => StreamingTextResponse,
|
48
47
|
TypeValidationError: () => import_provider13.TypeValidationError,
|
49
48
|
UnsupportedFunctionalityError: () => import_provider13.UnsupportedFunctionalityError,
|
50
49
|
convertToCoreMessages: () => convertToCoreMessages,
|
51
50
|
cosineSimilarity: () => cosineSimilarity,
|
52
|
-
createCallbacksTransformer: () => createCallbacksTransformer,
|
53
|
-
createEventStreamTransformer: () => createEventStreamTransformer,
|
54
51
|
createStreamDataTransformer: () => createStreamDataTransformer,
|
55
52
|
embed: () => embed,
|
56
53
|
embedMany: () => embedMany,
|
@@ -59,32 +56,26 @@ __export(streams_exports, {
|
|
59
56
|
experimental_createModelRegistry: () => experimental_createModelRegistry,
|
60
57
|
experimental_createProviderRegistry: () => experimental_createProviderRegistry,
|
61
58
|
experimental_customProvider: () => experimental_customProvider,
|
62
|
-
experimental_generateObject: () => experimental_generateObject,
|
63
|
-
experimental_generateText: () => experimental_generateText,
|
64
|
-
experimental_streamObject: () => experimental_streamObject,
|
65
|
-
experimental_streamText: () => experimental_streamText,
|
66
59
|
experimental_wrapLanguageModel: () => experimental_wrapLanguageModel,
|
67
|
-
formatStreamPart: () =>
|
68
|
-
generateId: () =>
|
60
|
+
formatStreamPart: () => import_ui_utils10.formatStreamPart,
|
61
|
+
generateId: () => import_provider_utils11.generateId,
|
69
62
|
generateObject: () => generateObject,
|
70
63
|
generateText: () => generateText,
|
71
|
-
jsonSchema: () =>
|
72
|
-
parseStreamPart: () =>
|
73
|
-
processDataProtocolResponse: () =>
|
74
|
-
readDataStream: () =>
|
75
|
-
readableFromAsyncIterable: () => readableFromAsyncIterable,
|
64
|
+
jsonSchema: () => import_ui_utils7.jsonSchema,
|
65
|
+
parseStreamPart: () => import_ui_utils10.parseStreamPart,
|
66
|
+
processDataProtocolResponse: () => import_ui_utils10.processDataProtocolResponse,
|
67
|
+
readDataStream: () => import_ui_utils10.readDataStream,
|
76
68
|
streamObject: () => streamObject,
|
77
69
|
streamText: () => streamText,
|
78
70
|
streamToResponse: () => streamToResponse,
|
79
|
-
tool: () => tool
|
80
|
-
trimStartOfStreamHelper: () => trimStartOfStreamHelper
|
71
|
+
tool: () => tool
|
81
72
|
});
|
82
73
|
module.exports = __toCommonJS(streams_exports);
|
83
|
-
var
|
84
|
-
var
|
74
|
+
var import_ui_utils10 = require("@ai-sdk/ui-utils");
|
75
|
+
var import_provider_utils11 = require("@ai-sdk/provider-utils");
|
85
76
|
|
86
77
|
// core/index.ts
|
87
|
-
var
|
78
|
+
var import_ui_utils7 = require("@ai-sdk/ui-utils");
|
88
79
|
|
89
80
|
// util/retry-with-exponential-backoff.ts
|
90
81
|
var import_provider2 = require("@ai-sdk/provider");
|
@@ -2359,7 +2350,6 @@ var DefaultGenerateObjectResult = class {
|
|
2359
2350
|
});
|
2360
2351
|
}
|
2361
2352
|
};
|
2362
|
-
var experimental_generateObject = generateObject;
|
2363
2353
|
|
2364
2354
|
// core/generate-object/stream-object.ts
|
2365
2355
|
var import_provider_utils6 = require("@ai-sdk/provider-utils");
|
@@ -2979,7 +2969,6 @@ var DefaultStreamObjectResult = class {
|
|
2979
2969
|
});
|
2980
2970
|
}
|
2981
2971
|
};
|
2982
|
-
var experimental_streamObject = streamObject;
|
2983
2972
|
|
2984
2973
|
// core/generate-text/generate-text.ts
|
2985
2974
|
var import_provider_utils8 = require("@ai-sdk/provider-utils");
|
@@ -3010,12 +2999,6 @@ var InvalidToolArgumentsError = class extends import_provider11.AISDKError {
|
|
3010
2999
|
static isInstance(error) {
|
3011
3000
|
return import_provider11.AISDKError.hasMarker(error, marker8);
|
3012
3001
|
}
|
3013
|
-
/**
|
3014
|
-
* @deprecated use `isInstance` instead
|
3015
|
-
*/
|
3016
|
-
static isInvalidToolArgumentsError(error) {
|
3017
|
-
return error instanceof Error && error.name === name8 && typeof error.toolName === "string" && typeof error.toolArgs === "string";
|
3018
|
-
}
|
3019
3002
|
};
|
3020
3003
|
_a8 = symbol8;
|
3021
3004
|
|
@@ -3191,9 +3174,7 @@ async function generateText({
|
|
3191
3174
|
maxRetries,
|
3192
3175
|
abortSignal,
|
3193
3176
|
headers,
|
3194
|
-
|
3195
|
-
maxToolRoundtrips = maxAutomaticRoundtrips,
|
3196
|
-
maxSteps = maxToolRoundtrips != null ? maxToolRoundtrips + 1 : 1,
|
3177
|
+
maxSteps = 1,
|
3197
3178
|
experimental_continuationSteps,
|
3198
3179
|
experimental_continueSteps: continueSteps = experimental_continuationSteps != null ? experimental_continuationSteps : false,
|
3199
3180
|
experimental_telemetry: telemetry,
|
@@ -3561,7 +3542,6 @@ var DefaultGenerateTextResult = class {
|
|
3561
3542
|
this.request = options.request;
|
3562
3543
|
this.response = options.response;
|
3563
3544
|
this.responseMessages = options.responseMessages;
|
3564
|
-
this.roundtrips = options.steps;
|
3565
3545
|
this.steps = options.steps;
|
3566
3546
|
this.experimental_providerMetadata = options.providerMetadata;
|
3567
3547
|
this.rawResponse = {
|
@@ -3570,10 +3550,10 @@ var DefaultGenerateTextResult = class {
|
|
3570
3550
|
this.logprobs = options.logprobs;
|
3571
3551
|
}
|
3572
3552
|
};
|
3573
|
-
var experimental_generateText = generateText;
|
3574
3553
|
|
3575
3554
|
// core/generate-text/stream-text.ts
|
3576
3555
|
var import_provider_utils9 = require("@ai-sdk/provider-utils");
|
3556
|
+
var import_ui_utils6 = require("@ai-sdk/ui-utils");
|
3577
3557
|
|
3578
3558
|
// core/util/create-stitchable-stream.ts
|
3579
3559
|
function createStitchableStream() {
|
@@ -3930,8 +3910,7 @@ async function streamText({
|
|
3930
3910
|
maxRetries,
|
3931
3911
|
abortSignal,
|
3932
3912
|
headers,
|
3933
|
-
|
3934
|
-
maxSteps = maxToolRoundtrips != null ? maxToolRoundtrips + 1 : 1,
|
3913
|
+
maxSteps = 1,
|
3935
3914
|
experimental_continueSteps: continueSteps = false,
|
3936
3915
|
experimental_telemetry: telemetry,
|
3937
3916
|
experimental_providerMetadata: providerMetadata,
|
@@ -4577,37 +4556,18 @@ var DefaultStreamTextResult = class {
|
|
4577
4556
|
}
|
4578
4557
|
});
|
4579
4558
|
}
|
4580
|
-
toAIStream(callbacks = {}) {
|
4581
|
-
return this.toDataStreamInternal({ callbacks });
|
4582
|
-
}
|
4583
4559
|
toDataStreamInternal({
|
4584
|
-
callbacks = {},
|
4585
4560
|
getErrorMessage: getErrorMessage3 = () => "",
|
4586
4561
|
// mask error messages for safety by default
|
4587
4562
|
sendUsage = true
|
4588
4563
|
} = {}) {
|
4589
4564
|
let aggregatedResponse = "";
|
4590
4565
|
const callbackTransformer = new TransformStream({
|
4591
|
-
async start() {
|
4592
|
-
if (callbacks.onStart)
|
4593
|
-
await callbacks.onStart();
|
4594
|
-
},
|
4595
4566
|
async transform(chunk, controller) {
|
4596
4567
|
controller.enqueue(chunk);
|
4597
4568
|
if (chunk.type === "text-delta") {
|
4598
|
-
|
4599
|
-
aggregatedResponse += textDelta;
|
4600
|
-
if (callbacks.onToken)
|
4601
|
-
await callbacks.onToken(textDelta);
|
4602
|
-
if (callbacks.onText)
|
4603
|
-
await callbacks.onText(textDelta);
|
4569
|
+
aggregatedResponse += chunk.textDelta;
|
4604
4570
|
}
|
4605
|
-
},
|
4606
|
-
async flush() {
|
4607
|
-
if (callbacks.onCompletion)
|
4608
|
-
await callbacks.onCompletion(aggregatedResponse);
|
4609
|
-
if (callbacks.onFinal)
|
4610
|
-
await callbacks.onFinal(aggregatedResponse);
|
4611
4571
|
}
|
4612
4572
|
});
|
4613
4573
|
const streamPartsTransformer = new TransformStream({
|
@@ -4615,12 +4575,12 @@ var DefaultStreamTextResult = class {
|
|
4615
4575
|
const chunkType = chunk.type;
|
4616
4576
|
switch (chunkType) {
|
4617
4577
|
case "text-delta": {
|
4618
|
-
controller.enqueue((0,
|
4578
|
+
controller.enqueue((0, import_ui_utils6.formatStreamPart)("text", chunk.textDelta));
|
4619
4579
|
break;
|
4620
4580
|
}
|
4621
4581
|
case "tool-call-streaming-start": {
|
4622
4582
|
controller.enqueue(
|
4623
|
-
(0,
|
4583
|
+
(0, import_ui_utils6.formatStreamPart)("tool_call_streaming_start", {
|
4624
4584
|
toolCallId: chunk.toolCallId,
|
4625
4585
|
toolName: chunk.toolName
|
4626
4586
|
})
|
@@ -4629,7 +4589,7 @@ var DefaultStreamTextResult = class {
|
|
4629
4589
|
}
|
4630
4590
|
case "tool-call-delta": {
|
4631
4591
|
controller.enqueue(
|
4632
|
-
(0,
|
4592
|
+
(0, import_ui_utils6.formatStreamPart)("tool_call_delta", {
|
4633
4593
|
toolCallId: chunk.toolCallId,
|
4634
4594
|
argsTextDelta: chunk.argsTextDelta
|
4635
4595
|
})
|
@@ -4638,7 +4598,7 @@ var DefaultStreamTextResult = class {
|
|
4638
4598
|
}
|
4639
4599
|
case "tool-call": {
|
4640
4600
|
controller.enqueue(
|
4641
|
-
(0,
|
4601
|
+
(0, import_ui_utils6.formatStreamPart)("tool_call", {
|
4642
4602
|
toolCallId: chunk.toolCallId,
|
4643
4603
|
toolName: chunk.toolName,
|
4644
4604
|
args: chunk.args
|
@@ -4648,7 +4608,7 @@ var DefaultStreamTextResult = class {
|
|
4648
4608
|
}
|
4649
4609
|
case "tool-result": {
|
4650
4610
|
controller.enqueue(
|
4651
|
-
(0,
|
4611
|
+
(0, import_ui_utils6.formatStreamPart)("tool_result", {
|
4652
4612
|
toolCallId: chunk.toolCallId,
|
4653
4613
|
result: chunk.result
|
4654
4614
|
})
|
@@ -4657,13 +4617,13 @@ var DefaultStreamTextResult = class {
|
|
4657
4617
|
}
|
4658
4618
|
case "error": {
|
4659
4619
|
controller.enqueue(
|
4660
|
-
(0,
|
4620
|
+
(0, import_ui_utils6.formatStreamPart)("error", getErrorMessage3(chunk.error))
|
4661
4621
|
);
|
4662
4622
|
break;
|
4663
4623
|
}
|
4664
4624
|
case "step-finish": {
|
4665
4625
|
controller.enqueue(
|
4666
|
-
(0,
|
4626
|
+
(0, import_ui_utils6.formatStreamPart)("finish_step", {
|
4667
4627
|
finishReason: chunk.finishReason,
|
4668
4628
|
usage: sendUsage ? {
|
4669
4629
|
promptTokens: chunk.usage.promptTokens,
|
@@ -4676,7 +4636,7 @@ var DefaultStreamTextResult = class {
|
|
4676
4636
|
}
|
4677
4637
|
case "finish": {
|
4678
4638
|
controller.enqueue(
|
4679
|
-
(0,
|
4639
|
+
(0, import_ui_utils6.formatStreamPart)("finish_message", {
|
4680
4640
|
finishReason: chunk.finishReason,
|
4681
4641
|
usage: sendUsage ? {
|
4682
4642
|
promptTokens: chunk.usage.promptTokens,
|
@@ -4695,9 +4655,6 @@ var DefaultStreamTextResult = class {
|
|
4695
4655
|
});
|
4696
4656
|
return this.fullStream.pipeThrough(callbackTransformer).pipeThrough(streamPartsTransformer).pipeThrough(new TextEncoderStream());
|
4697
4657
|
}
|
4698
|
-
pipeAIStreamToResponse(response, init) {
|
4699
|
-
return this.pipeDataStreamToResponse(response, init);
|
4700
|
-
}
|
4701
4658
|
pipeDataStreamToResponse(response, options) {
|
4702
4659
|
const init = options == null ? void 0 : "init" in options ? options.init : {
|
4703
4660
|
headers: "headers" in options ? options.headers : void 0,
|
@@ -4729,9 +4686,6 @@ var DefaultStreamTextResult = class {
|
|
4729
4686
|
stream: this.textStream.pipeThrough(new TextEncoderStream())
|
4730
4687
|
});
|
4731
4688
|
}
|
4732
|
-
toAIStreamResponse(options) {
|
4733
|
-
return this.toDataStreamResponse(options);
|
4734
|
-
}
|
4735
4689
|
toDataStream(options) {
|
4736
4690
|
const stream = this.toDataStreamInternal({
|
4737
4691
|
getErrorMessage: options == null ? void 0 : options.getErrorMessage,
|
@@ -4771,7 +4725,6 @@ var DefaultStreamTextResult = class {
|
|
4771
4725
|
});
|
4772
4726
|
}
|
4773
4727
|
};
|
4774
|
-
var experimental_streamText = streamText;
|
4775
4728
|
|
4776
4729
|
// core/middleware/wrap-language-model.ts
|
4777
4730
|
var experimental_wrapLanguageModel = ({
|
@@ -4958,123 +4911,8 @@ function magnitude(vector) {
|
|
4958
4911
|
return Math.sqrt(dotProduct(vector, vector));
|
4959
4912
|
}
|
4960
4913
|
|
4961
|
-
// streams/ai-stream.ts
|
4962
|
-
var import_eventsource_parser = require("eventsource-parser");
|
4963
|
-
function createEventStreamTransformer(customParser) {
|
4964
|
-
const textDecoder = new TextDecoder();
|
4965
|
-
let eventSourceParser;
|
4966
|
-
return new TransformStream({
|
4967
|
-
async start(controller) {
|
4968
|
-
eventSourceParser = (0, import_eventsource_parser.createParser)(
|
4969
|
-
(event) => {
|
4970
|
-
if ("data" in event && event.type === "event" && event.data === "[DONE]" || // Replicate doesn't send [DONE] but does send a 'done' event
|
4971
|
-
// @see https://replicate.com/docs/streaming
|
4972
|
-
event.event === "done") {
|
4973
|
-
controller.terminate();
|
4974
|
-
return;
|
4975
|
-
}
|
4976
|
-
if ("data" in event) {
|
4977
|
-
const parsedMessage = customParser ? customParser(event.data, {
|
4978
|
-
event: event.event
|
4979
|
-
}) : event.data;
|
4980
|
-
if (parsedMessage)
|
4981
|
-
controller.enqueue(parsedMessage);
|
4982
|
-
}
|
4983
|
-
}
|
4984
|
-
);
|
4985
|
-
},
|
4986
|
-
transform(chunk) {
|
4987
|
-
eventSourceParser.feed(textDecoder.decode(chunk));
|
4988
|
-
}
|
4989
|
-
});
|
4990
|
-
}
|
4991
|
-
function createCallbacksTransformer(cb) {
|
4992
|
-
const textEncoder = new TextEncoder();
|
4993
|
-
let aggregatedResponse = "";
|
4994
|
-
const callbacks = cb || {};
|
4995
|
-
return new TransformStream({
|
4996
|
-
async start() {
|
4997
|
-
if (callbacks.onStart)
|
4998
|
-
await callbacks.onStart();
|
4999
|
-
},
|
5000
|
-
async transform(message, controller) {
|
5001
|
-
const content = typeof message === "string" ? message : message.content;
|
5002
|
-
controller.enqueue(textEncoder.encode(content));
|
5003
|
-
aggregatedResponse += content;
|
5004
|
-
if (callbacks.onToken)
|
5005
|
-
await callbacks.onToken(content);
|
5006
|
-
if (callbacks.onText && typeof message === "string") {
|
5007
|
-
await callbacks.onText(message);
|
5008
|
-
}
|
5009
|
-
},
|
5010
|
-
async flush() {
|
5011
|
-
if (callbacks.onCompletion) {
|
5012
|
-
await callbacks.onCompletion(aggregatedResponse);
|
5013
|
-
}
|
5014
|
-
}
|
5015
|
-
});
|
5016
|
-
}
|
5017
|
-
function trimStartOfStreamHelper() {
|
5018
|
-
let isStreamStart = true;
|
5019
|
-
return (text) => {
|
5020
|
-
if (isStreamStart) {
|
5021
|
-
text = text.trimStart();
|
5022
|
-
if (text)
|
5023
|
-
isStreamStart = false;
|
5024
|
-
}
|
5025
|
-
return text;
|
5026
|
-
};
|
5027
|
-
}
|
5028
|
-
function AIStream(response, customParser, callbacks) {
|
5029
|
-
if (!response.ok) {
|
5030
|
-
if (response.body) {
|
5031
|
-
const reader = response.body.getReader();
|
5032
|
-
return new ReadableStream({
|
5033
|
-
async start(controller) {
|
5034
|
-
const { done, value } = await reader.read();
|
5035
|
-
if (!done) {
|
5036
|
-
const errorText = new TextDecoder().decode(value);
|
5037
|
-
controller.error(new Error(`Response error: ${errorText}`));
|
5038
|
-
}
|
5039
|
-
}
|
5040
|
-
});
|
5041
|
-
} else {
|
5042
|
-
return new ReadableStream({
|
5043
|
-
start(controller) {
|
5044
|
-
controller.error(new Error("Response error: No response body"));
|
5045
|
-
}
|
5046
|
-
});
|
5047
|
-
}
|
5048
|
-
}
|
5049
|
-
const responseBodyStream = response.body || createEmptyReadableStream();
|
5050
|
-
return responseBodyStream.pipeThrough(createEventStreamTransformer(customParser)).pipeThrough(createCallbacksTransformer(callbacks));
|
5051
|
-
}
|
5052
|
-
function createEmptyReadableStream() {
|
5053
|
-
return new ReadableStream({
|
5054
|
-
start(controller) {
|
5055
|
-
controller.close();
|
5056
|
-
}
|
5057
|
-
});
|
5058
|
-
}
|
5059
|
-
function readableFromAsyncIterable(iterable) {
|
5060
|
-
let it = iterable[Symbol.asyncIterator]();
|
5061
|
-
return new ReadableStream({
|
5062
|
-
async pull(controller) {
|
5063
|
-
const { done, value } = await it.next();
|
5064
|
-
if (done)
|
5065
|
-
controller.close();
|
5066
|
-
else
|
5067
|
-
controller.enqueue(value);
|
5068
|
-
},
|
5069
|
-
async cancel(reason) {
|
5070
|
-
var _a11;
|
5071
|
-
await ((_a11 = it.return) == null ? void 0 : _a11.call(it, reason));
|
5072
|
-
}
|
5073
|
-
});
|
5074
|
-
}
|
5075
|
-
|
5076
4914
|
// streams/assistant-response.ts
|
5077
|
-
var
|
4915
|
+
var import_ui_utils8 = require("@ai-sdk/ui-utils");
|
5078
4916
|
function AssistantResponse({ threadId, messageId }, process2) {
|
5079
4917
|
const stream = new ReadableStream({
|
5080
4918
|
async start(controller) {
|
@@ -5082,17 +4920,17 @@ function AssistantResponse({ threadId, messageId }, process2) {
|
|
5082
4920
|
const textEncoder = new TextEncoder();
|
5083
4921
|
const sendMessage = (message) => {
|
5084
4922
|
controller.enqueue(
|
5085
|
-
textEncoder.encode((0,
|
4923
|
+
textEncoder.encode((0, import_ui_utils8.formatStreamPart)("assistant_message", message))
|
5086
4924
|
);
|
5087
4925
|
};
|
5088
4926
|
const sendDataMessage = (message) => {
|
5089
4927
|
controller.enqueue(
|
5090
|
-
textEncoder.encode((0,
|
4928
|
+
textEncoder.encode((0, import_ui_utils8.formatStreamPart)("data_message", message))
|
5091
4929
|
);
|
5092
4930
|
};
|
5093
4931
|
const sendError = (errorMessage) => {
|
5094
4932
|
controller.enqueue(
|
5095
|
-
textEncoder.encode((0,
|
4933
|
+
textEncoder.encode((0, import_ui_utils8.formatStreamPart)("error", errorMessage))
|
5096
4934
|
);
|
5097
4935
|
};
|
5098
4936
|
const forwardStream = async (stream2) => {
|
@@ -5103,7 +4941,7 @@ function AssistantResponse({ threadId, messageId }, process2) {
|
|
5103
4941
|
case "thread.message.created": {
|
5104
4942
|
controller.enqueue(
|
5105
4943
|
textEncoder.encode(
|
5106
|
-
(0,
|
4944
|
+
(0, import_ui_utils8.formatStreamPart)("assistant_message", {
|
5107
4945
|
id: value.data.id,
|
5108
4946
|
role: "assistant",
|
5109
4947
|
content: [{ type: "text", text: { value: "" } }]
|
@@ -5117,7 +4955,7 @@ function AssistantResponse({ threadId, messageId }, process2) {
|
|
5117
4955
|
if ((content == null ? void 0 : content.type) === "text" && ((_b = content.text) == null ? void 0 : _b.value) != null) {
|
5118
4956
|
controller.enqueue(
|
5119
4957
|
textEncoder.encode(
|
5120
|
-
(0,
|
4958
|
+
(0, import_ui_utils8.formatStreamPart)("text", content.text.value)
|
5121
4959
|
)
|
5122
4960
|
);
|
5123
4961
|
}
|
@@ -5134,7 +4972,7 @@ function AssistantResponse({ threadId, messageId }, process2) {
|
|
5134
4972
|
};
|
5135
4973
|
controller.enqueue(
|
5136
4974
|
textEncoder.encode(
|
5137
|
-
(0,
|
4975
|
+
(0, import_ui_utils8.formatStreamPart)("assistant_control_data", {
|
5138
4976
|
threadId,
|
5139
4977
|
messageId
|
5140
4978
|
})
|
@@ -5176,14 +5014,40 @@ __export(langchain_adapter_exports, {
|
|
5176
5014
|
toDataStreamResponse: () => toDataStreamResponse
|
5177
5015
|
});
|
5178
5016
|
|
5017
|
+
// streams/stream-callbacks.ts
|
5018
|
+
function createCallbacksTransformer(callbacks = {}) {
|
5019
|
+
const textEncoder = new TextEncoder();
|
5020
|
+
let aggregatedResponse = "";
|
5021
|
+
return new TransformStream({
|
5022
|
+
async start() {
|
5023
|
+
if (callbacks.onStart)
|
5024
|
+
await callbacks.onStart();
|
5025
|
+
},
|
5026
|
+
async transform(message, controller) {
|
5027
|
+
controller.enqueue(textEncoder.encode(message));
|
5028
|
+
aggregatedResponse += message;
|
5029
|
+
if (callbacks.onToken)
|
5030
|
+
await callbacks.onToken(message);
|
5031
|
+
if (callbacks.onText && typeof message === "string") {
|
5032
|
+
await callbacks.onText(message);
|
5033
|
+
}
|
5034
|
+
},
|
5035
|
+
async flush() {
|
5036
|
+
if (callbacks.onCompletion) {
|
5037
|
+
await callbacks.onCompletion(aggregatedResponse);
|
5038
|
+
}
|
5039
|
+
}
|
5040
|
+
});
|
5041
|
+
}
|
5042
|
+
|
5179
5043
|
// streams/stream-data.ts
|
5180
|
-
var
|
5044
|
+
var import_ui_utils9 = require("@ai-sdk/ui-utils");
|
5181
5045
|
|
5182
5046
|
// util/constants.ts
|
5183
5047
|
var HANGING_STREAM_WARNING_TIME_MS = 15 * 1e3;
|
5184
5048
|
|
5185
5049
|
// streams/stream-data.ts
|
5186
|
-
var
|
5050
|
+
var StreamData = class {
|
5187
5051
|
constructor() {
|
5188
5052
|
this.encoder = new TextEncoder();
|
5189
5053
|
this.controller = null;
|
@@ -5229,7 +5093,7 @@ var StreamData2 = class {
|
|
5229
5093
|
throw new Error("Stream controller is not initialized.");
|
5230
5094
|
}
|
5231
5095
|
this.controller.enqueue(
|
5232
|
-
this.encoder.encode((0,
|
5096
|
+
this.encoder.encode((0, import_ui_utils9.formatStreamPart)("data", [value]))
|
5233
5097
|
);
|
5234
5098
|
}
|
5235
5099
|
appendMessageAnnotation(value) {
|
@@ -5240,7 +5104,7 @@ var StreamData2 = class {
|
|
5240
5104
|
throw new Error("Stream controller is not initialized.");
|
5241
5105
|
}
|
5242
5106
|
this.controller.enqueue(
|
5243
|
-
this.encoder.encode((0,
|
5107
|
+
this.encoder.encode((0, import_ui_utils9.formatStreamPart)("message_annotations", [value]))
|
5244
5108
|
);
|
5245
5109
|
}
|
5246
5110
|
};
|
@@ -5250,11 +5114,11 @@ function createStreamDataTransformer() {
|
|
5250
5114
|
return new TransformStream({
|
5251
5115
|
transform: async (chunk, controller) => {
|
5252
5116
|
const message = decoder.decode(chunk);
|
5253
|
-
controller.enqueue(encoder.encode((0,
|
5117
|
+
controller.enqueue(encoder.encode((0, import_ui_utils9.formatStreamPart)("text", message)));
|
5254
5118
|
}
|
5255
5119
|
});
|
5256
5120
|
}
|
5257
|
-
var experimental_StreamData = class extends
|
5121
|
+
var experimental_StreamData = class extends StreamData {
|
5258
5122
|
};
|
5259
5123
|
|
5260
5124
|
// streams/langchain-adapter.ts
|
@@ -5318,8 +5182,16 @@ __export(llamaindex_adapter_exports, {
|
|
5318
5182
|
toDataStream: () => toDataStream2,
|
5319
5183
|
toDataStreamResponse: () => toDataStreamResponse2
|
5320
5184
|
});
|
5185
|
+
var import_provider_utils10 = require("@ai-sdk/provider-utils");
|
5321
5186
|
function toDataStream2(stream, callbacks) {
|
5322
|
-
|
5187
|
+
const trimStart = trimStartOfStream();
|
5188
|
+
return (0, import_provider_utils10.convertAsyncIteratorToReadableStream)(stream[Symbol.asyncIterator]()).pipeThrough(
|
5189
|
+
new TransformStream({
|
5190
|
+
async transform(message, controller) {
|
5191
|
+
controller.enqueue(trimStart(message.delta));
|
5192
|
+
}
|
5193
|
+
})
|
5194
|
+
).pipeThrough(createCallbacksTransformer(callbacks)).pipeThrough(createStreamDataTransformer());
|
5323
5195
|
}
|
5324
5196
|
function toDataStreamResponse2(stream, options = {}) {
|
5325
5197
|
var _a11;
|
@@ -5335,23 +5207,16 @@ function toDataStreamResponse2(stream, options = {}) {
|
|
5335
5207
|
})
|
5336
5208
|
});
|
5337
5209
|
}
|
5338
|
-
function
|
5339
|
-
|
5340
|
-
|
5341
|
-
|
5342
|
-
|
5343
|
-
|
5344
|
-
|
5345
|
-
if (done) {
|
5346
|
-
controller.close();
|
5347
|
-
return;
|
5348
|
-
}
|
5349
|
-
const text = trimStartOfStream((_a11 = value.delta) != null ? _a11 : "");
|
5350
|
-
if (text) {
|
5351
|
-
controller.enqueue(text);
|
5352
|
-
}
|
5210
|
+
function trimStartOfStream() {
|
5211
|
+
let isStreamStart = true;
|
5212
|
+
return (text) => {
|
5213
|
+
if (isStreamStart) {
|
5214
|
+
text = text.trimStart();
|
5215
|
+
if (text)
|
5216
|
+
isStreamStart = false;
|
5353
5217
|
}
|
5354
|
-
|
5218
|
+
return text;
|
5219
|
+
};
|
5355
5220
|
}
|
5356
5221
|
|
5357
5222
|
// streams/stream-to-response.ts
|
@@ -5395,13 +5260,9 @@ var StreamingTextResponse = class extends Response {
|
|
5395
5260
|
});
|
5396
5261
|
}
|
5397
5262
|
};
|
5398
|
-
|
5399
|
-
// streams/index.ts
|
5400
|
-
var generateId2 = import_provider_utils10.generateId;
|
5401
5263
|
// Annotate the CommonJS export names for ESM import in node:
|
5402
5264
|
0 && (module.exports = {
|
5403
5265
|
AISDKError,
|
5404
|
-
AIStream,
|
5405
5266
|
APICallError,
|
5406
5267
|
AssistantResponse,
|
5407
5268
|
DownloadError,
|
@@ -5429,8 +5290,6 @@ var generateId2 = import_provider_utils10.generateId;
|
|
5429
5290
|
UnsupportedFunctionalityError,
|
5430
5291
|
convertToCoreMessages,
|
5431
5292
|
cosineSimilarity,
|
5432
|
-
createCallbacksTransformer,
|
5433
|
-
createEventStreamTransformer,
|
5434
5293
|
createStreamDataTransformer,
|
5435
5294
|
embed,
|
5436
5295
|
embedMany,
|
@@ -5439,10 +5298,6 @@ var generateId2 = import_provider_utils10.generateId;
|
|
5439
5298
|
experimental_createModelRegistry,
|
5440
5299
|
experimental_createProviderRegistry,
|
5441
5300
|
experimental_customProvider,
|
5442
|
-
experimental_generateObject,
|
5443
|
-
experimental_generateText,
|
5444
|
-
experimental_streamObject,
|
5445
|
-
experimental_streamText,
|
5446
5301
|
experimental_wrapLanguageModel,
|
5447
5302
|
formatStreamPart,
|
5448
5303
|
generateId,
|
@@ -5452,11 +5307,9 @@ var generateId2 = import_provider_utils10.generateId;
|
|
5452
5307
|
parseStreamPart,
|
5453
5308
|
processDataProtocolResponse,
|
5454
5309
|
readDataStream,
|
5455
|
-
readableFromAsyncIterable,
|
5456
5310
|
streamObject,
|
5457
5311
|
streamText,
|
5458
5312
|
streamToResponse,
|
5459
|
-
tool
|
5460
|
-
trimStartOfStreamHelper
|
5313
|
+
tool
|
5461
5314
|
});
|
5462
5315
|
//# sourceMappingURL=index.js.map
|