+
    jHàj±<  ã                  ób  € R t ^ RIHt ^ RIt^ RIt^ RIt^ RIHt ^ RIH	t	 ^ RI
Ht ^ RIHt ^ RIHt ^ RIHtHtHtHtHtHtHtHtHtHtHtHtHt ^ R	IH t H!t!H"t"H#t# R
t$Rt%]t&R R lt'R R lt(R R lt)R R lt*R R lt+R R lt,R R lt-R R lt.R R lt/R R lt0R  R! lt1R"R#/R$ R% llt2R# )&a  CLI handlers for ``hermes secrets onepassword ...``.

Unlike Bitwarden, the ``op`` binary is NOT auto-installed: 1Password publishes the CLI through OS
package managers and signed installers, so Hermes expects an already-installed, already-
authenticated ``op`` and never downloads one.
)ÚannotationsN)ÚPath)ÚOptional)ÚConsole)ÚPanel©Úonepassword)ÚargÚcfg_strÚcli_versionÚdisable_secret_sourceÚflagÚprint_status_panelÚprint_tableÚregister_subcommandsÚrequire_enabledÚrotate_tokenÚsecret_cli_envÚsection_cfgÚyn)Úget_env_pathÚload_configÚsave_configÚsave_env_valueÚOP_SERVICE_ACCOUNT_TOKENz5https://developer.1password.com/docs/cli/get-started/c               ó   € V ^8„  d   QhRR/# )é   ÚreturnÚdict© )Úformats   "ÚG/home/ubuntu/.hermes/hermes-agent/hermes_cli/onepassword_secrets_cli.pyÚ__annotate__r"   ,   s   € ÷ 5ñ 5�ñ 5ó    c                 ó*   € \        \        4       R 4      # r   )r   r   r   r#   r!   Ú_op_cfgr%   ,   s   € Ü”{“} mÓ4Ð4r#   c               ó    € V ^8„  d   QhRRRR/# )r   Úcfgr   r   r   )r    s   "r!   r"   r"   0   s   € ÷ Gñ G˜4ð G Dñ Gr#   c                óF   € V P                  R / 4      P                  R/ 4      # )Úsecretsr   )Ú
setdefault)r'   s   &r!   Ú_op_cfg_for_writer+   0   s    € Ø�>‰>˜) RÓ(×3Ñ3°MÀ2ÓFÐFr#   c               ó    € V ^8„  d   QhRRRR/# )r   Úop_cfgr   r   r   )r    s   "r!   r"   r"   4   s   € ÷ 0ñ 0˜ð 0 ñ 0r#   c                óX   € V P                  R 4      p\        V\        4      '       d   V# / # )Úenv)ÚgetÚ
isinstancer   )r-   r/   s   & r!   Ú_referencesr2   4   s'   € Ø
�*‰*�UÓ
€CÜ˜S¤$×'Ò'ˆ3Ð/¨RÐ/r#   c               ó    € V ^8„  d   QhRRRR/# )r   Úparent_parserzargparse.ArgumentParserr   ÚNoner   )r    s   "r!   r"   r"   :   s   € ÷ ñ Ð 7ð ¸Dñ r#   c                óŠ  € \        V RRR\        \        RR4      \        RR\         R24      \        R	R
4      \        RR4      33RR\        R$3RR\
        \        R	R4      \        RR4      33RR\        \        RR4      \        RR4      33RR\        \        RR4      33RR\        \        RR 4      33R!R"\        R$334       R## )%z>Attach the ``onepassword`` subcommand tree to a parent parser.Úsecrets_op_commandÚsetupz:Verify the op CLI, set account / token env var, and enableú	--accountz=1Password account shorthand or sign-in address (op --account)z--token-envz1Env var holding a service-account token (default Ú)ú--tokenz8Service-account token to store in .env non-interactivelyz--binary-pathz2Absolute path to the op binary (skips PATH lookup)Ústatusz$Show config + op binary + referencesÚtokenz?Rotate the service-account token: validate and store it in .envz@Provide the new token non-interactively (default: masked prompt)z--no-verifyz7Store without probing 1Password first (not recommended)Úsetz$Map an env var to an op:// referenceÚenv_varz.Environment variable name, e.g. OPENAI_API_KEYÚ	referencez51Password reference, e.g. op://Private/OpenAI/api keyÚremoveu'   Remove an env-var â†’ reference mappingz"Environment variable name to unmapÚsyncz.Resolve references now and report what changedz--applyzIActually export resolved values into the current shell (default: dry-run)Údisablez"Turn off the 1Password integrationNr   )r   Ú	cmd_setupr	   Ú_DEFAULT_TOKEN_ENVÚ
