§
    ìŽ’jÊJ  ã            	       ó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      úDC:\Projects\DSCons\.venv\Lib\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*   G   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   j   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                             |
t+          |dd¦  «        rDdt+          |j
        d
d¦  «        t+          |j
        dd¦  «        t+          |j
        dd¦  «        dœini ¬¦  «        }| 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!   úiThis method is only supported in Gemini Developer API mode, not in Gemini Enterprise Agent Platform mode.r    ú{name}r   Ú?r!   NÚgetÚresponse_schemaÚresponse_json_schemaÚinclude_all_fields©rD   rE   rF   ©Ú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ÚgetattrÚ_verify_response©Úselfr   r!   Úparameter_modelÚrequest_dictÚrequest_url_dictÚpathÚquery_paramsrQ   rI   Úresponse_dictÚreturn_values               r   rC   zDocuments.getƒ   s  € õ Ô2ØØðñ ô €Oð ÔÔ ð Ýð4ñô ð õ
 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Øõ �? H¨dÑ3Ô3ðØÝ#*Ø#Ô*Ð,=¸tñ$ô $õ )0Ø#Ô*Ð,BÀDñ)ô )õ '.Ø#Ô*Ð,@À$ñ'ô 'ð
ð 
ð
ð 
ð ð! 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   Ú_DeleteDocumentParametersrL   rM   rN   r"   rC   rO   r   rP   r!   rQ   r
   rR   rS   rT   ©	r]   r   r!   r^   r_   r`   ra   rb   rQ   s	            r   rg   zDocuments.deleteÎ   sB  € õ" Ô5ØØðñ ô €Oð ÔÔ ð Ýð4ñô ð õ
 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àÔ×Ò˜X t¨\¸<ÑHÔHÐHÐHÐHr   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        ¦  «        }
| j        j        st'          |
¦  «        }
t           j                             |
t-          |dd ¦  «        rDdt-          |j
        d	d ¦  «        t-          |j
        d
d ¦  «        t-          |j
        dd ¦  «        dœini ¬¦  «        }| j                             |¦  «         |S ©N©r,   r!   r@   r    z{parent}/documentsr   rB   r!   rC   rD   rE   rF   rG   rH   )r   Ú_ListDocumentsParametersrL   rM   rN   r-   rC   rO   r   rP   r!   rQ   r
   rR   rS   rT   rU   rV   rW   r9   ÚListDocumentsResponserY   rZ   r[   ©r]   r,   r!   r^   r_   r`   ra   rb   rQ   rI   rc   rd   s               r   Ú_listzDocuments._list  s0  € õ Ô4ØØðñ ô €Oð ÔÔ ð $Ýð4ñô ð õ
 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åÔ.×=Ò=Øõ �? H¨dÑ3Ô3ðØÝ#*Ø#Ô*Ð,=¸tñ$ô $õ )0Ø#Ô*Ð,BÀDñ)ô )õ '.Ø#Ô*Ð,@À$ñ'ô 'ð
ð 
ð
ð 
ð ð! >ñ ô €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   rl   )r   rp   r   ©r]   r,   r!   Úlist_requests       r   ÚlistzDocuments.listJ  sF   € õ* ˜4œ:¨fÐ5Ñ5Ô5€LÝØØØ�
Š
˜&¨ˆ
Ñ0Ô0Øñ	ô ð r   )Ú__name__Ú
__module__Ú__qualname__Ústrr   r   ÚGetDocumentConfigOrDictrX   rC   ÚDeleteDocumentConfigOrDictrg   ÚListDocumentsConfigOrDictrn   rp   r   ru   r5   r   r   r;   r;   �   s_  € € € € € ð MQðIð Ið IØðIØ"*¨5Ô+HÔ"IðIà„~ðIð Ið Ið Ið^ <@ð	4Ið 4Ið 4Ið ð4Ið �uÔ7Ô8ð	4Ið
 ð4Ið 4Ið 4Ið 4Iðt ;?ð	Dð Dð Dð ðDð �uÔ6Ô7ð	Dð
 Ô"ðDð Dð Dð Dð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                             |
