mirror of
https://github.com/CherryHQ/cherry-studio.git
synced 2025-12-19 06:30:10 +08:00
Some checks failed
Auto I18N Weekly / Auto I18N (push) Has been cancelled
* feat: support gpt 5.2 * feat: support param when set to 'none' * chore version & simply type * fix: comment * fix: typecheck * replace placeholder * simplify func * feat: add gpt-5.1-codex-max
75 lines
3.0 KiB
Diff
Vendored
75 lines
3.0 KiB
Diff
Vendored
diff --git a/dist/index.js b/dist/index.js
|
|
index 130094d194ea1e8e7d3027d07d82465741192124..4d13dcee8c962ca9ee8f1c3d748f8ffe6a3cfb47 100644
|
|
--- a/dist/index.js
|
|
+++ b/dist/index.js
|
|
@@ -290,6 +290,7 @@ var openaiChatResponseSchema = (0, import_provider_utils3.lazyValidator)(
|
|
message: import_v42.z.object({
|
|
role: import_v42.z.literal("assistant").nullish(),
|
|
content: import_v42.z.string().nullish(),
|
|
+ reasoning_content: import_v42.z.string().nullish(),
|
|
tool_calls: import_v42.z.array(
|
|
import_v42.z.object({
|
|
id: import_v42.z.string().nullish(),
|
|
@@ -356,6 +357,7 @@ var openaiChatChunkSchema = (0, import_provider_utils3.lazyValidator)(
|
|
delta: import_v42.z.object({
|
|
role: import_v42.z.enum(["assistant"]).nullish(),
|
|
content: import_v42.z.string().nullish(),
|
|
+ reasoning_content: import_v42.z.string().nullish(),
|
|
tool_calls: import_v42.z.array(
|
|
import_v42.z.object({
|
|
index: import_v42.z.number(),
|
|
@@ -814,6 +816,13 @@ var OpenAIChatLanguageModel = class {
|
|
if (text != null && text.length > 0) {
|
|
content.push({ type: "text", text });
|
|
}
|
|
+ const reasoning = choice.message.reasoning_content;
|
|
+ if (reasoning != null && reasoning.length > 0) {
|
|
+ content.push({
|
|
+ type: 'reasoning',
|
|
+ text: reasoning
|
|
+ });
|
|
+ }
|
|
for (const toolCall of (_a = choice.message.tool_calls) != null ? _a : []) {
|
|
content.push({
|
|
type: "tool-call",
|
|
@@ -895,6 +904,7 @@ var OpenAIChatLanguageModel = class {
|
|
};
|
|
let metadataExtracted = false;
|
|
let isActiveText = false;
|
|
+ let isActiveReasoning = false;
|
|
const providerMetadata = { openai: {} };
|
|
return {
|
|
stream: response.pipeThrough(
|
|
@@ -952,6 +962,21 @@ var OpenAIChatLanguageModel = class {
|
|
return;
|
|
}
|
|
const delta = choice.delta;
|
|
+ const reasoningContent = delta.reasoning_content;
|
|
+ if (reasoningContent) {
|
|
+ if (!isActiveReasoning) {
|
|
+ controller.enqueue({
|
|
+ type: 'reasoning-start',
|
|
+ id: 'reasoning-0',
|
|
+ });
|
|
+ isActiveReasoning = true;
|
|
+ }
|
|
+ controller.enqueue({
|
|
+ type: 'reasoning-delta',
|
|
+ id: 'reasoning-0',
|
|
+ delta: reasoningContent,
|
|
+ });
|
|
+ }
|
|
if (delta.content != null) {
|
|
if (!isActiveText) {
|
|
controller.enqueue({ type: "text-start", id: "0" });
|
|
@@ -1064,6 +1089,9 @@ var OpenAIChatLanguageModel = class {
|
|
}
|
|
},
|
|
flush(controller) {
|
|
+ if (isActiveReasoning) {
|
|
+ controller.enqueue({ type: 'reasoning-end', id: 'reasoning-0' });
|
|
+ }
|
|
if (isActiveText) {
|
|
controller.enqueue({ type: "text-end", id: "0" });
|
|
}
|