§
    $ÂiZ?  ã            	       óR  — d dl mZ d dlZd dlZd dl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
lmZ ddlmZmZ  ej        d¦  «        Z	 ddeeeef         ef         deeeef                  deeef         fd„Z	 ddeeeef         ef         deeeef                  deeef         fd„Z	 ddeeeef         ef         deeeef                  deeef         fd„Z	 ddeeeef         ef         deeeef                  deeef         fd„Z	 ddeeeef         ef         deeeef                  deeef         fd„Z	 ddeeeef         ef         deeeef                  deeef         fd„Z G d„ dej         ¦  «        Z! G d„ dej         ¦  «        Z"dS )é    )ÚpartialN)ÚAnyÚOptionalÚUnion)Ú	urlencodeé   )Ú_api_module)Ú_common)Útypes)Úget_value_by_path)Úset_value_by_path)Ú
AsyncPagerÚPagerzgoogle_genai.documentsÚfrom_objectÚparent_objectÚreturnc                 óp   — i }t          | dg¦  «        �"t          |ddgt          | dg¦  «        ¦  «         |S )NÚforceÚ_query©ÚgetvÚsetv©r   r   Ú	to_objects      ú`/var/www/html/jarvis.com/web/backend/venv/lib/python3.11/site-packages/google/genai/documents.pyÚ_DeleteDocumentConfig_to_mldevr   #   sD   € ð !€)å	ˆ+˜�yÑ!Ô!Ð-Ýˆ˜ 7Ð+­T°+À¸yÑ-IÔ-IÑJÔJÐJà	Ðó    c                 óÐ   — i }t          | dg¦  «        �"t          |ddgt          | dg¦  «        ¦  «         t          | dg¦  «        �t          t          | dg¦  «        |¦  «         |S )NÚnameÚ_urlÚconfig)r   r   r   r   s      r   Ú"_DeleteDocumentParameters_to_mldevr"   /   sr   € ð !€)Ý	ˆ+˜�xÑ Ô Ð,Ýˆ�V˜VÐ$¥d¨;¸¸Ñ&AÔ&AÑBÔBÐBå	ˆ+˜�zÑ"Ô"Ð.Ý"¥4¨°h°ZÑ#@Ô#@À)ÑLÔLÐLà	Ðr   c                 óp   — i }t          | dg¦  «        �"t          |ddgt          | dg¦  «        ¦  «         |S )Nr   r    r   r   s      r   Ú_GetDocumentParameters_to_mldevr$   =   sD   € ð !€)Ý	ˆ+˜�xÑ Ô Ð,Ýˆ�V˜VÐ$¥d¨;¸¸Ñ&AÔ&AÑBÔBÐBà	Ðr   c                 óÖ   — i }t          | dg¦  «        �"t          |ddgt          | dg¦  «        ¦  «         t          | dg¦  «        �"t          |ddgt          | dg¦  «        ¦  «         |S )NÚ	page_sizer   ÚpageSizeÚ
page_tokenÚ	pageTokenr   r   s      r   Ú_ListDocumentsConfig_to_mldevr*   H   s�   € ð !€)å	ˆ+˜�}Ñ%Ô%Ð1ÝØ˜ *Ð-­t°KÀ+ÀÑ/OÔ/Oñô ð õ 
ˆ+˜�~Ñ&Ô&Ð2ÝØØ	�;ÐÝˆ[˜<˜.Ñ)Ô)ñô ð ð 
Ðr   c                 óÐ   — i }t          | dg¦  «        �"t          |ddgt          | dg¦  «        ¦  «         t          | dg¦  «        �t          t          | dg¦  «        |¦  «         |S )NÚparentr    r!   )r   r   r*   r   s      r   Ú!_ListDocumentsParameters_to_mldevr-   ]   sr   € ð !€)Ý	ˆ+˜�zÑ"Ô"Ð.Ýˆ�V˜XÐ&­¨[¸8¸*Ñ(EÔ(EÑFÔFÐFå	ˆ+˜�zÑ"Ô"Ð.Ý!¥$ {°X°JÑ"?Ô"?ÀÑKÔKÐKà	Ðr   c           	      óJ  — i }t          | dg¦  «        �!t          |dgt          | dg¦  «        ¦  «         t          | dg¦  «        �!t          |dgt          | dg¦  «        ¦  «         t          | dg¦  «        �+t          |dgd„ t          | dg¦  «        D ¦   «         ¦  «         |S )NÚsdkHttpResponseÚsdk_http_responseÚnextPageTokenÚnext_page_tokenÚ	documentsc                 ó   — g | ]}|‘ŒS © r5   )Ú.0Úitems     r   ú
<listcomp>z5_ListDocumentsResponse_from_mldev.<locals>.<listcomp>|   s   € Ð;Ð;Ð;�$ˆÐ;Ð;Ð;r   r   r   s      r   Ú!_ListDocumentsResponse_from_mldevr9   k   sÑ   € ð !€)Ý	ˆ+Ð)Ð*Ñ+Ô+Ð7ÝØÐ'Ð(­$¨{Ð=NÐ<OÑ*PÔ*Pñô ð õ 
ˆ+˜Ð(Ñ)Ô)Ð5ÝˆÐ&Ð'­¨k¸OÐ;LÑ)MÔ)MÑNÔNÐNå	ˆ+˜�}Ñ%Ô%Ð1ÝØØ	ˆØ;Ð;�$˜{¨[¨MÑ:Ô:Ð;Ñ;Ô;ñô ð ð 
Ðr   c                   óø   — e Zd Zddœdedeej                 dej        fd„Zddœdedeej	                 ddfd„Z
ddœdedeej                 dej        fd	„Zddœdedeej                 deej                 fd
„ZdS )Ú	DocumentsN©r!   r   r!   r   c                ó  — t          j        ||¬¦  «        }| j        j        rt	          d¦  «        ‚t          |¦  «        }|                     d¦  «        }|rd                     |¦  «        }nd}|                     d¦  «        }|r|› dt          |¦  «        › �}| 	                    dd¦  «         d}|j
        �|j
        j        �|j
        j        }t          j        |¦  «        }t          j        |¦  «        }| j                             d	|||¦  «        }	|	j        si nt#          j        |	j        ¦  «        }
