@esso0428/pi-subagents 0.17.6 → 0.17.7

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 (260) hide show
  1. package/CHANGELOG.md +9 -0
  2. package/CONTRIBUTING.md +4 -0
  3. package/dist/abortable.d.ts +13 -0
  4. package/dist/abortable.d.ts.map +1 -0
  5. package/dist/abortable.js +43 -0
  6. package/dist/abortable.js.map +1 -0
  7. package/dist/agent-color.d.ts +36 -0
  8. package/dist/agent-color.d.ts.map +1 -0
  9. package/dist/agent-color.js +124 -0
  10. package/dist/agent-color.js.map +1 -0
  11. package/dist/agent-file-toggle.d.ts +126 -0
  12. package/dist/agent-file-toggle.d.ts.map +1 -0
  13. package/dist/agent-file-toggle.js +259 -0
  14. package/dist/agent-file-toggle.js.map +1 -0
  15. package/dist/agent-history.d.ts +4 -0
  16. package/dist/agent-history.d.ts.map +1 -1
  17. package/dist/agent-history.js +47 -1
  18. package/dist/agent-history.js.map +1 -1
  19. package/dist/agent-manager.d.ts +370 -56
  20. package/dist/agent-manager.d.ts.map +1 -1
  21. package/dist/agent-manager.js +1123 -409
  22. package/dist/agent-manager.js.map +1 -1
  23. package/dist/agent-runner.d.ts +100 -10
  24. package/dist/agent-runner.d.ts.map +1 -1
  25. package/dist/agent-runner.js +166 -21
  26. package/dist/agent-runner.js.map +1 -1
  27. package/dist/agent-types.d.ts +57 -5
  28. package/dist/agent-types.d.ts.map +1 -1
  29. package/dist/agent-types.js +164 -32
  30. package/dist/agent-types.js.map +1 -1
  31. package/dist/child-context.d.ts +3 -0
  32. package/dist/child-context.d.ts.map +1 -0
  33. package/dist/child-context.js +13 -0
  34. package/dist/child-context.js.map +1 -0
  35. package/dist/cross-extension-rpc.d.ts +23 -3
  36. package/dist/cross-extension-rpc.d.ts.map +1 -1
  37. package/dist/cross-extension-rpc.js +79 -17
  38. package/dist/cross-extension-rpc.js.map +1 -1
  39. package/dist/custom-agents.d.ts +38 -1
  40. package/dist/custom-agents.d.ts.map +1 -1
  41. package/dist/custom-agents.js +164 -12
  42. package/dist/custom-agents.js.map +1 -1
  43. package/dist/index.d.ts +34 -0
  44. package/dist/index.d.ts.map +1 -1
  45. package/dist/index.js +1908 -495
  46. package/dist/index.js.map +1 -1
  47. package/dist/invocation-config.d.ts +87 -2
  48. package/dist/invocation-config.d.ts.map +1 -1
  49. package/dist/invocation-config.js +71 -3
  50. package/dist/invocation-config.js.map +1 -1
  51. package/dist/mention-clone.d.ts +88 -0
  52. package/dist/mention-clone.d.ts.map +1 -0
  53. package/dist/mention-clone.js +154 -0
  54. package/dist/mention-clone.js.map +1 -0
  55. package/dist/mention.d.ts +82 -0
  56. package/dist/mention.d.ts.map +1 -0
  57. package/dist/mention.js +132 -0
  58. package/dist/mention.js.map +1 -0
  59. package/dist/model-resolver.d.ts +17 -0
  60. package/dist/model-resolver.d.ts.map +1 -1
  61. package/dist/model-resolver.js +15 -0
  62. package/dist/model-resolver.js.map +1 -1
  63. package/dist/model-scope.d.ts +50 -0
  64. package/dist/model-scope.d.ts.map +1 -0
  65. package/dist/model-scope.js +49 -0
  66. package/dist/model-scope.js.map +1 -0
  67. package/dist/nested-tools.d.ts +57 -0
  68. package/dist/nested-tools.d.ts.map +1 -0
  69. package/dist/nested-tools.js +301 -0
  70. package/dist/nested-tools.js.map +1 -0
  71. package/dist/output-file.d.ts +22 -3
  72. package/dist/output-file.d.ts.map +1 -1
  73. package/dist/output-file.js +58 -7
  74. package/dist/output-file.js.map +1 -1
  75. package/dist/prompts.d.ts +23 -0
  76. package/dist/prompts.d.ts.map +1 -1
  77. package/dist/prompts.js +20 -2
  78. package/dist/prompts.js.map +1 -1
  79. package/dist/schedule.d.ts.map +1 -1
  80. package/dist/schedule.js +36 -15
  81. package/dist/schedule.js.map +1 -1
  82. package/dist/settings.d.ts +228 -2
  83. package/dist/settings.d.ts.map +1 -1
  84. package/dist/settings.js +94 -0
  85. package/dist/settings.js.map +1 -1
  86. package/dist/status-note.d.ts +49 -1
  87. package/dist/status-note.d.ts.map +1 -1
  88. package/dist/status-note.js +62 -1
  89. package/dist/status-note.js.map +1 -1
  90. package/dist/structured-output.d.ts +62 -0
  91. package/dist/structured-output.d.ts.map +1 -0
  92. package/dist/structured-output.js +113 -0
  93. package/dist/structured-output.js.map +1 -0
  94. package/dist/types.d.ts +176 -10
  95. package/dist/types.d.ts.map +1 -1
  96. package/dist/ui/agent-mention.d.ts +83 -0
  97. package/dist/ui/agent-mention.d.ts.map +1 -0
  98. package/dist/ui/agent-mention.js +188 -0
  99. package/dist/ui/agent-mention.js.map +1 -0
  100. package/dist/ui/agent-widget.d.ts +96 -75
  101. package/dist/ui/agent-widget.d.ts.map +1 -1
  102. package/dist/ui/agent-widget.js +397 -420
  103. package/dist/ui/agent-widget.js.map +1 -1
  104. package/dist/ui/conversation-blocks.d.ts.map +1 -1
  105. package/dist/ui/conversation-blocks.js +6 -0
  106. package/dist/ui/conversation-blocks.js.map +1 -1
  107. package/dist/ui/conversation-timeline.d.ts +10 -2
  108. package/dist/ui/conversation-timeline.d.ts.map +1 -1
  109. package/dist/ui/conversation-timeline.js +130 -23
  110. package/dist/ui/conversation-timeline.js.map +1 -1
  111. package/dist/ui/conversation-viewer.d.ts +15 -5
  112. package/dist/ui/conversation-viewer.d.ts.map +1 -1
  113. package/dist/ui/conversation-viewer.js +202 -50
  114. package/dist/ui/conversation-viewer.js.map +1 -1
  115. package/dist/ui/fleet-list.d.ts +198 -0
  116. package/dist/ui/fleet-list.d.ts.map +1 -0
  117. package/dist/ui/fleet-list.js +487 -0
  118. package/dist/ui/fleet-list.js.map +1 -0
  119. package/dist/ui/schedule-menu.d.ts.map +1 -1
  120. package/dist/ui/schedule-menu.js +6 -7
  121. package/dist/ui/schedule-menu.js.map +1 -1
  122. package/dist/ui/select-item.d.ts +28 -0
  123. package/dist/ui/select-item.d.ts.map +1 -0
  124. package/dist/ui/select-item.js +35 -0
  125. package/dist/ui/select-item.js.map +1 -0
  126. package/dist/ui/workflow-card.d.ts +176 -0
  127. package/dist/ui/workflow-card.d.ts.map +1 -0
  128. package/dist/ui/workflow-card.js +333 -0
  129. package/dist/ui/workflow-card.js.map +1 -0
  130. package/dist/ui/workflow-dialog.d.ts +306 -0
  131. package/dist/ui/workflow-dialog.d.ts.map +1 -0
  132. package/dist/ui/workflow-dialog.js +844 -0
  133. package/dist/ui/workflow-dialog.js.map +1 -0
  134. package/dist/ui/workflow-menu.d.ts +61 -0
  135. package/dist/ui/workflow-menu.d.ts.map +1 -0
  136. package/dist/ui/workflow-menu.js +148 -0
  137. package/dist/ui/workflow-menu.js.map +1 -0
  138. package/dist/usage.d.ts +86 -1
  139. package/dist/usage.d.ts.map +1 -1
  140. package/dist/usage.js +72 -1
  141. package/dist/usage.js.map +1 -1
  142. package/dist/workflow/collisions.d.ts +96 -0
  143. package/dist/workflow/collisions.d.ts.map +1 -0
  144. package/dist/workflow/collisions.js +89 -0
  145. package/dist/workflow/collisions.js.map +1 -0
  146. package/dist/workflow/entry.d.ts +33 -0
  147. package/dist/workflow/entry.d.ts.map +1 -0
  148. package/dist/workflow/entry.js +30 -0
  149. package/dist/workflow/entry.js.map +1 -0
  150. package/dist/workflow/host.d.ts +63 -0
  151. package/dist/workflow/host.d.ts.map +1 -0
  152. package/dist/workflow/host.js +363 -0
  153. package/dist/workflow/host.js.map +1 -0
  154. package/dist/workflow/journal.d.ts +98 -0
  155. package/dist/workflow/journal.d.ts.map +1 -0
  156. package/dist/workflow/journal.js +121 -0
  157. package/dist/workflow/journal.js.map +1 -0
  158. package/dist/workflow/json-schema.d.ts +52 -0
  159. package/dist/workflow/json-schema.d.ts.map +1 -0
  160. package/dist/workflow/json-schema.js +112 -0
  161. package/dist/workflow/json-schema.js.map +1 -0
  162. package/dist/workflow/meta.d.ts +68 -0
  163. package/dist/workflow/meta.d.ts.map +1 -0
  164. package/dist/workflow/meta.js +318 -0
  165. package/dist/workflow/meta.js.map +1 -0
  166. package/dist/workflow/progress.d.ts +225 -0
  167. package/dist/workflow/progress.d.ts.map +1 -0
  168. package/dist/workflow/progress.js +362 -0
  169. package/dist/workflow/progress.js.map +1 -0
  170. package/dist/workflow/runtime.d.ts +335 -0
  171. package/dist/workflow/runtime.d.ts.map +1 -0
  172. package/dist/workflow/runtime.js +831 -0
  173. package/dist/workflow/runtime.js.map +1 -0
  174. package/dist/workflow/saved.d.ts +91 -0
  175. package/dist/workflow/saved.d.ts.map +1 -0
  176. package/dist/workflow/saved.js +204 -0
  177. package/dist/workflow/saved.js.map +1 -0
  178. package/dist/workflow/task.d.ts +137 -0
  179. package/dist/workflow/task.d.ts.map +1 -0
  180. package/dist/workflow/task.js +208 -0
  181. package/dist/workflow/task.js.map +1 -0
  182. package/dist/workflow/tool-description.d.ts +39 -0
  183. package/dist/workflow/tool-description.d.ts.map +1 -0
  184. package/dist/workflow/tool-description.js +200 -0
  185. package/dist/workflow/tool-description.js.map +1 -0
  186. package/dist/workflow/worker-source.d.ts +48 -0
  187. package/dist/workflow/worker-source.d.ts.map +1 -0
  188. package/dist/workflow/worker-source.js +779 -0
  189. package/dist/workflow/worker-source.js.map +1 -0
  190. package/dist/worktree.d.ts +10 -3
  191. package/dist/worktree.d.ts.map +1 -1
  192. package/dist/worktree.js +58 -54
  193. package/dist/worktree.js.map +1 -1
  194. package/dist/xml.d.ts +11 -0
  195. package/dist/xml.d.ts.map +1 -0
  196. package/dist/xml.js +13 -0
  197. package/dist/xml.js.map +1 -0
  198. package/docs/rpc.md +183 -0
  199. package/docs/superpowers/plans/2026-09-30-upstream-event-workflow-partial-history.md +195 -0
  200. package/docs/superpowers/specs/2026-09-30-upstream-event-workflow-partial-history-design.md +49 -0
  201. package/docs/workflows.md +437 -0
  202. package/examples/agent-tool-description.md +7 -7
  203. package/examples/workflows/compose.js +51 -0
  204. package/examples/workflows/fan-out-audit.js +47 -0
  205. package/examples/workflows/gated-fix.js +60 -0
  206. package/examples/workflows/lib/count-child.js +27 -0
  207. package/examples/workflows/review-panel.js +63 -0
  208. package/examples/workflows/structured-findings.js +78 -0
  209. package/package.json +1 -1
  210. package/src/abortable.ts +43 -0
  211. package/src/agent-color.ts +161 -0
  212. package/src/agent-file-toggle.ts +269 -0
  213. package/src/agent-history.ts +54 -2
  214. package/src/agent-manager.ts +1263 -402
  215. package/src/agent-runner.ts +251 -27
  216. package/src/agent-types.ts +188 -32
  217. package/src/child-context.ts +15 -0
  218. package/src/cross-extension-rpc.ts +96 -20
  219. package/src/custom-agents.ts +170 -13
  220. package/src/index.ts +2024 -537
  221. package/src/invocation-config.ts +118 -3
  222. package/src/mention-clone.ts +196 -0
  223. package/src/mention.ts +141 -0
  224. package/src/model-resolver.ts +18 -0
  225. package/src/model-scope.ts +70 -0
  226. package/src/nested-tools.ts +424 -0
  227. package/src/output-file.ts +61 -6
  228. package/src/prompts.ts +45 -2
  229. package/src/schedule.ts +35 -14
  230. package/src/settings.ts +312 -2
  231. package/src/status-note.ts +66 -1
  232. package/src/structured-output.ts +130 -0
  233. package/src/types.ts +177 -10
  234. package/src/ui/agent-mention.ts +216 -0
  235. package/src/ui/agent-widget.ts +389 -441
  236. package/src/ui/conversation-blocks.ts +6 -0
  237. package/src/ui/conversation-timeline.ts +139 -25
  238. package/src/ui/conversation-viewer.ts +212 -48
  239. package/src/ui/fleet-list.ts +558 -0
  240. package/src/ui/schedule-menu.ts +9 -8
  241. package/src/ui/select-item.ts +45 -0
  242. package/src/ui/workflow-card.ts +470 -0
  243. package/src/ui/workflow-dialog.ts +1115 -0
  244. package/src/ui/workflow-menu.ts +193 -0
  245. package/src/usage.ts +109 -2
  246. package/src/workflow/collisions.ts +123 -0
  247. package/src/workflow/entry.ts +47 -0
  248. package/src/workflow/host.ts +403 -0
  249. package/src/workflow/journal.ts +164 -0
  250. package/src/workflow/json-schema.ts +128 -0
  251. package/src/workflow/meta.ts +325 -0
  252. package/src/workflow/progress.ts +550 -0
  253. package/src/workflow/runtime.ts +1219 -0
  254. package/src/workflow/saved.ts +217 -0
  255. package/src/workflow/task.ts +302 -0
  256. package/src/workflow/tool-description.ts +200 -0
  257. package/src/workflow/worker-source.ts +781 -0
  258. package/src/worktree.ts +69 -55
  259. package/src/xml.ts +13 -0
  260. package/vitest.config.ts +0 -18
