§
    ˜Štjî  ã                   ó  — d dl Z 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mZmZ d dlmZ d dlmZ d dl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!m"Z" d dl#m$Z$ d dl%Z% e%j&        e'¦  «        Z( G d„ dee¦  «        Z)dS )é    N)Ú RetryOnRpcErrorClientInterceptor)ÚProducerÚConsumerÚConsumerCallbackFn©Úto_proto_submit)ÚPushLogsRequestÚPullLogsRequestÚ	LogRecord)ÚLogServiceStub)ÚOtelInterceptor)ÚOperationRecordÚSeqId)ÚSystem)ÚOpenTelemetryClientÚOpenTelemetryGranularityÚadd_attributes_to_current_spanÚtrace_method)Úoverride)ÚSequenceÚOptionalÚcast)ÚUUIDc                   ó  ‡ — e Zd ZU dZeed<   eed<   ej        ed<   e	ed<   eed<   de
fˆ fd„Z ed	ej        ¦  «        ed-ˆ fd„¦   «         ¦   «         Z edej        ¦  «        ed-ˆ fd„¦   «         ¦   «         Z edej        ¦  «        ed-ˆ fd„¦   «         ¦   «         Z edej        ¦  «        eded
dfd„¦   «         ¦   «         Z edej        ¦  «        eded
dfd„¦   «         ¦   «         Z edej        ¦  «        ededed
efd„¦   «         ¦   «         Z edej        ¦  «        ededee         d
ee         fd„¦   «         ¦   «         Z edej        ¦  «        e	 	 	 d.dededee         dee         d ee         d
efd!„¦   «         ¦   «         Z ed"ej        ¦  «        ed#ed
dfd$„¦   «         ¦   «         Zed
efd%„¦   «         Zed
efd&„¦   «         Z e!ed
efd'„¦   «         ¦   «         Z"ded(ee         d
efd)„Z#ded*ed+ed
ee$         fd,„Z%ˆ xZ&S )/Ú
LogServicez(
    Distributed Chroma Log Service
    Ú_log_service_stubÚ_request_timeout_secondsÚ_channelÚ_log_service_urlÚ_log_service_portÚsystemc                 óB  •— |j                              d¦  «        | _        |j                              d¦  «        | _        |j                              d¦  «        | _        |                     t
          ¦  «        | _        t          ¦   «                              |¦  «         d S )NÚchroma_logservice_hostÚchroma_logservice_portÚ)chroma_logservice_request_timeout_seconds)	ÚsettingsÚrequirer   r    r   r   Ú_opentelemetry_clientÚsuperÚ__init__)Úselfr!   Ú	__class__s     €ú\/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/chromadb/logservice/logservice.pyr*   zLogService.__init__-   s‡   ø€ Ø &¤× 7Ò 7Ð8PÑ QÔ QˆÔØ!'¤×!8Ò!8Ð9QÑ!RÔ!RˆÔØ(.¬×(?Ò(?Ø7ñ)
