Skip to main content

TodoTool

Struct TodoTool 

Source
pub struct TodoTool { /* private fields */ }
Expand description

Holds the list for the lifetime of the agent.

Implementations§

Source§

impl TodoTool

Source

pub fn new() -> Self

Source

pub fn items(&self) -> Vec<TodoItem>

Current list, for a UI that wants to render progress live.

Trait Implementations§

Source§

impl Default for TodoTool

Source§

fn default() -> TodoTool

Returns the “default value” for a type. Read more
Source§

impl Tool for TodoTool

Source§

fn carried_state(&self) -> Option<CarriedState>

The list survives a compaction verbatim.

The model re-reads its plan every turn through the echo in the last todo result — which is a message, and therefore exactly the kind of thing a compaction summarises away. That made this tool’s whole mechanism quietly conditional on the transcript never getting long, which is the one situation the list matters most in: the measured failure of summarisation is that it keeps what is true and drops how far you got, and this list is nothing but how far you got.

Rendered rather than summarised, because the tool holds the exact current answer and a summariser would only be a lossy path to a worse copy of it.

Source§

fn name(&self) -> &str

Source§

fn description(&self) -> &str

Source§

fn input_schema(&self) -> Value

Source§

fn read_only(&self) -> bool

Read-only tools skip the approval gate and are safe to run in parallel.
Source§

fn call<'life0, 'life1, 'async_trait>( &'life0 self, input: Value, _ctx: &'life1 ToolCtx, ) -> Pin<Box<dyn Future<Output = Result<ToolOutput>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

Source§

fn capabilities(&self) -> Capabilities

Declared risk surface. The default is the conservative one for a tool nobody has classified: assume it does nothing special.
Source§

fn denial_remedy(&self) -> Option<String>

How the operator could make a call like the one just refused safe — one sentence appended to a trifecta denial, or None when nothing short of policy would change the answer. Read more
Source§

fn fixed_workspace(&self) -> Option<PathBuf>

The root this tool’s relative paths actually resolve against, when the tool was constructed over a fixed directory rather than following the per-run ToolCtx workspace. Read more
Source§

fn narrows_surface_to(&self) -> Option<Vec<String>>

Tool names this tool is currently restricting the surface to, if it is restricting it at all. Read more
Source§

fn forget_conversation_state(&self)

Drop state that belonged to the conversation that just ended. Read more
Source§

fn spec(&self) -> ToolSpec

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> PolicyExt for T
where T: ?Sized,

Source§

fn and<P, B, E>(self, other: P) -> And<T, P>
where T: Sized + Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow only if self and other return Action::Follow. Read more
Source§

fn or<P, B, E>(self, other: P) -> Or<T, P>
where T: Sized + Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow if either self or other returns Action::Follow. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more