pub trait SessionServiceRuntimeExt: Send + Sync {
Show 18 methods
// Required methods
fn runtime_mode(&self) -> RuntimeMode;
fn accept_input<'life0, 'life1, 'async_trait>(
&'life0 self,
session_id: &'life1 SessionId,
input: Input,
) -> Pin<Box<dyn Future<Output = Result<AcceptOutcome, RuntimeDriverError>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait;
fn accept_input_with_completion<'life0, 'life1, 'async_trait>(
&'life0 self,
session_id: &'life1 SessionId,
input: Input,
) -> Pin<Box<dyn Future<Output = Result<(AcceptOutcome, Option<CompletionHandle>), RuntimeDriverError>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait;
fn runtime_state<'life0, 'life1, 'async_trait>(
&'life0 self,
session_id: &'life1 SessionId,
) -> Pin<Box<dyn Future<Output = Result<RuntimeState, RuntimeDriverError>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait;
fn retire_runtime<'life0, 'life1, 'async_trait>(
&'life0 self,
session_id: &'life1 SessionId,
) -> Pin<Box<dyn Future<Output = Result<RetireReport, RuntimeDriverError>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait;
fn reset_runtime<'life0, 'life1, 'async_trait>(
&'life0 self,
session_id: &'life1 SessionId,
) -> Pin<Box<dyn Future<Output = Result<ResetReport, RuntimeDriverError>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait;
fn input_state<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
session_id: &'life1 SessionId,
input_id: &'life2 InputId,
) -> Pin<Box<dyn Future<Output = Result<Option<StoredInputState>, RuntimeDriverError>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait;
fn list_active_inputs<'life0, 'life1, 'async_trait>(
&'life0 self,
session_id: &'life1 SessionId,
) -> Pin<Box<dyn Future<Output = Result<Vec<InputId>, RuntimeDriverError>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait;
fn reconfigure_session_llm_identity<'life0, 'life1, 'async_trait>(
&'life0 self,
session_id: &'life1 SessionId,
request: SessionLlmReconfigureRequest,
) -> Pin<Box<dyn Future<Output = Result<SessionLlmReconfigureReport, RuntimeDriverError>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait;
// Provided methods
fn resolved_session_llm_capabilities<'life0, 'life1, 'async_trait>(
&'life0 self,
_session_id: &'life1 SessionId,
) -> Pin<Box<dyn Future<Output = Result<Option<SessionLlmCapabilitySurface>, RuntimeDriverError>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait { ... }
fn configure_model_routing_baseline<'life0, 'life1, 'async_trait>(
&'life0 self,
_session_id: &'life1 SessionId,
_baseline_model: ModelId,
_realtime_capable: bool,
) -> Pin<Box<dyn Future<Output = Result<(), RuntimeDriverError>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait { ... }
fn session_model_routing_status<'life0, 'life1, 'async_trait>(
&'life0 self,
_session_id: &'life1 SessionId,
) -> Pin<Box<dyn Future<Output = Result<SessionModelRoutingStatus, RuntimeDriverError>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait { ... }
fn request_switch_turn<'life0, 'life1, 'async_trait>(
&'life0 self,
_session_id: &'life1 SessionId,
_request: SwitchTurnRequest,
) -> Pin<Box<dyn Future<Output = Result<SwitchTurnControlResult, RuntimeDriverError>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait { ... }
fn admit_model_routing_assistant_turn<'life0, 'life1, 'async_trait>(
&'life0 self,
_session_id: &'life1 SessionId,
) -> Pin<Box<dyn Future<Output = Result<(), RuntimeDriverError>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait { ... }
fn begin_image_operation<'life0, 'life1, 'async_trait>(
&'life0 self,
_session_id: &'life1 SessionId,
_request: ImageOperationRoutingRequest,
) -> Pin<Box<dyn Future<Output = Result<ImageOperationRoutingResult, RuntimeDriverError>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait { ... }
fn activate_image_operation_override<'life0, 'life1, 'async_trait>(
&'life0 self,
_session_id: &'life1 SessionId,
_operation_id: ImageOperationId,
) -> Pin<Box<dyn Future<Output = Result<ImageOperationPhase, RuntimeDriverError>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait { ... }
fn complete_image_operation<'life0, 'life1, 'async_trait>(
&'life0 self,
_session_id: &'life1 SessionId,
_operation_id: ImageOperationId,
_terminal: ImageOperationTerminalClass,
) -> Pin<Box<dyn Future<Output = Result<ImageOperationPhase, RuntimeDriverError>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait { ... }
fn restore_image_operation_override<'life0, 'life1, 'async_trait>(
&'life0 self,
_session_id: &'life1 SessionId,
_operation_id: ImageOperationId,
) -> Pin<Box<dyn Future<Output = Result<ImageOperationPhase, RuntimeDriverError>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait { ... }
}Expand description
v9 runtime extensions for SessionService.
Surfaces query this to decide whether to expose v9 runtime methods. Legacy-mode surfaces MUST NOT advertise v9 capabilities.
Required Methods§
Sourcefn runtime_mode(&self) -> RuntimeMode
fn runtime_mode(&self) -> RuntimeMode
Get the runtime mode.
Sourcefn accept_input<'life0, 'life1, 'async_trait>(
&'life0 self,
session_id: &'life1 SessionId,
input: Input,
) -> Pin<Box<dyn Future<Output = Result<AcceptOutcome, RuntimeDriverError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn accept_input<'life0, 'life1, 'async_trait>(
&'life0 self,
session_id: &'life1 SessionId,
input: Input,
) -> Pin<Box<dyn Future<Output = Result<AcceptOutcome, RuntimeDriverError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Accept an input for a session.
Sourcefn accept_input_with_completion<'life0, 'life1, 'async_trait>(
&'life0 self,
session_id: &'life1 SessionId,
input: Input,
) -> Pin<Box<dyn Future<Output = Result<(AcceptOutcome, Option<CompletionHandle>), RuntimeDriverError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn accept_input_with_completion<'life0, 'life1, 'async_trait>(
&'life0 self,
session_id: &'life1 SessionId,
input: Input,
) -> Pin<Box<dyn Future<Output = Result<(AcceptOutcome, Option<CompletionHandle>), RuntimeDriverError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Accept an input and optionally return a completion handle that resolves when the admitted work reaches a terminal runtime outcome.
Sourcefn runtime_state<'life0, 'life1, 'async_trait>(
&'life0 self,
session_id: &'life1 SessionId,
) -> Pin<Box<dyn Future<Output = Result<RuntimeState, RuntimeDriverError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn runtime_state<'life0, 'life1, 'async_trait>(
&'life0 self,
session_id: &'life1 SessionId,
) -> Pin<Box<dyn Future<Output = Result<RuntimeState, RuntimeDriverError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Get the runtime state for a session.
Sourcefn retire_runtime<'life0, 'life1, 'async_trait>(
&'life0 self,
session_id: &'life1 SessionId,
) -> Pin<Box<dyn Future<Output = Result<RetireReport, RuntimeDriverError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn retire_runtime<'life0, 'life1, 'async_trait>(
&'life0 self,
session_id: &'life1 SessionId,
) -> Pin<Box<dyn Future<Output = Result<RetireReport, RuntimeDriverError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Retire a session’s runtime.
Sourcefn reset_runtime<'life0, 'life1, 'async_trait>(
&'life0 self,
session_id: &'life1 SessionId,
) -> Pin<Box<dyn Future<Output = Result<ResetReport, RuntimeDriverError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn reset_runtime<'life0, 'life1, 'async_trait>(
&'life0 self,
session_id: &'life1 SessionId,
) -> Pin<Box<dyn Future<Output = Result<ResetReport, RuntimeDriverError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Reset a session’s runtime.
Sourcefn input_state<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
session_id: &'life1 SessionId,
input_id: &'life2 InputId,
) -> Pin<Box<dyn Future<Output = Result<Option<StoredInputState>, RuntimeDriverError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn input_state<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
session_id: &'life1 SessionId,
input_id: &'life2 InputId,
) -> Pin<Box<dyn Future<Output = Result<Option<StoredInputState>, RuntimeDriverError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Get the state of a specific input, bundled with its DSL-owned seed (phase / run association / boundary sequence).
Sourcefn list_active_inputs<'life0, 'life1, 'async_trait>(
&'life0 self,
session_id: &'life1 SessionId,
) -> Pin<Box<dyn Future<Output = Result<Vec<InputId>, RuntimeDriverError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn list_active_inputs<'life0, 'life1, 'async_trait>(
&'life0 self,
session_id: &'life1 SessionId,
) -> Pin<Box<dyn Future<Output = Result<Vec<InputId>, RuntimeDriverError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
List all active (non-terminal) inputs for a session.
Sourcefn reconfigure_session_llm_identity<'life0, 'life1, 'async_trait>(
&'life0 self,
session_id: &'life1 SessionId,
request: SessionLlmReconfigureRequest,
) -> Pin<Box<dyn Future<Output = Result<SessionLlmReconfigureReport, RuntimeDriverError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn reconfigure_session_llm_identity<'life0, 'life1, 'async_trait>(
&'life0 self,
session_id: &'life1 SessionId,
request: SessionLlmReconfigureRequest,
) -> Pin<Box<dyn Future<Output = Result<SessionLlmReconfigureReport, RuntimeDriverError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Canonically reconfigure the LLM identity for a registered live session.
Provided Methods§
Sourcefn resolved_session_llm_capabilities<'life0, 'life1, 'async_trait>(
&'life0 self,
_session_id: &'life1 SessionId,
) -> Pin<Box<dyn Future<Output = Result<Option<SessionLlmCapabilitySurface>, RuntimeDriverError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn resolved_session_llm_capabilities<'life0, 'life1, 'async_trait>(
&'life0 self,
_session_id: &'life1 SessionId,
) -> Pin<Box<dyn Future<Output = Result<Option<SessionLlmCapabilitySurface>, RuntimeDriverError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Get the runtime-owned resolved LLM capability surface for a session.