cmd_statusÚ	cmd_tokenr   Úcmd_setÚ
cmd_removeÚcmd_syncÚcmd_disable)r4   s   &r!   Úregister_clirL   :   s  € ä˜Ð(<Ø	ÐNÔPYÜ�Ð\Ó]Ü�Ð!RÔSeÐRfÐfgÐhÓiÜ�	ÐUÓVÜ�Ð!UÓVð	\
ð 	ð 
Ð9¼:ÀrÐJØ	ÐSÔU^Ü�	Ð]Ó^Ü�Ð YÓZða
ð 	ð 
Ð6¼Ü�	ÐKÓLÜ�ÐTÓUðB
ð 	ð 
Ð<¼jÜ�	Ð?Ó@ðK
ð 	ð 
ÐAÄ8Ü�ÐgÓhðN
ð 	ð 
Ð8¼+ÀrÐJð-?ö r#   c               ó    € V ^8„  d   QhRRRR/# ©r   Úargszargparse.Namespacer   Úintr   )r    s   "r!   r"   r"   V   s   € ÷ Iñ IÐ&ð I¨3ñ Ir#   c                óÖ  € \        4       pVP                  \        P                  ! R \         R2RR7      4       \        4       p\        V4      pVP                  4        VP                  R4       V P                  ;'       g    VP                  RR4      ;'       g    RP                  4       p\        P                  ! V4      pVf:   TP                  V'       d   RV R2MR	4       VP                  R
\         24       ^# VP                  RV R\        V4       R24       V'       d   WCR&   V P                  '       dZ   V P                  P                  4       '       d:   V P                  P                  4       VR&   VP                  RVR,           R24       VP                  4        VP                  R4       V P                  ;'       g     VP                  R4      ;'       g    \        P                  4       pWcR&   V P                   ;'       g    RP                  4       pV'       d?   \#        Wg4       V\$        P&                  V&   VP                  R\)        4        RV 24       Mˆ\$        P&                  P                  V4      '       d   VP                  RV 24       MN\+        WSP                  RR4      4      pV'       d   VP                  RV R24       MVP                  RV R24       RVR&   VP-                  R/ 4       VP-                  RR4       VP-                  RR4       \/        V4       VP                  4        VP                  R4       VP                  R4       ^ # ) zã[bold]1Password secret source setup[/bold]

Hermes resolves [cyan]op://vault/item/field[/cyan] references through your
already-installed, already-authenticated 1Password CLI (`op`).

Don't have it yet? Install + sign in: [cyan]ú[/cyan]Úcyan)Úborder_stylez&[bold]Step 1[/bold]  Locate the op CLIÚbinary_pathÚ u     [red]âœ— z& is not an executable op binary.[/red]u&     [red]âœ— op not found on PATH.[/red]z  Install the 1Password CLI: u     [green]âœ“[/green] z  (r:   Úaccountz  Account: [cyan]z#[bold]Step 2[/bold]  AuthenticationÚservice_account_token_envu5     [green]âœ“[/green] service-account token stored in z as u6     [green]âœ“[/green] using service-account token from u0     [green]âœ“[/green] using existing op session (z«  [yellow]No service-account token and no active op session detected.[/yellow]
  Either run [cyan]op signin[/cyan] (desktop/interactive) or set a service-account token in z, then re-run status.TÚenabledr/   Úcache_ttl_secondsé,  Úoverride_existingu6   [green]âœ“ 1Password secret source is enabled.[/green]zð  Map credentials:  [cyan]hermes secrets onepassword set OPENAI_API_KEY "op://Private/OpenAI/api key"[/cyan]
  Preview:          [cyan]hermes secrets onepassword sync[/cyan]
  Status:           [cyan]hermes secrets onepassword status[/cyan])r   Úprintr   ÚfitÚ	_DOCS_URLr   r+   rU   r0   ÚstripÚop_srcÚfind_opÚ_op_versionrW   Ú	token_envrE   r=   r   ÚosÚenvironr   Ú
