Skip to main content

BrowserRuntimeClient

Struct BrowserRuntimeClient 

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

Authenticated HTTP client for the Bobby Browser /v1 runtime interface.

Construct with BrowserRuntimeClient::new. base_url is the runtime origin; a trailing slash and a trailing /v1 are stripped.

Implementations§

Source§

impl BrowserRuntimeClient

Source

pub fn new( base_url: impl Into<String>, bearer_token: impl Into<String>, ) -> Result<Self, ClientError>

Create a client.

base_url is the runtime origin (http://127.0.0.1:7777 or …/v1). Returns ClientError::Protocol when base_url or bearer_token is empty.

Source

pub fn with_options( base_url: impl Into<String>, bearer_token: impl Into<String>, max_artifact_bytes: u64, ) -> Result<Self, ClientError>

Create a client with an explicit artifact byte cap (at most MAX_SDK_ARTIFACT_BYTES).

Source

pub async fn runtime_info( &self, options: Option<RequestOptions>, ) -> Result<RuntimeInfo, ClientError>

GET /v1/runtime — version, capabilities, and load counters.

Source

pub async fn create_session( &self, input: &CreateSessionRequest, options: Option<RequestOptions>, ) -> Result<SessionState, ClientError>

POST /v1/sessions — create a browser session.

Source

pub async fn list_sessions( &self, options: Option<RequestOptions>, ) -> Result<Vec<SessionState>, ClientError>

GET /v1/sessions — list active sessions.

Source

pub async fn delete_session( &self, session_id: &SessionId, options: Option<RequestOptions>, ) -> Result<(), ClientError>

DELETE /v1/sessions/{id} — tear down a session (204 on success).

Source

pub async fn open_page( &self, input: &OpenPageRequest, options: Option<RequestOptions>, ) -> Result<PageState, ClientError>

POST /v1/pages — open a page in a session.

Source

pub async fn submit( &self, input: &CommandEnvelope, options: Option<RequestOptions>, ) -> Result<CommandOutcome, ClientError>

POST /v1/commands — submit a command envelope (primitive or intent).

Source

pub async fn context_ask( &self, session_id: &SessionId, page_id: &PageId, description: &str, options: Option<RequestOptions>, ) -> Result<ContextAskResponse, ClientError>

GET /v1/context/ask — resolve one described control from retained context.

Source

pub async fn context_neighbors( &self, session_id: &SessionId, page_id: &PageId, description: &str, options: Option<RequestOptions>, ) -> Result<ContextNeighborsResponse, ClientError>

GET /v1/context/neighbors — return the remembered form around one control.

Source

pub async fn context_site( &self, site_key: &str, options: Option<RequestOptions>, ) -> Result<ContextSiteResponse, ClientError>

GET /v1/context/site/{key} — return retained structure for one site key.

Source

pub async fn submit_job( &self, input: &SubmitJobRequest, options: Option<RequestOptions>, ) -> Result<JobSubmitResponse, ClientError>

POST /v1/jobs — submit a bounded runtime job.

Source

pub async fn job_status( &self, job_id: &JobId, options: Option<RequestOptions>, ) -> Result<JobStatusResponse, ClientError>

GET /v1/jobs/{job_id} — read the authenticated principal’s job.

Source

pub async fn cancel_job( &self, job_id: &JobId, options: Option<RequestOptions>, ) -> Result<(), ClientError>

DELETE /v1/jobs/{job_id} — cancel the authenticated principal’s job.

Source

pub async fn form_snapshot( &self, session_id: &SessionId, page_id: &PageId, max_controls: Option<u32>, options: Option<RequestOptions>, ) -> Result<FormSnapshot, ClientError>

GET /v1/sessions/{session}/pages/{page}/forms — semantic form snapshot.

max_controls bounds the inventory (1..=512), mirroring the TypeScript formSnapshot(sessionId, pageId, { maxControls }).

Source

pub async fn checkpoint( &self, input: &CheckpointRequest, options: Option<RequestOptions>, ) -> Result<WorkflowCheckpoint, ClientError>

POST /v1/checkpoints — persist a workflow checkpoint.

Source

pub async fn recovery_status( &self, workflow_id: &WorkflowId, options: Option<RequestOptions>, ) -> Result<RecoveryStatus, ClientError>

GET /v1/recovery/{workflow} — current recovery status for a workflow.

Source

pub async fn recover( &self, workflow_id: &WorkflowId, options: Option<RequestOptions>, ) -> Result<RecoveryDecision, ClientError>

POST /v1/recovery/{workflow} — resume, reconcile, or restart a workflow. A needsReconciliation decision answers HTTP 409, which this method surfaces as ClientError::Http carrying the decision body.

Source

pub async fn artifact( &self, reference: &ArtifactReference, options: Option<RequestOptions>, ) -> Result<Vec<u8>, ClientError>

GET /v1/artifacts/{id} — fetch an artifact and verify it against its reference before any bytes reach the caller.

Checks the reference bounds (artifact id shape, lowercase SHA-256 digest, byte cap), then the response Content-Type essence and Content-Length, then the SHA-256 digest of the buffered body.

Trait Implementations§

Source§

impl Clone for BrowserRuntimeClient

Source§

fn clone(&self) -> Self

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for BrowserRuntimeClient

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

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> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. 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: Sized + 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: Sized + 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> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

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

Source§

type Error = !

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

fn try_from(value: U) -> Result<T, !>

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<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