Skip to main content

lc_agents/streaming/
mod.rs

1//! Streaming Tool Calls
2//!
3//! Provides a streaming agent that emits LLM text token by token and exposes
4//! tool-call state.
5//!
6//! B8 (v0.22.4): [`sse`] maps [`AgentStreamEvent`] to Server-Sent Events
7//! frames; the `sse-server` feature serves them at `text/event-stream` over
8//! axum 0.7 (`POST|GET /agent/stream`).
9
10pub mod sse;
11pub mod state;
12pub mod tool_call_stream;
13
14pub use state::{AgentStreamEvent, ToolCallState};
15pub use tool_call_stream::StreamingFunctionCallingAgent;
16
17// Framework-neutral SSE surface (always available); axum serving types are
18// re-exported only under the `sse-server` feature.
19pub use sse::{
20    agent_sse_frames, encode_sse_frame, sse_event_name, sse_event_payload, AgentEventStream,
21    AgentSseRequest, SseFrame, SseOptions,
22};
23
24#[cfg(feature = "sse-server")]
25pub use sse::{
26    agent_sse_get_handler, agent_sse_handler, agent_sse_router, agent_sse_router_with,
27    serve_agent_sse, serve_agent_sse_on, AgentSseQuery, AgentSseServerConfig, AgentSseState,
28    AgentStreamFactory, AgentStreamFuture, DEFAULT_SSE_HEARTBEAT,
29};