_op_whoamir*   r   )	rO   Úconsoler'   r-   rU   Úbinaryrd   r=   Úwhos	   &        r!   rD   rD   V   sä  € Ü‹i€GØ‡M�MÜ�	Š	ð;ô <E¸+ÀWðNð  ô	
ôô ‹-€CÜ˜sÓ#€Fà‡M�M„OØ‡M�MÐ:Ô;Ø×#Ñ#×JÐJ v§z¡z°-ÀÓ'D×JÐJÈ×QÑQÓS€KÜ�^Š^˜KÓ(€FØ‚~Ø�‰çð ˜+˜Ð&LÑMà9ô	
ð
 	�‰Ð5´i°[ÐAÔBÙØ‡M�MÐ)¨&¨°´[ÀÓ5HÐ4IÈÐKÔLßØ +ˆ}Ñà‡|‡|€|˜Ÿ™×*Ñ*×,Ò,Ø ŸL™L×.Ñ.Ó0ˆˆyÑØ�‰Ð)¨&°Õ*;Ð)<¸GÐDÔEà‡M�M„OØ‡M�MÐ7Ô8Ø—‘×`Ð` 6§:¡:Ð.IÓ#J×`Ð`ÔN`×gÑgÓi€IØ*3Ð&Ñ'à�Z‰Z×Ð˜2×$Ñ$Ó&€EßÜ�yÔ(Ø %Œ�
‰
�9ÑØ�‰ÐMÌlËnÐM]Ð]aÐbkÐalÐmÕnÜ	�‰�‰˜	×	"Ò	"Ø�‰ÐNÈyÈkÐZÕ[ä˜§¡¨I°rÓ!:Ó;ˆßØ�M‰MÐLÈSÈEÐQRÐSÕTà�M‰Mð,ð -6¨;Ð6KðMôð €Fˆ9ÑØ
×Ñ�e˜RÔ Ø
×ÑÐ)¨3Ô/Ø
×ÑÐ)¨4Ô0Ü�Ôà‡M�M„OØ‡M�MÐJÔKØ‡M�Mð	Môñ r#   c               ó    € V ^8„  d   QhRRRR/# rN   r   )r    s   "r!   r"   r"   ¢   s   € ÷ -ñ -Ð'ð -¨Cñ -r#   c                óþ  a
€ \        4       p\        4       p\        VP                  R 4      4      p\	        VR4      pVP                  R\
        4      p\	        VR4      p\        V4      o
