Skip to content
Registry

ade

(alias: console)v1.9.66

Web console for iii — bundles the React UI and proxies the engine WebSocket on a single port.

license: Apache-2.0adeadminconsoledashboarduiweb

Install

bash
iii trigger compose::add worker=ade

Run in your project with the iii engine running. Exact versions are immutable and digest-pinned.

Functions29

console::compose::container

Function

Read one container's declaration for editing: worker, version, start_after, env_file, environment (credential-like literals masked), run script, and config_override as YAML.

Request
  • containerstringrequired
  • filestring

    Compose file on the daemon host; defaults to the daemon project.

Response
  • config_overridestring

    The override as YAML text, as the page edits it.

  • env_filestring[]required
  • environmentobject[]required
    • keystringrequired
    • secretbooleanrequired
    • valuestring

      `None` when the value is a secret or empty.

  • namestringrequired
  • runstring
  • start_afterstring[]required
  • versionstring
  • workerstringrequired

console::compose::edit

Function

Change one container's worker path, run script, start_after, environment, or config_override. Merges with the declared entry (masked secrets keep their file values) and hands it to compose::add; returns the accepted compose operation.

Request
  • config_overridestring

    YAML text; empty removes the override.

  • containerstringrequired
  • environmentany of
    any of (2)
    Variant 1
    • setobject
    • unsetstring[]
    Variant 2
    valuenull
  • filestring

    Compose file on the daemon host; defaults to the daemon project.

  • operation_idstring

    Caller-selected id for following the compose operation.

  • runstring

    New `scripts.run`; an empty string removes it.

  • start_afterstring[]
  • workerstring

    New worker source, e.g. `path:///home/me/other-checkout/web`. The container keeps its name, so the directory name must match it.

Response
  • operation_idstringrequired
  • requestedinteger· uint64requiredmin 0
  • statusstringrequired

console::compose::inspect

Function

Inspect a directory on this host: its iii.worker.yaml, whether a relative run command is built, other git checkouts of the same worker, or the workers inside a plain folder.

Request
  • pathstringrequired

    Absolute directory on the daemon host; `~/` expands to the home directory.

  • runstring

    The container's run command; a relative executable is checked for existence.

Response
  • checkoutsobject[]required
    • branchstring
    • committed_atinteger· int64

      Unix seconds of the checkout's HEAD commit.

    • dirtyboolean

      Tracked files differ from HEAD.

    • pathstringrequired

      This worker's directory inside the checkout.

  • existsbooleanrequired
  • manifestany of
    any of (2)
    Variant 1
    • binstring

      `bin`: the binary a Rust worker builds.

    • dependenciesstring[]required
    • descriptionstring
    • languagestring
    • namestringrequired
    • pathstringrequired
    • startstring

      `scripts.start`: how compose starts the worker when its entry has no `run`. Without either, the container cannot start.

    Variant 2
    valuenull
  • pathstringrequired
  • run_foundboolean

    `Some(false)` when the run command is a relative executable missing here.

  • workersobject[]required

    Workers directly inside a directory that is not itself a worker.

    • binstring

      `bin`: the binary a Rust worker builds.

    • dependenciesstring[]required
    • descriptionstring
    • languagestring
    • namestringrequired
    • pathstringrequired
    • startstring

      `scripts.start`: how compose starts the worker when its entry has no `run`. Without either, the container cannot start.

console::compose::project

Function

Read the compose file as declared: namespace, engine endpoint, timeouts, and each container's source, version, start_after, environment keys and run script.

Request
  • filestring

    Compose file on the daemon host; defaults to the daemon project.

Response
  • containersobject[]required
    • environmentstring[]required
    • namestringrequired
    • refstringrequired
    • runstring
    • sourcestringrequiredenum path, package, unknown
    • start_afterstring[]required
    • versionstring
  • engine_hoststring
  • engine_portinteger· uint16min 0
  • engine_urlstring
  • filestringrequired
  • namespacestring
  • startup_timeoutstring
  • stop_timeoutstring

