skip to content
$worker

console

v1.9.15-rc.3

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

iiiverified
1,072 installs35 in 7d3 today
install
$iii trigger compose::add worker=console@1.9.15-rc.3

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

functions

10

console::on-config-change

function

Internal: re-apply the Console 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 changing the current Harness session's working directory after creating or cloning a project elsewhere. The path is validated, then Console asks the user to confirm before the chat and paired Shell switch together. Call this when the user explicitly asked to continue in the new directory; never use it merely 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 and screens, plus which tab is active. Screens are `chat`, `chat:<session-id>`, `traces`, `workers`, or `ext:<page>` for worker pages.

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.

console::workspace::open

function

Show a screen to the human in the console workspace, next to the conversation. Reuses the tab that already shows it, else places it beside chat in the active tab, else opens a new tab. Every browser on this engine updates. Use `{"screen":"chat","session_id":"<id>"}` to open a chat panel pinned to one conversation. Use `ext:shell` for the file explorer, `ext:browser` for browser sessions, `ext:editor` for the editor, `workers` for the worker catalog.

request
  • activateboolean

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

  • screenstringrequired

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

  • session_idstring

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

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