§
    øžyjq  ã                   ó¢   — d Z ddlZddlmZ ddlmZmZ dZdedefd„Z	d	d
ddd e
e¦  «        ddœidgdœdœZ ej        d	ded„ d¬¦  «         dS )a¤  Reveal/focus a pane in the Hermes desktop GUI.

Lives in the ``desktop_ui`` toolset (like the other GUI affordances), which the
GUI gateway enables only for desktop-sourced sessions. Emits ``pane.reveal``
through the shared ``desktop_ui`` bridge; the renderer runs each pane's own
reveal path and only acts on the active window (a background turn never moves
the user's focus). To show a URL/file, use ``open_preview``.
é    N)Ú
desktop_ui)ÚregistryÚ
tool_error)ÚchatÚfilesÚterminalÚreviewÚsessionsÚpaneÚreturnc                 ó˜  — | pd                      ¦   «                              ¦   «         }|t          vr+t          dd                     t          ¦  «        › d�¦  «        S 	 t          j        dd|i¦  «        }n,# t          $ r}t          d|› d|› �¦  «        cY d	}~S d	}~ww xY w|st          d
¦  «        S t          j	        d|dœd¬¦  «        S )z1Ask the desktop GUI to reveal and focus ``pane``.Ú zpane must be one of: z, ú.zpane.revealr   zFailed to focus the z pane: Nz7Pane focus is only available in the Hermes desktop app.T)Úsuccessr   F)Úensure_ascii)
ÚstripÚlowerÚPANESr   Újoinr   ÚemitÚ	ExceptionÚjsonÚdumps)r   ÚnameÚokÚexcs       ú;/home/ragecks/.hermes/hermes-agent/tools/focus_pane_tool.pyÚfocus_pane_toolr      s÷   € àˆJ�B×ÒÑÔ×%Ò%Ñ'Ô'€DØ•5ÐÐÝÐE°$·)²)½EÑ2BÔ2BÐEÐEÐEÑFÔFÐFðEÝŒ_˜]¨V°T¨NÑ;Ô;ˆˆøÝð Eð Eð EÝÐC°ÐCÐC¸cÐCÐCÑDÔDÐDÐDÐDÐDÐDÐDøøøøðEøøøàð UÝÐSÑTÔTÐTåŒ: $°Ð5Ð5ÀEÐJÑJÔJÐJs   ÁA6 Á6
BÂ BÂBÂBÚ
focus_paneug  Reveal and focus a pane in the Hermes desktop app when the user asks to see it â€” e.g. "show me the terminal", "open the file browser", "show the diff". Panes: chat (the conversation), files (project file browser), terminal (embedded shell), review (git diff), sessions (the session list). To show a URL or file in the preview pane, use open_preview instead.ÚobjectÚstringzWhich pane to reveal.)ÚtypeÚenumÚdescription)r"   Ú
propertiesÚrequired)r   r$   Ú
parametersr   c                 óJ   — t          |                      dd¦  «        ¬¦  «        S )Nr   r   )r   )r   Úget)ÚargsÚkws     r   ú<lambda>r,   >   s   € �°D·H²H¸VÀRÑ4HÔ4HÐIÑIÔI€ ó    u   ðŸªŸ)r   ÚtoolsetÚschemaÚhandlerÚemoji)Ú__doc__r   Útoolsr   Útools.registryr   r   r   Ústrr   ÚlistÚFOCUS_PANE_SCHEMAÚregister© r-   r   ú<module>r:      sü   ððð ð €€€à Ð Ð Ð Ð Ð Ø /Ð /Ð /Ð /Ð /Ð /Ð /Ð /à;€ðK˜#ð K #ð Kð Kð Kð Kð" ð	Oð àØ Ø˜˜U™œØ6ðð ð
ð �Hð
ð 
ðð Ð ð. €Ô Ø	ØØØIÐIØ
ðñ ô ð ð ð r-   