ai 5.0.35 → 5.0.37
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 +12 -0
- package/dist/index.d.mts +53 -32
- package/dist/index.d.ts +53 -32
- package/dist/index.js +203 -189
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +202 -189
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
@@ -88,6 +88,7 @@ __export(src_exports, {
|
|
88
88
|
experimental_generateSpeech: () => generateSpeech,
|
89
89
|
experimental_transcribe: () => transcribe,
|
90
90
|
extractReasoningMiddleware: () => extractReasoningMiddleware,
|
91
|
+
gateway: () => import_gateway3.gateway,
|
91
92
|
generateId: () => import_provider_utils29.generateId,
|
92
93
|
generateObject: () => generateObject,
|
93
94
|
generateText: () => generateText,
|
@@ -121,6 +122,7 @@ __export(src_exports, {
|
|
121
122
|
zodSchema: () => import_provider_utils29.zodSchema
|
122
123
|
});
|
123
124
|
module.exports = __toCommonJS(src_exports);
|
125
|
+
var import_gateway3 = require("@ai-sdk/gateway");
|
124
126
|
var import_provider_utils29 = require("@ai-sdk/provider-utils");
|
125
127
|
|
126
128
|
// src/generate-text/generate-text.ts
|
@@ -5745,17 +5747,217 @@ var DefaultStreamTextResult = class {
|
|
5745
5747
|
}
|
5746
5748
|
};
|
5747
5749
|
|
5750
|
+
// src/ui/convert-to-model-messages.ts
|
5751
|
+
function convertToModelMessages(messages, options) {
|
5752
|
+
const modelMessages = [];
|
5753
|
+
if (options == null ? void 0 : options.ignoreIncompleteToolCalls) {
|
5754
|
+
messages = messages.map((message) => ({
|
5755
|
+
...message,
|
5756
|
+
parts: message.parts.filter(
|
5757
|
+
(part) => !isToolOrDynamicToolUIPart(part) || part.state !== "input-streaming" && part.state !== "input-available"
|
5758
|
+
)
|
5759
|
+
}));
|
5760
|
+
}
|
5761
|
+
for (const message of messages) {
|
5762
|
+
switch (message.role) {
|
5763
|
+
case "system": {
|
5764
|
+
const textParts = message.parts.filter((part) => part.type === "text");
|
5765
|
+
const providerMetadata = textParts.reduce((acc, part) => {
|
5766
|
+
if (part.providerMetadata != null) {
|
5767
|
+
return { ...acc, ...part.providerMetadata };
|
5768
|
+
}
|
5769
|
+
return acc;
|
5770
|
+
}, {});
|
5771
|
+
modelMessages.push({
|
5772
|
+
role: "system",
|
5773
|
+
content: textParts.map((part) => part.text).join(""),
|
5774
|
+
...Object.keys(providerMetadata).length > 0 ? { providerOptions: providerMetadata } : {}
|
5775
|
+
});
|
5776
|
+
break;
|
5777
|
+
}
|
5778
|
+
case "user": {
|
5779
|
+
modelMessages.push({
|
5780
|
+
role: "user",
|
5781
|
+
content: message.parts.filter(
|
5782
|
+
(part) => part.type === "text" || part.type === "file"
|
5783
|
+
).map((part) => {
|
5784
|
+
switch (part.type) {
|
5785
|
+
case "text":
|
5786
|
+
return {
|
5787
|
+
type: "text",
|
5788
|
+
text: part.text,
|
5789
|
+
...part.providerMetadata != null ? { providerOptions: part.providerMetadata } : {}
|
5790
|
+
};
|
5791
|
+
case "file":
|
5792
|
+
return {
|
5793
|
+
type: "file",
|
5794
|
+
mediaType: part.mediaType,
|
5795
|
+
filename: part.filename,
|
5796
|
+
data: part.url,
|
5797
|
+
...part.providerMetadata != null ? { providerOptions: part.providerMetadata } : {}
|
5798
|
+
};
|
5799
|
+
default:
|
5800
|
+
return part;
|
5801
|
+
}
|
5802
|
+
})
|
5803
|
+
});
|
5804
|
+
break;
|
5805
|
+
}
|
5806
|
+
case "assistant": {
|
5807
|
+
if (message.parts != null) {
|
5808
|
+
let processBlock2 = function() {
|
5809
|
+
var _a17, _b;
|
5810
|
+
if (block.length === 0) {
|
5811
|
+
return;
|
5812
|
+
}
|
5813
|
+
const content = [];
|
5814
|
+
for (const part of block) {
|
5815
|
+
if (part.type === "text") {
|
5816
|
+
content.push({
|
5817
|
+
type: "text",
|
5818
|
+
text: part.text,
|
5819
|
+
...part.providerMetadata != null ? { providerOptions: part.providerMetadata } : {}
|
5820
|
+
});
|
5821
|
+
} else if (part.type === "file") {
|
5822
|
+
content.push({
|
5823
|
+
type: "file",
|
5824
|
+
mediaType: part.mediaType,
|
5825
|
+
filename: part.filename,
|
5826
|
+
data: part.url
|
5827
|
+
});
|
5828
|
+
} else if (part.type === "reasoning") {
|
5829
|
+
content.push({
|
5830
|
+
type: "reasoning",
|
5831
|
+
text: part.text,
|
5832
|
+
providerOptions: part.providerMetadata
|
5833
|
+
});
|
5834
|
+
} else if (part.type === "dynamic-tool") {
|
5835
|
+
const toolName = part.toolName;
|
5836
|
+
if (part.state !== "input-streaming") {
|
5837
|
+
content.push({
|
5838
|
+
type: "tool-call",
|
5839
|
+
toolCallId: part.toolCallId,
|
5840
|
+
toolName,
|
5841
|
+
input: part.input,
|
5842
|
+
...part.callProviderMetadata != null ? { providerOptions: part.callProviderMetadata } : {}
|
5843
|
+
});
|
5844
|
+
}
|
5845
|
+
} else if (isToolUIPart(part)) {
|
5846
|
+
const toolName = getToolName(part);
|
5847
|
+
if (part.state !== "input-streaming") {
|
5848
|
+
content.push({
|
5849
|
+
type: "tool-call",
|
5850
|
+
toolCallId: part.toolCallId,
|
5851
|
+
toolName,
|
5852
|
+
input: part.state === "output-error" ? (_a17 = part.input) != null ? _a17 : part.rawInput : part.input,
|
5853
|
+
providerExecuted: part.providerExecuted,
|
5854
|
+
...part.callProviderMetadata != null ? { providerOptions: part.callProviderMetadata } : {}
|
5855
|
+
});
|
5856
|
+
if (part.providerExecuted === true && (part.state === "output-available" || part.state === "output-error")) {
|
5857
|
+
content.push({
|
5858
|
+
type: "tool-result",
|
5859
|
+
toolCallId: part.toolCallId,
|
5860
|
+
toolName,
|
5861
|
+
output: createToolModelOutput({
|
5862
|
+
output: part.state === "output-error" ? part.errorText : part.output,
|
5863
|
+
tool: (_b = options == null ? void 0 : options.tools) == null ? void 0 : _b[toolName],
|
5864
|
+
errorMode: part.state === "output-error" ? "json" : "none"
|
5865
|
+
})
|
5866
|
+
});
|
5867
|
+
}
|
5868
|
+
}
|
5869
|
+
} else {
|
5870
|
+
const _exhaustiveCheck = part;
|
5871
|
+
throw new Error(`Unsupported part: ${_exhaustiveCheck}`);
|
5872
|
+
}
|
5873
|
+
}
|
5874
|
+
modelMessages.push({
|
5875
|
+
role: "assistant",
|
5876
|
+
content
|
5877
|
+
});
|
5878
|
+
const toolParts = block.filter(
|
5879
|
+
(part) => isToolUIPart(part) && part.providerExecuted !== true || part.type === "dynamic-tool"
|
5880
|
+
);
|
5881
|
+
if (toolParts.length > 0) {
|
5882
|
+
modelMessages.push({
|
5883
|
+
role: "tool",
|
5884
|
+
content: toolParts.map((toolPart) => {
|
5885
|
+
var _a18;
|
5886
|
+
switch (toolPart.state) {
|
5887
|
+
case "output-error":
|
5888
|
+
case "output-available": {
|
5889
|
+
const toolName = toolPart.type === "dynamic-tool" ? toolPart.toolName : getToolName(toolPart);
|
5890
|
+
return {
|
5891
|
+
type: "tool-result",
|
5892
|
+
toolCallId: toolPart.toolCallId,
|
5893
|
+
toolName,
|
5894
|
+
output: createToolModelOutput({
|
5895
|
+
output: toolPart.state === "output-error" ? toolPart.errorText : toolPart.output,
|
5896
|
+
tool: (_a18 = options == null ? void 0 : options.tools) == null ? void 0 : _a18[toolName],
|
5897
|
+
errorMode: toolPart.state === "output-error" ? "text" : "none"
|
5898
|
+
})
|
5899
|
+
};
|
5900
|
+
}
|
5901
|
+
default: {
|
5902
|
+
return null;
|
5903
|
+
}
|
5904
|
+
}
|
5905
|
+
}).filter(
|
5906
|
+
(output) => output != null
|
5907
|
+
)
|
5908
|
+
});
|
5909
|
+
}
|
5910
|
+
block = [];
|
5911
|
+
};
|
5912
|
+
var processBlock = processBlock2;
|
5913
|
+
let block = [];
|
5914
|
+
for (const part of message.parts) {
|
5915
|
+
if (part.type === "text" || part.type === "reasoning" || part.type === "file" || part.type === "dynamic-tool" || isToolUIPart(part)) {
|
5916
|
+
block.push(part);
|
5917
|
+
} else if (part.type === "step-start") {
|
5918
|
+
processBlock2();
|
5919
|
+
}
|
5920
|
+
}
|
5921
|
+
processBlock2();
|
5922
|
+
break;
|
5923
|
+
}
|
5924
|
+
break;
|
5925
|
+
}
|
5926
|
+
default: {
|
5927
|
+
const _exhaustiveCheck = message.role;
|
5928
|
+
throw new MessageConversionError({
|
5929
|
+
originalMessage: message,
|
5930
|
+
message: `Unsupported role: ${_exhaustiveCheck}`
|
5931
|
+
});
|
5932
|
+
}
|
5933
|
+
}
|
5934
|
+
}
|
5935
|
+
return modelMessages;
|
5936
|
+
}
|
5937
|
+
var convertToCoreMessages = convertToModelMessages;
|
5938
|
+
|
5748
5939
|
// src/agent/agent.ts
|
5749
5940
|
var Agent = class {
|
5750
5941
|
constructor(settings) {
|
5751
5942
|
this.settings = settings;
|
5752
5943
|
}
|
5944
|
+
get tools() {
|
5945
|
+
return this.settings.tools;
|
5946
|
+
}
|
5753
5947
|
async generate(options) {
|
5754
5948
|
return generateText({ ...this.settings, ...options });
|
5755
5949
|
}
|
5756
5950
|
stream(options) {
|
5757
5951
|
return streamText({ ...this.settings, ...options });
|
5758
5952
|
}
|
5953
|
+
/**
|
5954
|
+
* Creates a response object that streams UI messages to the client.
|
5955
|
+
*/
|
5956
|
+
respond(options) {
|
5957
|
+
return this.stream({
|
5958
|
+
prompt: convertToModelMessages(options.messages)
|
5959
|
+
}).toUIMessageStreamResponse();
|
5960
|
+
}
|
5759
5961
|
};
|
5760
5962
|
|
5761
5963
|
// src/embed/embed.ts
|
@@ -9636,195 +9838,6 @@ var AbstractChat = class {
|
|
9636
9838
|
}
|
9637
9839
|
};
|
9638
9840
|
|
9639
|
-
// src/ui/convert-to-model-messages.ts
|
9640
|
-
function convertToModelMessages(messages, options) {
|
9641
|
-
const modelMessages = [];
|
9642
|
-
if (options == null ? void 0 : options.ignoreIncompleteToolCalls) {
|
9643
|
-
messages = messages.map((message) => ({
|
9644
|
-
...message,
|
9645
|
-
parts: message.parts.filter(
|
9646
|
-
(part) => !isToolOrDynamicToolUIPart(part) || part.state !== "input-streaming" && part.state !== "input-available"
|
9647
|
-
)
|
9648
|
-
}));
|
9649
|
-
}
|
9650
|
-
for (const message of messages) {
|
9651
|
-
switch (message.role) {
|
9652
|
-
case "system": {
|
9653
|
-
const textParts = message.parts.filter((part) => part.type === "text");
|
9654
|
-
const providerMetadata = textParts.reduce((acc, part) => {
|
9655
|
-
if (part.providerMetadata != null) {
|
9656
|
-
return { ...acc, ...part.providerMetadata };
|
9657
|
-
}
|
9658
|
-
return acc;
|
9659
|
-
}, {});
|
9660
|
-
modelMessages.push({
|
9661
|
-
role: "system",
|
9662
|
-
content: textParts.map((part) => part.text).join(""),
|
9663
|
-
...Object.keys(providerMetadata).length > 0 ? { providerOptions: providerMetadata } : {}
|
9664
|
-
});
|
9665
|
-
break;
|
9666
|
-
}
|
9667
|
-
case "user": {
|
9668
|
-
modelMessages.push({
|
9669
|
-
role: "user",
|
9670
|
-
content: message.parts.filter(
|
9671
|
-
(part) => part.type === "text" || part.type === "file"
|
9672
|
-
).map((part) => {
|
9673
|
-
switch (part.type) {
|
9674
|
-
case "text":
|
9675
|
-
return {
|
9676
|
-
type: "text",
|
9677
|
-
text: part.text,
|
9678
|
-
...part.providerMetadata != null ? { providerOptions: part.providerMetadata } : {}
|
9679
|
-
};
|
9680
|
-
case "file":
|
9681
|
-
return {
|
9682
|
-
type: "file",
|
9683
|
-
mediaType: part.mediaType,
|
9684
|
-
filename: part.filename,
|
9685
|
-
data: part.url,
|
9686
|
-
...part.providerMetadata != null ? { providerOptions: part.providerMetadata } : {}
|
9687
|
-
};
|
9688
|
-
default:
|
9689
|
-
return part;
|
9690
|
-
}
|
9691
|
-
})
|
9692
|
-
});
|
9693
|
-
break;
|
9694
|
-
}
|
9695
|
-
case "assistant": {
|
9696
|
-
if (message.parts != null) {
|
9697
|
-
let processBlock2 = function() {
|
9698
|
-
var _a17, _b;
|
9699
|
-
if (block.length === 0) {
|
9700
|
-
return;
|
9701
|
-
}
|
9702
|
-
const content = [];
|
9703
|
-
for (const part of block) {
|
9704
|
-
if (part.type === "text") {
|
9705
|
-
content.push({
|
9706
|
-
type: "text",
|
9707
|
-
text: part.text,
|
9708
|
-
...part.providerMetadata != null ? { providerOptions: part.providerMetadata } : {}
|
9709
|
-
});
|
9710
|
-
} else if (part.type === "file") {
|
9711
|
-
content.push({
|
9712
|
-
type: "file",
|
9713
|
-
mediaType: part.mediaType,
|
9714
|
-
filename: part.filename,
|
9715
|
-
data: part.url
|
9716
|
-
});
|
9717
|
-
} else if (part.type === "reasoning") {
|
9718
|
-
content.push({
|
9719
|
-
type: "reasoning",
|
9720
|
-
text: part.text,
|
9721
|
-
providerOptions: part.providerMetadata
|
9722
|
-
});
|
9723
|
-
} else if (part.type === "dynamic-tool") {
|
9724
|
-
const toolName = part.toolName;
|
9725
|
-
if (part.state !== "input-streaming") {
|
9726
|
-
content.push({
|
9727
|
-
type: "tool-call",
|
9728
|
-
toolCallId: part.toolCallId,
|
9729
|
-
toolName,
|
9730
|
-
input: part.input,
|
9731
|
-
...part.callProviderMetadata != null ? { providerOptions: part.callProviderMetadata } : {}
|
9732
|
-
});
|
9733
|
-
}
|
9734
|
-
} else if (isToolUIPart(part)) {
|
9735
|
-
const toolName = getToolName(part);
|
9736
|
-
if (part.state !== "input-streaming") {
|
9737
|
-
content.push({
|
9738
|
-
type: "tool-call",
|
9739
|
-
toolCallId: part.toolCallId,
|
9740
|
-
toolName,
|
9741
|
-
input: part.state === "output-error" ? (_a17 = part.input) != null ? _a17 : part.rawInput : part.input,
|
9742
|
-
providerExecuted: part.providerExecuted,
|
9743
|
-
...part.callProviderMetadata != null ? { providerOptions: part.callProviderMetadata } : {}
|
9744
|
-
});
|
9745
|
-
if (part.providerExecuted === true && (part.state === "output-available" || part.state === "output-error")) {
|
9746
|
-
content.push({
|
9747
|
-
type: "tool-result",
|
9748
|
-
toolCallId: part.toolCallId,
|
9749
|
-
toolName,
|
9750
|
-
output: createToolModelOutput({
|
9751
|
-
output: part.state === "output-error" ? part.errorText : part.output,
|
9752
|
-
tool: (_b = options == null ? void 0 : options.tools) == null ? void 0 : _b[toolName],
|
9753
|
-
errorMode: part.state === "output-error" ? "json" : "none"
|
9754
|
-
})
|
9755
|
-
});
|
9756
|
-
}
|
9757
|
-
}
|
9758
|
-
} else {
|
9759
|
-
const _exhaustiveCheck = part;
|
9760
|
-
throw new Error(`Unsupported part: ${_exhaustiveCheck}`);
|
9761
|
-
}
|
9762
|
-
}
|
9763
|
-
modelMessages.push({
|
9764
|
-
role: "assistant",
|
9765
|
-
content
|
9766
|
-
});
|
9767
|
-
const toolParts = block.filter(
|
9768
|
-
(part) => isToolUIPart(part) && part.providerExecuted !== true || part.type === "dynamic-tool"
|
9769
|
-
);
|
9770
|
-
if (toolParts.length > 0) {
|
9771
|
-
modelMessages.push({
|
9772
|
-
role: "tool",
|
9773
|
-
content: toolParts.map((toolPart) => {
|
9774
|
-
var _a18;
|
9775
|
-
switch (toolPart.state) {
|
9776
|
-
case "output-error":
|
9777
|
-
case "output-available": {
|
9778
|
-
const toolName = toolPart.type === "dynamic-tool" ? toolPart.toolName : getToolName(toolPart);
|
9779
|
-
return {
|
9780
|
-
type: "tool-result",
|
9781
|
-
toolCallId: toolPart.toolCallId,
|
9782
|
-
toolName,
|
9783
|
-
output: createToolModelOutput({
|
9784
|
-
output: toolPart.state === "output-error" ? toolPart.errorText : toolPart.output,
|
9785
|
-
tool: (_a18 = options == null ? void 0 : options.tools) == null ? void 0 : _a18[toolName],
|
9786
|
-
errorMode: toolPart.state === "output-error" ? "text" : "none"
|
9787
|
-
})
|
9788
|
-
};
|
9789
|
-
}
|
9790
|
-
default: {
|
9791
|
-
return null;
|
9792
|
-
}
|
9793
|
-
}
|
9794
|
-
}).filter(
|
9795
|
-
(output) => output != null
|
9796
|
-
)
|
9797
|
-
});
|
9798
|
-
}
|
9799
|
-
block = [];
|
9800
|
-
};
|
9801
|
-
var processBlock = processBlock2;
|
9802
|
-
let block = [];
|
9803
|
-
for (const part of message.parts) {
|
9804
|
-
if (part.type === "text" || part.type === "reasoning" || part.type === "file" || part.type === "dynamic-tool" || isToolUIPart(part)) {
|
9805
|
-
block.push(part);
|
9806
|
-
} else if (part.type === "step-start") {
|
9807
|
-
processBlock2();
|
9808
|
-
}
|
9809
|
-
}
|
9810
|
-
processBlock2();
|
9811
|
-
break;
|
9812
|
-
}
|
9813
|
-
break;
|
9814
|
-
}
|
9815
|
-
default: {
|
9816
|
-
const _exhaustiveCheck = message.role;
|
9817
|
-
throw new MessageConversionError({
|
9818
|
-
originalMessage: message,
|
9819
|
-
message: `Unsupported role: ${_exhaustiveCheck}`
|
9820
|
-
});
|
9821
|
-
}
|
9822
|
-
}
|
9823
|
-
}
|
9824
|
-
return modelMessages;
|
9825
|
-
}
|
9826
|
-
var convertToCoreMessages = convertToModelMessages;
|
9827
|
-
|
9828
9841
|
// src/ui/last-assistant-message-is-complete-with-tool-calls.ts
|
9829
9842
|
function lastAssistantMessageIsCompleteWithToolCalls({
|
9830
9843
|
messages
|
@@ -10303,6 +10316,7 @@ function readUIMessageStream({
|
|
10303
10316
|
experimental_generateSpeech,
|
10304
10317
|
experimental_transcribe,
|
10305
10318
|
extractReasoningMiddleware,
|
10319
|
+
gateway,
|
10306
10320
|
generateId,
|
10307
10321
|
generateObject,
|
10308
10322
|
generateText,
|