Brooklyn Nicholson
70ba3c4828
feat(desktop): agent can focus panes + shared desktop-UI event bridge
...
Extract the open_preview emitter into a shared tools/desktop_ui bridge
(one gateway-injected sink, routed by HERMES_UI_SESSION_ID) and add a
second desktop-gated tool on top of it:
- focus_pane(chat|files|terminal|review|sessions) -> pane.reveal event.
The desktop runs each pane's own reveal path (revealDesktopPane table)
and only acts on the active window -- a background turn never moves the
user's focus (desktop AGENTS.md: offer, don't hijack).
open_preview now emits through the same bridge. Both tools are check_fn
on HERMES_DESKTOP (zero footprint elsewhere), sitting beside
read_terminal/close_terminal in _HERMES_CORE_TOOLS.
Deliberately not adding run_slash: letting the agent fire slash commands
mid-turn (/model, /new, /clear) fights prompt-cache + conversation
invariants.
2026-07-22 12:13:01 -05:00
..
2026-07-18 15:07:04 -07:00
2026-07-20 02:25:53 -07:00
2026-07-17 04:53:38 -07:00
2026-07-21 12:04:47 -07:00
2026-07-22 06:56:08 -07:00
2026-07-17 04:52:02 -07:00
2026-07-03 03:27:47 -07:00
2026-07-03 03:27:47 -07:00
2026-05-19 22:34:05 -07:00
2026-07-01 05:04:41 -07:00
2026-07-18 10:07:46 -07:00
2026-06-21 17:46:38 +05:30
2026-07-05 13:42:46 -07:00
2026-07-22 07:00:47 -07:00
2026-06-19 07:34:02 -07:00
2026-07-02 03:00:59 -07:00
2026-07-16 07:22:24 -07:00
2026-06-22 06:42:30 -07:00
2026-07-20 09:21:08 -07:00
2026-07-08 05:13:18 -07:00
2026-07-02 04:20:43 -07:00
2026-06-25 13:52:06 -07:00
2026-07-22 06:58:45 -07:00
2026-07-20 06:50:31 -07:00
2026-07-22 12:13:01 -05:00
2026-07-07 02:40:04 -07:00
2026-07-01 14:37:22 +05:30
2026-07-20 06:50:11 -07:00
2026-05-22 04:10:45 -07:00
2026-05-08 16:39:32 -07:00
2026-05-08 16:39:32 -07:00
2026-07-14 17:09:40 +05:30
2026-04-21 16:41:26 -07:00
2026-07-16 00:18:38 -07:00
2026-07-22 12:13:01 -05:00
2026-07-01 17:48:32 +05:30
2026-04-13 04:45:07 -07:00
2026-07-05 13:51:26 -07:00
2026-07-14 02:59:39 +05:30
2026-07-05 00:47:54 -07:00
2026-07-06 04:58:42 -07:00
2026-07-20 05:38:25 -07:00
2026-07-16 12:48:48 -07:00
2026-05-30 07:58:08 -07:00
2026-07-17 04:50:47 -07:00
2026-07-17 04:50:47 -07:00
2026-07-17 04:50:47 -07:00
2026-07-18 04:15:13 -07:00
2026-07-22 03:19:42 -07:00
2026-07-20 13:13:02 +05:30
2026-05-08 09:27:26 -07:00
2026-05-08 09:27:26 -07:00
2026-07-22 12:13:01 -05:00
2026-06-06 18:30:39 -07:00
2026-07-13 02:42:18 -07:00
2026-07-19 10:29:14 -07:00
2026-06-25 16:40:27 -05:00
2026-06-13 14:42:51 -07:00
2026-07-02 03:00:59 -07:00
2026-07-13 18:14:15 -04:00
2026-07-07 02:52:17 -07:00
2026-07-16 05:39:58 -07:00
2026-07-22 07:00:04 -07:00
2026-07-18 20:17:22 +05:30
2026-05-04 02:42:16 -07:00
2026-06-25 22:03:02 -07:00
2026-05-23 17:47:26 -07:00
2026-07-12 02:59:27 -07:00
2026-07-17 04:52:02 -07:00
2026-06-27 21:07:53 -07:00
2026-07-09 15:38:14 +05:30
2026-05-15 14:00:01 -07:00
2026-07-18 00:05:25 -07:00
2026-05-29 03:44:49 -07:00
2026-07-01 01:05:28 -07:00
2026-06-26 15:26:08 +05:30
2026-07-22 06:56:53 -07:00
2026-06-01 06:32:48 +05:30
2026-05-31 00:50:19 -07:00
2026-06-30 16:39:41 -07:00
2026-05-29 02:04:12 -07:00
2026-07-14 02:59:39 +05:30
2026-07-13 22:26:19 -07:00
2026-07-07 02:39:36 -07:00
2026-07-14 02:59:39 +05:30
2026-07-05 00:47:54 -07:00
2026-06-08 22:46:57 -07:00
2026-07-10 19:14:06 +05:30
2026-07-04 15:08:49 -07:00
2026-06-10 02:57:15 -07:00
2026-07-19 23:58:33 -07:00
2026-07-17 11:37:25 +05:30
2026-06-29 21:11:58 -07:00
2026-05-23 01:40:35 -07:00