pub struct AcpFrontendRuntime { /* private fields */ }Expand description
ACP transport implementing the same SdkRuntime consumed by local and
HTTP frontends.
Implementations§
Source§impl AcpFrontendRuntime
impl AcpFrontendRuntime
Sourcepub async fn connect(
options: AcpFrontendConnectOptions,
) -> Result<Arc<Self>, SdkError>
pub async fn connect( options: AcpFrontendConnectOptions, ) -> Result<Arc<Self>, SdkError>
Negotiate ACP, discover or resume one session, and start the canonical live-event subscription.
Sourcepub fn session_id(&self) -> &str
pub fn session_id(&self) -> &str
Stable session discovered or resumed during negotiation.
Sourcepub fn endpoint(&self) -> &RuntimeEndpoint
pub fn endpoint(&self) -> &RuntimeEndpoint
Concrete local bridge endpoint, useful for process supervision.
Sourcepub fn extensions(&self) -> &Value
pub fn extensions(&self) -> &Value
Complete negotiated extension object. Unknown fields are retained so newer peers can be proxied or inspected without lossy decoding.
Sourcepub fn event_method(&self) -> &str
pub fn event_method(&self) -> &str
Negotiated ACP notification carrying canonical facade events.
Sourcepub fn restore_checkpoint(
&self,
checkpoint: AcpFrontendCheckpoint,
) -> Result<(), SdkError>
pub fn restore_checkpoint( &self, checkpoint: AcpFrontendCheckpoint, ) -> Result<(), SdkError>
Restore a delivery cursor after negotiation and before attachment.
Sourcepub fn checkpoint(&self) -> AcpFrontendCheckpoint
pub fn checkpoint(&self) -> AcpFrontendCheckpoint
Snapshot the highest event actually delivered through an attachment.
Trait Implementations§
Source§impl SdkRuntime for AcpFrontendRuntime
impl SdkRuntime for AcpFrontendRuntime
Source§fn describe<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<FrontendRuntimeDescriptor, SdkError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn describe<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<FrontendRuntimeDescriptor, SdkError>> + 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, SdkError>> + 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, SdkError>> + 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<(), SdkError>> + Send + 'async_trait>>where
Self: 'async_trait,
fn send_input<'async_trait>(
self: Arc<Self>,
prompt: String,
) -> Pin<Box<dyn Future<Output = Result<(), SdkError>> + 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<(), SdkError>> + 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<(), SdkError>> + 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, SdkError>> + 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, SdkError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Submit a new user turn.
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 interrupt<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<bool, SdkError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn interrupt<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<bool, SdkError>> + 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<(), SdkError>> + 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<(), SdkError>> + 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<(), SdkError>> + 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<(), SdkError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Answer a typed runtime request when supported.
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 !RefUnwindSafe for AcpFrontendRuntime
impl !UnwindSafe for AcpFrontendRuntime
impl Freeze for AcpFrontendRuntime
impl Send for AcpFrontendRuntime
impl Sync for AcpFrontendRuntime
impl Unpin for AcpFrontendRuntime
impl UnsafeUnpin for AcpFrontendRuntime
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