Ë
    lQêjâ—  ã                   ó>  — d dl mZ d dlmZmZmZmZ d dlmZ erd dl	m
Z
 d dlmZmZm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mZ d d
lmZ d dlmZ d dlm Z  d dl!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/ d dl0m1Z1 d dl2m3Z3 d dl4m5Z6 d dl7m8Z8 d dl9m:Z:m;Z;m<Z< d dl=m>Z>m?Z?m@Z@mAZAmBZBmCZCmDZDmEZEmFZFmGZGmHZHmIZImJZJmKZKmLZLmMZMmNZNmOZOmPZPmQZQmRZRmSZS d dlTmUZUmVZVmWZWmXZXmYZYmZZZ d dl4m[Z\ d dl m]Z]m^Z^m_Z_m`Z`maZambZbmcZcmdZdmeZe d dlfmgZg d dlhmiZimjZj d dlkmlZl d dlmZmd dlnZnd dloZod dl'mpZp  eddecdeaf   ¬«      Zq enjä                  es«      Ztd eud!dfd"„Zvd#eqd!eqfd$„Zw G d%„ d&e«      Zx	 	 	 	 d.d'e\jò                  d(e?d)e]e@   d*e]eA   d+e]eB   d,e]eE   d!e_e\jô                  ddf   fd-„Z{y)/é    )ÚTYPE_CHECKING)ÚretryÚstop_after_attemptÚretry_if_exceptionÚ
wait_fixed)Ú	ServerAPI)ÚAttachedFunction)ÚCreateCollectionConfigurationÚUpdateCollectionConfigurationÚ'create_collection_configuration_to_json)ÚUserIdentity)ÚDEFAULT_DATABASEÚDEFAULT_TENANTÚSettingsÚSystem)ÚSysDB)ÚQuotaEnforcerÚAction)ÚRateLimitEnforcer)ÚSegmentManager)ÚExecutor)ÚScanÚFilterÚLimitÚKNNÚ
Projection)Ú	CountPlanÚGetPlanÚKNNPlan)Úadd_attributes_to_current_spanÚOpenTelemetryClientÚOpenTelemetryGranularityÚtrace_method)ÚProductTelemetryClient)ÚProducer)Ú
Collection©Ú__version__)ÚInvalidDimensionExceptionÚNotFoundErrorÚVersionMismatchError)ÚCollectionMetadataÚIDsÚ
EmbeddingsÚ	MetadatasÚ	DocumentsÚ	ReadLevelÚSchemaÚURIsÚWhereÚWhereDocumentÚIncludeÚ	GetResultÚQueryResultÚSearchResultÚvalidate_metadataÚvalidate_update_metadataÚvalidate_whereÚvalidate_where_documentÚvalidate_batchÚIncludeMetadataDocumentsÚ!IncludeMetadataDocumentsDistancesÚDeleteResult)ÚCollectionAddEventÚCollectionDeleteEventÚCollectionGetEventÚCollectionUpdateEventÚCollectionQueryEventÚClientCreateCollectionEventN)	ÚOptionalÚSequenceÚ	GeneratorÚListÚAnyÚDictÚCallableÚTypeVarÚTuple)Úoverride)ÚUUIDÚuuid4)Úwraps)ÚSearchÚT.)ÚboundÚ
index_nameÚreturnc                 óþ   — d| › �}t        | «      dk  st        | «      dkD  rt        |«      ‚t        j                  d| «      st        |«      ‚d| v rt        |«      ‚t        j                  d| «      rt        |«      ‚y )Na  Expected collection name that (1) contains 3-63 characters, (2) starts and ends with an alphanumeric character, (3) otherwise contains only alphanumeric characters, underscores or hyphens (-), (4) contains no two consecutive periods (..) and (5) is not a valid IPv4 address, got é   é?   z'^[a-zA-Z0-9][a-zA-Z0-9._-]*[a-zA-Z0-9]$z..z0^[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}$)ÚlenÚ
ValueErrorÚreÚmatch)rX   Úmsgs     úY/home/oem/CyberBrain26-unified/.venv/lib/python3.12/site-packages/chromadb/api/segment.pyÚcheck_index_namerc   `   s…   € ð	ð ˆlð	ð ô ˆ:ƒ˜Òœc *›o°Ò2Ü˜‹oÐÜ�8‰8Ð=¸zÔJÜ˜‹oÐØˆzÑÜ˜‹oÐÜ	‡x�xÐEÀzÔRÜ˜‹oÐð Só    Úfuncc                 óT   ‡ — t        ‰ «      dt        dt        dt        fˆ fd„«       }|S )NÚargsÚkwargsrY   c                  óP   •— | d   } |j                   j                  ‰«      | i |¤ŽS )Nr   )Ú_rate_limit_enforcerÚ
rate_limit)rg   rh   Úselfre   s      €rb   Úwrapperzrate_limit.<locals>.wrapperu   s/   ø€ à�A‰wˆØ9ˆt×(Ñ(×3Ñ3°DÓ9¸4ÐJÀ6ÑJÐJrd   )rT   rL   )re   rm   s   ` rb   rk   rk   t   s:   ø€ Ü
ˆ4ƒ[ðK”sð K¤cð K¬cô Kó ðKð €Nrd   c                   ól  ‡ — e Zd ZU dZeed<   eed<   eed<   eed<   e	ed<   e
ed<   eed<   eed	<   eed
<   eed<   defˆ fd„Zedefd„«       Z edej*                  «      eefdededdfd„«       «       Z edej*                  «      eefdededej2                  fd„«       «       Z edej*                  «      eefdededdfd„«       «       Z edej*                  «      eddefdee   dee   dedeej2                     fd„«       «       Z edej*                  «      ededdfd„«       «       Zede fd„«       Z! ed ej*                  «      ededejD                  fd!„«       «       Z# ed"ej*                  «      ee$dddd#ee%fded$ee&   d%ee'   d&ee(   d'e)ded(ede*fd)„«       «       «       Z+ ed*ej*                  «      ee$dddee%fded$ee&   d%ee'   d&ee(   ded(ede*fd+„«       «       «       Z, ed,ej*                  «      ee$dee%fdee   ded(ede*fd-„«       «       «       Z- ed.ej*                  «      ee$ee%fd/e.ded(ede*fd0„«       «       «       Z/ ed1ej*                  «      ee$ddee%fdee   dee   ded(edee*   f
d2„«       «       «       Z0 ed3ej*                  «      ee$ee%fded(edefd4„«       «       «       Z1 ed5ej*                  «      ee$dddee%fd6e.d7ee   d8ee(   d9ee2   ded(eddfd:„«       «       «       Z3eee%fd/e.d7eded(ede*f
d;„«       Z4eee%fd/e.ded(edefd<„«       Z5eee%fd/e.ded(edd=fd>„«       Z6eee%e7jp                  fd/e.d?e9e:   ded(ed@e7de;fdA„«       Z< edBej*                  «      ee$ee%fdeded(eddfdC„«       «       «       Z= edDej*                  «      ee$dddee%fdEe>d/e.dFe?dGee@   dHeeA   dIeeB   ded(ede)fdJ„«       «       «       ZC edKej*                  «      ee$ddddee%fd/e.dEe>dFee?   dGee@   dHeeA   dIeeB   ded(ede)fdL„«       «       «       ZD edMej*                  «      ee$dddee%fd/e.dEe>dFe?dGee@   dHeeA   dIeeB   ded(ede)fdN„«       «       «       ZE edOej*                  «       eF eGdP„ «       eHdQ«       eIdR«      dS¬T«      ee$dddddeJee%fd/e.dEee>   dUeeK   dee   dee   dVeeL   dWeMded(edeNfdX„«       «       «       «       ZO edYej*                  «      ee$ddddee%fd/e.dEee>   dUeeK   dVeeL   dee   ded(edePfdZ„«       «       «       ZQ ed[ej*                  «       eF eGd\„ «       eHdQ«       eIdR«      dS¬T«      ee$ee%e7jp                  fd/e.ded(ed@e7def
d]„«       «       «       «       ZR ed^ej*                  «       eF eGd_„ «       eHdQ«       eIdR«      dS¬T«      ee$dd`ddeSee%fd/e.dae?dEee>   dbedUeeK   dVeeL   dWeMded(edeTfdc„«       «       «       «       ZU eddej*                  «      ee$d`ee%fd/e.deeded(edeNf
df„«       «       «       ZVedefdg„«       ZWed€dh„«       ZXede)fdi„«       ZYedefdj„«       ZZedefdk„«       Z[edee%fdlededme.dnedoee\ee]f      ded(ede^dpe)f   fdq„«       Z_eee%fdedme.ded(eddpf
dr„«       Z`ed#ee%fdedme.dse)ded(ede)fdt„«       Za eduejÄ                  «      dvejÆ                  dwe9ejÈ                     ddfdx„«       ZedvejÆ                  dyedze)ddfd{„Zf ed|ejÄ                  «      d/e.dejÆ                  fd}„«       Zg ed~ej*                  «      d/e.dehfd„«       Ziˆ xZjS )�Ú
SegmentAPIzHAPI implementation utilizing the new segment-based internal architectureÚ	_settingsÚ_sysdbÚ_managerÚ	_executorÚ	_producerÚ_product_telemetry_clientÚ_opentelemetry_clientÚ
_tenant_idÚ	_topic_nsrj   Úsystemc                 óú  •— t         ‰| �  |«       |j                  | _        | j	                  t
        «      | _        | j	                  t        «      | _        | j	                  t        «      | _
        | j	                  t        «      | _        | j	                  t        «      | _        | j	                  t        «      | _        | j	                  t"        «      | _        | j&                  j	                  t(        «      | _        y ©N)ÚsuperÚ__init__Úsettingsrp   Úrequirer   rq   r   rr   r   rs   r   Ú_quota_enforcerr$   ru   r!   rv   r%   rt   Ú_systemr   rj   )rl   ry   Ú	__class__s     €rb   r}   zSegmentAPI.__init__‹   s¨   ø€ Ü‰Ñ˜Ô ØŸ™ˆŒØ—l‘l¤5Ó)ˆŒØŸ™¤^Ó4ˆŒØŸ™¤hÓ/ˆŒØ#Ÿ|™|¬MÓ:ˆÔØ)-¯©Ô6LÓ)MˆÔ&Ø%)§\¡\Ô2EÓ%FˆÔ"ØŸ™¤hÓ/ˆŒØ$(§L¡L×$8Ñ$8Ô9JÓ$KˆÕ!rd   rY   c                 ó<   — t        t        j                  «       «      S r{   )ÚintÚtimeÚtime_ns©rl   s    rb   Ú	heartbeatzSegmentAPI.heartbeat—   s   € ä”4—<‘<“>Ó"Ð"rd   zSegmentAPI.create_databaseÚnameÚtenantNc                 óÚ   — t        |«      dk  rt        d«      ‚| j                  j                  t        j
                  ||¬«       | j                  j                  t        «       ||¬«       y )Nr[   z0Database name must be at least 3 characters long)ÚactionrŠ   r‰   )Úidr‰   rŠ   )	r]   r^   r€   Úenforcer   ÚCREATE_DATABASErq   Úcreate_databaserS   ©rl   r‰   rŠ   s      rb   r�   zSegmentAPI.create_database›   sg   € ô ˆt‹9�qŠ=ÜÐOÓPÐPà×Ñ×$Ñ$Ü×)Ñ)ØØð 	%ô 	
ð 	�‰×#Ñ#Ü‹wØØð 	$õ 	
rd   zSegmentAPI.get_databasec                 ó<   — | j                   j                  ||¬«      S ©N)r‰   rŠ   )rq   Úget_databaser‘   s      rb   r”   zSegmentAPI.get_database­   s   € ð �{‰{×'Ñ'¨T¸&Ð'ÓAÐArd   zSegmentAPI.delete_databasec                 ó>   — | j                   j                  ||¬«       y r“   )rq   Údelete_databaser‘   s      rb   r–   zSegmentAPI.delete_database²   s   € ð 	�‰×#Ñ#¨°fÐ#Õ=rd   zSegmentAPI.list_databasesÚlimitÚoffsetc                 ó>   — | j                   j                  |||¬«      S )N)r—   r˜   rŠ   )rq   Úlist_databases)rl   r—   r˜   rŠ   s       rb   rš   zSegmentAPI.list_databases·   s    € ð �{‰{×)Ñ)°¸fÈVÐ)ÓTÐTrd   zSegmentAPI.create_tenantc                 ón   — t        |«      dk  rt        d«      ‚| j                  j                  |¬«       y )Nr[   z.Tenant name must be at least 3 characters long©r‰   )r]   r^   rq   Úcreate_tenant©rl   r‰   s     rb   r�   zSegmentAPI.create_tenantÁ   s5   € ô ˆt‹9�qŠ=ÜÐMÓNÐNà�‰×!Ñ!Øð 	"õ 	
rd   c                 ó0   — t        dt        t        g¬«      S )NÚ )Úuser_idrŠ   Ú	databases)r   r   r   r‡   s    rb   Úget_user_identityzSegmentAPI.get_user_identityË   s   € äØÜ!Ü'Ð(ô
ð 	
rd   zSegmentAPI.get_tenantc                 ó:   — | j                   j                  |¬«      S )Nrœ   )rq   Ú
get_tenantrž   s     rb   r¥   zSegmentAPI.get_tenantÓ   s   € ð �{‰{×%Ñ%¨4Ð%Ó0Ð0rd   zSegmentAPI.create_collectionFÚschemaÚconfigurationÚmetadataÚget_or_createÚdatabasec                 óÔ  — |�t        |«       t        |«       | j                  j                  t        j
                  |||¬«       t        «       }t        |||d t        |xs
 t        «       |«      ||d ¬«      }	| j                  j                  |	j                  |	j                  ||xs
 t        «       g |	j                  d |||¬«
      \  }
}|r>| j                  j!                  |
«      }|D ]  }| j                  j#                  |«       Œ nt$        j'                  d|› d�«       | j(                  j+                  t-        t/        |«      ¬«      «       t1        dt/        |«      i«       |
S )N©rŒ   rŠ   r‰   r¨   )r�   r‰   r¨   Úserialized_schemaÚconfiguration_jsonrŠ   rª   Ú	dimension)
r�   r‰   r¦   r§   Úsegmentsr¨   r¯   r©   rŠ   rª   úCollection z/ already exists, returning existing collection.)Úcollection_uuidr²   )r:   rc   r€   rŽ   r   ÚCREATE_COLLECTIONrS   ÚCollectionModelr   r
   rq   Úcreate_collectionr�   r‰   r¨   rr   Ú#prepare_segments_for_new_collectionÚcreate_segmentÚloggerÚdebugru   ÚcapturerG   Ústrr    )rl   r‰   r¦   r§   r¨   r©   rŠ   rª   r�   ÚmodelÚcollÚcreatedr°   Úsegments                 rb   rµ   zSegmentAPI.create_collectionÛ   sl  € ð ÐÜ˜hÔ'ô 	˜Ôà×Ñ×$Ñ$Ü×+Ñ+ØØØð	 	%ô 	
ô ‹WˆäØØØØ"ÜFØÒ@Ô!>Ó!@À(ó ð ØØô
ˆð Ÿ™×5Ñ5Ø�x‰xØ—‘ØØ'ÒJÔ+HÓ+JØØ—^‘^ØØ'ØØð 6ó 
‰ˆˆgñ Ø—}‘}×HÑHÈÓNˆHØ#ò 4�Ø—‘×*Ñ*¨7Õ3ñ4ô �L‰LØ˜d˜VÐ#RÐSôð 	×&Ñ&×.Ñ.Ü'Ü # B£ôô	
ô 	'Ð(9¼3¸r»7Ð'CÔDàˆrd   z#SegmentAPI.get_or_create_collectionc           	      ó2   — | j                  ||||d||¬«      S )NT)r‰   r¦   r¨   r§   r©   rŠ   rª   )rµ   )rl   r‰   r¦   r§   r¨   rŠ   rª   s          rb   Úget_or_create_collectionz#SegmentAPI.get_or_create_collection'  s1   € ð ×%Ñ%ØØØØ'ØØØð &ó 
ð 	
rd   zSegmentAPI.get_collectionc                 ój   — | j                   j                  |||¬«      }|r|d   S t        d|› d�«      ‚)N©r‰   rŠ   rª   r   r±   ú does not exist.©rq   Úget_collectionsr*   ©rl   r‰   rŠ   rª   Úexistings        rb   Úget_collectionzSegmentAPI.get_collectionB  sH   € ð —;‘;×.Ñ.Ø˜f¨xð /ó 
ˆñ Ø˜A‘;Ðä +¨d¨VÐ3CÐ DÓEÐErd   zSegmentAPI.get_collection_by_idÚcollection_idc                 ój   — | j                   j                  |||¬«      }|r|d   S t        d|› d�«      ‚)N)r�   rŠ   rª   r   r±   rÄ   rÅ   )rl   rÊ   rŠ   rª   rÈ   s        rb   Úget_collection_by_idzSegmentAPI.get_collection_by_idT  sH   € ð —;‘;×.Ñ.Ø V°hð /ó 
ˆñ Ø˜A‘;Ðä +¨m¨_Ð<LÐ MÓNÐNrd   zSegmentAPI.list_collectionc                 ó˜   — | j                   j                  t        j                  ||¬«       | j                  j                  ||||¬«      S )N)rŒ   rŠ   r—   )r—   r˜   rŠ   rª   )r€   rŽ   r   ÚLIST_COLLECTIONSrq   rÆ   )rl   r—   r˜   rŠ   rª   s        rb   Úlist_collectionszSegmentAPI.list_collectionsf  sS   € ð 	×Ñ×$Ñ$Ü×*Ñ*ØØð 	%ô 	
ð �{‰{×*Ñ*Ø ¨vÀð +ó 
ð 	
rd   zSegmentAPI.count_collectionsc                 ó<   — | j                   j                  ||¬«      S )N©rŠ   rª   )rq   Úcount_collections)rl   rŠ   rª   s      rb   rÒ   zSegmentAPI.count_collectionsz  s   € ð �{‰{×,Ñ,°FÀXÐ,ÓNÐNrd   zSegmentAPI._modifyr�   Únew_nameÚnew_metadataÚnew_configurationc                 ó’  — |rt        |«       |rt        |«       | j                  |«      }| j                  j	                  t
        j                  |||¬«       |r$|r"|r | j                  j                  ||||¬«       y |r!|r| j                  j                  |||¬«       y |r!|r| j                  j                  |||¬«       y |r!|r| j                  j                  |||¬«       y |r| j                  j                  ||¬«       y |r| j                  j                  ||¬«       y |r| j                  j                  ||¬«       y y )	Nr¬   )r‰   r¨   r§   )r‰   r¨   )r‰   r§   )r¨   r§   rœ   )r¨   )r§   )	rc   r;   Ú_get_collectionr€   rŽ   r   ÚUPDATE_COLLECTIONrq   Úupdate_collection)rl   r�   rÓ   rÔ   rÕ   rŠ   rª   Ú_s           rb   Ú_modifyzSegmentAPI._modify„  sF  € ñ ä˜XÔ&áÜ$ \Ô2ð × Ñ  Ó$ˆà×Ñ×$Ñ$Ü×+Ñ+ØØØ!ð	 	%ô 	
ñ ™Ñ):Ø�K‰K×)Ñ)ØØØ%Ø/ð	 *õ ñ ™,Ø�K‰K×)Ñ)¨"°8ÀlÐ)ÕSÙÑ+Ø�K‰K×)Ñ)Ø˜Ð1Bð *õ ñ Ñ/Ø�K‰K×)Ñ)Ø˜\Ð9Jð *õ ñ Ø�K‰K×)Ñ)¨"°8Ð)Õ<ÙØ�K‰K×)Ñ)¨"°|Ð)ÕDÙØ�K‰K×)Ñ)¨"Ð<MÐ)ÕNð rd   c                 ó   — t        d«      ‚)Nz4Collection forking is not implemented for SegmentAPI©ÚNotImplementedError)rl   rÊ   rÓ   rŠ   rª   s        rb   Ú_forkzSegmentAPI._fork»  s   € ô "ØBó
ð 	
rd   c                 ó   — t        d«      ‚)Nz,Fork count is not implemented for SegmentAPIrÝ   ©rl   rÊ   rŠ   rª   s       rb   Ú_fork_countzSegmentAPI._fork_countÇ  s   € ô "Ø:ó
ð 	
rd   ÚIndexingStatusc                 ó   — t        d«      ‚)Nz1Indexing status is not implemented for SegmentAPIrÝ   rá   s       rb   Ú_get_indexing_statuszSegmentAPI._get_indexing_statusÒ  s   € ô "Ð"UÓVÐVrd   ÚsearchesÚ
read_levelc                 ó   — t        d«      ‚)Nz(Search is not implemented for SegmentAPIrÝ   )rl   rÊ   ræ   rŠ   rª   rç   s         rb   Ú_searchzSegmentAPI._searchÛ  s   € ô "Ð"LÓMÐMrd   zSegmentAPI.delete_collectionc                 ó  — | j                   j                  |||¬«      }|rT| j                  j                  |d   j                  «       | j                   j                  |d   j                  ||¬«       y t        d|› d�«      ‚)NrÃ   r   rÑ   r±   rÄ   )rq   rÆ   rr   Údelete_segmentsr�   Údelete_collectionr^   rÇ   s        rb   rì   zSegmentAPI.delete_collectionæ  s€   € ð —;‘;×.Ñ.Ø˜f¨xð /ó 
ˆñ Ø�M‰M×)Ñ)¨(°1©+¯.©.Ô9Ø�K‰K×)Ñ)Ø˜‘—‘ v¸ð *õ ô ˜{¨4¨&Ð0@ÐAÓBÐBrd   zSegmentAPI._addÚidsÚ
embeddingsÚ	metadatasÚ	documentsÚurisc	                 ó¶  — | j                  |«      }	| j                  j                  |t        j                  j
                  «       t        |||||fd| j                  «       i«       t        t        t        j                  j
                  |||||¬«      «      }
| j                  |	|
«       | j                  j                  t        j
                  |||||||¬«       | j                  j                  ||
«       | j                   j#                  t%        t'        |«      t)        |«      |�t)        |«      nd|�t)        |«      nd|�t)        |«      nd¬«      «       y)NÚmax_batch_size©rí   rî   rï   rð   rñ   ©rŒ   rŠ   rí   rî   rï   rð   rñ   rÊ   r   )r²   Ú
add_amountÚwith_metadataÚwith_documentsÚ	with_urisT)r×   rr   Úhint_use_collectionÚtÚ	OperationÚADDr>   Úget_max_batch_sizeÚlistÚ_recordsÚ_validate_embedding_record_setr€   rŽ   r   rt   Úsubmit_embeddingsru   rº   rB   r»   r]   )rl   rí   rÊ   rî   rï   rð   rñ   rŠ   rª   r½   Úrecords_to_submits              rb   Ú_addzSegmentAPI._addû  s?  € ð ×#Ñ# MÓ2ˆØ�‰×)Ñ)¨-¼¿¹¿¹ÔIÜØ�*˜i¨°DÐ9Ø˜t×6Ñ6Ó8Ð9ô	
ô !ÜÜ—‘—‘ØØ%Ø#Ø#Øôó	
Ðð 	×+Ñ+¨DÐ2CÔDà×Ñ×$Ñ$Ü—:‘:ØØØ!ØØØØ'ð 	%ô 		
ð 	�‰×(Ñ(¨Ð8IÔJà×&Ñ&×.Ñ.ÜÜ # MÓ 2Ü˜s›8Ø*3Ð*?œc #œhÀQØ+4Ð+@œs 3œxÀaØ&*Ð&6œ#˜cœ(¸Aôô	
ð rd   zSegmentAPI._updatec	                 óÐ  — | j                  |«      }	| j                  j                  |t        j                  j
                  «       t        |||||fd| j                  «       i«       t        t        t        j                  j
                  |||||¬«      «      }
| j                  |	|
«       | j                  j                  t        j
                  ||||||¬«       | j                  j                  ||
«       | j                   j#                  t%        t'        |«      t)        |«      |rt)        |«      nd|rt)        |«      nd|rt)        |«      nd|rt)        |«      nd¬«      «       y)Nró   rô   )rŒ   rŠ   rí   rî   rï   rð   rñ   r   )r²   Úupdate_amountÚwith_embeddingsr÷   rø   rù   T)r×   rr   rú   rû   rü   ÚUPDATEr>   rþ   rÿ   r   r  r€   rŽ   r   rt   r  ru   rº   rE   r»   r]   ©rl   rÊ   rí   rî   rï   rð   rñ   rŠ   rª   r½   r  s              rb   Ú_updatezSegmentAPI._update3  sB  € ð ×#Ñ# MÓ2ˆØ�‰×)Ñ)¨-¼¿¹×9KÑ9KÔLÜØ�*˜i¨°DÐ9Ø˜t×6Ñ6Ó8Ð9ô	
ô !ÜÜ—‘×"Ñ"ØØ%Ø#Ø#Øôó	
Ðð 	×+Ñ+¨DÐ2CÔDà×Ñ×$Ñ$Ü—=‘=ØØØ!ØØØð 	%ô 	
ð 	�‰×(Ñ(¨Ð8IÔJà×&Ñ&×.Ñ.Ü!Ü # MÓ 2Ü! #›hÙ3=¤ J¤À1Ù09œc )œn¸qÙ1:œs 9œ~ÀÙ'+œ#˜dœ)°ôô		
ð rd   zSegmentAPI._upsertc	           
      óò  — | j                  |«      }	| j                  j                  |t        j                  j
                  «       t        |||||fd| j                  «       i«       t        t        t        j                  j
                  |||||¬«      «      }
| j                  |	|
«       | j                  j                  t        j
                  |||||||¬«       | j                  j                  ||
«       y)Nró   rô   rõ   T)r×   rr   rú   rû   rü   ÚUPSERTr>   rþ   rÿ   r   r  r€   rŽ   r   rt   r  r	  s              rb   Ú_upsertzSegmentAPI._upsertl  sì   € ð ×#Ñ# MÓ2ˆØ�‰×)Ñ)¨-¼¿¹×9KÑ9KÔLÜØ�*˜i¨°DÐ9Ø˜t×6Ñ6Ó8Ð9ô	
ô !ÜÜ—‘×"Ñ"ØØ%Ø#Ø#Øôó	
Ðð 	×+Ñ+¨DÐ2CÔDà×Ñ×$Ñ$Ü—=‘=ØØØ!ØØØØ'ð 	%ô 		
ð 	�‰×(Ñ(¨Ð8IÔJàrd   zSegmentAPI._getc                 ó"   — t        | t        «      S r{   ©Ú
isinstancer+   ©Úes    rb   ú<lambda>zSegmentAPI.<lambda>�  ó   € ¬:°aÔ9MÓ+N€ rd   é   é   T)r   ÚwaitÚstopÚreraiseÚwhereÚwhere_documentÚincludec
                 óX  — t        t        |«      |rt        |«      nddœ«       | j                  |«      }
|�t	        |«       |�t        |«       | j                  j                  t        j                  |||||¬«       |rt        |«      nd}| j                  j                  t        t        |«      ||r|ndd|v r|ndd|v r|ndd|v r|nd¬«      «       | j                  j                  t        |
t!        |||«      t#        |xs d|«      t%        d|v d|v d|v d	d|v «      «      «      S )
Nr   ©rÊ   Ú	ids_count)rŒ   rŠ   rí   r  r  r—   rï   rð   rñ   )r²   r  r—   Úinclude_metadataÚinclude_documentsÚinclude_urisrî   F)r    r»   r]   Ú_scanr<   r=   r€   rŽ   r   ÚGETru   rº   rD   rs   Úgetr   r   r   r   )rl   rÊ   rí   r  r—   r˜   r  r  rŠ   rª   ÚscanÚ
ids_amounts               rb   Ú_getzSegmentAPI._get›  sK  € ô* 	'ä!$ ]Ó!3Ù),œS œX°!ñô	
ð �z‰z˜-Ó(ˆð ÐÜ˜5Ô!àÐ%Ü# NÔ3à×Ñ×$Ñ$Ü—:‘:ØØØØ)Øð 	%ô 	
ñ "%”S˜”X¨!ˆ
Ø×&Ñ&×.Ñ.ÜÜ # MÓ 2Ø$Ù$‘e¨!Ø/:¸gÑ/E¡È1Ø0;¸wÑ0F¡*ÈAØ+1°WÑ+<™ZÀ!ôô		
ð �~‰~×!Ñ!ÜØÜ�s˜E >Ó2Ü�f’k  5Ó)ÜØ 7Ð*Ø  GÐ+Ø 7Ð*ØØ˜gÐ%óó	ó
ð 	
rd   zSegmentAPI._deletec           
      óv  — t        t        |«      |rt        |«      nddœ«       |�t        |«       |�t	        |«       |�|�=t        |«      dk(  r/|�|�+t        |«      dk(  r|�|�t        |«      dk(  rt        d«      ‚| j                  |«      }| j                  j                  t        j                  ||||¬«       | j                  j                  |t        j                  j                  «       |s|s|s4| j                  j!                  t#        |t%        |||«      «      «      d   }	n|}	|�Dt'        |t(        «      rt'        |t*        «      s|dk  rt        d«      ‚|€|€t        d«      ‚|	d | }	t        |	«      dk(  rt-        d¬«      S t/        t1        t        j                  j                  |	¬	«      «      }
| j3                  |j4                  |
«       | j6                  j9                  ||
«       t        |	«      }| j:                  j=                  t?        t        |«      |¬
«      «       t-        |¬«      S )Nr   r  aU  
                You must provide either ids, where, or where_document to delete. If
                you want to delete all data in a collection you can delete the
                collection itself using the delete_collection method. Or alternatively,
                you can get() all the relevant ids and then delete them.
                )rŒ   rŠ   rí   r  r  rí   z$limit must be a non-negative integerzMlimit can only be specified when a where or where_document clause is provided)Údeleted)Ú	operationrí   )r²   Údelete_amount) r    r»   r]   r<   r=   r^   r#  r€   rŽ   r   ÚDELETErr   rú   rû   rü   rs   r%  r   r   r  r„   ÚboolrA   rÿ   r   r  Ú
collectionrt   r  ru   rº   rC   )rl   rÊ   rí   r  r  r—   rŠ   rª   r&  Úids_to_deleter  Údeleted_counts               rb   Ú_deletezSegmentAPI._deleteä  s&  € ô 	'ä!$ ]Ó!3Ù),œS œX°!ñô	
ð ÐÜ˜5Ô!àÐ%Ü# NÔ3ð ˆ[˜S˜_´°S³¸Q²Ø� 5Ð#4¼¸U»ÀqºàÐ&Ø"Ð.´3°~Ó3FÈ!Ò3Kô ðóð ð �z‰z˜-Ó(ˆà×Ñ×$Ñ$Ü—=‘=ØØØØ)ð 	%ô 	
ð 	�‰×)Ñ)¨-¼¿¹×9KÑ9KÔLá‘^©CØ ŸN™N×.Ñ.Ü˜œf S¨%°Ó@ÓAóàñ‰Mð  ˆMð ÐÜ˜e¤SÔ)¬Z¸¼tÔ-DÈÐPQÊ	Ü Ð!GÓHÐHØˆ} Ð!7Ü Øcóð ð *¨&¨5Ð1ˆMäˆ}Ó Ò"Ü¨Ô*Ð*ä ÜœqŸ{™{×1Ñ1°}ÔEó
Ðð 	×+Ñ+¨D¯O©OÐ=NÔOØ�‰×(Ñ(¨Ð8IÔJä˜MÓ*ˆà×&Ñ&×.Ñ.Ü!Ü # MÓ 2À-ôô	
ô  MÔ2Ð2rd   zSegmentAPI._countc                 ó"   — t        | t        «      S r{   r  r  s    rb   r  zSegmentAPI.<lambda>C  r  rd   c                 ó”   — t        dt        |«      i«       | j                  j                  t	        | j                  |«      «      «      S )NrÊ   )r    r»   rs   Úcountr   r#  )rl   rÊ   rŠ   rª   rç   s        rb   Ú_countzSegmentAPI._countA  s9   € ô  	'¨¼¸]Ó9KÐ'LÔMØ�~‰~×#Ñ#¤I¨d¯j©j¸Ó.GÓ$HÓIÐIrd   zSegmentAPI._queryc                 ó"   — t        | t        «      S r{   r  r  s    rb   r  zSegmentAPI.<lambda>]  r  rd   é
   Úquery_embeddingsÚ	n_resultsc
                 óÜ  — t        t        |«      |t        |«      dœ«       t        |«      }
|rt        |«      nd}| j                  j	                  t        t        |«      |
|||�|
nd|�|
ndd|v r|
ndd|v r|
ndd|v r|
ndd|v r|
nd¬«
      «       |�t        |«       |�t        |«       | j                  |«      }|D ])  }| j                  |j                  t        |«      d¬	«       Œ+ | j                  j                  t        j                  |||||¬
«       | j                  j!                  t#        |t%        ||«      t'        d ||«      t)        d|v d|v d|v d|v d|v «      «      «      S )N)rÊ   r:  r  r   rï   rð   rñ   Ú	distances)
r²   Úquery_amountÚfiltered_ids_amountr:  Úwith_metadata_filterÚwith_document_filterÚinclude_metadatasr!  r"  Úinclude_distancesF©Úupdate)rŒ   rŠ   r  r  r9  r:  rî   )r    r»   r]   ru   rº   rF   r<   r=   r#  Ú_validate_dimensionr/  r€   rŽ   r   ÚQUERYrs   Úknnr   r   r   r   )rl   rÊ   r9  rí   r:  r  r  r  rŠ   rª   r=  r'  r&  Ú	embeddings                 rb   Ú_queryzSegmentAPI._queryT  s¥  € ô8 	'ä!$ ]Ó!3Ø&Ü˜U›ñô	
ô Ð+Ó,ˆÙ!$”S˜”X¨!ˆ
Ø×&Ñ&×.Ñ.Ü Ü # MÓ 2Ø)Ø$.Ø#Ø5:Ð5F¡\ÈAØ5CÐ5O¡\ÐUVØ2=ÀÑ2H¡,ÈaØ2=ÀÑ2H¡,ÈaØ-3°wÑ->™\ÀAØ2=ÀÑ2H¡,Èaôô	
ð  ÐÜ˜5Ô!ØÐ%Ü# NÔ3à�z‰z˜-Ó(ˆØ)ò 	TˆIØ×$Ñ$ T§_¡_´c¸)³nÈUÐ$ÕSð	Tð 	×Ñ×$Ñ$Ü—<‘<ØØØ)Ø-Øð 	%ô 	
ð �~‰~×!Ñ!ÜØÜÐ$ iÓ0Ü�t˜U NÓ3ÜØ 7Ð*Ø  GÐ+Ø 7Ð*Ø 7Ð*Ø˜gÐ%óó	ó
ð 	
rd   zSegmentAPI._peekÚnc                 óT   — t        dt        |«      i«       | j                  ||¬«      S )NrÊ   )r—   )r    r»   r(  )rl   rÊ   rJ  rŠ   rª   s        rb   Ú_peekzSegmentAPI._peek«  s)   € ô 	'¨¼¸]Ó9KÐ'LÔMØ�y‰y˜¨aˆyÓ0Ð0rd   c                 ó   — t         S r{   r'   r‡   s    rb   Úget_versionzSegmentAPI.get_version¸  s   € äÐrd   c                  ó   — y r{   © r‡   s    rb   Úreset_statezSegmentAPI.reset_state¼  s   € àrd   c                 ó8   — | j                   j                  «        y)NT)r�   rQ  r‡   s    rb   ÚresetzSegmentAPI.resetÀ  s   € à�‰× Ñ Ô"Ørd   c                 ó   — | j                   S r{   )rp   r‡   s    rb   Úget_settingszSegmentAPI.get_settingsÅ  s   € à�~‰~Ðrd   c                 ó.   — | j                   j                  S r{   )rt   ró   r‡   s    rb   rþ   zSegmentAPI.get_max_batch_sizeÉ  s   € à�~‰~×,Ñ,Ð,rd   Úfunction_idÚinput_collection_idÚoutput_collectionÚparamsr	   c                 ó   — t        d«      ‚©zNAttached functions are not supported in the Segment API (local embedded mode).z§Attached functions are only supported when connecting to a Chroma server via HttpClient. The Segment API (embedded mode) does not support attached function operations.rÝ   )rl   rW  r‰   rX  rY  rZ  rŠ   rª   s           rb   Úattach_functionzSegmentAPI.attach_functionÍ  s   € ô "ð]ó
ð 	
rd   c                 ó   — t        d«      ‚r\  rÝ   )rl   r‰   rX  rŠ   rª   s        rb   Úget_attached_functionz SegmentAPI.get_attached_functionÞ  s   € ô "ð]ó
ð 	
rd   Údelete_outputc                 ó   — t        d«      ‚r\  rÝ   )rl   r‰   rX  r`  rŠ   rª   s         rb   Údetach_functionzSegmentAPI.detach_functionì  s   € ô "ð]ó
ð 	
rd   z)SegmentAPI._validate_embedding_record_setr/  Úrecordsc                 ó�   — t        dt        |d   «      i«       |D ](  }|d   €Œ	| j                  |t        |d   «      d¬«       Œ* y)zQValidate the dimension of an embedding record before submitting it to the system.rÊ   r�   rH  NTrC  )r    r»   rE  r]   )rl   r/  rc  Úrecords       rb   r  z)SegmentAPI._validate_embedding_record_setÿ  sY   € ô 	'¨¼¸ZÈÑ=MÓ9NÐ'OÔPØò 	ˆFØ�kÑ"Ñ.Ø×(Ñ(Ø¤ F¨;Ñ$7Ó 8Àð )õ ñ	rd   ÚdimrD  c                 óª   — |d   €2|r/|j                   }| j                  j                  ||¬«       ||d<   yy|d   |k7  rt        d|› d|d   › �«      ‚y)z°Validate that a collection supports records of the given dimension. If update
        is true, update the collection if the collection doesn't already have a
        dimension.r¯   N)r�   r¯   zEmbedding dimension z* does not match collection dimensionality )r�   rq   rÙ   r)   )rl   r/  rf  rD  r�   s        rb   rE  zSegmentAPI._validate_dimension  s{   € ð �kÑ"Ð*ÙØ—]‘]�Ø—‘×-Ñ-°¸sÐ-ÔCØ*-�
˜;Ò'ð ð ˜Ñ$¨Ò+Ü+Ø& s eÐ+UÐV`ÐalÑVmÐUnÐoóð ð rd   zSegmentAPI._get_collectionc                 ó‚   — | j                   j                  |¬«      }|rt        |«      dk(  rt        d|› d�«      ‚|d   S )N)r�   r   r±   rÄ   )rq   rÆ   r]   r*   )rl   rÊ   Úcollectionss      rb   r×   zSegmentAPI._get_collection   sG   € à—k‘k×1Ñ1°]Ð1ÓCˆÙœc +Ó.°!Ò3Ü +¨m¨_Ð<LÐ MÓNÐNØ˜1‰~Ðrd   zSegmentAPI._scanc           	      óN  — | j                   j                  |«      }|d   D �ci c]  }|d   |“Œ
 }}t        |d   |t        j                  j
                     |t        j                  j                     |j                  t        j                  j                  d «      ¬«      S c c}w )Nr°   Úscoper/  )r/  rG  r¨   re  )	rq   Úget_collection_with_segmentsr   rû   ÚSegmentScopeÚVECTORÚMETADATAr%  ÚRECORD)rl   rÊ   Úcollection_and_segmentsr¿   Úscope_to_segments        rb   r#  zSegmentAPI._scan'  s¡   € à"&§+¡+×"JÑ"JØó#
