Ë
    µŒjŽ  ã                   ó    — d Z ddlmZmZmZ ddlmZ ddlmZm	Z	 ddl
mZmZ  G d„ de«      Z G d„ d	e«      Z G d
„ de«      Z G d„ de«      Zy)z™
Tool implementations for the Riza (https://riza.io) code interpreter API.

Documentation: https://docs.riza.io
API keys:      https://dashboard.riza.io
é    )ÚAnyÚOptionalÚType)ÚCallbackManagerForToolRun)ÚBaseToolÚToolException)Ú	BaseModelÚFieldc                   ó*   — e Zd ZU  ed¬«      Zeed<   y)ÚExecPythonInputzthe Python code to execute©ÚdescriptionÚcodeN©Ú__name__Ú
__module__Ú__qualname__r
   r   ÚstrÚ__annotations__© ó    úp/var/www/html/Fitness-lenito-AI-main/venv/lib/python3.12/site-packages/langchain_community/tools/riza/command.pyr   r      s   … ÙÐ">Ô?€Dˆ#Ô?r   r   c                   óº   ‡ — e Zd ZU dZdZeed<   dZeed<   eZ	e
e   ed<   dZeed<   d	Zeed
<   d	Zee   ed<   	 ddee   dedd	fˆ fd„Z	 ddedee   defd„Zˆ xZS )Ú
ExecPythona†  Riza Code tool.

    Setup:
        Install ``langchain-community`` and ``rizaio`` and set environment variable ``RIZA_API_KEY``.

        .. code-block:: bash

            pip install -U langchain-community rizaio
            export RIZA_API_KEY="your-api-key"

    Instantiation:
        .. code-block:: python

            from langchain_community.tools.riza.command import ExecPython

            tool = ExecPython()

    Invocation with args:
        .. code-block:: python

            tool.invoke("x = 5; print(x)")

        .. code-block:: python

            '5\n'

    Invocation with ToolCall:

        .. code-block:: python

            tool.invoke({"args": {"code":"x = 5; print(x)"}, "id": "1", "name": tool.name, "type": "tool_call"})

        .. code-block:: python

            tool.invoke({"args": {"code":"x = 5; print(x)"}, "id": "1", "name": tool.name, "type": "tool_call"})

    Úriza_exec_pythonÚnamezÃExecute Python code to solve problems.

    The Python runtime does not have filesystem access. You can use the httpx
    or requests library to make HTTP requests. Always print output to stdout.r   Úargs_schemaTÚhandle_tool_errorNÚclientÚruntime_revision_idÚkwargsÚreturnc                 ó’   •— 	 ddl m} t        ‰| �  di |¤Ž  |«       | _        || _        y # t        $ r}t        d«      |‚d }~ww xY w©Nr   )ÚRizazGCouldn't import the `rizaio` package. Try running `pip install rizaio`.r   ©Úrizaior%   ÚImportErrorÚsuperÚ__init__r   r    ©Úselfr    r!   r%   ÚeÚ	__class__s        €r   r*   zExecPython.__init__G   óW   ø€ ð	Ý#ô 	‰ÑÑ"˜6Ò"Ù“fˆŒØ#6ˆÕ øô ò 	Üð4óð ðûð	úó   ƒ, ¬	AµAÁAr   Úrun_managerc                 óÌ   — | j                   j                  j                  | j                  d|¬«      }|j                  dkD  rt        d|j                  › �«      ‚|j                  S )NÚpython©r    Úlanguager   r   úXRiza code execution returned a non-zero exit code. The output captured from stderr was:
©r   ÚcommandÚexecr    Ú	exit_coder   ÚstderrÚstdout©r,   r   r1   Úoutputs       r   Ú_runzExecPython._runU   sn   € ð —‘×$Ñ$×)Ñ)Ø $× 8Ñ 8À8ÐRVð *ó 
ˆð ×Ñ˜aÒÜð9Ø9?¿¹¸ðIóð ð �}‰}Ðr   ©N)r   r   r   Ú__doc__r   r   r   r   r   r   r   r	   r   Úboolr   r   r    r   r*   r   r?   Ú__classcell__©r.   s   @r   r   r      s©   ø… ñ$ðL #€Dˆ#Ó"ðQ€K�ó Qð $3€K��i‘Ó2Ø"Ð�tÓ"à€FˆCÓØ)-Ð˜ #™Ó-ð 48ñ7Ø#+¨C¡=ð7ØCFð7à	õ7ð MQñØðØ&.Ð/HÑ&Iðà	÷r   r   c                   ó*   — e Zd ZU  ed¬«      Zeed<   y)ÚExecJavaScriptInputzthe JavaScript code to executer   r   Nr   r   r   r   rF   rF   c   s   … ÙÐ"BÔC€Dˆ#ÔCr   rF   c                   óº   ‡ — e Zd ZU dZdZeed<   dZeed<   eZ	e
e   ed<   dZeed<   d	Zeed
<   d	Zee   ed<   	 ddee   dedd	fˆ fd„Z	 ddedee   defd„Zˆ xZS )ÚExecJavaScriptzLA tool implementation to execute JavaScript via Riza's Code Interpreter API.Úriza_exec_javascriptr   zßExecute JavaScript code to solve problems.

    The JavaScript runtime does not have filesystem access, but can use fetch
    to make HTTP requests and does include the global JSON object. Always print
    output to stdout.r   r   Tr   Nr   r    r!   r"   c                 ó’   •— 	 ddl m} t        ‰| �  di |¤Ž  |«       | _        || _        y # t        $ r}t        d«      |‚d }~ww xY wr$   r&   r+   s        €r   r*   zExecJavaScript.__init__v   r/   r0   r   r1   c                 óÌ   — | j                   j                  j                  | j                  d|¬«      }|j                  dkD  rt        d|j                  › �«      ‚|j                  S )NÚ
javascriptr4   r   r6   r7   r=   s       r   r?   zExecJavaScript._run„   so   € ð —‘×$Ñ$×)Ñ)Ø $× 8Ñ 8Ø!Øð *ó 
ˆð
 ×Ñ˜aÒÜð9Ø9?¿¹¸ðIóð ð �}‰}Ðr   r@   )r   r   r   rA   r   r   r   r   rF   r   r   r	   r   rB   r   r   r    r   r*   r   r?   rC   rD   s   @r   rH   rH   g   s¢   ø… ÙVà&€Dˆ#Ó&ð€K�ó ð
 $7€K��i‘Ó6Ø"Ð�tÓ"à€FˆCÓØ)-Ð˜ #™Ó-ð 48ñ7Ø#+¨C¡=ð7ØCFð7à	õ7ð MQñØðØ&.Ð/HÑ&Iðà	÷r   rH   N)rA   Útypingr   r   r   Úlangchain_core.callbacksr   Úlangchain_core.toolsr   r   Úpydanticr	   r
   r   r   rF   rH   r   r   r   Ú<module>rQ      sV   ðñ÷ 'Ñ &õ÷ 9ß %ô@�iô @ôK�ô Kô\D˜)ô Dô*�Xõ *r   