summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorMark Huggins <[email protected]>2025-07-02 12:04:53 -0400
committerGitHub <[email protected]>2025-07-02 12:04:53 -0400
commitb89d4a16fd338285c4d6e3adf9a4f137d9d88b5c (patch)
tree39c5f585225e5e6a364f6f844459cb95bf2712b0
parent2799a96032062584f238d73185e2c6ba7c8d55cf (diff)
downloadopencode-b89d4a16fd338285c4d6e3adf9a4f137d9d88b5c.tar.gz
opencode-b89d4a16fd338285c4d6e3adf9a4f137d9d88b5c.zip
fix: Copilot Premium Requests (#595)
-rw-r--r--packages/opencode/src/provider/provider.ts14
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, {