LemonRouter. SurfaceManager
(lemon_router v0.1.0)
View Source
Router-owned semantic output façade for RunProcess.
RunProcess uses this module as its output API. Answer streaming still lives
in StreamCoalescer, tool/task status streaming still lives in
ToolStatusCoalescer, and channel-specific presentation remains in
lemon_channels. SurfaceManager owns the router-side coordination across
those surfaces, including answer/status handoff, task-surface bookkeeping,
and final-answer fanout.
Summary
Functions
@spec fanout_final_answer(map(), LemonCore.Event.t()) :: :ok
@spec finalize_answer(map(), LemonCore.Event.t(), map()) :: :ok
@spec finalize_status(map(), LemonCore.Event.t()) :: :ok
@spec flush_all(map()) :: :ok
@spec flush_status(map()) :: :ok
@spec maybe_seed_final_answer(map(), LemonCore.Event.t()) :: :ok