Ðð 6MÈZÑ5Xö
Ø*1ˆG�GÑ˜gÑ%ð
Ðð 
ô Ø.¨|Ñ<Ø ¤§¡×!6Ñ!6Ñ7Ø%¤a§n¡n×&=Ñ&=Ñ>à#×'Ñ'¬¯©×(=Ñ(=¸tÓDô
ð 	
ùò
s   £B")rY   N)kÚ__name__Ú
__module__Ú__qualname__Ú__doc__r   Ú__annotations__r   r   r   r%   r$   r!   r»   r   r   r}   rQ   r„   rˆ   r#   r"   Ú	OPERATIONr   r�   rû   ÚDatabaser”   r–   rH   rI   rš   r�   r   r£   ÚTenantr¥   rk   r   r2   r
   r,   r.  r´   rµ   rÁ   rÉ   rR   rÌ   rÏ   rÒ   r   rÛ   rß   râ   rå   r1   ÚINDEX_AND_WALrK   rU   r9   ré   rì   r-   r.   r/   r0   r3   r  r
  r  r   r   r   r   r?   r4   r5   r6   r7   r(  rA   r2  r6  r@   r8   rI  rL  rN  rQ  rS  rU  rþ   rM   rL   rP   r]  r_  rb  ÚALLr&   ÚOperationRecordr  rE  r×   r   r#  Ú__classcell__)r‚   s   @rb   ro   ro   }   sÏ  ø… ÙRàÓØƒMØÓØÓØÓØ5Ó5Ø.Ó.ØƒOØƒNØ+Ó+ð