t           j                             |
|                     ¦   «         ¬
¦  «        }| j                             |¦  «         |S ©a  Gets metadata about a Document.

    Args:
      name (str): The resource name of the Document.
        Example: ragStores/rag-store-foo/documents/documents-bar
      config (GetDocumentConfig | None): Optional parameters for the request.

    Returns:
      The Document.
    ©r   r!   ú=This method is only supported in the Gemini Developer client.r    ú{name}r   ú?r!   NÚget©ÚresponseÚkwargs)r   Ú_GetDocumentParametersÚ_api_clientÚvertexaiÚ
ValueErrorr$   rC   Ú
format_mapr   Úpopr!   Úhttp_optionsr
   Úconvert_to_dictÚencode_unserializable_typesÚrequestÚbodyÚjsonÚloadsÚDocumentÚ_from_responseÚ
model_dumpÚ_verify_response©Úselfr   r!   Úparameter_modelÚrequest_dictÚrequest_url_dictÚpathÚquery_paramsrM   rE   Úresponse_dictÚreturn_values               r   rC   zDocuments.get„   s¡  € õ Ô2ØØðñ ô €Oð ÔÔ ð 
ÝØ
Iñô ð õ 5°_ÑEÔE€lØ%×)Ò)¨&Ñ1Ô1ÐØ	ð Ø×"Ò"Ð#3Ñ4Ô4ˆˆàˆà×#Ò# HÑ-Ô-€LØð 1ØÐ0Ð0•y Ñ.Ô.Ð0Ð0€dà×Ò�X˜tÑ$Ô$Ð$à04€LàÔÐ*ØÔ"Ô/Ð;à$Ô+Ô8€låÔ*¨<Ñ8Ô8€LÝÔ6°|ÑDÔD€LàÔ×'Ò'¨¨t°\À<ÑPÔP€Hà&œmÐJ�B�Bµ´¸H¼MÑ1JÔ1J€Må”>×0Ò0Ø ×'AÒ'AÑ'CÔ'Cð 1ñ ô €Lð 	Ô×%Ò% lÑ3Ô3Ð3ØÐr   c                ó2  — t          j        ||¬¦  «        }| j        j        rt	          d¦  «        ‚t          |¦  «        }|                     d¦  «        }|rd                     |¦  «        }nd}|                     d¦  «        }|r|› dt          |¦  «        › �}| 	                    dd¦  «         d}|j
        �|j
        j        �|j
        j        }t          j        |¦  «        }t          j        |¦  «        }| j                             d	|||¦  «        }	dS ©
