ai 4.1.7 → 4.1.8
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 +6 -0
- package/dist/index.d.mts +13 -1
- package/dist/index.d.ts +13 -1
- package/dist/index.js +109 -0
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +108 -0
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
package/dist/index.d.mts
CHANGED
@@ -2387,6 +2387,18 @@ declare const experimental_wrapLanguageModel: ({ model, middleware: { transformP
|
|
2387
2387
|
providerId?: string;
|
2388
2388
|
}) => LanguageModelV1;
|
2389
2389
|
|
2390
|
+
/**
|
2391
|
+
* Extract an XML-tagged reasoning section from the generated text and exposes it
|
2392
|
+
* as a `reasoning` property on the result.
|
2393
|
+
*
|
2394
|
+
* @param tagName - The name of the XML tag to extract reasoning from.
|
2395
|
+
* @param separator - The separator to use between reasoning and text sections.
|
2396
|
+
*/
|
2397
|
+
declare function extractReasoningMiddleware({ tagName, separator, }: {
|
2398
|
+
tagName: string;
|
2399
|
+
separator?: string;
|
2400
|
+
}): Experimental_LanguageModelV1Middleware;
|
2401
|
+
|
2390
2402
|
/**
|
2391
2403
|
* Creates a custom provider with specified language models, text embedding models, and an optional fallback provider.
|
2392
2404
|
*
|
@@ -2768,4 +2780,4 @@ declare namespace llamaindexAdapter {
|
|
2768
2780
|
};
|
2769
2781
|
}
|
2770
2782
|
|
2771
|
-
export { AssistantContent, AssistantResponse, CallWarning, CoreAssistantMessage, CoreMessage, CoreSystemMessage, CoreTool, ToolCallUnion as CoreToolCallUnion, CoreToolChoice, CoreToolMessage, ToolResultUnion as CoreToolResultUnion, CoreUserMessage, DataContent, DataStreamWriter, DownloadError, EmbedManyResult, EmbedResult, Embedding, EmbeddingModel, EmbeddingModelUsage, GenerateImageResult as Experimental_GenerateImageResult, GeneratedImage as Experimental_GeneratedImage, Experimental_LanguageModelV1Middleware, FilePart, FinishReason, GenerateObjectResult, GenerateTextResult, ImageModel, ImageGenerationWarning as ImageModelCallWarning, ImageModelResponseMetadata, ImagePart, InvalidArgumentError, InvalidDataContentError, InvalidMessageRoleError, InvalidToolArgumentsError, langchainAdapter as LangChainAdapter, LanguageModel, LanguageModelRequestMetadata, LanguageModelResponseMetadata, LanguageModelUsage, llamaindexAdapter as LlamaIndexAdapter, LogProbs, MessageConversionError, NoImageGeneratedError, NoObjectGeneratedError, NoOutputSpecifiedError, NoSuchProviderError, NoSuchToolError, ObjectStreamPart, output as Output, Provider, ProviderMetadata, RetryError, StepResult, StreamData, StreamObjectResult, StreamTextResult, StreamTextTransform, TelemetrySettings, TextPart, TextStreamPart, ToolCallPart, ToolCallRepairError, ToolCallRepairFunction, ToolContent, ToolExecutionError, ToolExecutionOptions, ToolResultPart, UserContent, appendClientMessage, appendResponseMessages, convertToCoreMessages, coreAssistantMessageSchema, coreMessageSchema, coreSystemMessageSchema, coreToolMessageSchema, coreUserMessageSchema, cosineSimilarity, createDataStream, createDataStreamResponse, embed, embedMany, experimental_createProviderRegistry, experimental_customProvider, generateImage as experimental_generateImage, experimental_wrapLanguageModel, generateObject, generateText, pipeDataStreamToResponse, simulateReadableStream, smoothStream, streamObject, streamText, tool };
|
2783
|
+
export { AssistantContent, AssistantResponse, CallWarning, CoreAssistantMessage, CoreMessage, CoreSystemMessage, CoreTool, ToolCallUnion as CoreToolCallUnion, CoreToolChoice, CoreToolMessage, ToolResultUnion as CoreToolResultUnion, CoreUserMessage, DataContent, DataStreamWriter, DownloadError, EmbedManyResult, EmbedResult, Embedding, EmbeddingModel, EmbeddingModelUsage, GenerateImageResult as Experimental_GenerateImageResult, GeneratedImage as Experimental_GeneratedImage, Experimental_LanguageModelV1Middleware, FilePart, FinishReason, GenerateObjectResult, GenerateTextResult, ImageModel, ImageGenerationWarning as ImageModelCallWarning, ImageModelResponseMetadata, ImagePart, InvalidArgumentError, InvalidDataContentError, InvalidMessageRoleError, InvalidToolArgumentsError, langchainAdapter as LangChainAdapter, LanguageModel, LanguageModelRequestMetadata, LanguageModelResponseMetadata, LanguageModelUsage, llamaindexAdapter as LlamaIndexAdapter, LogProbs, MessageConversionError, NoImageGeneratedError, NoObjectGeneratedError, NoOutputSpecifiedError, NoSuchProviderError, NoSuchToolError, ObjectStreamPart, output as Output, Provider, ProviderMetadata, RetryError, StepResult, StreamData, StreamObjectResult, StreamTextResult, StreamTextTransform, TelemetrySettings, TextPart, TextStreamPart, ToolCallPart, ToolCallRepairError, ToolCallRepairFunction, ToolContent, ToolExecutionError, ToolExecutionOptions, ToolResultPart, UserContent, appendClientMessage, appendResponseMessages, convertToCoreMessages, coreAssistantMessageSchema, coreMessageSchema, coreSystemMessageSchema, coreToolMessageSchema, coreUserMessageSchema, cosineSimilarity, createDataStream, createDataStreamResponse, embed, embedMany, experimental_createProviderRegistry, experimental_customProvider, generateImage as experimental_generateImage, experimental_wrapLanguageModel, extractReasoningMiddleware, generateObject, generateText, pipeDataStreamToResponse, simulateReadableStream, smoothStream, streamObject, streamText, tool };
|
package/dist/index.d.ts
CHANGED
@@ -2387,6 +2387,18 @@ declare const experimental_wrapLanguageModel: ({ model, middleware: { transformP
|
|
2387
2387
|
providerId?: string;
|
2388
2388
|
}) => LanguageModelV1;
|
2389
2389
|
|
2390
|
+
/**
|
2391
|
+
* Extract an XML-tagged reasoning section from the generated text and exposes it
|
2392
|
+
* as a `reasoning` property on the result.
|
2393
|
+
*
|
2394
|
+
* @param tagName - The name of the XML tag to extract reasoning from.
|
2395
|
+
* @param separator - The separator to use between reasoning and text sections.
|
2396
|
+
*/
|
2397
|
+
declare function extractReasoningMiddleware({ tagName, separator, }: {
|
2398
|
+
tagName: string;
|
2399
|
+
separator?: string;
|
2400
|
+
}): Experimental_LanguageModelV1Middleware;
|
2401
|
+
|
2390
2402
|
/**
|
2391
2403
|
* Creates a custom provider with specified language models, text embedding models, and an optional fallback provider.
|
2392
2404
|
*
|
@@ -2768,4 +2780,4 @@ declare namespace llamaindexAdapter {
|
|
2768
2780
|
};
|
2769
2781
|
}
|
2770
2782
|
|
2771
|
-
export { AssistantContent, AssistantResponse, CallWarning, CoreAssistantMessage, CoreMessage, CoreSystemMessage, CoreTool, ToolCallUnion as CoreToolCallUnion, CoreToolChoice, CoreToolMessage, ToolResultUnion as CoreToolResultUnion, CoreUserMessage, DataContent, DataStreamWriter, DownloadError, EmbedManyResult, EmbedResult, Embedding, EmbeddingModel, EmbeddingModelUsage, GenerateImageResult as Experimental_GenerateImageResult, GeneratedImage as Experimental_GeneratedImage, Experimental_LanguageModelV1Middleware, FilePart, FinishReason, GenerateObjectResult, GenerateTextResult, ImageModel, ImageGenerationWarning as ImageModelCallWarning, ImageModelResponseMetadata, ImagePart, InvalidArgumentError, InvalidDataContentError, InvalidMessageRoleError, InvalidToolArgumentsError, langchainAdapter as LangChainAdapter, LanguageModel, LanguageModelRequestMetadata, LanguageModelResponseMetadata, LanguageModelUsage, llamaindexAdapter as LlamaIndexAdapter, LogProbs, MessageConversionError, NoImageGeneratedError, NoObjectGeneratedError, NoOutputSpecifiedError, NoSuchProviderError, NoSuchToolError, ObjectStreamPart, output as Output, Provider, ProviderMetadata, RetryError, StepResult, StreamData, StreamObjectResult, StreamTextResult, StreamTextTransform, TelemetrySettings, TextPart, TextStreamPart, ToolCallPart, ToolCallRepairError, ToolCallRepairFunction, ToolContent, ToolExecutionError, ToolExecutionOptions, ToolResultPart, UserContent, appendClientMessage, appendResponseMessages, convertToCoreMessages, coreAssistantMessageSchema, coreMessageSchema, coreSystemMessageSchema, coreToolMessageSchema, coreUserMessageSchema, cosineSimilarity, createDataStream, createDataStreamResponse, embed, embedMany, experimental_createProviderRegistry, experimental_customProvider, generateImage as experimental_generateImage, experimental_wrapLanguageModel, generateObject, generateText, pipeDataStreamToResponse, simulateReadableStream, smoothStream, streamObject, streamText, tool };
|
2783
|
+
export { AssistantContent, AssistantResponse, CallWarning, CoreAssistantMessage, CoreMessage, CoreSystemMessage, CoreTool, ToolCallUnion as CoreToolCallUnion, CoreToolChoice, CoreToolMessage, ToolResultUnion as CoreToolResultUnion, CoreUserMessage, DataContent, DataStreamWriter, DownloadError, EmbedManyResult, EmbedResult, Embedding, EmbeddingModel, EmbeddingModelUsage, GenerateImageResult as Experimental_GenerateImageResult, GeneratedImage as Experimental_GeneratedImage, Experimental_LanguageModelV1Middleware, FilePart, FinishReason, GenerateObjectResult, GenerateTextResult, ImageModel, ImageGenerationWarning as ImageModelCallWarning, ImageModelResponseMetadata, ImagePart, InvalidArgumentError, InvalidDataContentError, InvalidMessageRoleError, InvalidToolArgumentsError, langchainAdapter as LangChainAdapter, LanguageModel, LanguageModelRequestMetadata, LanguageModelResponseMetadata, LanguageModelUsage, llamaindexAdapter as LlamaIndexAdapter, LogProbs, MessageConversionError, NoImageGeneratedError, NoObjectGeneratedError, NoOutputSpecifiedError, NoSuchProviderError, NoSuchToolError, ObjectStreamPart, output as Output, Provider, ProviderMetadata, RetryError, StepResult, StreamData, StreamObjectResult, StreamTextResult, StreamTextTransform, TelemetrySettings, TextPart, TextStreamPart, ToolCallPart, ToolCallRepairError, ToolCallRepairFunction, ToolContent, ToolExecutionError, ToolExecutionOptions, ToolResultPart, UserContent, appendClientMessage, appendResponseMessages, convertToCoreMessages, coreAssistantMessageSchema, coreMessageSchema, coreSystemMessageSchema, coreToolMessageSchema, coreUserMessageSchema, cosineSimilarity, createDataStream, createDataStreamResponse, embed, embedMany, experimental_createProviderRegistry, experimental_customProvider, generateImage as experimental_generateImage, experimental_wrapLanguageModel, extractReasoningMiddleware, generateObject, generateText, pipeDataStreamToResponse, simulateReadableStream, smoothStream, streamObject, streamText, tool };
|
package/dist/index.js
CHANGED
@@ -68,6 +68,7 @@ __export(streams_exports, {
|
|
68
68
|
experimental_customProvider: () => experimental_customProvider,
|
69
69
|
experimental_generateImage: () => generateImage,
|
70
70
|
experimental_wrapLanguageModel: () => experimental_wrapLanguageModel,
|
71
|
+
extractReasoningMiddleware: () => extractReasoningMiddleware,
|
71
72
|
formatAssistantStreamPart: () => import_ui_utils9.formatAssistantStreamPart,
|
72
73
|
formatDataStreamPart: () => import_ui_utils9.formatDataStreamPart,
|
73
74
|
generateId: () => import_provider_utils14.generateId,
|
@@ -5630,6 +5631,113 @@ var experimental_wrapLanguageModel = ({
|
|
5630
5631
|
};
|
5631
5632
|
};
|
5632
5633
|
|
5634
|
+
// core/util/get-potential-start-index.ts
|
5635
|
+
function getPotentialStartIndex(text2, searchedText) {
|
5636
|
+
if (searchedText.length === 0) {
|
5637
|
+
return null;
|
5638
|
+
}
|
5639
|
+
const directIndex = text2.indexOf(searchedText);
|
5640
|
+
if (directIndex !== -1) {
|
5641
|
+
return directIndex;
|
5642
|
+
}
|
5643
|
+
for (let i = text2.length - 1; i >= 0; i--) {
|
5644
|
+
const suffix = text2.substring(i);
|
5645
|
+
if (searchedText.startsWith(suffix)) {
|
5646
|
+
return i;
|
5647
|
+
}
|
5648
|
+
}
|
5649
|
+
return null;
|
5650
|
+
}
|
5651
|
+
|
5652
|
+
// core/middleware/extract-reasoning-middleware.ts
|
5653
|
+
function extractReasoningMiddleware({
|
5654
|
+
tagName,
|
5655
|
+
separator = "\n"
|
5656
|
+
}) {
|
5657
|
+
const openingTag = `<${tagName}>`;
|
5658
|
+
const closingTag = `</${tagName}>`;
|
5659
|
+
return {
|
5660
|
+
wrapGenerate: async ({ doGenerate }) => {
|
5661
|
+
const { text: text2, ...rest } = await doGenerate();
|
5662
|
+
if (text2 == null) {
|
5663
|
+
return { text: text2, ...rest };
|
5664
|
+
}
|
5665
|
+
const regexp = new RegExp(`${openingTag}(.*?)${closingTag}`, "gs");
|
5666
|
+
const matches = Array.from(text2.matchAll(regexp));
|
5667
|
+
if (!matches.length) {
|
5668
|
+
return { text: text2, ...rest };
|
5669
|
+
}
|
5670
|
+
const reasoning = matches.map((match) => match[1]).join(separator);
|
5671
|
+
let textWithoutReasoning = text2;
|
5672
|
+
for (let i = matches.length - 1; i >= 0; i--) {
|
5673
|
+
const match = matches[i];
|
5674
|
+
const beforeMatch = textWithoutReasoning.slice(0, match.index);
|
5675
|
+
const afterMatch = textWithoutReasoning.slice(
|
5676
|
+
match.index + match[0].length
|
5677
|
+
);
|
5678
|
+
textWithoutReasoning = beforeMatch + (beforeMatch.length > 0 && afterMatch.length > 0 ? separator : "") + afterMatch;
|
5679
|
+
}
|
5680
|
+
return { text: textWithoutReasoning, reasoning, ...rest };
|
5681
|
+
},
|
5682
|
+
wrapStream: async ({ doStream }) => {
|
5683
|
+
const { stream, ...rest } = await doStream();
|
5684
|
+
let isFirstReasoning = true;
|
5685
|
+
let isFirstText = true;
|
5686
|
+
let afterSwitch = false;
|
5687
|
+
let isReasoning = false;
|
5688
|
+
let buffer = "";
|
5689
|
+
return {
|
5690
|
+
stream: stream.pipeThrough(
|
5691
|
+
new TransformStream({
|
5692
|
+
transform: (chunk, controller) => {
|
5693
|
+
if (chunk.type !== "text-delta") {
|
5694
|
+
controller.enqueue(chunk);
|
5695
|
+
return;
|
5696
|
+
}
|
5697
|
+
buffer += chunk.textDelta;
|
5698
|
+
function publish(text2) {
|
5699
|
+
if (text2.length > 0) {
|
5700
|
+
const prefix = afterSwitch && (isReasoning ? !isFirstReasoning : !isFirstText) ? separator : "";
|
5701
|
+
controller.enqueue({
|
5702
|
+
type: isReasoning ? "reasoning" : "text-delta",
|
5703
|
+
textDelta: prefix + text2
|
5704
|
+
});
|
5705
|
+
afterSwitch = false;
|
5706
|
+
if (isReasoning) {
|
5707
|
+
isFirstReasoning = false;
|
5708
|
+
} else {
|
5709
|
+
isFirstText = false;
|
5710
|
+
}
|
5711
|
+
}
|
5712
|
+
}
|
5713
|
+
do {
|
5714
|
+
const nextTag = isReasoning ? closingTag : openingTag;
|
5715
|
+
const startIndex = getPotentialStartIndex(buffer, nextTag);
|
5716
|
+
if (startIndex == null) {
|
5717
|
+
publish(buffer);
|
5718
|
+
buffer = "";
|
5719
|
+
break;
|
5720
|
+
}
|
5721
|
+
publish(buffer.slice(0, startIndex));
|
5722
|
+
const foundFullMatch = startIndex + nextTag.length <= buffer.length;
|
5723
|
+
if (foundFullMatch) {
|
5724
|
+
buffer = buffer.slice(startIndex + nextTag.length);
|
5725
|
+
isReasoning = !isReasoning;
|
5726
|
+
afterSwitch = true;
|
5727
|
+
} else {
|
5728
|
+
buffer = buffer.slice(startIndex);
|
5729
|
+
break;
|
5730
|
+
}
|
5731
|
+
} while (true);
|
5732
|
+
}
|
5733
|
+
})
|
5734
|
+
),
|
5735
|
+
...rest
|
5736
|
+
};
|
5737
|
+
}
|
5738
|
+
};
|
5739
|
+
}
|
5740
|
+
|
5633
5741
|
// core/prompt/append-client-message.ts
|
5634
5742
|
function appendClientMessage({
|
5635
5743
|
messages,
|
@@ -6264,6 +6372,7 @@ var StreamData = class {
|
|
6264
6372
|
experimental_customProvider,
|
6265
6373
|
experimental_generateImage,
|
6266
6374
|
experimental_wrapLanguageModel,
|
6375
|
+
extractReasoningMiddleware,
|
6267
6376
|
formatAssistantStreamPart,
|
6268
6377
|
formatDataStreamPart,
|
6269
6378
|
generateId,
|