Ë
    µŒjKP  ã                   ó.  — d dl Zd dlZd dlZd dlZd dlZd dlmZ d dlm	Z	m
Z
mZmZmZ d dlmZ d dlZd dlmZmZ d dlmZ d dlmZ d dlmZ d d	lmZ  ej8                  e«      Zd
Z eee df      dd¬«      Z! eee df      dd¬«      Z"g d¢Z# G d„ d«      Z$d'de de	de$fd„Z%de	dee
e e	f   ee	   e	f   fd„Z&de	de	fd„Z'de(de	fd„Z)de de fd„Z*de	de	fd„Z+de	de	fd„Z,d ede
e e	f   fd!„Z-d"eee   e	f   dee
e e	f      fd#„Z. G d$„ d%e«      Z/d%d&gZ0y)(é    N)Ú
ContextVar)ÚAnyÚDictÚListÚUnionÚcast)ÚUUID)ÚAgentActionÚAgentFinish)ÚBaseCallbackHandler)ÚBaseMessage)Ú	LLMResult)Úparsezhttps://app.llmonitor.comÚuser_ctx)ÚdefaultÚuser_props_ctx)ÚtemperatureÚtop_pÚtop_kÚstopÚpresence_penaltyÚfrequence_penaltyÚseedÚfunction_callÚ	functionsÚtoolsÚtool_choiceÚresponse_formatÚ
max_tokensÚ
logit_biasc                   óJ   — e Zd ZdZddededdfd„Zdefd„Zded	ed
edefd„Zy)ÚUserContextManagerz+Context manager for LLMonitor user context.NÚuser_idÚ
user_propsÚreturnc                 óX   — t         j                  |«       t        j                  |«       y ©N©r   Úsetr   )Úselfr#   r$   s      úz/var/www/html/Fitness-lenito-AI-main/venv/lib/python3.12/site-packages/langchain_community/callbacks/llmonitor_callback.pyÚ__init__zUserContextManager.__init__-   s   € Ü�‰�WÔÜ×Ñ˜:Õ&ó    c                  ó   — y r'   © )r*   s    r+   Ú	__enter__zUserContextManager.__enter__1   s   € Ør-   Úexc_typeÚ	exc_valueÚexc_tbc                 óX   — t         j                  d «       t        j                  d «       y r'   r(   )r*   r1   r2   r3   s       r+   Ú__exit__zUserContextManager.__exit__4   s   € Ü�‰�TÔÜ×Ñ˜4Õ r-   r'   )	Ú__name__Ú
__module__Ú__qualname__Ú__doc__Ústrr   r,   r0   r5   r/   r-   r+   r"   r"   *   sL   „ Ù5ñ' ð '°ð 'Àó 'ð˜3ó ð! ð !°ð !¸cð !Àcô !r-   r"   r#   r$   r%   c                 ó   — t        | |«      S )zÏBuilds an LLMonitor UserContextManager

    Parameters:
        - `user_id`: The user id.
        - `user_props`: The user properties.

    Returns:
        A context manager that sets the user context.
    )r"   )r#   r$   s     r+   Úidentifyr<   9   s   € ô ˜g zÓ2Ð2r-   Úobjc                 ó   — t        | d«      r| j                  «       S t        | t        «      r-| j	                  «       D ��ci c]  \  }}|t        |«      “Œ c}}S t        | t        «      r| D �cg c]  }t        |«      ‘Œ c}S | S c c}}w c c}w )NÚto_json)Úhasattrr?   Ú
