hermes-agent/apps/desktop/src/components
Brooklyn Nicholson 322138df51 refactor(desktop): split tool fallback-model into a folder with leaf modules
fallback-model.ts (1,696) folded into assistant-ui/tool/fallback-model/ with
three cohesive, self-contained leaf modules extracted (verbatim moves):

- types.ts (83)   — the shared tool-view types/interfaces.
- format.ts (133) — pure value formatting/parsing (isRecord, compactPreview,
  clampForDisplay, prettyJson, parseMaybeObject, unwrapToolPayload, numberValue,
  contextValue, formatDurationSeconds).
- targets.ts (75) — url/path/preview detection + disclosure ids (looksLikeUrl,
  findFirstUrl, hostnameOf, isPreviewableTarget, toolPart/GroupDisclosureId).

index.ts (1,434) keeps the tool-specific assembler (TOOL_META, titles, the count
machinery, subtitle/detail/diff, buildToolView) and re-exports the leaf modules,
so consumers importing `./fallback-model` are unchanged (folder index resolution)
— no importer or channel edits needed. The count/result/detail helpers reach
across each other around buildToolView, so they stay together to avoid a circular
split; the three leaves are the clean cut.

Behaviour-preserving: typecheck 0 errors, eslint clean, fallback-model test 24/26
(the 2 browser_navigate title failures are pre-existing on main — `hostnameOf`
intentionally includes the pathname; verified identical on the un-split file).
2026-06-30 15:24:33 -05:00
..
assistant-ui refactor(desktop): split tool fallback-model into a folder with leaf modules 2026-06-30 15:24:33 -05:00
chat refactor(desktop): share theme-repaint observer; memory-graph depth polish 2026-06-30 02:06:29 -05:00
onboarding refactor(desktop): split onboarding overlay god file into onboarding/ folder 2026-06-30 13:21:49 -05:00
pane-shell style(desktop,tui): fix all lint/type/formatting issues 2026-06-26 01:04:33 -05:00
pet refactor(desktop): collapse stroll-direction coin to a single draw 2026-06-29 22:53:38 -05:00
ui style(desktop): bring the install & update overlays onto the design system 2026-06-30 14:46:28 -05:00
Backdrop.tsx Add Hermes desktop app (#20059) 2026-05-31 17:46:56 -05:00
boot-failure-overlay.tsx style(desktop,tui): fix all lint/type/formatting issues 2026-06-26 01:04:33 -05:00
boot-failure-reauth.test.ts feat(desktop): per-profile remote gateway hosts (#39778) 2026-06-05 12:14:18 +00:00
boot-failure-reauth.ts style(desktop,tui): fix all lint/type/formatting issues 2026-06-26 01:04:33 -05:00
brand-mark.tsx docs(desktop): add DESIGN.md design-system guide + close two consistency gaps (#40823) 2026-06-06 22:13:17 +00:00
desktop-install-overlay.tsx style(desktop): bring the install & update overlays onto the design system 2026-06-30 14:46:28 -05:00
error-boundary.tsx feat(desktop): add shared project UI primitives 2026-06-25 16:40:27 -05:00
gateway-connecting-overlay.test.tsx style(desktop,tui): fix all lint/type/formatting issues 2026-06-26 01:04:33 -05:00
gateway-connecting-overlay.tsx fix(desktop): keep composer usable during reconnect (#45488) 2026-06-13 02:36:09 -07:00
haptics-provider.tsx perf(desktop): faster session resume & warm AudioContext at idle 2026-06-12 21:07:40 -05:00
language-switcher.test.tsx Add searchable language picker 2026-06-06 07:51:44 -07:00
language-switcher.tsx Add searchable language picker 2026-06-06 07:51:44 -07:00
model-picker.tsx style(desktop,tui): fix all lint/type/formatting issues 2026-06-26 01:04:33 -05:00
model-visibility-dialog.tsx fix(desktop): preserve other providers' hide-all in model visibility dialog 2026-06-21 15:42:26 +05:30
notifications.tsx style(desktop,tui): fix all lint/type/formatting issues 2026-06-26 01:04:33 -05:00
page-loader.tsx Add Hermes desktop app (#20059) 2026-05-31 17:46:56 -05:00
prompt-overlays.tsx refactor(desktop): colocate hook/component families into scoped folders 2026-06-30 02:42:07 -05:00
remote-display-banner.tsx feat(desktop): notify renderer when GPU acceleration is disabled due to remote display 2026-06-19 16:59:47 -07:00
session-picker.tsx style(desktop,tui): fix all lint/type/formatting issues 2026-06-26 01:04:33 -05:00
status-dot.tsx Add Hermes desktop app (#20059) 2026-05-31 17:46:56 -05:00