console::compose::search

Function

Search the worker registry by name for workers Compose can declare (engine workers are left out).

Request
  • querystringrequired
Response
  • workersobject[]required
    • dependenciesstring[]required
    • descriptionstringrequired
    • namestringrequired
    • versionstringrequired

console::compose::versions

Function

List registry versions, newest first, with their release channels: of a declared package container, or of a worker name on the default registry.

Request
  • containerstring

    A declared package container.

  • filestring

    Compose file on the daemon host; defaults to the daemon project.

  • namestring

    Or a worker name on the default registry, for one not declared yet.

Response
  • containerstringrequired
  • declaredstring

    The selector the compose file declares: an exact version or a channel.

  • referencestringrequired
  • versionsobject[]required

    Newest first, as the registry lists them.

    • created_atstring
    • tagsstring[]required

      Release channels pointing at this version, such as `latest` or `next`.

    • versionstringrequired

console::configuration-id

Function

Returns this worker instance's effective configuration entry ID, without its value.

Request
Empty object
Response
  • idstringrequired

console::conversations::discover

Function

Find selectable Codex or Claude Code histories on the ADE host.

Request
  • cursorstring
  • querystring
  • sourcestringrequiredenum codex, claude-code
Response
  • availablebooleanrequired
  • conversationsobject[]required
    • created_atinteger· int64required
    • cwdstring
    • idstringrequired
    • sourcestringrequiredenum codex, claude-code
    • titlestringrequired
    • updated_atinteger· int64required
  • directorystringrequired
  • next_cursorstring
  • sourcestringrequiredenum codex, claude-code
  • warningsstring[]required

console::conversations::import

Function

Create a new editable ADE conversation from a local history, commands included.

Request
  • idstringrequired
  • sourcestringrequiredenum codex, claude-code
Response
  • imported_commandsinteger· uintrequiredmin 0

    Tool calls that came across with their recorded results.

  • imported_messagesinteger· uintrequiredmin 0

    Every entry appended to the new session: turns, calls, and results.

  • session_idstringrequired
  • total_messagesinteger· uintrequiredmin 0

    User and assistant turns that carried text.

console::conversations::preview

Function

Preview a selected local conversation without importing or running it.

Request
  • idstringrequired
  • sourcestringrequiredenum codex, claude-code
Response
  • conversationobjectrequired
    • created_atinteger· int64required
    • cwdstring
    • idstringrequired
    • sourcestringrequiredenum codex, claude-code
    • titlestringrequired
    • updated_atinteger· int64required
  • messagesobject[]required
    • call_idstring

      On a `function_result`: the call it answers and the tool that ran.

    • callsobject[]required

      The calls an assistant turn made, in order; empty for every other role.

      • argumentsunknownrequired

        The recorded arguments, verbatim.

      • function_idstringrequired

        The source's own tool name (`Bash`, `Read`, `exec`, `apply_patch`, `server::tool`).

      • idstringrequired

        The source's own call identity; the matching result echoes it.

    • function_idstring
    • idstringrequired
    • is_errorbooleanrequired

      On a `function_result`: whether the source recorded the call as failed.

    • modelstring
    • native_stop_reasonstring
    • providerstring
    • rolestringrequired

      `user`, `assistant`, or `function_result`.

    • textstringrequired
    • timestampinteger· int64required
  • warningsstring[]required

console::mentions::trace::get

Function

Resolve a @trace(id=…) chat mention to its pill, preview card and agent summary; null for an unknown trace. Declares the trace mention provider.

Request
  • idstringrequired

    The id from the token.

