pi-subagents 0.72.1 → 0.73.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (70) hide show
  1. package/CHANGELOG.md +34 -0
  2. package/docs/agents.md +3 -1
  3. package/docs/standalone-background.md +1 -1
  4. package/docs/tool-reference.md +1 -1
  5. package/docs/workflows.md +5 -1
  6. package/package.json +1 -1
  7. package/src/agents/advertised-agent-prompt.d.ts +6 -4
  8. package/src/agents/advertised-agent-prompt.d.ts.map +1 -1
  9. package/src/agents/advertised-agent-prompt.js +16 -30
  10. package/src/agents/advertised-agent-prompt.js.map +1 -1
  11. package/src/extension/index.d.ts.map +1 -1
  12. package/src/extension/index.js +11 -8
  13. package/src/extension/index.js.map +1 -1
  14. package/src/extension/tool-activation.js +1 -1
  15. package/src/extension/tool-activation.js.map +1 -1
  16. package/src/runs/background/control-channel.d.ts +4 -0
  17. package/src/runs/background/control-channel.d.ts.map +1 -1
  18. package/src/runs/background/control-channel.js +16 -1
  19. package/src/runs/background/control-channel.js.map +1 -1
  20. package/src/runs/background/run-status.d.ts.map +1 -1
  21. package/src/runs/background/run-status.js +1 -0
  22. package/src/runs/background/run-status.js.map +1 -1
  23. package/src/runs/background/subagent-runner.d.ts.map +1 -1
  24. package/src/runs/background/subagent-runner.js +8 -1
  25. package/src/runs/background/subagent-runner.js.map +1 -1
  26. package/src/runs/foreground/async-stop-action.d.ts.map +1 -1
  27. package/src/runs/foreground/async-stop-action.js +4 -2
  28. package/src/runs/foreground/async-stop-action.js.map +1 -1
  29. package/src/runs/foreground/subagent-executor.d.ts.map +1 -1
  30. package/src/runs/foreground/subagent-executor.js +142 -64
  31. package/src/runs/foreground/subagent-executor.js.map +1 -1
  32. package/src/runs/shared/async-status-projection.d.ts +3 -0
  33. package/src/runs/shared/async-status-projection.d.ts.map +1 -1
  34. package/src/runs/shared/async-status-projection.js +3 -0
  35. package/src/runs/shared/async-status-projection.js.map +1 -1
  36. package/src/runs/shared/mcp-direct-tool-allowlist.d.ts.map +1 -1
  37. package/src/runs/shared/mcp-direct-tool-allowlist.js +11 -12
  38. package/src/runs/shared/mcp-direct-tool-allowlist.js.map +1 -1
  39. package/src/shared/extension-context.d.ts +2 -0
  40. package/src/shared/extension-context.d.ts.map +1 -1
  41. package/src/shared/extension-context.js +4 -0
  42. package/src/shared/extension-context.js.map +1 -1
  43. package/src/shared/model-info.d.ts +4 -0
  44. package/src/shared/model-info.d.ts.map +1 -1
  45. package/src/shared/model-info.js +9 -0
  46. package/src/shared/model-info.js.map +1 -1
  47. package/src/shared/types.d.ts +2 -0
  48. package/src/shared/types.d.ts.map +1 -1
  49. package/src/shared/types.js.map +1 -1
  50. package/src/tui/fleet-status.d.ts.map +1 -1
  51. package/src/tui/fleet-status.js +12 -6
  52. package/src/tui/fleet-status.js.map +1 -1
  53. package/src/tui/fleet.d.ts.map +1 -1
  54. package/src/tui/fleet.js +12 -1
  55. package/src/tui/fleet.js.map +1 -1
  56. package/src/tui/render.d.ts.map +1 -1
  57. package/src/tui/render.js +54 -34
  58. package/src/tui/render.js.map +1 -1
  59. package/src/tui/running-tone.d.ts +11 -0
  60. package/src/tui/running-tone.d.ts.map +1 -0
  61. package/src/tui/running-tone.js +23 -0
  62. package/src/tui/running-tone.js.map +1 -0
  63. package/src/workflows/scripted-workflow.d.ts +6 -4
  64. package/src/workflows/scripted-workflow.d.ts.map +1 -1
  65. package/src/workflows/scripted-workflow.js +100 -35
  66. package/src/workflows/scripted-workflow.js.map +1 -1
  67. package/src/workflows/workflow-checklist.d.ts +4 -0
  68. package/src/workflows/workflow-checklist.d.ts.map +1 -1
  69. package/src/workflows/workflow-checklist.js +3 -0
  70. package/src/workflows/workflow-checklist.js.map +1 -1
package/CHANGELOG.md CHANGED
@@ -2,6 +2,40 @@
2
2
 
3
3
  ## [Unreleased]
