diff --git a/packages/core/src/session/runner/llm.ts b/packages/core/src/session/runner/llm.ts index f17624d..69195a5 100644 --- a/packages/core/src/session/runner/llm.ts +++ b/packages/core/src/session/runner/llm.ts @@ -204,6 +204,18 @@ const layer = Layer.effect( const promptCacheKey = /^ses_[0-9a-f]{64}$/.test(session.id) ? session.id.slice(4) : session.id const request = LLM.request({ model, + http: { + headers: { + "x-session-affinity": session.id, + "X-Session-Id": session.id, + ...(session.parentID ? { "x-parent-session-id": session.parentID } : {}), + ...(typeof model.provider === "string" && model.provider.startsWith("opencode") + ? { + "x-opencode-session": session.id, + } + : {}), + }, + }, providerOptions: { openai: { promptCacheKey } }, system: [agent.info?.system, system.baseline] .filter((part): part is string => part !== undefined && part.length > 0) diff --git a/packages/opencode/src/session/llm/request.ts b/packages/opencode/src/session/llm/request.ts index a52219c..46ff58e 100644 --- a/packages/opencode/src/session/llm/request.ts +++ b/packages/opencode/src/session/llm/request.ts @@ -195,18 +195,18 @@ export const prepare = Effect.fn("LLMRequestPrep.prepare")(function* (input: Pre headers: { ...(input.model.providerID.startsWith("opencode") ? { - ...(opencodeProjectID ? { "x-pentestcode-project": opencodeProjectID } : {}), - "x-pentestcode-session": input.sessionID, - "x-pentestcode-request": input.user.id, - "x-pentestcode-client": input.flags.client, + ...(opencodeProjectID ? { "x-opencode-project": opencodeProjectID } : {}), + "x-opencode-session": input.sessionID, + "x-opencode-request": input.user.id, + "x-opencode-client": input.flags.client, "User-Agent": USER_AGENT, } : { "x-session-affinity": input.sessionID, "X-Session-Id": input.sessionID, - ...(input.parentSessionID ? { "x-parent-session-id": input.parentSessionID } : {}), "User-Agent": USER_AGENT, }), + ...(input.parentSessionID ? { "x-parent-session-id": input.parentSessionID } : {}), ...input.model.headers, ...headers, },