
    gh=                         S SK Jr  S SKJr  S SKJr  S SKJr  S SKJ	r	  S SK
JrJrJr  S SKrS SKJr  S S	KJrJr  S S
KJrJr   S SKrS SKJrJr   " S S\5      rS rS rg! \ a	    \" S5      ef = f)    wraps)consts)record_token_usage)set_data_normalized)SPANDATA)AnyIterableCallableN)should_send_default_pii)DidNotEnableIntegration)capture_internal_exceptionsevent_from_exception)ChatCompletionStreamOutputTextGenerationOutputzHuggingface not installedc                   <    \ rS rSrSrS\ 3rSS jr\S 5       rSr	g)	HuggingfaceHubIntegration   huggingface_hubzauto.ai.c                     Xl         g Ninclude_prompts)selfr   s     j/home/kali/devsecops-assessor/venv/lib/python3.13/site-packages/sentry_sdk/integrations/huggingface_hub.py__init__"HuggingfaceHubIntegration.__init__   s    .    c                      [        [        R                  R                  R                  R
                  5      [        R                  R                  R                  l        g r   )_wrap_text_generationr   	inference_clientInferenceClienttext_generation r   r   
setup_once$HuggingfaceHubIntegration.setup_once"   sA     "))11AAQQ 	!!))99Ir   r   N)T)
__name__
__module____qualname____firstlineno__
identifieroriginr   staticmethodr'   __static_attributes__r&   r   r   r   r      s,    "J
|$F/ 
 
r   r   c                     [        U [        R                  " 5       R                  SSS.S9u  p[        R                  " XS9  g )Nr   F)typehandled)client_options	mechanism)hint)r   
sentry_sdk
get_clientoptionscapture_event)exceventr6   s      r   _capture_exceptionr=   ,   s;    &!,,.66,?KE
 U.r   c                 0   ^  [        T 5      U 4S j5       nU$ )Nc                    >^^	^
 [         R                  " 5       R                  [        5      mTc  T" U 0 UD6$ SU;   a  US   nO1[	        U 5      S:  a  U S   US'   US   nU S   4U SS  -   n OT" U 0 UD6$ UR                  S5      nUR                  S5      n[         R                  " [        R                  R                  S[        R                  S9m
T
R                  5          T" U 0 UD6m	[        5          [!        5       (       a,  TR"                  (       a  [%        T
[&        R(                  U5        [%        T
[&        R*                  U5        [%        T
[&        R,                  U5        [/        T	[0        5      (       aZ  [!        5       (       a-  TR"                  (       a  [%        T
[&        R2                  T	/5        T
R                  S S S 5        T	sS S S 5        $ [/        T	[4        5      (       a  [!        5       (       a7  TR"                  (       a&  [%        T
[&        R2                  T	R6                  /5        T	R8                  b8  T	R8                  R:                  S:  a  [=        T
T	R8                  R:                  S	9  T
R                  S S S 5        T	sS S S 5        $ [/        T	[>        5      (       d+  [%        T
S
S5        T
R                  S S S 5        T	sS S S 5        $ UR                  SS5      (       a  UU	U
4S jnU" 5       sS S S 5        $ UU	U
4S jnU" 5       sS S S 5        $ ! [         a&  n[        U5        T
R                  S S S 5        US eS nAff = f! , (       d  f       g = f)Nprompt      r   modelstreamzText Generation)opnamer.   total_tokensunknown_responseTdetailsFc               3     >#    [        5          Sn / nT H  n[        US5      (       a@  [        UR                  S5      (       a%  UR                  UR                  R                  5        [        US5      (       a1  [        UR
                  S5      (       a  UR
                  R                  n Uv   M     [        U5      S:  aJ  [        5       (       a;  TR                  (       a*  [        T[        R                  SR                  U5      5        U S:  a
  [        TU S9  S S S 5        TR                  S S S 5        g ! , (       d  f       N"= f7f)Nr   tokentextrJ   generated_tokens rG   )r   hasattrrL   appendrM   rJ   rN   lenr   r   r   r   AI_RESPONSESjoinr   __exit__)tokens_useddata_bufxintegrationresspans      r   new_details_iteratorP_wrap_text_generation.<locals>.new_text_generation.<locals>.new_details_iterator   s     46&'.0!$A&q'22wqww7O7O ( =&q)44 !		+=: : /0ii.H.H"#G "%  MA- 7 9 9 + ; ;/ $h&;&;RWWX=N '?. $-8) 70 MM$d31 76s   E	DD8E	8
EE	c               3     >#    / n [        5          T H-  n[        U[        5      (       a  U R                  U5        Uv   M/     [	        U 5      S:  aJ  [        5       (       a;  TR                  (       a*  [        T[        R                  SR                  U 5      5        TR                  S S S 5        S S S 5        g ! , (       d  f       g = f7f)Nr   rO   )r   
isinstancestrrQ   rR   r   r   r   r   rS   rT   rU   )rW   srY   rZ   r[   s     r   new_iteratorH_wrap_text_generation.<locals>.new_text_generation.<locals>.new_iterator   s     *,H46!$A)!S11 ( 2"#G "%
  MA- 7 9 9 + ; ;/ $h&;&;RWWX=N dD$7 766s   C
B B90	C
9
CC
) r7   r8   get_integrationr   rR   get
start_spanr   OP'HUGGINGFACE_HUB_CHAT_COMPLETIONS_CREATEr.   	__enter__	Exceptionr=   rU   r   r   r   r   r   AI_INPUT_MESSAGESAI_MODEL_IDAI_STREAMINGr_   r`   rS   r   generated_textrJ   rN   r   r
   )argskwargsr@   rC   	streaminger\   rb   rY   rZ   r[   fs           @@@r   new_text_generation2_wrap_text_generation.<locals>.new_text_generation8   s    !++-==>WXd%f%%vH%FY!^#AwF8H%FG:QR(D d%f%%

7#JJx(	$$yy@@",33

 		T$V$C )*&(([-H-H#D(*D*DfMh&:&:EBh&;&;YG#s##*,,1L1L' --
 dD$/ +*" #344*,,1L1L' --++,
 ;;*s{{/K/Ka/O&%([[%A%A dD$/= +*@ c8,,#D*<dCdD$/I +*L zz)U++48 ,-I +*P8$ $~u +*  	q!MM$d+	
 +*s>   $L 6CMB4M6M%MM
M&!MM
Mr   )rs   rt   s   ` r   r!   r!   6   s$    
1Xz& z&x r   )	functoolsr   r7   r   sentry_sdk.ai.monitoringr   sentry_sdk.ai.utilsr   sentry_sdk.constsr   typingr	   r
   r   sentry_sdk.scoper   sentry_sdk.integrationsr   r   sentry_sdk.utilsr   r   !huggingface_hub.inference._clientr   r   r   ImportErrorr   r=   r!   r&   r   r   <module>r      sh      7 3 & * *  4 =
4,P

 
$/A  4
2
334s   A" "A1