pub struct OutputBudgets {
pub ui_preview_bytes: usize,
pub model_history_bytes: usize,
}Expand description
Independent per-call output byte budgets (spec §8.4). The UI-preview
lane (streamed deltas + the final ToolResult event) and the
model-history lane (the tool_result block content) are bounded
SEPARATELY: tightening one never widens or narrows the other. Both are
enforced through agent_core::BoundedText at the point the bounded
text is produced — never by materializing the full output first.
Fields§
§ui_preview_bytes: usizeTotal bytes one tool call may contribute to the UI event lane.
model_history_bytes: usizeTotal bytes one tool call’s result may occupy in model history.
Implementations§
Source§impl OutputBudgets
impl OutputBudgets
Sourcepub fn for_limits(max_tool_output: usize) -> OutputBudgets
pub fn for_limits(max_tool_output: usize) -> OutputBudgets
Runtime defaults: the compiled UI-preview budget alongside the
configured model-history budget (max_tool_output).
Sourcepub const fn max_ui_retained_bytes() -> u64
pub const fn max_ui_retained_bytes() -> u64
Hard upper bound retained by the UI delta lane itself, independent of the consumer and configured preview budget.
Trait Implementations§
Source§impl Clone for OutputBudgets
impl Clone for OutputBudgets
Source§fn clone(&self) -> OutputBudgets
fn clone(&self) -> OutputBudgets
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreimpl Copy for OutputBudgets
Source§impl Debug for OutputBudgets
impl Debug for OutputBudgets
impl Eq for OutputBudgets
Source§impl PartialEq for OutputBudgets
impl PartialEq for OutputBudgets
impl StructuralPartialEq for OutputBudgets
Auto Trait Implementations§
impl Freeze for OutputBudgets
impl RefUnwindSafe for OutputBudgets
impl Send for OutputBudgets
impl Sync for OutputBudgets
impl Unpin for OutputBudgets
impl UnsafeUnpin for OutputBudgets
impl UnwindSafe for OutputBudgets
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Convert
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Convert
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Convert
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Convert
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.Source§impl<T> DowncastSync for T
impl<T> DowncastSync for T
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
Source§impl<'a, T> Prefix<&'a [T], T> for T
impl<'a, T> Prefix<&'a [T], T> for T
Source§fn take_prefix(&self, haystack: &'a [T]) -> Option<(T, &'a [T])>
fn take_prefix(&self, haystack: &'a [T]) -> Option<(T, &'a [T])>
Remove the prefix described by this prefix from the haystack if present, and if so,
return it along with the rest of the haystack.
Source§fn skip_prefix(&self, haystack: Parent) -> Option<Parent>
fn skip_prefix(&self, haystack: Parent) -> Option<Parent>
Remove the prefix described by this prefix from the haystack if present, and return
the rest of the haystack (result is ignored).