Response
any of (2)
Variant 1
  • colorstring
  • dataunknown

    The domain object, for a worker's own preview renderer.

  • descriptionstring
  • fieldsobject[]

    Labelled values for the preview card (status, assignee, …).

    • labelstringrequired
    • tonestring

      `neutral`, `info`, `success`, `warning` or `danger`.

    • valuestringrequired
  • hintstring
  • iconstring
  • idstringrequired

    The canonical id (may differ from the one asked for, e.g. a key resolved to a uuid).

  • labelstringrequired
  • openany of

    What clicking the mention opens.

    any of (2)
    Variant 1
    any of (3)
    Variant 1
    • contextunknown
    • pagestringrequired

      Console page id (as registered with `host.pages`).

    Variant 2
    • sessionstringrequired

      Session id to select.

    Variant 3
    • urlstringrequired
    Variant 2
    valuenull
  • summarystring

    One line for an agent: what the item is and its state. Defaults to the label, hint, description and fields.

  • updated_atstring

    RFC 3339 time of the item's last change.

Variant 2
valuenull

console::mentions::trace::search

Function

Search recent engine traces for the chat @trace mention menu, by span name or trace id; newest first.

Request
  • contextany of

    Where the search was asked from, for providers that rank by it.

    any of (2)
    Variant 1
    • session_idstring
    • working_dirstring
    Variant 2
    valuenull
  • limitinteger· uintmin 0

    Maximum rows (default 8, at most 50).

  • querystring

    What the user typed after `@<name>:`. Empty asks for the most relevant recent items.

Response
  • itemsobject[]required
    • colorstring

      Overrides the provider's color for this row.

    • descriptionstring

      One line after the label ("in progress · high").

    • hintstring

      A short human handle shown before the label ("KAN-12").

    • iconstring

      Overrides the provider's icon for this row.

    • idstringrequired

      The id written into the token; stable for the item's lifetime.

    • labelstringrequired

      The item's name ("Fix login redirect").

console::on-config-change

Function

Internal: re-apply the ADE HTTP port, data directory and injectable-UI \ toggles when its configuration entry changes.

Request
Empty object
Response
  • okbooleanrequired

console::onboarding::get

Function

Read whether the ADE setup wizard was finished or dismissed on this machine, and whether it may open by itself here.

Request
Empty object
Response
  • auto_openbooleanrequired

    Whether the wizard may open by itself on this ADE: `false` when the configuration's `onboarding.auto_open` or `III_CONSOLE_ONBOARDING_AUTO_OPEN` says so, or when the configuration could not be read. Opening it from the command palette is never affected.

  • completed_atinteger· int64
  • statusall of
    all of (1)
    Variant 1
    one of (2)
    Variant 1
    valuestringenum dismissed, completed
    Variant 2
    valuestringenum new
  • summaryunknown

    What the wizard set up, for the summary it shows when reopened.

  • updated_atinteger· int64

    Milliseconds since the epoch of the last write; 0 when never written.

console::onboarding::prompts

Function

Read the project's onboarding.yaml for the ADE setup wizard: the example prompts its last step offers (each one's text, agent profile and model priority list) and the registry kits it installs in the background when it opens. Both lists are empty when the file is missing or invalid.

Request
Empty object
Response
  • kitsstring[]required

    Registry kits the wizard installs in the background when it opens (`<handle>/<name>`, optionally `@<version>`), in file order.

  • promptsobject[]required
    • agentstringrequired

      Agent profile id the new chat selects.

    • descriptionstring
    • modelsobject[]required

      Model priority list: the first one this machine has wins.

      • effortstring

        An ADE thinking level; absent keeps the chat's default.

      • modelstringrequired

        The model id, bare or as the provider lists it (`claude-code/claude-sonnet-5-5`).

      • providerstringrequired

        Router provider id (`claude-code`, `anthropic`).

    • promptstringrequired

      The text prefilled in the composer; the user sends it.

    • titlestringrequired

console::onboarding::scan

Function

Look for the Codex and Claude Code CLIs on the ADE host and whether each is signed in, for the setup wizard. Reports presence and paths only, never credentials.

