summaryrefslogtreecommitdiffhomepage
path: root/packages/opencode/src/provider/sdk/copilot/chat/openai-compatible-chat-language-model.ts
diff options
context:
space:
mode:
Diffstat (limited to 'packages/opencode/src/provider/sdk/copilot/chat/openai-compatible-chat-language-model.ts')
-rw-r--r--packages/opencode/src/provider/sdk/copilot/chat/openai-compatible-chat-language-model.ts19
1 files changed, 17 insertions, 2 deletions
diff --git a/packages/opencode/src/provider/sdk/copilot/chat/openai-compatible-chat-language-model.ts b/packages/opencode/src/provider/sdk/copilot/chat/openai-compatible-chat-language-model.ts
index 94641e640..c85d3f3d1 100644
--- a/packages/opencode/src/provider/sdk/copilot/chat/openai-compatible-chat-language-model.ts
+++ b/packages/opencode/src/provider/sdk/copilot/chat/openai-compatible-chat-language-model.ts
@@ -219,7 +219,13 @@ export class OpenAICompatibleChatLanguageModel implements LanguageModelV2 {
// text content:
const text = choice.message.content
if (text != null && text.length > 0) {
- content.push({ type: "text", text })
+ content.push({
+ type: "text",
+ text,
+ providerMetadata: choice.message.reasoning_opaque
+ ? { copilot: { reasoningOpaque: choice.message.reasoning_opaque } }
+ : undefined,
+ })
}
// reasoning content (Copilot uses reasoning_text):
@@ -243,6 +249,9 @@ export class OpenAICompatibleChatLanguageModel implements LanguageModelV2 {
toolCallId: toolCall.id ?? generateId(),
toolName: toolCall.function.name,
input: toolCall.function.arguments!,
+ providerMetadata: choice.message.reasoning_opaque
+ ? { copilot: { reasoningOpaque: choice.message.reasoning_opaque } }
+ : undefined,
})
}
}
@@ -478,7 +487,11 @@ export class OpenAICompatibleChatLanguageModel implements LanguageModelV2 {
}
if (!isActiveText) {
- controller.enqueue({ type: "text-start", id: "txt-0" })
+ controller.enqueue({
+ type: "text-start",
+ id: "txt-0",
+ providerMetadata: reasoningOpaque ? { copilot: { reasoningOpaque } } : undefined,
+ })
isActiveText = true
}
@@ -559,6 +572,7 @@ export class OpenAICompatibleChatLanguageModel implements LanguageModelV2 {
toolCallId: toolCall.id ?? generateId(),
toolName: toolCall.function.name,
input: toolCall.function.arguments,
+ providerMetadata: reasoningOpaque ? { copilot: { reasoningOpaque } } : undefined,
})
toolCall.hasFinished = true
}
@@ -601,6 +615,7 @@ export class OpenAICompatibleChatLanguageModel implements LanguageModelV2 {
toolCallId: toolCall.id ?? generateId(),
toolName: toolCall.function.name,
input: toolCall.function.arguments,
+ providerMetadata: reasoningOpaque ? { copilot: { reasoningOpaque } } : undefined,
})
toolCall.hasFinished = true
}