Skip to main content

ToolHandler

Struct ToolHandler 

Source
pub struct ToolHandler {
    pub db: Arc<Database>,
    pub media_dir: PathBuf,
    pub skills_dir: PathBuf,
    pub server_paths: Arc<ServerPaths>,
    pub prompts: Arc<Prompts>,
    pub config: AppConfig,
    pub default_format: OutputFormat,
    pub default_page_size: i32,
    pub path_mapper: Arc<PathMapper>,
}
Expand description

Tool handler that processes MCP tool calls.

Fields§

§db: Arc<Database>§media_dir: PathBuf§skills_dir: PathBuf§server_paths: Arc<ServerPaths>§prompts: Arc<Prompts>§config: AppConfig

Consolidated application configuration.

§default_format: OutputFormat§default_page_size: i32§path_mapper: Arc<PathMapper>

Implementations§

Source§

impl ToolHandler

Source

pub fn new( db: Arc<Database>, media_dir: PathBuf, skills_dir: PathBuf, server_paths: Arc<ServerPaths>, prompts: Arc<Prompts>, config: AppConfig, default_format: OutputFormat, default_page_size: i32, path_mapper: Arc<PathMapper>, ) -> Self

Source

pub fn get_workflow_for_worker(&self, worker_id: &str) -> Arc<WorkflowsConfig>

Get the workflow config for a worker. Looks up the worker’s workflow name and returns the corresponding config, or falls back to the configured default workflow, or the base config. If the worker has overlays, applies them on top of the base workflow and caches the merged result for reuse.

Source

pub fn get_tools(&self) -> Vec<Tool>

Get all available tools.

Source

pub async fn call_tool( &self, name: &str, arguments: Value, ctx: &ToolContext, ) -> Result<ToolResult>

Call a tool by name.

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> IntoEither for T

Source§

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 more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

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
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<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

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
Source§

impl<A, B, T> HttpServerConnExec<A, B> for T
where B: Body,