isinstanceÚdictÚitemsÚ
_serializeÚlist)r=   ÚkeyÚvalueÚelements       r+   rD   rD   F   s   € Üˆs�IÔØ�{‰{‹}Ðä�#”tÔØ9<¿¹¼ÔE¹©:¨3°�”Z Ó&Ñ&¸ÒEÐEä�#”tÔÙ36Ó7±3¨”
˜7Õ#°3Ñ7Ð7à€Jùó Fùò 8s   Á BÁ.BÚ	raw_inputc                 óT  — | sy t        | t        «      rt        | «      dk(  rt        | d   «      S t        | t        «      st        | «      S | j                  d«      }| j                  d«      }| j                  d«      }| j                  d«      }|r|S |r|S |r|S |r|S t        | «      S )Né   r   ÚinputÚinputsÚquestionÚquery)rA   rE   ÚlenÚ_parse_inputrB   rD   Úget)rI   Úinput_valueÚinputs_valueÚquestion_valueÚquery_values        r+   rQ   rQ   S   sª   € ÙØô �)œTÔ"¤s¨9£~¸Ò':Ü˜I a™LÓ)Ð)ä�i¤Ô&Ü˜)Ó$Ð$à—-‘- Ó(€KØ—=‘= Ó*€LØ—]‘] :Ó.€NØ—-‘- Ó(€KáØÐÙØÐÙØÐÙØÐä�iÓ Ð r-   Ú
raw_outputc                 ó&  — | sy t        | t        «      st        | «      S | j                  d«      }| j                  d«      }| j                  d«      }| j                  d«      }| j                  d«      }|r|S |r|S |r|S |r|S |r|S t        | «      S )NÚtextÚoutputÚoutput_textÚanswerÚresult)rA   rB   rD   rR   )rW   Ú
text_valueÚoutput_valueÚoutput_text_valueÚanswer_valueÚresult_values         r+   Ú_parse_outputrc   o   sœ   € ÙØä�j¤$Ô'Ü˜*Ó%Ð%à—‘ Ó'€JØ—>‘> (Ó+€LØ"Ÿ™ }Ó5ÐØ—>‘> (Ó+€LØ—>‘> (Ó+€LáØÐÙØÐÙØÐÙØ Ð ÙØÐä�jÓ!Ð!r-   Úrolec                 ó   — | dk(  ry| S )NÚhumanÚuserr/   )rd   s    r+   Ú_parse_lc_rolerh   Š   s   € ð ˆw‚Øàˆr-   Úmetadatac                 óª   — t         j                  «       �t         j                  «       S | xs i } | j                  d«      }|€| j                  d«      }|S )Nr#   ÚuserId)r   rR   )ri   r#   s     r+   Ú_get_user_idrl   “   sI   € Ü‡|�|ƒ~Ð!Ü�|‰|‹~ÐàŠ~˜2€HØ�l‰l˜9Ó%€GØ€Ø—,‘,˜xÓ(ˆØ€Nr-   c                 ó‚   — t         j                  «       �t         j                  «       S | xs i } | j                  dd «      S )Nr$   )r   rR   )ri   s    r+   Ú_get_user_propsrn   ž   s:   € Ü×ÑÓÐ'Ü×!Ñ!Ó#Ð#àŠ~˜2€HØ�<‰<˜ dÓ+Ð+r-   Úmessagec                 ó   — g d¢}| j                   t        | j                  «      dœ}|j                  |D �ci c]G  }| j                  j                  |«      �*|t        t        | j                  j                  |«      «      “ŒI c}«       |S c c}w )N)r   Ú
tool_callsÚtool_call_idÚname)rY   rd   )Úcontentrh   ÚtypeÚupdateÚadditional_kwargsrR   r   r   )ro   ÚkeysÚparsedrF   s       r+   Ú_parse_lc_messagerz   ¦   s‡   € ÚB€DØ—o‘o¬~¸g¿l¹lÓ/KÑL€FØ
‡M�Mñ ó	
á�Ø×(Ñ(×,Ñ,¨SÓ1Ð=ð ””c˜7×4Ñ4×8Ñ8¸Ó=Ó>Ñ>Øñ	
ôð €Mùò	
s   ¶ABÚmessagesc                 ó>   — | D �cg c]  }t        |«      ‘Œ c}S c c}w r'   )rz   )r{   ro   s     r+   Ú_parse_lc_messagesr}   ³   s    € Ù6>Ó?±h¨7Ô˜gÕ&°hÑ?Ð?ùÒ?s   …c                   óÈ  ‡ — e Zd ZU dZeed<   eed<   eed<   eed<   eed<   	 	 	 d,deedf   d	eedf   d
eddfˆ fd„Zddddœde	ee
f   dee   dedeedf   deee   df   dee	ee
f   df   de
ddfd„Zddddœde	ee
f   deee      dedeedf   deee   df   dee	ee
f   df   de
de
fd„Zddœdededeedf   de
ddf
d„Zddddœde	ee
f   dededeedf   deee   df   dee	ee
f   df   de
ddfd„Zdddœde
dedeedf   deee   df   de
ddfd„Zddddœde	ee
f   d e	ee
f   dedeedf   deee   df   dee	ee
f   df   de
de
fd!„Zddœd"e	ee
f   dedeedf   de
de
f
d#„Zddœd$ededeedf   de
de
f
d%„Zddœd&ededeedf   de
de
f
d'„Zddœd(ededeedf   de
de
f
d)„Zddœd(ededeedf   de
de
f
d*„Zddœd(ededeedf   de
de
f
d+„Zˆ xZS )-ÚLLMonitorCallbackHandlera²  Callback Handler for LLMonitor`.

    #### Parameters:
        - `app_id`: The app id of the app you want to report to. Defaults to
        `None`, which means that `LLMONITOR_APP_ID` will be used.
        - `api_url`: The url of the LLMonitor API. Defaults to `None`,
        which means that either `LLMONITOR_API_URL` environment variable
        or `https://app.llmonitor.com` will be used.

    #### Raises:
        - `ValueError`: if `app_id` is not provided either as an
        argument or as an environment variable.
        - `ConnectionError`: if the connection to the API fails.


    #### Example:
    ```python
    from langchain_community.llms import OpenAI
    from langchain_community.callbacks import LLMonitorCallbackHandler

    llmonitor_callback = LLMonitorCallbackHandler()
    llm = OpenAI(callbacks=[llmonitor_callback],
                 metadata={"userId": "user-123"})
    llm.invoke("Hello, how are you?")
    ```
    Ú"_LLMonitorCallbackHandler__api_urlÚ!_LLMonitorCallbackHandler__app_idÚ"_LLMonitorCallbackHandler__verboseÚ,_LLMonitorCallbackHandler__llmonitor_versionÚ+_LLMonitorCallbackHandler__has_valid_configNÚapp_idÚapi_urlÚverboser%   c                 óÀ  •— t         ‰| �  «        d| _        	 dd l}t        j
                  j                  d«      | _        |j                  | _	        t        | j                  «      t        d«      k  r*t        j                  d| j                  › d�«       d| _        d| _        |xs t        j                  d	«      xs t         | _        |xs t%        t        j                  d
