From 43354eeabd0497ffdbd0f5d4d457205ed7f03537 Mon Sep 17 00:00:00 2001 From: Jigar Date: Mon, 2 Feb 2026 10:58:28 +0530 Subject: [PATCH] fix: convert system message content to string for Copilot provider (#11600) Co-authored-by: Claude Opus 4.5 --- ...nvert-to-openai-compatible-chat-messages.ts | 7 +------ .../convert-to-copilot-messages.test.ts | 18 ++++++++++++++++++ 2 files changed, 19 insertions(+), 6 deletions(-) diff --git a/packages/opencode/src/provider/sdk/copilot/chat/convert-to-openai-compatible-chat-messages.ts b/packages/opencode/src/provider/sdk/copilot/chat/convert-to-openai-compatible-chat-messages.ts index d6f7cb34b..e1e3ed4c2 100644 --- a/packages/opencode/src/provider/sdk/copilot/chat/convert-to-openai-compatible-chat-messages.ts +++ b/packages/opencode/src/provider/sdk/copilot/chat/convert-to-openai-compatible-chat-messages.ts @@ -18,12 +18,7 @@ export function convertToOpenAICompatibleChatMessages(prompt: LanguageModelV2Pro case "system": { messages.push({ role: "system", - content: [ - { - type: "text", - text: content, - }, - ], + content: content, ...metadata, }) break diff --git a/packages/opencode/test/provider/copilot/convert-to-copilot-messages.test.ts b/packages/opencode/test/provider/copilot/convert-to-copilot-messages.test.ts index 9f305123a..6f874db6d 100644 --- a/packages/opencode/test/provider/copilot/convert-to-copilot-messages.test.ts +++ b/packages/opencode/test/provider/copilot/convert-to-copilot-messages.test.ts @@ -1,6 +1,24 @@ import { convertToOpenAICompatibleChatMessages as convertToCopilotMessages } from "@/provider/sdk/copilot/chat/convert-to-openai-compatible-chat-messages" import { describe, test, expect } from "bun:test" +describe("system messages", () => { + test("should convert system message content to string", () => { + const result = convertToCopilotMessages([ + { + role: "system", + content: "You are a helpful assistant with AGENTS.md instructions.", + }, + ]) + + expect(result).toEqual([ + { + role: "system", + content: "You are a helpful assistant with AGENTS.md instructions.", + }, + ]) + }) +}) + describe("user messages", () => { test("should convert messages with only a text part to a string content", () => { const result = convertToCopilotMessages([