github nicobailon/pi-subagents v0.79.1

4 hours ago

pi-subagents 0.79.1 makes everyday sessions lighter and a few rough spots less fragile. Until you turn on subagent, a session no longer sends two background-work tools with every request, which saves about 1,500 characters per request. Apps that embed Pi, such as pi-web, now launch children with their own Pi instead of a copy bundled with the extension. When a workflow's main process dies, children that already finished keep their real results.

Highlights

  • Leaner requests until you delegate. A session that hasn't turned on subagent no longer sends the bg_wait and subagent_supervisor tool definitions. Sessions that already had them keep them, so upgrading doesn't break their prompt cache.
  • Embedded hosts use their own Pi. Children launched from apps like pi-web use the app's Pi install first. A broken install fails the launch with the reason, and doctor and status keep working.
  • Finished workflow children keep their results. If a workflow's main process dies, children that already completed, failed, stopped or partially finished keep that result instead of all being marked failed.
  • Every workflow lane shows its model. The async widget, FleetView and status now show each background workflow child's model and thinking level.
  • Quiet start on read-only installs. No more "permission denied" upgrade-notice error on every Pi start.

Full changelog

Highlights

  • Leaner requests until you delegate. A session that hasn't turned on subagent no longer sends the bg_wait and subagent_supervisor tool definitions, about 1,500 characters on every request.
  • Apps that embed Pi, such as pi-web, now launch children with their own Pi install instead of the copy that came with pi-subagents.
  • A workflow whose main process died keeps the results of children that had already finished, instead of marking them all failed.
  • Workflow child lanes in the widget, FleetView and status now show each child's model.
  • Read-only installs start without a "permission denied" error.

Changed

  • A session that hasn't delegated anything no longer sends subagent_supervisor with every request, saving about 420 characters each time. It turns on with subagent, or when a child's question reaches a session that doesn't have it yet, for example from a scheduled run. Thanks to @armchairfuturist-code for reporting #2936.
  • A session that hasn't delegated anything no longer sends bg_wait with every request, saving about 1,100 characters each time. It turns on with subagent (after subagents_enable), or once another extension registers background work for it to wait on. Sessions that already had bg_wait or subagent_supervisor keep them, so upgrading doesn't change their tools or break their prompt cache. Thanks to @armchairfuturist-code for reporting #2935.

Fixed

  • When pi-subagents ran inside an app that embeds Pi, children could start with the Pi copy installed next to pi-subagents instead of the app's own. Children now use the app's Pi first. PI_SUBAGENTS_PI_CODING_AGENT_PACKAGE_ROOT still takes priority, including when Pi is started through node_modules/.bin/pi. If the chosen Pi install is broken, launching a child fails and says why, while doctor and status keep working. Thanks to @CompN3rd for #2947.
  • When a workflow's main process died, every child still listed as running was marked failed, even one that had already finished on its own. A background child that already recorded its result (complete, failed, stopped, partial or rejected) now keeps it. Children that hadn't finished, or whose status can't be read, are still marked failed. Thanks to @isjiajia01 for #2940 (#2938).
  • A background workflow child showed no model on its lane in the async widget, FleetView or status. Lanes now show the model and thinking level the child reports. Thanks to @bottfish for #2941.
  • Attention notices for a child's bash call could name &1; as the file being written, because 2>&1 was read as a file. The notice now names the first real file the command writes, and names none when the command only redirects to another output or /dev/null. (#2943)
  • In a read-only install, every Pi start logged "Failed to show the pi-subagents upgrade notice: ... permission denied", because the upgrade notice couldn't save which version it last showed. It now skips the notice quietly in that case. Thanks to @jakubsuchy for reporting #2949.

Don't miss a new pi-subagents release

NewReleases is sending notifications on new releases.