pub struct BrowserToolExecutor { /* private fields */ }Expand description
Tool executor that dispatches browse_* tool calls to a BrowserBackend.
Maintains a reference to the last UiMap from browse_observe to resolve
el_N IDs to AX node IDs before passing to the backend.
Implementations§
Source§impl BrowserToolExecutor
impl BrowserToolExecutor
Sourcepub fn new(
backend: Arc<dyn BrowserBackend>,
pipeline: Arc<dyn PerceptionPipeline>,
) -> Self
pub fn new( backend: Arc<dyn BrowserBackend>, pipeline: Arc<dyn PerceptionPipeline>, ) -> Self
Create a new browser tool executor.
Sourcepub fn tool_schemas() -> Vec<ToolSchema>
pub fn tool_schemas() -> Vec<ToolSchema>
Get the tool schemas for all browser tools.
Trait Implementations§
Source§impl ToolExecutor for BrowserToolExecutor
impl ToolExecutor for BrowserToolExecutor
fn execute<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
tool: &'life1 str,
params: &'life2 Value,
) -> Pin<Box<dyn Future<Output = Result<Value, String>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Source§fn execute_with_action<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
tool: &'life1 str,
params: &'life2 Value,
_action_id: &'life3 str,
) -> Pin<Box<dyn Future<Output = Result<Value, String>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
Self: 'async_trait,
fn execute_with_action<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
tool: &'life1 str,
params: &'life2 Value,
_action_id: &'life3 str,
) -> Pin<Box<dyn Future<Output = Result<Value, String>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
Self: 'async_trait,
Variant that also carries the originating proposal
Action.id.
WS-based executors (car-server-core::WsToolExecutor) use it so
the daemon-initiated tools.execute request to the client
carries the same id the host’s process-wide handler is keyed on
— without this round-trip the host can’t disambiguate concurrent
callbacks for the same tool (Parslee-ai/car-releases#43
follow-up). In-process executors that don’t need it can keep the
default forward to [execute].Auto Trait Implementations§
impl Freeze for BrowserToolExecutor
impl !RefUnwindSafe for BrowserToolExecutor
impl Send for BrowserToolExecutor
impl Sync for BrowserToolExecutor
impl Unpin for BrowserToolExecutor
impl UnsafeUnpin for BrowserToolExecutor
impl !UnwindSafe for BrowserToolExecutor
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
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 more