«      «      | _        |xs t        j                  d«      }|€t        j                  d«       d| _        n|| _        | j                  du ry 	 t+        j,                  | j"                  › d| j(                  › �«      }|j.                  s
t1        «       ‚y # t        $ r t        j                  d«       d| _        Y y w xY w# t2        $ r% t        j                  d| j"                  › �«       Y y w xY w)NTr   Ú	llmonitorz½[LLMonitor] To use the LLMonitor callback handler you need to 
                have the `llmonitor` Python package installed. Please install it 
                with `pip install llmonitor`Fz0.0.32zB[LLMonitor] The installed `llmonitor` version is 
                z� 
                but `LLMonitorCallbackHandler` requires at least version 0.0.32 
                upgrade `llmonitor` with `pip install --upgrade llmonitor`ÚLLMONITOR_API_URLÚLLMONITOR_VERBOSEÚLLMONITOR_APP_IDzh[LLMonitor] app_id must be provided either as an argument or 
                as an environment variablez	/api/app/zG[LLMonitor] Could not connect to the LLMonitor API at 
                )Úsuperr,   r„   r‰   Ú	importlibri   Úversionrƒ   Útrack_eventÚ&_LLMonitorCallbackHandler__track_eventÚImportErrorÚloggerÚwarningr   ÚosÚgetenvÚDEFAULT_API_URLr€   Úboolr‚   r�   ÚrequestsrR   ÚokÚConnectionErrorÚ	Exception)r*   r…   r†   r‡   r‰   Ú_app_idÚresÚ	__class__s          €r+   r,   z!LLMonitorCallbackHandler.__init__Ù   sº  ø€ ô 	‰ÑÔà"&ˆÔð	Ûä'0×'9Ñ'9×'AÑ'AÀ+Ó'NˆDÔ$Ø!*×!6Ñ!6ˆDÔô �×)Ñ)Ó*¬U°8«_Ò<Ü�N‰NðØ×)Ñ)Ð*ð +KðNôð ',ˆDÔ#à"&ˆÔà ÒU¤B§I¡IÐ.AÓ$BÒUÄoˆŒØ ÒH¤D¬¯©Ð3FÓ)GÓ$HˆŒàÒ9œBŸI™IÐ&8Ó9ˆØˆ?Ü�N‰Nð.ôð ',ˆDÕ#à#ˆDŒMà×"Ñ" eÑ+Øð	Ü—,‘, $§.¡.Ð!1°¸4¿=¹=¸/ÐJÓKˆCØ—6’6Ü%Ó'Ð'ð øôM ò 	Ü�N‰Nð0ôð
 ',ˆDÔ#Ùð	ûôP ò 	Ü�N‰NðØ—‘Ð ð$öð	ús$   ˜9F Ä?AF/ Æ%F,Æ+F,Æ/+GÇG)Úparent_run_idÚtagsri   Ú
