Skip to content

Commit 0861f9f

Browse files
committed
add defensive check for from_converse response
1 parent 429f624 commit 0861f9f

File tree

2 files changed

+10
-6
lines changed

2 files changed

+10
-6
lines changed

CHANGELOG.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
4242

4343
### Fixed
4444

45+
- `opentelemetry-instrumentation-botocore`: bedrock: Add safety check for bedrock ConverseStream responses
46+
([#3990](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/TBD))
4547
- `opentelemetry-instrumentation-botocore`: bedrock: only decode JSON input buffer in Anthropic Claude streaming
4648
([#3875](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3875))
4749
- `opentelemetry-instrumentation-aiohttp-client`, `opentelemetry-instrumentation-aiohttp-server`: Fix readme links and text

instrumentation/opentelemetry-instrumentation-botocore/tests/test_botocore_bedrock.py

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3050,21 +3050,23 @@ def stream_error_callback(exc, ended):
30503050
assert isinstance(tool_block["input"], dict)
30513051
else:
30523052
assert "input" not in tool_block
3053-
def test_converse_stream_with_malformed_response():
3053+
3054+
3055+
def test_converse_stream_with_missing_output_in_response():
30543056
"""Test that converse stream handles malformed response missing output key."""
3057+
30553058
def stream_done_callback(response, ended):
30563059
pass
3057-
3060+
30583061
wrapper = ConverseStreamWrapper(
30593062
stream=mock.MagicMock(),
30603063
stream_done_callback=stream_done_callback,
30613064
model_id="amazon.nova-micro-v1:0",
30623065
)
3063-
3064-
malformed_response = {"stopReason": "end_turn"}
3065-
result = wrapper._complete_stream(malformed_response)
3066+
3067+
bedrock_response = {"stopReason": "end_turn"}
3068+
result = wrapper._complete_stream(bedrock_response)
30663069
assert result is None
3067-
30683070

30693071
def amazon_nova_messages():
30703072
return [

0 commit comments

Comments
 (0)