diff options
| author | Mark Huggins <[email protected]> | 2025-07-02 12:04:53 -0400 |
|---|---|---|
| committer | GitHub <[email protected]> | 2025-07-02 12:04:53 -0400 |
| commit | b89d4a16fd338285c4d6e3adf9a4f137d9d88b5c (patch) | |
| tree | 39c5f585225e5e6a364f6f844459cb95bf2712b0 | |
| parent | 2799a96032062584f238d73185e2c6ba7c8d55cf (diff) | |
| download | opencode-b89d4a16fd338285c4d6e3adf9a4f137d9d88b5c.tar.gz opencode-b89d4a16fd338285c4d6e3adf9a4f137d9d88b5c.zip | |
fix: Copilot Premium Requests (#595)
| -rw-r--r-- | packages/opencode/src/provider/provider.ts | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/packages/opencode/src/provider/provider.ts b/packages/opencode/src/provider/provider.ts index 3374e3b2b..eb904283d 100644 --- a/packages/opencode/src/provider/provider.ts +++ b/packages/opencode/src/provider/provider.ts @@ -99,11 +99,25 @@ export namespace Provider { }) info.access = tokens.access } + let isAgentCall = false + try { + const body = + typeof init.body === "string" + ? JSON.parse(init.body) + : init.body + if (body?.messages) { + isAgentCall = body.messages.some( + (msg: any) => + msg.role && ["tool", "assistant"].includes(msg.role), + ) + } + } catch {} const headers = { ...init.headers, ...copilot.HEADERS, Authorization: `Bearer ${info.access}`, "Openai-Intent": "conversation-edits", + "X-Initiator": isAgentCall ? "agent" : "user", } delete headers["x-api-key"] return fetch(input, { |