serializedÚpromptsÚrun_idr    r¡   ri   Úkwargsc                ó°  — | j                   du ry 	 t        |«      }t        |«      }	|j                  di «      }
|
j	                  |j                  di «      «       |
j                  d«      xs$ |
j                  d«      xs |
j                  d«      }|sd|
j                  d«      v rd	}t
        D �ci c]%  }|
j                  |«      �||
j                  |«      “Œ' }}t        |«      }| j                  d
d|t        |«      |rt        |«      nd ||||||	| j                  ¬«       y c c}w # t        $ r"}t        j                  d|› �«       Y d }~y d }~ww xY w)NFÚinvocation_paramsr¥   ÚmodelÚ
model_nameÚmodel_idÚ	anthropicÚ_typeúclaude-2ÚllmÚstart©
r#   r¤   r    rs   rL   r¡   Úextrari   r$   r…   z/[LLMonitor] An error occurred in on_llm_start: )r„   rl   rn   rR   rv   ÚPARAMS_TO_CAPTURErQ   r‘   r:   r�   rœ   ÚwarningsÚwarn)r*   r¢   r£   r¤   r    r¡   ri   r¥   r#   r$   Úparamsrs   Úparamr±   rL   Úes                   r+   Úon_llm_startz%LLMonitorCallbackHandler.on_llm_start  sl  € ð ×"Ñ" eÑ+Øð)	QÜ" 8Ó,ˆGÜ(¨Ó2ˆJà—Z‘ZÐ 3°RÓ8ˆFØ�M‰MØ—‘˜x¨Ó,ôð
 —
‘
˜7Ó#ò *Ø—:‘:˜lÓ+ò*à—:‘:˜jÓ)ð ñ ˜K¨6¯:©:°gÓ+>Ñ>Ø!�õ /óá.�EØ—:‘:˜eÓ$Ð0ð �v—z‘z %Ó(Ñ(Ø.ð ð ô ! Ó)ˆEà×ÑØØØÜ˜6“{Ù4Aœc -Ô0ÀtØØØØØ!Ø%Ø—}‘}ð õ ùòøô, ò 	QÜ�M‰MÐKÈAÈ3ÐO×PÑPûð	Qús+   ‘BD* Â0*D%ÃA
D* Ä%D* Ä*	EÄ3EÅEr{   c                ó¶  — | j                   du ry 	 t        |«      }t        |«      }	|j                  di «      }
|
j	                  |j                  di «      «       |
j                  d«      xs$ |
j                  d«      xs |
j                  d«      }|sd|
j                  d«      v rd	}t
        D �ci c]%  }|
j                  |«      �||
j                  |«      “Œ' }}t        |d
   «      }| j                  dd|t        |«      |rt        |«      nd ||||||	| j                  ¬«       y c c}w # t        $ r"}t        j                  d|› �«       Y d }~y d }~ww xY w)NFr§   r¥   r¨   r©   rª   r«   r¬   r­   r   r®   r¯   r°   z6[LLMonitor] An error occurred in on_chat_model_start: )r„   rl   rn   rR   rv   r²   r}   r‘   r:   r�   rœ   r“   Úerror)r*   r¢   r{   r¤   r    r¡   ri   r¥   r#   r$   rµ   rs   r¶   r±   rL   r·   s                   r+   Úon_chat_model_startz,LLMonitorCallbackHandler.on_chat_model_startO  sr  € ð ×"Ñ" eÑ+Øð)	WÜ" 8Ó,ˆGÜ(¨Ó2ˆJà—Z‘ZÐ 3°RÓ8ˆFØ�M‰MØ—‘˜x¨Ó,ôð
 —
