fix(core): add namespaced session identity headers (#52368)

This commit is contained in:
Aiden Cline
2026-09-30 15:14:20 -05:00
committed by GitHub
parent 14636b9900
commit f46fa72a92
4 changed files with 8 additions and 0 deletions
@@ -276,6 +276,8 @@ export const layer = Layer.effect(
model: model.model,
http: {
headers: {
"x-opencode-session-id": session.id,
...(session.parentID ? { "x-opencode-parent-session-id": session.parentID } : {}),
"x-session-affinity": affinity,
"X-Session-Id": affinity,
...(session.parentID ? { "x-parent-session-id": session.parentID } : {}),
@@ -445,6 +445,8 @@ it.effect("manual compaction summarizes short context instead of no-op", () =>
expect(requests).toHaveLength(1)
expect(requests[0]?.promptCacheKey).toBe(parentID)
expect(requests[0]?.http?.headers).toEqual({
"x-opencode-session-id": session.id,
"x-opencode-parent-session-id": parentID,
"x-session-affinity": parentID,
"X-Session-Id": parentID,
"x-parent-session-id": parentID,
@@ -4682,6 +4682,7 @@ describe("SessionRunnerLLM", () => {
yield* s.runPrompt("Run correlated request")
expect(s.requests[0]?.http?.headers).toEqual({
"x-opencode-session-id": sessionID,
"x-session-affinity": sessionID,
"X-Session-Id": sessionID,
"User-Agent": App.useragent(App.make()),
@@ -4703,6 +4704,8 @@ describe("SessionRunnerLLM", () => {
yield* s.runPrompt("Run child request")
expect(s.requests[0]?.http?.headers).toMatchObject({
"x-opencode-session-id": sessionID,
"x-opencode-parent-session-id": parentID,
"x-session-affinity": parentID,
"X-Session-Id": parentID,
"x-parent-session-id": parentID,
+1
View File
@@ -211,6 +211,7 @@ it.effect("generates a title from the sole user message and renames the session"
expect(requests).toHaveLength(1)
expect(requests[0]?.http?.headers).toEqual({
"x-opencode-session-id": sessionID,
"x-session-affinity": sessionID,
"X-Session-Id": sessionID,
"User-Agent": App.useragent(App.make()),