pub struct ActionDispatcher { /* private fields */ }Expand description
Dispatches actions/tools.
Implementations§
Source§impl ActionDispatcher
impl ActionDispatcher
Sourcepub fn new(config: ActionConfig) -> Self
pub fn new(config: ActionConfig) -> Self
Create a new dispatcher.
Sourcepub fn with_memory_backend(
config: ActionConfig,
memory_backend: Arc<dyn MemoryBackend>,
) -> Self
pub fn with_memory_backend( config: ActionConfig, memory_backend: Arc<dyn MemoryBackend>, ) -> Self
Create a new dispatcher with a memory backend attached.
Sourcepub fn with_defaults() -> Self
pub fn with_defaults() -> Self
Create with default config.
Sourcepub fn with_memory(self, memory_backend: Arc<dyn MemoryBackend>) -> Self
pub fn with_memory(self, memory_backend: Arc<dyn MemoryBackend>) -> Self
Attach a memory backend.
Sourcepub fn with_web_search_backend(self, backend: Arc<dyn WebSearchBackend>) -> Self
pub fn with_web_search_backend(self, backend: Arc<dyn WebSearchBackend>) -> Self
Attach a web-search backend.
Sourcepub fn with_url_fetch_backend(self, backend: Arc<dyn UrlFetchBackend>) -> Self
pub fn with_url_fetch_backend(self, backend: Arc<dyn UrlFetchBackend>) -> Self
Attach a URL-fetch backend so user-provided links can be enriched inline with web-search results. Optional — without it, URLs in the query are still surfaced as part of the search query string but not fetched.
Sourcepub fn with_scheduling_backend(
self,
backend: Arc<dyn SchedulingBackend>,
) -> Self
pub fn with_scheduling_backend( self, backend: Arc<dyn SchedulingBackend>, ) -> Self
Attach a scheduling backend.
Sourcepub fn with_message_backend(self, backend: Arc<dyn MessageBackend>) -> Self
pub fn with_message_backend(self, backend: Arc<dyn MessageBackend>) -> Self
Attach a message backend.
Sourcepub fn with_net_diagnostics_backend(
self,
backend: Arc<dyn NetDiagnosticsBackend>,
) -> Self
pub fn with_net_diagnostics_backend( self, backend: Arc<dyn NetDiagnosticsBackend>, ) -> Self
Attach a network-diagnostics backend (net.check/trace/cert).
Sourcepub fn with_security_audit_backend(
self,
backend: Arc<dyn SecurityAuditBackend>,
) -> Self
pub fn with_security_audit_backend( self, backend: Arc<dyn SecurityAuditBackend>, ) -> Self
Attach a security-audit backend (security.audit).
Sourcepub fn with_log_analysis_backend(
self,
backend: Arc<dyn LogAnalysisBackend>,
) -> Self
pub fn with_log_analysis_backend( self, backend: Arc<dyn LogAnalysisBackend>, ) -> Self
Attach a log-analysis backend (logs.analyze).
Sourcepub fn with_baseline_backend(self, backend: Arc<dyn BaselineBackend>) -> Self
pub fn with_baseline_backend(self, backend: Arc<dyn BaselineBackend>) -> Self
Attach a baseline backend (baseline.capture/diff/list).
Sourcepub fn with_sandbox_executor(self, executor: Arc<dyn SandboxExecutor>) -> Self
pub fn with_sandbox_executor(self, executor: Arc<dyn SandboxExecutor>) -> Self
Attach the sandbox executor used by Action::ExecuteCommand.
Without one wired, the action returns an explicit error instead
of executing — this is the production hardening from Issue 121.
Sourcepub fn set_namespace(&mut self, namespace: impl Into<String>)
pub fn set_namespace(&mut self, namespace: impl Into<String>)
Set the default namespace used by action backends.
Sourcepub async fn dispatch(&self, action: &Action) -> ActionResult
pub async fn dispatch(&self, action: &Action) -> ActionResult
Execute an action.
Auto Trait Implementations§
impl !RefUnwindSafe for ActionDispatcher
impl !UnwindSafe for ActionDispatcher
impl Freeze for ActionDispatcher
impl Send for ActionDispatcher
impl Sync for ActionDispatcher
impl Unpin for ActionDispatcher
impl UnsafeUnpin for ActionDispatcher
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
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>
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>
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> Paint for Twhere
T: ?Sized,
impl<T> Paint for Twhere
T: ?Sized,
Source§fn fg(&self, value: Color) -> Painted<&T>
fn fg(&self, value: Color) -> Painted<&T>
Returns a styled value derived from self with the foreground set to
value.
This method should be used rarely. Instead, prefer to use color-specific
builder methods like red() and
green(), which have the same functionality but are
pithier.
§Example
Set foreground color to white using fg():
use yansi::{Paint, Color};
painted.fg(Color::White);Set foreground color to white using white().
use yansi::Paint;
painted.white();Source§fn bright_black(&self) -> Painted<&T>
fn bright_black(&self) -> Painted<&T>
Source§fn bright_red(&self) -> Painted<&T>
fn bright_red(&self) -> Painted<&T>
Source§fn bright_green(&self) -> Painted<&T>
fn bright_green(&self) -> Painted<&T>
Source§fn bright_yellow(&self) -> Painted<&T>
fn bright_yellow(&self) -> Painted<&T>
Source§fn bright_blue(&self) -> Painted<&T>
fn bright_blue(&self) -> Painted<&T>
Source§fn bright_magenta(&self) -> Painted<&T>
fn bright_magenta(&self) -> Painted<&T>
Source§fn bright_cyan(&self) -> Painted<&T>
fn bright_cyan(&self) -> Painted<&T>
Source§fn bright_white(&self) -> Painted<&T>
fn bright_white(&self) -> Painted<&T>
Source§fn bg(&self, value: Color) -> Painted<&T>
fn bg(&self, value: Color) -> Painted<&T>
Returns a styled value derived from self with the background set to
value.
This method should be used rarely. Instead, prefer to use color-specific
builder methods like on_red() and
on_green(), which have the same functionality but
are pithier.
§Example
Set background color to red using fg():
use yansi::{Paint, Color};
painted.bg(Color::Red);Set background color to red using on_red().
use yansi::Paint;
painted.on_red();Source§fn on_primary(&self) -> Painted<&T>
fn on_primary(&self) -> Painted<&T>
Source§fn on_magenta(&self) -> Painted<&T>
fn on_magenta(&self) -> Painted<&T>
Source§fn on_bright_black(&self) -> Painted<&T>
fn on_bright_black(&self) -> Painted<&T>
Source§fn on_bright_red(&self) -> Painted<&T>
fn on_bright_red(&self) -> Painted<&T>
Source§fn on_bright_green(&self) -> Painted<&T>
fn on_bright_green(&self) -> Painted<&T>
Source§fn on_bright_yellow(&self) -> Painted<&T>
fn on_bright_yellow(&self) -> Painted<&T>
Source§fn on_bright_blue(&self) -> Painted<&T>
fn on_bright_blue(&self) -> Painted<&T>
Source§fn on_bright_magenta(&self) -> Painted<&T>
fn on_bright_magenta(&self) -> Painted<&T>
Source§fn on_bright_cyan(&self) -> Painted<&T>
fn on_bright_cyan(&self) -> Painted<&T>
Source§fn on_bright_white(&self) -> Painted<&T>
fn on_bright_white(&self) -> Painted<&T>
Source§fn attr(&self, value: Attribute) -> Painted<&T>
fn attr(&self, value: Attribute) -> Painted<&T>
Enables the styling Attribute value.
This method should be used rarely. Instead, prefer to use
attribute-specific builder methods like bold() and
underline(), which have the same functionality
but are pithier.
§Example
Make text bold using attr():
use yansi::{Paint, Attribute};
painted.attr(Attribute::Bold);Make text bold using using bold().
use yansi::Paint;
painted.bold();Source§fn rapid_blink(&self) -> Painted<&T>
fn rapid_blink(&self) -> Painted<&T>
Source§fn quirk(&self, value: Quirk) -> Painted<&T>
fn quirk(&self, value: Quirk) -> Painted<&T>
Enables the yansi Quirk value.
This method should be used rarely. Instead, prefer to use quirk-specific
builder methods like mask() and
wrap(), which have the same functionality but are
pithier.
§Example
Enable wrapping using .quirk():
use yansi::{Paint, Quirk};
painted.quirk(Quirk::Wrap);Enable wrapping using wrap().
use yansi::Paint;
painted.wrap();Source§fn clear(&self) -> Painted<&T>
👎Deprecated since 1.0.1: renamed to resetting() due to conflicts with Vec::clear().
The clear() method will be removed in a future release.
fn clear(&self) -> Painted<&T>
renamed to resetting() due to conflicts with Vec::clear().
The clear() method will be removed in a future release.
Source§fn whenever(&self, value: Condition) -> Painted<&T>
fn whenever(&self, value: Condition) -> Painted<&T>
Conditionally enable styling based on whether the Condition value
applies. Replaces any previous condition.
See the crate level docs for more details.
§Example
Enable styling painted only when both stdout and stderr are TTYs:
use yansi::{Paint, Condition};
painted.red().on_yellow().whenever(Condition::STDOUTERR_ARE_TTY);