@@ -6,13 +6,15 @@ import { homedir } from "node:os";
6
6
  import { basename, dirname, isAbsolute, join, resolve } from "node:path";
7
7
  import { createAgentSession, DefaultResourceLoader, getAgentDir, SessionManager, SettingsManager, } from "@earendil-works/pi-coding-agent";
8
8
  import { BUILTIN_TOOL_NAMES, getAgentConfig, getConfig, getMemoryToolNames, getReadOnlyMemoryToolNames, getToolNamesForType } from "./agent-types.js";
9
+ import { runInChildSessionContext } from "./child-context.js";
9
10
  import { buildParentContext, extractText } from "./context.js";
10
11
  import { DEFAULT_AGENTS } from "./default-agents.js";
11
12
  import { detectEnv } from "./env.js";
12
13
  import { buildMemoryBlock, buildReadOnlyMemoryBlock } from "./memory.js";
14
+ import { createNestedSubagentTools, getMaxSubagentDepth } from "./nested-tools.js";
13
15
  import { buildAgentPrompt } from "./prompts.js";
14
16
  import { preloadSkills } from "./skill-loader.js";
15
- import { createTrackedWriteTool } from "./write-execution.js";
17
+ import { createStructuredCapture, createStructuredOutputTool, structuredRetryPrompt } from "./structured-output.js";
16
18
  /**
17
19
  * Tool names registered by THIS extension. Single source of truth so the
18
20
  * registration sites (index.ts) and the subagent exclusion list below can't
@@ -21,6 +23,7 @@ import { createTrackedWriteTool } from "./write-execution.js";
21
23
  */
