From e3d3d17b953ec86358007fd4ad0dc5bb94b6ab8c Mon Sep 17 00:00:00 2001 From: sukeesh Date: Thu, 8 Jan 2026 21:28:48 +0530 Subject: [PATCH 1/3] test commit identity From 51d4ce08135f0e4aff54917c7a7ef3e25e8fae0a Mon Sep 17 00:00:00 2001 From: sukeesh Date: Thu, 8 Jan 2026 21:28:59 +0530 Subject: [PATCH 2/3] fix(anthropic): fix raw_representation and finish_reason in streaming --- .../agent_framework_anthropic/_chat_client.py | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/python/packages/anthropic/agent_framework_anthropic/_chat_client.py b/python/packages/anthropic/agent_framework_anthropic/_chat_client.py index a5b169fbbf..62e4e4eaef 100644 --- a/python/packages/anthropic/agent_framework_anthropic/_chat_client.py +++ b/python/packages/anthropic/agent_framework_anthropic/_chat_client.py @@ -505,7 +505,7 @@ def _process_message(self, message: BetaMessage) -> ChatResponse: usage_details=self._parse_usage_from_anthropic(message.usage), model_id=message.model, finish_reason=FINISH_REASON_MAP.get(message.stop_reason) if message.stop_reason else None, - raw_response=message, + raw_representation=message, ) def _process_stream_event(self, event: BetaRawMessageStreamEvent) -> ChatResponseUpdate | None: @@ -530,13 +530,16 @@ def _process_stream_event(self, event: BetaRawMessageStreamEvent) -> ChatRespons finish_reason=FINISH_REASON_MAP.get(event.message.stop_reason) if event.message.stop_reason else None, - raw_response=event, + raw_representation=event, ) case "message_delta": usage = self._parse_usage_from_anthropic(event.usage) return ChatResponseUpdate( contents=[UsageContent(details=usage, raw_representation=event.usage)] if usage else [], - raw_response=event, + finish_reason=FINISH_REASON_MAP.get(event.delta.stop_reason) + if event.delta.stop_reason + else None, + raw_representation=event, ) case "message_stop": logger.debug("Received message_stop event; no content to process.") @@ -544,13 +547,13 @@ def _process_stream_event(self, event: BetaRawMessageStreamEvent) -> ChatRespons contents = self._parse_contents_from_anthropic([event.content_block]) return ChatResponseUpdate( contents=contents, - raw_response=event, + raw_representation=event, ) case "content_block_delta": contents = self._parse_contents_from_anthropic([event.delta]) return ChatResponseUpdate( contents=contents, - raw_response=event, + raw_representation=event, ) case "content_block_stop": logger.debug("Received content_block_stop event; no content to process.") From 8777135c13bf08b39607ae3c13fd5eba33eae6f9 Mon Sep 17 00:00:00 2001 From: sukeesh Date: Thu, 8 Jan 2026 21:39:57 +0530 Subject: [PATCH 3/3] lint fix --- .../anthropic/agent_framework_anthropic/_chat_client.py | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/python/packages/anthropic/agent_framework_anthropic/_chat_client.py b/python/packages/anthropic/agent_framework_anthropic/_chat_client.py index 62e4e4eaef..1a3faa9c4e 100644 --- a/python/packages/anthropic/agent_framework_anthropic/_chat_client.py +++ b/python/packages/anthropic/agent_framework_anthropic/_chat_client.py @@ -536,9 +536,7 @@ def _process_stream_event(self, event: BetaRawMessageStreamEvent) -> ChatRespons usage = self._parse_usage_from_anthropic(event.usage) return ChatResponseUpdate( contents=[UsageContent(details=usage, raw_representation=event.usage)] if usage else [], - finish_reason=FINISH_REASON_MAP.get(event.delta.stop_reason) - if event.delta.stop_reason - else None, + finish_reason=FINISH_REASON_MAP.get(event.delta.stop_reason) if event.delta.stop_reason else None, raw_representation=event, ) case "message_stop":