Skip to main content

ChildSessionAdapter

Struct ChildSessionAdapter 

Source
pub struct ChildSessionAdapter { /* private fields */ }
Expand description

Server-side adapter that bridges domain ChildSessionPort to infrastructure.

Holds all shared state needed by SubSessionTool. Implements the full ChildSessionPort trait with real methods (no stubs).

Implementations§

Source§

impl ChildSessionAdapter

Source

pub async fn resolve_subagent_model( &self, subagent_type: &str, ) -> Option<ProviderModelRef>

Resolve the provider+model ref for a given subagent_type using the configured resolver.

Source

pub async fn resolve_runtime_metadata( &self, subagent_type: &str, ) -> HashMap<String, String>

Resolve runtime metadata (e.g. external agent routing) for a subagent_type.

Source

pub fn resolve_subagent_prompt(&self, subagent_type: &str) -> String

Resolve the canonical system prompt for the given subagent_type.

Always returns a prompt: unknown / empty subagent_type values fall back to the general-purpose profile (whose prompt is byte-equal to the legacy CHILD_SYSTEM_PROMPT).

Trait Implementations§

Source§

impl ChildSessionPort for ChildSessionAdapter

Source§

fn load_root_session<'life0, 'life1, 'async_trait>( &'life0 self, root_session_id: &'life1 str, ) -> Pin<Box<dyn Future<Output = Result<Session, ChildSessionError>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

Source§

fn load_child_for_parent<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, parent_session_id: &'life1 str, child_session_id: &'life2 str, ) -> Pin<Box<dyn Future<Output = Result<Session, ChildSessionError>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait,

Source§

fn save_child_session<'life0, 'life1, 'async_trait>( &'life0 self, child: &'life1 Session, ) -> Pin<Box<dyn Future<Output = Result<(), ChildSessionError>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

Source§

fn is_child_running<'life0, 'life1, 'async_trait>( &'life0 self, child_session_id: &'life1 str, ) -> Pin<Box<dyn Future<Output = bool> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

Source§

fn list_children<'life0, 'life1, 'async_trait>( &'life0 self, parent_session_id: &'life1 str, ) -> Pin<Box<dyn Future<Output = Vec<ChildSessionEntry>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

Source§

fn enqueue_child_run<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, parent: &'life1 Session, child: &'life2 Session, ) -> Pin<Box<dyn Future<Output = Result<(), ChildSessionError>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait,

Source§

fn cancel_child_run_and_wait<'life0, 'life1, 'async_trait>( &'life0 self, child_session_id: &'life1 str, ) -> Pin<Box<dyn Future<Output = Result<(), ChildSessionError>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

Source§

fn delete_child_session<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, parent_session_id: &'life1 str, child_id: &'life2 str, ) -> Pin<Box<dyn Future<Output = Result<DeleteChildResult, ChildSessionError>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait,

Source§

fn get_child_runner_info<'life0, 'life1, 'async_trait>( &'life0 self, child_id: &'life1 str, ) -> Pin<Box<dyn Future<Output = Option<ChildRunnerInfo>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

Return live diagnostic info for a running child session, if available.

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> PolicyExt for T
where T: ?Sized,

Source§

fn and<P, B, E>(self, other: P) -> And<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow only if self and other return Action::Follow. Read more
Source§

fn or<P, B, E>(self, other: P) -> Or<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow if either self or other returns Action::Follow. Read more
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more