@openrouter/ai-sdk-provider 1.5.1 → 1.5.3
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/dist/index.js +34 -10
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +34 -10
- package/dist/index.mjs.map +1 -1
- package/dist/internal/index.js +33 -9
- package/dist/internal/index.js.map +1 -1
- package/dist/internal/index.mjs +33 -9
- package/dist/internal/index.mjs.map +1 -1
- package/package.json +1 -1
package/dist/internal/index.mjs
CHANGED
|
@@ -943,10 +943,10 @@ var FileAnnotationSchema = z3.object({
|
|
|
943
943
|
z3.object({
|
|
944
944
|
type: z3.string(),
|
|
945
945
|
text: z3.string().optional()
|
|
946
|
-
}).
|
|
946
|
+
}).catchall(z3.any())
|
|
947
947
|
).optional()
|
|
948
|
-
}).
|
|
949
|
-
});
|
|
948
|
+
}).catchall(z3.any())
|
|
949
|
+
}).catchall(z3.any());
|
|
950
950
|
var OpenRouterProviderMetadataSchema = z3.object({
|
|
951
951
|
provider: z3.string(),
|
|
952
952
|
reasoning_details: z3.array(ReasoningDetailUnionSchema).optional(),
|
|
@@ -955,18 +955,18 @@ var OpenRouterProviderMetadataSchema = z3.object({
|
|
|
955
955
|
promptTokens: z3.number(),
|
|
956
956
|
promptTokensDetails: z3.object({
|
|
957
957
|
cachedTokens: z3.number()
|
|
958
|
-
}).
|
|
958
|
+
}).catchall(z3.any()).optional(),
|
|
959
959
|
completionTokens: z3.number(),
|
|
960
960
|
completionTokensDetails: z3.object({
|
|
961
961
|
reasoningTokens: z3.number()
|
|
962
|
-
}).
|
|
962
|
+
}).catchall(z3.any()).optional(),
|
|
963
963
|
totalTokens: z3.number(),
|
|
964
964
|
cost: z3.number().optional(),
|
|
965
965
|
costDetails: z3.object({
|
|
966
966
|
upstreamInferenceCost: z3.number()
|
|
967
|
-
}).
|
|
968
|
-
}).
|
|
969
|
-
}).
|
|
967
|
+
}).catchall(z3.any()).optional()
|
|
968
|
+
}).catchall(z3.any())
|
|
969
|
+
}).catchall(z3.any());
|
|
970
970
|
var OpenRouterProviderOptionsSchema = z3.object({
|
|
971
971
|
openrouter: z3.object({
|
|
972
972
|
reasoning_details: z3.array(ReasoningDetailUnionSchema).optional(),
|
|
@@ -1804,9 +1804,15 @@ var OpenRouterChatLanguageModel = class {
|
|
|
1804
1804
|
const fileAnnotations = (_k = choice.message.annotations) == null ? void 0 : _k.filter(
|
|
1805
1805
|
(a) => a.type === "file"
|
|
1806
1806
|
);
|
|
1807
|
+
const hasToolCalls = choice.message.tool_calls && choice.message.tool_calls.length > 0;
|
|
1808
|
+
const hasEncryptedReasoning = reasoningDetails.some(
|
|
1809
|
+
(d) => d.type === "reasoning.encrypted" /* Encrypted */ && d.data
|
|
1810
|
+
);
|
|
1811
|
+
const shouldOverrideFinishReason = hasToolCalls && hasEncryptedReasoning && choice.finish_reason === "stop";
|
|
1812
|
+
const effectiveFinishReason = shouldOverrideFinishReason ? "tool-calls" : mapOpenRouterFinishReason(choice.finish_reason);
|
|
1807
1813
|
return {
|
|
1808
1814
|
content,
|
|
1809
|
-
finishReason:
|
|
1815
|
+
finishReason: effectiveFinishReason,
|
|
1810
1816
|
usage: usageInfo,
|
|
1811
1817
|
warnings: [],
|
|
1812
1818
|
providerMetadata: {
|
|
@@ -1878,6 +1884,7 @@ var OpenRouterChatLanguageModel = class {
|
|
|
1878
1884
|
};
|
|
1879
1885
|
const openrouterUsage = {};
|
|
1880
1886
|
const accumulatedReasoningDetails = [];
|
|
1887
|
+
const accumulatedFileAnnotations = [];
|
|
1881
1888
|
let textStarted = false;
|
|
1882
1889
|
let reasoningStarted = false;
|
|
1883
1890
|
let textId;
|
|
@@ -2056,6 +2063,13 @@ var OpenRouterChatLanguageModel = class {
|
|
|
2056
2063
|
}
|
|
2057
2064
|
}
|
|
2058
2065
|
});
|
|
2066
|
+
} else if (annotation.type === "file") {
|
|
2067
|
+
const file = annotation.file;
|
|
2068
|
+
if (file && typeof file === "object" && "hash" in file && "name" in file) {
|
|
2069
|
+
accumulatedFileAnnotations.push(
|
|
2070
|
+
annotation
|
|
2071
|
+
);
|
|
2072
|
+
}
|
|
2059
2073
|
}
|
|
2060
2074
|
}
|
|
2061
2075
|
}
|
|
@@ -2184,6 +2198,13 @@ var OpenRouterChatLanguageModel = class {
|
|
|
2184
2198
|
},
|
|
2185
2199
|
flush(controller) {
|
|
2186
2200
|
var _a16;
|
|
2201
|
+
const hasToolCalls = toolCalls.length > 0;
|
|
2202
|
+
const hasEncryptedReasoning = accumulatedReasoningDetails.some(
|
|
2203
|
+
(d) => d.type === "reasoning.encrypted" /* Encrypted */ && d.data
|
|
2204
|
+
);
|
|
2205
|
+
if (hasToolCalls && hasEncryptedReasoning && finishReason === "stop") {
|
|
2206
|
+
finishReason = "tool-calls";
|
|
2207
|
+
}
|
|
2187
2208
|
if (finishReason === "tool-calls") {
|
|
2188
2209
|
for (const toolCall of toolCalls) {
|
|
2189
2210
|
if (toolCall && !toolCall.sent) {
|
|
@@ -2224,6 +2245,9 @@ var OpenRouterChatLanguageModel = class {
|
|
|
2224
2245
|
if (accumulatedReasoningDetails.length > 0) {
|
|
2225
2246
|
openrouterMetadata.reasoning_details = accumulatedReasoningDetails;
|
|
2226
2247
|
}
|
|
2248
|
+
if (accumulatedFileAnnotations.length > 0) {
|
|
2249
|
+
openrouterMetadata.annotations = accumulatedFileAnnotations;
|
|
2250
|
+
}
|
|
2227
2251
|
controller.enqueue({
|
|
2228
2252
|
type: "finish",
|
|
2229
2253
|
finishReason,
|