skip to content
$worker

ade

(alias: console)v1.9.35

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

iiiverified
1,075 installs0 in 7d0 today
install
$iii trigger compose::add worker=ade@1.9.35
binarylicense: Apache-2.0adeadminconsoledashboarduiweb
  • macOS: arm64 · x64
  • Linux: arm64 · armv7 · x64
  • Windows: arm64 · x64

exact versions are immutable; binary and bundle artifacts are digest-pinned.

functions

10

console::on-config-change

function

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

request
empty object
response
  • okbooleanrequired

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

function

Serve the console worker's injected console UI assets (content function for its console:script / console:style 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

      Short asset kind — trigger type ids are `console:*`, kinds stay `script`/`style` 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::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). 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 mounted screen, and `direction` picks the side (`right` or `left`).

request
  • activateboolean

    Make the tab holding the screen the active one (default true).

  • 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 is mounted. A screen that is not mounted puts the column at the end.

  • 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

triggers

3

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