Skip to main content

agent_commander/streaming/
mod.rs

1//! JSON Streaming utilities
2//! Support for NDJSON (Newline Delimited JSON) input and output
3
4pub mod input_stream;
5pub mod ndjson;
6pub mod output_stream;
7
8pub use input_stream::JsonInputStream;
9pub use ndjson::{parse_ndjson, parse_ndjson_line, stringify_ndjson, stringify_ndjson_line};
10pub use output_stream::{JsonOutputStream, ParseError};
11
12/// Create a JSON output stream processor
13pub fn create_output_stream() -> JsonOutputStream {
14    JsonOutputStream::new()
15}
16
17/// Create a JSON input stream for sending messages
18///
19/// # Arguments
20/// * `compact` - Use compact JSON (no newlines within messages)
21pub fn create_input_stream(compact: bool) -> JsonInputStream {
22    JsonInputStream::new(compact)
23}
24
25// Tests are in rust/tests/streaming_tests.rs