‘
˜7Ó#ò *Ø—:‘:˜lÓ+ò*à—:‘:˜jÓ)ð ñ ˜K¨6¯:©:°gÓ+>Ñ>Ø!�õ /óá.�EØ—:‘:˜eÓ$Ð0ð �v—z‘z %Ó(Ñ(Ø.ð ð ô ' x°¡{Ó3ˆEà×ÑØØØÜ˜6“{Ù4Aœc -Ô0ÀtØØØØØ!Ø%Ø—}‘}ð õ ùòøô, ò 	WÜ�L‰LÐQÐRSÐQTÐU×VÑVûð	Wús+   ‘BD- Â0*D(ÃAD- Ä(D- Ä-	EÄ6EÅE)r    Úresponsec                ó0  — | j                   du ry 	 |j                  xs i j                  di «      }|j                  d   D �cg c]/  }t	        |d«      rt        |j                  «      n|j                  ‘Œ1 }}t        |«      dk(  r|d   }| j                  ddt        |«      |rt        |«      nd ||j                  d«      |j                  d	«      d
œ| j                  ¬«       y c c}w # t        $ r"}t        j                  d|› �«       Y d }~y d }~ww xY w)NFÚtoken_usager   ro   rK   r®   ÚendÚprompt_tokensÚcompletion_tokens)ÚpromptÚ
completion)r¤   r    rZ   r¾   r…   z-[LLMonitor] An error occurred in on_llm_end: )r„   Ú
llm_outputrR   Úgenerationsr@   rz   ro   rY   rP   r‘   r:   r�   rœ   r“   rº   )	r*   r¼   r¤   r    r¥   r¾   Ú
generationÚparsed_outputr·   s	            r+   Ú
on_llm_endz#LLMonitorCallbackHandler.on_llm_endˆ  s+  € ð ×"Ñ" eÑ+Øð	NØ#×.Ñ.Ò4°"×9Ñ9¸-ÈÓLˆKð #+×"6Ñ"6°qÒ"9ó	"ñ #:�Jô ˜: yÔ1ô " *×"4Ñ"4Ô5à—_‘_ñ%ð #:ð	 ð "ô �=Ó! QÒ&Ø -¨aÑ 0�à×ÑØØÜ˜6“{Ù4Aœc -Ô0ÀtØ$à)Ÿo™o¨oÓ>Ø"-§/¡/Ð2EÓ"Fñð —}‘}ð õ ùò"øô. ò 	NÜ�L‰LÐHÈÈÐL×MÑMûð	Nús*   ‘1C* Á4C%Á6A.C* Ã%C* Ã*	DÃ3DÄDÚ	input_strc                óF  — | j                   du ry 	 t        |«      }t        |«      }	|j                  d«      }
| j	                  dd|t        |«      |rt        |«      nd |
||||	| j                  ¬«       y # t        $ r"}t        j                  d|› �«       Y d }~y d }~ww xY w)NFrs   Útoolr¯   ©	r#   r¤   r    rs   rL   r¡   ri   r$   r…   z0[LLMonitor] An error occurred in on_tool_start: )
r„   rl   rn   rR   r‘   r:   r�   rœ   r“   rº   )r*   r¢   rÉ   r¤   r    r¡   ri   r¥   r#   r$   rs   r·   s               r+   Úon_tool_startz&LLMonitorCallbackHandler.on_tool_start°  s­   € ð ×"Ñ" eÑ+Øð	QÜ" 8Ó,ˆGÜ(¨Ó2ˆJØ—>‘> &Ó)ˆDà×ÑØØØÜ˜6“{Ù4Aœc -Ô0ÀtØØØØ!Ø%Ø—}‘}ð õ øô ò 	QÜ�L‰LÐKÈAÈ3ÐO×PÑPûð	Qús   ‘A#A5 Á5	B Á>BÂB )r    r¡   rZ   c                ó  — t        |«      }| j                  du ry 	 | j                  ddt        |«      |rt        |«      nd || j                  ¬«       y # t        $ r"}t
        j                  d|› �«       Y d }~y d }~ww xY w)NFrË   r¿   ©r¤   r    rZ   r…   z.[LLMonitor] An error occurred in on_tool_end: )r:   r„   r‘   r�   rœ   r“   rº   )r*   rZ   r¤   r    r¡   r¥   r·   s          r+   Úon_tool_endz$LLMonitorCallbackHandler.on_tool_endÒ  s…   € ô �V“ˆØ×"Ñ" eÑ+Øð
	OØ×ÑØØÜ˜6“{Ù4Aœc -Ô0ÀtØØ—}‘}ð õ øô ò 	OÜ�L‰LÐIÈ!ÈÐM×NÑNûð	Oús   œ7A Á	A?ÁA:Á:A?rM   c                óì  — | j                   du ry 	 |j                  dg d¢«      d   }d}	|xs i }|j                  d«      }
