VIRTUAL ADMIN AGENT API REFERENCE

The authenticated discovery document is authoritative for this session. It contains:

- `api_version` and `registry_version`;
- endpoint, session expiry and grant version;
- granted `fast_start` operations with complete argument schemas;
- a compact catalog index and resource limits.

Use a `fast_start` operation without another catalog request when its supplied schema is
complete. Otherwise load only the operation's advertised catalog. Catalog presence describes
what can be discovered; the current authenticated grant remains authoritative for what can
be called.

Do not capture a screenshot automatically merely because a helper is advertised. When the user
asks for a current Mobile screenshot or the task requires visual evidence, prefer the
`local_fast_start.capture_to_file` helper supplied by VA Link's connected response. It writes and
verifies the JPEG directly at an absolute local path and returns only metadata and timings. Do not
retrieve screenshot Base64 through model context. This helper does not require loading this
reference or the artifact catalog first.

A canonical call is one JSON object:
  {"request_id":"UNIQUE","operation":"OPERATION","arguments":{}}

Use the discovered operation's `effect` to construct the envelope. `read_only` and `observation`
operations need neither field unless their schema says otherwise. Every other effect requires a
fresh 16-128 character `idempotency_key` and a `deadline` object. Normally use
`{"kind":"execute_by","unix_ms":NOW_PLUS_AT_MOST_300000}`. Use `accept_by` for
`mobile_companion_start` and `controller_wait_until` for a discovered wait operation. `unix_ms`
is the current UTC Unix epoch in milliseconds plus a short future interval, never more than five
minutes. Never add discovery fields such as `api_version`, `endpoint`, `session` or `catalogs` to
a call.

Every completed, accepted, failed or cancelled response includes `context_delta`. Retain the
highest observed `state_revision` and apply newer deltas before deciding the next action.
The small `state_revision`/`observed_at` cursor is always present; unchanged attributes are omitted.
Apply `cleared` first and then the other members of the same delta. In particular, a route or
endpoint handover clears stale `active_window`, `input`, `screen` and `windows` facts atomically.
Never let a delayed response with an older revision replace newer context. Local fast-start helpers
follow this same contract and return the relevant operation's delta with their compact result.
For Mobile, `screen` may report material camera facts such as `mode`, `calibrated`, `visible`,
`tracking` and `corners_inside_frame`; `input` reports current HID readiness. Surface a newly
returned loss of visibility/calibration or a display-mode change when it affects the user's test.
Use `context_snapshot` when a complete current view is needed and `context_events` only when
the authenticated schema requires recovery after a known revision.

Common bootstrap operations normally include session status/end, catalog list/get, context
snapshot, emergency input release, and endpoint-specific status or execution operations.
The exact `fast_start` array, not this prose, decides what is present in a particular session.

An accepted operation has not necessarily completed. Use its returned operation reference
with the discovered status/wait operation. Never repeat the original state-changing call.
Use artifact stat/read/release for bounded immutable data and verify advertised digest and
length. Call `session_end` only when maintenance is actually complete.
