feat(api): Update Chat Stream Protocol for Orchestrator Architecture
This commit is contained in:
@@ -36,24 +36,25 @@ async def test_stream_agent_events_all_features():
|
||||
# Stream chunk
|
||||
{
|
||||
"event": "on_chat_model_stream",
|
||||
"metadata": {"langgraph_node": "summarizer"},
|
||||
"metadata": {"langgraph_node": "synthesizer"},
|
||||
"data": {"chunk": AIMessage(content="Hello ")}
|
||||
},
|
||||
{
|
||||
"event": "on_chat_model_stream",
|
||||
"metadata": {"langgraph_node": "summarizer"},
|
||||
"metadata": {"langgraph_node": "synthesizer"},
|
||||
"data": {"chunk": AIMessage(content="world")}
|
||||
},
|
||||
# Plot event
|
||||
# Plot event - with nested subgraph it might bubble up or come directly from data_analyst_worker
|
||||
# Let's mock it coming from the data_analyst_worker on_chain_end
|
||||
{
|
||||
"event": "on_chain_end",
|
||||
"name": "executor",
|
||||
"name": "data_analyst_worker",
|
||||
"data": {"output": {"plots": [fig]}}
|
||||
},
|
||||
# Final response
|
||||
{
|
||||
"event": "on_chain_end",
|
||||
"name": "summarizer",
|
||||
"name": "synthesizer",
|
||||
"data": {"output": {"messages": [AIMessage(content="Hello world final")]}}
|
||||
},
|
||||
# Summary update
|
||||
@@ -91,7 +92,7 @@ async def test_stream_agent_events_all_features():
|
||||
assert any(r.get("type") == "on_chat_model_stream" for r in results)
|
||||
|
||||
# Verify plot was encoded
|
||||
plot_event = next(r for r in results if r.get("name") == "executor")
|
||||
plot_event = next(r for r in results if r.get("name") == "data_analyst_worker")
|
||||
assert "encoded_plots" in plot_event["data"]
|
||||
assert len(plot_event["data"]["encoded_plots"]) == 1
|
||||
|
||||
|
||||
Reference in New Issue
Block a user