Idempotency LRU keyed by (saga_id, CommandKind). Stores the
resulting Report* Command so a duplicate dispatch re-emits the
same reply payload without re-running the action.
Discriminator for the host-bound saga command variants. Tracks
the three commands the host actually consumes today
(SpawnPoolWindow, ReapPanes, DrainPoolIfLast); future host-
bound commands add a variant here.
Dispatcher trait — abstracted so tests can inject a fake action
runner without spawning real CEF windows. Production code uses
LiveActionRunner which calls into commands::window_pool /
host close-path code.
Run the action for cmd and synthesize the corresponding
Report* Command. saga_id_for_report is what the Report’s
echo field carries — Some(N) when the dispatch was saga-driven,
None for the no-saga bypass path.
Dispatch a host-bound saga Command: check the LRU, run the
action if not cached, build the corresponding Report*,
cache it, and send via reply_tx. Returns the outcome so callers
can log / count fresh vs. duplicate dispatch.