§
    é˜ºhj  ã                  óØ   — d Z ddlm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
 ddlmZ dd	lmZ dd
lmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ  G d„ d¦  «        Zdd„ZdS )zMagicsEngine class.é    )Úannotations)ÚAbstractSetÚSequence)Úargument_parser)Úcmd_line_parser)Úcommand)Úcompare_cmd)Úcompile_cmd)Úeval_cmd)Úipython_env)Úmodel_registry)Úparsed_args_lib)Úpost_process_utils)Úrun_cmd)Úprompt_utilsc                  ó8   — e Zd ZdZ	 	 ddd„Zdd„Zdd„Zdd„ZdS )ÚMagicsEnginezÂImplementation of functionality used by Magics.

    This class provides the implementation for Magics, decoupled from the
    details of integrating with Colab Magics such as registration.
    NÚregistryú#model_registry.ModelRegistry | NoneÚenvúipython_env.IPythonEnv | Nonec                ór  — || _         |pt          j        ¦   «         }t          j        j        t          j        ||¬¦  «        t          j        j        t          j
        ||¬¦  «        t          j        j        t          j        |¬¦  «        t          j        j        t          j        ||¬¦  «        i| _        d S )N)Úmodelsr   )r   )Ú_ipython_envr   ÚModelRegistryr   ÚCommandNameÚRUN_CMDr   Ú
RunCommandÚCOMPILE_CMDr
   ÚCompileCommandÚCOMPARE_CMDr	   ÚCompareCommandÚEVAL_CMDr   ÚEvalCommandÚ_cmd_handlers)Úselfr   r   r   s       úr/var/www/html/services/rag-service/venv/lib/python3.11/site-packages/google/generativeai/notebook/magics_engine.pyÚ__init__zMagicsEngine.__init__)   s¦   € ð
  ˆÔØÐ;�^Ô9Ñ;Ô;ˆåÔ'Ô/µÔ1CÈ6ÐWZÐ1[Ñ1[Ô1[ÝÔ'Ô3µ[Ô5OØ 3ð6ñ 6ô 6õ Ô'Ô3µ[Ô5OÐTWÐ5XÑ5XÔ5XÝÔ'Ô0µ(Ô2FÈfÐZ]Ð2^Ñ2^Ô2^ðR
ˆÔÐÐó    ÚlineÚstrÚplaceholdersúAbstractSet[str]ÚreturnúGtuple[parsed_args_lib.ParsedArgs, parsed_args_lib.PostProcessingTokens]c                óP   — t          j        ¦   «                              ||¦  «        S )N)r   ÚCmdLineParserÚ
parse_line)r&   r*   r,   s      r'   r2   zMagicsEngine.parse_line9   s#   € õ
 Ô,Ñ.Ô.×9Ò9¸$ÀÑMÔMÐMr)   úftuple[command.Command, parsed_args_lib.ParsedArgs, Sequence[post_process_utils.ParsedPostProcessExpr]]c                ó�   — |                       ||¦  «        \  }}|j        }| j        |         }|                     |¦  «        }|||fS )a}  Given the command line, parse and return all components.

        Args:
          line: The LLM Magics command line.
          placeholders: Placeholders from prompts in the cell contents.

        Returns:
          A three-tuple containing:
          - The command (e.g. "run")
          - Parsed arguments for the command,
          - Parsed post-processing expressions
        )r2   Úcmdr%   Úparse_post_processing_tokens)r&   r*   r,   Úparsed_argsÚpost_processing_tokensÚcmd_nameÚhandlerÚpost_processing_fnss           r'   Ú_get_handlerzMagicsEngine._get_handler@   sT   € ð& /3¯oªo¸dÀLÑ.QÔ.QÑ+ˆÐ+Ø”?ˆØÔ$ XÔ.ˆØ%×BÒBÐCYÑZÔZÐØ˜Ð%8Ð8Ð8r)   Úcell_contentc                ó(  — t          |¦  «        }t          j        |¦  «        }	 |                      ||¦  «        \  }}}|                     |||¦  «        S # t
          j        $ r-}| j        �|                     | j        ¦  «         |cY d}~S d}~wt
          j	        $ rr}| 
                    | j        ¦  «         |                     ¦   «         r-d                     |                     ¦   «         d         ¦  «        nd}	t          |	¦  «        |‚d}~ww xY w)z2Executes the supplied magic line and cell payload.NzGot parser error: {}éÿÿÿÿÚ )Ú_clean_cellr   Úget_placeholdersr<   Úexecuter   ÚParserNormalExitr   Úset_ipython_envÚParserErrorÚdisplayÚmsgsÚformatÚ
