pub struct CursorToolUseXmlParser { /* private fields */ }Expand description
Parser that incrementally recovers <tool_use> XML elements from text
delta chunks.
Implementations§
Source§impl CursorToolUseXmlParser
impl CursorToolUseXmlParser
Sourcepub fn new(allowed_tool_names: Option<BTreeSet<String>>) -> Self
pub fn new(allowed_tool_names: Option<BTreeSet<String>>) -> Self
Create a parser with the default UUID-based id factory.
Sourcepub fn new_with_id_factory(
allowed_tool_names: Option<BTreeSet<String>>,
id_factory: impl FnMut() -> String + Send + 'static,
) -> Self
pub fn new_with_id_factory( allowed_tool_names: Option<BTreeSet<String>>, id_factory: impl FnMut() -> String + Send + 'static, ) -> Self
Create a parser with a custom id factory for deterministic tests.
Sourcepub fn saw_tool_use(&self) -> bool
pub fn saw_tool_use(&self) -> bool
Whether any tool_use has been recovered so far.
Sourcepub fn push(&mut self, text: &str) -> Vec<RecoveredCursorEvent>
pub fn push(&mut self, text: &str) -> Vec<RecoveredCursorEvent>
Push a new text delta chunk and drain any complete events.
Sourcepub fn flush(&mut self) -> Vec<RecoveredCursorEvent>
pub fn flush(&mut self) -> Vec<RecoveredCursorEvent>
Flush any remaining buffered text, yielding any leftover events.
Trait Implementations§
Auto Trait Implementations§
impl !RefUnwindSafe for CursorToolUseXmlParser
impl !Sync for CursorToolUseXmlParser
impl !UnwindSafe for CursorToolUseXmlParser
impl Freeze for CursorToolUseXmlParser
impl Send for CursorToolUseXmlParser
impl Unpin for CursorToolUseXmlParser
impl UnsafeUnpin for CursorToolUseXmlParser
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
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 more