a  Deletes a Document.

    Args:
      name (str): The resource name of the Document.
        Example: ragStores/rag-store-foo/documents/documents-bar
      config (DeleteDocumentConfig | None): Optional parameters for the request.

    Returns:
      None
    r?   r@   r    rA   r   rB   r!   NÚdelete)r   Ú_DeleteDocumentParametersrH   rI   rJ   r"   rC   rK   r   rL   r!   rM   r
   rN   rO   rP   ©
rY   r   r!   rZ   r[   r\   r]   r^   rM   rE   s
             r   rc   zDocuments.delete¿   sB  € õ" Ô5ØØðñ ô €Oð ÔÔ ð 
ÝØ
Iñô ð õ 8¸ÑHÔH€lØ%×)Ò)¨&Ñ1Ô1ÐØ	ð Ø×"Ò"Ð#3Ñ4Ô4ˆˆàˆà×#Ò# HÑ-Ô-€LØð 1ØÐ0Ð0•y Ñ.Ô.Ð0Ð0€dà×Ò�X˜tÑ$Ô$Ð$à04€LàÔÐ*ØÔ"Ô/Ð;à$Ô+Ô8€låÔ*¨<Ñ8Ô8€LÝÔ6°|ÑDÔD€LàÔ×'Ò'Ø�$˜ lñô €H€H€Hr   r,   c                óF  — t          j        ||¬¦  «        }| j        j        rt	          d¦  «        ‚t          |¦  «        }|                     d¦  «        }|rd                     |¦  «        }nd}|                     d¦  «        }|r|› dt          |¦  «        › �}| 	                    dd ¦  «         d }|j
        �|j
        j        �|j
        j        }t          j        |¦  «        }t          j        |¦  «        }| j                             d|||¦  «        }	|	j        si nt#          j        |	j        ¦  «        }
