summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorKevin Flansburg <[email protected]>2026-04-02 21:09:53 -0600
committerGitHub <[email protected]>2026-04-02 22:09:53 -0500
commite89527c9f0eba6c7aa866f3ba39ce9f6809023a7 (patch)
tree4cdad8668e41ba4107d045600cc3fbebae66f5bb
parentaa2239d5decac0002de2ddd3d8f8c7f6ccccd760 (diff)
downloadopencode-e89527c9f0eba6c7aa866f3ba39ce9f6809023a7.tar.gz
opencode-e89527c9f0eba6c7aa866f3ba39ce9f6809023a7.zip
feat: Send x-session-affinity and x-parent-session-id headers (#20744)
-rw-r--r--packages/opencode/src/session/llm.ts3
-rw-r--r--packages/opencode/src/session/prompt.ts1
2 files changed, 4 insertions, 0 deletions
diff --git a/packages/opencode/src/session/llm.ts b/packages/opencode/src/session/llm.ts
index dc89db409..1813346cd 100644
--- a/packages/opencode/src/session/llm.ts
+++ b/packages/opencode/src/session/llm.ts
@@ -25,6 +25,7 @@ export namespace LLM {
export type StreamInput = {
user: MessageV2.User
sessionID: string
+ parentSessionID?: string
model: Provider.Model
agent: Agent.Info
permission?: Permission.Ruleset
@@ -301,6 +302,8 @@ export namespace LLM {
"x-opencode-client": Flag.OPENCODE_CLIENT,
}
: {
+ "x-session-affinity": input.sessionID,
+ ...(input.parentSessionID ? { "x-parent-session-id": input.parentSessionID } : {}),
"User-Agent": `opencode/${Installation.VERSION}`,
}),
...input.model.headers,
diff --git a/packages/opencode/src/session/prompt.ts b/packages/opencode/src/session/prompt.ts
index 8facf7aba..e4709ef47 100644
--- a/packages/opencode/src/session/prompt.ts
+++ b/packages/opencode/src/session/prompt.ts
@@ -1512,6 +1512,7 @@ NOTE: At any point in time through this workflow you should feel free to ask the
agent,
permission: session.permission,
sessionID,
+ parentSessionID: session.parentID,
system,
messages: [...modelMsgs, ...(isLastStep ? [{ role: "assistant" as const, content: MAX_STEPS }] : [])],
tools,