iii / worker
$worker

harness

v0.5.5

Meta-worker that composes the modular Node workers backing the iii chat surface.

functions

90

approval::add_always_allow

function

Append a function id to the per-session always-allow list (idempotent).

request
valueunknown
response
valueunknown

approval::approve_always

function

Remember an "approve always" decision for this session — the function id stops prompting in every mode. Idempotent.

request
valueunknown
response
valueunknown

approval::clear_settings

function

Clear the per-session approval settings on conversation deletion.

request
valueunknown
response
valueunknown

approval::get_settings

function

Read the per-session approval settings; returns defaults when none persisted.

request
valueunknown
response
valueunknown

approval::on_harness_config

function
request
valueunknown
response
valueunknown

approval::remove_always_allow

function

Remove a function id from the per-session always-allow list.

request
valueunknown
response
valueunknown

approval::resolve

function

Flip an approval to allow or deny. Persists the decision to the approvals scope to wake the parked turn.

request
valueunknown
response
valueunknown

approval::set_mode

function

Set the permission mode (manual | auto | full) for a session.

request
valueunknown
response
valueunknown

budget::alert_set

function

Add an alert to a budget.

request
valueunknown
response
valueunknown

budget::check

function

Check whether a budget allows an estimated spend.

request
valueunknown
response
valueunknown

budget::create

function

Create a budget with ceiling + period.

request
valueunknown
response
valueunknown

budget::delete

function

Delete a budget.

request
valueunknown
response
valueunknown

budget::enforce

function

Toggle enforcement on a budget.

request
valueunknown
response
valueunknown

budget::exempt

function

Add a 24h exemption for a principal.

request
valueunknown
response
valueunknown

budget::forecast

function

Project spend through period end.

request
valueunknown
response
valueunknown

budget::get

function

Fetch a budget by id.

request
valueunknown
response
valueunknown

budget::list

function

List budgets, newest first.

request
valueunknown
response
valueunknown

budget::pause

function

Pause or resume a budget.

request
valueunknown
response
valueunknown

budget::record

function

Record a spend, fire matching alerts.

request
valueunknown
response
valueunknown

budget::reset

function

Reset spent_usd, archive prior period.

request
valueunknown
response
valueunknown

budget::update

function

Update a whitelisted set of budget fields.

request
valueunknown
response
valueunknown

budget::usage

function

Aggregate spend over a window.

request
valueunknown
response
valueunknown

context-compaction::compact_now

function

Sync pre-turn compaction triggered by turn-orchestrator when a turn would overflow. Performs prune+summarise+reinject+continue.

request
valueunknown
response
valueunknown

context-compaction::compact_session

function

User-initiated synchronous compaction of a session. Required: session_id. Optional: model { id, providerID, limit? } to skip auto-resolution. If model is omitted, falls back to (1) most recent assistant message in session-tree, (2) orchestrator run_request.

request
valueunknown
response
valueunknown

context-compaction::on_agent_event

function

Internal: subscribes to agent::turn_end; triggers async compaction on TurnEnd when running tokens exceed usable(model).

request
valueunknown
response
valueunknown

context-compaction::prune_tool_outputs

function

Prune older tool outputs without summarisation (cheap path).

request
valueunknown
response
valueunknown

harness::fanout::agent_event_handler

function

Internal: agent::events fanout handler.

request
valueunknown
response
valueunknown

harness::fanout::models_changed

function

Internal: coalesces models-scope state changes into ui::models::changed::<browser_id> pushes.

request
valueunknown
response
valueunknown

harness::fanout::session_created

function

Internal: fans out a newly-created session id to ui::sessions::changed::<browser_id>.

request
valueunknown
response
valueunknown

harness::fs::read_inline

function

Read a host file via shell::fs::read, drain its channel, and return a {content:[{text}], details:{size, truncated, bytes_read}} envelope (max 256 KiB inline by default).

request
valueunknown
response
valueunknown

harness::provider::list

function

List providers declared to the harness.

request
valueunknown
response
valueunknown

harness::provider::register

function

Self-declare an LLM provider (id, config schema, defaults) into the dynamic harness configuration schema.

request
valueunknown
response
valueunknown

harness::provider::resolve

function

Resolve a provider credential + settings (api_url, max_tokens) from the harness configuration. Server-side only.

request
valueunknown
response
valueunknown

harness::providers::refresh_on_config

