Agent 事件广播器。
将 Agent 内部事件统一通过 CMDC.EventBus 广播给外部订阅者。
可选在 debug 模式下记录至 ETS ring buffer,供调试查询。
使用方式
CMDC.Agent.Emitter.broadcast(state, {:stream_chunk, session_id, "hello"})
CMDC.Agent.Emitter.recent("session-id", 20)
CMDC.Agent.Emitter.clear("session-id")
Summary
Functions
@spec broadcast(CMDC.Agent.State.t(), term()) :: :ok
广播事件至所有订阅者,并在 debug 模式下记录至 ETS。
@spec clear(String.t()) :: :ok
清空指定会话的所有 debug 日志。
@spec recent(String.t(), pos_integer()) :: [%{timestamp_ms: integer(), event: term()}]
返回指定会话最近的事件列表(最新在前)。
limit 最大为 500,最小为 1。