symfonic.platform.transport_citation¶
transport_citation ¶
Citation presentation at the native HTTP boundary.
BufferedCitationStream ¶
Project each display channel through its canonical filter in event order.
Text and thinking have independent filters. The filter's held characters keep their source event pending; every later event waits behind it. Once those characters are decided, their event and any intervening tool events are released in original order. A bounded queue refuses instead of allowing unresolved text to move across an unlimited number of events.
Source code in src/symfonic/platform/transport_citation.py
terminal ¶
Settle held display text before an authoritative terminal payload.
CitationBufferOverflow ¶
Bases: UnusableFinal
The citation boundary could not be resolved within a bounded queue.
CitationTagFilter ¶
Streaming filter that strips internal layer tags across chunk boundaries.
Feed chunks in order and concatenate what comes back; call :meth:flush
once at stream end. A partial prefix that never completes is dropped at
flush rather than emitted: it was only held back because it matched a known
layer name, so emitting it would leak a fragment of an internal annotation.
Source code in src/symfonic/capabilities/knowledge/citations.py
feed ¶
Append text and return the prefix that is safe to emit.
visible_answer ¶
Require a usable answer after removing internal citation tags.
visible_assistant_messages ¶
Copy assistant display text without changing tool or caller payloads.
Source code in src/symfonic/platform/transport_citation.py
visible_text ¶
Remove only the closed vocabulary of internal layer tags.