
    jKj+                        	 d dl Z d dlmZ d dlmZ d dlmZ d dl	m
Z d dlmZ  G d d	e j                        Z G d
 de j                        Z G d de j                         Z G d de j"                        Zy# e$ r	  ed      w xY w)    NzMPlease install the Anthropic SDK to use this feature: 'pip install anthropic')Optional)WrappedMessages)AsyncWrappedMessages)Client)setupc                   <     e Zd ZU dZeed<   ddee   f fdZ xZS )AnthropicBedrockj
    A wrapper around the Anthropic Bedrock SDK that automatically sends LLM usage events to PostHog.
    
_ph_clientposthog_clientc                 j    t        |   di | |xs
 t               | _        t	        |       | _        y)z
        Args:
            posthog_client: If provided, events will be captured via this client
                instead of the global ``posthog`` client.
            **kwargs: Arguments passed to ``anthropic.AnthropicBedrock``.
        N super__init__r   r   r   messagesselfr   kwargs	__class__s      y/Users/ahmed/devFolder/Ultron/claude-voice/.venv/lib/python3.12/site-packages/posthog/ai/anthropic/anthropic_providers.pyr   zAnthropicBedrock.__init__   /     	"6"(3EG'-    N	__name__
__module____qualname____doc__PostHogClient__annotations__r   r   __classcell__r   s   @r   r	   r	      &     	.x'> 	. 	.r   r	   c                   <     e Zd ZU dZeed<   ddee   f fdZ xZS )AsyncAnthropicBedrockr
   r   r   c                 j    t        |   di | |xs
 t               | _        t	        |       | _        y)z
        Args:
            posthog_client: If provided, events will be captured via this client
                instead of the global ``posthog`` client.
            **kwargs: Arguments passed to ``anthropic.AsyncAnthropicBedrock``.
        Nr   r   r   r   r   r   r   r   s      r   r   zAsyncAnthropicBedrock.__init__*   /     	"6"(3EG,T2r   r   r   r#   s   @r   r&   r&   #   &     	3x'> 	3 	3r   r&   c                   <     e Zd ZU dZeed<   ddee   f fdZ xZS )AnthropicVertexi
    A wrapper around the Anthropic Vertex SDK that automatically sends LLM usage events to PostHog.
    r   r   c                 j    t        |   di | |xs
 t               | _        t	        |       | _        y)z
        Args:
            posthog_client: If provided, events will be captured via this client
                instead of the global ``posthog`` client.
            **kwargs: Arguments passed to ``anthropic.AnthropicVertex``.
        Nr   r   r   s      r   r   zAnthropicVertex.__init__=   r   r   r   r   r#   s   @r   r,   r,   6   r$   r   r,   c                   <     e Zd ZU dZeed<   ddee   f fdZ xZS )AsyncAnthropicVertexr-   r   r   c                 j    t        |   di | |xs
 t               | _        t	        |       | _        y)z
        Args:
            posthog_client: If provided, events will be captured via this client
                instead of the global ``posthog`` client.
            **kwargs: Arguments passed to ``anthropic.AsyncAnthropicVertex``.
        Nr   r(   r   s      r   r   zAsyncAnthropicVertex.__init__P   r)   r   r   r   r#   s   @r   r0   r0   I   r*   r   r0   )	anthropicImportErrorModuleNotFoundErrortypingr   posthog.ai.anthropic.anthropicr   $posthog.ai.anthropic.anthropic_asyncr   posthog.clientr   r    posthogr   r	   r&   r,   r0   r   r   r   <module>r:      s     : E 2 .y11 .&3I;; 3&.i// .&3999 3M  
W s   A9 9B