Ë
    lQêjî  ã                   ó  — 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%jL                  e'«      Z( G d„ dee«      Z)y)é    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                 ó  •— |j                   j                  d«      | _        |j                   j                  d«      | _        |j                   j                  d«      | _        |j                  t
        «      | _        t        ‰| �!  |«       y )NÚchroma_logservice_hostÚchroma_logservice_portÚ)chroma_logservice_request_timeout_seconds)	ÚsettingsÚrequirer   r   r   r   Ú_opentelemetry_clientÚsuperÚ__init__)Úselfr    Ú	__class__s     €úc/home/oem/CyberBrain26-unified/.venv/lib/python3.12/site-packages/chromadb/logservice/logservice.pyr)   zLogService.__init__-   sn   ø€ Ø &§¡× 7Ñ 7Ð8PÓ QˆÔØ!'§¡×!8Ñ!8Ð9QÓ!RˆÔØ(.¯©×(?Ñ(?Ø7ó)
ˆÔ%ð &,§^¡^Ô4GÓ%HˆÔ"Ü‰Ñ˜Õ ó    zLogService.startÚreturnNc                 ó.  •— t        j                  | j                  › d| j                  › �«      | _        t        «       t        «       g}t        j                  | j                  g|¢­Ž | _        t        | j                  «      | _	        t        ‰| �-  «        y )Nú:)ÚgrpcÚinsecure_channelr   r   r   r   r   Úintercept_channelr   r   r(   Ústart)r*   Úinterceptorsr+   s     €r,   r4   zLogService.start6   s{   ø€ ô ×-Ñ-Ø×$Ñ$Ð% Q t×'=Ñ'=Ð&>Ð?ó
ˆŒô (Ó)Ô+KÓ+MÐNˆÜ×.Ñ.¨t¯}©}ÐL¸|ÒLˆŒÜ!/°·±Ó!>ˆÔÜ‰‰�r-   zLogService.stopc                 óV   •— | j                   j                  «        t        ‰| �  «        y ©N)r   Úcloser(   Ústop©r*   r+   s    €r,   r9   zLogService.stopA   s   ø€ ð 	�‰×ÑÔÜ‰‰�r-   zLogService.reset_statec                 ó"   •— t         ‰| �  «        y r7   )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Ð4r-   zLogService.purge_logc                 ó   — t        d«      ‚r?   r@   rB   s     r,   Ú	purge_logzLogService.purge_logQ   rD   r-   zLogService.submit_embeddingÚ	embeddingc                 ó\   — | j                   st        d«      ‚| j                  ||g«      d   S )NúComponent not runningr   )Ú_runningÚRuntimeErrorÚsubmit_embeddings)r*   r=   rG   s      r,   Úsubmit_embeddingzLogService.submit_embeddingV   s1   € ð
 �}Š}ÜÐ6Ó7Ð7à×%Ñ% m°i°[ÓAÀ!ÑDÐDr-   zLogService.submit_embeddingsÚ
embeddingsc           	      ór  — t         j                  dt        |«      › d|› �«       t        dt        |«      i«       | j                  st        d«      ‚t        |«      dk(  rg S g }|D �cg c]  }t        |«      ‘Œ }}|j                  | j                  |t        t        t           |«      «      «       |S c c}w )NzSubmitting z" embeddings to log for collection Úrecords_countrI   r   )ÚloggerÚinfoÚlenr   rJ   rK   r   ÚappendÚ	push_logsr   r   r   )r*   r=   rN   ÚcountsÚrecordÚprotos_to_submits         r,   rL   zLogService.submit_embeddings`   s¼   € ô
 	�‰Øœ#˜j›/Ð*Ð*LÈ]ÈOÐ\ô	