22
24
  export const SUBAGENT_TOOL_NAMES = {
23
25
  AGENT: "Agent",
26
+ WORKFLOW: "SubagentWorkflow",
24
27
  GET_RESULT: "get_subagent_result",
25
28
  STEER: "steer_subagent",
26
29
  };
@@ -203,7 +206,7 @@ export function parseExtSelectors(entries) {
203
206
  * static `allowedToolNames` allowlist already gates the registry itself.
204
207
  */
205
208
  export function installExtensionToolScope(session, ctx) {
206
- const { loader, toolNames, disallowedSet, extNames, narrowing } = ctx;
209
+ const { loader, toolNames, disallowedSet, extNames, narrowing, readmitToolNames } = ctx;
207
210
  // The names allowed right now. Mirrors the `ext:` opt-in flip: when any `ext:`
208
211
  // selector is present, extension tools become an explicit allowlist — a loaded
209
212
  // extension not named by a selector contributes nothing (its handlers still ran),
@@ -228,6 +231,12 @@ export function installExtensionToolScope(session, ctx) {
228
231
  }
229
232
  for (const name of EXCLUDED_TOOL_NAMES)
230
233
  keep.delete(name);
234
+ // Injected tools are legitimately active for this agent — re-admit them so
235
+ // the renarrow keeps them in the active set and beforeToolCall doesn't
236
+ // block them. Already vetted against `disallowed_tools` by the caller,
237
+ // which is the only place that knows which kind may be taken back.
238
+ for (const name of readmitToolNames)
239
+ keep.add(name);
231
240
  return keep;
232
241
  };
233
242
  const renarrow = () => {
@@ -270,6 +279,30 @@ export function normalizeMaxTurns(n) {
270
279
  export function getDefaultMaxTurns() { return defaultMaxTurns; }
271
280
  /** Set the default max turns value. undefined or 0 = unlimited, otherwise minimum 1. */
272
281
  export function setDefaultMaxTurns(n) { defaultMaxTurns = normalizeMaxTurns(n); }
282
+ /**
283
+ * The turn limit a run of `type` will actually enforce: an explicit value if the
284
+ * caller supplied one, else the agent's own `max_turns`, else the project
285
+ * default. `undefined` = unlimited.
286
+ *
287
+ * Exported because the widget's turn counter (`↻3≤20`) has to predict this
288
+ * before the run starts, and a second copy of the expression would drift from
289
+ * the one below that enforces it.
290
+ */
291
+ export function resolveEffectiveMaxTurns(type, explicit) {
292
+ return normalizeMaxTurns(explicit ?? getAgentConfig(type)?.maxTurns ?? defaultMaxTurns);
293
+ }
294
+ /**
295
+ * Project default for `persist_session`, from the `rememberAgents` setting.
296
+ * On by default: a persisted session is what lets `@handle` reopen an agent's
297
+ * conversation after its record has been evicted, which is the whole point of
298
+ * addressing an agent by a name that outlives one run. Per-agent frontmatter
299
+ * still overrides it in both directions.
300
+ */
301
+ let rememberAgents = true;
302
+ /** Whether subagent sessions are persisted by default. */
303
+ export function getRememberAgents() { return rememberAgents; }
304
+ /** Set whether subagent sessions are persisted by default. */
305
+ export function setRememberAgents(b) { rememberAgents = b; }
273
306
  /** Additional turns allowed after the soft limit steer message. */
274
307
  let graceTurns = 5;
275
308
  /** Get the grace turns value. */
@@ -280,7 +313,7 @@ export function setGraceTurns(n) { graceTurns = Math.max(1, n); }
280
313
  * Try to find the right model for an agent type.
281
314
  * Priority: explicit option > config.model > parent model.
282
315
  */
283
- function resolveDefaultModel(parentModel, registry, configModel) {
316
+ export function resolveDefaultModel(parentModel, registry, configModel) {
284
317
  if (configModel) {
285
318
  const slashIdx = configModel.indexOf("/");
286
319
  if (slashIdx !== -1) {
@@ -398,6 +431,10 @@ export async function runAgent(ctx, type, prompt, options) {
398
431
  const parentSystemPrompt = ctx.getSystemPrompt();
399
432
  // Build prompt extras (memory, skill preloading)
400
433
  const extras = {};
434
+ if (options.worktreeBase)
435
+ extras.worktreeBase = options.worktreeBase;
436
+ if (options.workflow && !options.structuredOutput)
437
+ extras.workflowChild = true;
401
438
  // Resolve extensions/skills: isolated overrides to false
402
439
  const extensions = options.isolated ? false : config.extensions;
403
440
  // Nulling excludes under isolated also suppresses the orphaned-exclude warning —
@@ -516,7 +553,7 @@ export async function runAgent(ctx, type, prompt, options) {
516
553
  systemPromptOverride: () => systemPrompt,
517
554
  appendSystemPromptOverride: () => [],
518
555
  });
519
- await loader.reload();
556
+ await runInChildSessionContext(() => loader.reload());
520
557
  // Plain entries in `tools:` are expected to be built-in names (extension tools
521
558
  // go through `ext:`), so an unknown name there is unambiguously a typo. Previously
522
559
  // this produced a silently broken agent (#75) — pi-mono accepted the bogus name
@@ -589,6 +626,51 @@ export async function runAgent(ctx, type, prompt, options) {
589
626
  const disallowedSet = agentConfig?.disallowedTools
590
627
  ? new Set(agentConfig.disallowedTools)
591
628
  : undefined;
629
+ // Nested delegation tools (opt-in, ownership-scoped). Empty unless the agent
630
+ // set `allowed_subagents` and a nestedRuntime was provided — and never when
631
+ // isolated. Their names collide with EXCLUDED_TOOL_NAMES by design, so the
632
+ // scoping below re-admits them explicitly (registry deny + active-set narrow).
633
+ const effectiveMaxDepth = options.nestedRuntime?.maxSubagentDepth ?? getMaxSubagentDepth();
634
+ // At (or past) the cap this agent can never spawn, so it can never own a child
635
+ // to fetch from or steer either — inject nothing rather than three tools whose
636
+ // every call is an error. This is also what makes `maxSubagentDepth` 0/1 mean
637
+ // "nesting off" instead of "nesting always fails".
638
+ const nestedRuntime = options.nestedRuntime && options.nestedRuntime.depth < effectiveMaxDepth
639
+ ? options.nestedRuntime
640
+ : undefined;
641
+ const nestedTools = agentConfig?.allowedSubagents && nestedRuntime && !options.isolated
642
+ ? createNestedSubagentTools({
643
+ manager: nestedRuntime.manager,
644
+ pi: options.pi,
645
+ parentAgentId: nestedRuntime.parentAgentId,
646
+ depth: nestedRuntime.depth,
647
+ maxSubagentDepth: effectiveMaxDepth,
648
+ allowedSubagents: agentConfig.allowedSubagents,
649
+ configCwd,
650
+ })
651
+ : [];
652
+ const nestedToolNames = new Set(nestedTools.map(tool => tool.name));
653
+ // The `agent({ schema })` contract: this child reports its answer by calling
654
+ // StructuredOutput, and `structuredJson` below is what the caller reads. The
655
+ // schema was already compiled by whoever asked for it, so a bad one failed
656
+ // before any of this ran.
657
+ const structuredCapture = options.structuredOutput ? createStructuredCapture() : undefined;
658
+ const structuredTools = options.structuredOutput && structuredCapture
659
+ ? [createStructuredOutputTool(options.structuredOutput, structuredCapture)]
660
+ : [];
661
+ const structuredToolNames = new Set(structuredTools.map(tool => tool.name));
662
+ // Re-admitted together at every gate below. Kept as one set so a new injected
663
+ // tool cannot be added to some of the three gates and forgotten at the rest.
664
+ //
665
+ // `disallowed_tools` is applied HERE rather than at the gates, because the two
666
+ // kinds answer to it differently: a nested delegation tool is an opt-in the
667
+ // agent's own frontmatter can take back, while StructuredOutput exists only
668
+ // because this call asked for a schema — removing it would make the request
669
+ // unsatisfiable by construction rather than merely restricted.
670
+ const readmitToolNames = new Set([
671
+ ...[...nestedToolNames].filter(name => !disallowedSet?.has(name)),
672
+ ...structuredToolNames,
673
+ ]);
592
674
  // ─── Tool scoping ───────────────────────────────────────────────────────
593
675
  //
594
676
  // Some extensions register their tools ASYNCHRONOUSLY, long after the
@@ -620,47 +702,78 @@ export async function runAgent(ctx, type, prompt, options) {
620
702
  let sessionTools;
621
703
  let sessionExcludeTools;
622
704
  if (noExtensions) {
623
- sessionTools = toolNames.filter((t) => !EXCLUDED_TOOL_NAMES.includes(t) && !disallowedSet?.has(t));
705
+ // Strict allowlist: built-ins the agent asked for, plus any opt-in nested
706
+ // tools (whose names would otherwise be dropped as EXCLUDED_TOOL_NAMES).
707
+ sessionTools = [
708
+ ...toolNames.filter((t) => !EXCLUDED_TOOL_NAMES.includes(t) && !disallowedSet?.has(t)),
709
+ ...[...nestedToolNames].filter((t) => !disallowedSet?.has(t)),
710
+ // Not filtered through `disallowedSet`, unlike the nested tools above:
711
+ // the caller asked for a schema, and removing the only tool that can
712
+ // satisfy it would make the request unsatisfiable by construction rather
713
+ // than merely restricted.
714
+ ...structuredToolNames,
715
+ ];
624
716
  }
625
717
  else {
626
- const denyTools = new Set(EXCLUDED_TOOL_NAMES);
718
+ // Deny the orchestration tools EXCEPT the nested ones this agent opted into —
719
+ // those are injected as customTools and must survive the registry gate.
720
+ const denyTools = new Set(EXCLUDED_TOOL_NAMES.filter((t) => !nestedToolNames.has(t)));
627
721
  // Keep only the built-ins the agent asked for — deny the rest.
628
722
  for (const name of BUILTIN_TOOL_NAMES) {
629
723
  if (!builtinToolNameSet.has(name))
630
724
  denyTools.add(name);
631
725
  }
632
726
  if (disallowedSet) {
633
- for (const name of disallowedSet)
634
- denyTools.add(name);
727
+ // disallowed_tools wins even over an opt-in nested tool of the same name.
728
+ // Not over StructuredOutput, though — see the allowlist branch above.
729
+ for (const name of disallowedSet) {
730
+ if (!structuredToolNames.has(name))
731
+ denyTools.add(name);
732
+ }
635
733
  }
636
734
  sessionExcludeTools = [...denyTools];
637
735
  }
638
736
  const settingsManager = SettingsManager.create(configCwd, agentDir);
639
737
  const configuredSessionDir = resolveConfiguredSessionDir(agentConfig?.sessionDir, effectiveCwd);
640
738
  const defaultSessionDir = process.env.PI_CODING_AGENT_SESSION_DIR ?? settingsManager.getSessionDir?.();
641
- const sessionManager = agentConfig?.persistSession
642
- ? SessionManager.create(effectiveCwd, configuredSessionDir ?? defaultSessionDir)
643
- : SessionManager.inMemory(effectiveCwd);
644
- // Keep write tracking session-local. The custom definition shadows only this
645
- // child session's built-in write entry; the parent registry is untouched.
646
- const trackedWriteTool = toolNames.includes("write")
647
- ? createTrackedWriteTool(effectiveCwd)
648
- : undefined;
739
+ // Frontmatter wins when it says anything; otherwise the project default,
740
+ // which `rememberAgents` supplies for top-level agents only. Same precedence
741
+ // as `outputTranscript`.
742
+ const persistSession = agentConfig?.persistSession ?? (options.nested ? false : rememberAgents);
743
+ const sessionManager = options.resumeSessionFile
744
+ // Reopening an existing conversation: the file already carries its own
745
+ // header (cwd, parent) and history, so none of the create-time options
746
+ // apply. `sessionDir` still matters for a later /new or /branch off it.
747
+ ? SessionManager.open(options.resumeSessionFile, configuredSessionDir ?? defaultSessionDir)
748
+ : persistSession
749
+ ? SessionManager.create(effectiveCwd, configuredSessionDir ?? defaultSessionDir, {
750
+ // Optional metadata — it only nests the subagent under its spawner in
751
+ // `/resume`. Until `rememberAgents` this ran solely for the rare
752
+ // `persist_session: true` agent; now it runs for every spawn, so a
753
+ // context without a session manager (a bare programmatic ctx) must
754
+ // still persist rather than take the whole spawn down.
755
+ parentSession: ctx.sessionManager?.getSessionFile?.(),
756
+ })
757
+ : SessionManager.inMemory(effectiveCwd);
649
758
  // Pi 0.80.8 replaced createAgentSession's modelRegistry option with
650
759
  // modelRuntime, but ExtensionContext still exposes only the registry facade.
651
760
  // Pass both so the full supported Pi range retains the parent's providers.
652
- const parentModelRuntime = ctx.modelRegistry.runtime ?? undefined;
761
+ const parentModelRuntime = ctx.modelRegistry.runtime;
653
762
  const sessionOpts = {
654
763
  cwd: effectiveCwd,
655
764
  agentDir,
656
765
  sessionManager,
657
766
  settingsManager,
658
767
  modelRegistry: ctx.modelRegistry,
768
+ // `as never` is what keeps this assignable across the supported Pi range:
769
+ // pre-0.80.8 the field exists only via the `modelRuntime?: unknown` shim
770
+ // above, while newer Pi types it as `ModelRuntime` — a shape an opaque
771
+ // `unknown` read off the private facade field can never satisfy.
659
772
  ...(parentModelRuntime !== undefined && { modelRuntime: parentModelRuntime }),
660
773
  model,
661
774
  tools: sessionTools,
775
+ customTools: [...nestedTools, ...structuredTools],
662
776
  resourceLoader: loader,
663
- ...(trackedWriteTool && { customTools: [trackedWriteTool] }),
664
777
  };
665
778
  if (sessionExcludeTools) {
666
779
  sessionOpts.excludeTools = sessionExcludeTools;
@@ -668,7 +781,7 @@ export async function runAgent(ctx, type, prompt, options) {
668
781
  if (thinkingLevel) {
669
782
  sessionOpts.thinkingLevel = thinkingLevel;
670
783
  }
671
- const { session } = await createAgentSession(sessionOpts);
784
+ const { session } = await runInChildSessionContext(() => createAgentSession(sessionOpts));
672
785
  const baseSessionName = agentConfig?.name ?? type;
673
786
  session.setSessionName(options.agentId ? `${baseSessionName}#${options.agentId.slice(0, 8)}` : baseSessionName);
674
787
  // Bind extensions so that session_start fires and extensions can initialize
@@ -696,12 +809,13 @@ export async function runAgent(ctx, type, prompt, options) {
696
809
  disallowedSet,
697
810
  extNames,
698
811
  narrowing,
812
+ readmitToolNames,
699
813
  });
700
814
  }
701
815
  options.onSessionCreated?.(session);
702
816
  // Track turns for graceful max_turns enforcement
703
817
  let turnCount = 0;
704
- const maxTurns = normalizeMaxTurns(options.maxTurns ?? agentConfig?.maxTurns ?? defaultMaxTurns);
818
+ const maxTurns = resolveEffectiveMaxTurns(type, options.maxTurns);
705
819
  let softLimitReached = false;
706
820
  let aborted = false;
707
821
  let currentMessageText = "";
@@ -740,6 +854,8 @@ export async function runAgent(ctx, type, prompt, options) {
740
854
  input: u.input ?? 0,
741
855
  output: u.output ?? 0,
742
856
  cacheWrite: u.cacheWrite ?? 0,
857
+ cacheRead: u.cacheRead ?? 0,
858
+ cost: u.cost?.total ?? 0,
743
859
  });
744
860
  }
745
861
  if (event.type === "compaction_end" && !event.aborted && event.result) {
@@ -759,8 +875,19 @@ export async function runAgent(ctx, type, prompt, options) {
759
875
  // Boundary for the history fallback: only assistant text produced from here
760
876
  // on counts as this run's output (a fresh session, so usually 0).
761
877
  const startLen = session.messages.length;
878
+ let structuredRetried = false;
762
879
  try {
763
880
  await session.prompt(effectivePrompt);
881
+ // One more prompt when a schema was asked for and nothing usable came back
882
+ // — the model answered in prose, or only ever called the tool invalidly.
883
+ // Inside this `try`, so the turn tracking, the text collector and above all
884
+ // the abort forwarding are still live: torn down first, a retry would be
885
+ // unkillable.
886
+ if (structuredCapture !== undefined && structuredCapture.json === undefined
887
+ && !aborted && options.signal?.aborted !== true) {
888
+ structuredRetried = true;
889
+ await session.prompt(structuredRetryPrompt(structuredCapture));
890
+ }
764
891
  }
765
892
  finally {
766
893
  unsubTurns();
@@ -768,7 +895,23 @@ export async function runAgent(ctx, type, prompt, options) {
768
895
  cleanupAbort();
769
896
  }
770
897
  const responseText = collector.getText().trim() || getLastAssistantText(session, startLen);
771
- return { responseText, session, aborted, steered: softLimitReached, failure: finalTurnError(session, startLen) };
898
+ // A child asked for structured output that never gave any has failed, however
899
+ // articulate its prose was. Reported through `failure` so it travels the same
900
+ // path as a provider error rather than arriving as a successful empty answer.
901
+ const structuredFailure = structuredCapture !== undefined && structuredCapture.json === undefined
902
+ ? structuredCapture.lastError !== undefined
903
+ ? `The agent's StructuredOutput call did not match the required schema: ${structuredCapture.lastError}`
904
+ : "The agent did not report its answer through StructuredOutput."
905
+ : undefined;
906
+ return {
907
+ responseText,
908
+ session,
909
+ aborted,
910
+ steered: softLimitReached,
911
+ failure: finalTurnError(session, startLen) ?? structuredFailure,
912
+ ...(structuredCapture?.json !== undefined ? { structuredJson: structuredCapture.json } : {}),
913
+ ...(structuredRetried ? { structuredRetried } : {}),
914
+ };
772
915
  }
773
916
  /**
774
917
  * Send a new prompt to an existing session (resume).
@@ -793,6 +936,8 @@ export async function resumeAgent(session, prompt, options = {}) {
793
936
  input: u.input ?? 0,
794
937
  output: u.output ?? 0,
795
938
  cacheWrite: u.cacheWrite ?? 0,
939
+ cacheRead: u.cacheRead ?? 0,
940
+ cost: u.cost?.total ?? 0,
796
941
  });
797
942
  }
798
943
  if (event.type === "compaction_end" && !event.aborted && event.result) {
@@ -1 +1 @@
1
- {"version":3,"file":"agent-runner.js","sourceRoot":"","sources":["../src/agent-runner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent-runner.js","sourceRoot":"","sources":["../src/agent-runner.ts"],"names":[],"mappings":"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"}
@@ -18,19 +18,70 @@ export declare const BUILTIN_TOOL_NAMES: string[];
18
18
  export declare function isDefaultsDisabled(): boolean;
19
19
  /** Set whether default agents are disabled. */
20
20
  export declare function setDefaultsDisabled(b: boolean): void;
21
+ /** `fallbackSubagent` value that disables the fallback entirely (strict dispatch). */
22
+ export declare const NO_FALLBACK = "none";
23
+ /** Get the configured fallback agent type. undefined = general-purpose. */
24
+ export declare function getFallbackSubagent(): string | undefined;
25
+ /** Set the configured fallback agent type. undefined = general-purpose. */
26
+ export declare function setFallbackSubagent(v: string | undefined): void;
27
+ /**
28
+ * Build a registry map: DEFAULT_AGENTS first (unless disabled via settings),
29
+ * then user agents overlaid on top (same name overrides the default).
30
+ * Pure — callers that must not disturb the process-wide registry (nested
31
+ * delegation resolving agents from its own config root) build their own map.
32
+ */
33
+ export declare function buildAgentRegistry(userAgents: Map<string, AgentConfig>): Map<string, AgentConfig>;
21
34
  /**
22
35
  * Register agents into the unified registry.
23
36
  * Starts with DEFAULT_AGENTS, then overlays user agents (overrides defaults with same name).
24
37
  * Disabled agents (enabled === false) are kept in the registry but excluded from spawning.
25
38
  */
26
39
  export declare function registerAgents(userAgents: Map<string, AgentConfig>): void;
40
+ /** Resolve a type name case-insensitively in a registry. Returns the canonical key or undefined. */
41
+ export declare function resolveTypeIn(registry: Map<string, AgentConfig>, name: string): string | undefined;
42
+ /** Get the agent config for a type (case-insensitive) from a registry. */
43
+ export declare function getAgentConfigIn(registry: Map<string, AgentConfig>, name: string): AgentConfig | undefined;
44
+ /** Check if a type is valid and enabled (case-insensitive) in a registry. */
45
+ export declare function isValidTypeIn(registry: Map<string, AgentConfig>, type: string): boolean;
46
+ /** Get all enabled type names in a registry (for spawning and tool descriptions). */
47
+ export declare function getAvailableTypesIn(registry: Map<string, AgentConfig>): string[];
27
48
  /**
28
- * Apply npm:pi-subagents-style JSON overrides to the current agent registry.
29
- * Reads from ~/.pi/agent/settings.json and .pi/settings.json and applies
30
- * them as the highest-priority layer. Auto-registers agents that don't
31
- * exist in the registry yet.
49
+ * The canonical key for a caller-supplied name that identifies exactly one
50
+ * ENABLED agent, or undefined. Strict by construction: no fallback, no guessing
51
+ * between case-variants. Nested delegation resolves with this directly, since
52
+ * "unknown types are rejected rather than falling back" is its own contract.
53
+ */
54
+ export declare function resolveEnabledTypeIn(registry: Map<string, AgentConfig>, requested: unknown): string | undefined;
55
+ /** Outcome of resolving a caller-supplied `subagent_type` into a spawnable type. */
56
+ export type SpawnTypeResolution =
57
+ /** Spawn this type. `fellBackFrom` is set when it isn't what the caller asked for. */
58
+ {
59
+ ok: true;
60
+ type: string;
61
+ fellBackFrom?: string;
62
+ }
63
+ /** Refuse the spawn and return this message to the caller. */
64
+ | {
65
+ ok: false;
66
+ message: string;
67
+ };
68
+ /**
69
+ * Resolve a caller-supplied agent type against a registry, applying the
70
+ * `fallbackSubagent` policy. The single decision point for every caller-supplied
71
+ * spawn — the Agent tool, the scheduler, cross-extension RPC, and the nested
72
+ * tools — so a type that fails here never reaches `runAgent`, where `getConfig`
73
+ * would silently substitute general-purpose.
74
+ *
75
+ * Unknown, disabled, and case-ambiguous names are all treated the same way:
76
+ * the caller named something that doesn't identify exactly one enabled agent.
77
+ *
78
+ * Pure over `registry` — callers that need fresh agent files reload before
79
+ * calling (the Agent tool already does, per spawn). Reloading here would mean
80
+ * importing custom-agents.ts, which imports this module.
32
81
  */
33
- export declare function applyNicoOverrides(): void;
82
+ export declare function resolveSpawnTypeIn(registry: Map<string, AgentConfig>, requested: unknown): SpawnTypeResolution;
83
+ /** Resolve a caller-supplied agent type against the process-wide registry. */
84
+ export declare function resolveSpawnType(requested: unknown): SpawnTypeResolution;
34
85
  /** Resolve a type name case-insensitively. Returns the canonical key or undefined. */
35
86
  export declare function resolveType(name: string): string | undefined;
36
87
  /** Get the agent config for a type (case-insensitive). */
@@ -58,6 +109,7 @@ export declare function getToolNamesForType(type: string): string[];
58
109
  /** Get config for a type (case-insensitive, returns a SubagentTypeConfig-compatible object). Falls back to general-purpose. */
59
110
  export declare function getConfig(type: string): {
60
111
  displayName: string;
112
+ color?: string;
61
113
  description: string;
62
114
  builtinToolNames: string[];
63
115
  extensions: true | string[] | false;
@@ -1 +1 @@
1
- {"version":3,"file":"agent-types.d.ts","sourceRoot":"","sources":["../src/agent-types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAG9C;;;;;;;GAOG;AACH,eAAO,MAAM,kBAAkB,EAAE,MAAM,EAEtC,CAAC;AAQF,iDAAiD;AACjD,wBAAgB,kBAAkB,IAAI,OAAO,CAA4B;AAEzE,+CAA+C;AAC/C,wBAAgB,mBAAmB,CAAC,CAAC,EAAE,OAAO,GAAG,IAAI,CAAyB;AAE9E;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,GAAG,IAAI,CAczE;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,IAAI,IAAI,CAGzC;AAYD,sFAAsF;AACtF,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAE5D;AAED,0DAA0D;AAC1D,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS,CAGpE;AAED,uEAAuE;AACvE,wBAAgB,iBAAiB,IAAI,MAAM,EAAE,CAI5C;AAED,8DAA8D;AAC9D,wBAAgB,WAAW,IAAI,MAAM,EAAE,CAEtC;AAED,6DAA6D;AAC7D,wBAAgB,oBAAoB,IAAI,MAAM,EAAE,CAI/C;AAED,iFAAiF;AACjF,wBAAgB,iBAAiB,IAAI,MAAM,EAAE,CAI5C;AAED,+DAA+D;AAC/D,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAIjD;AAKD;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,iBAAiB,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG,MAAM,EAAE,CAE3E;AAKD;;GAEG;AACH,wBAAgB,0BAA0B,CAAC,iBAAiB,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG,MAAM,EAAE,CAEnF;AAED,6DAA6D;AAC7D,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAO1D;AAED,+HAA+H;AAC/H,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG;IACvC,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,UAAU,EAAE,IAAI,GAAG,MAAM,EAAE,GAAG,KAAK,CAAC;IACpC,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC7B,MAAM,EAAE,IAAI,GAAG,MAAM,EAAE,GAAG,KAAK,CAAC;IAChC,UAAU,EAAE,SAAS,GAAG,QAAQ,CAAC;CAClC,CAsCA"}
1
+ {"version":3,"file":"agent-types.d.ts","sourceRoot":"","sources":["../src/agent-types.ts"],"names":[],"mappings":"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"}