Is your feature request related to a problem? Please describe.
Bedrock thinking responses can include reasoning blocks with a signature and redactedContent blocks with data. Provider instrumentation should preserve these as reasoning content blocks so downstream consumers can reconstruct multi-turn history without losing required provider payloads.
Describe the solution you'd like
Update Bedrock instrumentation to capture reasoning blocks in:
Python: python/instrumentation/openinference-instrumentation-bedrock
JS: js/packages/openinference-instrumentation-bedrock
js/packages/openinference-instrumentation-bedrock-agent-runtime
Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.
Expected mapping:
bedrock reasoningContent -> message_content.type = "reasoning"
reasoningContent.text -> message_content.text
reasoningContent.signature -> message_content.signature
reasoningContent.redactedContent -> message_content.data
Do not emit message_content.id
Acceptance criteria:
Non-streaming Bedrock Messages responses capture reasoningContent and redactedContent.
Streaming Bedrock responses capture the same fields after accumulation.
Block order in message.contents is preserved.
Tests cover both visible reasoningContent and readactedContent.
Tests assert that message_content.id is not emitted.
Is your feature request related to a problem? Please describe.
Bedrock thinking responses can include reasoning blocks with a signature and redactedContent blocks with data. Provider instrumentation should preserve these as reasoning content blocks so downstream consumers can reconstruct multi-turn history without losing required provider payloads.
Describe the solution you'd like
Update Bedrock instrumentation to capture reasoning blocks in:
Python: python/instrumentation/openinference-instrumentation-bedrock
JS: js/packages/openinference-instrumentation-bedrock
js/packages/openinference-instrumentation-bedrock-agent-runtime
Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.
Expected mapping:
bedrock reasoningContent -> message_content.type = "reasoning"
reasoningContent.text -> message_content.text
reasoningContent.signature -> message_content.signature
reasoningContent.redactedContent -> message_content.data
Do not emit message_content.id
Acceptance criteria:
Non-streaming Bedrock Messages responses capture reasoningContent and redactedContent.
Streaming Bedrock responses capture the same fields after accumulation.
Block order in message.contents is preserved.
Tests cover both visible reasoningContent and readactedContent.
Tests assert that message_content.id is not emitted.