§
    ; i  ã                  ó¾  — U d Z ddlmZ ddl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ZddlmZ de_        ej        Zej        Zej        Zej        Zdaded<   dd„Zdd„Z G d„ dej        ¦  «        Z G d„ de¦  «        Zej         G d„ dej         ¦  «        ¦   «         Z  ej!        ¦   «          "                    e ¦  «         dS )z,Colab Magics class.

Installs %%llm magics.
é    )ÚannotationsN)Úcredentials)Úclient)Úgspread_client)Úipython_env)Úipython_env_impl)Úmagics_engine)Úpost_process_utils)Úsheets_utils)Úmagiczgenai-py-magiczipython_env.IPythonEnv | NoneÚ_ipython_envÚreturnúipython_env.IPythonEnvc                 óD   — t           €t          j        ¦   «         a t           S )z;Lazily constructs and returns a global IPythonEnv instance.)r   r   ÚIPythonEnvImpl© ó    ú{/var/www/development/aibuddy-work/election-extract/venv/lib/python3.11/site-packages/google/generativeai/notebook/magics.pyÚ_get_ipython_envr   4   s   € õ ÐÝ'Ô6Ñ8Ô8ˆÝÐr   Úcredsúcredentials.CredentialsÚNonec                óJ   — t          j        | t          ¦   «         ¬¦  «         dS )z¼Sets up credentials.

    This is used for interacting Google APIs, such as Google Sheets.

    Args:
      creds: The credentials that will be used (e.g. to read from Google Sheets.)
    )r   ÚenvN)r   Ú	authorizer   )r   s    r   r   r   <   s'   € õ Ô 5Õ.>Ñ.@Ô.@ÐAÑAÔAÐAÐAÐAr   c                  ó4   — e Zd ZdZej        dd„¦   «         ZdS )ÚAbstractMagicsz"Defines interface to Magics class.Ú	cell_lineú
str | NoneÚ	cell_bodyc                ó   — t          ¦   «         ‚)z¨Perform various LLM-related operations.

        Args:
          cell_line: String to pass to the MagicsEngine.
          cell_body: Contents of the cell body.
        )ÚNotImplementedError©Úselfr   r    s      r   ÚllmzAbstractMagics.llmJ   s   € õ "Ñ#Ô#Ð#r   N©r   r   r    r   )Ú__name__Ú
__module__Ú__qualname__Ú__doc__ÚabcÚabstractmethodr%   r   r   r   r   r   G   s<   € € € € € Ø,Ð,àÔð$ð $ð $ñ Ôð$ð $ð $r   r   c                  ó    — e Zd ZdZd„ Zdd„ZdS )	Ú
MagicsImplz’Actual class implementing the magics functionality.

    We use a separate class to ensure a single, global instance
    of the magics class.
    c                óR   — t          j        t          ¦   «         ¬¦  «        | _        d S )N)r   )r	   ÚMagicsEnginer   Ú_engine)r$   s    r   Ú__init__zMagicsImpl.__init__\   s"   € Ý$Ô1Õ6FÑ6HÔ6HÐIÑIÔIˆŒˆˆr   r   r   r    c                óH   — |pd}|pd}| j                              ||¦  «        S )úçPerform various LLM-related operations.

        Args:
          cell_line: String to pass to the MagicsEngine.
          cell_body: Contents of the cell body.

        Returns:
          Results from running MagicsEngine.
        Ú )r1   Úexecute_cellr#   s      r   r%   zMagicsImpl.llm_   s.   € ð O ˆ	ØO ˆ	ØŒ|×(Ò(¨°IÑ>Ô>Ð>r   Nr&   )r'   r(   r)   r*   r2   r%   r   r   r   r.   r.   U   sD   € € € € € ðð ðJð Jð Jð?ð ?ð ?ð ?ð ?ð ?r   r.   c                  ó”   — e Zd ZdZdZedd„¦   «         Zej        dd	„¦   «         Z	ej        dd
„¦   «         Z
ej        dd„¦   «         ZdS )ÚMagicsz|Class to register the magic with Colab.

    Objects of this class delegate all calls to a single,
    global instance.
    Nr   r   c                óD   — | j         €t          ¦   «         | _         | j         S )z.Retrieve global instance of the Magics object.)Ú	_instancer.   )Úclss    r   Úget_instancezMagics.get_instancey   s   € ð Œ=Ð Ý&™LœLˆCŒMØŒ}Ðr   r   r   r    c                ó^   — t                                ¦   «                              ||¬¦  «        S )r4   )r   r    )r8   r<   r%   r#   s      r   r%   z
Magics.llm€   s)   € õ ×"Ò"Ñ$Ô$×(Ò(°9È	Ð(ÑRÔRÐRr   c                ó.   — |                       ||¦  «        S ©N©r%   r#   s      r   ÚpalmzMagics.palm   ó   € àxŠx˜	 9Ñ-Ô-Ð-r   c                ó.   — |                       ||¦  «        S r?   r@   r#   s      r   ÚgeminizMagics.gemini‘   rB   r   )r   r   r&   )r'   r(   r)   r*   r:   Úclassmethodr<   r   Úline_cell_magicr%   rA   rD   r   r   r   r8   r8   n   s³   € € € € € ðð ð €Iàðð ð ñ „[ðð Ôð
Sð 
Sð 
Sñ Ôð
Sð Ôð.ð .ð .ñ Ôð.ð Ôð.ð .ð .ñ Ôð.ð .ð .r   r8   )r   r   )r   r   r   r   )#r*   Ú
__future__r   r+   Úgoogle.authr   Úgoogle.generativeair   ÚgenaiÚgoogle.generativeai.notebookr   r   r   r	   r
   r   ÚIPythonÚIPython.corer   Ú
USER_AGENTÚSheetsInputsÚSheetsOutputsÚpost_process_add_fnÚpost_process_replace_fnr   Ú__annotations__r   r   ÚABCr   r.   Úmagics_classr8   Úget_ipythonÚregister_magicsr   r   r   ú<module>rX      s  ððð ð ð #Ð "Ð "Ð "Ð "Ð "à 
€
€
€
à #Ð #Ð #Ð #Ð #Ð #Ø /Ð /Ð /Ð /Ð /Ð /Ø 7Ð 7Ð 7Ð 7Ð 7Ð 7Ø 4Ð 4Ð 4Ð 4Ð 4Ð 4Ø 9Ð 9Ð 9Ð 9Ð 9Ð 9Ø 6Ð 6Ð 6Ð 6Ð 6Ð 6Ø ;Ð ;Ð ;Ð ;Ð ;Ð ;Ø 5Ð 5Ð 5Ð 5Ð 5Ð 5à €€€Ø Ð Ð Ð Ð Ð ð $€Ô àÔ(€ØÔ*€ð )Ô<Ð Ø,ÔDÐ ð /3€Ð 2Ð 2Ð 2Ñ 2ðð ð ð ðBð Bð Bð Bð$ð $ð $ð $ð $S”Wñ $ô $ð $ð?ð ?ð ?ð ?ð ?ñ ?ô ?ð ?ð2 Ôð$.ð $.ð $.ð $.ð $.ˆUŒ\ñ $.ô $.ñ Ôð$.ðN €Ô Ñ Ô × %Ò % fÑ -Ô -Ð -Ð -Ð -r   