Request
Empty object
Response
  • toolsobject[]required
    • binary_pathstring
    • credentials_pathstring

      Where that sign-in lives, `~`-abbreviated (`~/.codex/auth.json`, `macOS Keychain`). Set whenever the file exists, signed in or not.

    • idstringrequired

      `claude-code` or `codex`.

    • installedbooleanrequired

      The CLI was found on this host.

    • namestringrequired
    • provider_workerstringrequired

      Registry worker that serves models from this sign-in.

    • sign_in_notestring

      Why a credentials file that exists does not count as signed in.

    • signed_inbooleanrequired

      A sign-in the matching provider worker can use exists on this host.

    • versionstring

      First line of `<cli> --version`, when it answered in time.

console::onboarding::set

Function

Record that the ADE setup wizard was finished, dismissed, or reset.

Request
  • statusone ofrequired

    The wizard's lifecycle on this machine.

    one of (2)
    Variant 1
    valuestringenum dismissed, completed
    Variant 2
    valuestringenum new
  • summaryunknown

    Replaces the stored summary when present.

Response
  • completed_atinteger· int64
  • statusall of
    all of (1)
    Variant 1
    one of (2)
    Variant 1
    valuestringenum dismissed, completed
    Variant 2
    valuestringenum new
  • summaryunknown

    What the wizard set up, for the summary it shows when reopened.

  • updated_atinteger· int64

    Milliseconds since the epoch of the last write; 0 when never written.

console::status

Function

Where this project's ADE listens: url (the base URL to open from this machine, for example http://127.0.0.1:3113; a worker page is <url>/#/worker/<scope>/<page-id>), http_port, engine_url, and version. Read-only; use it instead of assuming port 3113.

Request
Empty object
Response
  • engine_urlstringrequired

    iii engine WebSocket URL the worker is proxying to.

  • http_portinteger· uint16requiredmin 0

    TCP port the worker is serving the UI and `/ws` on.

  • urlstringrequired

    Base URL to open the UI from this machine (e.g. `http://127.0.0.1:3113`), from the bound host and the live port.

  • versionstringrequired

    Worker version (matches `Cargo.toml`).

console::subscribe

Function

Add an email address to the iii product-update list.

Request
  • emailstringrequired
  • sourcestring

    Where the address was captured, reported with it. Defaults to `console`.

Response
  • subscribedbooleanrequired

console::ui-content

Function

Serve the console worker's injected console UI assets (content function for its console:script / console:style / console:module triggers).

Request
  • pathstringrequired

    The asset path from the trigger config (e.g. `state/page.js`).

Response
  • contentstringrequired

    The asset source, verbatim.

  • content_typestringrequired

    MIME type the console should serve the asset with.

console::ui-manifest

Function

List the injected console UI assets currently loadable: path, kind (script/style), content hash, and style-lint warnings.