| j        j        st'          |
¦  «        }
t           j                             |
|                     ¦   «         ¬	¦  «        }| j                             |¦  «         |S ©
N©r,   r!   r@   r    z{parent}/documentsr   rB   r!   rC   rD   )r   Ú_ListDocumentsParametersrH   rI   rJ   r-   rC   rK   r   rL   r!   rM   r
   rN   rO   rP   rQ   rR   rS   r9   ÚListDocumentsResponserU   rV   rW   ©rY   r,   r!   rZ   r[   r\   r]   r^   rM   rE   r_   r`   s               r   Ú_listzDocuments._listö   s¾  € õ Ô4ØØðñ ô €Oð ÔÔ ð 
$ÝØ
Iñô ð õ 7°ÑGÔG€lØ%×)Ò)¨&Ñ1Ô1ÐØ	ð $Ø#×.Ò.Ð/?Ñ@Ô@ˆˆà#ˆà×#Ò# HÑ-Ô-€LØð 1ØÐ0Ð0•y Ñ.Ô.Ð0Ð0€dà×Ò�X˜tÑ$Ô$Ð$à04€LàÔÐ*ØÔ"Ô/Ð;à$Ô+Ô8€låÔ*¨<Ñ8Ô8€LÝÔ6°|ÑDÔD€LàÔ×'Ò'¨¨t°\À<ÑPÔP€Hà&œmÐJ�B�Bµ´¸H¼MÑ1JÔ1J€MàÔÔ$ð GÝ7¸ÑFÔF€måÔ.×=Ò=Ø ×'AÒ'AÑ'CÔ'Cð >ñ ô €Lð 	Ô×%Ò% lÑ3Ô3Ð3ØÐr   c                ó|   — t          | j        |¬¦  «        }t          d||                      ||¬¦  «        |¦  «        S )a  Lists documents.

    Args:
      parent (str): The name of the RagStore containing the Documents.
      config (ListDocumentsConfig): Optional configuration for the list request.

    Returns:
      A Pager object that contains one page of documents. When iterating over
      the pager, it automatically fetches the next page if there are more.
    Usage:
    .. code-block:: python
      for document in client.documents.list(parent='rag_store_name'):
        print(f"document: {document.name} - {document.display_name}")
    ©r,   r3   rh   )r   rl   r   ©rY   r,   r!   Úlist_requests       r   ÚlistzDocuments.list,  sF   € õ* ˜4œ:¨fÐ5Ñ5Ô5€LÝØØØ�
Š
˜&¨ˆ
Ñ0Ô0Øñ	ô ð r   )Ú__name__Ú
__module__Ú__qualname__Ústrr   r   ÚGetDocumentConfigOrDictrT   rC   ÚDeleteDocumentConfigOrDictrc   ÚListDocumentsConfigOrDictrj   rl   r   rq   r5   r   r   r;   r;   ‚   sD  € € € € € ð MQð9ð 9ð 9Øð9Ø"*¨5Ô+HÔ"Ið9à„~ð9ð 9ð 9ð 9ð~ <@ð	5ð 5ð 5ð ð5ð �uÔ7Ô8ð	5ð
 ð5ð 5ð 5ð 5ðv ;?ð	4ð 4ð 4ð ð4ð �uÔ6Ô7ð	4ð
 Ô"ð4ð 4ð 4ð 4ðt ;?ð	ð ð ð ðð �uÔ6Ô7ð	ð
 ˆUŒ^Ôðð ð ð ð ð r   r;   c                   óø   — e Zd Zddœdedeej                 dej        fd„Zddœdedeej	                 ddfd„Z
ddœdedeej                 dej        fd	„Zddœdedeej                 deej                 fd
„ZdS )ÚAsyncDocumentsNr<   r   r!   r   c             ƒ   ó   K  — t          j        ||¬¦  «        }| j        j        rt	          d¦  «        ‚t          |¦  «        }|                     d¦  «        }|rd                     |¦  «        }nd}|                     d¦  «        }|r|› dt          |¦  «        › �}| 	                    dd¦  «         d}|j
        �|j
        j        �|j
        j        }t          j        |¦  «        }t          j        |¦  «        }| j                             d	|||¦  «        ƒ d{V —†}	|	j        si nt#          j        |	j        ¦  «        }
t           j                             |
|                     ¦   «         ¬
¦  «        }| j                             |¦  «         |S r>   )r   rG   rH   rI   rJ   r$   rC   rK   r   rL   r!   rM   r
   rN   rO   Úasync_requestrQ   rR   rS   rT   rU   rV   rW   rX   s               r   rC   zAsyncDocuments.getL  sÊ  è è € õ Ô2ØØðñ ô €Oð ÔÔ ð 
ÝØ
Iñô ð õ 5°_ÑEÔE€lØ%×)Ò)¨&Ñ1Ô1ÐØ	ð Ø×"Ò"Ð#3Ñ4Ô4ˆˆàˆà×#Ò# HÑ-Ô-€LØð 1ØÐ0Ð0•y Ñ.Ô.Ð0Ð0€dà×Ò�X˜tÑ$Ô$Ð$à04€LàÔÐ*ØÔ"Ô/Ð;à$Ô+Ô8€låÔ*¨<Ñ8Ô8€LÝÔ6°|ÑDÔD€LàÔ%×3Ò3Øˆt�\ <ñô ð ð ð ð ð ð €Hð 'œmÐJ�B�Bµ´¸H¼MÑ1JÔ1J€Må”>×0Ò0Ø ×'AÒ'AÑ'CÔ'Cð 1ñ ô €Lð 	Ô×%Ò% lÑ3Ô3Ð3ØÐr   c             ƒ   óB  K  — t          j        ||¬¦  «        }| j        j        rt	          d¦  «        ‚t          |¦  «        }|                     d¦  «        }|rd                     |¦  «        }nd}|                     d¦  «        }|r|› dt          |¦  «        › �}| 	                    dd¦  «         d}|j
        �|j
        j        �|j
        j        }t          j        |¦  «        }t          j        |¦  «        }| j                             d	|||¦  «        ƒ d{V —†}	dS rb   )r   rd   rH   rI   rJ   r"   rC   rK   r   rL   r!   rM   r
   rN   rO   r|   re   s
             r   rc   zAsyncDocuments.delete‰  sd  è è € õ" Ô5ØØðñ ô €Oð ÔÔ ð 
ÝØ
Iñô ð õ 8¸ÑHÔH€lØ%×)Ò)¨&Ñ1Ô1ÐØ	ð Ø×"Ò"Ð#3Ñ4Ô4ˆˆàˆà×#Ò# HÑ-Ô-€LØð 1ØÐ0Ð0•y Ñ.Ô.Ð0Ð0€dà×Ò�X˜tÑ$Ô$Ð$à04€LàÔÐ*ØÔ"Ô/Ð;à$Ô+Ô8€låÔ*¨<Ñ8Ô8€LÝÔ6°|ÑDÔD€LàÔ%×3Ò3Ø�$˜ lñô ð ð ð ð ð ð €H€H€Hr   r,   c             ƒ   óV  K  — t          j        ||¬¦  «        }| j        j        rt	          d¦  «        ‚t          |¦  «        }|                     d¦  «        }|rd                     |¦  «        }nd}|                     d¦  «        }|r|› dt          |¦  «        › �}| 	                    dd ¦  «         d }|j
        �|j
        j        �|j
        j        }t          j        |¦  «        }t          j        |¦  «        }| j                             d|||¦  «        ƒ d {V —†}	|	j        si nt#          j        |	j        ¦  «        }
| j        j        st'          |
¦  «        }
t           j                             |
|                     ¦   «         ¬	¦  «        }| j                             |¦  «         |S rg   )r   ri   rH   rI   rJ   r-   rC   rK   r   rL   r!   rM   r
   rN   rO   r|   rQ   rR   rS   r9   rj   rU   rV   rW   rk   s               r   rl   zAsyncDocuments._listÀ  sç  è è € õ Ô4ØØðñ ô €Oð ÔÔ ð 
$ÝØ
Iñô ð õ 7°ÑGÔG€lØ%×)Ò)¨&Ñ1Ô1ÐØ	ð $Ø#×.Ò.Ð/?Ñ@Ô@ˆˆà#ˆà×#Ò# HÑ-Ô-€LØð 1ØÐ0Ð0•y Ñ.Ô.Ð0Ð0€dà×Ò�X˜tÑ$Ô$Ð$à04€LàÔÐ*ØÔ"Ô/Ð;à$Ô+Ô8€låÔ*¨<Ñ8Ô8€LÝÔ6°|ÑDÔD€LàÔ%×3Ò3Øˆt�\ <ñô ð ð ð ð ð ð €Hð 'œmÐJ�B�Bµ´¸H¼MÑ1JÔ1J€MàÔÔ$ð GÝ7¸ÑFÔF€måÔ.×=Ò=Ø ×'AÒ'AÑ'CÔ'Cð >ñ ô €Lð 	Ô×%Ò% lÑ3Ô3Ð3ØÐr   c             ƒ   óŒ   K  — t          | j        |¬¦  «        }t          d||                      ||¬¦  «        ƒ d{V —†|¦  «        S )a6  Lists documents asynchronously.

    Args:
      parent (str): The name of the RagStore containing the Documents.
      config (ListDocumentsConfig): Optional configuration for the list request.

    Returns:
      A Pager object that contains one page of documents. When iterating over
      the pager, it automatically fetches the next page if there are more.
    Usage:
    .. code-block:: python
      async for document in await
      client.aio.documents.list(parent='rag_store_name'):
        print(f"document: {document.name} - {document.display_name}")
    rn   r3   rh   N)r   rl   r   ro   s       r   rq   zAsyncDocuments.listø  s\   è è € õ, ˜4œ:¨fÐ5Ñ5Ô5€LÝØØØ�jŠj ¨vˆjÑ6Ô6Ð6Ð6Ð6Ð6Ð6Ð6Øñ	ô ð r   )rr   rs   rt   ru   r   r   rv   rT   rC   rw   rc   rx   rj   rl   r   rq   r5   r   r   rz   rz   J  sD  € € € € € ð MQð;ð ;ð ;Øð;Ø"*¨5Ô+HÔ"Ið;à„~ð;ð ;ð ;ð ;ðB <@ð	5ð 5ð 5ð ð5ð �uÔ7Ô8ð	5ð
 ð5ð 5ð 5ð 5ðv ;?ð	6ð 6ð 6ð ð6ð �uÔ6Ô7ð	6ð
 Ô"ð6ð 6ð 6ð 6ðx ;?ð	ð ð ð ðð �uÔ6Ô7ð	ð
 �%”.Ô!ðð ð ð ð ð r   rz   )N)#Ú	functoolsr   rR   ÚloggingÚtypingr   r   r   Úurllib.parser   Ú r	   r
   r   r   r   r   r   Úpagersr   r   Ú	getLoggerÚloggerÚdictru   Úobjectr   r"   r$   r*   r-   r9   Ú
BaseModuler;   rz   r5   r   r   ú<module>r‹      s“  ðð$ Ð Ð Ð Ð Ð Ø €€€Ø €€€Ø 'Ð 'Ð 'Ð 'Ð 'Ð 'Ð 'Ð 'Ð 'Ð 'Ø "Ð "Ð "Ð "Ð "Ð "à Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø .Ð .Ð .Ð .Ð .Ð .Ø .Ð .Ð .Ð .Ð .Ð .Ø %Ð %Ð %Ð %Ð %Ð %Ð %Ð %ð 
ˆÔ	Ð3Ñ	4Ô	4€ð
 /3ð	ð 	Ø�t˜C ˜H”~ vÐ-Ô.ð	à˜D  c œNÔ+ð	ð 
ˆ#ˆsˆ(„^ð	ð 	ð 	ð 	ð /3ðð Ø�t˜C ˜H”~ vÐ-Ô.ðà˜D  c œNÔ+ðð 
ˆ#ˆsˆ(„^ðð ð ð ð  /3ðð Ø�t˜C ˜H”~ vÐ-Ô.ðà˜D  c œNÔ+ðð 
ˆ#ˆsˆ(„^ðð ð ð ð /3ðð Ø�t˜C ˜H”~ vÐ-Ô.ðà˜D  c œNÔ+ðð 
ˆ#ˆsˆ(„^ðð ð ð ð. /3ðð Ø�t˜C ˜H”~ vÐ-Ô.ðà˜D  c œNÔ+ðð 
ˆ#ˆsˆ(„^ðð ð ð ð  /3ðð Ø�t˜C ˜H”~ vÐ-Ô.ðà˜D  c œNÔ+ðð 
ˆ#ˆsˆ(„^ðð ð ð ð.Eð Eð Eð Eð E�Ô&ñ Eô Eð EðPJð Jð Jð Jð J�[Ô+ñ Jô Jð Jð Jð Jr   