L˜võ 
Lð ð#˜3ò #ó ð#ñ Ð.Ð0H×0RÑ0RÓSØØ7Eñ 
 Cð 
°ð 
È$ò 
ó ó Tð
ñ  Ð+Ð-E×-OÑ-OÓPØØ4Bñ B ð B¨cð BÀqÇzÁzò Bó ó QðBñ Ð.Ð0H×0RÑ0RÓSØØ7Eñ > Cð >°ð >È$ò >ó ó Tð>ñ Ð-Ð/G×/QÑ/QÓRØð  $Ø $Ø$ñ	Uà˜‰}ðUð ˜‘ðUð ð	Uð
 
�!—*‘*Ñ	òUó ó SðUñ Ð,Ð.F×.PÑ.PÓQØð
 #ð 
¨$ò 
ó ó Rð
ð ð
 <ò 
ó ð
ñ Ð)Ð+C×+MÑ+MÓNØð1˜sð 1 q§x¡xò 1ó ó Oð1ñ Ð0Ð2J×2TÑ2TÓUØØð $(ØAEØ15Ø#Ø$Ø(ñGàðGð ˜Ñ ðGð  Ð =Ñ>ð	Gð
 Ð-Ñ.ðGð ðGð ðGð ðGð 
òGó ó ó VðGñR Ø-Ð/G×/QÑ/Qóð Øð $(ØAEØ15Ø$Ø(ñ
àð
ð ˜Ñ ð
ð  Ð =Ñ>ð	
ð
 Ð-Ñ.ð
ð ð
ð ð
ð 
ò
ó ó óð

ñ, Ð-Ð/G×/QÑ/QÓRØØð #Ø$Ø(ñ	Fà�s‰mðFð ðFð ð	Fð
 
òFó ó ó SðFñ Ð3Ð5M×5WÑ5WÓXØØð %Ø(ñ	OàðOð ðOð ð	Oð
 
òOó ó ó YðOñ Ð.Ð0H×0RÑ0RÓSØØð  $Ø $Ø$Ø(ñ
à˜‰}ð
ð ˜‘ð
ð ð	
ð
 ð
ð 
�/Ñ	"ò
ó ó ó Tð
ñ" Ð0Ð2J×2TÑ2TÓUØØð %Ø(ñOàðOð ðOð 
ò	Oó ó ó VðOñ Ð&Ð(@×(JÑ(JÓKØØð #'Ø59ØEIØ$Ø(ñ2Oàð2Oð ˜3‘-ð2Oð Ð1Ñ2ð	2Oð
 $Ð$AÑBð2Oð ð2Oð ð2Oð 
ò2Oó ó ó Lð2Oðh ð
 %Ø(ñ	
àð	
ð ð	
ð ð		
ð
 ð	
ð 
ò	
ó ð	
ð ð %Ø(ñ	
àð
ð ð
ð ð	
ð
 
ò
ó ð
ð ð %Ø(ñ	WàðWð ðWð ð	Wð
 
òWó ðWð ð
 %Ø(Ø )× 7Ñ 7ñNàðNð �v‘,ðNð ð	Nð
 ðNð ðNð 
òNó ðNñ Ð0Ð2J×2TÑ2TÓUØØð %Ø(ñ	CàðCð ðCð ð	Cð
 
òCó ó ó VðCñ$ Ð#Ð%=×%GÑ%GÓHØØð *.Ø)-Ø#Ø$Ø(ñ3àð3ð ð3ð ð	3ð
 ˜IÑ&ð3ð ˜IÑ&ð3ð �t‰nð3ð ð3ð ð3ð 
ò3ó ó ó Ið3ñj Ð&Ð(@×(JÑ(JÓKØØð
 ,0Ø)-Ø)-Ø#Ø$Ø(ñ4àð4ð ð4ð ˜ZÑ(ð	4ð
 ˜IÑ&ð4ð ˜IÑ&ð4ð �t‰nð4ð ð4ð ð4ð 
ò4ó ó ó Lð4ñl Ð&Ð(@×(JÑ(JÓKØØð *.Ø)-Ø#Ø$Ø(ñ*àð*ð ð*ð ð	*ð
 ˜IÑ&ð*ð ˜IÑ&ð*ð �t‰nð*ð ð*ð ð*ð 
ò*ó ó ó Lð*ñX Ð#Ð%=×%GÑ%GÓHÙ
Ù Ñ!NÓOÙ˜‹]Ù Ó"Øô	ð Øð "Ø!%Ø#Ø $Ø26Ø3Ø$Ø(ñ>
àð>
ð �c‰]ð>
ð ˜‰ð	>
ð
 ˜‰}ð>
ð ˜‘ð>
ð ! Ñ/ð>
ð ð>
ð ð>
ð ð>
ð 
ò>
ó ó óó Ið>
ñ@ Ð&Ð(@×(JÑ(JÓKØØð "Ø!%Ø26Ø#Ø$Ø(ñX3àðX3ð �c‰]ðX3ð ˜‰ð	X3ð
 ! Ñ/ðX3ð ˜‰}ðX3ð ðX3ð ðX3ð 
òX3ó ó ó LðX3ñt Ð%Ð'?×'IÑ'IÓJÙ
Ù Ñ!NÓOÙ˜‹]Ù Ó"Øô	ð Øð %Ø(Ø )× 7Ñ 7ñJàðJð ðJð ð	Jð
 ðJð 
òJó ó óó KðJñ Ð%Ð'?×'IÑ'IÓJñ Ù Ñ!NÓOÙ˜‹]Ù Ó"Øô	ð Øð
 "ØØ!%Ø26Ø<Ø$Ø(ñE
àðE
ð %ðE
ð �c‰]ð	E
ð
 ðE
ð ˜‰ðE
ð ! Ñ/ðE
ð ðE
ð ðE
ð ðE
ð 
òE
ó ó óó Kð E
ñN Ð$Ð&>×&HÑ&HÓIØØð Ø$Ø(ñ1àð1ð ð1ð ð	1ð
 ð1ð 
ò1ó ó ó Jð1ð ð˜Sò ó ðð òó ðð ð�tò ó ðð ð˜hò ó ðð ð- Cò -ó ð-ð ð ,0Ø$Ø(ñ
àð
ð ð
ð "ð	
ð
 ð
ð ˜˜c 3˜h™Ñ(ð
ð ð
ð ð
ð 
Ð! 4Ð'Ñ	(ò
ó ð
ð  ð
 %Ø(ñ
àð
ð "ð
ð ð	
ð
 ð
ð 
ò
ó ð
ð ð
 $Ø$Ø(ñ
àð
ð "ð
ð ð	
ð
 ð
ð ð
ð 
ò
ó ð
ñ$ Ø3Ð5M×5QÑ5Qóð	ØŸ,™,ð	Ø15°a×6GÑ6GÑ1Hð	à	ò	óð	ðØŸ,™,ðØ-0ðØ:>ðà	óñ$ Ð.Ð0H×0LÑ0LÓMð¨Tð °a·l±lò ó Nðñ Ð$Ð&>×&HÑ&HÓIð
 4ð 
¨Dò 
ó Jô
rd   ro   r+  rí   rî   rï   rð   rñ   c              #   ó$  K  — |g k(  rd}t        |«      D ]w  \  }}d}|r||   }|r||   }	|r	i |¥d|	i¥}nd|	i}|r||   }
|r	i |¥d|
i¥}nd|
i}t        j                  ||�||   ndt        j                  j                  || ¬«      }|–— Œy y­w)ziConvert parallel lists of embeddings, metadatas and documents to a sequence of
    SubmitEmbeddingRecordsNzchroma:documentz
chroma:uri)r�   rH  Úencodingr¨   r+  )Ú	enumeraterû   r}  ÚScalarEncodingÚFLOAT32)r+  rí   rî   rï   rð   rñ   Úir�   r¨   ÚdocumentÚurire  s               rb   r   r   ;  sÏ   è ø€ ð �RÒØˆ
ä˜3“ò ‰ˆˆ2ØˆÙØ  ‘|ˆHáØ  ‘|ˆHÙØD˜hÐDÐ(9¸8ÑD‘à-¨xÐ8�áØ�q‘'ˆCÙØ:˜hÐ:¨°cÑ:‘à(¨#Ð.�ä×"Ñ"ØØ'1Ð'=�j ’mÀ4Ü×%Ñ%×-Ñ-ØØô
ˆð ‹ñ5ùs   ‚BB)NNNN)|Útypingr   Útenacityr   r   r   r   Úchromadb.apir   Ú$chromadb.api.models.AttachedFunctionr	   Ú%chromadb.api.collection_configurationr
   r   r   Úchromadb.authr   Úchromadb.configr   r   r   r   Úchromadb.db.systemr   Úchromadb.quotar   r   Úchromadb.rate_limitr   Úchromadb.segmentr   Ú$chromadb.execution.executor.abstractr   Ú&chromadb.execution.expression.operatorr   r   r   r   r   Ú"chromadb.execution.expression.planr   r   r   Ú chromadb.telemetry.opentelemetryr    r!   r"   r#   Úchromadb.telemetry.productr$   Úchromadb.ingestr%   Úchromadb.typesr&   r´   Úchromadbr(   Úchromadb.errorsr)   r*   r+   Úchromadb.api.typesr,   r-   r.   r/   r0   r1   r2   r3   r4   r5   r6   r7   r8   r9   r:   r;   r<   r=   r>   r?   r@   rA   Ú!chromadb.telemetry.product.eventsrB   rC   rD   rE   rF   rG   Útypesrû   rH   rI   rJ   rK   rL   rM   rN   rO   rP   Ú	overridesrQ   ÚuuidrR   rS   Ú	functoolsrT   r…   Úloggingr_   rU   rV   Ú	getLoggerrs  r¸   r»   rc   rk   ro   rü   r}  r   rP  rd   rb   ú<module>r£     s–  ðÝ  ç NÓ NÝ "áÝE÷ñ õ
 'ß NÓ NÝ $ß 0Ý 1Ý +Ý 9ß WÕ Wß JÑ J÷ó õ >Ý $Ý 8Ý  ÷ñ ÷
÷ ÷ ÷ ÷ ÷ ÷0÷ õ ÷
÷ 
õ 
õ ß Ý Û Û Û 	Ý 5áˆC�x  S Ñ)Ô*€à	ˆ×	Ñ	˜8Ó	$€ð ð ¨ó ð(�Qð ˜1ó ô{
�ô {
ðB (,Ø%)Ø%)Øñ,Ø�{‰{ð,à	ð,ð ˜Ñ$ð,ð ˜	Ñ"ð	,ð
 ˜	Ñ"ð,ð �4‰.ð,ð ˆq× Ñ  $¨Ð,Ñ-ô,rd   