Skip to content

Releases: nicobailon/pi-subagents

v0.11.11

23 Mar 06:33

Choose a tag to compare

Updated for pi 0.62.0 compatibility. Skill.source replaced with Skill.sourceInfo for skill provenance, Widget type replaced with Component. Bumped devDependencies to ^0.62.0.

v0.11.10

21 Mar 14:49

Choose a tag to compare

Changed

  • Trimmed tool schema and description to reduce per-turn token cost by ~166 tokens (13%). Removed maxOutput from the LLM-facing schema (still accepted internally), shortened context and output descriptions, removed redundant CHAIN DATA FLOW section from tool description, condensed MANAGEMENT bullet points.

v0.11.9

21 Mar 06:11

Choose a tag to compare

Fixed

  • /agents overlay launches (single, chain, parallel) and slash commands (/run, /chain, /parallel) now render an inline result card in chat instead of relaying through sendUserMessage.
  • /agents overlay 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.
  • /parallel now uses the native tasks parameter 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

21 Mar 02:20

Choose a tag to compare

Added

  • Prompt-template delegation bridge now supports parallel task execution: accepts tasks array payloads, emits per-task parallelResults with individual error/success states, and streams per-task progress updates with taskProgress entries.

v0.11.7

20 Mar 17:48

Choose a tag to compare

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

20 Mar 06:11

Choose a tag to compare

Added

  • delegate builtin 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

20 Mar 05:53

Choose a tag to compare

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 with request/started/response/update events, 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

19 Mar 18:57

Choose a tag to compare

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 fork mode each child run now starts from a real branched session file created from the parent session's current leaf.
  • Added --fork slash-command flag for /run, /chain, and /parallel to forward context: "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 --bg behavior 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 to fresh.
  • 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] when context: "fork" is used, including empty-result responses.
  • subagent_status now surfaces async result-file read failures instead of returning a misleading missing-status message.

v0.11.3

17 Mar 06:31

Choose a tag to compare

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

12 Mar 03:20

Choose a tag to compare

Fixed

  • --no-skills was 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.
  • defaultSessionDir and sessionDir with ~ 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 in skills.ts.
  • Multiple subagent calls within a session would collide when defaultSessionDir was configured, since it wasn't appending a unique runId. Both defaultSessionDir and parent-session-derived paths now get runId appended.

Removed

  • Removed exported resolveSessionRoot() function and SessionRootInput interface. These were introduced by PR #46 but never called in production — the inline resolution logic diverged (always-on sessions, runId appended) making the function's contract misleading. Associated tests and dead code from PR #47 scaffolding also removed from path-handling.test.ts.