\        \        P                  P                  V4      4      p\        P                  ! V4      p\        TRR\        V4      3RT;'       g    R3RV3R	\        V4      3R
\        \        VP                  RR4      4      4      3R\        VP                  RR4      4      3RV'       d   V R\        V4       R2MR3R\        \        S
4      4      334       S
'       d'   \!        VRRR/3R3V
3R l\#        S
4       4       4       V'       g   VP%                  R4       ^ # V'       dF   V'       g>   \'        W„4      p	V	'       d   VP%                  RV	 24       MVP%                  RV R24       S
'       g   VP%                  R4       ^ # )rY   rW   rX   rU   z1Password secret sourceÚEnabledÚAccountz[dim]default[/dim]zToken env varzToken in envzOverride existingr\   TzCache TTL (s)rZ   r[   z	op binaryz (r:   z[yellow]not found[/yellow]Ú
ReferencesúEnv varÚstylerS   Ú	Referencec              3  óJ   <"  € T F  q\        SV,          4      3x € K  	  R # 5i©N)Ústr)Ú.0ÚnameÚ
referencess   & €r!   Ú	<genexpr>Úcmd_status.<locals>.<genexpr>¼   s    øé € ÐRÑ?Q°tœC 
¨4Õ 0Ó1Õ2Ó?Qùs   ƒ #z?
  Run [cyan]hermes secrets onepassword setup[/cyan] to enable.z%
  [green]Active op session:[/green] z$
  [yellow]No active op session and uK    is unset â€” Hermes will warn and skip 1Password on next startup.[/yellow]uv   
  [yellow]No references mapped yet.[/yellow]  Add one: [cyan]hermes secrets onepassword set ENV_VAR "op://â€¦"[/cyan])r   r%   Úboolr0   r
   rE   r2   re   rf   ra   rb   r   r   ru   rc   Úlenr   Úsortedr]   rg   )rO   rh   r-   rY   rW   rd   rU   Ú	token_setri   rj   rx   s   &         @r!   rF   rF   ¢   sÍ  ø€ Ü‹i€GÜ‹Y€Fä�6—:‘:˜iÓ(Ó)€GÜ�f˜iÓ(€GØ—
‘
Ð6Ô8JÓK€IÜ˜& -Ó0€KÜ˜VÓ$€JÜ”R—Z‘Z—^‘^ IÓ.Ó/€Iä�^Š^˜KÓ(€Fä�wÐ 9Ø	”B�w“KÐ Ø	�G×3Ð3Ð3Ð4Ø	˜)Ð$Ø	œ˜I›Ð'Ø	œb¤ f§j¡jÐ1DÀdÓ&KÓ!LÓMÐNØ	œ#˜fŸj™jÐ)<¸cÓBÓCÐDØ	¿V˜˜ ¤;¨vÓ#6Ð"7°qÑ9ÐIeÐfØ	”sœ3˜z›?Ó+Ð,ð	<ô 	÷ Ü�G˜y¨7°FÐ*;Ð<¸kÐJÜR¼vÀjÔ?QÓRô	T÷ Ø�‰ÐXÔYÙß—iÜ˜Ó)ˆßØ�M‰MÐBÀ3À%ÐHÕIà�M‰MØ7¸	°{ð CPð Pô÷ Ø�‰ðOô	
ñ r#   c               ó    € V ^8„  d   QhRRRR/# rN   r   )r    s   "r!   r"   r"   Ò   s   € ÷ ñ Ð$ð ¨ñ r#   c                ój  € \        4       p\        P                  ! V P                  V P                  /4      w  r#V P                  V9  d!   V F  pVP                  R V R24       K  	  ^# \        4       p\        V4      p\        VP                  R4      \        4      '       g   / VR&   W P                  ,          VR,          V P                  &   \        V4       VP                  RV P                   RW P                  ,           24       VP                  R4      '       g   VP                  R4       ^ # )ú[red]ú[/red]r/   u    [green]âœ“[/green] mapped [cyan]u   [/cyan] â†’ rY   uy     [yellow]Note: the integration is disabled â€” run [cyan]hermes secrets onepassword setup[/cyan] to turn it on.[/yellow])r   ra   Ú_validate_referencesr?   r@   r]   r   r+   r1   r0   r   r   )rO   rh   ÚvalidÚwarningsÚwr'   r-   s   &      r!   rH   rH   Ò   sõ   € Ü‹i€Gä×1Ò1°4·<±<ÀÇÁÐ2PÓQ�O€EØ‡|�|˜5Ô ÛˆAØ�M‰M˜E !  FÐ+Ö,ñ áä
‹-€CÜ˜sÓ#€FÜ�f—j‘j Ó'¬×.Ò.Øˆˆu‰Ø"'¯©Õ"5€Fˆ5…M�$—,‘,ÑÜ�ÔØ‡M�MÐ4°T·\±\°NÀ,Èu×UaÑUaÕObÐNcÐdÔeØ�:‰:�i× Ò Ø�‰ðTô	
ñ r#   c               ó    € V ^8„  d   QhRRRR/# rN   r   )r    s   "r!   r"   r"   ê   s   € ÷ ñ Ð'ð ¨Cñ r#   c                ób  € \        4       p\        4       p\        V4      pVP                  R 4      p\	        V\
        4      '       d   V P                  V9  d"   VP                  RV P                   R24       ^# W@P                   \        V4       VP                  RV P                   R24       ^ # )r/   z[yellow]z is not mapped.[/yellow]u-   [green]âœ“[/green] removed mapping for [cyan]rR   )	r   r   r+   r0   r1   r   r?   r]   r   )rO   rh   r'   r-   Úenv_maps   &    r!   rI   rI   ê   sŒ   € Ü‹i€GÜ
‹-€CÜ˜sÓ#€FØ�j‰j˜Ó€GÜ�gœt×$Ò$¨¯©¸GÔ(CØ�‰˜ §¡ Ð.FÐGÔHÙØ—‘ÐÜ�ÔØ‡M�MÐAÀ$Ç,Á,ÀÈwÐWÔXÙr#   c               ó    € V ^8„  d   QhRRRR/# rN   r   )r    s   "r!   r"   r"   ø   s   € ÷ 'ñ 'Ð&ð '¨3ñ 'r#   c                óz  aaa€ \        4       o\        4       pVP                  R\        4      p\	        VR4      o\	        VR4      oR VVV3R llp\        SV P                  TRRRV R	2V P                  '       d   R
MT\        \        \        P                  VP                  R4      '       d   R
R7      # RR7      # )z¢Rotate the service-account token: verify with ``op whoami`` (unless ``--no-verify``) and
only then persist to .env, so a bad paste never bricks the working token.rX   rW   rU   c               ó    € V ^8„  d   QhRRRR/# )r   r=   ru   r   r{   r   )r    s   "r!   r"   Úcmd_token.<locals>.__annotate__  s   € ÷ ñ �cð ˜dñ r#   c                ó  <€ \         P                  ! S4      pVf   SP                  R\         R24       R# SP                  R4       \	        VSV R7      pVf   SP                  R4       R# SP                  RV R24       R	# )
Nu&   [red]op CLI not found â€” install it (z3) or re-run with --no-verify to store anyway.[/red]Fu   Verifying with `op whoami`â€¦)Útoken_valueuD   [red]âœ— New token was rejected by op â€” nothing was changed.[/red]u#   [green]âœ“ Token accepted[/green] (z).T)ra   rb   r]   r_   rg   )r=   ri   rj   rW   rU   rh   s   &  €€€r!   ÚverifyÚcmd_token.<locals>.verify  s„   ø€ Ü—’ Ó,ˆØŠ>Ø�M‰MØ8¼¸ð DAð Aôñ Ø�‰Ð5Ô6Ü˜ °eÔ<ˆØŠ;Ø�M‰MÐ`ÔaÙØ�‰Ð;¸C¸5ÀÐCÔDÙr#   r;   uc   Create a new service-account token at https://my.1password.com â†’ Developer â†’ Service Accounts.
zPaste new token (z): NrY   u€   [yellow]Note: the 1Password integration is currently disabled â€” run `hermes secrets onepassword setup` to turn it on.[/yellow])r   ÚintroÚpromptr�   ÚsaveÚenv_pathÚclear_cachesÚdisabled_note)r   r%   r0   rE   r
   r   r=   Ú	no_verifyr   r   ra   r–   )rO   r-   rd   r�   rW   rU   rh   s   &   @@@r!   rG   rG   ø   s³   ú€ ô ‹i€GÜ‹Y€FØ—
