Releases: nicobailon/pi-subagents
Releases · nicobailon/pi-subagents
v0.11.11
v0.11.10
Changed
- Trimmed tool schema and description to reduce per-turn token cost by ~166 tokens (13%). Removed
maxOutputfrom the LLM-facing schema (still accepted internally), shortenedcontextandoutputdescriptions, removed redundant CHAIN DATA FLOW section from tool description, condensed MANAGEMENT bullet points.
v0.11.9
Fixed
/agentsoverlay launches (single, chain, parallel) and slash commands (/run,/chain,/parallel) now render an inline result card in chat instead of relaying throughsendUserMessage./agentsoverlay chain launches no longer bypass the executor for async fallback, fixing a path where async chain errors were silently swallowed.
Changed
- All slash and overlay subagent execution now routes through an event bus request/response protocol (
slash-bridge.ts), matching the pattern used by pi-prompt-template-model. - Slash launches show a live inline card immediately on start that streams current tool, recent tools, and output in real time.
/parallelnow uses the nativetasksparameter directly instead of wrapping through{ chain: [{ parallel: tasks }] }.
Added
slash-bridge.ts— event bus bridge for slash command execution.slash-live-state.ts— request-id keyed snapshot store for live inline card rendering and session reload.
v0.11.8
Added
- Prompt-template delegation bridge now supports parallel task execution: accepts
tasksarray payloads, emits per-taskparallelResultswith individual error/success states, and streams per-task progress updates withtaskProgressentries.
v0.11.7
Changed
- Removed the cwd mismatch guard from the prompt-template delegation bridge, allowing delegated requests to specify a working directory different from the active session's cwd.
v0.11.6
Added
delegatebuiltin agent — lightweight subagent with no model, output, or default reads. Inherits the parent session's model, purpose-built for prompt-template delegated execution.
v0.11.5
Added
- Fork context preamble: tasks run with
context: "fork"are now wrapped with a default preamble that anchors the subagent to its task, preventing it from continuing the parent conversation. - Prompt-template delegation bridge (
prompt-template-bridge.ts) on the shared extension event bus withrequest/started/response/updateevents, cwd safety checks, and race-safe cancellation. - Delegated progress streaming via
prompt-template:subagent:update.
Changed
- Session lifecycle reset now preserves the latest extension context for event-bus delegated runs.
[fork]badge shown only on result row, no longer duplicated on tool-call row.
v0.11.4
Added
- Added explicit execution context mode for tool calls:
context: "fresh" | "fork"(default:fresh). - Added true forked-context execution for single, parallel, and chain runs. In
forkmode each child run now starts from a real branched session file created from the parent session's current leaf. - Added
--forkslash-command flag for/run,/chain, and/parallelto forwardcontext: "fork". - Added regression coverage for fork execution/session wiring and fork badge rendering, including slash command forwarding tests.
Changed
- Session argument wiring now supports
--session <file>in addition to--session-dir, enabling exact leaf-preserving forks without summary injection. - Async runner step payloads now carry per-step session files so background single/chain/parallel executions can also honor
context: "fork". - Clarified docs for foreground vs background semantics so
--bgbehavior is explicit.
Fixed
context: "fork"now fails fast with explicit errors when parent session state is unavailable (missing persisted session, missing current leaf, or failed branch extraction), with no silent fallback tofresh.- Fork-session creation errors are now surfaced as tool errors instead of bubbling as uncaught exceptions during execution.
- Session directory preparation now fails loudly with actionable errors (instead of silently swallowing mkdir failures).
- Async launch now fails with explicit errors when the async run directory cannot be created.
- Share logs now correctly include forked session files even when no session directory exists.
- Tool-call and result rendering now explicitly show
[fork]whencontext: "fork"is used, including empty-result responses. subagent_statusnow surfaces async result-file read failures instead of returning a misleading missing-status message.
v0.11.3
Decompose index.ts into focused modules (subagent-executor, async-job-tracker, result-watcher, slash-commands). Extract shared arg-builder (pi-args). Consolidate mapConcurrent, aggregateParallelOutputs, and parseFrontmatter into single canonical implementations. No behavioral changes.
v0.11.2
Fixed
--no-skillswas missing from the async runner (subagent-runner.ts). PR #41 added skill scoping to the sync path but the async runner spawns pi through its own code path, so background subagents with explicit skills still got the full<available_skills>catalog injected.defaultSessionDirandsessionDirwith~paths (e.g."~/.pi/agent/sessions/subagent/") were not expanded —path.resolve("~/...")treats~as a literal directory name. Added tilde expansion matching the existing pattern inskills.ts.- Multiple subagent calls within a session would collide when
defaultSessionDirwas configured, since it wasn't appending a uniquerunId. BothdefaultSessionDirand parent-session-derived paths now getrunIdappended.
Removed
- Removed exported
resolveSessionRoot()function andSessionRootInputinterface. These were introduced by PR #46 but never called in production — the inline resolution logic diverged (always-on sessions,runIdappended) making the function's contract misleading. Associated tests and dead code from PR #47 scaffolding also removed frompath-handling.test.ts.