
    ih                     8   d dl mZmZmZmZmZmZ d dlmZm	Z	m
Z
 ddlmZmZmZmZ g dZ ed      Ze
 G d de             Z G d	 d
ee   ee   ee         Z G d dee   ee   ee         Z G d dee   ee   ee         Z G d dee   ee   ee         Zy)    )AnyListGenericTypeVarOptionalcast)Protocoloverrideruntime_checkable   )BasePagePageInfoBaseSyncPageBaseAsyncPage)SyncPage	AsyncPageSyncCursorPageAsyncCursorPage_Tc                       e Zd ZU ee   ed<   y)CursorPageItemidN)__name__
__module____qualname__r   str__annotations__     O/var/www/html/dev/engine/venv/lib/python3.12/site-packages/openai/pagination.pyr   r      s    r   r   c                   Z    e Zd ZU dZee   ed<   eed<   edee   fd       Z	edd       Z
y)	r   LNote: no pagination actually occurs yet, this is for forwards-compatibility.dataobjectreturnc                 &    | j                   }|sg S |S Nr#   selfr#   s     r    _get_page_itemszSyncPage._get_page_items       yyIr   Nc                      yz
        This page represents a response that isn't actually paginated at the API level
        so there will never be a next page.
        Nr   r*   s    r    next_page_infozSyncPage.next_page_info        r   r%   Nr   r   r   __doc__r   r   r   r   r
   r+   r0   r   r   r    r   r      D    V
r(NKb    r   r   c                   Z    e Zd ZU dZee   ed<   eed<   edee   fd       Z	edd       Z
y)	r   r"   r#   r$   r%   c                 &    | j                   }|sg S |S r'   r(   r)   s     r    r+   zAsyncPage._get_page_items.   r,   r   Nc                      yr.   r   r/   s    r    r0   zAsyncPage.next_page_info5   r1   r   r2   r3   r   r   r    r   r   (   r5   r   r   c                        e Zd ZU ee   ed<   dZee   ed<   e	dee   fd       Z
e	def fd       Ze	dee   fd       Z xZS )r   r#   Nhas_morer%   c                 &    | j                   }|sg S |S r'   r(   r)   s     r    r+   zSyncCursorPage._get_page_itemsB   r,   r   c                 F    | j                   }||du ryt        | 	         S NFr:   superhas_next_pager*   r:   	__class__s     r    r@   zSyncCursorPage.has_next_pageI   *    ==H$5w$&&r   c                     | j                   }|sy t        t        |d         }t        |t              r|j
                  y t        d|j
                  i      S Nafter)paramsr#   r   r   
isinstancer   r   r   r*   r#   items      r    r0   zSyncCursorPage.next_page_infoQ   J    yyCb"$/477?122r   r   r   r   r   r   r   r:   r   boolr
   r+   r@   r   r0   __classcell__rB   s   @r    r   r   >   r    
r(N#Hhtn#b   't ' ' 
3 2 
3 
3r   r   c                        e Zd ZU ee   ed<   dZee   ed<   e	dee   fd       Z
e	def fd       Ze	dee   fd       Z xZS )r   r#   Nr:   r%   c                 &    | j                   }|sg S |S r'   r(   r)   s     r    r+   zAsyncCursorPage._get_page_itemsc   r,   r   c                 F    | j                   }||du ryt        | 	         S r=   r>   rA   s     r    r@   zAsyncCursorPage.has_next_pagej   rC   r   c                     | j                   }|sy t        t        |d         }t        |t              r|j
                  y t        d|j
                  i      S rE   rI   rK   s      r    r0   zAsyncCursorPage.next_page_infor   rM   r   rN   rQ   s   @r    r   r   _   rR   r   r   N)typingr   r   r   r   r   r   typing_extensionsr	   r
   r   _base_clientr   r   r   r   __all__r   r   r   r   r   r   r   r   r    <module>r[      s    ? > C C I I
HT] X  |B"wr{ ,b!8B< ,3\"%x|WR[ 3B3mB'"wr{ 3r   