§
    é˜ºhš  ã                  óÖ   — d Z ddlmZ ddlmZmZ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„Zdd„Zdd„Zdd„Z G d„ dej        ¦  «        Z G d„ dej        ¦  «        ZdS )zSheetsInputs.é    )Úannotations)ÚAnyÚCallableÚMappingÚSequence)Úparse)Úgspread_client)Ú	sheets_id)Úllmfn_inputs_source)Úllmfn_outputsÚvalueÚstrÚreturnú!sheets_id.SheetsIdentifier | Nonec                ó   — 	 t          j        | ¦  «        }n# t          $ r Y dS w xY w|j        rOt	          j        t	          j        | ¦  «        ¬¦  «        }t          j        ¦   «          	                    |¦  «         |S dS )z4Try to open a Sheets document with `value` as a URL.N)Úurl)
r   ÚurlparseÚ
ValueErrorÚschemer
   ÚSheetsIdentifierÚ	SheetsURLr	   Ú
get_clientÚvalidate)r   Úparse_resultÚsids      úq/var/www/html/services/rag-service/venv/lib/python3.11/site-packages/google/generativeai/notebook/sheets_utils.pyÚ_try_sheet_id_as_urlr      sŽ   € ðÝ”~ eÑ,Ô,ˆˆøÝð ð ð àˆtˆtðøøøð Ôð õ Ô(­YÔ-@ÀÑ-GÔ-GÐHÑHÔHˆÝÔ!Ñ#Ô#×,Ò,¨SÑ1Ô1Ð1Øˆ
àˆ4s   ‚ —
%¤%c                óö   — 	 t          j        t          j        | ¦  «        ¬¦  «        }n# t          $ r Y dS w xY w	 t	          j        ¦   «                              |¦  «         n# t          j        $ r Y dS w xY w|S )z4Try to open a Sheets document with `value` as a key.)ÚkeyN)r
   r   Ú	SheetsKeyr   r	   r   r   ÚSpreadsheetNotFoundError©r   r   s     r   Ú_try_sheet_id_as_keyr#   -   s˜   € ðÝÔ(­YÔ-@ÀÑ-GÔ-GÐHÑHÔHˆˆøÝð ð ð àˆtˆtðøøøðÝÔ!Ñ#Ô#×,Ò,¨SÑ1Ô1Ð1Ð1øÝÔ2ð ð ð Øˆtˆtðøøøà€Js   ‚'* ª
8·8¼&A# Á#A6Á5A6c                ó¬   — t          j        | ¬¦  «        }	 t          j        ¦   «                              |¦  «         n# t          j        $ r Y dS w xY w|S )z5Try to open a Sheets document with `value` as a name.)ÚnameN)r
   r   r	   r   r   r!   r"   s     r   Ú_try_sheet_id_as_namer&   <   sd   € å
Ô
$¨%Ð
0Ñ
0Ô
0€CðÝÔ!Ñ#Ô#×,Ò,¨SÑ1Ô1Ð1Ð1øÝÔ2ð ð ð Øˆtˆtðøøøà€Js   —&> ¾AÁAúsheets_id.SheetsIdentifierc                ó¸   — t          | ¦  «        x}r|S t          | ¦  «        x}r|S t          | ¦  «        x}r|S t          d                     | ¦  «        ¦  «        ‚)Nz-No Sheets found with "{}" as URL, key or name)r   r#   r&   ÚRuntimeErrorÚformatr"   s     r   Úget_sheets_id_from_strr+   F   sm   € Ý" 5Ñ)Ô)Ð)€sð Øˆ
Ý" 5Ñ)Ô)Ð)€sð Øˆ
Ý# EÑ*Ô*Ð*€sð Øˆ
Ý
ÐF×MÒMÈeÑTÔTÑ
UÔ
UÐUó    c                  ó.   ‡ — e Zd ZdZddˆ fd„Zdd
„Zˆ xZS )ÚSheetsInputsz,Inputs to an LLMFunction from Google Sheets.r   r   r'   Úworksheet_idÚintc                ód   •— t          ¦   «                              ¦   «          || _        || _        d S ©N)ÚsuperÚ__init__Ú_sidÚ_worksheet_id)Úselfr   r/   Ú	__class__s      €r   r4   zSheetsInputs.__init__S   s.   ø€ Ý‰Œ×ÒÑÔÐØˆŒ	Ø)ˆÔÐÐr,   r   ú6tuple[Sequence[Mapping[str, str]], Callable[[], None]]c                óf   — t          j        ¦   «                              | j        | j        ¬¦  «        S )N)r   r/   )r	   r   Úget_all_recordsr5   r6   )r7   s    r   Ú_to_normalized_inputs_implz'SheetsInputs._to_normalized_inputs_implX   s4   € õ Ô(Ñ*Ô*×:Ò:Ø”	¨Ô(:ð ;ñ 
ô 
ð 	
r,   )r   )r   r'   r/   r0   )r   r9   )Ú__name__Ú
__module__Ú__qualname__Ú__doc__r4   r<   Ú__classcell__)r8   s   @r   r.   r.   P   s\   ø€ € € € € Ø6Ð6ð*ð *ð *ð *ð *ð *ð *ð

