pub struct CompiledAgentTable { /* private fields */ }Expand description
The compile result: an agent name → SpawnerAdapter lookup table.
Looks routes up by ctx.agent (the flow.ir Step.ref) and hands
the spawn to the matching SpawnerAdapter. If the name is not
registered and a default is configured, the default is used; if
there is no default, SpawnError::NotRegistered is returned.
Layer wrapping (AuditMiddleware / MainAIMiddleware and friends) is
not this type’s concern — that is done separately in
service::linker::link.
Implementations§
Source§impl CompiledAgentTable
impl CompiledAgentTable
Sourcepub fn has_route(&self, agent: &str) -> bool
pub fn has_route(&self, agent: &str) -> bool
Whether the given agent name is registered in the table — i.e., whether its spawner has been resolved.
Sourcepub fn routed_agents(&self) -> Vec<String>
pub fn routed_agents(&self) -> Vec<String>
List every resolved agent name.
Sourcepub fn verdict_contract_for(&self, agent: &str) -> Option<&VerdictContract>
pub fn verdict_contract_for(&self, agent: &str) -> Option<&VerdictContract>
GH #50: the declared VerdictContract for agent, if any —
None both when agent is unresolved and when it resolved but
declared no contract (opt-in; see AgentDef::verdict’s doc).
Trait Implementations§
Source§impl SpawnerAdapter for CompiledAgentTable
impl SpawnerAdapter for CompiledAgentTable
Source§fn spawn<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
engine: &'life1 Engine,
ctx: &'life2 Ctx,
task_id: StepId,
attempt: u32,
token: CapToken,
) -> Pin<Box<dyn Future<Output = Result<Box<dyn Worker>, SpawnError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn spawn<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
engine: &'life1 Engine,
ctx: &'life2 Ctx,
task_id: StepId,
attempt: u32,
token: CapToken,
) -> Pin<Box<dyn Future<Output = Result<Box<dyn Worker>, SpawnError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Box<dyn Worker>. Read moreAuto Trait Implementations§
impl !RefUnwindSafe for CompiledAgentTable
impl !UnwindSafe for CompiledAgentTable
impl Freeze for CompiledAgentTable
impl Send for CompiledAgentTable
impl Sync for CompiledAgentTable
impl Unpin for CompiledAgentTable
impl UnsafeUnpin for CompiledAgentTable
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
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>
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>
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