diff --git a/sentry_sdk/integrations/anthropic.py b/sentry_sdk/integrations/anthropic.py index a67f3c3909..8c4b09e89a 100644 --- a/sentry_sdk/integrations/anthropic.py +++ b/sentry_sdk/integrations/anthropic.py @@ -40,6 +40,15 @@ from anthropic import Stream, AsyncStream from anthropic.resources import AsyncMessages, Messages + from anthropic.types import ( + MessageStartEvent, + MessageDeltaEvent, + MessageStopEvent, + ContentBlockStartEvent, + ContentBlockDeltaEvent, + ContentBlockStopEvent, + ) + if TYPE_CHECKING: from anthropic.types import MessageStreamEvent, TextBlockParam except ImportError: @@ -356,6 +365,20 @@ def _wrap_synchronous_message_iterator( content_blocks: "list[str]" = [] for event in iterator: + if not isinstance( + event, + ( + MessageStartEvent, + MessageDeltaEvent, + MessageStopEvent, + ContentBlockStartEvent, + ContentBlockDeltaEvent, + ContentBlockStopEvent, + ), + ): + yield event + continue + ( model, usage, @@ -403,6 +426,20 @@ async def _wrap_asynchronous_message_iterator( content_blocks: "list[str]" = [] async for event in iterator: + if not isinstance( + event, + ( + MessageStartEvent, + MessageDeltaEvent, + MessageStopEvent, + ContentBlockStartEvent, + ContentBlockDeltaEvent, + ContentBlockStopEvent, + ), + ): + yield event + continue + ( model, usage,