Skip to content

v0.17.0 — helpers you can see, and messages into a running turn

Choose a tag to compare

@jfbauer jfbauer released this 26 Sep 10:34
· 33 commits to main since this release
02658a4

Two things a server can now show while a turn runs: which helper did what, and a message delivered into a turn that is still going.

Helper visibility (#39)

  • parent_tool_use_id on block_start and tool_result: a helper's (sub-agent's) text, thinking, tool calls and results name the Agent call that spawned it, so a server can group them under it. Absent for the main assistant.
  • New stream event task: started, progress, heartbeat, updated, finished for each helper or background shell task, with description, what it is doing now, usage and elapsed time. done, a stream error or cancelled ends every task of the request.
  • done.subagent_stats, the CLI's own summary, passed through.

Turn input (#40)

  • Opt in per turn with ai_request.options.accepts_input: true; the ack says input_open: true when the turn takes messages. Advertised as turn_input: true in hello.
  • turn_input / turn_input_ack; the stream says user_input when the CLI read a message and main_state (working / idle) as the assistant works.
  • Unread messages come back in cancelled.pending_inputs, done.pending_inputs and, after a reconnect, bridge_disconnected.pending_inputs. A refusal while the old CLI is still stopping is turn_ending: hold until the request ends before starting another.
  • A failed input turn is reported like any other (session_lost with usage, not a bare provider_error).

All additive: older servers ignore the new events and never opt in. Verified end to end against a live Engram.

Full details: #39, #40.