+
    jHàj   ã                  ó  € R t ^ RIHt ^ RIHt ^ RIHt ^ RIHtH	t	 ^ RI
HtHtHt  ! R R]4      t]! RR	7       ! R
 R4      4       t]! RR	7       ! R R4      4       t]	 ! R R]4      4       t]	 ! R R]]4      4       tR# )zîResolver protocols and the results of the two non-passive tiers.

`locate` reads file metadata only. `inspect` may open files and call OS APIs in-process.
`probe` is fresh, never cached, and the only tier that may open a socket or spawn.
)Úannotations)Ú	dataclass)ÚEnum)ÚProtocolÚruntime_checkable)ÚLookupContextÚObservationÚ
Resolutionc                  ó&   € ] tR t^tRtRtRtRtRtR# )ÚEffortzVWhat `probe` may do. `NETWORK` never implies subprocess; `DIAGNOSTIC` alone may spawn.ÚlocalÚnetworkÚ
diagnostic© N)	Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__ÚLOCALÚNETWORKÚ
DIAGNOSTICÚ__static_attributes__r   ó    ÚB/home/ubuntu/.hermes/hermes-agent/hermes_platform/resolver/base.pyr   r      s   † Ù`à€EØ€GØ„Jr   r   T)Úfrozenc                  óB   € ] tR t^t$ R]R&   R]R&   ]R R l4       tRtR# )Ú
InspectionúObservation[str]ÚversionÚsignerc               ó   € V ^8„  d   QhRR/# ©é   ÚreturnÚboolr   )Úformats   "r   Ú__annotate__ÚInspection.__annotate__   s   € ÷ Zñ Z�Dñ Zr   c                	óž   € V P                   P                  P                  R 8g  ;'       d$    V P                  P                  P                  R 8g  # )Úerror)r   ÚstateÚvaluer    ©Úselfs   &r   ÚokÚInspection.ok   s;   € à�|‰|×!Ñ!×'Ñ'¨7Ñ2×YÐY°t·{±{×7HÑ7H×7NÑ7NÐRYÑ7YÐYr   r   N)r   r   r   r   Ú__annotations__Úpropertyr/   r   r   r   r   r   r      s"   ‡ àÓØÓàôZó ôZr   r   c                  óB   € ] tR t^"t$ R]R&   R]R&   R]R&   R R ltRtR	# )
ÚProbezObservation[bool]ÚrunningÚ	answeringr   Úendpointc               ó   € V ^8„  d   QhRR/# r"   r   )r&   s   "r   r'   ÚProbe.__annotate__(   s   € ÷ Lñ L˜$ñ Lr   c                	ó   € \        R 4      h)z0Probe is not a boolean; read .running/.answering)Ú	TypeErrorr-   s   &r   Ú__bool__ÚProbe.__bool__(   s   € ÜÐJÓKÐKr   r   N)r   r   r   r   r1   r<   r   r   r   r   r4   r4   "   s    ‡ àÓØ Ó ØÓ÷Lñ Lr   r4   c                  óB   € ] tR t^,t$ R]R&   R	R R lltR	R R lltRtR# )
ÚResolverÚstrÚnameNc               ó    € V ^8„  d   QhRRRR/# )r#   ÚctxúLookupContext | Noner$   r	   r   )r&   s   "r   r'   ÚResolver.__annotate__0   s   € ×IÑIÐ.ÐI¸*ÑIr   c                	ó   € R # ©Nr   )r.   rC   s   &&r   ÚlocateÚResolver.locate0   s   € Ácr   c               ó$   € V ^8„  d   QhRRRRRR/# )r#   Úresr	   rC   rD   r$   r   r   )r&   s   "r   r'   rE   2   s   € ×[Ñ[˜:Ð[Ð,@Ð[ÈJÑ[r   c                	ó   € R # rG   r   )r.   rK   rC   s   &&&r   ÚinspectÚResolver.inspect2   s   € ÑX[r   r   rG   )r   r   r   r   r1   rH   rM   r   r   r   r   r?   r?   ,   s   ‡ à
ƒIçIç[Ó[r   r?   c                  ó*   € ] tR t^5tRR/R R lltRtR# )Ú	ProbeableÚ
deadline_sg      @c               ó(   € V ^8„  d   QhRRRRRRRR/# )	r#   rK   r	   Úeffortr   rQ   Úfloatr$   r4   r   )r&   s   "r   r'   ÚProbeable.__annotate__7   s   € ×^Ñ^˜Ð^°Ð^ÀEÐ^ÐTYÑ^r   c               	ó   € R # rG   r   )r.   rK   rS   rQ   s   &&$$r   ÚprobeÚProbeable.probe7   s   € Ñ[^r   r   N)r   r   r   r   rW   r   r   r   r   rP   rP   5   s   † à^ÈC×^Ó^r   rP   N)r   Ú
__future__r   Údataclassesr   Úenumr   Útypingr   r   Úhermes_platform.resolver.corer   r   r	   r   r   r4   r?   rP   r   r   r   Ú<module>r^      sª   ðñõ #å !Ý ß .ç PÑ PôˆTô ñ �$Ô÷Zð Zó ðZñ �$Ô÷Lð Ló ðLð ô\ˆxó \ó ð\ð ô_�˜(ó _ó ò_r   