Events And Citations¶
Two deterministic graphs show how graph output crosses the OpenAI boundary without turning UI notifications into tool calls.
| Graph | Public output | Client behavior |
|---|---|---|
citation-events |
Markdown links and inline markers plus OpenAI url_citation annotations |
Chainlit renders the Markdown; Open WebUI resolves markers through native source events |
status-events |
Standard assistant text plus Responses commentary | Chainlit uses steps or a task list; Open WebUI persists native status history |
LangGraph Topology¶
graph TD;
__start__ --> answer_with_citation;
answer_with_citation --> __end__;
graph TD;
__start__ --> prepare_media;
prepare_media --> __end__;
Request Flow¶
- A maintained demo UI sends a standard request through LGOS
/v1/responsestocitation-eventsorstatus-events. citation-eventsreturns portable Markdown plus standard OpenAIurl_citationannotations.status-eventspublishes three plain statuses through LangGraph's stream writer while returning ordinary assistant text.- LGOS always transports the assistant text. Streaming Responses translate
status updates into standard
phase="commentary"message items; no metadata opt-in is required. Chat Completions streams plain text deltas. - UI adapters render the fields and events they support. Other OpenAI clients can ignore the optional output and keep the text.
These graphs have no checkpointer or Store. Their graph state and event timeline last for one request; each UI separately owns its transcript and rendered status or activity history.
Try It¶
| Model | Prompt | Transport |
|---|---|---|
citation-events |
Show me a cited answer. |
Responses |
status-events |
Prepare the media workflow. |
Responses |
See Citation Ownership and Streaming Status for the normative transport contract.