ô )
ˆÔ%ð &,§^¢^Õ4GÑ%HÔ%HˆÔ"Ý‰Œ×Ò˜Ñ Ô Ð Ð Ð ó    zLogService.startÚreturnNc                 ó:  •— t          j        | j        › d| j        › �¦  «        | _        t          ¦   «         t          ¦   «         g}t          j        | j        g|¢R Ž | _        t          | j        ¦  «        | _	        t          ¦   «                              ¦   «          d S )Nú:)ÚgrpcÚinsecure_channelr   r    r   r   r   Úintercept_channelr   r   r)   Ústart)r+   Úinterceptorsr,   s     €r-   r5   zLogService.start6   sŒ   ø€ õ Ô-ØÔ$Ð?Ð? tÔ'=Ð?Ð?ñ
ô 
ˆŒõ (Ñ)Ô)Õ+KÑ+MÔ+MÐNˆÝÔ.¨t¬}ÐL¸|ÐLÐLÐLˆŒÝ!/°´Ñ!>Ô!>ˆÔÝ‰Œ�Š‰Œˆˆˆr.   zLogService.stopc                 óz   •— | j                              ¦   «          t          ¦   «                              ¦   «          d S ©N)r   Úcloser)   Ústop©r+   r,   s    €r-   r:   zLogService.stopA   s.   ø€ ð 	Œ×ÒÑÔÐÝ‰Œ�Š‰Œˆˆˆr.   zLogService.reset_statec                 óH   •— t          ¦   «                              ¦   «          d S r8   )r)   Úreset_stater;   s    €r-   r=   zLogService.reset_stateG   s!   ø€ õ 	‰Œ×ÒÑÔÐÐÐr.   zLogService.delete_logÚcollection_idc                 ó    — t          d¦  «        ‚©NzNot implemented©ÚNotImplementedError©r+   r>   s     r-   Ú
delete_logzLogService.delete_logL   ó   € õ "Ð"3Ñ4Ô4Ð4r.   zLogService.purge_logc                 ó    — t          d¦  «        ‚r@   rA   rC   s     r-   Ú	purge_logzLogService.purge_logQ   rE   r.   zLogService.submit_embeddingÚ	embeddingc                 óh   — | j         st          d¦  «        ‚|                      ||g¦  «        d         S )NúComponent not runningr   )Ú_runningÚRuntimeErrorÚsubmit_embeddings)r+   r>   rH   s      r-   Úsubmit_embeddingzLogService.submit_embeddingV   s:   € ð
 Œ}ð 	8ÝÐ6Ñ7Ô7Ð7à×%Ò% m°i°[ÑAÔAÀ!ÔDÐDr.   zLogService.submit_embeddingsÚ
embeddingsc           	      óœ  — t                                dt          |¦  «        › d|› �¦  «         t          dt          |¦  «        i¦  «         | j        st          d¦  «        ‚t          |¦  «        dk    rg S g }d„ |D ¦   «         }|                     |                      |t          t          t                   |¦  «        ¦  «        ¦  «         |S )NzSubmitting z" embeddings to log for collection Úrecords_countrJ   r   c                 ó,   — g | ]}t          |¦  «        ‘ŒS © r   )Ú.0Úrecords     r-   ú
<listcomp>z0LogService.submit_embeddings.<locals>.<listcomp>w   s    € ÐMÐMÐM¸�O¨FÑ3Ô3ÐMÐMÐMr.   )ÚloggerÚinfoÚlenr   rK   rL   ÚappendÚ	push_logsr   r   r   )r+   r>   rO   ÚcountsÚprotos_to_submits        r-   rM   zLogService.submit_embeddings`   sç   € õ
 	�ŠØ\�#˜j™/œ/Ð\Ð\È]Ð\Ð\ñ	
ô 	
ð 	
õ 	'à¥ Z¡¤ðñ	
ô 	
ð 	
ð Œ}ð 	8ÝÐ6Ñ7Ô7Ð7åˆz‰?Œ?˜aÒÐØˆIð ˆØMÐMÀ*ÐMÑMÔMÐØ�ŠØ�NŠNØÝ•X�oÔ.Ð0@ÑAÔAñô ñ	
ô 	
ð 	
ð ˆr.   zLogService.subscribeÚ
consume_fnr5   ÚendÚidc                 ó^   — t                                d|› d�¦  «         t          d¬¦  «        S )NzSubscribing to log for ú, noop for logservicer   )Úint)rW   rX   r   )r+   r>   r^   r5   r_   r`   s         r-   Ú	subscribezLogService.subscribeƒ   s0   € õ 	�ŠÐR¨mÐRÐRÐRÑSÔSÐSÝ˜ˆ{‰{Œ{Ðr.   zLogService.unsubscribeÚsubscription_idc                 óB   — t                                d|› d�¦  «         d S )NzUnsubscribing from rb   )rW   rX   )r+   re   s     r-   ÚunsubscribezLogService.unsubscribe�   s(   € õ 	�ŠÐP¨/ÐPÐPÐPÑQÔQÐQÐQÐQr.   c                 ó   — dS )Nr   rS   ©r+   s    r-   Ú	min_seqidzLogService.min_seqid•   s   € àˆqr.   c                 ó   — t           j        S r8   )ÚsysÚmaxsizeri   s    r-   Ú	max_seqidzLogService.max_seqid™   s
   € åŒ{Ðr.   c                 ó   — dS )Néd   rS   ri   s    r-   Úmax_batch_sizezLogService.max_batch_size�   s	   € ð ˆsr.   Úrecordsc                 óŽ   — t          t          |¦  «        |¬¦  «        }| j                             || j        ¬¦  «        }|j        S )N)r>   rr   ©Útimeout)r	   Ústrr   ÚPushLogsr   Úrecord_count)r+   r>   rr   ÚrequestÚresponses        r-   r[   zLogService.push_logs¢   sL   € Ý!µ°MÑ0BÔ0BÈGÐTÑTÔTˆØÔ)×2Ò2Ø˜TÔ:ð 3ñ 
