o
    h                     @   s   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
 e
rSd dlm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 ededef dZndd ZedddZedddZdddZdd Zdd ZdS )    N)Hub)event_from_exception)reraisewraps)TYPE_CHECKING)Any)Callable)TypeVar)Union)Optional)overloadF.)boundc                 C   s   | S N )xr   r   e/var/www/html/aiguide_backend/venv/lib/python3.10/site-packages/sentry_sdk/integrations/serverless.pyr      s   r   Tc                 C      d S r   r   fflushr   r   r   serverless_function      r   c                 C   r   r   r   r   r   r   r   r   #   r   c                    s     fdd}| d u r|S || S )Nc                    s   t   fdd}|S )Nc               	      s   t t jR}| }|  W d    n1 sw   Y  z)z | i |W W r-t  W  d    S  ty@   t  Y nw W rGt  nrNt  w w W d    d S 1 sZw   Y  d S r   )r   currentconfigure_scopeclear_breadcrumbs_flush_client	Exception_capture_and_reraise)argskwargshubscoper   r   r   inner-   s*   


"z3serverless_function.<locals>.wrapper.<locals>.innerr   )r   r$   r   )r   r   wrapper+   s   z$serverless_function.<locals>.wrapperr   )r   r   r&   r   r%   r   r   )   s   c                  C   sN   t  } tj}|jd ur!t| |jjdddd\}}|j||d t|   d S )N
serverlessF)typehandled)client_options	mechanism)hint)	sysexc_infor   r   clientr   optionscapture_eventr   )r.   r"   eventr,   r   r   r   r   D   s   

r   c                   C   s
   t j S r   )r   r   r   r   r   r   r   r   S   s   
r   )T)NT)r-   sentry_sdk.hubr   sentry_sdk.utilsr   sentry_sdk._compatr   sentry_sdk._functoolsr   sentry_sdk._typesr   typingr   r	   r
   r   r   r   r   r   r   r   r   r   r   r   <module>   s,    
