pi-subagents 0.74.0 → 0.76.0

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 (237) hide show
  1. package/CHANGELOG.md +83 -0
  2. package/docs/agents.md +15 -5
  3. package/docs/configuration.md +14 -2
  4. package/docs/extension-api.md +2 -2
  5. package/docs/missions.md +27 -3
  6. package/docs/models.md +6 -2
  7. package/docs/observability.md +8 -3
  8. package/docs/tool-reference.md +48 -8
  9. package/docs/workflows.md +3 -3
  10. package/package.json +2 -1
  11. package/src/agents/agent-memory.js +3 -3
  12. package/src/agents/agent-memory.js.map +1 -1
  13. package/src/agents/agent-serializer.d.ts.map +1 -1
  14. package/src/agents/agent-serializer.js +8 -1
  15. package/src/agents/agent-serializer.js.map +1 -1
  16. package/src/agents/agents.d.ts +1 -0
  17. package/src/agents/agents.d.ts.map +1 -1
  18. package/src/agents/agents.js +137 -95
  19. package/src/agents/agents.js.map +1 -1
  20. package/src/api/preflight.d.ts +1 -1
  21. package/src/api/preflight.d.ts.map +1 -1
  22. package/src/api/preflight.js +44 -1
  23. package/src/api/preflight.js.map +1 -1
  24. package/src/extension/config.d.ts.map +1 -1
  25. package/src/extension/config.js +4 -1
  26. package/src/extension/config.js.map +1 -1
  27. package/src/extension/index.d.ts.map +1 -1
  28. package/src/extension/index.js +62 -22
  29. package/src/extension/index.js.map +1 -1
  30. package/src/extension/public-execution.d.ts.map +1 -1
  31. package/src/extension/public-execution.js +4 -0
  32. package/src/extension/public-execution.js.map +1 -1
  33. package/src/extension/reply-workflow-script.d.ts.map +1 -1
  34. package/src/extension/reply-workflow-script.js +21 -12
  35. package/src/extension/reply-workflow-script.js.map +1 -1
  36. package/src/extension/rpc.js +1 -1
  37. package/src/extension/rpc.js.map +1 -1
  38. package/src/extension/schemas.d.ts +2 -1
  39. package/src/extension/schemas.d.ts.map +1 -1
  40. package/src/extension/schemas.js +13 -11
  41. package/src/extension/schemas.js.map +1 -1
  42. package/src/extension/tool-description.js +2 -2
  43. package/src/extension/tool-description.js.map +1 -1
  44. package/src/intercom/result-intercom.d.ts.map +1 -1
  45. package/src/intercom/result-intercom.js +2 -1
  46. package/src/intercom/result-intercom.js.map +1 -1
  47. package/src/missions/goal-driver.d.ts +1 -0
  48. package/src/missions/goal-driver.d.ts.map +1 -1
  49. package/src/missions/goal-driver.js +49 -34
  50. package/src/missions/goal-driver.js.map +1 -1
  51. package/src/missions/store.d.ts.map +1 -1
  52. package/src/missions/store.js +11 -1
  53. package/src/missions/store.js.map +1 -1
  54. package/src/profiles/profiles.d.ts +1 -1
  55. package/src/profiles/profiles.d.ts.map +1 -1
  56. package/src/profiles/profiles.js +29 -22
  57. package/src/profiles/profiles.js.map +1 -1
  58. package/src/runs/background/active-async-capacity.d.ts +15 -1
  59. package/src/runs/background/active-async-capacity.d.ts.map +1 -1
  60. package/src/runs/background/active-async-capacity.js +51 -6
  61. package/src/runs/background/active-async-capacity.js.map +1 -1
  62. package/src/runs/background/async-execution.d.ts +13 -0
  63. package/src/runs/background/async-execution.d.ts.map +1 -1
  64. package/src/runs/background/async-execution.js +89 -6
  65. package/src/runs/background/async-execution.js.map +1 -1
  66. package/src/runs/background/async-job-tracker.d.ts +4 -2
  67. package/src/runs/background/async-job-tracker.d.ts.map +1 -1
  68. package/src/runs/background/async-job-tracker.js +4 -3
  69. package/src/runs/background/async-job-tracker.js.map +1 -1
  70. package/src/runs/background/await-async-run.d.ts.map +1 -1
  71. package/src/runs/background/await-async-run.js +4 -2
  72. package/src/runs/background/await-async-run.js.map +1 -1
  73. package/src/runs/background/calendar-schedule.d.ts +27 -0
  74. package/src/runs/background/calendar-schedule.d.ts.map +1 -0
  75. package/src/runs/background/calendar-schedule.js +94 -0
  76. package/src/runs/background/calendar-schedule.js.map +1 -0
  77. package/src/runs/background/control-channel.d.ts +10 -0
  78. package/src/runs/background/control-channel.d.ts.map +1 -1
  79. package/src/runs/background/control-channel.js +51 -0
  80. package/src/runs/background/control-channel.js.map +1 -1
  81. package/src/runs/background/notify.d.ts +6 -0
  82. package/src/runs/background/notify.d.ts.map +1 -1
  83. package/src/runs/background/notify.js +24 -4
  84. package/src/runs/background/notify.js.map +1 -1
  85. package/src/runs/background/result-watcher.d.ts +5 -1
  86. package/src/runs/background/result-watcher.d.ts.map +1 -1
  87. package/src/runs/background/result-watcher.js +44 -7
  88. package/src/runs/background/result-watcher.js.map +1 -1
  89. package/src/runs/background/run-child-session.d.ts +2 -0
  90. package/src/runs/background/run-child-session.d.ts.map +1 -1
  91. package/src/runs/background/run-child-session.js +32 -7
  92. package/src/runs/background/run-child-session.js.map +1 -1
  93. package/src/runs/background/runner-aliases.d.ts +1 -0
  94. package/src/runs/background/runner-aliases.d.ts.map +1 -1
  95. package/src/runs/background/runner-aliases.js +6 -2
  96. package/src/runs/background/runner-aliases.js.map +1 -1
  97. package/src/runs/background/scheduled-runs.d.ts +5 -2
  98. package/src/runs/background/scheduled-runs.d.ts.map +1 -1
  99. package/src/runs/background/scheduled-runs.js +210 -56
  100. package/src/runs/background/scheduled-runs.js.map +1 -1
  101. package/src/runs/background/stale-run-reconciler.d.ts +1 -1
  102. package/src/runs/background/stale-run-reconciler.d.ts.map +1 -1
  103. package/src/runs/background/stale-run-reconciler.js +15 -2
  104. package/src/runs/background/stale-run-reconciler.js.map +1 -1
  105. package/src/runs/background/subagent-runner.d.ts +1 -0
  106. package/src/runs/background/subagent-runner.d.ts.map +1 -1
  107. package/src/runs/background/subagent-runner.js +58 -9
  108. package/src/runs/background/subagent-runner.js.map +1 -1
  109. package/src/runs/background/wait-completions.d.ts.map +1 -1
  110. package/src/runs/background/wait-completions.js +1 -0
  111. package/src/runs/background/wait-completions.js.map +1 -1
  112. package/src/runs/background/workflow-terminal-proof.d.ts +14 -1
  113. package/src/runs/background/workflow-terminal-proof.d.ts.map +1 -1
  114. package/src/runs/background/workflow-terminal-proof.js +41 -28
  115. package/src/runs/background/workflow-terminal-proof.js.map +1 -1
  116. package/src/runs/foreground/command-action.d.ts +13 -0
  117. package/src/runs/foreground/command-action.d.ts.map +1 -0
  118. package/src/runs/foreground/command-action.js +38 -0
  119. package/src/runs/foreground/command-action.js.map +1 -0
  120. package/src/runs/foreground/execution.d.ts.map +1 -1
  121. package/src/runs/foreground/execution.js +42 -8
  122. package/src/runs/foreground/execution.js.map +1 -1
  123. package/src/runs/foreground/foreground-history.d.ts.map +1 -1
  124. package/src/runs/foreground/foreground-history.js +1 -0
  125. package/src/runs/foreground/foreground-history.js.map +1 -1
  126. package/src/runs/foreground/subagent-executor.d.ts +2 -1
  127. package/src/runs/foreground/subagent-executor.d.ts.map +1 -1
  128. package/src/runs/foreground/subagent-executor.js +108 -17
  129. package/src/runs/foreground/subagent-executor.js.map +1 -1
  130. package/src/runs/shared/child-commands.d.ts +28 -0
  131. package/src/runs/shared/child-commands.d.ts.map +1 -0
  132. package/src/runs/shared/child-commands.js +250 -0
  133. package/src/runs/shared/child-commands.js.map +1 -0
  134. package/src/runs/shared/child-session.d.ts +4 -0
  135. package/src/runs/shared/child-session.d.ts.map +1 -1
  136. package/src/runs/shared/child-session.js +107 -22
  137. package/src/runs/shared/child-session.js.map +1 -1
  138. package/src/runs/shared/child-tool-plan.js +1 -1
  139. package/src/runs/shared/child-tool-plan.js.map +1 -1
  140. package/src/runs/shared/claude-code-adapter.d.ts +56 -0
  141. package/src/runs/shared/claude-code-adapter.d.ts.map +1 -1
  142. package/src/runs/shared/claude-code-adapter.js +138 -2
  143. package/src/runs/shared/claude-code-adapter.js.map +1 -1
  144. package/src/runs/shared/dynamic-fanout.js +1 -1
  145. package/src/runs/shared/dynamic-fanout.js.map +1 -1
  146. package/src/runs/shared/external-cli-preflight.d.ts +10 -0
  147. package/src/runs/shared/external-cli-preflight.d.ts.map +1 -1
  148. package/src/runs/shared/external-cli-preflight.js +50 -6
  149. package/src/runs/shared/external-cli-preflight.js.map +1 -1
  150. package/src/runs/shared/external-cli-runner.d.ts.map +1 -1
  151. package/src/runs/shared/external-cli-runner.js +4 -2
  152. package/src/runs/shared/external-cli-runner.js.map +1 -1
  153. package/src/runs/shared/mcp-direct-tool-allowlist.d.ts.map +1 -1
  154. package/src/runs/shared/mcp-direct-tool-allowlist.js +8 -5
  155. package/src/runs/shared/mcp-direct-tool-allowlist.js.map +1 -1
  156. package/src/runs/shared/model-resolution.d.ts +6 -2
  157. package/src/runs/shared/model-resolution.d.ts.map +1 -1
  158. package/src/runs/shared/model-resolution.js +9 -2
  159. package/src/runs/shared/model-resolution.js.map +1 -1
  160. package/src/runs/shared/parallel-handoff.d.ts +10 -4
  161. package/src/runs/shared/parallel-handoff.d.ts.map +1 -1
  162. package/src/runs/shared/parallel-handoff.js +53 -6
  163. package/src/runs/shared/parallel-handoff.js.map +1 -1
  164. package/src/runs/shared/parallel-utils.d.ts +2 -0
  165. package/src/runs/shared/parallel-utils.d.ts.map +1 -1
  166. package/src/runs/shared/parallel-utils.js.map +1 -1
  167. package/src/runs/shared/partial-output.d.ts +18 -0
  168. package/src/runs/shared/partial-output.d.ts.map +1 -0
  169. package/src/runs/shared/partial-output.js +29 -0
  170. package/src/runs/shared/partial-output.js.map +1 -0
  171. package/src/runs/shared/run-history.d.ts +47 -0
  172. package/src/runs/shared/run-history.d.ts.map +1 -1
  173. package/src/runs/shared/run-history.js +70 -0
  174. package/src/runs/shared/run-history.js.map +1 -1
  175. package/src/runs/shared/subagent-control.d.ts.map +1 -1
  176. package/src/runs/shared/subagent-control.js +30 -17
  177. package/src/runs/shared/subagent-control.js.map +1 -1
  178. package/src/runs/shared/subagent-prompt-runtime.d.ts +1 -0
  179. package/src/runs/shared/subagent-prompt-runtime.d.ts.map +1 -1
  180. package/src/runs/shared/subagent-prompt-runtime.js +12 -5
  181. package/src/runs/shared/subagent-prompt-runtime.js.map +1 -1
  182. package/src/runs/shared/worktree-cleanup-apply.d.ts +37 -0
  183. package/src/runs/shared/worktree-cleanup-apply.d.ts.map +1 -0
  184. package/src/runs/shared/worktree-cleanup-apply.js +179 -0
  185. package/src/runs/shared/worktree-cleanup-apply.js.map +1 -0
  186. package/src/runs/shared/worktree-cleanup-plan.d.ts +7 -0
  187. package/src/runs/shared/worktree-cleanup-plan.d.ts.map +1 -1
  188. package/src/runs/shared/worktree-cleanup-plan.js +41 -19
  189. package/src/runs/shared/worktree-cleanup-plan.js.map +1 -1
  190. package/src/runs/shared/worktree-lock.d.ts +6 -0
  191. package/src/runs/shared/worktree-lock.d.ts.map +1 -0
  192. package/src/runs/shared/worktree-lock.js +41 -0
  193. package/src/runs/shared/worktree-lock.js.map +1 -0
  194. package/src/runs/shared/worktree.d.ts +3 -0
  195. package/src/runs/shared/worktree.d.ts.map +1 -1
  196. package/src/runs/shared/worktree.js +9 -1
  197. package/src/runs/shared/worktree.js.map +1 -1
  198. package/src/shared/file-lease.d.ts +5 -0
  199. package/src/shared/file-lease.d.ts.map +1 -0
  200. package/src/shared/file-lease.js +101 -0
  201. package/src/shared/file-lease.js.map +1 -0
  202. package/src/shared/required-child-extensions.d.ts +16 -1
  203. package/src/shared/required-child-extensions.d.ts.map +1 -1
  204. package/src/shared/required-child-extensions.js +37 -5
  205. package/src/shared/required-child-extensions.js.map +1 -1
  206. package/src/shared/settings-file-lease.d.ts +5 -0
  207. package/src/shared/settings-file-lease.d.ts.map +1 -0
  208. package/src/shared/settings-file-lease.js +39 -0
  209. package/src/shared/settings-file-lease.js.map +1 -0
  210. package/src/shared/types.d.ts +16 -1
  211. package/src/shared/types.d.ts.map +1 -1
  212. package/src/shared/types.js +1 -1
  213. package/src/shared/types.js.map +1 -1
  214. package/src/slash/subagent-cost.d.ts.map +1 -1
  215. package/src/slash/subagent-cost.js +8 -4
  216. package/src/slash/subagent-cost.js.map +1 -1
  217. package/src/tui/render.d.ts +1 -1
  218. package/src/tui/render.d.ts.map +1 -1
  219. package/src/tui/render.js +11 -6
  220. package/src/tui/render.js.map +1 -1
  221. package/src/watchdog/diff-tool.js +2 -2
  222. package/src/watchdog/diff-tool.js.map +1 -1
  223. package/src/watchdog/register-main.js +1 -2
  224. package/src/watchdog/register-main.js.map +1 -1
  225. package/src/watchdog/runtime.d.ts +3 -3
  226. package/src/watchdog/runtime.d.ts.map +1 -1
  227. package/src/watchdog/runtime.js +7 -3
  228. package/src/watchdog/runtime.js.map +1 -1
  229. package/src/watchdog/settings.d.ts.map +1 -1
  230. package/src/watchdog/settings.js +22 -17
  231. package/src/watchdog/settings.js.map +1 -1
  232. package/src/workflows/workflow-receipt.js +2 -2
  233. package/src/workflows/workflow-receipt.js.map +1 -1
  234. package/src/workflows/workflow-resources.d.ts +4 -0
  235. package/src/workflows/workflow-resources.d.ts.map +1 -1
  236. package/src/workflows/workflow-resources.js +7 -4
  237. package/src/workflows/workflow-resources.js.map +1 -1
