§
    šŠtjKP  ã                   óŒ  — 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j        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Z0dS )(é    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                   óL   — 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dS )ÚUserContextManagerz+Context manager for LLMonitor user context.NÚuser_idÚ
user_propsÚreturnc                 ón   — t                                |¦  «         t                               |¦  «         d S ©N©r   Úsetr   )Úselfr#   r$   s      ún/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/langchain_community/callbacks/llmonitor_callback.pyÚ__init__zUserContextManager.__init__-   s.   € Ý�Š�WÑÔÐÝ×Ò˜:Ñ&Ô&Ð&Ð&Ð&ó    c                 ó   — d S r'   © )r*   s    r+   Ú	__enter__zUserContextManager.__enter__1   s   € Øˆr-   Úexc_typeÚ	exc_valueÚexc_tbc                 ón   — t                                d ¦  «         t                               d ¦  «         d S 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"   *   s“   € € € € € Ø5Ð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Ô2Ð2r-   Úobjc                 óö   — t          | d¦  «        r|                      ¦   «         S t          | t          ¦  «        rd„ |                      ¦   «         D ¦   «         S t          | t
          ¦  «        rd„ | D ¦   «         S | S )NÚto_jsonc                 ó4   — i | ]\  }}|t          |¦  «        “ŒS r/   ©Ú
