+
    jHàjŸ  ã                  óÞ   € 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 ^ RIHtHtHtHtHtHtH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# )z8Implementation of the ``hermes bundles`` CLI subcommand.)ÚannotationsN)ÚList©ÚConsole)ÚTable)Ú
line_input)Ú_bundles_dirÚdelete_bundleÚ
get_bundleÚlist_bundlesÚreload_bundlesÚsave_bundleÚscan_bundlesc               ó   € V ^8„  d   QhRR/# )é   Úreturnr   © )Úformats   "Ú7/home/ubuntu/.hermes/hermes-agent/hermes_cli/bundles.pyÚ__annotate__r      s   € ÷ ñ �'ñ ó    c                 ó   € \        4       # )Nr   r   r   r   Ú_consoler      s
   € Ü‹9Ðr   c               ó$   € V ^8„  d   QhRRRRRR/# )r   Úcr   ÚmessageÚstrr   ÚNoner   )r   s   "r   r   r      s!   € ÷ ñ ˆWð ˜sð  tñ r   c                óT   € V P                  V4       \        P                  ! ^4       R# )é   N)ÚprintÚsysÚexit)r   r   s   &&r   Ú_failr#      s   € Ø‡G�GˆGÔÜ‡H‚HˆQ†Kr   c               ó   € V ^8„  d   QhRR/# ©r   r   r   r   )r   s   "r   r   r      s   € ÷ >ñ >�tñ >r   c                ór  € \        4       p\        4       pV'       g    VP                  R \        4        R24       R# \	        R\        V4       R2RR7      pVP                  RRR	7       VP                  R
RR	7       VP                  RRR7       VP                  R4       V Fc  pTP                  RVR,           2VR,          \        \        VP                  R. 4      4      4      VP                  R4      ;'       g    R4       Ke  	  VP                  V4       VP                  R\        4        R24       R# )z‰[dim]No bundles installed yet. Create one with:
  hermes bundles create <name> --skill skill1 --skill skill2[/]
Bundles directory: [bold]ú[/]NzSkill Bundles (Ú)F)ÚtitleÚ
show_linesÚCommandz	bold cyan)ÚstyleÚNameÚboldÚSkillsÚright)ÚjustifyÚDescriptionÚ/ÚslugÚnameÚskillsÚdescriptionÚ z
[dim]Bundles directory: )
r   r   r    r   r   ÚlenÚ
add_columnÚadd_rowr   Úget)Úargsr   ÚbundlesÚtableÚinfos   &    r   Ú	_cmd_listrA      s  € Ü‹
€AÜ‹n€GßØ	�‰ð(ä(4«Ð'7°sð<ô	=ñ 	ä˜/¬#¨g«,¨°qÐ9ÀeÔL€EØ	×Ñ�Y kÐÔ2Ø	×Ñ�V 6ÐÔ*Ø	×Ñ�X wÐÔ/Ø	×Ñ�]Ô#ãˆØ�‰Ø��V•ˆ~ÐØ��LÜ”�D—H‘H˜X rÓ*Ó+Ó,Ø�H‰H�]Ó#×)Ð) rö		+ñ ð ‡G�GˆE„NØ‡G�GÐ(¬«Ð(8¸Ð<Ö=r   c               ó   € V ^8„  d   QhRR/# r%   r   )r   s   "r   r   r   5   s   € ÷ Gñ G�tñ Gr   c                ól  € \        4       p\        V P                  4      pV'       g   \        VR V P                  : R24       VP	                  RVR,           RVR,           R24       VP                  R4      '       d   VP	                  RVR,           24       VP	                  R	VR
,           R24       VP	                  R\        VR,          4       R24       VR,           F  pVP	                  RV 24       K  	  VP                  R4      '       d   VP	                  RVR,           24       R# R# )z[bold red]Bundle z not found.[/]z[bold cyan]/r4   z[/]  [bold]r5   r'   r7   z  z  [dim]File: Úpathz  [bold]Skills (r6   ú):[/]z    - Úinstructionz  [bold]Instruction:[/]
    N)r   r
   r5   r#   r    r<   r9   )r=   r   r@   Úss   &   r   Ú	_cmd_showrH   5   s  € Ü‹
€AÜ�d—i‘iÓ €DßÜˆaÐ$ T§Y¡Y¡M°Ð@ÔAØ‡G�Gˆl˜4 �<˜.¨°D¸µL°>ÀÐEÔFØ‡x�x�×ÒØ	�‰�"�T˜-Õ(Ð)Ð*Ô+Ø‡G�Gˆm˜D �L˜>¨Ð-Ô.Ø‡G�GÐœs 4¨¥>Ó2Ð3°5Ð9Ô:Ø�(�^ˆ^ˆØ	�‰�&˜˜�Öñ à‡x�x�×ÒØ	�‰Ð/°°]Õ0CÐ/DÐEÖFñ r   c               ó   € V ^8„  d   QhRR/# r%   r   )r   s   "r   r   r   E   s   € ÷ "5ñ "5˜ñ "5r   c           	     óZ  € \        4       pV P                  p\        V P                  ;'       g    . 4      pV'       gI   VP	                  R 4         \        R4      P                  4       pV'       g   MVP                  V4       K6  V'       g   \        VR4        \        Y#V P                  ;'       g    RV P                  ;'       g    R\        V P                  4      R7      pVP	                  R
X 24       \%        V4      pV'       d2   VP	                  RVR,           R\'        VR,          4       R24       R# R#   \        \        3 d    \        TR4        LØi ; i  \          d   p\        TRT R24        Rp?L�Rp?i\"         d   p\        TRT R	24        Rp?LÀRp?ii ; i)zd[dim]No skills passed via --skill. Enter one skill name per line.
Submit an empty line to finish.[/]zskill> z
[yellow]Cancelled.[/]z8[bold red]A bundle must reference at least one skill.[/]r8   )r7   rF   Ú	overwriteú
[bold red]z&[/]
[dim]Pass --force to overwrite.[/]Nr'   z[bold green]Created bundle:[/] z  Invoke with: [bold cyan]/r4   z[/]  (loads r6   z skills))r   r5   ÚlistÚskillr    r   ÚstripÚappendÚEOFErrorÚKeyboardInterruptr#   r   r7   rF   ÚboolÚforceÚFileExistsErrorÚ
ValueErrorr
   r9   )r=   r   r5   r6   ÚlinerD   Úexcr@   s   &       r   Ú_cmd_createrY   E   s|  € Ü‹
