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 d6f7cb34bb59..e1e3ed4c2019 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 9f305123afbf..6f874db6d2e9 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([