|
€|j                  d«      }
|dk(  s|d	k(  rd
}	|
�d
}	|
}|�d}	t        |«      }t        |«      }t	        |«      }| j                  |	d|t        |«      |rt        |«      nd |||||| j                  ¬«       y # t        $ r"}t        j                  d|› �«       Y d }~y d }~ww xY w)NFÚid)NNNNé   ÚchainÚ
agent_nameÚ	agentNameÚAgentExecutorÚPlanAndExecuteÚagentr¯   rÌ   z1[LLMonitor] An error occurred in on_chain_start: )r„   rR   rl   rn   rQ   r‘   r:   r�   rœ   r“   rº   )r*   r¢   rM   r¤   r    r¡   ri   r¥   rs   ru   rÖ   r#   r$   rL   r·   s                  r+   Úon_chain_startz'LLMonitorCallbackHandler.on_chain_startê  s  € ð ×"Ñ" eÑ+Øð#	RØ—>‘> $Ò(@ÓAÀ!ÑDˆDØˆDØ’~ 2ˆHà Ÿ™ \Ó2ˆIØÐ Ø$ŸL™L¨Ó5�	à�Ò&¨$Ð2BÒ*BØ�ØÐ$Ø�Ø �ØÐ(Ø�ä" 8Ó,ˆGÜ(¨Ó2ˆJÜ  Ó(ˆEà×ÑØØØÜ˜6“{Ù4Aœc -Ô0ÀtØØØØ!Ø%Ø—}‘}ð õ øô ò 	RÜ�L‰LÐLÈQÈCÐP×QÑQûð	Rús   ‘B6C Ã	C3ÃC.Ã.C3Úoutputsc                ó  — | j                   du ry 	 t        |«      }| j                  ddt        |«      |rt        |«      nd || j                  ¬«       y # t
        $ r"}t        j                  d|› �«       Y d }~y d }~ww xY w)NFrÔ   r¿   rÏ   z/[LLMonitor] An error occurred in on_chain_end: )r„   rc   r‘   r:   r�   rœ   r“   rº   )r*   rÛ   r¤   r    r¥   rZ   r·   s          r+   Úon_chain_endz%LLMonitorCallbackHandler.on_chain_end  s†   € ð ×"Ñ" eÑ+Øð	PÜ" 7Ó+ˆFà×ÑØØÜ˜6“{Ù4Aœc -Ô0ÀtØØ—}‘}ð õ øô ò 	PÜ�L‰LÐJÈ1È#ÐN×OÑOûð	Pús   ‘AA Á	A?ÁA:Á:A?Úactionc          	      ó2  — | j                   du ry 	 |j                  }t        |j                  «      }| j	                  ddt        |«      |rt        |«      nd ||| j                  ¬«       y # t        $ r"}t        j                  d|› �«       Y d }~y d }~ww xY w)NFrË   r¯   )r¤   r    rs   rL   r…   z2[LLMonitor] An error occurred in on_agent_action: )
