Browse Source

fix: convert system message content to string for Copilot provider (#11600)

Co-authored-by: Claude Opus 4.5 <[email protected]>
Jigar 2 weeks ago
parent
commit
43354eeabd

+ 1 - 6
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": {
       case "system": {
         messages.push({
         messages.push({
           role: "system",
           role: "system",
-          content: [
-            {
-              type: "text",
-              text: content,
-            },
-          ],
+          content: content,
           ...metadata,
           ...metadata,
         })
         })
         break
         break

+ 18 - 0
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 { convertToOpenAICompatibleChatMessages as convertToCopilotMessages } from "@/provider/sdk/copilot/chat/convert-to-openai-compatible-chat-messages"
 import { describe, test, expect } from "bun:test"
 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", () => {
 describe("user messages", () => {
   test("should convert messages with only a text part to a string content", () => {
   test("should convert messages with only a text part to a string content", () => {
     const result = convertToCopilotMessages([
     const result = convertToCopilotMessages([