@@ -5,6 +5,7 @@
5
5
  * `sendMessage()` accepts the notification. The event bus remains an
6
6
  * observation channel, not a delivery acknowledgement.
7
7
  */
8
+ import type { AgentMessage } from "@earendil-works/pi-agent-core";
8
9
  import type { ExtensionAPI } from "@earendil-works/pi-coding-agent";
9
10
  import { type CompletionBatchConfig } from "./completion-batcher.ts";
10
11
  import { type ChildWatchdogProgress, type ChildWatchdogWarningSummary, type ParallelHandoffReference, type ScheduleOrigin, type SubagentState } from "../../shared/types.ts";
@@ -140,7 +141,12 @@ export interface RegisterSubagentNotifyOptions {
140
141
  }
141
142
  export interface CompletionNotifier {
142
143
  deliver(result: CompletionNotification): Promise<boolean>;
144
+ /** True while a completion is batched, being sent, or accepted as a wake that Pi has not started yet. */
143
145
  hasPendingDelivery(): boolean;
146
+ /** Releases a completion wake once Pi starts it (native message_start). */
147
+ messageStarted(message: AgentMessage): void;
148
+ /** Send every batched completion now instead of waiting for its batch timer. */
149
+ flush(): void;
144
150
  dispose(): void;
145
151
  }