r„   rË   rQ   Ú
tool_inputr‘   r:   r�   rœ   r“   rº   )r*   rÞ   r¤   r    r¥   rs   rL   r·   s           r+   Úon_agent_actionz(LLMonitorCallbackHandler.on_agent_action4  s˜   € ð ×"Ñ" eÑ+Øð	SØ—;‘;ˆDÜ  ×!2Ñ!2Ó3ˆEà×ÑØØÜ˜6“{Ù4Aœc -Ô0ÀtØØØ—}‘}ð õ øô ò 	SÜ�L‰LÐMÈaÈSÐQ×RÑRûð	Sús   ‘AA+ Á+	BÁ4BÂBÚfinishc                ó  — | j                   du ry 	 t        |j                  «      }| j                  ddt	        |«      |rt	        |«      nd || j
                  ¬«       y # t        $ r"}t        j                  d|› �«       Y d }~y d }~ww xY w)NFrÙ   r¿   rÏ   z2[LLMonitor] An error occurred in on_agent_finish: )	r„   rc   Úreturn_valuesr‘   r:   r�   rœ   r“   rº   )r*   râ   r¤   r    r¥   rZ   r·   s          r+   Úon_agent_finishz(LLMonitorCallbackHandler.on_agent_finishN  sŒ   € ð ×"Ñ" eÑ+Øð	SÜ" 6×#7Ñ#7Ó8ˆFà×ÑØØÜ˜6“{Ù4Aœc -Ô0ÀtØØ—}‘}ð õ øô ò 	SÜ�L‰LÐMÈaÈSÐQ×RÑRûð	Sús   ‘AA Á	B	Á'BÂB	rº   c          	      ó*  — | j                   du ry 	 | j                  ddt        |«      |rt        |«      nd t        |«      t        j                  «       dœ| j
                  ¬«       y # t        $ r"}t        j                  d|› �«       Y d }~y d }~ww xY w)NFrÔ   rº   ©ro   Ústack©r¤   r    rº   r…   z1[LLMonitor] An error occurred in on_chain_error: ©	r„   r‘   r:   Ú	tracebackÚ
