Skip to content

v1.9.8

Choose a tag to compare

@pacepace pacepace released this 23 Oct 03:50
· 9 commits to develop since this release
b99bc87

Added

  • See what a busy agent is doing. session_status reports these while the agent works:

    • started_by: prompt, background_task, session_message or system;
    • turn_started_at;
    • last_activity: the newest step.

    A busy session_send and session_interrupt carry the same fields, so a caller can decide to queue, join or interrupt in one call.

  • session_send(deliver: "join") takes a prompt into the turn in flight, returning status: "joined_turn"; the answer comes in that turn's final reply.

    • The default, "queue", is unchanged.
    • A join never jumps the queue, and holds off whenever a paste would be unsafe, giving the reason in join_declined.
  • Headless runs are visible and stoppable. session_status.headless_runs lists them, and session_interrupt(target: "headless") stops one with every process it started.

Changed

  • One headless run per session at a time. A second session_invoke or session_invoke_async gets invoke_busy, naming the run in progress.
  • The tool descriptions say plainly which tool to use. session_invoke is for short, single-shot questions. Anything long, that edits files or that runs builds or tests goes to session_send.

Fixed

  • session_invoke really is fresh now. Before, headless runs resumed the project's conversation.
  • Abandoned invokes are stopped inside the container on cancel, session close or a dropped connection. Before, only the host's docker exec died.
  • A headless run's answer is no longer delivered as the session's reply.
  • working_on names the right turn when a background task or another session started it.
  • A queued prompt no longer lands in a turn that has only just started.

Upgrading

Run brew upgrade aidc or aidc update. Then run aidc rebuild, and restart the server with aidc mcp stop && aidc mcp start. Existing sessions get fresh headless runs without an upgrade, because the MCP asks for it explicitly. aidc upgrade <session> updates the in-image wrapper too.

Full details are in the CHANGELOG.