ô 
ˆð Ô$Ð$r.   Ústart_offsetÚ
batch_sizec                 ó´   — t          t          |¦  «        ||t          j        ¦   «         ¬¦  «        }| j                             || j        ¬¦  «        }|j        S )N)r>   Ústart_from_offsetr|   Úend_timestamprt   )r
   rv   ÚtimeÚtime_nsr   ÚPullLogsr   rr   )r+   r>   r{   r|   ry   rz   s         r-   Ú	pull_logszLogService.pull_logs©   sd   € õ "Ý˜mÑ,Ô,Ø*Ø!Ýœ,™.œ.ð	
ñ 
ô 
ˆð Ô)×2Ò2Ø˜TÔ:ð 3ñ 
ô 
ˆð ÔÐr.   )r/   N)NNN)'Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   Ú__annotations__rc   r2   ÚChannelrv   r   r*   r   r   ÚALLr   r5   r:   r=   r   rD   rG   r   r   rN   r   rM   r   r   rd   rg   rj   rn   Úpropertyrq   r[   r   rƒ   Ú__classcell__)r,   s   @r-   r   r   "   s�  ø€ € € € € € ðð ð &Ð%Ð%Ñ%Ø!Ð!Ð!Ñ!ØŒlÐÐÑØÐÐÑØÐÐÑð!˜vð !ð !ð !ð !ð !ð !ð €\Ð$Ð&>Ô&BÑCÔCØðð ð ð ð ñ „Xñ DÔCðð €\Ð#Ð%=Ô%AÑBÔBØðð ð ð ð ñ „Xñ CÔBðð €\Ð*Ð,DÔ,HÑIÔIØðð ð ð ð ñ „Xñ JÔIðð €\Ð)Ð+CÔ+GÑHÔHØð5¨ð 5°ð 5ð 5ð 5ñ „Xñ IÔHð5ð €\Ð(Ð*BÔ*FÑGÔGØð5 tð 5°ð 5ð 5ð 5ñ „Xñ HÔGð5ð €\Ð/Ð1IÔ1MÑNÔNØðEØ!ðEØ.=ðEà	ðEð Eð Eñ „Xñ OÔNðEð €\Ð0Ð2JÔ2NÑOÔOØðØ!ðØ/7¸Ô/Hðà	�%Œðð ð ñ „Xñ PÔOððB €\Ð(Ð*BÔ*FÑGÔGØð
 "&Ø#Ø!ð	ð 	àð	ð 'ð	ð ˜Œð		ð
 �eŒ_ð	ð �TŒNð	ð 
ð	ð 	ð 	ñ „Xñ HÔGð	ð €\Ð*Ð,DÔ,HÑIÔIØðR¨4ð R°Dð Rð Rð Rñ „Xñ JÔIðRð ð˜5ð ð ð ñ „Xðð ð˜5ð ð ð ñ „Xðð Øð ð ð ð ñ „Xñ „Xðð% tð %°h¸Ô6Oð %ÐTWð %ð %ð %ð %ð Ø!ð Ø14ð ØBEð à	�)Ô	ð ð  ð  ð  ð  ð  ð  ð  r.   r   )*rl   Úchromadb.proto.utilsr   r2   r€   Úchromadb.ingestr   r   r   Úchromadb.proto.convertr   Úchromadb.proto.logservice_pb2r	   r
   r   Ú"chromadb.proto.logservice_pb2_grpcr   Ú%chromadb.telemetry.opentelemetry.grpcr   Úchromadb.typesr   r   Úchromadb.configr   Ú chromadb.telemetry.opentelemetryr   r   r   r   Ú	overridesr   Útypingr   r   r   Úuuidr   ÚloggingÚ	getLoggerr„   rW   r   rS   r.   r-   ú<module>r›      sÑ  ðØ 
€
€
€
à AÐ AÐ AÐ AÐ AÐ AØ €€€Ø €€€ðð ð ð ð ð ð ð ð ð ð
 3Ð 2Ð 2Ð 2Ð 2Ð 2Ø UÐ UÐ UÐ UÐ UÐ UÐ UÐ UÐ UÐ UØ =Ð =Ð =Ð =Ð =Ð =Ø AÐ AÐ AÐ AÐ AÐ Aðð ð ð ð ð ð ð ð #Ð "Ð "Ð "Ð "Ð "ðð ð ð ð ð ð ð ð ð ð ð ð Ð Ð Ð Ð Ð Ø +Ð +Ð +Ð +Ð +Ð +Ð +Ð +Ð +Ð +Ø Ð Ð Ð Ð Ð Ø €€€à	ˆÔ	˜8Ñ	$Ô	$€ðS ð S ð S ð S ð S �˜8ñ S ô S ð S ð S ð S r.   