€AØ�9‰9€DÜ˜TŸZ™Z×-Ð-¨2Ó.€Fßà	�‰ð1ô	2ð	0ØÜ! )Ó,×2Ñ2Ó4�ßØØ—‘˜dÖ#÷ ÜˆaÐKÔLð(ÜØ d×&6Ñ&6×&<Ð&<¸"È$×JZÑJZ×J`ÐJ`Ð^`Ü˜4Ÿ:™:Ó&ô(ˆð ‡G�GÐ-¨d¨VÐ4Ô5Ü�dÓ€DßØ	�‰Ø)¨$¨v­,¨ð 8Ü˜$˜x�.Ó)Ð*¨(ð4ö	5ñ øô! Ô+Ð,ô 	0Ü�!Ð.Ö/ð	0ûô ô LÜˆa�:˜c˜UÐ"IÐJ×KÑKûÜô (Üˆa�:˜c˜U #Ð&×'Ñ'ûð(úsN   Á"D? Á3D? ÂE" Â4E" Ã	E" Ä?EÅEÅ"F*Å-FÆF*ÆF*ÆF%Æ%F*c               ó   € V ^8„  d   QhRR/# r%   r   )r   s   "r   r   r   j   s   € ÷ 6ñ 6˜ñ 6r   c                ó¾   € \        4       p \        V P                  4      pVP                  RX 24       R#   \         d   p\	        TR T R24        Rp?L6Rp?ii ; i)rL   r'   Nz[bold green]Deleted bundle:[/] )r   r	   r5   ÚFileNotFoundErrorr#   r    )r=   r   rD   rX   s   &   r   Ú_cmd_deleter]   j   sZ   € Ü‹
€Að(Ü˜TŸY™YÓ'ˆð ‡G�GÐ-¨d¨VÐ4Ö5øô ô (Üˆa�:˜c˜U #Ð&×'Ñ'ûð(ús   Œ7 ·AÁAÁAc               ó   € V ^8„  d   QhRR/# r%   r   )r   s   "r   r   r   s   s   € ÷ ?ñ ?˜ñ ?r   c           
     ó€  € \        4       p\        4       pVR ,          '       dd   VP                  R\        VR ,          4       R24       VR ,           F1  pVP                  RVR,           RVP	                  RR4       24       K3  	  VR,          '       dQ   VP                  R	\        VR,          4       R24       VR,           F  pVP                  R
VR,           24       K   	  VR ,          '       g.   VR,          '       g   VP                  RVR,           R24       R# VP                  RVR,           R24       R# )Úaddedz[bold green]Added (rE   z  + r5   u    â€” r7   r8   Úremovedz[bold red]Removed (z  - z[dim]No changes. Útotalz bundle(s) loaded.[/]z[dim]Total bundles now: r'   N)r   r   r    r9   r<   )r=   r   ÚdiffÚentrys   &   r   Ú_cmd_reloadre   s   s	  € Ü‹
€AÜÓ€DØˆG‡}„}Ø	�‰Ð%¤c¨$¨w­-Ó&8Ð%9¸Ð?Ô@Ø˜'—]�]ˆEØ�G‰G�d˜5 �=˜/¨¨u¯y©y¸ÈÓ/KÐ.LÐMÖNñ #àˆI‡„Ø	�‰Ð%¤c¨$¨y­/Ó&:Ð%;¸5ÐAÔBØ˜)—_�_ˆEØ�G‰G�d˜5 �=˜/Ð*Ö+ñ %à��=Œ=  i§¤Ø	�‰Ð# D¨¥M ?Ð2GÐHÖIà	�‰Ð*¨4°­=¨/¸Ð=Ö>r   c               ó   € V ^8„  d   QhRR/# r%   r   )r   s   "r   r   r   „   s   € ÷ )ñ )˜tñ )r   c                óö  € V P                  RR7      pVP                  RRR7      pVP                  \        R7       VP                  RRR7      pVP	                  R	R
R7       VP                  \
        R7       VP                  RRRR7      pVP	                  R	RR7       VP	                  RRR. RR7       VP	                  RRRRR7       VP	                  RRRRR7       VP	                  RRRR R!7       VP                  \        R7       VP                  R"R#R7      pVP	                  R	R