SystemExit)
r&   r*   r=   Úcellr,   r:   r7   r;   ÚeÚ	error_msgs
             r'   Úexecute_cellzMagicsEngine.execute_cellY   s!  € å˜<Ñ(Ô(ˆÝ#Ô4°TÑ:Ô:ˆð	/Ø8<×8IÒ8IÈ$ÐP\Ñ8]Ô8]Ñ5ˆG�[Ð"5Ø—?’? ;°Ð6IÑJÔJÐJøÝÔ/ð 	ð 	ð 	ØÔ Ð,Ø×!Ò! $Ô"3Ñ4Ô4Ð4ð ˆHˆHˆHˆHˆHˆHøøøøÝÔ*ð 	/ð 	/ð 	/Ø�IŠI�dÔ'Ñ(Ô(Ð(ð HIÇvÂvÁxÄxÐWÐ.×5Ò5°a·f²f±h´h¸r´lÑCÔCÐCÐUWˆIÝ˜YÑ'Ô'¨QÐ.øøøøð	/øøøs*   ¥0A ÁDÁ%"BÂDÂDÂA-DÄD)NN)r   r   r   r   )r*   r+   r,   r-   r.   r/   )r*   r+   r,   r-   r.   r3   )r*   r+   r=   r+   )Ú__name__Ú
__module__Ú__qualname__Ú__doc__r(   r2   r<   rN   © r)   r'   r   r   "   s   € € € € € ðð ð 9=Ø-1ð
ð 
ð 
ð 
ð 
ð Nð Nð Nð Nð9ð 9ð 9ð 9ð2/ð /ð /ð /ð /ð /r)   r   r=   r+   r.   c                óH   — | }|                      d¦  «        r
|d d…         }|S )Nú
r?   )Úendswith)r=   rK   s     r'   rA   rA   v   s/   € ð
 €DØ‡}‚}�TÑÔð Ø�C�R�CŒyˆØ€Kr)   N)r=   r+   r.   r+   )rR   Ú
__future__r   Útypingr   r   Úgoogle.generativeai.notebookr   r   r   r	   r
   r   r   r   r   r   r   Ú google.generativeai.notebook.libr   r   rA   rS   r)   r'   ú<module>r[      s^  ðð Ð Ø "Ð "Ð "Ð "Ð "Ð "à (Ð (Ð (Ð (Ð (Ð (Ð (Ð (à 8Ð 8Ð 8Ð 8Ð 8Ð 8Ø 8Ð 8Ð 8Ð 8Ð 8Ð 8Ø 0Ð 0Ð 0Ð 0Ð 0Ð 0Ø 4Ð 4Ð 4Ð 4Ð 4Ð 4Ø 4Ð 4Ð 4Ð 4Ð 4Ð 4Ø 1Ð 1Ð 1Ð 1Ð 1Ð 1Ø 4Ð 4Ð 4Ð 4Ð 4Ð 4Ø 7Ð 7Ð 7Ð 7Ð 7Ð 7Ø 8Ð 8Ð 8Ð 8Ð 8Ð 8Ø ;Ð ;Ð ;Ð ;Ð ;Ð ;Ø 0Ð 0Ð 0Ð 0Ð 0Ð 0Ø 9Ð 9Ð 9Ð 9Ð 9Ð 9ðQ/ð Q/ð Q/ð Q/ð Q/ñ Q/ô Q/ð Q/ðhð ð ð ð ð r)   