Ë
    €×<i\  ã                  óÐ   — 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y)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                  óH   — e Zd ZdZ	 	 d	 	 	 dd„Z	 	 	 	 	 	 d	d„Zd
d„Zdd„Zy)Ú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.
    Nc                óÆ  — || _         |xs t        j                  «       }t        j                  j
                  t        j                  ||¬«      t        j                  j                  t        j                  ||¬«      t        j                  j                  t        j                  |¬«      t        j                  j                  t        j                   ||¬«      i| _        y )N)ÚmodelsÚenv)r   )Ú_ipython_envr   ÚModelRegistryr   ÚCommandNameÚRUN_CMDr   Ú
RunCommandÚCOMPILE_CMDr
   ÚCompileCommandÚCOMPARE_CMDr	   ÚCompareCommandÚEVAL_CMDr   ÚEvalCommandÚ_cmd_handlers)ÚselfÚregistryr   r   s       úo/home/www/utuvibe.miabetepe.com/venv/lib/python3.12/site-packages/google/generativeai/notebook/magics_engine.pyÚ__init__zMagicsEngine.__init__)   s¨   € ð
  ˆÔØÒ;œ^×9Ñ9Ó;ˆä×'Ñ'×/Ñ/´×1CÑ1CÈ6ÐWZÔ1[Ü×'Ñ'×3Ñ3´[×5OÑ5OØ 3ô6ô ×'Ñ'×3Ñ3´[×5OÑ5OÐTWÔ5XÜ×'Ñ'×0Ñ0´(×2FÑ2FÈfÐZ]Ô2^ðR
ˆÕó    c                óJ   — t        j                  «       j                  ||«      S )N)r   ÚCmdLineParserÚ
parse_line)r#   ÚlineÚplaceholderss      r%   r*   zMagicsEngine.parse_line9   s    € ô
 ×,Ñ,Ó.×9Ñ9¸$ÀÓMÐMr'   c                óŽ   — | j                  ||«      \  }}|j                  }| 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
        )r*   Ú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@   sS   € ð" /3¯o©o¸dÀLÓ.QÑ+ˆÐ+Ø—?‘?ˆØ×$Ñ$ XÑ.ˆØ%×BÑBÐCYÓZÐØ˜Ð%8Ð8Ð8r'   c                ó
  — t        |«      }t        j                  |«      }	 | j                  ||«      \  }}}|j	                  |||«      S # t
        j                  $ r3}| j                  |j                  | j                  «       |cY d}~S d}~wt
        j                  $ r`}|j                  | j                  «       |j                  «       r"dj                  |j                  «       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_placeholdersr5   Úexecuter   ÚParserNormalExitr   Úset_ipython_envÚParserErrorÚdisplayÚmsgsÚformatÚ
SystemExit)
r#   r+   Úcell_contentÚcellr,   r3   r0   r4   ÚeÚ	error_msgs
             r%   Úexecute_cellzMagicsEngine.execute_cellW   så   € ä˜<Ó(ˆÜ#×4Ñ4°TÓ:ˆð	/Ø8<×8IÑ8IÈ$ÐP\Ó8]Ñ5ˆG[Ð"5Ø—?‘? ;°Ð6IÓJÐJøÜ×/Ñ/ò 	Ø× Ñ Ð,Ø×!Ñ! $×"3Ñ"3Ô4ð HûÜ×*Ñ*ò 	/ØI‰Id×'Ñ'Ô(ð HIÇvÁvÄxÐ.×5Ñ5°a·f±f³h¸r±lÔCÐUWˆIÜ˜YÓ'¨QÐ.ûð	/ús*   ¢(A ÁDÁ(BÂDÂDÂ"AC=Ã=D)NN)r$   z#model_registry.ModelRegistry | Noner   zipython_env.IPythonEnv | None)r+   Ústrr,   úAbstractSet[str]ÚreturnzGtuple[parsed_args_lib.ParsedArgs, parsed_args_lib.PostProcessingTokens])r+   rH   r,   rI   rJ   zftuple[command.Command, parsed_args_lib.ParsedArgs, Sequence[post_process_utils.ParsedPostProcessExpr]])r+   rH   rC   rH   )Ú__name__Ú
__module__Ú__qualname__Ú__doc__r&   r*   r5   rG   © r'   r%   r   r   "   sV   „ ñð 9=Ø-1ð
à5ð
ð +ó
ð NàðNð 'ðNð 
Qó	Nó9ô./r'   r   c                ó6   — | }|j                  d«      r|d d }|S )Nú
r7   )Úendswith)rC   rD   s     r%   r9   r9   t   s%   € ð
 €DØ‡}}TÔØCRˆyˆØ€Kr'   N)rC   rH   rJ   rH   )rN   Ú
__future__r   Útypingr   r   Úgoogle.generativeai.notebookr   r   r   r	   r
   r   r   r   r   r   r   Ú google.generativeai.notebook.libr   r   r9   rO   r'   r%   ú<module>rW      sF   ðñ Ý "ç (å 8Ý 8Ý 0Ý 4Ý 4Ý 1Ý 4Ý 7Ý 8Ý ;Ý 0Ý 9÷O/ñ O/ôdr'   