+
    jHàjW  ã                  óò   € R t ^ RIHt ^ RIt^ RIHt ^ RIHt ^ RIH	t	 ^ RI
HtHt ]! 4       t ! R R]	4      tR	 R
 lt]P!                  R4      RR R ll4       t]P%                  R4      RR R ll4       tR# )am  ``/api/shared-metrics/consent``: the dashboard's first-run shared-metrics offer.

The twin of Desktop's composer strip and the terminal's offer: one answer per profile, the same
two config.yaml keys (``telemetry.shared_metrics.enabled`` / ``.send``), read and written through
``hermes_cli.observability.shared_metrics_consent`` for the ``?profile=`` being managed.
)ÚannotationsN)ÚOptional)Ú	APIRouter)Ú	BaseModel)Úconfig_write_scopeÚscoped_to_threadc                  ó0   € ] tR t^t$ R]R&   RtR]R&   RtR# )ÚConsentAnswerÚboolÚenabledFÚsend© N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__annotations__r   Ú__static_attributes__r   ó    ÚJ/home/ubuntu/.hermes/hermes-agent/hermes_cli/web_routers/shared_metrics.pyr	   r	      s   ‡ ØƒMØ€Dˆ$×r   r	   c               ó   € V ^8„  d   QhRR/# ©é   ÚreturnÚdictr   )Úformats   "r   Ú__annotate__r      s   € ÷ Iñ I�tñ Ir   c                 óN   € ^ RI Hp Hp ^ RIHp / V! V! 4       4      CRV ! 4       /C# )z]``{enabled, send, decided, managed}``; a managed install cannot save, so it is never offered.)Ú
is_managedÚread_raw_config)Úconsent_stateÚmanaged)Úhermes_cli.configr   r   Ú/hermes_cli.observability.shared_metrics_consentr    )r   r   r    s      r   Ú_read_consentr$      s$   € ç=ÝMàH‰m™OÓ-Ó.ÐH°	¹:»<ÑHÐHr   z/api/shared-metrics/consentc               ó   € V ^8„  d   QhRR/# )r   ÚprofileúOptional[str]r   )r   s   "r   r   r   #   s   € ÷ :ñ :¨mñ :r   c              ƒ  ó>   "  € \        V \        4      G R j  x€L
 #  L5i©N)r   r$   )r&   s   &r   Úget_shared_metrics_consentr*   "   s   é € ä! '¬=Ó9×9Ð9Ñ9ùs   ‚–—c               ó    € V ^8„  d   QhRRRR/# )r   Úbodyr	   r&   r'   r   )r   s   "r   r   r   (   s   € ÷ +ñ +¨=ð +À=ñ +r   c              ƒ  ór   a aa"  € ^ RI Ho R V VV3R llp\        P                  ! V4      G Rj  x€L
 #  L5i)é    )Úsave_consentc               ó   € V ^8„  d   QhRR/# r   r   )r   s   "r   r   Ú0put_shared_metrics_consent.<locals>.__annotate__+   s   € ÷ #ñ #�Dñ #r   c                 ó¶   <€ \        S4      ;_uu_ 4        S! S P                  S P                  4       \        4       uuR R R 4       #   + '       g   i     R # ; ir)   )r   r   r   r$   )r,   r&   r/   s   €€€r   Ú_writeÚ*put_shared_metrics_consent.<locals>._write+   s4   ø€ Ü ×(Õ(Ù˜Ÿ™ t§y¡yÔ1Ü “?÷ )×(×(Ó(ús   •'AÁA	N)r#   r/   ÚasyncioÚ	to_thread)r,   r&   r3   r/   s   ff @r   Úput_shared_metrics_consentr7   '   s,   úé € åL÷#ò #ô
 ×"Ò" 6Ó*×*Ð*Ñ*ùs   …+7°5±7r)   )Ú__doc__Ú
__future__r   r5   Útypingr   Úfastapir   Úpydanticr   Úhermes_cli.web_routers._commonr   r   Úrouterr	   r$   Úgetr*   Úputr7   r   r   r   Ú<module>rA      ss   ðñõ #ã Ý å Ý ç Oá	‹€ô�Iô õ
Ið ‡�Ð)Ó*ö:ó +ð:ð ‡�Ð)Ó*ö+ó +ò+r   