ai 4.1.55 → 4.1.57
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 +20 -1
- package/dist/index.d.ts +20 -1
- package/dist/index.js +152 -2
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +150 -2
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
@@ -1,5 +1,18 @@
|
|
1
1
|
# ai
|
2
2
|
|
3
|
+
## 4.1.57
|
4
|
+
|
5
|
+
### Patch Changes
|
6
|
+
|
7
|
+
- 092fdaa: feat (ai/core): add defaultSettingsMiddleware
|
8
|
+
|
9
|
+
## 4.1.56
|
10
|
+
|
11
|
+
### Patch Changes
|
12
|
+
|
13
|
+
- 80be82b: feat (ai/core): add simulateStreamingMiddleware
|
14
|
+
- 8109a24: fix (ai/core): limit node imports to types where possible
|
15
|
+
|
3
16
|
## 4.1.55
|
4
17
|
|
5
18
|
### Patch Changes
|
package/dist/index.d.mts
CHANGED
@@ -3523,6 +3523,7 @@ type LanguageModelV1Middleware = {
|
|
3523
3523
|
* Wraps the generate operation of the language model.
|
3524
3524
|
* @param options - Object containing the generate function, parameters, and model.
|
3525
3525
|
* @param options.doGenerate - The original generate function.
|
3526
|
+
* @param options.doStream - The original stream function.
|
3526
3527
|
* @param options.params - The parameters for the generate call. If the
|
3527
3528
|
* `transformParams` middleware is used, this will be the transformed parameters.
|
3528
3529
|
* @param options.model - The language model instance.
|
@@ -3530,12 +3531,15 @@ type LanguageModelV1Middleware = {
|
|
3530
3531
|
*/
|
3531
3532
|
wrapGenerate?: (options: {
|
3532
3533
|
doGenerate: () => ReturnType<LanguageModelV1['doGenerate']>;
|
3534
|
+
doStream: () => ReturnType<LanguageModelV1['doStream']>;
|
3533
3535
|
params: LanguageModelV1CallOptions;
|
3534
3536
|
model: LanguageModelV1;
|
3535
3537
|
}) => Promise<Awaited<ReturnType<LanguageModelV1['doGenerate']>>>;
|
3536
3538
|
/**
|
3537
3539
|
* Wraps the stream operation of the language model.
|
3540
|
+
*
|
3538
3541
|
* @param options - Object containing the stream function, parameters, and model.
|
3542
|
+
* @param options.doGenerate - The original generate function.
|
3539
3543
|
* @param options.doStream - The original stream function.
|
3540
3544
|
* @param options.params - The parameters for the stream call. If the
|
3541
3545
|
* `transformParams` middleware is used, this will be the transformed parameters.
|
@@ -3543,6 +3547,7 @@ type LanguageModelV1Middleware = {
|
|
3543
3547
|
* @returns A promise that resolves to the result of the stream operation.
|
3544
3548
|
*/
|
3545
3549
|
wrapStream?: (options: {
|
3550
|
+
doGenerate: () => ReturnType<LanguageModelV1['doGenerate']>;
|
3546
3551
|
doStream: () => ReturnType<LanguageModelV1['doStream']>;
|
3547
3552
|
params: LanguageModelV1CallOptions;
|
3548
3553
|
model: LanguageModelV1;
|
@@ -3553,6 +3558,15 @@ type LanguageModelV1Middleware = {
|
|
3553
3558
|
*/
|
3554
3559
|
type Experimental_LanguageModelV1Middleware = LanguageModelV1Middleware;
|
3555
3560
|
|
3561
|
+
/**
|
3562
|
+
* Applies default settings for a language model.
|
3563
|
+
*/
|
3564
|
+
declare function defaultSettingsMiddleware({ settings, }: {
|
3565
|
+
settings: Partial<LanguageModelV1CallOptions & {
|
3566
|
+
providerMetadata?: LanguageModelV1ProviderMetadata;
|
3567
|
+
}>;
|
3568
|
+
}): LanguageModelV1Middleware;
|
3569
|
+
|
3556
3570
|
/**
|
3557
3571
|
* Extract an XML-tagged reasoning section from the generated text and exposes it
|
3558
3572
|
* as a `reasoning` property on the result.
|
@@ -3567,6 +3581,11 @@ declare function extractReasoningMiddleware({ tagName, separator, startWithReaso
|
|
3567
3581
|
startWithReasoning?: boolean;
|
3568
3582
|
}): LanguageModelV1Middleware;
|
3569
3583
|
|
3584
|
+
/**
|
3585
|
+
* Simulates streaming chunks with the response from a generate call.
|
3586
|
+
*/
|
3587
|
+
declare function simulateStreamingMiddleware(): LanguageModelV1Middleware;
|
3588
|
+
|
3570
3589
|
/**
|
3571
3590
|
* Wraps a LanguageModelV1 instance with middleware functionality.
|
3572
3591
|
* This function allows you to apply middleware to transform parameters,
|
@@ -4056,4 +4075,4 @@ declare namespace llamaindexAdapter {
|
|
4056
4075
|
};
|
4057
4076
|
}
|
4058
4077
|
|
4059
|
-
export { AssistantContent, AssistantResponse, CallWarning, CoreAssistantMessage, CoreMessage, CoreSystemMessage, CoreTool, CoreToolCallUnion, CoreToolChoice, CoreToolMessage, CoreToolResultUnion, CoreUserMessage, DataContent, DataStreamOptions, DataStreamWriter, DownloadError, EmbedManyResult, EmbedResult, Embedding, EmbeddingModel, EmbeddingModelUsage, GenerateImageResult as Experimental_GenerateImageResult, GeneratedImage as Experimental_GeneratedImage, Experimental_LanguageModelV1Middleware, FilePart, FinishReason, GenerateObjectResult, GenerateTextOnStepFinishCallback, GenerateTextResult, ImageModel, ImageGenerationWarning as ImageModelCallWarning, ImageModelResponseMetadata, ImagePart, InvalidArgumentError, InvalidDataContentError, InvalidMessageRoleError, InvalidStreamPartError, InvalidToolArgumentsError, langchainAdapter as LangChainAdapter, LanguageModel, LanguageModelRequestMetadata, LanguageModelResponseMetadata, LanguageModelUsage, LanguageModelV1Middleware, llamaindexAdapter as LlamaIndexAdapter, LogProbs, MCPClientError, MessageConversionError, NoImageGeneratedError, NoObjectGeneratedError, NoOutputSpecifiedError, NoSuchProviderError, NoSuchToolError, ObjectStreamPart, output as Output, Provider, ProviderMetadata, RepairTextFunction, RetryError, StepResult, StreamData, StreamObjectOnFinishCallback, StreamObjectResult, StreamTextOnChunkCallback, StreamTextOnErrorCallback, StreamTextOnFinishCallback, StreamTextOnStepFinishCallback, StreamTextResult, StreamTextTransform, TelemetrySettings, TextPart, TextStreamPart, Tool, ToolCallPart, ToolCallRepairError, ToolCallRepairFunction, ToolCallUnion, ToolChoice, ToolContent, ToolExecutionError, ToolExecutionOptions, ToolResultPart, ToolResultUnion, ToolSet, UserContent, appendClientMessage, appendResponseMessages, convertToCoreMessages, coreAssistantMessageSchema, coreMessageSchema, coreSystemMessageSchema, coreToolMessageSchema, coreUserMessageSchema, cosineSimilarity, createDataStream, createDataStreamResponse, customProvider, embed, embedMany, createMCPClient as experimental_createMCPClient, experimental_createProviderRegistry, experimental_customProvider, generateImage as experimental_generateImage, experimental_wrapLanguageModel, extractReasoningMiddleware, generateObject, generateText, pipeDataStreamToResponse, simulateReadableStream, smoothStream, streamObject, streamText, tool, wrapLanguageModel };
|
4078
|
+
export { AssistantContent, AssistantResponse, CallWarning, CoreAssistantMessage, CoreMessage, CoreSystemMessage, CoreTool, CoreToolCallUnion, CoreToolChoice, CoreToolMessage, CoreToolResultUnion, CoreUserMessage, DataContent, DataStreamOptions, DataStreamWriter, DownloadError, EmbedManyResult, EmbedResult, Embedding, EmbeddingModel, EmbeddingModelUsage, GenerateImageResult as Experimental_GenerateImageResult, GeneratedImage as Experimental_GeneratedImage, Experimental_LanguageModelV1Middleware, FilePart, FinishReason, GenerateObjectResult, GenerateTextOnStepFinishCallback, GenerateTextResult, ImageModel, ImageGenerationWarning as ImageModelCallWarning, ImageModelResponseMetadata, ImagePart, InvalidArgumentError, InvalidDataContentError, InvalidMessageRoleError, InvalidStreamPartError, InvalidToolArgumentsError, langchainAdapter as LangChainAdapter, LanguageModel, LanguageModelRequestMetadata, LanguageModelResponseMetadata, LanguageModelUsage, LanguageModelV1Middleware, llamaindexAdapter as LlamaIndexAdapter, LogProbs, MCPClientError, MessageConversionError, NoImageGeneratedError, NoObjectGeneratedError, NoOutputSpecifiedError, NoSuchProviderError, NoSuchToolError, ObjectStreamPart, output as Output, Provider, ProviderMetadata, RepairTextFunction, RetryError, StepResult, StreamData, StreamObjectOnFinishCallback, StreamObjectResult, StreamTextOnChunkCallback, StreamTextOnErrorCallback, StreamTextOnFinishCallback, StreamTextOnStepFinishCallback, StreamTextResult, StreamTextTransform, TelemetrySettings, TextPart, TextStreamPart, Tool, ToolCallPart, ToolCallRepairError, ToolCallRepairFunction, ToolCallUnion, ToolChoice, ToolContent, ToolExecutionError, ToolExecutionOptions, ToolResultPart, ToolResultUnion, ToolSet, UserContent, appendClientMessage, appendResponseMessages, convertToCoreMessages, coreAssistantMessageSchema, coreMessageSchema, coreSystemMessageSchema, coreToolMessageSchema, coreUserMessageSchema, cosineSimilarity, createDataStream, createDataStreamResponse, customProvider, defaultSettingsMiddleware, embed, embedMany, createMCPClient as experimental_createMCPClient, experimental_createProviderRegistry, experimental_customProvider, generateImage as experimental_generateImage, experimental_wrapLanguageModel, extractReasoningMiddleware, generateObject, generateText, pipeDataStreamToResponse, simulateReadableStream, simulateStreamingMiddleware, smoothStream, streamObject, streamText, tool, wrapLanguageModel };
|
package/dist/index.d.ts
CHANGED
@@ -3523,6 +3523,7 @@ type LanguageModelV1Middleware = {
|
|
3523
3523
|
* Wraps the generate operation of the language model.
|
3524
3524
|
* @param options - Object containing the generate function, parameters, and model.
|
3525
3525
|
* @param options.doGenerate - The original generate function.
|
3526
|
+
* @param options.doStream - The original stream function.
|
3526
3527
|
* @param options.params - The parameters for the generate call. If the
|
3527
3528
|
* `transformParams` middleware is used, this will be the transformed parameters.
|
3528
3529
|
* @param options.model - The language model instance.
|
@@ -3530,12 +3531,15 @@ type LanguageModelV1Middleware = {
|
|
3530
3531
|
*/
|
3531
3532
|
wrapGenerate?: (options: {
|
3532
3533
|
doGenerate: () => ReturnType<LanguageModelV1['doGenerate']>;
|
3534
|
+
doStream: () => ReturnType<LanguageModelV1['doStream']>;
|
3533
3535
|
params: LanguageModelV1CallOptions;
|
3534
3536
|
model: LanguageModelV1;
|
3535
3537
|
}) => Promise<Awaited<ReturnType<LanguageModelV1['doGenerate']>>>;
|
3536
3538
|
/**
|
3537
3539
|
* Wraps the stream operation of the language model.
|
3540
|
+
*
|
3538
3541
|
* @param options - Object containing the stream function, parameters, and model.
|
3542
|
+
* @param options.doGenerate - The original generate function.
|
3539
3543
|
* @param options.doStream - The original stream function.
|
3540
3544
|
* @param options.params - The parameters for the stream call. If the
|
3541
3545
|
* `transformParams` middleware is used, this will be the transformed parameters.
|
@@ -3543,6 +3547,7 @@ type LanguageModelV1Middleware = {
|
|
3543
3547
|
* @returns A promise that resolves to the result of the stream operation.
|
3544
3548
|
*/
|
3545
3549
|
wrapStream?: (options: {
|
3550
|
+
doGenerate: () => ReturnType<LanguageModelV1['doGenerate']>;
|
3546
3551
|
doStream: () => ReturnType<LanguageModelV1['doStream']>;
|
3547
3552
|
params: LanguageModelV1CallOptions;
|
3548
3553
|
model: LanguageModelV1;
|
@@ -3553,6 +3558,15 @@ type LanguageModelV1Middleware = {
|
|
3553
3558
|
*/
|
3554
3559
|
type Experimental_LanguageModelV1Middleware = LanguageModelV1Middleware;
|
3555
3560
|
|
3561
|
+
/**
|
3562
|
+
* Applies default settings for a language model.
|
3563
|
+
*/
|
3564
|
+
declare function defaultSettingsMiddleware({ settings, }: {
|
3565
|
+
settings: Partial<LanguageModelV1CallOptions & {
|
3566
|
+
providerMetadata?: LanguageModelV1ProviderMetadata;
|
3567
|
+
}>;
|
3568
|
+
}): LanguageModelV1Middleware;
|
3569
|
+
|
3556
3570
|
/**
|
3557
3571
|
* Extract an XML-tagged reasoning section from the generated text and exposes it
|
3558
3572
|
* as a `reasoning` property on the result.
|
@@ -3567,6 +3581,11 @@ declare function extractReasoningMiddleware({ tagName, separator, startWithReaso
|
|
3567
3581
|
startWithReasoning?: boolean;
|
3568
3582
|
}): LanguageModelV1Middleware;
|
3569
3583
|
|
3584
|
+
/**
|
3585
|
+
* Simulates streaming chunks with the response from a generate call.
|
3586
|
+
*/
|
3587
|
+
declare function simulateStreamingMiddleware(): LanguageModelV1Middleware;
|
3588
|
+
|
3570
3589
|
/**
|
3571
3590
|
* Wraps a LanguageModelV1 instance with middleware functionality.
|
3572
3591
|
* This function allows you to apply middleware to transform parameters,
|
@@ -4056,4 +4075,4 @@ declare namespace llamaindexAdapter {
|
|
4056
4075
|
};
|
4057
4076
|
}
|
4058
4077
|
|
4059
|
-
export { AssistantContent, AssistantResponse, CallWarning, CoreAssistantMessage, CoreMessage, CoreSystemMessage, CoreTool, CoreToolCallUnion, CoreToolChoice, CoreToolMessage, CoreToolResultUnion, CoreUserMessage, DataContent, DataStreamOptions, DataStreamWriter, DownloadError, EmbedManyResult, EmbedResult, Embedding, EmbeddingModel, EmbeddingModelUsage, GenerateImageResult as Experimental_GenerateImageResult, GeneratedImage as Experimental_GeneratedImage, Experimental_LanguageModelV1Middleware, FilePart, FinishReason, GenerateObjectResult, GenerateTextOnStepFinishCallback, GenerateTextResult, ImageModel, ImageGenerationWarning as ImageModelCallWarning, ImageModelResponseMetadata, ImagePart, InvalidArgumentError, InvalidDataContentError, InvalidMessageRoleError, InvalidStreamPartError, InvalidToolArgumentsError, langchainAdapter as LangChainAdapter, LanguageModel, LanguageModelRequestMetadata, LanguageModelResponseMetadata, LanguageModelUsage, LanguageModelV1Middleware, llamaindexAdapter as LlamaIndexAdapter, LogProbs, MCPClientError, MessageConversionError, NoImageGeneratedError, NoObjectGeneratedError, NoOutputSpecifiedError, NoSuchProviderError, NoSuchToolError, ObjectStreamPart, output as Output, Provider, ProviderMetadata, RepairTextFunction, RetryError, StepResult, StreamData, StreamObjectOnFinishCallback, StreamObjectResult, StreamTextOnChunkCallback, StreamTextOnErrorCallback, StreamTextOnFinishCallback, StreamTextOnStepFinishCallback, StreamTextResult, StreamTextTransform, TelemetrySettings, TextPart, TextStreamPart, Tool, ToolCallPart, ToolCallRepairError, ToolCallRepairFunction, ToolCallUnion, ToolChoice, ToolContent, ToolExecutionError, ToolExecutionOptions, ToolResultPart, ToolResultUnion, ToolSet, UserContent, appendClientMessage, appendResponseMessages, convertToCoreMessages, coreAssistantMessageSchema, coreMessageSchema, coreSystemMessageSchema, coreToolMessageSchema, coreUserMessageSchema, cosineSimilarity, createDataStream, createDataStreamResponse, customProvider, embed, embedMany, createMCPClient as experimental_createMCPClient, experimental_createProviderRegistry, experimental_customProvider, generateImage as experimental_generateImage, experimental_wrapLanguageModel, extractReasoningMiddleware, generateObject, generateText, pipeDataStreamToResponse, simulateReadableStream, smoothStream, streamObject, streamText, tool, wrapLanguageModel };
|
4078
|
+
export { AssistantContent, AssistantResponse, CallWarning, CoreAssistantMessage, CoreMessage, CoreSystemMessage, CoreTool, CoreToolCallUnion, CoreToolChoice, CoreToolMessage, CoreToolResultUnion, CoreUserMessage, DataContent, DataStreamOptions, DataStreamWriter, DownloadError, EmbedManyResult, EmbedResult, Embedding, EmbeddingModel, EmbeddingModelUsage, GenerateImageResult as Experimental_GenerateImageResult, GeneratedImage as Experimental_GeneratedImage, Experimental_LanguageModelV1Middleware, FilePart, FinishReason, GenerateObjectResult, GenerateTextOnStepFinishCallback, GenerateTextResult, ImageModel, ImageGenerationWarning as ImageModelCallWarning, ImageModelResponseMetadata, ImagePart, InvalidArgumentError, InvalidDataContentError, InvalidMessageRoleError, InvalidStreamPartError, InvalidToolArgumentsError, langchainAdapter as LangChainAdapter, LanguageModel, LanguageModelRequestMetadata, LanguageModelResponseMetadata, LanguageModelUsage, LanguageModelV1Middleware, llamaindexAdapter as LlamaIndexAdapter, LogProbs, MCPClientError, MessageConversionError, NoImageGeneratedError, NoObjectGeneratedError, NoOutputSpecifiedError, NoSuchProviderError, NoSuchToolError, ObjectStreamPart, output as Output, Provider, ProviderMetadata, RepairTextFunction, RetryError, StepResult, StreamData, StreamObjectOnFinishCallback, StreamObjectResult, StreamTextOnChunkCallback, StreamTextOnErrorCallback, StreamTextOnFinishCallback, StreamTextOnStepFinishCallback, StreamTextResult, StreamTextTransform, TelemetrySettings, TextPart, TextStreamPart, Tool, ToolCallPart, ToolCallRepairError, ToolCallRepairFunction, ToolCallUnion, ToolChoice, ToolContent, ToolExecutionError, ToolExecutionOptions, ToolResultPart, ToolResultUnion, ToolSet, UserContent, appendClientMessage, appendResponseMessages, convertToCoreMessages, coreAssistantMessageSchema, coreMessageSchema, coreSystemMessageSchema, coreToolMessageSchema, coreUserMessageSchema, cosineSimilarity, createDataStream, createDataStreamResponse, customProvider, defaultSettingsMiddleware, embed, embedMany, createMCPClient as experimental_createMCPClient, experimental_createProviderRegistry, experimental_customProvider, generateImage as experimental_generateImage, experimental_wrapLanguageModel, extractReasoningMiddleware, generateObject, generateText, pipeDataStreamToResponse, simulateReadableStream, simulateStreamingMiddleware, smoothStream, streamObject, streamText, tool, wrapLanguageModel };
|
package/dist/index.js
CHANGED
@@ -75,6 +75,7 @@ __export(streams_exports, {
|
|
75
75
|
createDataStreamResponse: () => createDataStreamResponse,
|
76
76
|
createIdGenerator: () => import_provider_utils14.createIdGenerator,
|
77
77
|
customProvider: () => customProvider,
|
78
|
+
defaultSettingsMiddleware: () => defaultSettingsMiddleware,
|
78
79
|
embed: () => embed,
|
79
80
|
embedMany: () => embedMany,
|
80
81
|
experimental_createMCPClient: () => createMCPClient,
|
@@ -95,6 +96,7 @@ __export(streams_exports, {
|
|
95
96
|
processDataStream: () => import_ui_utils11.processDataStream,
|
96
97
|
processTextStream: () => import_ui_utils11.processTextStream,
|
97
98
|
simulateReadableStream: () => simulateReadableStream,
|
99
|
+
simulateStreamingMiddleware: () => simulateStreamingMiddleware,
|
98
100
|
smoothStream: () => smoothStream,
|
99
101
|
streamObject: () => streamObject,
|
100
102
|
streamText: () => streamText,
|
@@ -6046,6 +6048,62 @@ var DefaultStreamTextResult = class {
|
|
6046
6048
|
}
|
6047
6049
|
};
|
6048
6050
|
|
6051
|
+
// core/util/merge-objects.ts
|
6052
|
+
function mergeObjects(target, source) {
|
6053
|
+
if (target === void 0 && source === void 0) {
|
6054
|
+
return void 0;
|
6055
|
+
}
|
6056
|
+
if (target === void 0) {
|
6057
|
+
return source;
|
6058
|
+
}
|
6059
|
+
if (source === void 0) {
|
6060
|
+
return target;
|
6061
|
+
}
|
6062
|
+
const result = { ...target };
|
6063
|
+
for (const key in source) {
|
6064
|
+
if (Object.prototype.hasOwnProperty.call(source, key)) {
|
6065
|
+
const sourceValue = source[key];
|
6066
|
+
if (sourceValue === void 0)
|
6067
|
+
continue;
|
6068
|
+
const targetValue = key in target ? target[key] : void 0;
|
6069
|
+
const isSourceObject = sourceValue !== null && typeof sourceValue === "object" && !Array.isArray(sourceValue) && !(sourceValue instanceof Date) && !(sourceValue instanceof RegExp);
|
6070
|
+
const isTargetObject = targetValue !== null && targetValue !== void 0 && typeof targetValue === "object" && !Array.isArray(targetValue) && !(targetValue instanceof Date) && !(targetValue instanceof RegExp);
|
6071
|
+
if (isSourceObject && isTargetObject) {
|
6072
|
+
result[key] = mergeObjects(
|
6073
|
+
targetValue,
|
6074
|
+
sourceValue
|
6075
|
+
);
|
6076
|
+
} else {
|
6077
|
+
result[key] = sourceValue;
|
6078
|
+
}
|
6079
|
+
}
|
6080
|
+
}
|
6081
|
+
return result;
|
6082
|
+
}
|
6083
|
+
|
6084
|
+
// core/middleware/default-settings-middleware.ts
|
6085
|
+
function defaultSettingsMiddleware({
|
6086
|
+
settings
|
6087
|
+
}) {
|
6088
|
+
return {
|
6089
|
+
middlewareVersion: "v1",
|
6090
|
+
transformParams: async ({ params }) => {
|
6091
|
+
var _a17;
|
6092
|
+
return {
|
6093
|
+
...settings,
|
6094
|
+
...params,
|
6095
|
+
providerMetadata: mergeObjects(
|
6096
|
+
settings.providerMetadata,
|
6097
|
+
params.providerMetadata
|
6098
|
+
),
|
6099
|
+
// special case for temperature 0
|
6100
|
+
// TODO remove when temperature defaults to undefined
|
6101
|
+
temperature: params.temperature === 0 || params.temperature == null ? (_a17 = settings.temperature) != null ? _a17 : 0 : params.temperature
|
6102
|
+
};
|
6103
|
+
}
|
6104
|
+
};
|
6105
|
+
}
|
6106
|
+
|
6049
6107
|
// core/util/get-potential-start-index.ts
|
6050
6108
|
function getPotentialStartIndex(text2, searchedText) {
|
6051
6109
|
if (searchedText.length === 0) {
|
@@ -6156,6 +6214,89 @@ function extractReasoningMiddleware({
|
|
6156
6214
|
};
|
6157
6215
|
}
|
6158
6216
|
|
6217
|
+
// core/middleware/simulate-streaming-middleware.ts
|
6218
|
+
function simulateStreamingMiddleware() {
|
6219
|
+
return {
|
6220
|
+
middlewareVersion: "v1",
|
6221
|
+
wrapStream: async ({ doGenerate }) => {
|
6222
|
+
const result = await doGenerate();
|
6223
|
+
const simulatedStream = new ReadableStream({
|
6224
|
+
start(controller) {
|
6225
|
+
controller.enqueue({ type: "response-metadata", ...result.response });
|
6226
|
+
if (result.reasoning) {
|
6227
|
+
if (typeof result.reasoning === "string") {
|
6228
|
+
controller.enqueue({
|
6229
|
+
type: "reasoning",
|
6230
|
+
textDelta: result.reasoning
|
6231
|
+
});
|
6232
|
+
} else {
|
6233
|
+
for (const reasoning of result.reasoning) {
|
6234
|
+
switch (reasoning.type) {
|
6235
|
+
case "text": {
|
6236
|
+
controller.enqueue({
|
6237
|
+
type: "reasoning",
|
6238
|
+
textDelta: reasoning.text
|
6239
|
+
});
|
6240
|
+
if (reasoning.signature != null) {
|
6241
|
+
controller.enqueue({
|
6242
|
+
type: "reasoning-signature",
|
6243
|
+
signature: reasoning.signature
|
6244
|
+
});
|
6245
|
+
}
|
6246
|
+
break;
|
6247
|
+
}
|
6248
|
+
case "redacted": {
|
6249
|
+
controller.enqueue({
|
6250
|
+
type: "redacted-reasoning",
|
6251
|
+
data: reasoning.data
|
6252
|
+
});
|
6253
|
+
break;
|
6254
|
+
}
|
6255
|
+
}
|
6256
|
+
}
|
6257
|
+
}
|
6258
|
+
}
|
6259
|
+
if (result.text) {
|
6260
|
+
controller.enqueue({
|
6261
|
+
type: "text-delta",
|
6262
|
+
textDelta: result.text
|
6263
|
+
});
|
6264
|
+
}
|
6265
|
+
if (result.toolCalls) {
|
6266
|
+
for (const toolCall of result.toolCalls) {
|
6267
|
+
controller.enqueue({
|
6268
|
+
type: "tool-call-delta",
|
6269
|
+
toolCallType: "function",
|
6270
|
+
toolCallId: toolCall.toolCallId,
|
6271
|
+
toolName: toolCall.toolName,
|
6272
|
+
argsTextDelta: toolCall.args
|
6273
|
+
});
|
6274
|
+
controller.enqueue({
|
6275
|
+
type: "tool-call",
|
6276
|
+
...toolCall
|
6277
|
+
});
|
6278
|
+
}
|
6279
|
+
}
|
6280
|
+
controller.enqueue({
|
6281
|
+
type: "finish",
|
6282
|
+
finishReason: result.finishReason,
|
6283
|
+
usage: result.usage,
|
6284
|
+
logprobs: result.logprobs,
|
6285
|
+
providerMetadata: result.providerMetadata
|
6286
|
+
});
|
6287
|
+
controller.close();
|
6288
|
+
}
|
6289
|
+
});
|
6290
|
+
return {
|
6291
|
+
stream: simulatedStream,
|
6292
|
+
rawCall: result.rawCall,
|
6293
|
+
rawResponse: result.rawResponse,
|
6294
|
+
warnings: result.warnings
|
6295
|
+
};
|
6296
|
+
}
|
6297
|
+
};
|
6298
|
+
}
|
6299
|
+
|
6159
6300
|
// core/middleware/wrap-language-model.ts
|
6160
6301
|
var wrapLanguageModel = ({
|
6161
6302
|
model,
|
@@ -6191,12 +6332,19 @@ var doWrap = ({
|
|
6191
6332
|
async doGenerate(params) {
|
6192
6333
|
const transformedParams = await doTransform({ params, type: "generate" });
|
6193
6334
|
const doGenerate = async () => model.doGenerate(transformedParams);
|
6194
|
-
|
6335
|
+
const doStream = async () => model.doStream(transformedParams);
|
6336
|
+
return wrapGenerate ? wrapGenerate({
|
6337
|
+
doGenerate,
|
6338
|
+
doStream,
|
6339
|
+
params: transformedParams,
|
6340
|
+
model
|
6341
|
+
}) : doGenerate();
|
6195
6342
|
},
|
6196
6343
|
async doStream(params) {
|
6197
6344
|
const transformedParams = await doTransform({ params, type: "stream" });
|
6345
|
+
const doGenerate = async () => model.doGenerate(transformedParams);
|
6198
6346
|
const doStream = async () => model.doStream(transformedParams);
|
6199
|
-
return wrapStream ? wrapStream({ doStream, params: transformedParams, model }) : doStream();
|
6347
|
+
return wrapStream ? wrapStream({ doGenerate, doStream, params: transformedParams, model }) : doStream();
|
6200
6348
|
}
|
6201
6349
|
};
|
6202
6350
|
};
|
@@ -7681,6 +7829,7 @@ var StreamData = class {
|
|
7681
7829
|
createDataStreamResponse,
|
7682
7830
|
createIdGenerator,
|
7683
7831
|
customProvider,
|
7832
|
+
defaultSettingsMiddleware,
|
7684
7833
|
embed,
|
7685
7834
|
embedMany,
|
7686
7835
|
experimental_createMCPClient,
|
@@ -7701,6 +7850,7 @@ var StreamData = class {
|
|
7701
7850
|
processDataStream,
|
7702
7851
|
processTextStream,
|
7703
7852
|
simulateReadableStream,
|
7853
|
+
simulateStreamingMiddleware,
|
7704
7854
|
smoothStream,
|
7705
7855
|
streamObject,
|
7706
7856
|
streamText,
|