openai_stream_events
Composes the current IRR execution into one logical Responses stream.
On this page
Composes the current IRR execution into one logical Responses stream.
Configuration Notes
Must run inside an iterative_request_router step. Running it elsewhere is a misconfiguration and fails closed at request time. Place it after load_balancer so IRR body hooks run with a selected peer when needed. timeout_secs is an absolute deadline from the first SSE chunk; each chunk recaps that absolute cutoff onto the live body through [praxis_filter::HttpFilterContext::cap_stream_deadline].
All fields are optional; omitted values fall back to [SseParserConfig] defaults.
Configuration
| Field | Type | Required | Description |
|---|---|---|---|
max_buffer_bytes | integer | no | Maximum bytes buffered for incomplete SSE lines/data across chunk boundaries. Default: 10 MiB. |
max_events | integer | no | Maximum number of SSE events before the parser errors. Default: 100,000. |
timeout_secs | integer | no | Maximum seconds from the first SSE chunk to stream completion. The parser enforces this absolute deadline when chunks or end-of-stream arrive. Before the first chunk, cluster read_timeout_ms applies; timeout_secs does not start until the first SSE chunk. Each later chunk calls [praxis_filter::HttpFilterContext::cap_stream_deadline] with the absolute cutoff so downstream backpressure cannot restart a relative per-read timer past the deadline. A tighter cluster read_timeout_ms is left in place. Default: 300 (5 minutes). |
max_tool_call_argument_bytes | integer | no | Maximum bytes accepted per function-call argument string from function_call_arguments.delta or function_call_arguments.done events. Default: 1 MiB. |
max_accumulated_bytes | integer | no | Maximum aggregate bytes accumulated across streaming output items and function-call argument buffers before the stream fails closed. Bounds total process memory even when every individual event is within max_buffer_bytes. Default: 64 MiB. |
max_output_items | integer | no | Maximum number of streaming output items accumulated before the stream fails closed. Default: 100,000. |
Example
filter: openai_stream_events
# All fields optional:
# max_buffer_bytes: 10485760
# max_events: 100000
# timeout_secs: 300
# max_tool_call_argument_bytes: 1048576
# max_accumulated_bytes: 67108864
# max_output_items: 100000