Check which providers a pi terminal on this host can use. Reports the credential kind, a subscription login or an API key, read from `pi auth check`; never returns the credential itself.
billingstring*requiredenum: subscription, api-key, none, unknown
providersobject[]
kindstringenum: , subscription, api-key
Queue a follow-up message for a live Pi run; processed after the agent would otherwise stop.
promptstring*required
Instruction to inject into the live run
session_idstring*required
iii session id of a live run
session_idstring*required
pi::on-config-change
functionInternal: reload pi configuration when it changes.
Run one Pi coding-agent turn and wait for the result. Accepts `prompt` or a `messages` array; publishes raw Pi events on the pi::raw-event trigger type and AgentEvent frames on pi::agent-event (bind with { session_id }), and returns {session_id, result, usage, total_cost_usd}.
cwdstring
Working directory the turn runs in
iii_contextboolean
Prepend the iii runtime discovery context (engine catalog via the iii CLI)
messagesobject[]
Alternative to prompt: role/content messages; the last user entry becomes the prompt
modelstring
Model as "provider/modelId"; empty = Pi settings default
parent_session_idstring
The session delegating this run. Written to the child session metadata, which is what nests it under its parent in the console — the same link a harness sub-agent carries.
promptstring
The user prompt for this turn
session_idstring
iii session id; reuse to resume the same Pi conversation
thinking_levelstringenum: off, minimal, low, medium, high, xhigh
Reasoning depth for this turn
timeout_msintegermax 9007199254740991
Reserved for callers; not forwarded
toolsstring[]
Tool allowlist; empty = Pi defaults (read, bash, edit, write)
session_idstring*required
usageany of
any of (2)
variant 1
input_tokensnumber*required
output_tokensnumber*required
pi::sessions::list
functionList every Pi session this worker has run.
sessionsobject[]*required
pi_session_idany of*required
session_fileany of*required
session_idstring*required
statusstring*requiredenum: working, done, error
total_cost_usdnumber*required
updated_at_msnumber*required
usageany of*required
any of (2)
variant 1
input_tokensnumber*required
output_tokensnumber*required
Start a Pi turn and return immediately; bind pi::agent-event with { session_id } for progress and turn_end.
cwdstring
Working directory the turn runs in
iii_contextboolean
Prepend the iii runtime discovery context (engine catalog via the iii CLI)
messagesobject[]
Alternative to prompt: role/content messages; the last user entry becomes the prompt
modelstring
Model as "provider/modelId"; empty = Pi settings default
parent_session_idstring
The session delegating this run. Written to the child session metadata, which is what nests it under its parent in the console — the same link a harness sub-agent carries.
promptstring
The user prompt for this turn
session_idstring
iii session id; reuse to resume the same Pi conversation
thinking_levelstringenum: off, minimal, low, medium, high, xhigh
Reasoning depth for this turn
timeout_msintegermax 9007199254740991
Reserved for callers; not forwarded
toolsstring[]
Tool allowlist; empty = Pi defaults (read, bash, edit, write)
session_idstring*required
Check the status of a Pi session.
session_idstring*required
iii session id returned by pi::run / pi::start
recordany of*required
any of (2)
variant 1
pi_session_idany of*required
… expand 2 nestedcollapse
session_fileany of*required
… expand 2 nestedcollapse
session_idstring*required
statusstring*requiredenum: working, done, error
total_cost_usdnumber*required
updated_at_msnumber*required
usageany of*required
… expand 2 nestedcollapse
any of (2)
variant 1
input_tokensnumber*required
output_tokensnumber*required
session_idstring*required
Inject a steering instruction into a live Pi run; applied after the current tool calls finish.
promptstring*required
Instruction to inject into the live run
session_idstring*required
iii session id of a live run
session_idstring*required
Stop a live Pi run for a session.
session_idstring*required
iii session id returned by pi::run / pi::start
session_idstring*required
Delegate one task to Pi and return its session id immediately — the sub-agent shape: it never parks the caller. The outcome is written to state under scope `agent_tasks`, key the child session id, so bind a `state` trigger on that BEFORE calling and be woken by it; progress arrives on pi::agent-event (bind with { session_id }). Pass `parent_session_id` to nest the child under the session that delegated it.
cwdstring
Working directory the turn runs in
iii_contextboolean
Prepend the iii runtime discovery context (engine catalog via the iii CLI)
modelstring
Model as "provider/modelId"; empty = Pi settings default
parent_session_idstring
The session delegating this run. Written to the child session metadata, which is what nests it under its parent in the console — the same link a harness sub-agent carries.
session_idstring
iii session id; reuse to resume the same Pi conversation
taskstring*requiredmin 1 chars
The child's self-contained goal. It cannot see the caller's context, so name every resource it needs.
thinking_levelstringenum: off, minimal, low, medium, high, xhigh
Reasoning depth for this turn
timeout_msintegermax 9007199254740991
Reserved for callers; not forwarded
toolsstring[]
Tool allowlist; empty = Pi defaults (read, bash, edit, write)
session_idstring*required
pi::terminal::activity
functionA pi lifecycle event from a terminal session (session_start, agent_start, tool_start, tool_end, agent_end, session_end), posted by the workspace extension. Translated into AgentEvent frames on the pi::agent-event feed.
pi::terminal::describe
functionWhat a Pi terminal session runs: the pi binary, its argv, the workspace directory, and the session environment. The console page passes this straight to shell::pty::open.
activity_bridgestring
The `iii` CLI on the terminal host that carries this session's activity to the bus. Empty means nothing will reach the pi::agent-event feed.
detailstring
Anything wrong that does not stop a session from opening.
Console UI asset content (console plumbing).
run::start_and_wait
functionAlias for pi::run under the shared agent entrypoint: run a turn for {session_id, messages} and return when it ends.
cwdstring
Working directory the turn runs in
iii_contextboolean
Prepend the iii runtime discovery context (engine catalog via the iii CLI)
messagesobject[]
Alternative to prompt: role/content messages; the last user entry becomes the prompt
modelstring
Model as "provider/modelId"; empty = Pi settings default
parent_session_idstring
The session delegating this run. Written to the child session metadata, which is what nests it under its parent in the console — the same link a harness sub-agent carries.
promptstring
The user prompt for this turn
session_idstring
iii session id; reuse to resume the same Pi conversation
thinking_levelstringenum: off, minimal, low, medium, high, xhigh
Reasoning depth for this turn
timeout_msintegermax 9007199254740991
Reserved for callers; not forwarded
toolsstring[]
Tool allowlist; empty = Pi defaults (read, bash, edit, write)
session_idstring*required
usageany of
any of (2)
variant 1
input_tokensnumber*required
output_tokensnumber*required