Skip to content

openagents_sdk::agent_lab

Account-owned Agent Lab documents and bounded experiments.

ItemWhat it does
AgentLabClient structCalls the Agent Lab routes for one signed-in session.
Request structAn Agent Lab request body tied to one account and deployment.

AgentLabClient

pub struct AgentLabClient<'a> {}

Calls the Agent Lab routes for one signed-in session.

AgentLabClient::bind

pub fn bind<T>(&self, body: T) -> Request<T>

Ties body to this session's account and deployment.

AgentLabClient::delete_document

pub async fn delete_document(
    &self,
    id: &str,
    request: &Request<DeleteDocument>,
    cancel: &CancellationToken,
) -> Result<Document, Error>

Deletes the Agent Lab document id.

Calls DELETE /v1/labs/agent/documents/{id}

AgentLabClient::hosts

pub async fn hosts(&self, cancel: &CancellationToken) -> Result<Vec<Host>, Error>

Lists the computers that can run Agent Lab experiments.

Calls GET /v1/labs/agent/hosts

AgentLabClient::heartbeat

pub async fn heartbeat(
    &self,
    host: &Host,
    cancel: &CancellationToken,
) -> Result<Host, Error>

Reports that host is online and returns the saved host record.

Calls POST /v1/labs/agent/hosts

AgentLabClient::documents

pub async fn documents(
    &self,
    after: Option<&str>,
    cancel: &CancellationToken,
) -> Result<Page<Document>, Error>

Lists Agent Lab documents, starting after the cursor after.

Calls GET /v1/labs/agent/documents

AgentLabClient::document

pub async fn document(
    &self,
    id: &str,
    cancel: &CancellationToken,
) -> Result<Document, Error>

Fetches the Agent Lab document id.

Calls GET /v1/labs/agent/documents/{id}

AgentLabClient::save

pub async fn save(
    &self,
    id: Option<&str>,
    request: &Request<SaveDocument>,
    cancel: &CancellationToken,
) -> Result<Document, Error>

Saves a document: updates id when given, or creates a new document otherwise.

AgentLabClient::start

pub async fn start(
    &self,
    id: &str,
    request: &Request<StartRun>,
    cancel: &CancellationToken,
) -> Result<Run, Error>

Starts a run of a version of the document id.

Calls POST /v1/labs/agent/documents/{id}/jobs

AgentLabClient::runs

pub async fn runs(
    &self,
    host: Option<&str>,
    after: Option<&str>,
    cancel: &CancellationToken,
) -> Result<Page<Run>, Error>

Lists runs, optionally for one host, starting after the cursor after.

Calls GET /v1/labs/agent/jobs

AgentLabClient::run

pub async fn run(&self, id: &str, cancel: &CancellationToken) -> Result<Run, Error>

Fetches the run id.

Calls GET /v1/labs/agent/jobs/{id}

AgentLabClient::change

pub async fn change(
    &self,
    id: &str,
    request: &Request<RunChange>,
    cancel: &CancellationToken,
) -> Result<Run, Error>

Applies a user action, such as stop, to the run id.

Calls POST /v1/labs/agent/jobs/{id}/actions

AgentLabClient::host_update

pub async fn host_update(
    &self,
    id: &str,
    request: &Request<HostUpdate>,
    cancel: &CancellationToken,
) -> Result<Run, Error>

Reports a host's progress on the run id.

Calls POST /v1/labs/agent/jobs/{id}/host

AgentLabClient::promote

pub async fn promote(
    &self,
    id: &str,
    request: &Request<Promote>,
    cancel: &CancellationToken,
) -> Result<agent_contract::AgentDefinition, Error>

Saves a version of the document id as an agent definition.

Calls POST /v1/labs/agent/documents/{id}/promote

Request

pub struct Request<T> {
    pub body: T,
}

An Agent Lab request body tied to one account and deployment. Keep it across retries.

Re-exported from other crates

  • * from agent_lab::api
  • * from agent_lab