§
    šŠtjG  ã                  ó|   — d dl mZ d dlZd dlmZmZ d dlmZmZm	Z	  ej
        d¬¦  «        Z G d„ de¦  «        ZdS )	é    )ÚannotationsN)ÚABCÚabstractmethod)ÚListÚOptionalÚSequenceiÀ  )Úintc                  ób  — e Zd ZdZd$d„Zed%d„¦   «         Zed%d„¦   «         Zed&d
„¦   «         Zed&d„¦   «         Z	edddœd'd„¦   «         Z
edddœd'd„¦   «         Zed(d„¦   «         Zed(d„¦   «         Zedddddœd)d „¦   «         Zedddddœd)d!„¦   «         Zed*d"„¦   «         Zed*d#„¦   «         ZdS )+ÚRecordManagerz)Abstract base class for a record manager.Ú	namespaceÚstrÚreturnÚNonec                ó   — || _         dS )zyInitialize the record manager.

        Args:
            namespace (str): The namespace for the record manager.
        N)r   )Úselfr   s     ú^/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/langchain_community/indexes/base.pyÚ__init__zRecordManager.__init__   s   € ð #ˆŒˆˆó    c                ó   — dS ©z2Create the database schema for the record manager.N© ©r   s    r   Úcreate_schemazRecordManager.create_schema   ó   € € € r   c              ƒ  ó
   K  — dS r   r   r   s    r   Úacreate_schemazRecordManager.acreate_schema   ó
   è è € € € r   Úfloatc                ó   — dS ©a*  Get the current server time as a high resolution timestamp!

        It's important to get this from the server to ensure a monotonic clock,
        otherwise there may be data loss when cleaning up old documents!

        Returns:
            The current server time as a float timestamp.
        Nr   r   s    r   Úget_timezRecordManager.get_time    r   r   c              ƒ  ó
   K  — dS r    r   r   s    r   Ú	aget_timezRecordManager.aget_time+   r   r   N)Ú	group_idsÚtime_at_leastÚkeysúSequence[str]r$   ú!Optional[Sequence[Optional[str]]]r%   úOptional[float]c               ó   — dS ©a˜  Upsert records into the database.

        Args:
            keys: A list of record keys to upsert.
            group_ids: A list of group IDs corresponding to the keys.
            time_at_least: if provided, updates should only happen if the
              updated_at field is at least this time.

        Raises:
            ValueError: If the length of keys doesn't match the length of group_ids.
        Nr   ©r   r&   r$   r%   s       r   ÚupdatezRecordManager.update6   r   r   c             ƒ  ó
   K  — dS r+   r   r,   s       r   ÚaupdatezRecordManager.aupdateJ   r   r   ú
List[bool]c                ó   — dS ©zÑCheck if the provided keys exist in the database.

        Args:
            keys: A list of keys to check.

        Returns:
            A list of boolean values indicating the existence of each key.
        Nr   ©r   r&   s     r   ÚexistszRecordManager.exists^   r   r   c              ƒ  ó
   K  — dS r2   r   r3   s     r   ÚaexistszRecordManager.aexistsi   r   r   )ÚbeforeÚafterr$   Úlimitr7   r8   úOptional[Sequence[str]]r9   úOptional[int]ú	List[str]c               ó   — dS ©a¯  List records in the database based on the provided filters.

        Args:
            before: Filter to list records updated before this time.
            after: Filter to list records updated after this time.
            group_ids: Filter to list records with specific group IDs.
            limit: optional limit on the number of records to return.

        Returns:
            A list of keys for the matching records.
        Nr   ©r   r7   r8   r$   r9   s        r   Ú	list_keyszRecordManager.list_keyst   r   r   c             ƒ  ó
   K  — dS r>   r   r?   s        r   Ú
alist_keyszRecordManager.alist_keys‰   r   r   c                ó   — dS ©zoDelete specified records from the database.

        Args:
            keys: A list of keys to delete.
        Nr   r3   s     r   Údelete_keyszRecordManager.delete_keysž   r   r   c              ƒ  ó
   K  — dS rD   r   r3   s     r   Úadelete_keyszRecordManager.adelete_keys¦   r   r   )r   r   r   r   )r   r   )r   r   )r&   r'   r$   r(   r%   r)   r   r   )r&   r'   r   r0   )
r7   r)   r8   r)   r$   r:   r9   r;   r   r<   )r&   r'   r   r   )Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r   r   r   r!   r#   r-   r/   r4   r6   r@   rB   rE   rG   r   r   r   r   r   
   s
  € € € € € Ø3Ð3ð	#ð 	#ð 	#ð 	#ð ðAð Að Añ „^ðAð ðAð Að Añ „^ðAð ðð ð ñ „^ðð ðð ð ñ „^ðð ð
 8<Ø)-ðð ð ð ð ñ „^ðð& ð
 8<Ø)-ðð ð ð ð ñ „^ðð& ðð ð ñ „^ðð ðð ð ñ „^ðð ð #'Ø!%Ø-1Ø#ðð ð ð ð ñ „^ðð( ð #'Ø!%Ø-1Ø#ðð ð ð ð ñ „^ðð( ðð ð ñ „^ðð ðð ð ñ „^ðð ð r   r   )Ú
__future__r   ÚuuidÚabcr   r   Útypingr   r   r   ÚUUIDÚNAMESPACE_UUIDr   r   r   r   ú<module>rR      s¨   ðØ "Ð "Ð "Ð "Ð "Ð "à €€€Ø #Ð #Ð #Ð #Ð #Ð #Ð #Ð #Ø +Ð +Ð +Ð +Ð +Ð +Ð +Ð +Ð +Ð +à�”˜tÐ$Ñ$Ô$€ðbð bð bð bð b�Cñ bô bð bð bð br   