Request
Empty object
Response
  • assetsobject[]required

    The loadable set: assets of per-worker-disabled workers are held but excluded here (and from tab syncs) until re-enabled.

    • hashstringrequired
    • kindstringrequiredenum script, style, module

      Short asset kind — trigger type ids are `console:*`, kinds stay `script`/`style`/`module` in push payloads and the manifest.

    • pathstringrequired
    • warningsstring[]required
    • workerstring

      Best-effort registrant attribution. Not resolved in this build — always `null` (the `<worker>/` path prefix is the human-readable attribution).

  • disabledbooleanrequired

    `true` when the `injectable_ui` kill switch is off — the trigger types are unregistered and `/ui` + `/vendor` are not served.

  • workersobject[]required

    Per-worker summary — includes disabled workers (their toggle state lives in the console configuration's `injectableUi.disabledWorkers`).

    • assetsinteger· uintrequiredmin 0

      Number of registered assets (served only while enabled).

    • enabledbooleanrequired

      `false` while the worker is in the console configuration's `injectableUi.disabledWorkers` list.

    • workerstringrequired

      Worker name — the first segment of its asset paths.

console::working-directory::inject-guidance

Function

Internal: append Console working-directory handoff guidance to Harness generations.

Request
  • generateobject
    • system_promptstring
    • toolsobject[]
      • namestringrequired
Response
  • mutationsobjectrequired
    • system_promptstring

console::working-directory::propose

Function

Propose switching the current session's working directory to a project created or cloned elsewhere; the console asks the user to confirm. Only when the user asked to continue there, never just to inspect a file.

Request
  • pathstringrequired

    Existing directory the user asked to continue working in.

  • reasonstring

    Short explanation shown with the confirmation.

  • session_idstring

    Authoritative Harness context. In-turn calls are stamped before dispatch.

  • turn_idstring

    Authoritative Harness turn. In-turn calls are stamped before dispatch.

Response
  • pathstringrequired
  • reasonstring
  • requires_confirmationbooleanrequired
  • session_idstringrequired

console::working-directory::stamp-session

Function

Internal: stamp the authoritative Harness session onto Console working-directory proposals.

Request
  • callany of
    any of (2)
    Variant 1
    • argumentsunknown
    Variant 2
    valuenull
  • session_idstring
  • turn_idstring
Response
any of (2)
Variant 1
  • decisionstringrequired
  • mutationsobjectrequired
    • argumentsunknownrequired
Variant 2
valuenull

console::workspace::close

Function

Remove a screen from the console workspace wherever it is shown. Pass `screen: chat` with `session_id` to close one pinned conversation panel. Idempotent: an unmounted screen returns an empty `tab_ids`.

Request
  • screenstringrequired
  • session_idstring

    With `screen: "chat"`, close only this conversation session panel.

Response
  • tab_idsstring[]required

    Tabs the screen was detached from; empty when it was not mounted.

console::workspace::get

Function

Internal: read the raw console workspace layout document the SPA renders (`<data_dir>/workspace.json`). Agents use `console::workspace::list`.

Request
Empty object
Response
  • pathstringrequired

    Where the document lives, for operators wondering what to delete.

  • valueunknownrequired

    The stored layout document verbatim (`tabs`, `activeTabId`, `activatedAt`, `activatedBy`, …); `{}` when nothing was saved yet.

console::workspace::list

Function

List the console workspace the human sees: every tab with its columns, screens and column widths, plus which tab is active. Screens are `chat`, `chat:<session-id>`, `traces`, `workers`, or `ext:<page>` for worker pages. Read this before passing `sizes` to `open`, so the widths you send are relative to the layout that is actually up.

Request
Empty object
Response
  • active_tab_idstringrequired
  • tabsobject[]required
    • activebooleanrequired
    • columnsinteger· uintrequiredmin 0
    • idstringrequired
    • namestring
    • screensstring[]required

      One entry per column; `null` is an empty column.

    • sizesnumber[]· doublerequired

      One fraction per column, summing to 1. Equal widths when the stored layout has none, or has a list that does not match the column count — the same normalization the browser renders from.

console::workspace::open

Function

Show a screen in the console workspace next to the conversation (reusing the tab that already shows it) and switch every open console to that tab. Screens: `ext:ide` (files), `ext:browser`, `ext:editor`, `workers`, or `{"screen":"chat","session_id":"<id>"}` for a pinned chat. It lands right of the chat panel unless `relative_to` names another screen, which is found in whichever tab shows it; `direction` picks the side (`right` or `left`).

Request
  • activateboolean

    Make the tab holding the screen the active one in every connected browser (default true), even when it already was the active tab.

  • directionany of

    Which side of `relative_to` to land on: `right` (default) or `left`.

    any of (2)
    Variant 1
    valuestringenum right, left
    Variant 2
    valuenull
  • placementany of

    `auto` (default) reuses a tab already showing the screen; `new-tab` always opens a fresh one. Pair `new-tab` with `activate: false` to put a screen aside without moving the operator off the tab they are on.

    any of (2)
    Variant 1
    one of (2)
    Variant 1
    valuestringenum auto
    Variant 2
    valuestringenum new-tab
    Variant 2
    valuenull
  • relative_tostring

    The screen the new column lands next to, in the same vocabulary as `screen`. Defaults to `chat`, which matches whichever chat panel the active tab shows. A named screen is looked for in every tab, the active one first, and the column lands in the tab showing it. A screen that is not mounted anywhere puts the column at the end of the active tab.

  • screenstringrequired

    `chat`, `traces`, `workers`, or `ext:<page-id>` for a worker page.

  • session_idstring

    With `screen: "chat"`, pin the panel to this conversation session.

  • sizesnumber[]· double

    Column widths for the tab AFTER this call — one positive number per column, normalized by their sum. Applied in the same write that places the screen, so there is no window for another writer in between. Omit to let the console share the widths out.

Response
  • activatedbooleanrequired
  • columninteger· uintrequiredmin 0
  • placementone ofrequired
    one of (4)
    Variant 1
    valuestringenum existing
    Variant 2
    valuestringenum empty_column
    Variant 3
    valuestringenum new_column
    Variant 4
    valuestringenum new_tab
  • screensstring[]required
  • sizesnumber[]· doublerequired

    The tab's column widths as stored, whether they came from `sizes` or from the console sharing them out.

  • tab_idstringrequired

console::workspace::set

Function

Internal: replace the raw console workspace layout document wholesale (the SPA's read-modify-write path; `expected_revision` refuses a stale copy with WORKSPACE_CONFLICT). Agents use `console::workspace::open` and `close`.

Request
  • expected_revisioninteger· uint64min 0

    The `revision` of the document `value` was computed from. When the stored layout has moved past it, nothing is written and the call fails `WORKSPACE_CONFLICT`: re-read and apply the change again. Omitted, the write is unconditional.

  • valueunknownrequired

    The whole layout document; replaces what is stored.

Response
  • okbooleanrequired

Triggers6

console::compose::changed

Trigger

Fires when the compose daemon writes state.json or the compose file changes. Bind with an empty config.

Invocation
Empty object
Return
  • captured_atinteger· uint64requiredmin 0
  • filestringrequired
  • kindstringrequiredenum state, file
  • namespacestringrequired
  • pathstringrequired
  • state_dirstringrequired

console::workspace::changed

Trigger

Fires after every change to the console workspace layout: open, close, or a browser's own edit, and once when a binding registers. Bind with an empty config. The event is empty; re-read the layout with console::workspace::list.

Invocation
Empty object
Return
Empty object

console:assets

Trigger

A console tab's live-update subscription. The trigger's function_id is the per-tab handler the console pushes sync/set/delete asset events to.

Invocation
Empty object
Return
valueunknown

console:module

Trigger

An ESM JavaScript module the console serves but never imports at mount; pages load it on demand with host.importModule(path). Same contract as console:script with a .js path.

Invocation
  • pathstringrequired

    Asset identity. Convention: `<worker>/<name>.<ext>`. Re-registering a path overrides it.

Return
valueunknown

console:script

Trigger

An ESM JavaScript asset injected into the console UI. `config.path` is the asset identity (re-registering a path overrides it); the trigger's function_id is the content function the console fetches source from.

Invocation
  • pathstringrequired

    Asset identity. Convention: `<worker>/<name>.<ext>`. Re-registering a path overrides it.

Return
valueunknown

console:style

Trigger

A CSS asset injected into the console UI. Same contract as console:script with a .css path.

Invocation
  • pathstringrequired

    Asset identity. Convention: `<worker>/<name>.<ext>`. Re-registering a path overrides it.

Return
valueunknown

Search the registry

Find workers, kits and executables, or jump to a page.