‘
Ð6Ô8JÓK€IÜ�f˜iÓ(€GÜ˜& -Ó0€K÷ò ô  Ø�—‘˜YØðMð # 9 +¨SÐ1Ø—~—~�~‰t¨6Ü¤lÄ×ATÑATØ$Ÿj™j¨×3Ò3�dôð ðMôð r#   c               ó    € V ^8„  d   QhRRRR/# rN   r   )r    s   "r!   r"   r"   "  s   € ÷ Iñ IÐ%ð I¨#ñ Ir#   c                ó˜  a
aaa€ \        4       p\        4       p\        WR R4      '       g   ^# \        V4      pV'       g   VP	                  R4       ^ # \        VR4      pVP                  R\        4      o\        VR4      pV P                  '       Ed   \        P                  ! RVVSV\        VP                  RR4      4      ^ R7      pVP                  '       d"   VP	                  R	VP                   R
24       ^# \        TRRR/3R3\        VP                  4       Uu. uF  qwR3NK  	  up\        VP                   4       Uu. uF  qwR3NK  	  up,           VP"                  4       VP	                  R\%        VP                  4       R24       ^ #  \        P&                  ! VVSVRR7      w  op\        TP                  RR4      4      oR TTT3R llo
\        TRRR/3R3T
3R l\        T4       4       T4       TP	                  R4       ^ # u upi u upi   \(         d!   p	TP	                  R	T	 R
24        Rp	?	^# Rp	?	ii ; i)Ú	1Passwordr   us   [yellow]No op:// references configured.  Add one with `hermes secrets onepassword set ENV_VAR "op://â€¦"`.[/yellow]rW   rX   rU   Tr\   )rY   r/   rW   rX   rU   r\   rZ   r�   r‚   rp   rq   rS   ÚActionz[green]exported[/green]z,[dim]skipped (already set / token var)[/dim]z
  [green]Exported z( secret(s) into current process.[/green]F)rx   rW   rd   rU   Ú	use_cacheNc               ó    € V ^8„  d   QhRRRR/# )r   rw   ru   r   r   )r    s   "r!   r"   Úcmd_sync.<locals>.__annotate__Z  s   € ÷ Sñ S�Sð S˜Sñ Sr#   c                óÎ   <€ V S8X  d   R # V S9  d   R# \        \        P                  P                  V 4      4      pV'       d   S'       g   R# RV'       d	   R,           # R,           # )z[dim]skip (token var)[/dim]z$[red]unresolved (see warnings)[/red]z[dim]skip (already set)[/dim]z[green]would export[/green]z (overrides)rV   )r{   re   rf   r0   )rw   ÚalreadyÚoverrider)   rd   s   & €€€r!   ÚactionÚcmd_sync.<locals>.actionZ  sM   ø€ Ø�9ÔÙ0Ø�wÔÙ9Ü”r—z‘z—~‘~ dÓ+Ó,ˆßŸ8Ù2Ø,Ç'°ÕRÐRÈrÕRÐRr#   c              3  ó6   <"  € T F  qS! V4      3x € K  	  R # 5irt   r   )rv   rw   r£   s   & €r!   ry   Úcmd_sync.<locals>.<genexpr>e  s   øé € ÐEÑ2D¨$™˜t›Õ%Ó2Dùs   ƒu²   
  This was a dry-run â€” references resolve automatically on the next [cyan]hermes[/cyan] invocation.  Re-run with [cyan]--apply[/cyan] to export into the current shell instead.)r   r%   r   r2   r]   r
   r0   rE   Úapplyra   Úapply_onepassword_secretsr{   Úerrorr   r}   ÚappliedÚskippedr…   r|   Úfetch_onepassword_secretsÚRuntimeError)rO   rh   r-   rx   rW   rU   Úresultrw   r…   Úexcr£   r¢   r)   rd   s   &         @@@@r!   rJ   rJ   "  s1  û€ Ü‹i€GÜ‹Y€FÜ˜7¨K¸×GÒGÙä˜VÓ$€JßØ�‰ðNô	