t+          |dd¦  «        rDdt+          |j
        d
d¦  «        t+          |j
        dd¦  «        t+          |j
        dd¦  «        dœini ¬¦  «        }| j                             |¦  «         |S r>   )r   rK   rL   rM   rN   r$   rC   rO   r   rP   r!   rQ   r
   rR   rS   Úasync_requestrU   rV   rW   rX   rY   rZ   r[   r\   s               r   rC   zAsyncDocuments.getj  s<  è è € õ Ô2ØØðñ ô €Oð ÔÔ ð Ýð4ñô ð õ
 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Øõ �? H¨dÑ3Ô3ðØÝ#*Ø#Ô*Ð,=¸tñ$ô $õ )0Ø#Ô*Ð,BÀDñ)ô )õ '.Ø#Ô*Ð,@À$ñ'ô 'ð
ð 
ð
ð 
ð ð! 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 rf   )r   rh   rL   rM   rN   r"   rC   rO   r   rP   r!   rQ   r
   rR   rS   r€   ri   s	            r   rg   zAsyncDocuments.delete·  so  è è € õ" Ô5ØØðñ ô €Oð ÔÔ ð Ýð4ñô ð õ
 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ñô ð ð ð ð ð ð ð ð ð 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        ¦  «        }
| j        j        st'          |
¦  «        }
t           j                             |
t-          |dd ¦  «        rDdt-          |j
        d	d ¦  «        t-          |j
        d
d ¦  «        t-          |j
        dd ¦  «        dœini ¬¦  «        }| j                             |¦  «         |S rk   )r   rm   rL   rM   rN   r-   rC   rO   r   rP   r!   rQ   r
   rR   rS   r€   rU   rV   rW   r9   rn   rY   rZ   r[   ro   s               r   rp   zAsyncDocuments._listï  sY  è è € õ Ô4ØØðñ ô €Oð ÔÔ ð $Ýð4ñô ð õ
 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åÔ.×=Ò=Øõ �? H¨dÑ3Ô3ðØÝ#*Ø#Ô*Ð,=¸tñ$ô $õ )0Ø#Ô*Ð,BÀDñ)ô )õ '.Ø#Ô*Ð,@À$ñ'ô 'ð
ð 
ð
ð 
ð ð! >ñ ô €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}")
    rr   r3   rl   N)r   rp   r   rs   s       r   ru   zAsyncDocuments.list7  s\   è è € õ, ˜4œ:¨fÐ5Ñ5Ô5€LÝØØØ�jŠj ¨vˆjÑ6Ô6Ð6Ð6Ð6Ð6Ð6Ð6Øñ	ô ð r   )rv   rw   rx   ry   r   r   rz   rX   rC   r{   rg   r|   rn   rp   r   ru   r5   r   r   r~   r~   h  sV  € € € € € ð MQðKð Kð KØðKØ"*¨5Ô+HÔ"IðKà„~ðKð Kð Kð Kðb <@ð	6ð 6ð 6ð ð6ð �uÔ7Ô8ð	6ð
 ð6ð 6ð 6ð 6ðx ;?ð	Fð Fð Fð ðFð �uÔ6Ô7ð	Fð
 Ô"ðFð Fð Fð FðX ;?ð	ð ð ð ðð �uÔ6Ô7ð	ð
 �%”.Ô!ðð ð ð ð ð r   r~   )N)#Ú	functoolsr   rV   ÚloggingÚtypingr   r   r   Úurllib.parser   Ú r	   r
   r   r   r   r   r   Úpagersr   r   Ú	getLoggerÚloggerÚdictry   Úobjectr   r"   r$   r*   r-   r9   Ú
BaseModuler;   r~   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ˆ(„^ðð ð ð ð.dð dð dð dð d�Ô&ñ dô dð dðNkð kð kð kð k�[Ô+ñ kô kð kð kð kr   