console::on-config-change
Internal: re-apply the ADE HTTP port and injectable-UI toggles when its configuration entry changes.
- okbooleanrequired
Web console for iii — bundles the React UI and proxies the engine WebSocket on a single port.
exact versions are immutable; binary and bundle artifacts are digest-pinned.
Internal: re-apply the ADE HTTP port and injectable-UI toggles when its configuration entry changes.
Return the console worker's runtime knobs: http_port, engine_url, and version.
iii engine WebSocket URL the worker is proxying to.
TCP port the worker is serving the UI and `/ws` on.
Worker version (matches `Cargo.toml`).
Serve the console worker's injected console UI assets (content function for its console:script / console:style triggers).
The asset path from the trigger config (e.g. `state/page.js`).
The asset source, verbatim.
MIME type the console should serve the asset with.
List the injected console UI assets currently loadable: path, kind (script/style), content hash, and style-lint warnings.
The loadable set: assets of per-worker-disabled workers are held but excluded here (and from tab syncs) until re-enabled.
Short asset kind — trigger type ids are `console:*`, kinds stay `script`/`style` in push payloads and the manifest.
Best-effort registrant attribution. Not resolved in this build — always `null` (the `<worker>/` path prefix is the human-readable attribution).
`true` when the `injectable_ui` kill switch is off — the trigger types are unregistered and `/ui` + `/vendor` are not served.
Per-worker summary — includes disabled workers (their toggle state lives in the console configuration's `injectableUi.disabledWorkers`).
Number of registered assets (served only while enabled).
`false` while the worker is in the console configuration's `injectableUi.disabledWorkers` list.
Worker name — the first segment of its asset paths.
Internal: append Console working-directory handoff guidance to Harness generations.
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.
Existing directory the user asked to continue working in.
Short explanation shown with the confirmation.
Authoritative Harness context. In-turn calls are stamped before dispatch.
Authoritative Harness turn. In-turn calls are stamped before dispatch.
Internal: stamp the authoritative Harness session onto Console working-directory proposals.
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`.
With `screen: "chat"`, close only this conversation session panel.
Tabs the screen was detached from; empty when it was not mounted.
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.
One entry per column; `null` is an empty column.
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.
Show a screen in the console workspace next to the conversation (reusing the tab that already shows it). Screens: `ext:shell` (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`).
Make the tab holding the screen the active one (default true).
Which side of `relative_to` to land on: `right` (default) or `left`.
`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.
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.
`chat`, `traces`, `workers`, or `ext:<page-id>` for a worker page.
With `screen: "chat"`, pin the panel to this conversation session.
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.
The tab's column widths as stored, whether they came from `sizes` or from the console sharing them out.
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.
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.
Asset identity. Convention: `<worker>/<name>.<ext>`. Re-registering a path overrides it.
A CSS asset injected into the console UI. Same contract as console:script with a .css path.
Asset identity. Convention: `<worker>/<name>.<ext>`. Re-registering a path overrides it.