TeX 93.9%
Python 6%
1\begin{table}[htbp]2\centering3\caption{The streaming event protocol. The server parses the provider's Server-Sent Event stream4and dispatches on each event's type; it then re-emits its own typed events to the client. This is5the mechanism by which reasoning, text, tool calls, and computed artifacts are surfaced6incrementally.}7\label{tab:events}8\begin{threeparttable}9\begin{tabular}{@{}lll@{}}10\toprule11Provider event & Sub-type & Server action \\12\midrule13\texttt{message\_start} & --- & read input/output token usage \\14\texttt{message\_delta} & --- & update running output-token count \\15\texttt{content\_block\_start}& \texttt{tool\_use} & open a new tool call (name, id) \\16\texttt{content\_block\_delta}& \texttt{text\_delta} & append to answer; forward to client \\17\texttt{content\_block\_delta}& \texttt{thinking\_delta} & forward reasoning on a separate channel \\18\texttt{content\_block\_delta}& \texttt{input\_json\_delta} & concatenate partial tool-argument JSON \\19\texttt{content\_block\_stop} & --- & parse accumulated JSON into tool arguments \\20\texttt{message\_stop} & --- & reconcile tokens; resolve the call \\21\bottomrule22\end{tabular}23\begin{tablenotes}[flushleft]24\footnotesize25\item \textit{Notes.} The client (Section~\ref{subsec:frontend}) performs the symmetric26operation: it reads the server's stream, splits on newlines retaining the trailing partial line,27and dispatches the server's own event types (text, thinking, tools, tool results, sources,28figures, specialized results, done) to dedicated renderers.29\end{tablenotes}30\end{threeparttable}31\end{table}32