pub struct PluginPollerProxy { /* private fields */ }Expand description
Daemon-side Poller impl that proxies every tick to a subprocess
plugin via broker JSON-RPC. Registered with the runner alongside
in-tree builtins so the runner sees a single homogeneous registry.
kind() returns the leaked &'static str for one of the
plugin’s declared kinds; multi-kind plugins register one proxy
per kind sharing the same PluginPollerHandle.
Implementations§
Trait Implementations§
Source§impl Poller for PluginPollerProxy
impl Poller for PluginPollerProxy
Source§fn description(&self) -> &'static str
fn description(&self) -> &'static str
Human label for
agent pollers list. Defaults to empty.Source§fn tick<'life0, 'life1, 'async_trait>(
&'life0 self,
ctx: &'life1 PollContext,
) -> Pin<Box<dyn Future<Output = Result<TickAck, PollerError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn tick<'life0, 'life1, 'async_trait>(
&'life0 self,
ctx: &'life1 PollContext,
) -> Pin<Box<dyn Future<Output = Result<TickAck, PollerError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Run one tick. The runner persists the returned cursor and
honors the interval hint; anything the poller wants to send
outbound (broker publish, LLM call, credential lookup) goes
through
ctx.host.Source§fn validate(&self, _config: &Value) -> Result<(), PollerError>
fn validate(&self, _config: &Value) -> Result<(), PollerError>
Validate the per-job
config JSON at boot. Errors fail loading
of that job only; siblings keep going. Default: accept anything.Source§fn custom_tools(&self) -> Vec<CustomToolSpec>
fn custom_tools(&self) -> Vec<CustomToolSpec>
Optional per-kind LLM tools registered alongside the generic
pollers_* tools. Pollers without custom tools leave this
empty (default).Auto Trait Implementations§
impl Freeze for PluginPollerProxy
impl !RefUnwindSafe for PluginPollerProxy
impl Send for PluginPollerProxy
impl Sync for PluginPollerProxy
impl Unpin for PluginPollerProxy
impl UnsafeUnpin for PluginPollerProxy
impl !UnwindSafe for PluginPollerProxy
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