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
impl ChildSessionAdapter
Sourcepub async fn resolve_subagent_model(
&self,
subagent_type: &str,
) -> Option<ProviderModelRef>
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.
Sourcepub async fn resolve_runtime_metadata(
&self,
subagent_type: &str,
) -> HashMap<String, String>
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.
Sourcepub fn resolve_subagent_prompt(&self, subagent_type: &str) -> String
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
impl ChildSessionPort for ChildSessionAdapter
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,
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,
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,
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,
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,
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,
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,
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,
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§
impl Freeze for ChildSessionAdapter
impl !RefUnwindSafe for ChildSessionAdapter
impl Send for ChildSessionAdapter
impl Sync for ChildSessionAdapter
impl Unpin for ChildSessionAdapter
impl UnsafeUnpin for ChildSessionAdapter
impl !UnwindSafe for ChildSessionAdapter
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