§
    ÷žyjŠ	  ã                  ó  — d Z ddlmZ ddlZddlmZmZmZ ddlm	Z	m
Z
mZ dd„Z ed	¬
¦  «         G d„ d¦  «        ¦   «         Z ed	¬
¦  «         G d„ d¦  «        ¦   «         Z ed	¬
¦  «         G d„ d¦  «        ¦   «         Zg d¢ZdS )zÿTyped gateway monitoring events.

Content-free service-health and redacted diagnostic events for the gateway
daemon. These are the only event shapes the monitoring plane emits: no
prompts, messages, tool args/results, session history, or usage analytics.
é    )ÚannotationsN)Ú	dataclassÚfieldÚasdict)ÚAnyÚDictÚOptionalÚreturnÚintc                 ó(   — t          j        ¦   «         S )N)ÚtimeÚtime_ns© ó    ú=/home/ragecks/.hermes/hermes-agent/agent/monitoring/events.pyÚ_now_nsr      s   € ÝŒ<‰>Œ>Ðr   T)Úslotsc                  ó  — e Zd ZU dZded<   dZded<   dZded<   dZded<   dZded	<   dZ	d
ed<   dZ
ded<   dZded<   dZded<   dZded<   dZded<   dZded<   dZded<   dZded<   dZded<   dZded<    ee¬¦  «        Zded<   d d„ZdS )!ÚGatewayHealthEventz8Content-free gateway health snapshot or lifecycle event.ÚstrÚnameNúOptional[str]Úgateway_stateÚ	old_stateÚ	new_stateÚexit_reasonzOptional[bool]Úrestart_requestedr   r   Úactive_agentsFÚboolÚgateway_busyÚgateway_drainableÚplatform_countÚfatal_platform_countÚprofileÚ
install_idÚversionÚsupervision_modeúOptional[int]Úpid©Údefault_factoryÚts_nsr
   úDict[str, Any]c                ó(   — ddit          | ¦  «        ¥S )NÚeventÚgateway_health©r   ©Úselfs    r   Úto_dictzGatewayHealthEvent.to_dict)   ó   € ØÐ)Ð:­V°D©\¬\Ð:Ð:r   ©r
   r-   )Ú__name__Ú
__module__Ú__qualname__Ú__doc__Ú__annotations__r   r   r   r   r   r   r    r!   r"   r#   r$   r%   r&   r'   r)   r   r   r,   r4   r   r   r   r   r      sZ  € € € € € € àBÐBà€I€I�IØ#'€MÐ'Ð'Ð'Ñ'Ø#€IÐ#Ð#Ð#Ñ#Ø#€IÐ#Ð#Ð#Ñ#Ø!%€KÐ%Ð%Ð%Ñ%Ø(,ÐÐ,Ð,Ð,Ñ,Ø€MÐÐÐÑØ€LÐÐÐÑØ#ÐÐ#Ð#Ð#Ñ#Ø€NÐÐÐÑØ !ÐÐ!Ð!Ð!Ñ!Ø!€GÐ!Ð!Ð!Ñ!Ø $€JÐ$Ð$Ð$Ñ$Ø!€GÐ!Ð!Ð!Ñ!Ø&*ÐÐ*Ð*Ð*Ñ*Ø€CÐÐÐÑØ� wÐ/Ñ/Ô/€EÐ/Ð/Ð/Ñ/ð;ð ;ð ;ð ;ð ;ð ;r   r   c                  óÐ   — e Zd ZU dZded<   ded<   dZded<   dZded	<   dZded
<   dZded<   dZ	ded<   dZ
ded<   dZded<   dZded<    ee¬¦  «        Zded<   dZded<   dd„ZdS )ÚGatewayDiagnosticEventzCRedacted gateway diagnostic event for operator-owned observability.r   r   Ú	subsystemÚunknownÚerror_classNr   Ú
error_codeÚplatformr   r   r$   r&   ÚwarningÚseverityr*   r   r,   Úsource_loggerr
   r-   c                ó(   — ddit          | ¦  «        ¥S )Nr/   Úgateway_diagnosticr1   r2   s    r   r4   zGatewayDiagnosticEvent.to_dict>   s   € ØÐ-Ð>µ¸±´Ð>Ð>r   r6   )r7   r8   r9   r:   r;   r@   rA   rB   r   r   r$   r&   rD   r   r   r,   rE   r4   r   r   r   r=   r=   -   sù   € € € € € € àMÐMà€I€I�IØ€N€N�NØ €KÐ Ð Ð Ñ Ø $€JÐ$Ð$Ð$Ñ$Ø"€HÐ"Ð"Ð"Ñ"Ø#€IÐ#Ð#Ð#Ñ#Ø#€IÐ#Ð#Ð#Ñ#Ø!€GÐ!Ð!Ð!Ñ!Ø!€GÐ!Ð!Ð!Ñ!Ø€HÐÐÐÑØ� wÐ/Ñ/Ô/€EÐ/Ð/Ð/Ñ/Ø#'€MÐ'Ð'Ð'Ñ'ð?ð ?ð ?ð ?ð ?ð ?r   r=   c                  óŠ   — e Zd ZU dZded<   ded<   dZded<   dZded	<   dZd
ed<   dZd
ed<    e	e
¬¦  «        Zded<   dd„ZdS )ÚCronExecutionEventz9Content-free durable cron execution lifecycle projection.r   ÚstatusÚjob_keyr?   ÚsourceNr(   Úduration_msr   Údelivery_outcomer@   r*   r   r,   r
   r-   c                ó(   — ddit          | ¦  «        ¥S )Nr/   Úcron_executionr1   r2   s    r   r4   zCronExecutionEvent.to_dictN   r5   r   r6   )r7   r8   r9   r:   r;   rL   rM   rN   r@   r   r   r,   r4   r   r   r   rI   rI   B   s¥   € € € € € € àCÐCà€K€K�KØ€L€L�LØ€FÐÐÐÑØ!%€KÐ%Ð%Ð%Ñ%Ø&*ÐÐ*Ð*Ð*Ñ*Ø!%€KÐ%Ð%Ð%Ñ%Ø� wÐ/Ñ/Ô/€EÐ/Ð/Ð/Ñ/ð;ð ;ð ;ð ;ð ;ð ;r   rI   )r   r=   rI   )r
   r   )r:   Ú
__future__r   r   Údataclassesr   r   r   Útypingr   r   r	   r   r   r=   rI   Ú__all__r   r   r   ú<module>rU      sW  ððð ð #Ð "Ð "Ð "Ð "Ð "à €€€Ø 0Ð 0Ð 0Ð 0Ð 0Ð 0Ð 0Ð 0Ð 0Ð 0Ø &Ð &Ð &Ð &Ð &Ð &Ð &Ð &Ð &Ð &ðð ð ð ð €�ÐÑÔð;ð ;ð ;ð ;ð ;ñ ;ô ;ñ Ôð;ð2 €�ÐÑÔð?ð ?ð ?ð ?ð ?ñ ?ô ?ñ Ôð?ð( €�ÐÑÔð;ð ;ð ;ð ;ð ;ñ ;ô ;ñ Ôð;ðð ð €€€r   