
    `i                     ^   d dl Z d dlZd dlmZ d dlmZmZ d dlmZ d dlm	Z	m
Z
 d dlmZ erd dlmZmZmZmZmZ d dlmZ d d	lmZmZ 	 d d
lmZ n# e$ r  ed          w xY w	 d dlmZ n# e$ r  ed          w xY w	 d dlZn# e$ r  ed          w xY w G d de          ZddZdS )    N)
serializer)IntegrationDidNotEnableadd_global_event_processor)walk_exception_chainiter_stacks)TYPE_CHECKING)OptionalDictAnyTupleList)	FrameType)EventHint)Sourcezexecuting is not installed)	Evaluatorzpure_eval is not installedzasttokens is not installedc                   *    e Zd ZdZedd            ZdS )PureEvalIntegration	pure_evalreturnNc                  4    t           	 	 	 	 	 	 dd            } d S )	Neventr   hintOptional[Hint]r   Optional[Event]c                    t          j                                        t                    | S || S |                    dd           }|| S |                     dd           }|| S |                    dd           }|| S t          t          |          t          |                    D ]\  }\  }}}d |                    di                               dg           D             }t          t          |                    }	t          |          t          |	          k    rzt          ||	          D ]$\  }
}t          |j                  p|
d         |
d<   %| S )Nexc_info	exceptionvaluesc                 <    g | ]}|                     d           |S )function)get).0frames     u/home/jaya/work/projects/VOICE-AGENT/VIET/agent-env/lib/python3.11/site-packages/sentry_sdk/integrations/pure_eval.py
<listcomp>zNPureEvalIntegration.setup_once.<locals>.add_executing_info.<locals>.<listcomp>C   s:     ! ! !yy,,!! ! !    
stacktraceframesvars)
sentry_sdk
get_clientget_integrationr   r$   zipreversedr   listr	   lenpure_eval_frametb_frame)r   r   r   r    r!   	_exc_type
_exc_valueexc_tbsentry_framestbssentry_frametbs               r'   add_executing_infoz:PureEvalIntegration.setup_once.<locals>.add_executing_info'   s    $&&667JKKS|xx
D11H		+t44I ]]8T22F~>A  "6x"@"@? ?  :	:Iz6! !!*|R!@!@!D!DXr!R!R! ! !
 ;v..//}%%S11(+M3(?(?  $L"'44LV8L !(( Lr)   )r   r   r   r   r   r   r   )r=   s    r'   
setup_oncezPureEvalIntegration.setup_once%   sC    	#(	(	"2(	(	 (	 (	 
$	#(	 (	 (	r)   )r   N)__name__
__module____qualname__
identifierstaticmethodr>    r)   r'   r   r   "   s7        J* * * \* * *r)   r   r&   r   r   Dict[str, Any]c                 @  	 t          j        |           }|j        si S |                    | j                  }|si S t          |          d         x}		 |j        }t          |t          j	        t          j
        t          j        f          rn:t          j        |           }|                    |          }d	fd}|                                |                    |d           fd	|d t"          j                 D             }t#          j        |d
          S )Nr   T
expressionTuple[List[Any], Any]r   Tuple[int, int]c                     | \  }}d	dfd|D             }|rt          fd|D                       S t          fd|D                       \  }}| | fS )
Nnast.exprr   rI   c                     | j         | j        fS N)lineno
col_offset)rK   s    r'   startz1pure_eval_frame.<locals>.closeness.<locals>.starto   s    Hal++r)   c                 F    g | ]} |          j         j        k     |S rD   )
last_tokenend)r%   noderQ   stmts     r'   r(   z6pure_eval_frame.<locals>.closeness.<locals>.<listcomp>r   s;     
 
 
uT{{T_000 000r)   c              3   .   K   | ]} |          V  d S rN   rD   r%   rU   rQ   s     r'   	<genexpr>z5pure_eval_frame.<locals>.closeness.<locals>.<genexpr>y   s+      AAtuuT{{AAAAAAr)   c              3   .   K   | ]} |          V  d S rN   rD   rX   s     r'   rY   z5pure_eval_frame.<locals>.closeness.<locals>.<genexpr>~   s+      $C$CTUU4[[$C$C$C$C$C$Cr)   )rK   rL   r   rI   )maxmin)rG   nodes_valuenodes_before_stmtrO   rP   rQ   rV   s         @r'   	closenessz"pure_eval_frame.<locals>.closenessh   s    
 #v	, 	, 	, 	,
 
 
 
 

 
 

  	*AAAA/@AAAAAA
 "%$C$C$C$CU$C$C$C!C!CFJGj[))r)   )keyreversec                 N    i | ]!\  }}                     |d                    |"S )r   )get_text)r%   r]   valueatoks      r'   
<dictcomp>z#pure_eval_frame.<locals>.<dictcomp>   s?       E5 	eAh  r)   )is_vars)rG   rH   r   rI   )r   	for_frametreestatements_at_linef_linenor2   parent
isinstanceastFunctionDefClassDefModuler   
from_frameinteresting_expressions_grouped	asttokenssortr   MAX_DATABAG_BREADTH	serialize)
r&   source
statementsscope	evaluatorexpressionsr`   r,   rf   rV   s
           @@r'   r4   r4   S   sN   e$$F; 	**5>::J 	
##A&&ED ecos|SZHII 	 $U++I;;EBBK* * * * * *4 DD111   '(H**H(HI  D d3333r)   )r&   r   r   rE   )ro   r-   r   sentry_sdk.integrationsr   r   sentry_sdk.scoper   sentry_sdk.utilsr   r	   typingr
   r   r   r   r   r   typesr   sentry_sdk._typesr   r   	executingr   ImportErrorr   r   ru   r   r4   rD   r)   r'   <module>r      s   



     ! ! ! ! ! ! = = = = = = = = 7 7 7 7 7 7 > > > > > > > >             .77777777777777--------5        5 5 5
,3
4
4455####### 5 5 5
,3
4
4455 5 5 5
,3
4
445. . . . .+ . . .b64 64 64 64 64 64s$   
A A"&A- -A>B B