+
    jHàjÄ  ã                  óz   € R t ^ RIHt ^ RIHt ^ RIHt R R ltRR/R R	 lltR
 R lt	R R lt
RR/R R lltR# )aÝ  ``onboarding.run``: whether the desktop first-run onboarding opens on the next launch.

The flag lives in the ROOT profile's ``config.yaml`` (``get_default_hermes_root()``), never in the
launch profile's: a pooled backend launched under ``-p work`` must read and write the same file as
one launched under ``default``, because onboarding always targets the default profile.
Unset means "only on a machine that never used Hermes"; ``true`` re-runs it once; ``false`` means done.
)Úannotations)ÚPath©Úget_default_hermes_rootc               ó   € V ^8„  d   QhRR/# )é   Úreturnr   © )Úformats   "Ú>/home/ubuntu/.hermes/hermes-agent/hermes_cli/onboarding_run.pyÚ__annotate__r      s   € ÷ 5ñ 5�dñ 5ó    c                 ó$   € \        4       R ,          # )zconfig.yamlr   r	   r   r   Ú_root_configr      s   € Ü"Ó$ }Õ4Ð4r   Úassume_freshFc               ó    € V ^8„  d   QhRRRR/# )r   r   Úboolr   r	   )r
   s   "r   r   r      s   € ÷ 	)ñ 	) ð 	)°ñ 	)r   c                ód   € \        4       pVe   V# ^ RIHp T ;'       g    V! 4       P                  # )zçThe root config's explicit ``onboarding.run`` (managed overlay included) when it is a bool,
else whether this machine has never used Hermes (``install_state``; *assume_fresh* is the
unpackaged desktop's ``--fresh-install`` switch).)Úprobe)Ú_explicit_runÚhermes_cli.install_stater   Úfresh)r   Úvaluer   s   $  r   Ú
should_runr      s-   € ô ‹O€EØÒØˆÝ.à×(Ð(™5›7Ÿ=™=Ð(r   c               ó   € V ^8„  d   QhRR/# )r   r   zbool | Noner	   )r
   s   "r   r   r       s   € ÷ 6ñ 6�{ñ 6r   c                 óÒ   € ^ RI Hp  V ! \        4       4      P                  R4      p\	        V\
        4      '       d   VP                  R4      MRp\	        V\        4      '       d   V# R# )é    )Úload_user_config_effectiveÚ
onboardingÚrunN)Úhermes_cli.config_effectiver   r   ÚgetÚ
isinstanceÚdictr   )r   Úsectionr   s      r   r   r       sQ   € ÝFñ )¬«Ó8×<Ñ<¸\ÓJ€GÜ",¨W´d×";Ò";ˆG�K‰K˜ÔÀ€EÜ˜u¤d×+Ò+ˆ5Ð5°Ð5r   c               ó   € V ^8„  d   QhRR/# )r   r   r   r	   )r
   s   "r   r   r   )   s   € ÷ 
ñ 
˜Tñ 
r   c                 ó„   € ^ RI Hp Hp \        4       f   V ! 4       P                  '       g   R# \        R4       V! 4        R# )a
  The desktop backend's first boot on a fresh install records the decision: ``onboarding.run:
true`` and the trial reserved. A launch that misses the run (a late answer, the app closed, the
user chatting first) then stays due until a run ends. True when it wrote them.©r   Úreserve_trialFT)r   r   r(   r   r   Úset_runr'   s     r   Úlatch_first_installr*   )   s+   € ÷ >äƒÒ"©%«'¯-¯-¨-ÙÜˆD„MÙ„OÙr   Úmark_profile_offeredc               ó$   € V ^8„  d   QhRRRRRR/# )r   r   r   r+   r   ÚNoner	   )r
   s   "r   r   r   6   s!   € ÷  ñ  �4ð  °$ð  À4ñ  r   c               óh  € ^ RI Hp ^ RIHp \	        4       pVP
                  ;_uu_ 4        VP                  V4      pVP                  VR4      pWR&   V'       d   RVP                  VR4      V&   VP                  WE4       RRR4       ^ RIH	p VP                  4        R#   + '       g   i     L(; i)	zÎPersist ``onboarding.run`` (and, with *mark_profile_offered*, ``onboarding.seen.profile_build_offered``)
in the root ``config.yaml`` as one write, keeping every other key and comment. A failed write raises.)ÚPROFILE_BUILD_FLAG)Úconfigr   r   TÚseenN)Úonboarding_due)Úagent.onboardingr/   Ú
hermes_clir0   r   Ú_CONFIG_LOCKÚread_user_config_rawÚ_ensure_dictÚatomic_config_writer2   Ú
invalidate)r   r+   r/   Ú
config_modÚpathr0   r$   r2   s   &$      r   r)   r)   6   sŽ   € õ 4Ý/ä‹>€DØ	×	 ×	 Ó	 Ø×0Ñ0°Ó6ˆØ×)Ñ)¨&°,Ó?ˆØ�‰ßØKOˆJ×#Ñ# G¨VÓ4Ð5GÑHØ×&Ñ& tÔ4÷ 
!õ *à×ÑÖ÷ 
!×	 ús   «AB!Â!B1	N)Ú__doc__Ú
__future__r   Úpathlibr   Úhermes_constantsr   r   r   r   r*   r)   r	   r   r   Ú<module>r@      sA   ðñõ #å å 4õ5ð	) u÷ 	)õ6õ
ð ¸÷  ñ  r   