hermes-agent/tui_gateway
ZachariahChu bdc82e39e9 perf(gateway): prewarm /model picker cache on TUI startup
The classic CLI run() loop calls prewarm_picker_cache_async() during the
idle window after the banner is shown, so the first /model open hits a warm
provider-models disk cache and renders in ~100ms. The stdio TUI entry point
never did this, so the first /model open in a TUI session blocked on serial
/v1/models fetches for every authenticated provider.

Mirror the CLI behaviour: kick off the same off-thread prewarm right after
gateway.ready is emitted (banner shown, user about to type). Fire-and-forget,
guarded once-per-process, fully exception-isolated so a slow or offline
provider can never affect TUI startup.
2026-08-04 12:28:05 +05:30
..
__init__.py
_stdin_recovery.py
compute_host.py docs: note atexit re-finalization interaction in shutdown() docstring 2026-08-03 09:59:58 +05:30
entry.py perf(gateway): prewarm /model picker cache on TUI startup 2026-08-04 12:28:05 +05:30
event_publisher.py
git_probe.py
host_supervisor.py
loop_noise.py
method_ctx.py
methods_complete.py
methods_config.py
methods_prompt.py
methods_session.py refactor(state): fold simplify findings — reuse _insert_message_rows, share guards, chunk seeds 2026-08-03 20:43:38 +05:30
methods_tools.py
project_tree.py
render.py
server.py refactor(state): fold simplify findings — reuse _insert_message_rows, share guards, chunk seeds 2026-08-03 20:43:38 +05:30
slash_worker.py
synthetic_turn.py
transport.py
turn_marker.py
ws.py perf(cold-start): mitigate ~14s GIL stall during backend init (#60800) 2026-08-03 21:16:09 +05:30