4
4
 
5
+ ## [0.73.1] - 2026-09-27
6
+
7
+ ### Highlights
8
+
9
+ - Turning on `subagent` mid-session no longer throws away the prompt cache, so the next message no longer resends the whole conversation.
10
+
11
+ ### Fixed
12
+
13
+ - Turning on `subagent` no longer throws away the prompt cache. The catalog of advertised agents is now sent as its own `advertised_subagents` prompt section, which Pi adds at the end of the conversation. Before, pi-subagents rewrote the whole system prompt, so the first message after `subagents_enable` resent the entire conversation to the cache. Fixes [#2518](https://github.com/nicobailon/pi-subagents/issues/2518). Thanks to [@javapacr](https://github.com/javapacr) for [#2519](https://github.com/nicobailon/pi-subagents/pull/2519).
14
+ - Stopping a background run while it was shutting down could report "Stop requested" even though the runner never read the stop, so an interrupted run finished as paused instead of stopped. The stop now fails with a message to retry once the runner has exited, and that retry stops a paused run.
15
+
16
+ ## [0.73.0] - 2026-09-27
17
+
18
+ ### Highlights
19
+
20
+ - Failed workflows now say what kind of failure happened, such as a bad script, a failed child, or a timeout, so callers can react without parsing error text.
21
+ - Huge workflow results no longer flood the parent's context. Output is capped, every cut is marked, and the full text is saved to a file.
22
+ - A typo in a workflow's agent name now stops the workflow before any child starts, and `validate` suggests the name you probably meant.
23
+ - Running subagent spinners now use the same thinking-level colors as Pi's prompt box.
24
+ - `mcp:` tool selections work with pi-mcp-adapter 3.0's `mcp-adapter.json` files.
25
+
26
+ ### Changed
27
+
28
+ - Failed workflows now include a `failureKind` in foreground details and async status: `validation`, `script`, `child`, `return-serialization`, `timeout`, `detached-child`, or `runtime`. Callers no longer need to parse the error text to tell these apart. Fixes [#2506](https://github.com/nicobailon/pi-subagents/issues/2506).
29
+ - A running subagent's spinner now uses Pi's prompt-box thinking color. A spinner for one child uses that child's thinking level, or the main session's level when the child has none. A spinner for several children, such as a widget header, a parallel or chain card, or a workflow phase, uses the main session's level. `thinking` labels still show the configured level. Thanks to [@pwguler](https://github.com/pwguler) for [#2512](https://github.com/nicobailon/pi-subagents/pull/2512).
30
+
31
+ ### Fixed
32
+
33
+ - `mcp:` direct-tool selections now read pi-mcp-adapter 3.0's `mcp-adapter.json` files (the global one and a project's `.pi/mcp-adapter.json`), so a migrated setup no longer fails to launch children with `Unresolved MCP direct-tool selectors`. Pi's own `mcp.json` files are no longer read, because they belong to Pi's built-in MCP support. If your adapter servers are still listed there, move them to `mcp-adapter.json`. Thanks to [@qsgy-edge](https://github.com/qsgy-edge) for [#2511](https://github.com/nicobailon/pi-subagents/pull/2511).
34
+ - Large workflow results no longer flood the parent's context. A foreground workflow caps its Return, Emitted, and Console sections and its failure error at 200 KB or 5000 lines (or your `maxOutput`), shortens each call-trace error to 500 characters, marks each cut, and saves the full text to a file. Async completion notices and `action: "status"` now end cut text in `…` and point to the run's `status.json`. Before, they cut the return value without saying so and showed the full error however long it was. Fixes [#2505](https://github.com/nicobailon/pi-subagents/issues/2505).
35
+ - A workflow script with a misspelled agent name now fails before any child starts, instead of running the earlier children first. `action: "validate"` reports the same error with its line, column, and the closest agent name when there is one (for example `Did you mean 'reviewer'?`). Names built at runtime, and children with their own `cwd`, `agentScope`, or `resume`, are still checked when they launch. Fixes [#2504](https://github.com/nicobailon/pi-subagents/issues/2504).
36
+ - On providers that fix the tool list for a whole prompt, such as bridges to another agent SDK, `subagent` only appears after the next user prompt. The `subagents_enable` result now says so, which stops the model from retrying `subagent` in the same prompt, and it names `--exclude-tools subagents_enable` for keeping `subagent` always available. Fixes [#2513](https://github.com/nicobailon/pi-subagents/issues/2513).
37
+ - A `timeoutMs` or `maxRuntimeMs` above 2,147,483,647 ms (about 24.8 days), the longest delay Node.js timers support, is now rejected before launch, and `action: "resume"` checks its `timeoutMs` the same way. Node shortened such a timer to about 1 ms, so the run timed out almost immediately. Thanks to [@quifox](https://github.com/quifox) for [#2517](https://github.com/nicobailon/pi-subagents/pull/2517).
38
+
5
39
  ## [0.72.1] - 2026-09-26
6
40
 
7
41
  ### Fixed
package/docs/agents.md CHANGED
@@ -271,6 +271,8 @@ Advertisement is opt-in discovery, not automatic routing. The catalog is sorted
271
271
 
272
272
  The file catalog snapshot refreshes at session start/reload and after extension-owned agent-management mutations. External file or settings edits require `/reload`; ordinary turns do not poll the filesystem. Tool availability and capability-ceiling filtering are checked in memory on every prompt. A failed management-triggered refresh withdraws the catalog until a successful refresh, without changing the persisted mutation's result.
273
273
 
274
+ The catalog is sent as Pi's `advertised_subagents` prompt section. When it changes mid-session, Pi appends it as a small system message instead of changing the system prompt, so the provider prompt cache is kept. This only works if no other loaded extension returns a replacement `systemPrompt` from `before_agent_start`; in that case Pi folds section changes back into the system prompt and the cache is lost for that request.
275
+
274
276
  ## Prompt assembly
275
277
 
276
278
  Subagents are narrow by default. Custom agents start with a clean system prompt and only the context you intentionally give them. They do not automatically inherit Pi's whole base prompt, project instruction files, or discovered skills catalog.
@@ -460,7 +462,7 @@ Examples:
460
462
  - `allowNestedSubagents: true` with `tools` omitted: normal builtin tools (and, for background children, ambient extensions) remain inherited, and the child-safe nested `subagent` runtime is added.
461
463
  - `tools: read, fixture_search` plus `subagentOnlyExtensions: ./tools/fixture-search.ts`: the provider loads only in this agent's child sessions, and the registered `fixture_search` name survives the strict allowlist.
462
464
 
463
- Direct MCP tools require [pi-mcp-adapter](https://github.com/nicobailon/pi-mcp-adapter). Subagents only receive direct MCP tools when `mcp:` entries are listed in their frontmatter; global `directTools: true` in `mcp.json` is not enough by itself. The generic `mcp` proxy tool can still be used for discovery when available. The adapter caches tool metadata at startup, so after connecting a new MCP server for the first time, restart Pi before relying on direct tools. Server `includeTools` and `excludeTools` policies are enforced while resolving cached metadata for children: both accept exact names and `*`/`?` glob patterns against raw, generated-resource, and server/short/mcp/none-prefixed names, with `excludeTools` taking precedence. `mcp:` entries must name servers from the adapter's configuration files. A server that exists only in the adapter's runtime snapshot (registered at runtime, not persisted) cannot be provided to a child: children are pi sessions inside the parent or the runner process, not `pi` processes that could receive an MCP config argument, so such a launch fails with an error saying that MCP tools must come from an ambient adapter extension in a background child. An `mcp:` entry named `subagent` does not authorize nested fanout; declare the builtin `subagent` tool or set `allowNestedSubagents: true`. If a resolved direct MCP name is missing from the child registry, pi-subagents keeps the launch failed under the strict allowlist and reports the registration mismatch; check the resolved names against what the host or pi-mcp-adapter actually registers before child startup.
465
+ Direct MCP tools require [pi-mcp-adapter](https://github.com/nicobailon/pi-mcp-adapter). Subagents only receive direct MCP tools when `mcp:` entries are listed in their frontmatter; global `directTools: true` in the adapter's MCP config is not enough by itself. The generic `mcp` proxy tool can still be used for discovery when available. The adapter caches tool metadata at startup, so after connecting a new MCP server for the first time, restart Pi before relying on direct tools. Server `includeTools` and `excludeTools` policies are enforced while resolving cached metadata for children: both accept exact names and `*`/`?` glob patterns against raw, generated-resource, and server/short/mcp/none-prefixed names, with `excludeTools` taking precedence. `mcp:` entries must name servers from the adapter's configuration files. A server that exists only in the adapter's runtime snapshot (registered at runtime, not persisted) cannot be provided to a child: children are pi sessions inside the parent or the runner process, not `pi` processes that could receive an MCP config argument, so such a launch fails with an error saying that MCP tools must come from an ambient adapter extension in a background child. An `mcp:` entry named `subagent` does not authorize nested fanout; declare the builtin `subagent` tool or set `allowNestedSubagents: true`. If a resolved direct MCP name is missing from the child registry, pi-subagents keeps the launch failed under the strict allowlist and reports the registration mismatch; check the resolved names against what the host or pi-mcp-adapter actually registers before child startup.
464
466
 
465
467
  `extensions` controls child extension loading:
466
468
 
@@ -33,7 +33,7 @@ The `official-standalone` CI job runs this gate. Both archive and executable has
33
33
 
34
34
  The matrix covers public launch/notification, workflows, same-run concurrent sessions, parallel stop, targeted steer/interrupt, child/tool/run deadlines, missing bootstrap, post-spawn persistence/authorization failures, SDK initialization failure, malformed bootstrap input/EOF with an authorized positive control, and competing revival. The provider is deterministic, but SDK sessions, runner and public extension are real. Only startup-failure writes are faulted.
35
35
 
36
- `matrix.json` records complete/partial results; `inputs.json` freezes source identities and every mode must use the same package hash. Inspect per-mode logs, `identity.json`, lifecycle/notification evidence, `status.json` and `process-terminal.json`. A persisted result is not exit proof: the gate separately awaits observed close, verifies dead PIDs before sandbox teardown and checks session shutdown/lease release. CI retains receipts and at most 32 MiB compressed lifecycle evidence. Contributor-head passes do not establish acceptance for a different integration snapshot.
36
+ `matrix.json` records complete/partial results with per-mode durations; `inputs.json` freezes source identities. The candidate is built and packed once and every mode must use that package hash. Modes run one at a time; they are CPU-bound and miss their deadlines when run concurrently. Inspect per-mode logs, `identity.json`, lifecycle/notification evidence, `status.json` and `process-terminal.json`. A persisted result is not exit proof: the gate separately awaits observed close, verifies dead PIDs before sandbox teardown and checks session shutdown/lease release. CI retains receipts and at most 32 MiB compressed lifecycle evidence. Contributor-head passes do not establish acceptance for a different integration snapshot.
37
37
 
38
38
  For a focused diagnostic, use `node test/smoke/standalone-background.mjs "$release_dir/pi/pi" "$(mktemp -d)/check" bootstrap-errors` (or another matrix mode). A focused pass is not the complete gate.
39
39
 
@@ -126,7 +126,7 @@ The complete plain-JSON inventory is validated before the first launch (maximum
126
126
  | `preflight` | object | none | Advisory lane hints for `workflowScript` or `workflowScriptPath` only; not accepted with named workflows or direct children. See [bounded workflows](workflows.md#opt-in-bounded-workflows). |
127
127
  | `cwd` | string | runtime cwd | Override working directory. With `machine`, the directory on that machine. |
128
128
  | `machine` | string | - | Herdr saved machine (label or profile id) for external-cli agents; see [agents.md](agents.md#running-external-cli-agents-on-a-herdr-saved-machine). |
129
- | `maxOutput` | object | none | Final output truncation limits `{ bytes?, lines? }`. Only applied when set; there is no default cap on the inline path, so use `outputMode: "file-only"` for large outputs. |
129
+ | `maxOutput` | object | none | Final output truncation limits `{ bytes?, lines? }`. For child runs it is only applied when set; there is no default cap on the inline path, so use `outputMode: "file-only"` for large outputs. For `workflowScript` results, the Return, Emitted, and Console sections are always capped, at 200 KB / 5000 lines unless `maxOutput` sets other limits. |
130
130
  | `artifacts` | boolean | true | Write debug artifacts. |
131
131
  | `includeProgress` | boolean | false | Include full progress in result. |
132
132
  | `share` | boolean | false | Upload session export to GitHub Gist. |
package/docs/workflows.md CHANGED
@@ -25,6 +25,8 @@ A failure in the subagent workflow, child launch, prompt runtime, extension load
25
25
 
26
26
  Stop and report the exact failure, run/status, and repository/cwd/worktree/branch/ref state. Before a same-protocol retry or asking the owner, verify the worktree is clean or capture the partial diff. Retry or fix the `subagent` path only through a clear same-protocol action. For backlog lanes and other subagent-governed workflows, external/foreground/CLI fallback requires explicit owner approval. `interactive_shell` remains valid when the user explicitly requests visible foreground/CLI work or the task is outside the governed subagent protocol.
27
27
 
28
+ Failed workflow details and async `status.json` include `workflow.failureKind` as `validation`, `script`, `child`, `return-serialization`, `timeout`, `detached-child`, or `runtime`. `validation` means the host rejected the script before it ran (syntax or portability) or at completion (unawaited calls); errors thrown into a running script, including rejected `runs.run` parameters and runtime `SyntaxError`s, are `script` because the script could catch them, and failed children are `child`. `runtime` covers host setup and infrastructure failures, such as an unavailable cwd or a crashed worker. A workflow that is stopped or reloaded is not a failure and has no `failureKind`.
29
+
28
30
  Pi core may print a generic `pi -ne` extension-load hint; that out-of-repo hint is not protocol-approved fallback. A verified compaction abort may continue the retained child once on its already resolved model; it does not authorize an execution-mode or model switch.
29
31
 
30
32
  ## Prompt shortcuts
@@ -120,7 +122,7 @@ These controls are opt-in. Avoid tight hard budgets for mutation-capable workers
120
122
 
121
123
  The optional `preflight` lane hints apply only to raw `workflowScript` or `workflowScriptPath` requests, not named workflows or direct child calls. They are display-only: mismatched coverage warns but never changes execution authority.
122
124
 
123
- The result is `{ ok, errors }`. Invalid scripts return a tool error and include line and column data when available. Validation checks syntax, portable nested-async rules, literal `runs.run` and `runs.all` keys and child `baseRef` values, duplicate literal keys in one `runs.all` group, direct keyed access to a known `runs.all` result, and statically clear non-JSON boundary values. Dynamic keys and other runtime-only values are accepted without a warning. Validation does not discover agents, launch children, or create run artifacts.
125
+ The result is `{ ok, errors }`. Invalid scripts return a tool error and include line and column data when available. Validation checks syntax, portable nested-async rules, literal `runs.run` and `runs.all` keys and child `baseRef` values, duplicate literal keys in one `runs.all` group, direct keyed access to a known `runs.all` result, and statically clear non-JSON boundary values. It also looks up literal `agent` names in `runs.run`, `runs.all`, and `runs.lanes` children against the agents discovered for the request `cwd` and `agentScope`, and reports unknown or ambiguous names with a close match when one exists. Children with their own `cwd`, `agentScope`, or `resume`, object spreads, and names built at runtime are left to launch time. Dynamic keys and other runtime-only values are accepted without a warning. Validation does not launch children or create run artifacts. Executing a workflow runs the same agent-name check first, so an unknown literal agent fails before any child launches.
124
126
 
125
127
  ```js
126
128
  subagent({ workflowScript: `
@@ -426,6 +428,8 @@ For watched same-repo workflows, pass `async:false` only when the parent must bl
426
428
 
427
429
  Synchronous workflows publish trace and `emit(...)` updates through the tool update callback regardless of `chatProgress`, including RPC/headless and cross-repository runs. These updates include `details.workflow` and `details.workflowChildren`; `chatProgress: "off"` disables the live card, not transport progress. Running foreground child rows additionally expose bounded `activity` (current tool, timing, and counters), plus resolved model/thinking when available, keyed by `childId`. Activity-only updates coalesce over 100 ms; lifecycle updates remain immediate. Activity clears when children settle, and is not persisted for async workflows. Tool names are limited to 256 UTF-8 bytes and each activity object is below 2 KiB (including JSON escaping); arguments and transcripts are not forwarded.
428
430
 
431
+ The workflow result text keeps the Return, Emitted, and Console sections, and a failed workflow's error, under 200 KB and 5000 lines, or under `maxOutput` when set. Each call-trace error is cut to 500 characters. A cut adds a `[TRUNCATED: ... - full output at <path>]` line. The full text goes to the workflow `output` file when one is set, otherwise to `<run>_workflow-result.md` in the run's artifacts directory, outside the `outputs/` tree where children save their reports. That file has the same retention as the other run artifacts: age-based cleanup removes it from temp and session artifact directories, and `artifactDir: "project"` files are kept. The status line, the rest of each trace line, warnings, and output-path mappings are never cut. Async completion notices and `action: "status"` show short previews; a cut preview or async error ends in `…` and names the run's `status.json`, which holds the full `workflow.value`, `workflow.emits`, and `error`.
432
+
429
433
  The legacy `/chain`, `/parallel`, and `/run-chain` commands are not registered.
430
434
 
431
435
  ## Direct commands
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "type": "module",
3
3
  "name": "pi-subagents",
4
- "version": "0.72.1",
4
+ "version": "0.73.1",
5
5
  "description": "Pi extension for single-agent delegation and scripted multi-agent workflows",
6
6
  "author": "Nico Bailon",
7
7
  "license": "MIT",
@@ -1,8 +1,10 @@
1
1
  import type { ResolvedSubagentCapabilityCeiling } from "../runs/shared/capability-ceiling.ts";
2
2
  import type { AgentConfig } from "./agents.ts";
3
+ /**
4
+ * The catalog body without its `<advertised_subagents>` wrapper, for Pi's structured
5
+ * prompt sections, which add the tag from the section key. The byte budget applies to
6
+ * the wrapped form, so both deliveries carry the same entries.
7
+ */
8
+ export declare function buildAdvertisedAgentCatalog(agents: readonly AgentConfig[], capabilityCeiling?: ResolvedSubagentCapabilityCeiling): string | undefined;
3
9
  export declare function buildAdvertisedAgentPrompt(agents: readonly AgentConfig[], capabilityCeiling?: ResolvedSubagentCapabilityCeiling): string | undefined;
4
- export declare function appendAdvertisedAgentPrompt(systemPrompt: string, advertisedPrompt: string | undefined): string;
5
- export declare function appendAdvertisedAgentPrompt(systemPrompt: string[], advertisedPrompt: string | undefined): string[];
6
- export declare function appendAdvertisedAgentPrompt(systemPrompt: undefined, advertisedPrompt: string | undefined): string | undefined;
7
- export declare function appendAdvertisedAgentPrompt(systemPrompt: string | string[] | undefined, advertisedPrompt: string | undefined): string | string[] | undefined;
8
10
  //# sourceMappingURL=advertised-agent-prompt.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"advertised-agent-prompt.d.ts","sourceRoot":"","sources":["../../../src/agents/advertised-agent-prompt.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iCAAiC,EAAE,MAAM,sCAAsC,CAAC;AAE9F,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAwB/C,wBAAgB,0BAA0B,CACzC,MAAM,EAAE,SAAS,WAAW,EAAE,EAC9B,iBAAiB,CAAC,EAAE,iCAAiC,GACnD,MAAM,GAAG,SAAS,CA2BpB;AAED,wBAAgB,2BAA2B,CAAC,YAAY,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAAC;AAChH,wBAAgB,2BAA2B,CAAC,YAAY,EAAE,MAAM,EAAE,EAAE,gBAAgB,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,EAAE,CAAC;AACpH,wBAAgB,2BAA2B,CAAC,YAAY,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAAC;AAC/H,wBAAgB,2BAA2B,CAC1C,YAAY,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,EAC3C,gBAAgB,EAAE,MAAM,GAAG,SAAS,GAClC,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,CAAC"}
1
+ {"version":3,"file":"advertised-agent-prompt.d.ts","sourceRoot":"","sources":["../../../src/agents/advertised-agent-prompt.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iCAAiC,EAAE,MAAM,sCAAsC,CAAC;AAE9F,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AA6B/C;;;;GAIG;AACH,wBAAgB,2BAA2B,CAC1C,MAAM,EAAE,SAAS,WAAW,EAAE,EAC9B,iBAAiB,CAAC,EAAE,iCAAiC,GACnD,MAAM,GAAG,SAAS,CAyBpB;AAED,wBAAgB,0BAA0B,CACzC,MAAM,EAAE,SAAS,WAAW,EAAE,EAC9B,iBAAiB,CAAC,EAAE,iCAAiC,GACnD,MAAM,GAAG,SAAS,CAGpB"}
@@ -3,7 +3,6 @@ import { isAgentAllowedByCapabilityCeiling } from "../runs/shared/capability-cei
3
3
  const MAX_ADVERTISED_AGENTS = 16;
4
4
  const MAX_CATALOG_BYTES = 12_288;
5
5
  const MAX_DESCRIPTION_BYTES = 512;
6
- const ADVERTISED_AGENTS_BLOCK = /\n*<advertised_subagents>\n[\s\S]*?\n<\/advertised_subagents>/gu;
7
6
  function escapeXml(value) {
8
7
  return value
9
8
  .replaceAll("&", "&amp;")
@@ -19,18 +18,25 @@ function promptDescription(description) {
19
18
  }
20
19
  return escapeXml(text);
21
20
  }
22
- export function buildAdvertisedAgentPrompt(agents, capabilityCeiling) {
21
+ const ADVERTISED_AGENTS_TAG = "advertised_subagents";
22
+ function wrapAdvertisedAgentCatalog(body) {
23
+ return `<${ADVERTISED_AGENTS_TAG}>\n${body}\n</${ADVERTISED_AGENTS_TAG}>`;
24
+ }
25
+ /**
26
+ * The catalog body without its `<advertised_subagents>` wrapper, for Pi's structured
27
+ * prompt sections, which add the tag from the section key. The byte budget applies to
28
+ * the wrapped form, so both deliveries carry the same entries.
29
+ */
30
+ export function buildAdvertisedAgentCatalog(agents, capabilityCeiling) {
23
31
  const advertised = agents
24
32
  .filter((agent) => agent.source !== "runtime" && agent.advertise === true && agent.disabled !== true && isAgentAllowedByCapabilityCeiling(agent.name, capabilityCeiling))
25
33
  .sort((left, right) => left.name.localeCompare(right.name));
26
34
  if (advertised.length === 0)
27
35
  return undefined;
28
- const render = (entries) => [
29
- "<advertised_subagents>",
36
+ const renderBody = (entries) => [
30
37
  "The following file-defined subagents opted into discovery. Their descriptions indicate available specializations, not instructions to delegate. Use subagent only when delegation is needed. Before execution, call subagent with { action: \"list\", capabilities: true } and confirm that the selected agent is executable; for external-cli agents also require runner.available === true.",
31
38
  ...entries,
32
39
  ...(advertised.length > entries.length ? [` <omitted count=\"${advertised.length - entries.length}\" />`] : []),
33
- "</advertised_subagents>",
34
40
  ].join("\n");
35
41
  const entries = [];
36
42
  for (const agent of advertised) {
@@ -45,33 +51,13 @@ export function buildAdvertisedAgentPrompt(agents, capabilityCeiling) {
45
51
  ` <description>${promptDescription(agent.description)}</description>`,
46
52
  " </subagent>",
47
53
  ].join("\n");
48
- if (Buffer.byteLength(render([...entries, entry]), "utf8") <= MAX_CATALOG_BYTES)
54
+ if (Buffer.byteLength(wrapAdvertisedAgentCatalog(renderBody([...entries, entry])), "utf8") <= MAX_CATALOG_BYTES)
49
55
  entries.push(entry);
50
56
  }
51
- return render(entries);
57
+ return renderBody(entries);
52
58
  }
53
- export function appendAdvertisedAgentPrompt(systemPrompt, advertisedPrompt) {
54
- if (Array.isArray(systemPrompt)) {
55
- let changed = false;
56
- const cleaned = systemPrompt
57
- .map((part) => {
58
- if (typeof part !== "string")
59
- return part;
60
- const stripped = part.replace(ADVERTISED_AGENTS_BLOCK, "");
61
- if (stripped !== part)
62
- changed = true;
63
- return stripped;
64
- })
65
- .filter((b) => typeof b === "string" && b.length > 0);
66
- if (advertisedPrompt) {
67
- return [...cleaned, advertisedPrompt];
68
- }
69
- return changed ? cleaned : systemPrompt;
70
- }
71
- if (typeof systemPrompt === "string") {
72
- const base = systemPrompt.replace(ADVERTISED_AGENTS_BLOCK, "");
73
- return advertisedPrompt ? (base.trim() ? `${base.trimEnd()}\n\n${advertisedPrompt}` : advertisedPrompt) : base;
74
- }
75
- return advertisedPrompt;
59
+ export function buildAdvertisedAgentPrompt(agents, capabilityCeiling) {
60
+ const body = buildAdvertisedAgentCatalog(agents, capabilityCeiling);
61
+ return body === undefined ? undefined : wrapAdvertisedAgentCatalog(body);
76
62
  }
77
63
  //# sourceMappingURL=advertised-agent-prompt.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"advertised-agent-prompt.js","sourceRoot":"","sources":["../../../src/agents/advertised-agent-prompt.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"advertised-agent-prompt.js","sourceRoot":"","sources":["../../../src/agents/advertised-agent-prompt.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/extension/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAOH,OAAO,EAAW,KAAK,YAAY,EAA8C,MAAM,iCAAiC,CAAC;AAsCzH,OAAO,EAA6B,KAAK,cAAc,EAAE,MAAM,iCAAiC,CAAC;AAyBjG,OAAO,EAGN,KAAK,aAAa,EAYlB,MAAM,oBAAoB,CAAC;AAQ5B,OAAO,EAAE,UAAU,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAgShE,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,aAAa,GAAG,cAAc,EAAE,CAgC7E;AAED,MAAM,CAAC,OAAO,UAAU,yBAAyB,CAAC,EAAE,EAAE,YAAY,GAAG,IAAI,CA8yBxE"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/extension/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAOH,OAAO,EAAW,KAAK,YAAY,EAA8C,MAAM,iCAAiC,CAAC;AAuCzH,OAAO,EAA6B,KAAK,cAAc,EAAE,MAAM,iCAAiC,CAAC;AAyBjG,OAAO,EAGN,KAAK,aAAa,EAYlB,MAAM,oBAAoB,CAAC;AAQ5B,OAAO,EAAE,UAAU,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAgShE,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,aAAa,GAAG,cAAc,EAAE,CAgC7E;AAED,MAAM,CAAC,OAAO,UAAU,yBAAyB,CAAC,EAAE,EAAE,YAAY,GAAG,IAAI,CA+yBxE"}
@@ -19,7 +19,7 @@ import { keyText } from "@earendil-works/pi-coding-agent";
19
19
  import { Box, Container, Spacer, Text, truncateToWidth, visibleWidth, wrapTextWithAnsi } from "@earendil-works/pi-tui";
20
20
  import { clearAgentDiscoveryCache, discoverAgentSnapshot, discoverAgents, discoverAgentsAll } from "../agents/agents.js";
21
21
  import { resolveGlobalNpmRoot } from "../agents/global-npm-root.js";
22
- import { appendAdvertisedAgentPrompt, buildAdvertisedAgentPrompt } from "../agents/advertised-agent-prompt.js";
22
+ import { buildAdvertisedAgentCatalog, buildAdvertisedAgentPrompt } from "../agents/advertised-agent-prompt.js";
23
23
  import { clearRuntimeAgentsForPi, listRuntimeAgentConfigs, mergeRuntimeAgents } from "../agents/runtime-agent-registry.js";
24
24
  import { registerRuntimeAgentEventListener } from "../agents/runtime-agent-events.js";
25
25
  import { ensureAccessibleDir } from "../shared/accessible-dir.js";
@@ -32,6 +32,7 @@ import { cleanupOldChainDirs } from "../shared/settings.js";
32
32
  import { clearLegacyResultAnimationTimer, renderSubagentResult, renderSubagentSummary, setInlineWorkflowCoverage } from "../tui/render.js";
33
33
  import { getInspectorPlugins, registerInspectorEventListener } from "../inspectors/plugins.js";
34
34
  import { SubagentFleetStatus, resolveFleetViewPlacement } from "../tui/fleet-status.js";
35
+ import { readMainThinkingLevel, setMainThinkingLevelSource } from "../tui/running-tone.js";
35
36
  import { createSubagentParamsSchema } from "./schemas.js";
36
37
  import { createAsyncJobTracker } from "../runs/background/async-job-tracker.js";
37
38
  import { getActiveAsyncCapacitySnapshot, resolveAbandonedSlotReleaseAfterMs, resolveMaxActiveAsyncRunsPerSession } from "../runs/background/active-async-capacity.js";
@@ -372,6 +373,7 @@ export default function registerSubagentExtension(pi) {
372
373
  return;
373
374
  }
374
375
  const runtimeRegistry = getRuntimeRegistry();
376
+ setMainThinkingLevelSource(() => readMainThinkingLevel(() => pi.getThinkingLevel()));
375
377
  DIRS.results = ensureAccessibleDir(DIRS.results);
376
378
  DIRS.async = ensureAccessibleDir(DIRS.async);
377
379
  cleanupOldChainDirs();
@@ -775,14 +777,15 @@ export default function registerSubagentExtension(pi) {
775
777
  pi.registerTool(tool);
776
778
  pi.on("before_agent_start", async (event, ctx) => {
777
779
  await waitForAdvertisement();
778
- const selectedTools = event.systemPromptOptions?.selectedTools ?? (typeof pi.getActiveTools === "function" ? pi.getActiveTools() : []);
780
+ if (!event.systemPromptOptions.selectedTools.includes("subagent"))
781
+ return;
779
782
  const sessionId = state.currentSessionId ?? resolveCurrentSessionId(ctx.sessionManager);
780
- const advertisedPrompt = Array.isArray(selectedTools) && selectedTools.includes("subagent")
781
- ? buildAdvertisedAgentPrompt(advertisedAgents, resolveCurrentSubagentCapabilityCeiling(sessionId))
782
- : undefined;
783
- const systemPrompt = appendAdvertisedAgentPrompt(event.systemPrompt, advertisedPrompt);
784
- if (systemPrompt !== event.systemPrompt)
785
- return { systemPrompt };
783
+ // Structured sections let Pi append a transcript delta instead of replacing the
784
+ // cached system prompt. Set the section on every turn it applies: Pi rebuilds the
785
+ // options each turn, and an unset turn records a removal.
786
+ const catalog = buildAdvertisedAgentCatalog(advertisedAgents, resolveCurrentSubagentCapabilityCeiling(sessionId));
787
+ if (catalog)
788
+ event.systemPromptOptions.sections.advertised_subagents = catalog;
786
789
  });
787
790
  registerWaitTool(pi, state, waitToolConfig.enabled, waitSubscriptionManager, waitToolConfig.defaultTimeoutMs, undefined, supervisorChannel.hasPendingRequests);
788
791
  pi.on("agent_end", async (_event, ctx) => {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/extension/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/extension/index.ts"],"names":[],"mappings":"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"}
@@ -160,7 +160,7 @@ export function registerSubagentToolActivation(pi, options) {
160
160
  };
161
161
  const advertised = await options.advertisedPrompt();
162
162
  return {
163
- content: [{ type: "text", text: `Enabled: subagent. On the next model request, call subagent({action:\"list\",capabilities:true}) for current capabilities.${advertised ? `\n\n${advertised}` : ""}` }],
163
+ content: [{ type: "text", text: `Enabled: subagent. On the next model request, call subagent({action:\"list\",capabilities:true}) for current capabilities. Some providers, such as bridges to another agent SDK, fix the tool list for a whole prompt. With those, subagent appears only after the next user prompt, so do not retry it in this one. The operator can start Pi with --exclude-tools subagents_enable to keep subagent always available.${advertised ? `\n\n${advertised}` : ""}` }],
164
164
  details: { enabled: [SUBAGENT_NAME] },
165
165
  };
166
166
  },