""" stream_fn.jl - Stream function utilities This module provides the default stream function configuration for AgentCore. """ module StreamFn using ..Types: StreamFn let default_stream_fn::Union{StreamFn, Nothing} = nothing """ setDefaultStreamFn(stream_fn) Configure the fallback used by Agent and low-level loops when callers omit stream_fn. # Arguments - `stream_fn`: The stream function to set as default """ function setDefaultStreamFn(stream_fn::Union{StreamFn, Nothing}) global default_stream_fn = stream_fn end """ getDefaultStreamFn() Get the configured default stream function, or throw an error if none is configured. # Returns - The configured stream function # Throws - ErrorException if no default stream function is configured """ function getDefaultStreamFn()::StreamFn if isnothing(default_stream_fn) throw(ErrorException( "No default stream function configured. Pass stream_fn explicitly or call setDefaultStreamFn()." )) end return default_stream_fn end end