function
request
valueunknown
response
valueunknown

harness::trigger

function

Browser kickoff: forward payload to run::start. Used by console/web over the iii-browser-sdk.

request
valueunknown
response
valueunknown

hook-fanout::publish_collect

function

Publish a topic, collect subscriber replies until timeout, apply merge_rule.

request
valueunknown
response
valueunknown

hook-fanout::reply_handler

function

Internal: routes agent::hook_reply stream events to pending publish_collect calls.

request
valueunknown
response
valueunknown

models::get

function

Look up a single model by (provider, model_id). Returns null when no provider has registered it.

request
valueunknown
response
valueunknown

models::list

function

List models, optionally filtered by provider or capability. Returns only models registered by providers (no embedded seed).

request
valueunknown
response
valueunknown

models::reconcile

function

Replace the catalog for <provider> with a single Model[] value under scope models (one state write).

request
valueunknown
response
valueunknown

models::supports

function

Check whether a provider-registered model supports a capability (false when unknown).

request
valueunknown
response
valueunknown

policy::check_permissions

function

Check a function call against iii-permissions.yaml; returns allow, deny, or needs_approval.

request
valueunknown
response
valueunknown

provider::anthropic::complete

function

Legacy: drain a streamed Anthropic completion and return the final AssistantMessage.

request
valueunknown
response
valueunknown

provider::anthropic::refresh_models

function

Re-pull the Anthropic model list (GET /v1/models) and register each into the iii models catalog. Idempotent.

request
valueunknown
response
valueunknown

provider::anthropic::stream

function

Stream a single assistant turn from Anthropic into the caller-supplied channel. Each AssistantMessageEvent is sent as a JSON text message; the terminal event is Done or Error followed by close.

request
valueunknown
response
valueunknown

provider::kimi::complete

function

Legacy: drain a streamed Kimi chat-completion and return the final AssistantMessage.

request
valueunknown
response
valueunknown

provider::kimi::refresh_models

function

Re-pull the Kimi (Moonshot) model list (GET /v1/models) and register each into the iii models catalog. Idempotent.

request
valueunknown
response
valueunknown

provider::kimi::stream

function

Stream a single assistant turn from Kimi (Moonshot) Chat Completions into the caller-supplied channel.

request
valueunknown
response
valueunknown

provider::llamacpp::complete

function

Legacy: drain a streamed llama-server chat-completion and return the final AssistantMessage.

request
valueunknown
response
valueunknown

provider::llamacpp::refresh_models

function

Re-discover the loaded llama-server model and register it into the iii models catalog. Idempotent.

request
valueunknown
response
valueunknown

provider::llamacpp::stream

function

Stream a single assistant turn from a local llama-server Chat Completions server into the caller-supplied channel.

request
valueunknown
response
valueunknown

provider::lmstudio::complete

function

Legacy: drain a streamed LM Studio chat-completion and return the final AssistantMessage.

request
valueunknown
response
valueunknown

provider::lmstudio::load_model

function

Load an LM Studio model into memory via POST /api/v1/models/load. Blocks until ready (up to 120s).

request
valueunknown
response
valueunknown

provider::lmstudio::refresh_models

function

Re-discover loaded LM Studio models and register each into the iii models catalog. Idempotent.

request
valueunknown
response
valueunknown

provider::lmstudio::stream

function

Stream a single assistant turn from a local LM Studio Chat Completions server into the caller-supplied channel.

request
valueunknown
response
valueunknown

provider::lmstudio::unload_model

function

Unload an LM Studio model instance via POST /api/v1/models/unload.

request
valueunknown
response
valueunknown

provider::openai::complete

function

Legacy: drain a streamed OpenAI chat-completion and return the final AssistantMessage.

request
valueunknown
response
valueunknown

provider::openai::refresh_models

function

Re-pull the OpenAI model list (GET /v1/models) and register the chat-capable subset into the iii models catalog. Idempotent.

request
valueunknown
response
valueunknown

provider::openai::stream

function

Stream a single assistant turn from OpenAI Chat Completions into the caller-supplied channel.

request
valueunknown
response
valueunknown

run::start

function

Start a durable agent session and return immediately.

request
valueunknown
response
valueunknown

session-inbox::drain

function

Atomically read and clear all items in a session-scoped inbox.

request
valueunknown
response
valueunknown

session-inbox::peek

function

Read all items in a session-scoped inbox without mutating.

