Add spawn_subsession / list_subsessions / read_subsession tools that let an agent start child sessions it stays attached to: the child records its parent in the session tree, the parent is notified (as a system-authored custom message that wakes an idle parent and queues behind in-flight work) when the child stops working, and the parent can inspect children's status and result. Gated behind a beta flag, off by default, mirroring spawnSessions: enable via PI_WEB_SUBSESSIONS, the subsessions config key, or the Settings toggle. Also requires spawnSessions. Also fix the release skill so the version step resyncs package-lock.json (npm install --package-lock-only) and the commit step refuses a release where package.json and package-lock.json versions disagree.
1006 B
@jmfederico/pi-web
| @jmfederico/pi-web |
|---|
| minor |
Add tracked subsessions (beta, off by default): agents can spawn child sessions they stay attached to. The new spawn_subsession tool starts a child session linked to its parent (recorded in the session tree), notifies the parent when the child stops working, and lets the parent inspect children via list_subsessions and read_subsession. The completion notice is delivered as a system-authored message (not attributed to the human), and still wakes an idle parent while queueing behind any in-flight work. Unlike the fire-and-forget spawn_session, subsessions are observable by their spawner.
The capability is gated behind a beta flag so it can ship without being exposed in releases: enable it with the PI_WEB_SUBSESSIONS env var, the subsessions config key, or the "Allow agents to start tracked subsessions" toggle in Settings → Session daemon. It also requires spawnSessions to be enabled. Requires a manual session daemon restart to take effect.