summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-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, {