ñ ä�f˜iÓ(€GØ—
‘
Ð6Ô8JÓK€IÜ˜& -Ó0€Kð ‡z‡z�zÜ×1Ò1ØØØØ&/Ø#Ü" 6§:¡:Ð.AÀ4Ó#HÓIØô
ˆð �<�<ˆ<Ø�M‰M˜E &§,¡, ¨vÐ6Ô7ÙÜØ�y 7¨FÐ"3Ð4°hÐ?Ü;AÀ&Ç.Á.Ô;QÓRÑ;Q°4Ð-Ó.Ñ;QÑRÜRXÐY_×YgÑYgÔRhÓiÑRhÈ$ÐDÓEÑRhÑiõjà�O‰Oô		
ð 	�‰Ð,¬S°·±Ó-@Ð,AÐAiÐjÔkÙð
Ü"×<Ò<Ø!ØØØ#Øô
Ñˆ�ô �F—J‘JÐ2°DÓ9Ó:€H÷Sò Sô �˜9 w°Ð&7Ð8¸(ÐCÜE´&¸Ô2DÓEÀxôQà‡M�Mð	*ôñ
 ùòO SùÚiøô ô Ø�‰˜˜c˜U &Ð)Ô*Ýûðús$   Ä"HÅHÆH ÈI	È)IÉI	c               ó    € V ^8„  d   QhRRRR/# rN   r   )r    s   "r!   r"   r"   n  s   € ÷ ñ Ð(ð ¨Sñ r#   c                ó   € \        R R4      # )r   uü   [green]Disabled.[/green]  1Password references will NOT be resolved on the next Hermes invocation.
  Your reference mappings are left in config.yaml â€” remove them with [cyan]hermes secrets onepassword remove ENV_VAR[/cyan] if you no longer need them.)r   )rO   s   &r!   rK   rK   n  s   € Ü Øð	óð r#   r�   rV   c               ó(   € V ^8„  d   QhRRRRRRRR/# )r   ri   r   rW   ru   r�   r   zOptional[str]r   )r    s   "r!   r"   r"   y  s.   € ÷ Rñ R�tð R cð R¸3ð RÈñ Rr#   c               óž  € \        V 4      R.pV'       d   VRV.,          p\        4       pV'       d   W$R&    \        P                  ! W4RRRR^
