CMDCGateway.SSEHandler (cmdc_gateway v0.4.2)

Copy Markdown View Source

SSE 事件流处理器。

订阅 CMDC EventBus → 翻译为对外 JSON → 按 SSE 格式逐行 chunk 推送。 连接断开时自动 unsubscribe。心跳 keepalive 间隔 30 秒。

Summary

Functions

接管 Plug.Conn,开启 SSE chunked 流。

接管 Plug.Conn,开启 A2A tasks/sendSubscribe SSE 流。

Functions

stream(conn, session_id)

@spec stream(Plug.Conn.t(), String.t()) :: Plug.Conn.t()

接管 Plug.Conn,开启 SSE chunked 流。

此函数会阻塞当前进程直到客户端断开或 session 结束。

stream_a2a(conn, session_id, task_id)

@spec stream_a2a(Plug.Conn.t(), String.t(), String.t()) :: Plug.Conn.t()

接管 Plug.Conn,开启 A2A tasks/sendSubscribe SSE 流。

事件按 A2A 协议格式推送(TaskStatusUpdateEvent / TaskArtifactUpdateEvent)。 与 stream/2 不同:每个 chunk 是包含 event: TaskXxxUpdateEvent 的 SSE 块, 并保持原 JSON-RPC taskId 一致性。