pub struct SkillExecutor { /* private fields */ }Expand description
Executes skill steps with either prompt-only mode or a runtime tool invoker.
Implementations§
Source§impl SkillExecutor
impl SkillExecutor
Sourcepub fn new(
llm_registry: Arc<LLMRegistry>,
tools: Arc<ToolRegistry>,
) -> SkillExecutor
pub fn new( llm_registry: Arc<LLMRegistry>, tools: Arc<ToolRegistry>, ) -> SkillExecutor
Creates a skill executor from shared LLM and tool registries.
Sourcepub async fn execute(
&self,
skill: &SkillDefinition,
user_input: &str,
extra_context: Value,
) -> Result<String, AgentError>
pub async fn execute( &self, skill: &SkillDefinition, user_input: &str, extra_context: Value, ) -> Result<String, AgentError>
Executes prompt-only skills without a runtime tool invoker.
Sourcepub async fn execute_with_invoker<I>(
&self,
skill: &SkillDefinition,
user_input: &str,
extra_context: Value,
invoker: &I,
) -> Result<String, AgentError>where
I: ToolInvoker + ?Sized,
pub async fn execute_with_invoker<I>(
&self,
skill: &SkillDefinition,
user_input: &str,
extra_context: Value,
invoker: &I,
) -> Result<String, AgentError>where
I: ToolInvoker + ?Sized,
Executes skills through the shared tool invoker for every tool step.
Auto Trait Implementations§
impl !RefUnwindSafe for SkillExecutor
impl !UnwindSafe for SkillExecutor
impl Freeze for SkillExecutor
impl Send for SkillExecutor
impl Sync for SkillExecutor
impl Unpin for SkillExecutor
impl UnsafeUnpin for SkillExecutor
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 moreCreates a shared type from an unshared type.