Files
Lukas Moschitz bf2de51705 fix(showcase): wire langgraph-fastapi demos to dedicated graphs (drop sample_agent fallbacks)
Live QA surfaced demos that behaved wrong on fastapi because they fell back to
the generic sample_agent (or were unregistered) instead of the dedicated graph
LGP uses. aimock D6 masked these (fixtures script the tool calls), so they were
green in the grid but broken against a real model. Audit of fastapi's
agentNames fallthrough vs LGP's neutralAssistantCells found exactly these:

- gen-ui-tool-based: port gen_ui_tool_based graph (tools=[], frontend supplies
  render_bar/pie_chart via useComponent). Was sample_agent, whose query_data
  tool + prompt made the model loop on data queries instead of rendering.
- shared-state-streaming: port shared_state_streaming graph (StateStreaming
  middleware + write_document tool + document state). Was sample_agent, which
  never emits state.document, so it only wrote to chat. Remove from
  not_supported_features (now works, D6 green).
- agentic-chat: port agentic_chat graph (tools=[]). Was sample_agent (7+ tools).
- threadid-frontend-tool-roundtrip: wire to frontend_tools (was unregistered).
- reasoning-custom: align reasoning_agent config to LGP (gpt-5.4 / effort
  medium / summary detailed; were gpt-5-mini / low / auto).

Register the 3 new graphs in langgraph.json; remove the 3 names from the
sample_agent fallthrough loop in route.ts. D6 green x2 for reasoning-display,
gen-ui-custom, shared-state-streaming, agentic-chat; agent-config +
tool-rendering-reasoning-chain re-verified (no regression).
2026-07-27 16:24:50 +02:00

40 lines
2.1 KiB
JSON

{
"dependencies": ["."],
"http": {
"configurable_headers": {
"include": ["x-*"]
}
},
"graphs": {
"sample_agent": "./src/agents/src/agent.py:graph",
"gen_ui_agent": "./src/agents/src/gen_ui_agent.py:graph",
"beautiful_chat": "./src/agents/src/beautiful_chat.py:graph",
"headless_complete": "./src/agents/src/headless_complete.py:graph",
"multimodal": "./src/agents/src/multimodal_agent.py:graph",
"agent_config_agent": "./src/agents/src/agent_config_agent.py:graph",
"reasoning_agent": "./src/agents/src/reasoning_agent.py:graph",
"tool_rendering": "./src/agents/src/tool_rendering_agent.py:graph",
"tool_rendering_reasoning_chain": "./src/agents/src/tool_rendering_reasoning_chain_agent.py:graph",
"interrupt_agent": "./src/agents/src/interrupt_agent.py:graph",
"a2ui_dynamic": "./src/agents/src/a2ui_dynamic.py:graph",
"a2ui_fixed": "./src/agents/src/a2ui_fixed.py:graph",
"a2ui_recovery": "./src/agents/src/recovery_agent.py:graph",
"mcp_apps": "./src/agents/src/mcp_apps_agent.py:graph",
"frontend_tools": "./src/agents/src/frontend_tools.py:graph",
"frontend_tools_async": "./src/agents/src/frontend_tools_async.py:graph",
"hitl_in_app": "./src/agents/src/hitl_in_app.py:graph",
"hitl_in_chat": "./src/agents/src/hitl_in_chat_agent.py:graph",
"hitl_steps": "./src/agents/src/hitl_steps.py:graph",
"readonly_state_agent_context": "./src/agents/src/readonly_state_agent_context.py:graph",
"byoc_hashbrown": "./src/agents/src/byoc_hashbrown_agent.py:graph",
"byoc_json_render": "./src/agents/src/byoc_json_render_agent.py:graph",
"open_gen_ui": "./src/agents/src/open_gen_ui_agent.py:graph",
"open_gen_ui_advanced": "./src/agents/src/open_gen_ui_advanced_agent.py:graph",
"shared_state_read_write": "./src/agents/src/shared_state_read_write.py:graph",
"subagents": "./src/agents/src/subagents.py:graph",
"agentic_chat": "./src/agents/src/agentic_chat.py:graph",
"gen_ui_tool_based": "./src/agents/src/gen_ui_tool_based.py:graph",
"shared_state_streaming": "./src/agents/src/shared_state_streaming.py:graph"
}
}