await when you use an async client.
Run an action-to-observation step
Borrowed clients expose the stable model-loop method directly:step.actions contains the ordered batch result. step.screenshot contains the immediate post-action frame. step.timing contains daemon timing.
Desktop input and capture
The default inline
screenshots.full() request uses the raw binary route and returns a byte-backed
Screenshot. Artifact and automatic storage use the structured JSON route and return a
Screenshot. See
screenshot storage options and
artifact retrieval.
Ordered action primitives
Use
computer.step() in provider loops. Use actions.run() when the next observation is unnecessary.
Desktop state
commands.run() does not invoke a shell unless the command vector requests one.
Artifacts and recordings
Artifact paths reject traversal and symlink escapes.
Runtime and diagnostics
Treat debug URLs as secrets. See errors and models for result and recovery types.

