> ## Documentation Index
> Fetch the complete documentation index at: https://doc.astreus.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Agent mode

> The same app, pages and navigation in a structured representation for agents.

**Agent is an app-wide content mode.** Sign in and open the top-right three-dot
menu, then select **Agent** on the **Agent / Human** toggle, or open [Astreus in Agent mode](https://astreus.ai/?mode=agent).
Select **Human** on that toggle to switch back. In Agent mode the menu contains
only this toggle; fullscreen, theme and tab-mode controls remain in Human mode.

Switching mode keeps the current page, company, tab and URL filters. Agent mode replaces the sidebar, global search and tab strip with a flat
page directory and command navigation. Chat, AI-chat and audio toolbar icons are hidden. There is no separate
agent workspace or agent-only research destination.

## Keyboard navigation

Every Agent-mode action and field displays its shortcut beside its label.
Shortcuts are sequences, not simultaneous key combinations: **g e** means press
**g**, then **e**. Press **Esc** to leave an input before using them.

* **?** opens the page directory, which lists each page, its `go` command and shortcut.
* **g h / g e / g m / g n / g k** opens Home / Equities / Macro / News / Calendar.
* **m m** opens More; **m h** returns to Human mode.
* **:** focuses the command prompt; **Enter** runs a command.
* **d 01**, **d 02**, etc. selects the labelled dataset; **t t** opens sections.
* **p** opens parameters; **f 01**, **f 02**, etc. focuses the labelled field.
* **r / s / c** refreshes data / saves filters / cancels a request.
* **v j / v t / v f** selects JSON / table / focuses the response for scrolling.
* **y / x** copies / exports the result. Resource links and alert controls show their own keys.
* **n p** fetches the next API page when the API supplies a continuation.
* **v n / v p** moves through rows already received, without another request.

The directory and navigation keys remain available on pages whose data requires
an additional entitlement. Input typing does not trigger navigation shortcuts.

## Command prompt

Agent mode uses compact terminal panels with a command prompt on the current
page. Type `pages` for the directory, `help` for commands, `ls` for that page's datasets and `describe` for
the selected dataset's parameter schema and MCP mapping.

```text theme={null}
open company DEWA
tab financials
get --period_type quarterly --limit 8
status
show json
save "Quarterly review"
export
go macro
open country AE
tab economy
```

`use <operation-id>` selects a dataset from `ls`; `get` reads it with named
filters. `run --body '{...}'` supplies a documented calculation body. `context`
shows the native page and effective request parameters. Quoted values retain
spaces and equals signs. Normal account and data permissions still apply.

Use **Up/Down** for command history, **Tab** for completion, **Ctrl+C** to cancel
the request, and **:** or **Ctrl + backtick** to focus the prompt outside a text field.
`clear` clears the transcript. Parameter forms are available in a collapsible
panel alongside the command interface.

The layout uses the human app's shared content-width cap (currently 1440px).
Fields, command history and response panes also have size limits, so panels
stay compact on large displays. Copy and export retain the original API response;
the displayed response uses the row and field view described below.

## Predictable state and bounded reads

`status` returns JSON containing the request ID, operation, exact parameters,
completion state, HTTP status, timing, quota headers and available next actions.
States distinguish idle, loading, ready, error, cancelled and downloaded requests;
an entitlement lock is reported as blocked. `context` adds the native page,
editable draft, navigation commands, dataset IDs and transport selectors.
The completed request remains separate from subsequent filter edits.

```text theme={null}
go equities
get --limit 40
fields cik,name,ticker
rows 0 10
rows 10 10
fields *
next
status
```

`rows` selects a zero-based window of received rows: 20 by default, at most 100.
`fields` selects comma-separated fields; identity and source, accession, period,
basis, unit and currency fields are retained. Names refer to row keys or top-level
object keys; inspect `available_fields` in `status`. Unknown names are rejected.
These are local display operations,
not server-side query projections. The state reports the received count, displayed
range and field selection. The original payload remains available through Copy
response and Export JSON. Table views report when columns are omitted; JSON
contains every field in the selected view. Some object responses contain several
collections; row windows apply to the primary recognized collection.

`next` follows the API's returned cursor, next offset or page/total metadata using
the parameters of the completed request. It preserves filters and does not guess
from the number of rows. A missing continuation is reported as unknown, rather
than claiming the collection is complete. News continuation uses `before` and
removes the polling `after` parameter. Revision-bound cursors are passed through
unchanged; a stale-cursor error requires restarting the request without its cursor.

Errors expose a code, HTTP status, retryability, optional `retry_at` and recovery
guidance. `retry` repeats the failed request only when its error is retryable,
and enforces the server's retry time. Transient data failures are not retried
automatically. The shared authenticated transport may refresh an expired login
token once before returning an authorization failure. Account access failures
require resolving authorization; retry does not bypass them.

### Browser automation contract

After the signed-in page mounts, its structured state uses contract
`astreus.agent-page.v1`. Automation can inspect these stable DOM targets within
the active page, without parsing the visual layout:

| Target | Meaning |
| - | - |
| `[data-agent-page][data-agent-active="true"]` | Active page root; `data-agent-status` and `data-agent-request-id` report request progress |
| `[data-agent-state]` | JSON state text, also readable under **Page state · JSON** |
| `[data-agent-command]` | Command input; submit with Enter |
| `[data-agent-response]` | Inert JSON containing the selected response view, available in both JSON and table modes |
| `[data-agent-shortcut]` | Keyboard sequence attached to an action or field |

Scope child selectors to the active root: inactive app tabs may retain their own
state. Wait for a new request ID and terminal status when issuing a request;
waiting only for existing response text can read a previous result. The response
state links the payload to its request ID. These targets expose data already
authorized for the signed-in browser session. They do not provide an external API
or a background execution service. Exported snapshots include the request and
original response for reproducible review.

## The same pages, structured

Equities becomes an explicit company dataset. Opening a company retains its
normal tabs: Overview, Financials, Investor Relations, Ownership and the other
available sections. Financials exposes statements, segments, note tables and
source tracing with named filters and JSON/table output. Source documents and
calls are datasets on Investor Relations.

Macro, news, calendars, fixed income, indices, commodities, FX, crypto, people,
market themes and mapped assets follow the same pattern. Each page advertises
its current resource, URL filters, datasets, REST operations and corresponding
MCP tools under **Page state · JSON**. Resource links open the existing native
page while retaining Agent mode.

Data loads from the same authenticated API and publication gates as the human
app. Complete required filters, refresh data, cancel a request, copy a response
or export a timestamped JSON snapshot. Null remains unavailable or withheld,
never zero; retain period, basis, units, currency and accession/document references.
The structured view does not infer values from chart pixels.

Account setup and other human interaction pages expose their page context in
Agent mode; switch to Human mode for their interactive controls. Agent mode
does not invent unpublished data endpoints or expand authorization.

## Saved filters and news monitors

Save a named set of filters on the page where it belongs. These requests are
scoped to the signed-in account on the current browser. Rerunning retrieves
current data; export a response to retain a source-bearing snapshot.

On News, expand **News monitors & inbox** to manage existing account-owned news
rules, pause/resume delivery, read a source item and mark a delivered event seen.
The scheduled evaluator delivers matches; refresh the inbox to retrieve them.
These are news matches. Financial thresholds, durable agent replay and webhooks
are future capabilities. API keys and public MCP tools cannot manage account alerts.

## Connect directly

REST, CLI and MCP are also available to authorized agents. The public
[Agent landing](https://astreus.ai/agent), [JSON manifest](https://astreus.ai/agent.json)
and [tool reference](https://doc.astreus.ai/tool-reference.md) describe the connections and current source
contracts. Website, docs and CLI publication are separate releases; discover the
connected server's actual capabilities rather than assuming parity from a version label.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.