RR7      pTP                  ^ 8w  d   R	# TP                  ;'       g    R
P                  4       P                  RR4      R,          ;'       g    R#   \        \        P
                  3 d     R	# i ; i)z¹Short identity string if op is authenticated, else None. ``token_value`` probes a candidate
token via the child's ``OP_SERVICE_ACCOUNT_TOKEN`` without touching the caller's environment.Úwhoamir9   r   Tzutf-8ÚreplaceF)r/   Úcapture_outputÚtextÚencodingÚerrorsÚtimeoutÚcheckNrV   Ú
Ú :Néx   NÚauthenticated)
ru   r   Ú
subprocessÚrunÚOSErrorÚTimeoutExpiredÚ
returncodeÚstdoutr`   rµ   )ri   rW   r�   Úcmdr/   Úress   &&$   r!   rg   rg   y  sÁ   € ô ˆv‹;˜Ð
!€CßØ�˜WÐ%Õ%ˆÜ
Ó
€CßØ*5Ð&Ñ'ðÜ�nŠnØ¨°DØ Y¸Øô
ˆð ‡~�~˜ÔÙØ�J‰J×Ð˜"×#Ñ#Ó%×-Ñ-¨d°CÓ8¸Õ>×QÐQÀ/ÐQøô	 ”Z×.Ñ.Ð/ô Úðús   ¸B- Â-CÃC)3Ú__doc__Ú
__future__r   Úargparsere   rÀ   Úpathlibr   Útypingr   Úrich.consoler   Ú
rich.panelr   Úagent.secret_sourcesr   ra   Úhermes_cli._secrets_commonr	   r
   r   r   r   r   r   r   r   r   r   r   r   Úhermes_cli.configr   r   r   r   rE   r_   rc   r%   r+   r2   rL   rD   rF   rH   rI   rG   rJ   rK   rg   r   r#   r!   Ú<module>rÒ      s¨   ðñõ #ã Û 	Û Ý Ý å  Ý å 6÷÷ ÷ õ ÷ UÓ Tà/Ð ØC€	ð €õ5õGõ0õõ8IõX-õ`õ0õ'õTIõXðRÀ÷ Rñ Rr#   