_serialize)Ú.0ÚkeyÚvalues      r+   ú
<dictcomp>z_serialize.<locals>.<dictcomp>K   s&   € ÐEÐEÐE©:¨3°�•Z Ñ&Ô&ÐEÐEÐEr-   c                 ó,   — g | ]}t          |¦  «        ‘ŒS r/   rA   )rC   Úelements     r+   ú
<listcomp>z_serialize.<locals>.<listcomp>N   s    € Ð7Ð7Ð7¨•
˜7Ñ#Ô#Ð7Ð7Ð7r-   )Úhasattrr?   Ú
isinstanceÚdictÚitemsÚlist)r=   s    r+   rB   rB   F   s|   € Ýˆs�IÑÔð Ø�{Š{‰}Œ}Ðå�#•tÑÔð FØEÐE¸¿º¹¼ÐEÑEÔEÐEå�#•tÑÔð 8Ø7Ð7°3Ð7Ñ7Ô7Ð7à€Jr-   Ú	raw_inputc                 ó²  — | sd S t          | t          ¦  «        r(t          | ¦  «        dk    rt          | d         ¦  «        S t          | t          ¦  «        st          | ¦  «        S |                      d¦  «        }|                      d¦  «        }|                      d¦  «        }|                      d¦  «        }|r|S |r|S |r|S |r|S t          | ¦  «        S )Né   r   ÚinputÚinputsÚquestionÚquery)rK   rN   ÚlenÚ_parse_inputrL   rB   Úget)rO   Úinput_valueÚinputs_valueÚquestion_valueÚquery_values        r+   rW   rW   S   sï   € Øð Øˆtõ �)�TÑ"Ô"ð *¥s¨9¡~¤~¸Ò':Ð':Ý˜I aœLÑ)Ô)Ð)å�i¥Ñ&Ô&ð %Ý˜)Ñ$Ô$Ð$à—-’- Ñ(Ô(€KØ—=’= Ñ*Ô*€LØ—]’] :Ñ.Ô.€NØ—-’- Ñ(Ô(€Kàð ØÐØð ØÐØð ØÐØð ØÐå�iÑ Ô Ð r-   Ú
raw_outputc                 ój  — | sd S t          | t          ¦  «        st          | ¦  «        S |                      d¦  «        }|                      d¦  «        }|                      d¦  «        }|                      d¦  «        }|                      d¦  «        }|r|S |r|S |r|S |r|S |r|S t          | ¦  «        S )NÚtextÚoutputÚoutput_textÚanswerÚresult)rK   rL   rB   rX   )r]   Ú
text_valueÚoutput_valueÚoutput_text_valueÚanswer_valueÚresult_values         r+   Ú_parse_outputri   o   sÙ   € Øð Øˆtå�j¥$Ñ'Ô'ð &Ý˜*Ñ%Ô%Ð%à—’ Ñ'Ô'€JØ—>’> (Ñ+Ô+€LØ"Ÿš }Ñ5Ô5ÐØ—>’> (Ñ+Ô+€LØ—>’> (Ñ+Ô+€Làð ØÐØð ØÐØð ØÐØð !Ø Ð Øð ØÐå�jÑ!Ô!Ð!r-   Úrolec                 ó   — | dk    rdS | S )NÚhumanÚuserr/   )rj   s    r+   Ú_parse_lc_rolern   Š   s   € ð ˆw‚€Øˆvàˆr-   Úmetadatac                 óÊ   — t                                ¦   «         �t                                ¦   «         S | pi } |                      d¦  «        }|€|                      d¦  «        }|S )Nr#   ÚuserId)r   rX   )ro   r#   s     r+   Ú_get_user_idrr   “   sS   € Ý‡|‚|�~„~Ð!Ý�|Š|‰~Œ~Ðàˆ~˜2€HØ�lŠl˜9Ñ%Ô%€GØ€Ø—,’,˜xÑ(Ô(ˆØ€Nr-   c                 óš   — t                                ¦   «         �t                                ¦   «         S | pi } |                      dd ¦  «        S )Nr$   )r   rX   )ro   s    r+   Ú_get_user_propsrt   ž   sC   € Ý×ÒÑÔÐ'Ý×!Ò!Ñ#Ô#Ð#àˆ~˜2€HØ�<Š<˜ dÑ+Ô+Ð+r-   Úmessagec                 óŠ   ‡ — g d¢}‰ j         t          ‰ j        ¦  «        dœ}|                     ˆ fd„|D ¦   «         ¦  «         |S )N)r   Ú
tool_callsÚtool_call_idÚname)r_   rj   c           	      ó    •— i | ]J}‰j                              |¦  «        ®|t          t          ‰j                              |¦  «        ¦  «        “ŒKS r'   )Úadditional_kwargsrX   r   r   )rC   rD   ru   s     €r+   rF   z%_parse_lc_message.<locals>.<dictcomp>ª   sW   ø€ ð 	
ð 	
ð 	
àØÔ(×,Ò,¨SÑ1Ô1Ð=ð ••c˜7Ô4×8Ò8¸Ñ=Ô=Ñ>Ô>à=Ð=Ð=r-   )Úcontentrn   ÚtypeÚupdate)ru   ÚkeysÚparseds   `  r+   Ú_parse_lc_messager�   ¦   sj   ø€ ØBÐBÐB€DØ”o­~¸g¼lÑ/KÔ/KÐLÐL€FØ
‡M‚Mð	
ð 	
ð 	
ð 	
àð	
ñ 	
ô 	
ñô ð ð €Mr-   Úmessagesc                 ó   — d„ | D ¦   «         S )Nc                 ó,   — g | ]}t          |¦  «        ‘ŒS r/   )r�   )rC   ru   s     r+   rI   z&_parse_lc_messages.<locals>.<listcomp>´   s!   € Ð?Ð?Ð?¨7Õ˜gÑ&Ô&Ð?Ð?Ð?r-   r/   )r‚   s    r+   Ú_parse_lc_messagesr…   ³   s   € Ø?Ð?°hÐ?Ñ?Ô?Ð?r-   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_configNFÚapp_idÚapi_urlÚverboser%   c                 óÖ  •— t          ¦   «                              ¦   «          d| _        	 dd l}t          j                             d¦  «        | _        |j        | _	        n2# t          $ r% t                               d¦  «         d| _        Y d S w xY wt          | j        ¦  «        t          d¦  «        k     r*t                               d| j        › d�¦  «         d| _        d| _        |pt          j        d	¦  «        pt           | _        |p t%          t          j        d
¦  «        ¦  «        | _        |pt          j        d¦  «        }|€"t                               d¦  «         d| _        n|| _        | j        du rd S 	 t+          j        | j        › d| j        › �¦  «        }|j        st1          ¦   «         ‚d S # t2          $ r& t                               d| j        › �¦  «         Y d S 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‘   Ú	importlibro   Úversionr‹   Útrack_eventÚ&_LLMonitorCallbackHandler__track_eventÚImportErrorÚloggerÚwarningr   ÚosÚgetenvÚDEFAULT_API_URLrˆ   ÚboolrŠ   r‰   ÚrequestsrX   ÚokÚConnectionErrorÚ	Exception)r*   r�   rŽ   r�   r‘   Ú_app_idÚresÚ	__class__s          €r+   r,   z!LLMonitorCallbackHandler.__init__Ù   s7  ø€ õ 	‰Œ×ÒÑÔÐà"&ˆÔð	ØÐÐÐå'0Ô'9×'AÒ'AÀ+Ñ'NÔ'NˆDÔ$Ø!*Ô!6ˆDÔÐøåð 	ð 	ð 	Ý�NŠNð0ñô ð ð
 ',ˆDÔ#ØˆFˆFð	øøøõ �Ô)Ñ*Ô*­U°8©_¬_Ò<Ð<Ý�NŠNðNØÔ)ðNð Nð Nñô ð ð ',ˆDÔ#à"&ˆÔà ÐU¥B¤IÐ.AÑ$BÔ$BÐUÅoˆŒØ ÐH¥D­¬Ð3FÑ)GÔ)GÑ$HÔ$HˆŒàÐ9�BœIÐ&8Ñ9Ô9ˆØˆ?Ý�NŠNð.ñô ð ð ',ˆDÔ#Ð#à#ˆDŒMàÔ" eÐ+Ð+Ø�4ð	Ý”, $¤.ÐJÐJ¸4¼=ÐJÐJÑKÔKˆCØ”6ð (Ý%Ñ'Ô'Ð'ð(ð (øåð 	ð 	ð 	Ý�NŠNð$Ø”ð$ð $ñô ð ð ð ð ð	øøøs#   ª4A Á+BÂBÅ>8F8 Æ8,G(Ç'G()Úparent_run_idÚtagsro   Ú
serializedÚpromptsÚrun_idr¨   r©   ro   Úkwargsc                ó¸  ‡— | j         du rd S 	 t          |¦  «        }t          |¦  «        }	|                     di ¦  «        Š‰                     |                     di ¦  «        ¦  «         ‰                     d¦  «        p)‰                     d¦  «        p‰                     d¦  «        }
|
sd‰                     d¦  «        v rd	}
ˆfd
„t
          D ¦   «         }t          |¦  «        }|                      dd|t          |¦  «        |rt          |¦  «        nd |
|||||	| j	        ¬¦  «         d S # t          $ r"}t          j        d|› �¦  «         Y d }~d S d }~ww xY w)NFÚinvocation_paramsr­   ÚmodelÚ
model_nameÚmodel_idÚ	anthropicÚ_typeúclaude-2c                 óf   •— i | ]-}‰                      |¦  «        ®|‰                      |¦  «        “Œ.S r'   ©rX   ©rC   ÚparamÚparamss     €r+   rF   z9LLMonitorCallbackHandler.on_llm_start.<locals>.<dictcomp>6  óC   ø€ ð ð ð àØ—:’:˜eÑ$Ô$Ð0ð �v—z’z %Ñ(Ô(à0Ð0Ð0r-   ÚllmÚstart©
r#   r¬   r¨   ry   rR   r©   Úextraro   r$   r�   z/[LLMonitor] An error occurred in on_llm_start: )rŒ   rr   rt   rX   r~   ÚPARAMS_TO_CAPTURErW   r™   r:   r‰   r¤   ÚwarningsÚwarn)r*   rª   r«   r¬   r¨   r©   ro   r­   r#   r$   ry   r¿   rR   Úerº   s                 @r+   Úon_llm_startz%LLMonitorCallbackHandler.on_llm_start  sÂ  ø€ ð Ô" eÐ+Ð+ØˆFð)	QÝ" 8Ñ,Ô,ˆGÝ(¨Ñ2Ô2ˆJà—Z’ZÐ 3°RÑ8Ô8ˆFØ�MŠMØ—’˜x¨Ñ,Ô,ñô ð ð
 —
’
˜7Ñ#Ô#ð *Ø—:’:˜lÑ+Ô+ð*à—:’:˜jÑ)Ô)ð ð ð "˜K¨6¯:ª:°gÑ+>Ô+>Ð>Ð>Ø!�ðð ð ð å.ðñ ô ˆEõ ! Ñ)Ô)ˆEà×ÒØØØÝ˜6‘{”{Ø4AÐK�c -Ñ0Ô0Ð0ÀtØØØØØ!Ø%Ø”}ð ñ ô ð ð ð øõ ð 	Qð 	Qð 	QÝŒMÐOÈAÐOÐOÑPÔPÐPÐPÐPÐPÐPÐPÐPøøøøð	Qøøøs   ŽDD- Ä-
EÄ7EÅEr‚   c                óÐ  ‡— | j         du rd S 	 t          |¦  «        }t          |¦  «        }	|                     di ¦  «        Š‰                     |                     di ¦  «        ¦  «         ‰                     d¦  «        p)‰                     d¦  «        p‰                     d¦  «        }
|
sd‰                     d¦  «        v rd	}
ˆfd
„t
          D ¦   «         }t          |d         ¦  «        }|                      dd|t          |¦  «        |rt          |¦  «        nd |
|||||	| j	        ¬¦  «         d S # t          $ r(}t                               d|› �¦  «         Y d }~d S d }~ww xY w)NFr¯   r­   r°   r±   r²   r³   r´   rµ   c                 óf   •— i | ]-}‰                      |¦  «        ®|‰                      |¦  «        “Œ.S r'   r·   r¸   s     €r+   rF   z@LLMonitorCallbackHandler.on_chat_model_start.<locals>.<dictcomp>o  r»   r-   r   r¼   r½   r¾   z6[LLMonitor] An error occurred in on_chat_model_start: )rŒ   rr   rt   rX   r~   rÀ   r…   r™   r:   r‰   r¤   r›   Úerror)r*   rª   r‚   r¬   r¨   r©   ro   r­   r#   r$   ry   r¿   rR   rÃ   rº   s                 @r+   Úon_chat_model_startz,LLMonitorCallbackHandler.on_chat_model_startO  sÉ  ø€ ð Ô" eÐ+Ð+ØˆFð)	WÝ" 8Ñ,Ô,ˆGÝ(¨Ñ2Ô2ˆJà—Z’ZÐ 3°RÑ8Ô8ˆFØ�MŠMØ—’˜x¨Ñ,Ô,ñô ð ð
 —
’
˜7Ñ#Ô#ð *Ø—:’:˜lÑ+Ô+ð*à—:’:˜jÑ)Ô)ð ð ð "˜K¨6¯:ª:°gÑ+>Ô+>Ð>Ð>Ø!�ðð ð ð å.ðñ ô ˆEõ ' x°¤{Ñ3Ô3ˆEà×ÒØØØÝ˜6‘{”{Ø4AÐK�c -Ñ0Ô0Ð0ÀtØØØØØ!Ø%Ø”}ð ñ ô ð ð ð øõ ð 	Wð 	Wð 	WÝ�LŠLÐUÐRSÐUÐUÑVÔVÐVÐVÐVÐVÐVÐVÐVøøøøð	Wøøøs   ŽD#D3 Ä3
E%Ä=E Å E%)r¨   Úresponsec                óö  — | j         du rd S 	 |j        pi                      di ¦  «        }d„ |j        d         D ¦   «         }t	          |¦  «        dk    r|d         }|                      ddt          |¦  «        |rt          |¦  «        nd ||                     d¦  «        |                     d	¦  «        d
œ| j        ¬¦  «         d S # t          $ r(}t           
                    d|› �¦  «         Y d }~d S d }~ww xY w)NFÚtoken_usagec                 ód   — g | ]-}t          |d ¦  «        rt          |j        ¦  «        n|j        ‘Œ.S )ru   )rJ   r�   ru   r_   )rC   Ú
generations     r+   rI   z7LLMonitorCallbackHandler.on_llm_end.<locals>.<listcomp>–  sO   € ð "ð "ð "ð õ ˜: yÑ1Ô1ð%Õ! *Ô"4Ñ5Ô5Ð5à”_ð"ð "ð "r-   r   rQ   r¼   ÚendÚprompt_tokensÚcompletion_tokens)ÚpromptÚ
completion)r¬   r¨   r`   rË   r�   z-[LLMonitor] An error occurred in on_llm_end: )rŒ   Ú
llm_outputrX   ÚgenerationsrV   r™   r:   r‰   r¤   r›   rÇ   )r*   rÉ   r¬   r¨   r­   rË   Úparsed_outputrÃ   s           r+   Ú
on_llm_endz#LLMonitorCallbackHandler.on_llm_endˆ  sQ  € ð Ô" eÐ+Ð+ØˆFð	NØ#Ô.Ð4°"×9Ò9¸-ÈÑLÔLˆKð"ð "ð #+Ô"6°qÔ"9ð	"ñ "ô "ˆMõ �=Ñ!Ô! QÒ&Ð&Ø -¨aÔ 0�à×ÒØØÝ˜6‘{”{Ø4AÐK�c -Ñ0Ô0Ð0ÀtØ$à)Ÿošo¨oÑ>Ô>Ø"-§/¢/Ð2EÑ"FÔ"Fðð ð ”}ð ñ ô ð ð ð øõ ð 	Nð 	Nð 	NÝ�LŠLÐLÈÐLÐLÑMÔMÐMÐMÐMÐMÐMÐMÐMøøøøð	Nøøøs   �B7C Ã
C8ÃC3Ã3C8Ú	input_strc                ót  — | j         du rd S 	 t          |¦  «        }t          |¦  «        }	|                     d¦  «        }
|                      dd|t          |¦  «        |rt          |¦  «        nd |
||||	| j        ¬¦  «         d S # t          $ r(}t           	                    d|› �¦  «         Y d }~d S d }~ww xY w)NFry   Útoolr½   ©	r#   r¬   r¨   ry   rR   r©   ro   r$   r�   z0[LLMonitor] An error occurred in on_tool_start: )
rŒ   rr   rt   rX   r™   r:   r‰   r¤   r›   rÇ   )r*   rª   r×   r¬   r¨   r©   ro   r­   r#   r$   ry   rÃ   s               r+   Úon_tool_startz&LLMonitorCallbackHandler.on_tool_start°  sü   € ð Ô" eÐ+Ð+ØˆFð	QÝ" 8Ñ,Ô,ˆGÝ(¨Ñ2Ô2ˆJØ—>’> &Ñ)Ô)ˆDà×ÒØØØÝ˜6‘{”{Ø4AÐK�c -Ñ0Ô0Ð0ÀtØØØØ!Ø%Ø”}ð ñ ô ð ð ð øõ ð 	Qð 	Qð 	QÝ�LŠLÐOÈAÐOÐOÑPÔPÐPÐPÐPÐPÐPÐPÐPøøøøð	Qøøøs   �A6B Â
B7ÂB2Â2B7)r¨   r©   r`   c                ó"  — t          |¦  «        }| j        du rd S 	 |                      ddt          |¦  «        |rt          |¦  «        nd || j        ¬¦  «         d S # t          $ r(}t
                               d|› �¦  «         Y d }~d S d }~ww xY w)NFrÙ   rÎ   ©r¬   r¨   r`   r�   z.[LLMonitor] An error occurred in on_tool_end: )r:   rŒ   r™   r‰   r¤   r›   rÇ   )r*   r`   r¬   r¨   r©   r­   rÃ   s          r+   Úon_tool_endz$LLMonitorCallbackHandler.on_tool_endÒ  sÍ   € õ �V‘”ˆØÔ" eÐ+Ð+ØˆFð
	OØ×ÒØØÝ˜6‘{”{Ø4AÐK�c -Ñ0Ô0Ð0ÀtØØ”}ð ñ ô ð ð ð øõ ð 	Oð 	Oð 	OÝ�LŠLÐMÈ!ÐMÐMÑNÔNÐNÐNÐNÐNÐNÐNÐNøøøøð	Oøøøs   œ>A Á
BÁ&B	Â	BrS   c                ó8  — | j         du rd S 	 |                     dg d¢¦  «        d         }d}	|pi }|                     d¦  «        }
|
€|                     d¦  «        }
|dk    s|d	k    rd
}	|
�d
}	|
}|�d}	t          |¦  «        }t          |¦  «        }t	          |¦  «        }|                      |	d|t          |¦  «        |rt          |¦  «        nd |||||| j        ¬¦  «         d S # t          $ r(}t           
                    d|› �¦  «         Y d }~d S 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Œ   rX   rr   rt   rW   r™   r:   r‰   r¤   r›   rÇ   )r*   rª   rS   r¬   r¨   r©   ro   r­   ry   r}   rä   r#   r$   rR   rÃ   s                  r+   Úon_chain_startz'LLMonitorCallbackHandler.on_chain_startê  sƒ  € ð Ô" eÐ+Ð+ØˆFð#	RØ—>’> $Ð(@Ð(@Ð(@ÑAÔAÀ!ÔDˆDØˆDØ�~ 2ˆHà Ÿš \Ñ2Ô2ˆIØÐ Ø$ŸLšL¨Ñ5Ô5�	à�Ò&Ð&¨$Ð2BÒ*BÐ*BØ�ØÐ$Ø�Ø �ØÐ(Ø�å" 8Ñ,Ô,ˆGÝ(¨Ñ2Ô2ˆJÝ  Ñ(Ô(ˆEà×ÒØØØÝ˜6‘{”{Ø4AÐK�c -Ñ0Ô0Ð0ÀtØØØØ!Ø%Ø”}ð ñ ô ð ð ð øõ ð 	Rð 	Rð 	RÝ�LŠLÐPÈQÐPÐPÑQÔQÐQÐQÐQÐQÐQÐQÐQøøøøð	Røøøs   �CC' Ã'
DÃ1DÄDÚoutputsc                ó"  — | j         du rd S 	 t          |¦  «        }|                      ddt          |¦  «        |rt          |¦  «        nd || j        ¬¦  «         d S # t
          $ r(}t                               d|› �¦  «         Y d }~d S d }~ww xY w)NFrâ   rÎ   rÝ   z/[LLMonitor] An error occurred in on_chain_end: )rŒ   ri   r™   r:   r‰   r¤   r›   rÇ   )r*   ré   r¬   r¨   r­   r`   rÃ   s          r+   Úon_chain_endz%LLMonitorCallbackHandler.on_chain_end  sÏ   € ð Ô" eÐ+Ð+ØˆFð	PÝ" 7Ñ+Ô+ˆFà×ÒØØÝ˜6‘{”{Ø4AÐK�c -Ñ0Ô0Ð0ÀtØØ”}ð ñ ô ð ð ð øõ ð 	Pð 	Pð 	PÝ�LŠLÐNÈ1ÐNÐNÑOÔOÐOÐOÐOÐOÐOÐOÐOøøøøð	Pøøøs   �AA Á
BÁ&B	Â	BÚactionc          	      ó<  — | j         du rd S 	 |j        }t          |j        ¦  «        }|                      ddt          |¦  «        |rt          |¦  «        nd ||| j        ¬¦  «         d S # t          $ r(}t           	                    d|› �¦  «         Y d }~d S d }~ww xY w)NFrÙ   r½   )r¬   r¨   ry   rR   r�   z2[LLMonitor] An error occurred in on_agent_action: )
rŒ   rÙ   rW   Ú
tool_inputr™   r:   r‰   r¤   r›   rÇ   )r*   rì   r¬   r¨   r­   ry   rR   rÃ   s           r+   Úon_agent_actionz(LLMonitorCallbackHandler.on_agent_action4  sÜ   € ð Ô" eÐ+Ð+ØˆFð	SØ”;ˆDÝ  Ô!2Ñ3Ô3ˆEà×ÒØØÝ˜6‘{”{Ø4AÐK�c -Ñ0Ô0Ð0ÀtØØØ”}ð ñ ô ð ð ð øõ ð 	Sð 	Sð 	SÝ�LŠLÐQÈaÐQÐQÑRÔRÐRÐRÐRÐRÐRÐRÐRøøøøð	Søøøs   �AA) Á)
BÁ3BÂBÚfinishc                ó,  — | j         du rd S 	 t          |j        ¦  «        }|                      ddt	          |¦  «        |rt	          |¦  «        nd || j        ¬¦  «         d S # t          $ r(}t                               d|› �¦  «         Y d }~d S d }~ww xY w)NFrç   rÎ   rÝ   z2[LLMonitor] An error occurred in on_agent_finish: )	rŒ   ri   Úreturn_valuesr™   r:   r‰   r¤   r›   rÇ   )r*   rð   r¬   r¨   r­   r`   rÃ   s          r+   Úon_agent_finishz(LLMonitorCallbackHandler.on_agent_finishN  sÒ   € ð Ô" eÐ+Ð+ØˆFð	SÝ" 6Ô#7Ñ8Ô8ˆFà×ÒØØÝ˜6‘{”{Ø4AÐK�c -Ñ0Ô0Ð0ÀtØØ”}ð ñ ô ð ð ð øõ ð 	Sð 	Sð 	SÝ�LŠLÐQÈaÐQÐQÑRÔRÐRÐRÐRÐRÐRÐRÐRøøøøð	Søøøs   �AA! Á!
BÁ+BÂBrÇ   c          	      óF  — | j         du rd S 	 |                      ddt          |¦  «        |rt          |¦  «        nd t          |¦  «        t          j        ¦   «         dœ| j        ¬¦  «         d S # t          $ r(}t                               d|› �¦  «         Y d }~d S d }~ww xY w)NFrâ   rÇ   ©ru   Ú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Ð+Ð+ØˆFð
	RØ×ÒØØÝ˜6‘{”{Ø4AÐK�c -Ñ0Ô0Ð0ÀtÝ"% e¡*¤*µyÔ7KÑ7MÔ7MÐNÐNØ”}ð ñ ô ð ð ð øõ ð 	Rð 	Rð 	RÝ�LŠLÐPÈQÐPÐPÑQÔQÐQÐQÐQÐQÐQÐQÐQøøøøð	Røøøó   �AA. Á.
B Á8BÂB c          	      óF  — | j         du rd S 	 |                      ddt          |¦  «        |rt          |¦  «        nd t          |¦  «        t          j        ¦   «         dœ| j        ¬¦  «         d S # t          $ r(}t                               d|› �¦  «         Y d }~d S 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Ð+Ð+ØˆFð
	QØ×ÒØØÝ˜6‘{”{Ø4AÐK�c -Ñ0Ô0Ð0ÀtÝ"% e¡*¤*µyÔ7KÑ7MÔ7MÐNÐNØ”}ð ñ ô ð ð ð øõ ð 	Qð 	Qð 	QÝ�LŠLÐOÈAÐOÐOÑPÔPÐPÐPÐPÐPÐPÐPÐPøøøøð	Qøøørý   c          	      óF  — | j         du rd S 	 |                      ddt          |¦  «        |rt          |¦  «        nd t          |¦  «        t          j        ¦   «         dœ| j        ¬¦  «         d S # t          $ r(}t                               d|› �¦  «         Y d }~d S 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Ð+Ð+ØˆFð
	PØ×ÒØØÝ˜6‘{”{Ø4AÐK�c -Ñ0Ô0Ð0ÀtÝ"% e¡*¤*µyÔ7KÑ7MÔ7MÐNÐNØ”}ð ñ ô ð ð ð øõ ð 	Pð 	Pð 	PÝ�LŠLÐNÈ1ÐNÐNÑOÔOÐOÐOÐOÐOÐOÐ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‡   ·   s  ø€ € € € € € ðð ð6 €N€N�NØ€M€M�MØ€O€O�OØÐÐÑØÐÐÑð $(Ø$(Øð	<ð <à�c˜4�iÔ ð<ð �s˜D�yÔ!ð<ð ð	<ð
 
ð<ð <ð <ð <ð <ð <ðH ,0Ø'+Ø04ð6Qð 6Qð 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ð 6Qð 6Qð 6Qð| ,0Ø'+Ø04ð7Wð 7Wð 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ð 7Wð 7Wð 7Wð| ,0ð&Nð &Nð &Nàð&Nð ð	&Nð
 ˜T 4˜ZÔ(ð&Nð ð&Nð 
ð&Nð &Nð &Nð &Nð\ ,0Ø'+Ø04ð Qð  Qð  Qà˜˜c˜”Nð Qð ð Qð
 ð Qð ˜T 4˜ZÔ(ð Qð �D˜”I˜t�OÔ$ð Qð ˜˜S #˜Xœ¨Ð,Ô-ð Qð ð Qð 
ð Qð  Qð  Qð  QðN ,0Ø'+ðOð Oð OàðOð ð	Oð
 ˜T 4˜ZÔ(ðOð �D˜”I˜t�OÔ$ðOð ðOð 
ðOð Oð Oð Oð< ,0Ø'+Ø04ð0Rð 0Rð 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ð 0Rð 0Rð 0Rðn ,0ðPð Pð Pà�c˜3�h”ðPð ð	Pð
 ˜T 4˜ZÔ(ðPð ðPð 
ðPð Pð Pð Pð: ,0ðSð Sð SàðSð ð	Sð
 ˜T 4˜ZÔ(ðSð ðSð 
ðSð Sð Sð Sð> ,0ðSð Sð SàðSð ð	Sð
 ˜T 4˜ZÔ(ðSð ðSð 
ðSð Sð Sð Sð: ,0ðRð Rð RàðRð ð	Rð
 ˜T 4˜ZÔ(ðRð ðRð 
ðRð Rð Rð Rð6 ,0ðQð Qð QàðQð ð	Qð
 ˜T 4˜ZÔ(ðQð ðQð 
ðQð Qð Qð Qð6 ,0ðPð Pð PàðPð ð	Pð
 ˜T 4˜ZÔ(ðPð ðPð 
ðPð Pð Pð Pð Pð 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<   rB   rW   rL   ri   rn   rr   rt   r�   r…   r‡   Ú__all__r/   r-   r+   ú<module>r     sU  ðØ Ð Ð Ð Ø €€€Ø 	€	€	€	Ø Ð Ð Ð Ø €€€Ø "Ð "Ð "Ð "Ð "Ð "Ø /Ð /Ð /Ð /Ð /Ð /Ð /Ð /Ð /Ð /Ð /Ð /Ð /Ð /Ø Ð Ð Ð Ð Ð à €€€Ø :Ð :Ð :Ð :Ð :Ð :Ð :Ð :Ø 8Ð 8Ð 8Ð 8Ð 8Ð 8Ø /Ð /Ð /Ð /Ð /Ð /Ø ,Ð ,Ð ,Ð ,Ð ,Ð ,Ø #Ð #Ð #Ð #Ð #Ð #à	ˆÔ	˜8Ñ	$Ô	$€à-€à'ˆ:�e˜C ˜IÔ&Ô'¨
¸DÐAÑAÔA€Ø-�˜E # t )Ô,Ô-Ð.>ÈÐMÑMÔM€ðð ð Ð ð$!ð !ð !ð !ð !ñ !ô !ð !ð
3ð 
3�cð 
3 sð 
3Ð6Hð 
3ð 
3ð 
3ð 
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ð oPð oPð oPð oPÐ2ñ oPô oPð oPðd & zÐ
2€€€r-   