ð 
ð 
ð 
ð 
ð 
ð 
ð 
r,   r.   c                  ó"   — e Zd ZdZdd„Zdd	„Zd
S )ÚSheetsOutputsz4Writes outputs from an LLMFunction to Google Sheets.r   r'   c                ó   — || _         d S r2   )r5   )r7   r   s     r   r4   zSheetsOutputs.__init__c   s   € ØˆŒ	ˆ	ˆ	r,   Úoutputsúllmfn_outputs.LLMFnOutputsBaser   ÚNonec                ód  — |                      ¦   «         }g }|                     t          |                     ¦   «         ¦  «        ¦  «         |                     d„ t          |                     ¦   «         Ž D ¦   «         ¦  «         t          j        ¦   «          	                    | j
        |¬¦  «         d S )Nc                ó,   — g | ]}t          |¦  «        ‘ŒS © )Úlist)Ú.0Úxs     r   ú
<listcomp>z/SheetsOutputs.write_outputs.<locals>.<listcomp>k   s   € ÐJÐJÐJ¨�T !™WœWÐJÐJÐJr,   )r   Úrows)Úas_dictÚappendrK   ÚkeysÚextendÚzipÚvaluesr	   r   Úwrite_recordsr5   )r7   rE   Úoutputs_dictÚoutputs_rowss       r   Úwrite_outputszSheetsOutputs.write_outputsf   sª   € à—’Ñ(Ô(ˆØ,.ˆØ×Ò�D ×!2Ò!2Ñ!4Ô!4Ñ5Ô5Ñ6Ô6Ð6Ø×ÒÐJÐJ­c°<×3FÒ3FÑ3HÔ3HÐ.IÐJÑJÔJÑKÔKÐKåÔ!Ñ#Ô#×1Ò1Ø”	Øð 	2ñ 	
ô 	
ð 	
ð 	
ð 	
r,   N)r   r'   )rE   rF   r   rG   )r=   r>   r?   r@   r4   rY   rJ   r,   r   rC   rC   `   sB   € € € € € Ø>Ð>ðð ð ð ð

ð 

ð 

ð 

ð 

ð 

r,   rC   N)r   r   r   r   )r   r   r   r'   )r@   Ú
__future__r   Útypingr   r   r   r   Úurllibr   Úgoogle.generativeai.notebookr	   r
   Ú google.generativeai.notebook.libr   r   r   r#   r&   r+   ÚLLMFnInputsSourcer.   ÚLLMFnOutputsSinkrC   rJ   r,   r   ú<module>ra      sV  ðð Ð Ø "Ð "Ð "Ð "Ð "Ð "à 3Ð 3Ð 3Ð 3Ð 3Ð 3Ð 3Ð 3Ð 3Ð 3Ð 3Ð 3Ø Ð Ð Ð Ð Ð Ø 7Ð 7Ð 7Ð 7Ð 7Ð 7Ø 2Ð 2Ð 2Ð 2Ð 2Ð 2Ø @Ð @Ð @Ð @Ð @Ð @Ø :Ð :Ð :Ð :Ð :Ð :ðð ð ð ð&ð ð ð ðð ð ð ðVð Vð Vð Vð
ð 
ð 
ð 
ð 
Ð&Ô8ñ 
ô 
ð 
ð 
ð 
ð 
ð 
ð 
�MÔ2ñ 
ô 
ð 
ð 
ð 
r,   