diff --git a/packages/core/src/transformer/anthropic.transformer.ts b/packages/core/src/transformer/anthropic.transformer.ts index 3231c8029..cde24bfb1 100644 --- a/packages/core/src/transformer/anthropic.transformer.ts +++ b/packages/core/src/transformer/anthropic.transformer.ts @@ -168,6 +168,7 @@ export class AnthropicTransformer implements Transformer { content: thinkingPart.thinking, signature: thinkingPart.signature, }; + assistantMessage.reasoning_content = thinkingPart.thinking; } messages.push(assistantMessage); diff --git a/packages/core/src/transformer/reasoning.transformer.ts b/packages/core/src/transformer/reasoning.transformer.ts index 758d1a171..ea4f3e733 100644 --- a/packages/core/src/transformer/reasoning.transformer.ts +++ b/packages/core/src/transformer/reasoning.transformer.ts @@ -12,6 +12,16 @@ export class ReasoningTransformer implements Transformer { async transformRequestIn( request: UnifiedChatRequest ): Promise { + request.messages.forEach((message) => { + if ( + message.role === "assistant" && + message.thinking?.content && + !message.reasoning_content + ) { + message.reasoning_content = message.thinking.content; + } + }); + if (!this.enable) { request.thinking = { type: "disabled", diff --git a/packages/core/src/types/llm.ts b/packages/core/src/types/llm.ts index 9febba648..e7ed128ed 100644 --- a/packages/core/src/types/llm.ts +++ b/packages/core/src/types/llm.ts @@ -48,6 +48,7 @@ export type MessageContent = TextContent | ImageContent; export interface UnifiedMessage { role: "user" | "assistant" | "system" | "tool"; content: string | null | MessageContent[]; + reasoning_content?: string; tool_calls?: Array<{ id: string; type: "function";