Expand description
Typed HTTP client and /v1 wire types for Bobby Browser.
The single crates.io Rust SDK package. Mirrors
@cavi-ai/bobby-browser
for Rust callers.
§Auth headers
Every request includes:
Authorization: Bearer <token>x-interface-versionx-correlation-idx-deadline
§Example
use bobby_browser_client::{BrowserRuntimeClient, CreateSessionRequest};
let client = BrowserRuntimeClient::new(
"http://127.0.0.1:7777",
std::env::var("AUTOMATION_RUNTIME_TOKEN")?,
)?;
let info = client.runtime_info(None).await?;
let session = client
.create_session(
&CreateSessionRequest {
profile: "default".into(),
proxy: None,
execution_policy: Default::default(),
zigzagzig: false,
},
None,
)
.await?;
client.delete_session(&session.id, None).await?;
let _ = info;§Features
schema— deriveschemars::JsonSchemaon wire types.
Structs§
- Accessibility
Node - One node in an
accessibilitySnapshotresult tree. - Accessibility
Snapshot Command - Accessibility
Target - Semantic target for accessibility-based commands (role + accessible name).
- Activate
Page Command - Artifact
Id - Artifact
Reference - Typed description of an artifact as issued by the runtime (evidence
artifactId/mediaType/bytes/sha256fields). The client verifies a fetched body against it before returning any bytes. - Attachment
Id - Attempt
Id - Browser
Runtime Client - Authenticated HTTP client for the Bobby Browser
/v1runtime interface. - Candidate
Evidence - Capability
Set - Canonical capability set. Serializes in lexical wire order.
- Capture
Screenshot Command - Challenge
Detection - Challenge
Detection Hints - Challenge
Region - Checkpoint
Id - Checkpoint
Request POST /v1/checkpointsrequest body: the checkpoint plus the command ids whose evidence the runtime resolves from its own journal.- Click
AndWait ForDownload Command - Click
AndWait ForPopup Command - Click
Command - Close
Page Command - Command
Envelope - Envelope submitted to
POST /v1/commands. - Command
Error - Command
Id - Companion
Id - Complete
Form Field - Complete
Form Intent - Confidence
Metrics Snapshot - Context
Answer - Where the retained page context says a described control is.
- Context
AskResponse - Response from
GET /v1/context/ask. - Context
Metrics Snapshot - Context
Neighbor Control - Context
Neighbor Stats - Context
Neighbors - The remembered form structure around a located control (
context_neighbors). Structure only: roles, names, ordinals, and per-intent counters — never values, page text, or timestamps finer than a day. - Context
Neighbors Response - Response from
GET /v1/context/neighbors. - Context
Ranked Vision Metrics Snapshot - Context
Site Response - Response from
GET /v1/context/site/{key}. - Context
Site View - One remembered site’s structure: page pattern → form key → controls.
- Control
Action Command - Control
Action Evidence - Cookie
Record - One cookie as returned by a cookie read on any engine.
- Correlation
Id - Correlation id for a single request (
x-correlation-id). - Create
Session Request POST /v1/sessionsbody.- Delete
Cookies Command - Detect
Challenge Hints - Detect
Challenge Intent - Dismiss
Obstruction Intent - Dismiss an obstruction (overlay, cookie banner, etc.).
- Download
UrlCommand - Emulate
Command - Evaluate
Java Script Command - Event
Cursor - Evidence
Id - Execution
Policy - Per-session gate for privileged execution. Defaults to deny; a session must opt in even when the bearer token holds the matching capability.
- Execution
Record - Extract
Field - One named field within an
ExtractIntent, resolved independently of siblings. - Extract
Intent - Structured extraction intent. Replayable (does not mutate the page).
- Extract
Request - Extract
Result - Result of a structured extract command.
- Extract
Structured Command - Fill
Intent - Follow
Intent - Follow a control and wait for the expected destination.
- Form
Control - Form
Control Constraints - Form
Control Target - Form
Control Validity - Form
Descriptor - Form
Group - Form
Option - Form
Snapshot - Semantic form observation returned by form-snapshot endpoints and evidence.
- Form
Validation Issue - Compact, value-free repair evidence for a control that rejected a form submission. Carries the semantic target and browser validity without the rest of the form snapshot.
- Form
Validity - Geolocation
Coordinates - GetCookies
Command - Handle
Dialog Command - Idempotency
Key - Caller-provided key that identifies a repeated request (
idempotency-key). - Inspect
Command - Intent
Envelope Meta - Meta that every intent envelope carries. Mirrors the TypeScript SDK’s
IntentEnvelopeMeta. - Intent
Hints - Optional targeting hints for intents. All fields are optional on the wire
(
#[serde(default)]); a body like{"role":"textbox"}must deserialize. - Intent
Metrics Snapshot - Interface
Error - Interface
Version - Marker for the sole supported interface version (
CURRENT_INTERFACE_VERSION). - JobId
- Runtime job identifier (
job_<uuid>). - JobId
Error - JobResult
- JobStatus
Response - JobSubmit
Response - Latency
Bucket Snapshot - Latency
Histogram Snapshot - List
Pages Command - Locate
Intent - Navigate
Command - Navigation
Request - Navigation
Result - Result of a navigation command.
- Network
LogCommand - Open
Page Command - Open
Page Request POST /v1/pagesbody.- Operational
Metrics Snapshot - Page
Evidence - PageId
- Page
State - Page within a session.
- Prefill
Metrics Snapshot - Principal
Id - Authenticated caller id. Carries no credential material.
- Print
ToPdf Command - Profile
Id - Provider
Health Snapshot - Operator-facing health of one vision provider mode. Carries the thresholds
that produced
statusso consumers never re-derive them. - Reconciliation
Metrics Snapshot - Recovery
Command Identity - Recovery
Receipt - Recovery
Record - Recovery
Request - Recovery
Status - Current recovery status for a workflow (
GET /v1/recovery/{id}). - Request
Context - Request
Options - Options for a single request.
- Restart
Lineage - Retry
Metrics Snapshot - Revealed
Control - A form control that an action revealed (conditional field). Emitted on
ControlActionEvidenceso an agent learns about fields that did not exist at snapshot time without re-snapshotting the whole page. - Runtime
Info GET /v1/runtimebody.- Semantic
Target Segment - Session
Id - Session
State - Browser session returned by session create/list endpoints.
- SetCookie
Param - One cookie to store.
urlanchors the cookie’s origin;path, flags, and expiry are optional per the driver defaults. - SetCookies
Command - SetEmulated
Media Command - SetFocus
Emulation Command - Skill
Checkpoint Proof - Skill
Command Identity - Skill
Decision - Skill
Evidence Ref - Skill
Issued Decision - Skill
Profile - Skill
Profile Request - Skill
Session State - Solve
Challenge Hints - Solve
Challenge Intent - Submit
AndVerify Intent - Submit
JobRequest - Target
Fingerprint - Target
Spec - Type
Text Command - Unknown
Capability - A capability wire string no variant claims.
- Upload
AndConfirm Command - Upload
Files Command - Verification
Metrics Snapshot - Viewport
Size - Vision
Metrics Snapshot - Wait
ForCommand - Wait
ForState Intent - Worker
Id - Workflow
Call Metrics Snapshot - Workflow
Checkpoint - Workflow
Id
Enums§
- Capability
- Capability granted by a token or policy.
- Challenge
Type - Checkpoint
Invariant - Click
Modifier - Client
Error - Errors returned by
BrowserRuntimeClient. - Command
Class - Command
Outcome - Command
Phase - Context
Answer Source - How a remembered control record entered the graph.
- Context
Miss Reason - Machine-readable reason returned when retained context has no answer.
- Context
Next Step - Repair step returned with a retained-context miss.
- Context
Observed At - Provenance of a
ContextAnswer: live-observed under a page generation, or remembered from the persisted per-profile context store. - Control
Action - Dialog
Action - Element
State - Error
Code - Error
Layer - Evidence
- Execution
Path - Which strategy served a command: the direct-HTTP reader, or the live
browser. The browser variants name the strategy, never an engine — a
Firefox-companion run reports
browser, and reportingchromiumthere contradicted thebrowserExecutionevidence sitting beside it. The old wire names still deserialize so recorded journals keep replaying. - Execution
Reason - Extract
Value Kind - Value to extract from a resolved field.
Hrefis shorthand forattribute = "href"; other attributes useExtractValueKind::Attribute. - Form
Control Kind - Form
Control Operation - Form
Control State - Form
Validity Flag - Intent
Command - Intent
Resolution Path - Interface
Error Code - Interface
Event - Interface
Operation - Transport-neutral interface operations and their required capabilities.
- Interface
Validation Error - JobPriority
- JobStatus
- Network
Resource Type - Page
Mode - Page rendering / interaction mode.
- Primitive
Command - Provider
Health Status - Health classification of one vision provider boundary.
degradedmeans consecutive propose-budget violations reached the failure threshold;unhealthymeans consecutive provider failures did. - Recovery
Decision - Recovery
Receipt State - Runtime
Command - Nested command wire shape:
{ kind: "intent" | "primitive", input: … }. - Runtime
Error - Screenshot
Mode - Skill
Browser Engine - Skill
Capability - Skill
Command - Skill
Failure - Skill
Ghost Command - Skill
Outcome - Skill
Tactic - Skill
ZigZag ZigCommand - Solve
Step - Submit
Settlement Outcome - Text
Match - Wait
Condition - Wait
Until
Constants§
- CURRENT_
INTERFACE_ VERSION - Value of the
x-interface-versionheader for this release. - DEFAULT_
DISMISS_ OBSTRUCTION_ TIMEOUT_ MS - DEFAULT_
MAX_ ARTIFACT_ BYTES - Client hard bounds for
BrowserRuntimeClient::artifact, mirroring the TypeScript SDK defaults. - FORM_
SNAPSHOT_ SCHEMA_ VERSION - Schema version for
FormSnapshotpayloads. - MAX_
FORM_ ACCEPT_ TYPES - MAX_
FORM_ GROUPS - MAX_
FORM_ ID_ BYTES - MAX_
FORM_ OPTIONS - MAX_
FORM_ REFERENCES - MAX_
FORM_ SNAPSHOT_ CONTROLS - MAX_
FORM_ SNAPSHOT_ FORMS - MAX_
FORM_ TARGET_ ORDINAL - MAX_
FORM_ TARGET_ PATH - MAX_
FORM_ TEXT_ BYTES - MAX_
FORM_ VALIDATION_ MESSAGE_ BYTES - MAX_
FORM_ VALUE_ BYTES - MAX_
INTENT_ PURPOSE_ BYTES - Maximum UTF-8 byte length for intent
purposestrings. - MAX_
RECOVERY_ RECEIPTS - MAX_
RECOVERY_ RECEIPT_ BYTES - MAX_
RECOVERY_ RECEIPT_ EVIDENCE - MAX_
SDK_ ARTIFACT_ BYTES - MAX_
WAIT_ OBSERVED_ CHARS - Upper bound on
Evidence::Wait’sobservedvalue, in characters. - SKILL_
SCHEMA_ VERSION
Functions§
- annotate_
page_ derived_ evidence - Add provenance only to page-derived evidence in a serialized outcome. This keeps public Rust enum variants source-compatible while extending the HTTP and MCP JSON representations.
- complete_
form_ runtime_ command - Build a
completeFormintent command (1–128 uniquely named fields). - detect_
challenge_ envelope - Convenience: [
detect_challenge] runtime command +intent_envelope. - detect_
challenge_ runtime_ command - Build a
detectChallengeintent command (Replayable, read-only). - dismiss_
obstruction_ envelope - Convenience: [
dismiss_obstruction] runtime command +intent_envelope. - dismiss_
obstruction_ runtime_ command - Build a
dismissObstructionintent command. - extract_
envelope - Convenience: [
extract] runtime command +intent_envelope. - extract_
runtime_ command - Build an
extractintent command (at least one uniquely named field). - fill_
envelope - Convenience: [
fill] runtime command +intent_envelope. - fill_
runtime_ command - Build a
fillintent command. - follow_
envelope - Convenience: [
follow] runtime command +intent_envelope. - follow_
runtime_ command - Build a
followintent command. - intent_
envelope - Wrap an intent
RuntimeCommandin aCommandEnvelope. - locate_
envelope - Convenience: [
locate] runtime command +intent_envelope. - locate_
runtime_ command - Build a
locateintent command. - solve_
challenge_ envelope - Convenience: [
solve_challenge] runtime command +intent_envelope. - solve_
challenge_ runtime_ command - Build a
solveChallengeintent command (Reconciliable vision solve loop). - submit_
and_ verify_ envelope - Convenience: [
submit_and_verify] runtime command +intent_envelope. - submit_
and_ verify_ runtime_ command - Build a
submitAndVerifyintent command. - wait_
for_ state_ envelope - Convenience: [
wait_for_state] runtime command +intent_envelope. - wait_
for_ state_ runtime_ command - Build a
waitForStateintent command.