pub struct CodeModeUtcp { /* private fields */ }Expand description
Minimal facade exposing UTCP calls to Rhai scripts executed by CodeMode.
Implementations§
Source§impl CodeModeUtcp
impl CodeModeUtcp
Sourcepub fn new(client: Arc<dyn UtcpClientInterface>) -> CodeModeUtcp
pub fn new(client: Arc<dyn UtcpClientInterface>) -> CodeModeUtcp
Wrap an UtcpClientInterface so codemode scripts can invoke tools.
Sourcepub async fn execute(&self, args: CodeModeArgs) -> Result<CodeModeResult, Error>
pub async fn execute(&self, args: CodeModeArgs) -> Result<CodeModeResult, Error>
Execute a snippet or JSON payload, returning the resulting value and captured output.
Sourcepub async fn call_tool(
&self,
name: &str,
args: HashMap<String, Value>,
) -> Result<Value, Error>
pub async fn call_tool( &self, name: &str, args: HashMap<String, Value>, ) -> Result<Value, Error>
Convenience helpers mirroring go-utcp codemode helper exports.
pub async fn call_tool_stream( &self, name: &str, args: HashMap<String, Value>, ) -> Result<Box<dyn StreamResult>, Error>
pub async fn search_tools( &self, query: &str, limit: usize, ) -> Result<Vec<Tool>, Error>
Auto Trait Implementations§
impl Freeze for CodeModeUtcp
impl !RefUnwindSafe for CodeModeUtcp
impl Send for CodeModeUtcp
impl Sync for CodeModeUtcp
impl Unpin for CodeModeUtcp
impl UnsafeUnpin for CodeModeUtcp
impl !UnwindSafe for CodeModeUtcp
Blanket Implementations§
Source§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
Source§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
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
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