146
152
  interface RetainedPathError {
@@ -1 +1 @@
1
- {"version":3,"file":"notify.d.ts","sourceRoot":"","sources":["../../../../src/runs/background/notify.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"notify.d.ts","sourceRoot":"","sources":["../../../../src/runs/background/notify.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAEpE,OAAO,EACN,KAAK,qBAAqB,EAI1B,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAqE,KAAK,qBAAqB,EAAE,KAAK,2BAA2B,EAAE,KAAK,wBAAwB,EAAE,KAAK,cAAc,EAAE,KAAK,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAIhP,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAC;AAE9E,MAAM,WAAW,yBAAyB;IACzC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,uFAAuF;IACvF,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,mBAAmB,CAAC,EAAE,iBAAiB,CAAC;IACxC,qBAAqB,CAAC,EAAE,iBAAiB,CAAC;IAC1C,OAAO,EAAE,MAAM,CAAC;IAChB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,wBAAwB,CAAC,EAAE,MAAM,CAAC;CAClC;AAED,MAAM,MAAM,6BAA6B,GAAG,IAAI,CAAC,2BAA2B,EAAE,SAAS,GAAG,WAAW,GAAG,WAAW,CAAC,GAAG;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAEzI,MAAM,WAAW,qBAAqB;IACrC,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,WAAW,GAAG,QAAQ,GAAG,QAAQ,GAAG,SAAS,CAAC;IACtD,MAAM,CAAC,EAAE,OAAO,GAAG,YAAY,CAAC;IAChC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,KAAK,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC5F,YAAY,CAAC,EAAE,yBAAyB,EAAE,CAAC;IAC3C,2BAA2B,CAAC,EAAE,MAAM,CAAC;IACrC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,wDAAwD;IACxD,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,gBAAgB,CAAC,EAAE,6BAA6B,EAAE,CAAC;CACnD;AAED,MAAM,WAAW,0BAA0B;IAC1C,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,WAAW,GAAG,QAAQ,GAAG,QAAQ,GAAG,SAAS,CAAC;IACvD,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,eAAe,EAAE,OAAO,CAAC;CACzB;AAED,MAAM,WAAW,sBAAsB;IACtC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;IACvB,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACnB,MAAM,CAAC,EAAE,OAAO,GAAG,YAAY,CAAC;IAChC,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,2BAA2B,CAAC,EAAE,MAAM,CAAC;IACrC,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,OAAO,CAAC,EAAE,KAAK,CAAC;QACf,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,OAAO,CAAC,EAAE,OAAO,CAAC;QAClB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,gBAAgB,CAAC,EAAE,OAAO,CAAC;QAC3B,oBAAoB,CAAC,EAAE,MAAM,CAAC;QAC9B,WAAW,CAAC,EAAE,SAAS,GAAG,QAAQ,GAAG,SAAS,CAAC;QAC/C,eAAe,CAAC,EAAE,MAAM,GAAG;YAAE,IAAI,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC;QAC7C,aAAa,CAAC,EAAE;YAAE,UAAU,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC;QACxC,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,wBAAwB,CAAC,EAAE,IAAI,CAAC;QAChC,QAAQ,CAAC,EAAE,OAAO,CAAC;QACnB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QACzB,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAC9B,WAAW,CAAC,EAAE,OAAO,CAAC;QACtB,QAAQ,CAAC,EAAE,OAAO,CAAC;QACnB,OAAO,CAAC,EAAE,OAAO,CAAC;QAClB,kBAAkB,CAAC,EAAE,OAAO,CAAC;QAC7B,QAAQ,CAAC,EAAE,qBAAqB,CAAC;KACjC,CAAC,CAAC;IACH,QAAQ,CAAC,EAAE,qBAAqB,CAAC;IACjC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,iBAAiB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,mFAAmF;IACnF,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,eAAe,CAAC,EAAE,wBAAwB,CAAC;IAC3C,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,QAAQ,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,UAAU,cAAc;IACvB,UAAU,CAAC,OAAO,EAAE,MAAM,IAAI,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC;IAC1D,YAAY,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI,CAAC;CACpC;AAED,MAAM,WAAW,6BAA6B;IAC7C,WAAW,CAAC,EAAE,qBAAqB,CAAC;IACpC,MAAM,CAAC,EAAE,cAAc,CAAC;IACxB,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,IAAI,CAAC,uBAAuB,EAAE,MAAM,CAAC,CAAC;IAClD,YAAY,CAAC,EAAE,sBAAsB,CAAC;CACtC;AAED,MAAM,WAAW,kBAAkB;IAClC,OAAO,CAAC,MAAM,EAAE,sBAAsB,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAC1D,yGAAyG;IACzG,kBAAkB,IAAI,OAAO,CAAC;IAC9B,2EAA2E;IAC3E,cAAc,CAAC,OAAO,EAAE,YAAY,GAAG,IAAI,CAAC;IAC5C,gFAAgF;IAChF,KAAK,IAAI,IAAI,CAAC;IACd,OAAO,IAAI,IAAI,CAAC;CAChB;AAQD,UAAU,iBAAiB;IAAG,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE;AAqL5E,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,qBAAqB,GAAG,MAAM,CAyB7E;AAED,wBAAgB,+BAA+B,CAAC,MAAM,EAAE,cAAc,GAAG,SAAS,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAE5G;AAED;;;;;GAKG;AACH,wBAAgB,sCAAsC,CACrD,KAAK,EAAE,IAAI,CAAC,0BAA0B,EAAE,SAAS,GAAG,iBAAiB,CAAC,EACtE,MAAM,EAAE,cAAc,GAAG,SAAS,GAChC,OAAO,CAGT;AAED,wBAAgB,gCAAgC,CAAC,KAAK,EAAE,0BAA0B,GAAG,MAAM,CAc1F;AAED,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,MAAM,GAAG,qBAAqB,GAAG,SAAS,CAyE7F;AAED,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,qBAAqB,EAAE,GAAG,MAAM,CAiBhF;AAmCD,MAAM,WAAW,mBAAmB;IACnC,KAAK,EAAE,OAAO,CAAC;IACf,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;IAC1B,MAAM,CAAC,CAAC,QAAQ,EAAE,OAAO,GAAG,IAAI,CAAC;CACjC;AAED,MAAM,WAAW,sBAAsB;IACtC,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,mBAAmB,CAAC;CACrD;AAQD,4FAA4F;AAC5F,wBAAgB,4BAA4B,CAC3C,KAAK,SAAyB,EAC9B,GAAG,SAA+B,GAChC,sBAAsB,CAuCxB;AAuCD,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,sBAAsB,GAAG,qBAAqB,CAsI5F;AAED,MAAM,CAAC,OAAO,UAAU,sBAAsB,CAC7C,EAAE,EAAE,YAAY,EAChB,KAAK,EAAE,IAAI,CAAC,aAAa,EAAE,kBAAkB,GAAG,mBAAmB,CAAC,EACpE,OAAO,GAAE,6BAAkC,GACzC,kBAAkB,CA4JpB"}
@@ -419,21 +419,28 @@ const completionSendRegistrySymbol = Symbol.for("pi-subagents.completion-send-re
419
419
  const processGlobal = globalThis;
420
420
  const processCompletionSendRegistry = processGlobal[completionSendRegistrySymbol]
421
421
  ?? (processGlobal[completionSendRegistrySymbol] = createCompletionSendRegistry());
422
- function sendCompletion(pi, items) {
422
+ function sendCompletion(pi, items, unstartedWakes) {
423
423
  if (items.length === 0)
424
424
  return true;
425
425
  const details = items.map((item) => item.details);
426
426
  const content = details.length === 1 ? formatSingleCompletion(details[0]) : formatGroupedCompletion(details);
427
427
  const display = details.some((detail) => detail.source === "foreground" || detail.status !== "completed" || detail.scheduleOrigin !== undefined);
428
+ const triggerTurn = items.some((item) => item.triggerTurn);
429
+ // Pi can queue an accepted wake behind the current turn or past agent_settled.
430
+ // Recorded before sending in case Pi starts the message synchronously.
431
+ if (triggerTurn)
432
+ unstartedWakes.push(content);
428
433
  try {
429
434
  pi.sendMessage({
430
435
  customType: "subagent-notify",
431
436
  content,
432
437
  display,
433
- }, { triggerTurn: items.some((item) => item.triggerTurn) });
438
+ }, { triggerTurn });
434
439
  return true;
435
440
  }
436
441
  catch {
442
+ if (triggerTurn)
443
+ unstartedWakes.splice(unstartedWakes.lastIndexOf(content), 1);
437
444
  return false;
438
445
  }
439
446
  }
@@ -588,6 +595,7 @@ export default function registerSubagentNotify(pi, state, options = {}) {
588
595
  const sendRegistry = options.sendRegistry ?? processCompletionSendRegistry;
589
596
  const batchConfig = resolveCompletionBatchConfig(options.batchConfig);
590
597
  const batchers = new Map();
598
+ const unstartedWakes = [];
591
599
  let disposed = false;
592
600
  const ownsResult = options.ownership?.owns
593
601
  ?? ((sessionId, completionOwnerId) => sessionId === state.currentSessionId
@@ -626,7 +634,7 @@ export default function registerSubagentNotify(pi, state, options = {}) {
626
634
  void claim.outcome.then((outcome) => settle([item], outcome, outcome ? undefined : "send_failed"));
627
635
  }
628
636
  const claimedItems = claimed.map(({ item }) => item);
629
- const sent = sendCompletion(pi, claimedItems);
637
+ const sent = sendCompletion(pi, claimedItems, unstartedWakes);
630
638
  for (const { claim } of claimed)
631
639
  claim.settle?.(sent);
632
640
  settle(claimedItems, sent, sent ? "send_accepted" : "send_failed");
@@ -716,7 +724,18 @@ export default function registerSubagentNotify(pi, state, options = {}) {
716
724
  });
717
725
  return {
718
726
  deliver,
719
- hasPendingDelivery: () => pending.size > 0,
727
+ hasPendingDelivery: () => pending.size > 0 || unstartedWakes.length > 0,
728
+ messageStarted(message) {
729
+ if (message.role !== "custom" || message.customType !== "subagent-notify")
730
+ return;
731
+ const index = unstartedWakes.indexOf(message.content);
732
+ if (index !== -1)
733
+ unstartedWakes.splice(index, 1);
734
+ },
735
+ flush() {
736
+ for (const batcher of batchers.values())
737
+ batcher.flush();
738
+ },
720
739
  dispose() {
721
740
  if (disposed)
722
741
  return;
@@ -724,6 +743,7 @@ export default function registerSubagentNotify(pi, state, options = {}) {
724
743
  for (const batcher of batchers.values())
725
744
  settle(batcher.dispose(), false, "dispose_pending");
726
745
  batchers.clear();
746
+ unstartedWakes.length = 0;
727
747
  for (const unsubscribe of [unsubscribeAsync, unsubscribeForeground]) {
728
748
  try {
729
749
  unsubscribe?.();
@@ -1 +1 @@
1
- {"version":3,"file":"notify.js","sourceRoot":"","sources":["../../../../src/runs/background/notify.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"notify.js","sourceRoot":"","sources":["../../../../src/runs/background/notify.ts"],"names":[],"mappings":"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"}
@@ -12,7 +12,7 @@ type ResultWatcherTimers = {
12
12
  type ResultWatcherDeps = {
13
13
  fs?: ResultWatcherFs;
14
14
  timers?: ResultWatcherTimers;
15
- notifier?: Pick<CompletionNotifier, "deliver">;
15
+ notifier?: Pick<CompletionNotifier, "deliver"> & Partial<Pick<CompletionNotifier, "flush">>;
16
16
  /** Receives persisted completions before active-session delivery filtering. */
17
17
  observeCompletion?: (result: CompletionNotification & {
18
18
  runId: string;
@@ -32,6 +32,8 @@ type ResultWatcherDeps = {
32
32
  platform?: NodeJS.Platform;
33
33
  /** Shared current/predecessor session ownership used by the notifier. */
34
34
  ownership?: Pick<ResultDeliveryOwnership, "owns" | "claimedSessionIds">;
35
+ /** Called once the parent has this run's result: the notifier accepted it, or an earlier delivery already did. */
36
+ onResultDelivered?: (runId: string) => void;
35
37
  };
36
38
  type ResultFileChild = {
37
39
  agent?: string;
@@ -40,6 +42,7 @@ type ResultFileChild = {
40
42
  structuredOutput?: unknown;
41
43
  structuredOutputPath?: string;
42
44
  outputState?: SubagentOutputState;
45
+ outputPartial?: boolean;
43
46
  error?: string;
44
47
  success?: boolean;
45
48
  state?: string;
@@ -80,6 +83,7 @@ export declare function createResultWatcher(pi: {
80
83
  primeExistingResults: (options?: {
81
84
  triggerTurn?: boolean;
82
85
  }) => void;
86
+ deliverPendingResults: () => Promise<void>;
83
87
  refreshResultDelivery: () => void;
84
88
  stopResultWatcher: () => void;
85
89
  };
@@ -1 +1 @@
1
- {"version":3,"file":"result-watcher.d.ts","sourceRoot":"","sources":["../../../../src/runs/background/result-watcher.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"result-watcher.d.ts","sourceRoot":"","sources":["../../../../src/runs/background/result-watcher.ts"],"names":[],"mappings":"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"}
@@ -100,6 +100,9 @@ export function createResultWatcher(pi, state, resultsDir, completionTtlMs, deps
100
100
  const deliverIntercomResults = deps.deliverIntercomResults !== false;
101
101
  const pendingTriggerTurn = new Map();
102
102
  const processing = new Set();
103
+ const handling = new Set();
104
+ // While deliverPendingResults runs, completions skip the batch delay.
105
+ let deliveringPending = 0;
103
106
  const identityCache = new Map();
104
107
  let deliveryActive = true;
105
108
  let deliveryEpoch = 0;
@@ -384,6 +387,7 @@ export function createResultWatcher(pi, state, resultsDir, completionTtlMs, deps
384
387
  return;
385
388
  if (markReplacedPayload())
386
389
  return;
390
+ deps.onResultDelivered?.(runId);
387
391
  if (!completionPersisted) {
388
392
  scheduleResult(file, triggerTurn, RETRY_DELAY_MS);
389
393
  return;
@@ -428,6 +432,7 @@ export function createResultWatcher(pi, state, resultsDir, completionTtlMs, deps
428
432
  outputState: result.outputState === "present" || result.outputState === "absent" || result.outputState === "unknown"
429
433
  ? result.outputState
430
434
  : "unknown",
435
+ ...(result.outputPartial === true ? { outputPartial: true } : {}),
431
436
  summary,
432
437
  index,
433
438
  artifactPath: result.artifactPaths?.outputPath,
@@ -446,6 +451,7 @@ export function createResultWatcher(pi, state, resultsDir, completionTtlMs, deps
446
451
  return;
447
452
  if (markReplacedPayload())
448
453
  return;
454
+ deps.onResultDelivered?.(runId);
449
455
  if (!completionPersisted) {
450
456
  scheduleResult(file, triggerTurn, RETRY_DELAY_MS);
451
457
  return;
@@ -475,7 +481,7 @@ export function createResultWatcher(pi, state, resultsDir, completionTtlMs, deps
475
481
  if (!intercomDelivered)
476
482
  console.error(`Subagent async grouped result intercom delivery was not acknowledged for '${resultPath}'.`);
477
483
  }
478
- const accepted = await notifier.deliver({
484
+ const delivery = notifier.deliver({
479
485
  ...data,
480
486
  id: data.id ?? runId,
481
487
  runId,
@@ -495,14 +501,19 @@ export function createResultWatcher(pi, state, resultsDir, completionTtlMs, deps
495
501
  })) : [],
496
502
  } : {}),
497
503
  });
504
+ if (deliveringPending > 0)
505
+ notifier.flush?.();
506
+ const accepted = await delivery;
498
507
  if (!ownsCompletion(sessionId, completionOwnerId, epoch))
499
508
  return;
500
509
  if (!accepted) {
501
510
  scheduleResult(file, triggerTurn, RETRY_DELAY_MS);
502
511
  return;
503
512
  }
513
+ // A newer payload replaced this one; keep the hold until that one is delivered.
504
514
  if (markReplacedPayload())
505
515
  return;
516
+ deps.onResultDelivered?.(runId);
506
517
  try {
507
518
  data = markDeliveredNotification(publicResultPath(file), data, runId, Date.now());
508
519
  identityCache.delete(file);
@@ -564,11 +575,14 @@ export function createResultWatcher(pi, state, resultsDir, completionTtlMs, deps
564
575
  scheduleResult(file, triggerTurn);
565
576
  }
566
577
  };
567
- state.resultFileCoalescer = createFileCoalescer((file) => {
578
+ const resultFileCoalescer = createFileCoalescer((file) => {
568
579
  const triggerTurn = pendingTriggerTurn.get(file) !== false;
569
580
  pendingTriggerTurn.delete(file);
570
- void handleResult(file, triggerTurn);
581
+ const run = handleResult(file, triggerTurn);
582
+ handling.add(run);
583
+ void run.finally(() => handling.delete(run));
571
584
  }, deps.coalesceDelayMs ?? 50);
585
+ state.resultFileCoalescer = resultFileCoalescer;
572
586
  const logScanStats = (stats) => {
573
587
  const elapsed = Date.now() - stats.startedAt;
574
588
  if (elapsed < SLOW_RESULT_SCAN_MS)
@@ -600,9 +614,9 @@ export function createResultWatcher(pi, state, resultsDir, completionTtlMs, deps
600
614
  files.add(`${runId}.json`);
601
615
  return [...files];
602
616
  };
603
- const primeExistingResults = (options = {}) => {
617
+ const eligibleResultFiles = () => {
618
+ const files = [];
604
619
  try {
605
- const triggerTurn = options.triggerTurn !== false;
606
620
  const stats = { files: 0, scheduled: 0, startedAt: Date.now() };
607
621
  const observed = observedRunIds();
608
622
  for (const file of indexedResultCandidates(observed)) {
@@ -613,7 +627,7 @@ export function createResultWatcher(pi, state, resultsDir, completionTtlMs, deps
613
627
  if (!shouldProcessResult(file, observed, signature))
614
628
  continue;
615
629
  stats.scheduled += 1;
616
- scheduleResult(file, triggerTurn);
630
+ files.push(file);
617
631
  }
618
632
  logScanStats(stats);
619
633
  }
@@ -621,6 +635,29 @@ export function createResultWatcher(pi, state, resultsDir, completionTtlMs, deps
621
635
  if (!isNotFound(error))
622
636
  console.error(`Failed to scan subagent result index in '${resultsDir}':`, error);
623
637
  }
638
+ return files;
639
+ };
640
+ const primeExistingResults = (options = {}) => {
641
+ const triggerTurn = options.triggerTurn !== false;
642
+ for (const file of eligibleResultFiles())
643
+ scheduleResult(file, triggerTurn);
644
+ };
645
+ /** Hand every result that is already on disk to the notifier now, without coalescing or batch delays. */
646
+ const deliverPendingResults = async () => {
647
+ if (!deliveryActive)
648
+ return;
649
+ deliveringPending += 1;
650
+ try {
651
+ notifier.flush?.();
652
+ for (const file of eligibleResultFiles()) {
653
+ scheduleResult(file, true);
654
+ resultFileCoalescer.flush(file);
655
+ }
656
+ await Promise.allSettled([...handling]);
657
+ }
658
+ finally {
659
+ deliveringPending -= 1;
660
+ }
624
661
  };
625
662
  const clearResultScan = () => {
626
663
  if (resultScanTimer)
@@ -759,6 +796,6 @@ export function createResultWatcher(pi, state, resultsDir, completionTtlMs, deps
759
796
  processing.clear();
760
797
  identityCache.clear();
761
798
  };
762
- return { startResultWatcher, transitionResultDelivery, primeExistingResults, stopResultWatcher, refreshResultDelivery: () => { primeExistingResults(); startDemandPolling(); } };
799
+ return { startResultWatcher, transitionResultDelivery, primeExistingResults, deliverPendingResults, stopResultWatcher, refreshResultDelivery: () => { primeExistingResults(); startDemandPolling(); } };
763
800
  }
764
801
  //# sourceMappingURL=result-watcher.js.map