pub struct GetCurrentTimeExecutor { /* private fields */ }Expand description
Tool executor for the get_current_time tool.
Resolves the current time through an injectable ClockSource (default
SystemClock) rather than reading the system clock directly, so callers can substitute
a deterministic clock in tests.
Implementations§
Source§impl GetCurrentTimeExecutor
impl GetCurrentTimeExecutor
Sourcepub fn new(clock: Arc<dyn ClockSource>) -> Self
pub fn new(clock: Arc<dyn ClockSource>) -> Self
Creates an executor backed by clock.
Trait Implementations§
Source§impl Debug for GetCurrentTimeExecutor
impl Debug for GetCurrentTimeExecutor
Source§impl Default for GetCurrentTimeExecutor
impl Default for GetCurrentTimeExecutor
Source§impl ToolExecutor for GetCurrentTimeExecutor
impl ToolExecutor for GetCurrentTimeExecutor
Source§async fn execute_tool_call(
&self,
call: &ToolCall,
) -> Result<Option<ToolOutput>, ToolError>
async fn execute_tool_call( &self, call: &ToolCall, ) -> Result<Option<ToolOutput>, ToolError>
Source§fn tool_definitions(&self) -> Vec<ToolDef>
fn tool_definitions(&self) -> Vec<ToolDef>
Return the tool definitions this executor can handle. Read more
Source§fn is_tool_retryable(&self, _tool_id: &str) -> bool
fn is_tool_retryable(&self, _tool_id: &str) -> bool
Whether the executor can safely retry this tool call on a transient error. Read more
Source§async fn execute(
&self,
_response: &str,
) -> Result<Option<ToolOutput>, ToolError>
async fn execute( &self, _response: &str, ) -> Result<Option<ToolOutput>, ToolError>
Parse
response for fenced tool blocks and execute them. Read moreSource§fn requires_confirmation(&self, _call: &ToolCall) -> bool
fn requires_confirmation(&self, _call: &ToolCall) -> bool
Source§fn execute_tool_call_confirmed(
&self,
call: &ToolCall,
) -> impl Future<Output = Result<Option<ToolOutput>, ToolError>> + Send
fn execute_tool_call_confirmed( &self, call: &ToolCall, ) -> impl Future<Output = Result<Option<ToolOutput>, ToolError>> + Send
Execute a structured tool call bypassing confirmation checks. Read more
Source§fn checkpoint_undo(&self, _n: usize) -> CheckpointActionResult
fn checkpoint_undo(&self, _n: usize) -> CheckpointActionResult
Undo the last
n checkpointed write commands. Read moreSource§fn checkpoint_redo(&self) -> CheckpointActionResult
fn checkpoint_redo(&self) -> CheckpointActionResult
Redo the last undone checkpoint. Read more
Source§fn checkpoint_list(&self) -> CheckpointListResult
fn checkpoint_list(&self) -> CheckpointListResult
List the current undo stack entries and redo depth. Read more
Source§fn is_tool_speculatable(&self, _tool_id: &str) -> bool
fn is_tool_speculatable(&self, _tool_id: &str) -> bool
Whether a tool call can be safely dispatched speculatively (before the LLM finishes). Read more
Source§fn execute_confirmed(
&self,
response: &str,
) -> impl Future<Output = Result<Option<ToolOutput>, ToolError>> + Send
fn execute_confirmed( &self, response: &str, ) -> impl Future<Output = Result<Option<ToolOutput>, ToolError>> + Send
Execute bypassing confirmation checks (called after user approves). Read more
Source§fn set_skill_env(&self, _env: Option<HashMap<String, String>>)
fn set_skill_env(&self, _env: Option<HashMap<String, String>>)
Inject environment variables for the currently active skill. No-op by default. Read more
Source§fn set_effective_trust(&self, _level: SkillTrustLevel)
fn set_effective_trust(&self, _level: SkillTrustLevel)
Set the effective trust level for the currently active skill. No-op by default. Read more
Auto Trait Implementations§
impl !RefUnwindSafe for GetCurrentTimeExecutor
impl !UnwindSafe for GetCurrentTimeExecutor
impl Freeze for GetCurrentTimeExecutor
impl Send for GetCurrentTimeExecutor
impl Sync for GetCurrentTimeExecutor
impl Unpin for GetCurrentTimeExecutor
impl UnsafeUnpin for GetCurrentTimeExecutor
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> ErasedToolExecutor for Twhere
T: ToolExecutor,
impl<T> ErasedToolExecutor for Twhere
T: ToolExecutor,
fn execute_erased<'a>( &'a self, response: &'a str, ) -> Pin<Box<dyn Future<Output = Result<Option<ToolOutput>, ToolError>> + Send + 'a>>
fn execute_confirmed_erased<'a>( &'a self, response: &'a str, ) -> Pin<Box<dyn Future<Output = Result<Option<ToolOutput>, ToolError>> + Send + 'a>>
fn tool_definitions_erased(&self) -> Vec<ToolDef>
fn execute_tool_call_erased<'a>( &'a self, call: &'a ToolCall, ) -> Pin<Box<dyn Future<Output = Result<Option<ToolOutput>, ToolError>> + Send + 'a>>
Source§fn execute_tool_call_confirmed_erased<'a>(
&'a self,
call: &'a ToolCall,
) -> Pin<Box<dyn Future<Output = Result<Option<ToolOutput>, ToolError>> + Send + 'a>>
fn execute_tool_call_confirmed_erased<'a>( &'a self, call: &'a ToolCall, ) -> Pin<Box<dyn Future<Output = Result<Option<ToolOutput>, ToolError>> + Send + 'a>>
Required (no default). TrustGateExecutor-style wrappers that override
ToolExecutor::execute_tool_call_confirmed reach it through the blanket impl below.
Other implementors should fall back to
execute_tool_call_erased (normal
enforcement path) unless they need to replicate confirmed-path-specific behavior
(e.g. a fallback that only applies on the unconfirmed path must be mirrored
explicitly, not assumed). See
erased_tool_executor_no_inner_defaults!
for leaf executors with no wrapped inner.Source§fn set_skill_env(&self, env: Option<HashMap<String, String>>)
fn set_skill_env(&self, env: Option<HashMap<String, String>>)
Inject environment variables for the currently active skill. No-op by default.
Source§fn set_effective_trust(&self, level: SkillTrustLevel)
fn set_effective_trust(&self, level: SkillTrustLevel)
Set the effective trust level for the currently active skill. No-op by default.
Source§fn checkpoint_undo_erased(&self, n: usize) -> CheckpointActionResult
fn checkpoint_undo_erased(&self, n: usize) -> CheckpointActionResult
Undo the last
n checkpointed write commands. Read moreSource§fn checkpoint_redo_erased(&self) -> CheckpointActionResult
fn checkpoint_redo_erased(&self) -> CheckpointActionResult
Redo the last undone checkpoint. Read more
Source§fn checkpoint_list_erased(&self) -> CheckpointListResult
fn checkpoint_list_erased(&self) -> CheckpointListResult
List the current undo stack entries and redo depth. Read more
Source§fn is_tool_retryable_erased(&self, tool_id: &str) -> bool
fn is_tool_retryable_erased(&self, tool_id: &str) -> bool
Whether the executor can safely retry this tool call on a transient error.
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> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::Request