Preserve Bedrock redactedContent reasoning across turns
bugno-action
### What happened?
Bedrock Converse returns encrypted reasoning from OpenAI models (for example, `global.openai.gpt-5.6-terra`) via `reasoningContent.redactedContent`.
However, `bedrock-converse-stream.ts` currently only handles `reasoningContent.text` and `reasoningContent.signature`, so `redactedContent` is silently discarded.
As a result, the thinking block is persisted with an empty `thinkingSignature`. On the next turn, `convertMessages` drops that block because of the `thinking.trim().length === 0` guard.
This means reasoning does not survive across turns. In particular, tool continuations lose the reasoning block that should precede the corresponding `toolUse`.
The stream itself does not fail because the AWS SDK tolerates the unhandled union member, making the data loss silent.
Sorry, I opened the PR (#8314) before creating an issue.
### Steps to reproduce
1. `pi --model amazon-bedrock/global.openai.gpt-5.6-terra:medium`
3. Ask the model to perform a task that triggers a tool call.
4. Continue the conversation in the same session.
5. IInspect the session JSONL and verify that the thinking block preceding the toolUse has an empty `thinkingSignature` and no `redacted` flag.
### Expected behavior
Preserve the opaque reasoning payload and replay it on subsequent turns as `reasoningContent.redactedContent`, including when continuing a tool call sequence.
### Version
0.84.2
关闭于 10 天前 1 条评论