pub struct HostedHarnessRuntime { /* private fields */ }Expand description
Shared owner of a single harness-native runtime.
Implementations§
Source§impl HostedHarnessRuntime
impl HostedHarnessRuntime
Sourcepub fn spawn(
runtime: Box<dyn RuntimeConnection>,
capabilities: RuntimeCapabilities,
) -> (Arc<Self>, HostedHarnessConnection)
pub fn spawn( runtime: Box<dyn RuntimeConnection>, capabilities: RuntimeCapabilities, ) -> (Arc<Self>, HostedHarnessConnection)
Promote one exclusive native connection into a multi-frontend host and return the first SDK connection to it.
Sourcepub fn frontend_sender(&self) -> Sender<FrontendEvent>
pub fn frontend_sender(&self) -> Sender<FrontendEvent>
Subscribe to the canonical sequenced frontend event stream.
Trait Implementations§
Source§impl SdkRuntime for HostedHarnessRuntime
impl SdkRuntime for HostedHarnessRuntime
Source§fn describe<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<FrontendRuntimeDescriptor, FrontendRuntimeError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn describe<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<FrontendRuntimeDescriptor, FrontendRuntimeError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Describe runtime identity, modules, commands, actions, and state.
Source§fn attach<'life0, 'async_trait>(
&'life0 self,
_history_limit: usize,
) -> Pin<Box<dyn Future<Output = Result<FrontendAttachment, FrontendRuntimeError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn attach<'life0, 'async_trait>(
&'life0 self,
_history_limit: usize,
) -> Pin<Box<dyn Future<Output = Result<FrontendAttachment, FrontendRuntimeError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Atomically attach at the canonical history/live-event boundary.
Source§fn send_input<'async_trait>(
self: Arc<Self>,
prompt: String,
) -> Pin<Box<dyn Future<Output = Result<(), FrontendRuntimeError>> + Send + 'async_trait>>where
Self: 'async_trait,
fn send_input<'async_trait>(
self: Arc<Self>,
prompt: String,
) -> Pin<Box<dyn Future<Output = Result<(), FrontendRuntimeError>> + Send + 'async_trait>>where
Self: 'async_trait,
Atomically accept a new user turn and return once ownership is claimed. Read more
Source§fn send_input_with_images<'async_trait>(
self: Arc<Self>,
prompt: String,
image_urls: Vec<String>,
) -> Pin<Box<dyn Future<Output = Result<(), FrontendRuntimeError>> + Send + 'async_trait>>where
Self: 'async_trait,
fn send_input_with_images<'async_trait>(
self: Arc<Self>,
prompt: String,
image_urls: Vec<String>,
) -> Pin<Box<dyn Future<Output = Result<(), FrontendRuntimeError>> + Send + 'async_trait>>where
Self: 'async_trait,
Atomically accept a multimodal user turn and return once ownership is
claimed. Implementations must preserve images natively or reject the
action; silently folding them into text is never allowed.
Source§fn submit<'life0, 'async_trait>(
&'life0 self,
prompt: String,
) -> Pin<Box<dyn Future<Output = Result<String, FrontendRuntimeError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn submit<'life0, 'async_trait>(
&'life0 self,
prompt: String,
) -> Pin<Box<dyn Future<Output = Result<String, FrontendRuntimeError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Submit a new user turn.
Source§fn interrupt<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<bool, FrontendRuntimeError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn interrupt<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<bool, FrontendRuntimeError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Interrupt an active turn.
Source§fn steer<'life0, 'async_trait>(
&'life0 self,
prompt: String,
) -> Pin<Box<dyn Future<Output = Result<(), FrontendRuntimeError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn steer<'life0, 'async_trait>(
&'life0 self,
prompt: String,
) -> Pin<Box<dyn Future<Output = Result<(), FrontendRuntimeError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Queue a steering instruction when supported.
Source§fn respond<'life0, 'async_trait>(
&'life0 self,
_response: FrontendResponse,
) -> Pin<Box<dyn Future<Output = Result<(), FrontendRuntimeError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn respond<'life0, 'async_trait>(
&'life0 self,
_response: FrontendResponse,
) -> Pin<Box<dyn Future<Output = Result<(), FrontendRuntimeError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Answer a typed runtime request when supported.
Source§fn submit_with_images<'life0, 'async_trait>(
&'life0 self,
prompt: String,
image_urls: Vec<String>,
) -> Pin<Box<dyn Future<Output = Result<String, SdkError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn submit_with_images<'life0, 'async_trait>(
&'life0 self,
prompt: String,
image_urls: Vec<String>,
) -> Pin<Box<dyn Future<Output = Result<String, SdkError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Submit a new user turn with canonical multimodal image inputs. Read more
Source§fn invoke<'life0, 'async_trait>(
&'life0 self,
operation: FrontendOperationInvocation,
) -> Pin<Box<dyn Future<Output = Result<FrontendOperationResult, SdkError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn invoke<'life0, 'async_trait>(
&'life0 self,
operation: FrontendOperationInvocation,
) -> Pin<Box<dyn Future<Output = Result<FrontendOperationResult, SdkError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Invoke one operation from the descriptor’s explicit catalog.
Source§fn lease_snapshot<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<RuntimeLeaseSnapshot, SdkError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn lease_snapshot<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<RuntimeLeaseSnapshot, SdkError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Read the one-controller/many-observer ownership state.
Source§fn take_control<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<RuntimeLeaseSnapshot, SdkError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn take_control<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<RuntimeLeaseSnapshot, SdkError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Explicitly acquire the controller lease from another interactive
client. Ordinary mutations never perform an implicit takeover.
Source§fn heartbeat<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<RuntimeLeaseSnapshot, SdkError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn heartbeat<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<RuntimeLeaseSnapshot, SdkError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Refresh observer activity and a controller lease owned by this client.
Source§fn detach<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<RuntimeLeaseSnapshot, SdkError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn detach<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<RuntimeLeaseSnapshot, SdkError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Release this client’s observer/controller state without stopping the
runtime.
Source§fn close<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<(), SdkError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn close<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<(), SdkError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Explicitly close the SDK-owned runtime when the negotiated descriptor
grants that owner-level action. Dropping an attachment is always a
detach and never calls this operation implicitly.
Auto Trait Implementations§
impl !Freeze for HostedHarnessRuntime
impl !RefUnwindSafe for HostedHarnessRuntime
impl !UnwindSafe for HostedHarnessRuntime
impl Send for HostedHarnessRuntime
impl Sync for HostedHarnessRuntime
impl Unpin for HostedHarnessRuntime
impl UnsafeUnpin for HostedHarnessRuntime
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