Skip to content
Registry

ade

(alias: console)v1.9.57

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@1.9.57

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

Functions22

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::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

List the example prompts the project's onboarding.yaml declares for the last step of the ADE setup wizard: each one's text, agent profile and model priority list. Empty when the file is missing or invalid.

Request
Empty object
Response
  • 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

Return the console worker's runtime knobs: http_port, engine_url, and version.

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.

  • 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-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.