request
valueunknown
response
valueunknown

session-inbox::push

function

Append an item to a session-scoped inbox.

request
valueunknown
response
valueunknown

session-tree::append

function

Append an AgentMessage entry to a session

request
valueunknown
response
valueunknown

session-tree::append_synthetic

function

Append a synthetic user-role message entry to a session

request
valueunknown
response
valueunknown

session-tree::clone

function

Duplicate a session with re-mapped ids

request
valueunknown
response
valueunknown

session-tree::compact

function

Append a Compaction entry summarising the active path

request
valueunknown
response
valueunknown

session-tree::compactions

function

Return all compaction entries for a session, sorted by timestamp ascending

request
valueunknown
response
valueunknown

session-tree::create

function

Create a new empty session record

request
valueunknown
response
valueunknown

session-tree::ensure

function

Idempotently ensure a session exists with the given id

request
valueunknown
response
valueunknown

session-tree::export_html

function

Render the active path as a self-contained HTML document

request
valueunknown
response
valueunknown

session-tree::fork

function

Fork a session at a given entry into a new session id

request
valueunknown
response
valueunknown

session-tree::list

function

List sessions with optional pagination and ordering

request
valueunknown
response
valueunknown

session-tree::messages

function

Load every AgentMessage on the active path of a session, paired with its entry_id, oldest first

request
valueunknown
response
valueunknown

session-tree::reconcile

function

Mirror missing messages from a state-snapshot into session-tree

request
valueunknown
response
valueunknown

session-tree::tree

function

Return the session tree as a nested TreeNode

request
valueunknown
response
valueunknown

session-tree::update_part

function

Replace content of a function_result message entry with compacted output

request
valueunknown
response
valueunknown

session-tree::update_parts

function

Batch replace content of multiple function_result message entries. Loads entries once.

request
valueunknown
response
valueunknown

turn::assistant_streaming

function

Run one durable FSM transition for session in state assistant_streaming: start turn, stream provider response, finalize, and route onward.

request
valueunknown
response
valueunknown

turn::function_awaiting_approval

function

Run one durable FSM transition for session in state function_awaiting_approval: execute each call as its approval decision arrives.

request
valueunknown
response
valueunknown

turn::function_execute

function

Run one durable FSM transition for session in state function_execute: dispatch prepared calls and finalize results.

request
valueunknown
response
valueunknown

turn::get_state

function

Read the current turn_state record for a session. Returns null if the session is unknown. UI clients use this on page reload to recover any in-progress modals (e.g. function_awaiting_approval) without reading iii state directly.

request
valueunknown
response
valueunknown

turn::on_approval

function

State trigger on scope=approvals; enqueues turn::function_awaiting_approval when a decision is written.

request
valueunknown
response
valueunknown

turn::provisioning

function

Run one durable FSM transition for session in state provisioning: build the system prompt, attach the agent_trigger function schema, advance to assistant_streaming.

request
valueunknown
response
valueunknown

turn::steering_check

function

Run one durable FSM transition for session in state steering_check: drain inboxes and route onward.

request
valueunknown
response
valueunknown

ui::models::subscribe

function

Register a browser's interest in model-catalog changes (ui::models::changed pushes).

request
valueunknown
response
valueunknown

ui::models::unsubscribe

function

Remove a browser's model-catalog change subscription.

request
valueunknown
response
valueunknown

ui::subscribe

function

Register a browser's interest in a session (or all sessions if session_id is null).

request
valueunknown
response
valueunknown

ui::unsubscribe

function

Remove a browser's subscription to a session (or its all-sessions sub if session_id is null).

request
valueunknown
response
valueunknown

web::fetch

function

Fetch a URL over HTTP(S) and return the response as a structured envelope. Use this INSTEAD of `shell::exec` with curl for any HTTP request — it returns {ok, status, headers, body} as JSON, enforces size/timeout caps, and blocks private / cloud-metadata / link-local addresses server-side (SSRF guard; loopback is allowed by default for harness dev workflows). For JSON: pass `json: {...}` (auto-stringifies + sets content-type) and `response_format: "json"` (auto-parses response into the `json` field). Method is case-insensitive. On failure returns `{ok:false, error, message}` where `error` is one of: invalid_payload, invalid_url, blocked_host, timeout, too_many_redirects, transport_error. Branch on `error`, not on text.

request
valueunknown
response
valueunknown

triggers

0
no triggers registered