Skip to content

Commit 8e9b4e5

Browse files
committed
feat(session): expose LLM response headers on assistant messages
1 parent a4ab140 commit 8e9b4e5

2 files changed

Lines changed: 3 additions & 0 deletions

File tree

packages/opencode/src/session/message-v2.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -578,6 +578,7 @@ export const Assistant = Schema.Struct({
578578
structured: Schema.optional(Schema.Any),
579579
variant: Schema.optional(Schema.String),
580580
finish: Schema.optional(Schema.String),
581+
responseHeaders: Schema.optional(Schema.Record(Schema.String, Schema.String)),
581582
})
582583
.annotate({ identifier: "AssistantMessage" })
583584
.pipe(withStatics((s) => ({ zod: zod(s) })))

packages/opencode/src/session/processor.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -471,6 +471,8 @@ export const layer: Layer.Layer<
471471
ctx.assistantMessage.finish = value.finishReason
472472
ctx.assistantMessage.cost += usage.cost
473473
ctx.assistantMessage.tokens = usage.tokens
474+
if (value.response.headers && Object.keys(value.response.headers).length > 0)
475+
ctx.assistantMessage.responseHeaders = value.response.headers
474476
yield* session.updatePart({
475477
id: PartID.ascending(),
476478
reason: value.finishReason,

0 commit comments

Comments
 (0)