ô 	'à¤ Z£ðô	
ð �}Š}ÜÐ6Ó7Ð7äˆz‹?˜aÒØˆIð ˆØBLÖM¸œO¨FÕ3ÐMÐÐMØ�‰Ø�N‰NØÜ”XœoÑ.Ð0@ÓAóô	
ð ˆùò Ns   Á(B4zLogService.subscribeÚ
consume_fnr4   ÚendÚidc                 óL   — t         j                  d|› d�«       t        d¬«      S )NzSubscribing to log for ú, noop for logservicer   )Úint)rQ   rR   r   )r*   r=   rY   r4   rZ   r[   s         r,   Ú	subscribezLogService.subscribeƒ   s%   € ô 	�‰Ð-¨m¨_Ð<QÐRÔSÜ˜Œ{Ðr-   zLogService.unsubscribeÚsubscription_idc                 ó6   — t         j                  d|› d�«       y )NzUnsubscribing from r]   )rQ   rR   )r*   r`   s     r,   ÚunsubscribezLogService.unsubscribe�   s   € ô 	�‰Ð)¨/Ð):Ð:OÐPÕQr-   c                  ó   — y)Nr   © ©r*   s    r,   Ú	min_seqidzLogService.min_seqid•   s   € àr-   c                 ó"   — t         j                  S r7   )ÚsysÚmaxsizere   s    r,   Ú	max_seqidzLogService.max_seqid™   s   € ä�{‰{Ðr-   c                  ó   — y)Néd   rd   re   s    r,   Úmax_batch_sizezLogService.max_batch_size�   s   € ð r-   Úrecordsc                 ó”   — t        t        |«      |¬«      }| j                  j                  || j                  ¬«      }|j
                  S )N)r=   rn   ©Útimeout)r   Ústrr   ÚPushLogsr   Úrecord_count)r*   r=   rn   ÚrequestÚresponses        r,   rU   zLogService.push_logs¢   sG   € Ü!´°MÓ0BÈGÔTˆØ×)Ñ)×2Ñ2Ø˜T×:Ñ:ð 3ó 
ˆð ×$Ñ$Ð$r-   Ústart_offsetÚ
batch_sizec                 ó¼   — t        t        |«      ||t        j                  «       ¬«      }| j                  j                  || j                  ¬«      }|j                  S )N)r=   Ústart_from_offsetrx   Úend_timestamprp   )r	   rr   ÚtimeÚtime_nsr   ÚPullLogsr   rn   )r*   r=   rw   rx   ru   rv   s         r,   Ú	pull_logszLogService.pull_logs©   s[   € ô "Ü˜mÓ,Ø*Ø!ÜŸ,™,›.ô	
ˆð ×)Ñ)×2Ñ2Ø˜T×:Ñ:ð 3ó 
ˆð ×ÑÐr-   )r.   N)NNN)'Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   Ú__annotations__r^   r1   ÚChannelrr   r   r)   r   r   ÚALLr   r4   r9   r<   r   rC   rF   r   r   rM   r   rL   r   r   r_   rb   rf   rj   Úpropertyrm   rU   r
   r   Ú__classcell__)r+   s   @r,   r   r   "   s%  ø… ñð &Ó%Ø!Ó!Ø�l‰lÓØÓØÓð!˜võ !ñ Ð$Ð&>×&BÑ&BÓCØôó ó Dðñ Ð#Ð%=×%AÑ%AÓBØôó ó Cðñ Ð*Ð,D×,HÑ,HÓIØôó ó Jðñ Ð)Ð+C×+GÑ+GÓHØð5¨ð 5°ò 5ó ó Ið5ñ Ð(Ð*B×*FÑ*FÓGØð5 tð 5°ò 5ó ó Hð5ñ Ð/Ð1I×1MÑ1MÓNØðEØ!ðEØ.=ðEà	òEó ó OðEñ Ð0Ð2J×2NÑ2NÓOØðØ!ðØ/7¸Ñ/Hðà	�%‰òó ó PðñB Ð(Ð*B×*FÑ*FÓGØð
 "&Ø#Ø!ñ	àð	ð 'ð	ð ˜‰ð		ð
 �e‰_ð	ð �T‰Nð	ð 
ò	ó ó Hð	ñ Ð*Ð,D×,HÑ,HÓIØðR¨4ð R°Dò Ró ó JðRð ð˜5ò ó ðð ð˜5ò ó ðð Øð ò ó ó ðð% tð %°h¸Ñ6Oð %ÐTWó %ð Ø!ð Ø14ð ØBEð à	�)Ñ	÷ r-   r   )*rh   Úchromadb.proto.utilsr   r1   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€   rQ   r   rd   r-   r,   ú<module>r—      ss   ðÛ 
å AÛ Û ÷ñ õ
 3ß UÑ UÝ =Ý A÷õ #÷ó õ ß +Ñ +Ý Û à	ˆ×	Ñ	˜8Ó	$€ôS �˜8õ S r-   