R7       VP                  \        R7       VP                  R$R%R7      pVP                  \        R7       \        4        R&# )'zpBuild the ``hermes bundles`` argparse tree (called from hermes_cli/main.py, which owns the
top-level subparser).Úbundles_action)ÚdestrM   zList installed skill bundles)Úhelp)Ú_bundles_handlerÚshowzShow one bundle's contentsr5   zBundle nameÚcreatezCreate a new skill bundlezrCreate a new bundle. Skills can be passed via --skill (repeat for multiple) or entered interactively when omitted.)rj   r7   z(Bundle name (becomes the /slash command)z--skillz-srP   z+Skill name to include (repeat for multiple))ÚactionÚdefaultrj   z--descriptionz-dr8   zCHuman-readable description shown in /help and `hermes bundles list`)ro   rj   z--instructionz-iz4Extra guidance prepended to the loaded skill contentz--forcez-fÚ
store_truez/Overwrite an existing bundle with the same name)rn   rj   ÚdeletezDelete a skill bundleÚreloadz0Re-scan the bundles directory and report changesN)
Úadd_subparsersÚ
add_parserÚset_defaultsrA   Úadd_argumentrH   rY   r]   re   r   )Ú	subparserÚsubsÚp_listÚp_showÚp_createÚp_deleteÚp_reloads   &      r   Úregister_clir~   „   s›  € ð ×#Ñ#Ð)9Ð#Ó:€Dà�_‰_˜VÐ*Hˆ_ÓI€FØ
×Ñ¬ÐÔ3à�_‰_˜VÐ*Fˆ_ÓG€FØ
×Ñ˜ ]ÐÔ3Ø
×Ñ¬ÐÔ3à�‰ØØ(ð?ð	 ó A€Hð ×Ñ˜&Ð'QÐÔRØ×ÑØ�4 °"Ø:ð ô <ð ×ÑØ˜ rØRð ô Tð ×ÑØ˜ rØCð ô Eð ×ÑØ�4 Ð3dð ô ð ×Ñ¬;ÐÔ7à�‰˜xÐ.EˆÓF€HØ×Ñ˜& }ÐÔ5Ø×Ñ¬;ÐÔ7à�‰˜xÐ.`ˆÓa€HØ×Ñ¬;ÐÔ7ô †Nr   c               ó   € V ^8„  d   QhRR/# r%   r   )r   s   "r   r   r   °   s   € ÷ ñ ˜Tñ r   c                óL   € \        V RR4      ;'       g    \        pV! V 4       R# )z>Dispatch ``hermes bundles <subcommand>`` to the right handler.rk   N)ÚgetattrrA   )r=   Úhandlers   & r   Úbundles_commandrƒ   °   s    € ä�dÐ.°Ó5×BÐB¼€GÙˆD†Mr   )Ú__doc__Ú
__future__r   r!   Útypingr   Úrich.consoler   Ú
rich.tabler   Úhermes_cli.cli_outputr   Úagent.skill_bundlesr   r	   r
   r   r   r   r   r   r#   rA   rH   rY   r]   re   r~   rƒ   r   r   r   Ú<module>r‹      sY   ðÙ >å "ã 
Ý å  Ý å ,÷÷ ñ õ
õõ
>õ4Gõ "5õJ6õ?õ")÷Xr   