format_excr�   rœ   r“   rº   ©r*   rº   r¤   r    r¥   r·   s         r+   Úon_chain_errorz'LLMonitorCallbackHandler.on_chain_errorf  sŽ   € ð ×"Ñ" eÑ+Øð
	RØ×ÑØØÜ˜6“{Ù4Aœc -Ô0ÀtÜ"% e£*´y×7KÑ7KÓ7MÑNØ—}‘}ð õ øô ò 	RÜ�L‰LÐLÈQÈCÐP×QÑQûð	Rúó   ‘AA' Á'	BÁ0BÂBc          	      ó*  — | j                   du ry 	 | j                  ddt        |«      |rt        |«      nd t        |«      t        j                  «       dœ| j
                  ¬«       y # t        $ r"}t        j                  d|› �«       Y d }~y d }~ww xY w)NFrË   rº   rç   ré   z0[LLMonitor] An error occurred in on_tool_error: rê   rí   s         r+   Úon_tool_errorz&LLMonitorCallbackHandler.on_tool_error|  sŽ   € ð ×"Ñ" eÑ+Øð
	QØ×ÑØØÜ˜6“{Ù4Aœc -Ô0ÀtÜ"% e£*´y×7KÑ7KÓ7MÑNØ—}‘}ð õ øô ò 	QÜ�L‰LÐKÈAÈ3ÐO×PÑPûð	Qúrï   c          	      ó*  — | j                   du ry 	 | j                  ddt        |«      |rt        |«      nd t        |«      t        j                  «       dœ| j
                  ¬«       y # t        $ r"}t        j                  d|› �«       Y d }~y d }~ww xY w)NFr®   rº   rç   ré   z/[LLMonitor] An error occurred in on_llm_error: rê   rí   s         r+   Úon_llm_errorz%LLMonitorCallbackHandler.on_llm_error’  sŽ   € ð ×"Ñ" eÑ+Øð
	PØ×ÑØØÜ˜6“{Ù4Aœc -Ô0ÀtÜ"% e£*´y×7KÑ7KÓ7MÑNØ—}‘}ð õ øô ò 	PÜ�L‰LÐJÈ1È#ÐN×OÑOûð	Púrï   )NNF)r6   r7   r8   r9   r:   Ú__annotations__r˜   r   r,   r   r   r   r	   r¸   r   r»   r   rÈ   rÍ   rÐ   rÚ   rÝ   r
   rá   r   rå   ÚBaseExceptionrî   rñ   ró   Ú__classcell__)rŸ   s   @r+   r   r   ·   sP  ø… ñð6 ƒNØƒMØƒOØÓØÓð $(Ø$(Øñ	<à�c˜4�iÑ ð<ð �s˜D�yÑ!ð<ð ð	<ð
 
õ<ðH ,0Ø'+Ø04ò6Qà˜˜c˜‘Nð6Qð �c‘ð6Qð
 ð6Qð ˜T 4˜ZÑ(ð6Qð �D˜‘I˜t�OÑ$ð6Qð ˜˜S #˜X™¨Ð,Ñ-ð6Qð ð6Qð 
ó6Qð| ,0Ø'+Ø04ò7Wà˜˜c˜‘Nð7Wð �t˜KÑ(Ñ)ð7Wð
 ð7Wð ˜T 4˜ZÑ(ð7Wð �D˜‘I˜t�OÑ$ð7Wð ˜˜S #˜X™¨Ð,Ñ-ð7Wð ð7Wð 
ó7Wð| ,0ò&Nàð&Nð ð	&Nð
 ˜T 4˜ZÑ(ð&Nð ð&Nð 
ó&Nð\ ,0Ø'+Ø04ò Qà˜˜c˜‘Nð Qð ð Qð
 ð Qð ˜T 4˜ZÑ(ð Qð �D˜‘I˜t�OÑ$ð Qð ˜˜S #˜X™¨Ð,Ñ-ð Qð ð Qð 
ó QðN ,0Ø'+òOàðOð ð	Oð
 ˜T 4˜ZÑ(ðOð �D˜‘I˜t�OÑ$ðOð ðOð 
óOð< ,0Ø'+Ø04ò0Rà˜˜c˜‘Nð0Rð �S˜#�X‘ð0Rð
 ð0Rð ˜T 4˜ZÑ(ð0Rð �D˜‘I˜t�OÑ$ð0Rð ˜˜S #˜X™¨Ð,Ñ-ð0Rð ð0Rð 
ó0Rðn ,0òPà�c˜3�h‘ðPð ð	Pð
 ˜T 4˜ZÑ(ðPð ðPð 
óPð: ,0òSàðSð ð	Sð
 ˜T 4˜ZÑ(ðSð ðSð 
óSð> ,0òSàðSð ð	Sð
 ˜T 4˜ZÑ(ðSð ðSð 
óSð: ,0òRàðRð ð	Rð
 ˜T 4˜ZÑ(ðRð ðRð 
óRð6 ,0òQàðQð ð	Qð
 ˜T 4˜ZÑ(ðQð ðQð 
óQð6 ,0òPàðPð ð	Pð
 ˜T 4˜ZÑ(ðPð ðPð 
÷Pr-   r   r<   r'   )1Úimportlib.metadatarŽ   Úloggingr•   rë   r³   Úcontextvarsr   Útypingr   r   r   r   r   Úuuidr	   r™   Úlangchain_core.agentsr
   r   Úlangchain_core.callbacksr   Úlangchain_core.messagesr   Úlangchain_core.outputsr   Úpackaging.versionr   Ú	getLoggerr6   r“   r—   r:   r   r   r²   r"   r<   rD   rQ   rB   rc   rh   rl   rn   rz   r}   r   Ú__all__r/   r-   r+   Ú<module>r     s§  ðÛ Û Û 	Û Û Ý "ß /Õ /Ý ã ß :Ý 8Ý /Ý ,Ý #à	ˆ×	Ñ	˜8Ó	$€à-€à'ˆ:�e˜C ˜IÑ&Ñ'¨
¸DÔA€Ø-�˜E # t )Ñ,Ñ-Ð.>ÈÔM€òÐ ÷$!ñ !ñ
3�cð 
3 sð 
3Ð6Hó 
3ð
�Cð 
˜E $ s¨C x¡.°$°s±)¸SÐ"@ÑAó 
ð!˜Cð ! Có !ð8"˜dð " só "ð6Ø
ðàóð˜3ð  3ó ð,˜cð , có ,ð
˜{ð 
¨t°C¸°H©~ó 
ð@  t¨KÑ'8¸#Ð'=Ñ!>ð @À4ÈÈSÐRUÈXÉÑCWó @ôoPÐ2ô oPðd & zÐ
2�r-   