pi-subagents 0.73.1 → 0.75.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 (299) hide show
  1. package/CHANGELOG.md +100 -0
  2. package/README.md +1 -1
  3. package/docs/agents.md +30 -16
  4. package/docs/configuration.md +76 -9
  5. package/docs/extension-api.md +6 -5
  6. package/docs/missions.md +28 -14
  7. package/docs/models.md +8 -4
  8. package/docs/observability.md +10 -5
  9. package/docs/tool-reference.md +90 -88
  10. package/docs/workflows.md +166 -172
  11. package/package.json +2 -2
  12. package/prompts/review-loop.md +1 -1
  13. package/skills/council-mode/SKILL.md +1 -1
  14. package/skills/pi-subagents/SKILL.md +12 -5
  15. package/skills/pi-subagents/references/constraints-and-recipes.md +3 -3
  16. package/skills/pi-subagents/references/execution-controls.md +68 -67
  17. package/skills/pi-subagents/references/management-authoring-rpc.md +2 -2
  18. package/skills/pi-subagents/references/multi-lane-orchestration.md +1 -1
  19. package/skills/pi-subagents/references/prompting-and-roles.md +45 -48
  20. package/src/agents/agent-management.js +2 -2
  21. package/src/agents/agent-management.js.map +1 -1
  22. package/src/agents/agents.d.ts +2 -0
  23. package/src/agents/agents.d.ts.map +1 -1
  24. package/src/agents/agents.js +73 -3
  25. package/src/agents/agents.js.map +1 -1
  26. package/src/api/preflight.d.ts +6 -2
  27. package/src/api/preflight.d.ts.map +1 -1
  28. package/src/api/preflight.js +46 -2
  29. package/src/api/preflight.js.map +1 -1
  30. package/src/extension/config.d.ts.map +1 -1
  31. package/src/extension/config.js +15 -4
  32. package/src/extension/config.js.map +1 -1
  33. package/src/extension/control-notices.d.ts +2 -0
  34. package/src/extension/control-notices.d.ts.map +1 -1
  35. package/src/extension/control-notices.js +2 -0
  36. package/src/extension/control-notices.js.map +1 -1
  37. package/src/extension/doctor.d.ts.map +1 -1
  38. package/src/extension/doctor.js +1 -0
  39. package/src/extension/doctor.js.map +1 -1
  40. package/src/extension/fanout-child.d.ts.map +1 -1
  41. package/src/extension/fanout-child.js +13 -3
  42. package/src/extension/fanout-child.js.map +1 -1
  43. package/src/extension/herdr-pi-bridge.d.ts.map +1 -1
  44. package/src/extension/herdr-pi-bridge.js +2 -0
  45. package/src/extension/herdr-pi-bridge.js.map +1 -1
  46. package/src/extension/index.d.ts +1 -1
  47. package/src/extension/index.d.ts.map +1 -1
  48. package/src/extension/index.js +87 -179
  49. package/src/extension/index.js.map +1 -1
  50. package/src/extension/public-execution.d.ts +10 -1
  51. package/src/extension/public-execution.d.ts.map +1 -1
  52. package/src/extension/public-execution.js +73 -35
  53. package/src/extension/public-execution.js.map +1 -1
  54. package/src/extension/reply-workflow-script.d.ts +12 -0
  55. package/src/extension/reply-workflow-script.d.ts.map +1 -0
  56. package/src/extension/reply-workflow-script.js +61 -0
  57. package/src/extension/reply-workflow-script.js.map +1 -0
  58. package/src/extension/rpc.d.ts +2 -0
  59. package/src/extension/rpc.d.ts.map +1 -1
  60. package/src/extension/rpc.js +33 -10
  61. package/src/extension/rpc.js.map +1 -1
  62. package/src/extension/schemas.d.ts +4 -117
  63. package/src/extension/schemas.d.ts.map +1 -1
  64. package/src/extension/schemas.js +42 -127
  65. package/src/extension/schemas.js.map +1 -1
  66. package/src/extension/tool-activation.d.ts +2 -4
  67. package/src/extension/tool-activation.d.ts.map +1 -1
  68. package/src/extension/tool-activation.js +54 -104
  69. package/src/extension/tool-activation.js.map +1 -1
  70. package/src/extension/tool-description.d.ts +8 -5
  71. package/src/extension/tool-description.d.ts.map +1 -1
  72. package/src/extension/tool-description.js +51 -27
  73. package/src/extension/tool-description.js.map +1 -1
  74. package/src/extension/upgrade-notice.d.ts +7 -0
  75. package/src/extension/upgrade-notice.d.ts.map +1 -0
  76. package/src/extension/upgrade-notice.js +37 -0
  77. package/src/extension/upgrade-notice.js.map +1 -0
  78. package/src/integrations/herdr-status.d.ts +3 -0
  79. package/src/integrations/herdr-status.d.ts.map +1 -1
  80. package/src/integrations/herdr-status.js +17 -3
  81. package/src/integrations/herdr-status.js.map +1 -1
  82. package/src/intercom/native-supervisor-channel.d.ts.map +1 -1
  83. package/src/intercom/native-supervisor-channel.js +4 -1
  84. package/src/intercom/native-supervisor-channel.js.map +1 -1
  85. package/src/missions/goal-driver.d.ts +1 -0
  86. package/src/missions/goal-driver.d.ts.map +1 -1
  87. package/src/missions/goal-driver.js +49 -34
  88. package/src/missions/goal-driver.js.map +1 -1
  89. package/src/missions/store.d.ts.map +1 -1
  90. package/src/missions/store.js +11 -1
  91. package/src/missions/store.js.map +1 -1
  92. package/src/profiles/profiles.d.ts +1 -1
  93. package/src/profiles/profiles.d.ts.map +1 -1
  94. package/src/profiles/profiles.js +4 -0
  95. package/src/profiles/profiles.js.map +1 -1
  96. package/src/runs/background/async-execution.d.ts +16 -0
  97. package/src/runs/background/async-execution.d.ts.map +1 -1
  98. package/src/runs/background/async-execution.js +95 -8
  99. package/src/runs/background/async-execution.js.map +1 -1
  100. package/src/runs/background/async-job-tracker.d.ts +1 -0
  101. package/src/runs/background/async-job-tracker.d.ts.map +1 -1
  102. package/src/runs/background/async-job-tracker.js +67 -24
  103. package/src/runs/background/async-job-tracker.js.map +1 -1
  104. package/src/runs/background/async-retention.d.ts +1 -1
  105. package/src/runs/background/async-retention.d.ts.map +1 -1
  106. package/src/runs/background/async-retention.js +47 -15
  107. package/src/runs/background/async-retention.js.map +1 -1
  108. package/src/runs/background/await-async-run.d.ts +23 -0
  109. package/src/runs/background/await-async-run.d.ts.map +1 -0
  110. package/src/runs/background/await-async-run.js +82 -0
  111. package/src/runs/background/await-async-run.js.map +1 -0
  112. package/src/runs/background/chain-root-attachment.d.ts +1 -0
  113. package/src/runs/background/chain-root-attachment.d.ts.map +1 -1
  114. package/src/runs/background/chain-root-attachment.js +3 -3
  115. package/src/runs/background/chain-root-attachment.js.map +1 -1
  116. package/src/runs/background/control-channel.d.ts +10 -0
  117. package/src/runs/background/control-channel.d.ts.map +1 -1
  118. package/src/runs/background/control-channel.js +51 -0
  119. package/src/runs/background/control-channel.js.map +1 -1
  120. package/src/runs/background/notify.d.ts +3 -0
  121. package/src/runs/background/notify.d.ts.map +1 -1
  122. package/src/runs/background/notify.js +3 -0
  123. package/src/runs/background/notify.js.map +1 -1
  124. package/src/runs/background/run-child-session.d.ts.map +1 -1
  125. package/src/runs/background/run-child-session.js +24 -7
  126. package/src/runs/background/run-child-session.js.map +1 -1
  127. package/src/runs/background/run-status.d.ts.map +1 -1
  128. package/src/runs/background/run-status.js +6 -0
  129. package/src/runs/background/run-status.js.map +1 -1
  130. package/src/runs/background/runner-aliases.d.ts +1 -0
  131. package/src/runs/background/runner-aliases.d.ts.map +1 -1
  132. package/src/runs/background/runner-aliases.js +6 -2
  133. package/src/runs/background/runner-aliases.js.map +1 -1
  134. package/src/runs/background/runner-child-launch.d.ts +1 -0
  135. package/src/runs/background/runner-child-launch.d.ts.map +1 -1
  136. package/src/runs/background/runner-child-launch.js +2 -0
  137. package/src/runs/background/runner-child-launch.js.map +1 -1
  138. package/src/runs/background/scheduled-runs.d.ts +2 -1
  139. package/src/runs/background/scheduled-runs.d.ts.map +1 -1
  140. package/src/runs/background/scheduled-runs.js +33 -16
  141. package/src/runs/background/scheduled-runs.js.map +1 -1
  142. package/src/runs/background/stale-run-reconciler.d.ts +1 -1
  143. package/src/runs/background/stale-run-reconciler.d.ts.map +1 -1
  144. package/src/runs/background/stale-run-reconciler.js +15 -2
  145. package/src/runs/background/stale-run-reconciler.js.map +1 -1
  146. package/src/runs/background/subagent-runner.d.ts +3 -0
  147. package/src/runs/background/subagent-runner.d.ts.map +1 -1
  148. package/src/runs/background/subagent-runner.js +49 -3
  149. package/src/runs/background/subagent-runner.js.map +1 -1
  150. package/src/runs/foreground/async-stop-action.d.ts.map +1 -1
  151. package/src/runs/foreground/async-stop-action.js +15 -1
  152. package/src/runs/foreground/async-stop-action.js.map +1 -1
  153. package/src/runs/foreground/command-action.d.ts +13 -0
  154. package/src/runs/foreground/command-action.d.ts.map +1 -0
  155. package/src/runs/foreground/command-action.js +38 -0
  156. package/src/runs/foreground/command-action.js.map +1 -0
  157. package/src/runs/foreground/execution.d.ts.map +1 -1
  158. package/src/runs/foreground/execution.js +27 -6
  159. package/src/runs/foreground/execution.js.map +1 -1
  160. package/src/runs/foreground/subagent-executor.d.ts +7 -5
  161. package/src/runs/foreground/subagent-executor.d.ts.map +1 -1
  162. package/src/runs/foreground/subagent-executor.js +356 -192
  163. package/src/runs/foreground/subagent-executor.js.map +1 -1
  164. package/src/runs/shared/child-commands.d.ts +28 -0
  165. package/src/runs/shared/child-commands.d.ts.map +1 -0
  166. package/src/runs/shared/child-commands.js +250 -0
  167. package/src/runs/shared/child-commands.js.map +1 -0
  168. package/src/runs/shared/child-launch.d.ts +5 -1
  169. package/src/runs/shared/child-launch.d.ts.map +1 -1
  170. package/src/runs/shared/child-launch.js +15 -1
  171. package/src/runs/shared/child-launch.js.map +1 -1
  172. package/src/runs/shared/child-session.d.ts +13 -0
  173. package/src/runs/shared/child-session.d.ts.map +1 -1
  174. package/src/runs/shared/child-session.js +182 -19
  175. package/src/runs/shared/child-session.js.map +1 -1
  176. package/src/runs/shared/child-tool-plan.d.ts +4 -0
  177. package/src/runs/shared/child-tool-plan.d.ts.map +1 -1
  178. package/src/runs/shared/child-tool-plan.js +12 -5
  179. package/src/runs/shared/child-tool-plan.js.map +1 -1
  180. package/src/runs/shared/claude-code-adapter.d.ts +56 -0
  181. package/src/runs/shared/claude-code-adapter.d.ts.map +1 -1
  182. package/src/runs/shared/claude-code-adapter.js +138 -2
  183. package/src/runs/shared/claude-code-adapter.js.map +1 -1
  184. package/src/runs/shared/dynamic-fanout.js +2 -2
  185. package/src/runs/shared/dynamic-fanout.js.map +1 -1
  186. package/src/runs/shared/external-cli-preflight.d.ts +10 -0
  187. package/src/runs/shared/external-cli-preflight.d.ts.map +1 -1
  188. package/src/runs/shared/external-cli-preflight.js +50 -6
  189. package/src/runs/shared/external-cli-preflight.js.map +1 -1
  190. package/src/runs/shared/external-cli-runner.d.ts.map +1 -1
  191. package/src/runs/shared/external-cli-runner.js +4 -2
  192. package/src/runs/shared/external-cli-runner.js.map +1 -1
  193. package/src/runs/shared/mcp-config-sources.d.ts +1 -0
  194. package/src/runs/shared/mcp-config-sources.d.ts.map +1 -1
  195. package/src/runs/shared/mcp-config-sources.js +1 -1
  196. package/src/runs/shared/mcp-config-sources.js.map +1 -1
  197. package/src/runs/shared/mcp-direct-tool-allowlist.d.ts +28 -0
  198. package/src/runs/shared/mcp-direct-tool-allowlist.d.ts.map +1 -1
  199. package/src/runs/shared/mcp-direct-tool-allowlist.js +79 -2
  200. package/src/runs/shared/mcp-direct-tool-allowlist.js.map +1 -1
  201. package/src/runs/shared/model-resolution.d.ts +16 -2
  202. package/src/runs/shared/model-resolution.d.ts.map +1 -1
  203. package/src/runs/shared/model-resolution.js +39 -11
  204. package/src/runs/shared/model-resolution.js.map +1 -1
  205. package/src/runs/shared/model-scope.d.ts +2 -1
  206. package/src/runs/shared/model-scope.d.ts.map +1 -1
  207. package/src/runs/shared/model-scope.js +26 -10
  208. package/src/runs/shared/model-scope.js.map +1 -1
  209. package/src/runs/shared/parallel-utils.d.ts +4 -0
  210. package/src/runs/shared/parallel-utils.d.ts.map +1 -1
  211. package/src/runs/shared/parallel-utils.js.map +1 -1
  212. package/src/runs/shared/pi-spawn.d.ts +1 -10
  213. package/src/runs/shared/pi-spawn.d.ts.map +1 -1
  214. package/src/runs/shared/pi-spawn.js +7 -86
  215. package/src/runs/shared/pi-spawn.js.map +1 -1
  216. package/src/runs/shared/run-history.d.ts +47 -0
  217. package/src/runs/shared/run-history.d.ts.map +1 -1
  218. package/src/runs/shared/run-history.js +70 -0
  219. package/src/runs/shared/run-history.js.map +1 -1
  220. package/src/runs/shared/subagent-control.d.ts.map +1 -1
  221. package/src/runs/shared/subagent-control.js +30 -17
  222. package/src/runs/shared/subagent-control.js.map +1 -1
  223. package/src/runs/shared/subagent-prompt-runtime.d.ts +1 -0
  224. package/src/runs/shared/subagent-prompt-runtime.d.ts.map +1 -1
  225. package/src/runs/shared/subagent-prompt-runtime.js +14 -5
  226. package/src/runs/shared/subagent-prompt-runtime.js.map +1 -1
  227. package/src/runs/shared/worktree.d.ts +1 -1
  228. package/src/runs/shared/worktree.d.ts.map +1 -1
  229. package/src/runs/shared/worktree.js +1 -1
  230. package/src/runs/shared/worktree.js.map +1 -1
  231. package/src/shared/disabled-features.d.ts +92 -0
  232. package/src/shared/disabled-features.d.ts.map +1 -0
  233. package/src/shared/disabled-features.js +113 -0
  234. package/src/shared/disabled-features.js.map +1 -0
  235. package/src/shared/extension-context.d.ts +9 -0
  236. package/src/shared/extension-context.d.ts.map +1 -1
  237. package/src/shared/extension-context.js +7 -0
  238. package/src/shared/extension-context.js.map +1 -1
  239. package/src/shared/required-child-extensions.d.ts +16 -1
  240. package/src/shared/required-child-extensions.d.ts.map +1 -1
  241. package/src/shared/required-child-extensions.js +37 -5
  242. package/src/shared/required-child-extensions.js.map +1 -1
  243. package/src/shared/settings.d.ts +1 -1
  244. package/src/shared/types.d.ts +26 -1
  245. package/src/shared/types.d.ts.map +1 -1
  246. package/src/shared/types.js +1 -1
  247. package/src/shared/types.js.map +1 -1
  248. package/src/slash/prompt-template-bridge.js +2 -2
  249. package/src/slash/prompt-template-bridge.js.map +1 -1
  250. package/src/slash/slash-commands.d.ts +2 -0
  251. package/src/slash/slash-commands.d.ts.map +1 -1
  252. package/src/slash/slash-commands.js +2 -2
  253. package/src/slash/slash-commands.js.map +1 -1
  254. package/src/slash/subagent-cost.d.ts.map +1 -1
  255. package/src/slash/subagent-cost.js +8 -4
  256. package/src/slash/subagent-cost.js.map +1 -1
  257. package/src/tui/render.d.ts +1 -1
  258. package/src/tui/render.d.ts.map +1 -1
  259. package/src/tui/render.js +59 -21
  260. package/src/tui/render.js.map +1 -1
  261. package/src/watchdog/diff-tool.d.ts +3 -1
  262. package/src/watchdog/diff-tool.d.ts.map +1 -1
  263. package/src/watchdog/diff-tool.js +20 -11
  264. package/src/watchdog/diff-tool.js.map +1 -1
  265. package/src/watchdog/register-child.js +2 -2
  266. package/src/watchdog/register-child.js.map +1 -1
  267. package/src/watchdog/register-main.js +2 -2
  268. package/src/watchdog/register-main.js.map +1 -1
  269. package/src/watchdog/review.d.ts +1 -1
  270. package/src/watchdog/review.d.ts.map +1 -1
  271. package/src/watchdog/review.js +1 -1
  272. package/src/watchdog/review.js.map +1 -1
  273. package/src/watchdog/turn-delta.js +1 -1
  274. package/src/watchdog/turn-delta.js.map +1 -1
  275. package/src/workflows/chat-progress.js +2 -2
  276. package/src/workflows/chat-progress.js.map +1 -1
  277. package/src/workflows/scripted-workflow.d.ts +8 -0
  278. package/src/workflows/scripted-workflow.d.ts.map +1 -1
  279. package/src/workflows/scripted-workflow.js +10 -2
  280. package/src/workflows/scripted-workflow.js.map +1 -1
  281. package/src/workflows/structured-workflow-scripts.d.ts +10 -0
  282. package/src/workflows/structured-workflow-scripts.d.ts.map +1 -0
  283. package/src/workflows/structured-workflow-scripts.js +166 -0
  284. package/src/workflows/structured-workflow-scripts.js.map +1 -0
  285. package/src/workflows/workflow-receipt.d.ts.map +1 -1
  286. package/src/workflows/workflow-receipt.js +10 -4
  287. package/src/workflows/workflow-receipt.js.map +1 -1
  288. package/src/workflows/workflow-resources.d.ts +13 -0
  289. package/src/workflows/workflow-resources.d.ts.map +1 -1
  290. package/src/workflows/workflow-resources.js +46 -16
  291. package/src/workflows/workflow-resources.js.map +1 -1
  292. package/src/workflows/workflow-reuse.d.ts +51 -0
  293. package/src/workflows/workflow-reuse.d.ts.map +1 -0
  294. package/src/workflows/workflow-reuse.js +103 -0
  295. package/src/workflows/workflow-reuse.js.map +1 -0
  296. package/src/workflows/workflow-revival.d.ts +32 -0
  297. package/src/workflows/workflow-revival.d.ts.map +1 -0
  298. package/src/workflows/workflow-revival.js +111 -0
  299. package/src/workflows/workflow-revival.js.map +1 -0
@@ -1 +1 @@
1
- {"version":3,"file":"herdr-pi-bridge.js","sourceRoot":"","sources":["../../../src/extension/herdr-pi-bridge.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,GAAG,MAAM,UAAU,CAAC;AAChC,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAG/B,OAAO,WAAW,MAAM,oBAAoB,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAC;AACnE,OAAO,EAAE,kBAAkB,EAAE,wBAAwB,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,wBAAwB,EAAE,mBAAmB,EAAE,oBAAoB,EAAqB,MAAM,qCAAqC,CAAC;AAChO,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACzE,OAAO,EAAE,yBAAyB,EAAE,MAAM,2BAA2B,CAAC;AACtE,OAAO,EAAE,4BAA4B,EAAE,MAAM,gCAAgC,CAAC;AAC9E,OAAO,EAAE,qBAAqB,EAAE,MAAM,2CAA2C,CAAC;AAClF,OAAO,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAC;AAWjE,SAAS,WAAW,CAAC,GAAW;IAC/B,MAAM,GAAG,GAAG,CAAC,IAAc,EAAE,EAAE,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,GAAG,IAAI,EAAE,CAAC,CAAC;IACzH,MAAM,MAAM,GAAG,GAAG,CAAC,CAAC,WAAW,EAAE,uBAAuB,CAAC,CAAC,CAAC;IAC3D,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IAC1C,MAAM,IAAI,GAAG,GAAG,CAAC,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC;IAAC,MAAM,MAAM,GAAG,GAAG,CAAC,CAAC,cAAc,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC;IAAC,MAAM,KAAK,GAAG,GAAG,CAAC,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC,CAAC;IAC1J,OAAO,EAAE,GAAG,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC;AAC9K,CAAC;AAED,MAAM,UAAU,2BAA2B,CAAC,GAAW,EAAE,SAAiG,EAAE,qBAA+B,EAAE;IAC5L,IAAI,CAAC,qCAAqC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,SAAS,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,qCAAqC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,SAAS,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,wBAAwB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,KAAK,SAAS,IAAI,SAAS,CAAC,KAAK,KAAK,KAAK,IAAI,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;IACvc,MAAM,UAAU,GAAG,cAAc,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,SAAS,CAAC,KAAK,IAAI,KAAK,CAAC,OAAO,EAAE,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;IACpJ,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,iBAAiB,SAAS,CAAC,KAAK,oCAAoC,GAAG,GAAG,CAAC,CAAC;IACzH,MAAM,KAAK,GAAG,UAAU,CAAC,CAAC,CAAE,CAAC;IAAC,MAAM,KAAK,GAAG,SAAS,CAAC,MAAM,IAAI,KAAK,CAAC,MAAM,IAAI,EAAE,CAAC;IACnF,MAAM,MAAM,GAAG,aAAa,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM;QAAE,MAAM,IAAI,KAAK,CAAC,+BAA+B,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,wCAAwC,CAAC,CAAC;IACvL,MAAM,WAAW,GAAG,mBAAmB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IACzD,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,YAAY,IAAI,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC;IAAC,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,wBAAwB,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAChL,MAAM,YAAY,GAAG,4BAA4B,CAAC,GAAG,KAAK,CAAC,YAAY,GAAG,yBAAyB,CAAC,KAAK,EAAE,GAAG,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,OAAO,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,mBAAmB,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,SAAS,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;IAClQ,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,YAAY,IAAI,EAAE,CAAC,CAAC;IAAC,MAAM,KAAK,GAAG,CAAC,KAAK,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,WAAW,IAAI,SAAS,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAAC,IAAI,KAAK,CAAC,KAAK,KAAK,SAAS,IAAI,CAAC,KAAK,CAAC,MAAM;QAAE,MAAM,IAAI,KAAK,CAAC,iBAAiB,KAAK,CAAC,IAAI,kEAAkE,CAAC,CAAC;IACvY,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,YAAY,EAAE,qBAAqB,EAAE,KAAK,CAAC,qBAAqB,EAAE,oBAAoB,EAAE,KAAK,CAAC,oBAAoB,EAAE,aAAa,EAAE,KAAK,CAAC,aAAa,EAAE,CAAC;AAC5M,CAAC;AAED,MAAM,CAAC,OAAO,UAAU,qBAAqB,CAAC,EAAgB;IAC7D,MAAM,KAAK,GAAG,oBAAoB,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC,CAAC;IAClE,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;IACrD,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,cAAc,EAAE;QAAE,MAAM,IAAI,KAAK,CAAC,qEAAqE,CAAC,CAAC;IACzK,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAC5B,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IACpD,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;IACxD,KAAK,MAAM,SAAS,IAAI,CAAC,UAAU,EAAE,YAAY,CAAC,EAAE,CAAC;QACpD,IAAI,CAAC;YAAC,MAAM,IAAI,GAAG,EAAE,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;YAAC,IAAI,IAAI,CAAC,cAAc,EAAE;gBAAE,MAAM,IAAI,KAAK,CAAC,wBAAwB,SAAS,IAAI,CAAC,CAAC;YAAC,EAAE,CAAC,MAAM,CAAC,SAAS,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QAAC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAAC,IAAK,KAA+B,CAAC,IAAI,KAAK,QAAQ;gBAAE,MAAM,KAAK,CAAC;QAAC,CAAC;IAC/P,CAAC;IACD,IAAI,MAA8B,CAAC;IACnC,IAAI,OAAkC,CAAC;IACvC,IAAI,eAAmC,CAAC;IACxC,IAAI,cAAwC,CAAC;IAC7C,IAAI,eAAmC,CAAC;IACxC,IAAI,oBAAwC,CAAC;IAC7C,IAAI,qBAA2I,CAAC;IAChJ,IAAI,UAAU,GAAG,KAAK,CAAC;IACvB,MAAM,OAAO,GAAG,IAAI,GAAG,EAA0B,CAAC;IAClD,MAAM,UAAU,GAAG,IAAI,GAAG,EAAgH,CAAC;IAC3I,IAAI,cAAc,GAAG,CAAC,CAAC;IAAC,IAAI,YAAY,GAAG,CAAC,CAAC;IAAC,MAAM,OAAO,GAAmB,EAAE,CAAC;IACjF,MAAM,IAAI,GAAG,CAAC,KAA+C,EAAE,EAAE;QAChE,MAAM,MAAM,GAAG,EAAE,QAAQ,EAAE,iBAAiB,EAAE,KAAK,EAAE,GAAG,KAAK,EAAE,MAAM,EAAE,EAAE,cAAc,EAAkB,CAAC;QAAC,MAAM,IAAI,GAAG,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;QAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAAC,YAAY,IAAI,IAAI,CAAC;QAAC,OAAO,OAAO,CAAC,MAAM,GAAG,GAAG,IAAI,YAAY,GAAG,CAAC,GAAG,IAAI,GAAG,IAAI,EAAE,CAAC;YAAC,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC;YAAC,IAAI,OAAO;gBAAE,YAAY,IAAI,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;QAAC,CAAC;QAC3X,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,SAAS;YAAE,OAAO;QACxC,MAAM,CAAC,KAAK,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC,CAAC;IAC1C,CAAC,CAAC;IACF,MAAM,SAAS,GAAG,CAAC,GAAkB,EAAE,EAAE,CAAC,GAAG,CAAC,cAAc,EAAE,YAAY,EAAE,EAAE,CAAC;IAC/E,MAAM,WAAW,GAAG,CAAC,GAAkB,EAAE,EAAE,CAAC,GAAG,CAAC,cAAc,EAAE,EAAE,IAAI,EAAE,CAAC;IAEzE,EAAE,CAAC,YAAY,CAAC;QACf,IAAI,EAAE,oBAAoB;QAC1B,KAAK,EAAE,oBAAoB;QAC3B,WAAW,EAAE,0GAA0G;QACvH,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,EAAE,EAAE,EAAE,oBAAoB,EAAE,KAAK,EAAE,CAAC;QAC3R,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,KAAmH,EAAE,EAAE;YACnJ,IAAI,KAAK,CAAC,MAAM,KAAK,mBAAmB,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,EAAE;gBAAE,MAAM,IAAI,KAAK,CAAC,oEAAoE,CAAC,CAAC;YAC1J,MAAM,EAAE,GAAG,OAAO,IAAI,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;YACtF,IAAI,CAAC,EAAE,IAAI,EAAE,oBAAoB,EAAE,SAAS,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,IAAI,EAAE,EAAE,GAAG,CAAC,KAAK,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,YAAY,EAAE,KAAK,CAAC,MAAM,KAAK,iBAAiB,EAAE,eAAe,EAAE,CAAC,CAAC;YACvQ,IAAI,KAAK,CAAC,MAAM,KAAK,iBAAiB,EAAE,CAAC;gBAAC,MAAM,IAAI,OAAO,CAAS,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC;gBAAC,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,oCAAoC,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC;YAAC,CAAC;YACjS,MAAM,MAAM,GAAG,KAAK,CAAC,MAA+C,CAAC;YAAC,MAAM,MAAM,GAAG,MAAM,IAAI,OAAO,CAAS,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC;YAAC,MAAM,OAAO,GAA4B,EAAE,SAAS,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC;YAAC,IAAI,MAAM,KAAK,mBAAmB;gBAAE,IAAI,CAAC;oBAAC,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,6BAA6B,EAAE,EAAE,CAAC,CAAC,CAAC;gBAAC,CAAC;gBAAC,MAAM,CAAC;oBAAC,OAAO,CAAC,yBAAyB,GAAG,gDAAgD,CAAC;gBAAC,CAAC;YAC9c,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,+BAA+B,MAAM,EAAE,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC;QAChG,CAAC;KACD,CAAC,CAAC;IAEH,MAAM,OAAO,GAAG,KAAK,EAAE,SAAiB,EAAE,GAAkB,EAAE,EAAE;QAC/D,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACvC,IAAI,CAAC,OAAO;YAAE,MAAM,IAAI,KAAK,CAAC,+CAA+C,SAAS,IAAI,CAAC,CAAC;QAC5F,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAC1B,IAAI,SAAS,CAAC,GAAG,CAAC,KAAK,eAAe;YAAE,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;QAC/F,IAAI,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,eAAe,EAAE,CAAC,CAAC;QACrF,MAAM,GAAG,GAAG,EAAuH,CAAC;QACpI,IAAI,OAAO,CAAC,SAAS,KAAK,QAAQ,EAAE,CAAC;YAAC,eAAe,GAAG,SAAS,CAAC;YAAC,cAAc,GAAG,SAAS,CAAC;YAAC,GAAG,CAAC,eAAe,CAAC,OAAO,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;QAAC,CAAC;aACpI,IAAI,OAAO,CAAC,SAAS,KAAK,OAAO;YAAE,GAAG,CAAC,eAAe,CAAC,OAAO,CAAC,IAAI,IAAI,EAAE,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,CAAC;aACnG,IAAI,OAAO,CAAC,SAAS,KAAK,WAAW;YAAE,GAAG,CAAC,eAAe,CAAC,OAAO,CAAC,IAAI,IAAI,EAAE,EAAE,EAAE,SAAS,EAAE,UAAU,EAAE,CAAC,CAAC;aAC1G,IAAI,OAAO,CAAC,SAAS,KAAK,OAAO;YAAE,GAAG,CAAC,KAAK,EAAE,CAAC;aAC/C,CAAC;YACL,MAAM,KAAK,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YACtF,IAAI,CAAC,KAAK;gBAAE,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;YAC3D,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,YAAa,CAAC,CAAC;YAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;QAC7E,CAAC;QACD,IAAI,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,SAAS,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,eAAe,EAAE,CAAC,CAAC;IACzF,CAAC,CAAC;IACF,EAAE,CAAC,eAAe,CAAC,qBAAqB,EAAE,EAAE,WAAW,EAAE,uCAAuC,EAAE,OAAO,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,GAA+B,CAAC,EAAE,CAAC,CAAC;IAEnL,MAAM,EAAE,GAAG,EAAE,CAAC,EAAiH,CAAC;IAChI,EAAE,CAAC,oBAAoB,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,oBAAoB,IAAI,qBAAqB,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,GAAG,qBAAqB,CAAC,OAAO,KAAK,CAAC,YAAY,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,qBAAqB,EAAE,qBAAqB,CAAC,qBAAqB,EAAE,oBAAoB,EAAE,qBAAqB,CAAC,oBAAoB,EAAE,aAAa,EAAE,qBAAqB,CAAC,aAAa,EAAE,CAAC,0BAA0B,IAAI,CAAC,SAAS,CAAC,qBAAqB,CAAC,KAAK,CAAC,SAAS,oBAAoB,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IAChf,EAAE,CAAC,eAAe,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE;QACnC,OAAO,GAAG,GAAG,CAAC;QAAC,eAAe,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC;QAChD,IAAI,CAAC,eAAe;YAAE,MAAM,IAAI,KAAK,CAAC,qEAAqE,CAAC,CAAC;QAC7G,EAAE,CAAC,aAAa,CAAC,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,QAAQ,EAAE,iBAAiB,EAAE,cAAc,EAAE,WAAW,CAAC,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,eAAe,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QACxM,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,cAAc,EAAE,WAAW,CAAC,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,GAAG,CAAC,cAAc,EAAE,cAAc,EAAE,EAAE,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,WAAW,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,QAAQ,IAAI,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,QAAQ,IAAI,GAAG,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,EAAE,UAAU,EAAE,eAAe,EAAE,cAAc,EAAE,aAAa,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,MAAM,IAAI,cAAc,GAAG,CAAC,EAAE,UAAU,EAAE,WAAW,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;IACja,CAAC,CAAC,CAAC;IACH,EAAE,CAAC,aAAa,EAAE,CAAC,KAAK,EAAE,EAAE;QAC3B,MAAM,OAAO,GAAG,KAAK,CAAC,OAAmC,CAAC;QAC1D,IAAI,OAAO,EAAE,IAAI,KAAK,WAAW;YAAE,cAAc,GAAG,OAAO,CAAC;QAC5D,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,KAAK,EAAE,EAAE,GAAG,KAAK,EAAE,OAAO,EAAE,EAAE,eAAe,EAAE,CAAC,CAAC;IACpG,CAAC,CAAC,CAAC;IACH,EAAE,CAAC,eAAe,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE,GAAG,MAAM,SAAS,GAAG,eAAe,CAAC,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,eAAe,EAAE,IAAI,EAAE,GAAG,CAAC,MAAM,EAAE,EAAE,OAAO,EAAE,GAAG,CAAC,kBAAkB,EAAE,EAAE,cAAc,EAAE,QAAQ,EAAE,WAAW,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,kBAAkB,EAAE;QAAE,eAAe,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7T,EAAE,CAAC,kBAAkB,EAAE,GAAG,EAAE,GAAG,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC;QAAC,EAAE,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IAAC,CAAC;IAAC,MAAM,CAAC,CAAA,CAAC,CAAC,CAAC,CAAC,CAAC;IAE3I,MAAM,MAAM,GAAG,GAAG,CAAC,YAAY,CAAC,CAAC,MAAM,EAAE,EAAE;QAC1C,IAAI,MAAM,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;YAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YAAC,OAAO;QAAC,CAAC;QAC9D,MAAM,GAAG,MAAM,CAAC;QAAC,MAAM,OAAO,GAAG,IAAI,mBAAmB,EAAE,CAAC;QAAC,IAAI,KAAK,GAAG,CAAC,CAAC;QAC1E,KAAK,MAAM,MAAM,IAAI,OAAO;YAAE,MAAM,CAAC,KAAK,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC,CAAC;QACvE,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE;YACnC,KAAK,IAAI,KAAK,CAAC,UAAU,CAAC;YAAC,IAAI,KAAK,GAAG,wBAAwB,GAAG,EAAE,EAAE,CAAC;gBAAC,MAAM,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC,CAAC;gBAAC,OAAO;YAAC,CAAC;YAC5I,IAAI,CAAC;gBACJ,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;oBACzC,IAAI,KAAK,CAAC,KAAK,KAAK,KAAK;wBAAE,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;oBAC5E,IAAI,KAAK,CAAC,IAAI,KAAK,sBAAsB,IAAI,OAAO,KAAK,CAAC,SAAS,KAAK,QAAQ,EAAE,CAAC;wBAAC,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;wBAAC,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,MAAM,KAAK,iBAAiB;4BAAE,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;wBAAC,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;wBAAC,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;wBAAC,SAAS;oBAAC,CAAC;oBACjU,IAAI,KAAK,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;wBAChC,IAAI,UAAU,IAAI,OAAO,KAAK,CAAC,SAAS,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,SAAS,IAAI,OAAO,KAAK,CAAC,SAAS,KAAK,QAAQ;4BAAE,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;wBAChL,MAAM,SAAS,GAAG,KAAK,CAAC,SAA0F,CAAC;wBACnH,MAAM,aAAa,GAAG,SAAS,CAAC,MAAM,KAAK,SAAS,IAAI,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,IAAI,KAAK,QAAQ,IAAI,CAAC,qCAAqC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;wBAC7M,MAAM,YAAY,GAAG,SAAS,CAAC,KAAK,KAAK,SAAS,IAAI,SAAS,CAAC,KAAK,KAAK,KAAK,IAAI,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC;wBACjL,IAAI,OAAO,SAAS,CAAC,KAAK,KAAK,QAAQ,IAAI,CAAC,qCAAqC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,aAAa,IAAI,YAAY;4BAAE,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;wBACxM,MAAM,QAAQ,GAAG,2BAA2B,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,EAAE,KAAK,EAAE,SAAS,CAAC,KAAK,EAAE,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,SAAS,CAAC,MAAkB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,SAAS,CAAC,WAAuB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,SAAS,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,SAAS,CAAC,KAAyB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;wBAAC,oBAAoB,GAAG,QAAQ,CAAC,YAAY,CAAC;wBAAC,qBAAqB,GAAG,QAAQ,CAAC;wBACnc,EAA4D,CAAC,cAAc,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;wBAAC,MAAM,YAAY,GAAG,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;wBAAC,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAI,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;4BAAE,MAAM,IAAI,KAAK,CAAC,+DAA+D,CAAC,CAAC;wBAC3W,UAAU,GAAG,IAAI,CAAC;wBAAC,IAAI,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,eAAe,EAAE,KAAK,EAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,IAAI,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,QAAQ,IAAI,OAAO,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC;wBAAC,SAAS;oBAChS,CAAC;oBACD,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,IAAI,OAAO,KAAK,CAAC,SAAS,KAAK,QAAQ,IAAI,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU;wBAAE,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAC;oBAC3L,MAAM,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC;oBAClC,IAAI,CAAE,CAAC,QAAQ,EAAE,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,kBAAkB,CAAe,CAAC,QAAQ,CAAC,SAAS,CAAC;wBAAE,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;oBACxJ,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;oBAAC,IAAI,IAAI,KAAK,SAAS,IAAI,CAAC,OAAO,IAAI,KAAK,QAAQ,IAAI,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,GAAG,GAAG,IAAI,CAAC;wBAAE,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;oBACvL,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,SAAwC,EAAE,GAAG,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,OAAO,KAAK,CAAC,YAAY,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,KAAK,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;oBACxN,IAAI,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,eAAe,EAAE,CAAC,CAAC;gBACzE,CAAC;YACF,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBAAC,MAAM,CAAC,OAAO,CAAC,KAAc,CAAC,CAAC;YAAC,CAAC;QACpD,CAAC,CAAC,CAAC;QACH,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,GAAG,IAAI,MAAM,KAAK,MAAM;YAAE,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;QACzE,IAAI,OAAO,IAAI,eAAe;YAAE,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,cAAc,EAAE,WAAW,CAAC,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,OAAO,CAAC,cAAc,EAAE,cAAc,EAAE,EAAE,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,WAAW,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,QAAQ,IAAI,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,QAAQ,IAAI,OAAO,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,EAAE,UAAU,EAAE,eAAe,EAAE,cAAc,EAAE,aAAa,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,MAAM,IAAI,cAAc,GAAG,CAAC,EAAE,UAAU,EAAE,WAAW,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;IACzd,CAAC,CAAC,CAAC;IACH,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACvE,CAAC"}
1
+ {"version":3,"file":"herdr-pi-bridge.js","sourceRoot":"","sources":["../../../src/extension/herdr-pi-bridge.ts"],"names":[],"mappings":"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"}
@@ -5,7 +5,7 @@
5
5
  * - Sync (default): Streams output, renders markdown, tracks usage
6
6
  * - Async: Background execution, emits events when done
7
7
  *
8
- * Public execution mode: workflow (workflowScript)
8
+ * Public execution mode: workflow (workflow: true reply block, script path, or named resource)
9
9
  * Toggle: async parameter (default: true; set asyncByDefault:false in config.json to opt out)
10
10
  *
11
11
  * Config file: ~/.pi/agent/extensions/subagent/config.json
@@ -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;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"}
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;AAwCzH,OAAO,EAA6B,KAAK,cAAc,EAAE,MAAM,iCAAiC,CAAC;AA2BjG,OAAO,EAGN,KAAK,aAAa,EAYlB,MAAM,oBAAoB,CAAC;AAS5B,OAAO,EAAE,UAAU,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AA4JhE,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,aAAa,GAAG,cAAc,EAAE,CA6C7E;AAED,MAAM,CAAC,OAAO,UAAU,yBAAyB,CAAC,EAAE,EAAE,YAAY,GAAG,IAAI,CA40BxE"}
@@ -5,7 +5,7 @@
5
5
  * - Sync (default): Streams output, renders markdown, tracks usage
6
6
  * - Async: Background execution, emits events when done
7
7
  *
8
- * Public execution mode: workflow (workflowScript)
8
+ * Public execution mode: workflow (workflow: true reply block, script path, or named resource)
9
9
  * Toggle: async parameter (default: true; set asyncByDefault:false in config.json to opt out)
10
10
  *
11
11
  * Config file: ~/.pi/agent/extensions/subagent/config.json
@@ -26,7 +26,7 @@ import { ensureAccessibleDir } from "../shared/accessible-dir.js";
26
26
  import { cleanupAllArtifactDirs, cleanupOldArtifacts, getArtifactsDir } from "../shared/artifacts.js";
27
27
  import { resolveCurrentSessionId } from "../shared/session-identity.js";
28
28
  import { getAgentDir } from "../shared/utils.js";
29
- import { isStaleExtensionContextError, withCachedUiContext } from "../shared/extension-context.js";
29
+ import { isStaleExtensionContextError, MODEL_ONLY_TOOL, withCachedUiContext } from "../shared/extension-context.js";
30
30
  import { currentCompletionOwnerId } from "../shared/completion-owner.js";
31
31
  import { cleanupOldChainDirs } from "../shared/settings.js";
32
32
  import { clearLegacyResultAnimationTimer, renderSubagentResult, renderSubagentSummary, setInlineWorkflowCoverage } from "../tui/render.js";
@@ -34,6 +34,7 @@ import { getInspectorPlugins, registerInspectorEventListener } from "../inspecto
34
34
  import { SubagentFleetStatus, resolveFleetViewPlacement } from "../tui/fleet-status.js";
35
35
  import { readMainThinkingLevel, setMainThinkingLevelSource } from "../tui/running-tone.js";
36
36
  import { createSubagentParamsSchema } from "./schemas.js";
37
+ import { resolveDisabledFeatureSurface } from "../shared/disabled-features.js";
37
38
  import { createAsyncJobTracker } from "../runs/background/async-job-tracker.js";
38
39
  import { getActiveAsyncCapacitySnapshot, resolveAbandonedSlotReleaseAfterMs, resolveMaxActiveAsyncRunsPerSession } from "../runs/background/active-async-capacity.js";
39
40
  import { cleanupResultIndexes, missionObserverResultCandidateFiles } from "../runs/background/result-files.js";
@@ -67,15 +68,20 @@ import { formatDuration, shortenPath } from "../shared/formatters.js";
67
68
  import { loadConfig, resolveAsyncByDefault, resolveScheduledStoreRoot } from "./config.js";
68
69
  import { buildSubagentToolDescription, buildSubagentToolPromptMetadata } from "./tool-description.js";
69
70
  import { formatWorkflowPreflightSummary, normalizeWorkflowPreflight } from "../workflows/workflow-preflight.js";
71
+ import { runtimeReplacedAbortReason } from "../workflows/workflow-reuse.js";
70
72
  import { finalizeToolResult } from "./tool-result.js";
73
+ import { removedModelWorkflowFieldError } from "./public-execution.js";
71
74
  import { collectGoalContinuationNotices } from "../missions/goal-driver.js";
72
75
  import { restoreForegroundRunHistory } from "../runs/foreground/foreground-history.js";
73
76
  import { resolveMissionStoreLocation } from "../missions/store.js";
74
77
  import { listRetainedChildren } from "../runs/background/retained-children.js";
75
78
  import { DIRS, DEFAULT_ARTIFACT_CONFIG, SLASH_RESULT_TYPE, SLASH_TEXT_RESULT_TYPE, SUBAGENT_ASYNC_COMPLETE_EVENT, SUBAGENT_ASYNC_STARTED_EVENT, SUBAGENT_PROCESS_TERMINAL_EVENT, SUBAGENT_CONTROL_EVENT, SUBAGENT_STEERING_NOTICE_EVENT, WIDGET_KEY, resolveMaxSubagentSpawnsPerSession, } from "../shared/types.js";
76
79
  import { formatSubagentControlNotice, handleSubagentControlNotice, SUBAGENT_CONTROL_MESSAGE_TYPE, } from "./control-notices.js";
80
+ import { showUpgradeNotice } from "./upgrade-notice.js";
77
81
  export { loadConfig, resolveAsyncByDefault } from "./config.js";
78
82
  const SLOW_RELOAD_PHASE_MS = 250;
83
+ // Long enough for Pi to finish starting; loading the executor blocks the event loop for tens of ms.
84
+ const MODULE_PRELOAD_DELAY_MS = 1_000;
79
85
  const RUNTIME_REGISTRY_STORE_KEY = "__piSubagentRuntimeRegistry";
80
86
  function getRuntimeRegistry() {
81
87
  const globalStore = globalThis;
@@ -99,140 +105,6 @@ function logSlowPhase(label, startedAt) {
99
105
  if (elapsed >= SLOW_RELOAD_PHASE_MS)
100
106
  console.error(`Subagent reload phase '${label}' took ${elapsed}ms.`);
101
107
  }
102
- function workflowLaneKeys(script) {
103
- const keys = [];
104
- const seen = new Set();
105
- const add = (key) => {
106
- if (!seen.has(key)) {
107
- seen.add(key);
108
- keys.push(key);
109
- }
110
- };
111
- const isIdentifier = (char) => char !== undefined && /[\w$]/.test(char);
112
- const skipTrivia = (start) => {
113
- let index = start;
114
- while (index < script.length) {
115
- if (/\s/.test(script[index]))
116
- index += 1;
117
- else if (script.startsWith("//", index)) {
118
- const end = script.indexOf("\n", index + 2);
119
- index = end === -1 ? script.length : end + 1;
120
- }
121
- else if (script.startsWith("/*", index)) {
122
- const end = script.indexOf("*/", index + 2);
123
- index = end === -1 ? script.length : end + 2;
124
- }
125
- else
126
- break;
127
- }
128
- return index;
129
- };
130
- const readLiteral = (start) => {
131
- const quote = script[start];
132
- if (quote !== "'" && quote !== '"' && quote !== "`")
133
- return undefined;
134
- let index = start + 1;
135
- let dynamicTemplate = false;
136
- while (index < script.length) {
137
- if (script[index] === "\\") {
138
- index += 2;
139
- continue;
140
- }
141
- if (quote === "`" && script.startsWith("${", index))
142
- dynamicTemplate = true;
143
- if (script[index] === quote)
144
- return { key: dynamicTemplate ? undefined : script.slice(start + 1, index), end: index + 1 };
145
- if (quote !== "`" && /[\r\n]/.test(script[index]))
146
- return { end: index + 1 };
147
- index += 1;
148
- }
149
- return { end: script.length };
150
- };
151
- const collectRunsAllKeys = (start) => {
152
- let index = skipTrivia(start);
153
- if (script[index] !== "(")
154
- return start;
155
- index = skipTrivia(index + 1);
156
- if (script[index] !== "[")
157
- return start;
158
- let arrayDepth = 1;
159
- let objectDepth = 0;
160
- let directChildObject = false;
161
- let expectingElement = true;
162
- for (index += 1; index < script.length; index += 1) {
163
- index = skipTrivia(index);
164
- const literal = readLiteral(index);
165
- if (literal) {
166
- index = literal.end - 1;
167
- continue;
168
- }
169
- if (script[index] === "[") {
170
- arrayDepth += 1;
171
- expectingElement = false;
172
- continue;
173
- }
174
- if (script[index] === "]") {
175
- arrayDepth -= 1;
176
- if (arrayDepth === 0)
177
- return index + 1;
178
- continue;
179
- }
180
- if (script[index] === "{") {
181
- objectDepth += 1;
182
- if (objectDepth === 1)
183
- directChildObject = arrayDepth === 1 && expectingElement;
184
- expectingElement = false;
185
- continue;
186
- }
187
- if (script[index] === "}") {
188
- objectDepth -= 1;
189
- if (objectDepth === 0)
190
- directChildObject = false;
191
- continue;
192
- }
193
- if (script[index] === "," && arrayDepth === 1 && objectDepth === 0) {
194
- expectingElement = true;
195
- continue;
196
- }
197
- if (directChildObject && objectDepth === 1 && !isIdentifier(script[index - 1]) && script.startsWith("key", index) && !isIdentifier(script[index + 3])) {
198
- const colon = skipTrivia(index + 3);
199
- const key = script[colon] === ":" ? readLiteral(skipTrivia(colon + 1)) : undefined;
200
- if (key) {
201
- const next = skipTrivia(key.end);
202
- if (key.key !== undefined && (script[next] === "," || script[next] === "}"))
203
- add(key.key);
204
- index = key.end - 1;
205
- }
206
- }
207
- }
208
- return index;
209
- };
210
- for (let index = 0; index < script.length;) {
211
- index = skipTrivia(index);
212
- const literal = readLiteral(index);
213
- if (literal) {
214
- index = literal.end;
215
- continue;
216
- }
217
- if (!isIdentifier(script[index - 1]) && script.startsWith("runs.run", index) && !isIdentifier(script[index + 8])) {
218
- const open = skipTrivia(index + 8);
219
- const key = script[open] === "(" ? readLiteral(skipTrivia(open + 1)) : undefined;
220
- if (key) {
221
- const next = skipTrivia(key.end);
222
- if (key.key !== undefined && (script[next] === "," || script[next] === ")"))
223
- add(key.key);
224
- index = key.end;
225
- continue;
226
- }
227
- }
228
- if (!isIdentifier(script[index - 1]) && script.startsWith("runs.all", index) && !isIdentifier(script[index + 8])) {
229
- index = collectRunsAllKeys(index + 8);
230
- continue;
231
- }
232
- index += 1;
233
- }
234
- return keys;
235
- }
236
108
  function formatWorkflowPreflightCall(input) {
237
109
  if (input === undefined)
238
110
  return "";
@@ -243,19 +115,6 @@ function formatWorkflowPreflightCall(input) {
243
115
  return `preflight · rejected: ${error instanceof Error ? error.message : String(error)}`;
244
116
  }
245
117
  }
246
- function formatWorkflowManifest(script, async, clarify, preflightInput) {
247
- if (clarify === true)
248
- return "workflow script · rejected: clarify UI unsupported";
249
- const keys = workflowLaneKeys(script);
250
- // The workflow executor starts background work unless callers pass async:false.
251
- const mode = async === false ? "foreground" : "background";
252
- const preflight = formatWorkflowPreflightCall(preflightInput);
253
- if (keys.length === 0)
254
- return `workflow script · ${mode}${preflight ? ` · ${preflight}` : ""}`;
255
- const visibleKeys = keys.slice(0, 4).join(", ");
256
- const remainder = keys.length > 4 ? `, +${keys.length - 4}` : "";
257
- return `workflow · ${mode} · ${keys.length} lane${keys.length === 1 ? "" : "s"}: ${visibleKeys}${remainder}${preflight ? ` · ${preflight}` : ""}`;
258
- }
259
118
  /**
260
119
  * Derive subagent session base directory from parent session file.
261
120
  * If parent session is ~/.pi/agent/sessions/abc123.jsonl,
@@ -353,18 +212,30 @@ export function projectActiveHerdrRuns(state) {
353
212
  existing.push(...children);
354
213
  foregroundChildrenByWorkflow.set(control.parentWorkflowRunId, existing);
355
214
  }
215
+ // Keep each async child under its own ID: completion and attention events
216
+ // address that ID directly. The workflow row accounts only for foreground
217
+ // children; its own coordinator and step summaries are not leaf agents.
356
218
  return [...state.asyncJobs.values()]
357
219
  .filter((job) => active(job.status))
358
220
  .map((job) => {
359
- const children = job.mode === "workflow" ? foregroundChildrenByWorkflow.get(job.asyncId) : undefined;
360
221
  const currentStep = job.steps?.find((step) => step.status === "running")
361
222
  ?? (job.currentStep !== undefined ? job.steps?.[job.currentStep] : undefined)
362
223
  ?? job.steps?.find((step) => step.status === "pending");
224
+ if (job.mode === "workflow") {
225
+ const children = foregroundChildrenByWorkflow.get(job.asyncId) ?? [];
226
+ return {
227
+ id: job.asyncId,
228
+ coordinator: true,
229
+ agents: children.map((child) => child.agent),
230
+ ...(currentStep?.label ? { taskLabel: currentStep.label } : {}),
231
+ needsAttention: job.activityState === "needs_attention" || children.some((child) => child.needsAttention),
232
+ };
233
+ }
363
234
  return {
364
235
  id: job.asyncId,
365
- agents: children?.length ? children.map((child) => child.agent) : job.agents,
236
+ agents: job.agents,
366
237
  ...(currentStep?.label ? { taskLabel: currentStep.label } : {}),
367
- needsAttention: job.activityState === "needs_attention" || children?.some((child) => child.needsAttention),
238
+ needsAttention: job.activityState === "needs_attention",
368
239
  };
369
240
  });
370
241
  }
@@ -383,6 +254,7 @@ export default function registerSubagentExtension(pi) {
383
254
  const fleetViewEnabled = config.fleetView !== false;
384
255
  const fleetViewPlacement = resolveFleetViewPlacement(config.fleetViewPlacement);
385
256
  const asyncWidgetEnabled = config.asyncWidget !== false;
257
+ const asyncWidgetCollapsed = config.asyncWidgetCollapsed === true;
386
258
  const summaryInlineToolDisplay = config.inlineToolDisplay === "summary";
387
259
  const tempArtifactsDir = getArtifactsDir(null);
388
260
  const artifactCleanupDays = config.artifactConfig?.cleanupDays ?? DEFAULT_ARTIFACT_CONFIG.cleanupDays;
@@ -548,6 +420,7 @@ export default function registerSubagentExtension(pi) {
548
420
  };
549
421
  const { ensurePoller, refreshWidget, handleStarted, handleComplete, resetJobs, restoreActiveJobs, dispose: disposeAsyncJobTracker } = createAsyncJobTracker(pi, state, DIRS.async, {
550
422
  widgetEnabled: asyncWidgetEnabled,
423
+ widgetCollapsed: asyncWidgetCollapsed,
551
424
  onJobTerminal: () => refreshResultDelivery(),
552
425
  supervisorRequestState: supervisorChannel.getSupervisorRequestState,
553
426
  });
@@ -628,13 +501,31 @@ export default function registerSubagentExtension(pi) {
628
501
  };
629
502
  let executor;
630
503
  let executorPromise;
504
+ let executorModulePromise;
505
+ const loadExecutorModule = () => executorModulePromise ??= import("../runs/foreground/subagent-executor.js");
631
506
  const getExecutor = () => {
632
- executorPromise ??= import("../runs/foreground/subagent-executor.js").then(({ createSubagentExecutor }) => {
507
+ executorPromise ??= loadExecutorModule().then(({ createSubagentExecutor }) => {
633
508
  executor = createSubagentExecutor(executorDeps);
634
509
  return executor;
635
510
  });
636
511
  return executorPromise;
637
512
  };
513
+ // Loading these on first use could happen days after startup, when pi-subagents may have
514
+ // changed on disk and the new files would import stale cached copies of modules loaded at
515
+ // startup. Load them shortly after a session starts instead, off Pi's startup path; child
516
+ // runtimes return before registration and never schedule this.
517
+ let modulePreloadTimer;
518
+ const scheduleModulePreload = () => {
519
+ if (executorModulePromise || modulePreloadTimer)
520
+ return;
521
+ modulePreloadTimer = setTimeout(() => {
522
+ // Errors surface from the first call that needs the module.
523
+ loadExecutorModule().catch(() => { });
524
+ if (fleetViewEnabled)
525
+ import("../tui/fleet.js").catch(() => { });
526
+ }, MODULE_PRELOAD_DELAY_MS);
527
+ modulePreloadTimer.unref?.();
528
+ };
638
529
  pi.registerMessageRenderer(SUPERVISOR_REQUEST_MESSAGE_TYPE, renderSupervisorRequest);
639
530
  const registerEntryRenderer = pi.registerEntryRenderer;
640
531
  if (typeof registerEntryRenderer === "function") {
@@ -736,20 +627,26 @@ export default function registerSubagentExtension(pi) {
736
627
  return (await getExecutor()).executeDelegated(requestId, params, signal, onUpdate, ctx);
737
628
  },
738
629
  });
630
+ const disabledFeatures = resolveDisabledFeatureSurface(config);
739
631
  const rpcBridge = registerSubagentRpcBridge({
740
632
  events: pi.events,
741
633
  getContext: () => state.lastUiContext,
742
634
  execute: executeSubagentReady,
743
635
  state,
636
+ disabledFeatures,
744
637
  });
745
- const parameters = createSubagentParamsSchema();
638
+ const parameters = createSubagentParamsSchema(disabledFeatures);
746
639
  const tool = {
747
640
  name: "subagent",
641
+ ...MODEL_ONLY_TOOL,
748
642
  label: "Subagent",
749
- description: buildSubagentToolDescription(config),
750
- ...buildSubagentToolPromptMetadata(config),
643
+ description: buildSubagentToolDescription(config, { disabledFeatures }),
644
+ ...buildSubagentToolPromptMetadata(config, disabledFeatures),
751
645
  parameters,
752
646
  async execute(id, params, signal, onUpdate, ctx) {
647
+ const removedField = removedModelWorkflowFieldError(params);
648
+ if (removedField)
649
+ throw new Error(removedField);
753
650
  return finalizeToolResult(await executeSubagentCollapsed(id, params, signal ?? new AbortController().signal, onUpdate, ctx));
754
651
  },
755
652
  renderCall(args, theme) {
@@ -759,10 +656,8 @@ export default function registerSubagentExtension(pi) {
759
656
  const target = args.agent || "";
760
657
  return new Text(`${title}${gap}${args.action}${target ? `${gap}${theme.fg("accent", target)}` : ""}`, 0, 0);
761
658
  }
762
- if (args.workflowScript)
763
- return new Text(`${title}${gap}${formatWorkflowManifest(args.workflowScript, args.async, false, args.preflight)}`, 0, 0);
764
- if (args.workflowScriptPath)
765
- return new Text(`${title}${gap}${theme.fg("accent", args.workflowScriptPath)}${args.async === true ? `${gap}${theme.fg("warning", "[async]")}` : ""}${args.preflight !== undefined ? `${gap}${theme.fg("dim", formatWorkflowPreflightCall(args.preflight))}` : ""}`, 0, 0);
659
+ if (args.workflow !== undefined)
660
+ return new Text(`${title}${gap}${theme.fg("accent", args.workflow === true || args.workflow === "true" ? "workflow (reply block)" : `workflow ${String(args.workflow)}`)}${args.async === true ? `${gap}${theme.fg("warning", "[async]")}` : ""}${args.preflight !== undefined ? `${gap}${theme.fg("dim", formatWorkflowPreflightCall(args.preflight))}` : ""}`, 0, 0);
766
661
  const asyncLabel = args.async === true ? `${gap}${theme.fg("warning", "[async]")}` : "";
767
662
  return new Text(`${title}${gap}${theme.fg("accent", args.agent || "?")}${asyncLabel}`, 0, 0);
768
663
  },
@@ -789,31 +684,37 @@ export default function registerSubagentExtension(pi) {
789
684
  });
790
685
  registerWaitTool(pi, state, waitToolConfig.enabled, waitSubscriptionManager, waitToolConfig.defaultTimeoutMs, undefined, supervisorChannel.hasPendingRequests);
791
686
  pi.on("agent_end", async (_event, ctx) => {
792
- if (!ctx.hasUI)
793
- await drainOutstandingWork({ state, events: pi.events, hasPendingSupervisorRequest: supervisorChannel.hasPendingRequests });
794
- const ownerSessionId = state.currentSessionId;
795
- if (!ownerSessionId)
796
- return;
797
- goalTurnId += 1;
798
687
  try {
799
- const location = resolveMissionStoreLocation({ projectRoot: state.baseCwd, ...(config.missions ? { config: config.missions } : {}) });
800
- const retainedChildren = listRetainedChildren(DIRS.async, ownerSessionId);
801
- for (const notice of collectGoalContinuationNotices({ location, ownerSessionId, retainedChildren, turnId: goalTurnId })) {
802
- handleSubagentControlNotice({
803
- pi,
804
- state,
805
- visibleControlNotices: new Set(),
806
- details: { source: "goal", event: notice.event, noticeText: notice.message },
807
- });
808
- }
688
+ if (!ctx.hasUI)
689
+ await drainOutstandingWork({ state, events: pi.events, hasPendingSupervisorRequest: supervisorChannel.hasPendingRequests });
809
690
  }
810
- catch (error) {
811
- console.error("Failed to evaluate goal missions:", error);
691
+ finally {
692
+ // Deliver notices after a failed drain without suppressing its rejection.
693
+ const ownerSessionId = state.currentSessionId;
694
+ if (ownerSessionId) {
695
+ goalTurnId += 1;
696
+ try {
697
+ const location = resolveMissionStoreLocation({ projectRoot: state.baseCwd, ...(config.missions ? { config: config.missions } : {}) });
698
+ const retainedChildren = listRetainedChildren(DIRS.async, ownerSessionId);
699
+ for (const notice of collectGoalContinuationNotices({ location, ownerSessionId, retainedChildren, turnId: goalTurnId })) {
700
+ handleSubagentControlNotice({
701
+ pi,
702
+ state,
703
+ visibleControlNotices: new Set(),
704
+ details: { source: "goal", event: notice.event, noticeText: notice.message },
705
+ });
706
+ }
707
+ }
708
+ catch (error) {
709
+ console.error("Failed to evaluate goal missions:", error);
710
+ }
711
+ }
812
712
  }
813
713
  });
814
714
  const disposeSlashCommands = registerSlashCommands(pi, state, {
815
715
  fleetKeybindings: config.fleetKeybindings,
816
716
  foregroundDetachShortcut: config.foregroundDetachShortcut,
717
+ workflowScriptsDisabled: disabledFeatures.features.has("workflow-scripts"),
817
718
  });
818
719
  let visibleControlNotices = new Set();
819
720
  const activeHerdrRuns = () => projectActiveHerdrRuns(state);
@@ -993,7 +894,7 @@ export default function registerSubagentExtension(pi) {
993
894
  // teardown so a reload cannot launch through a stale context.
994
895
  for (const controller of state.workflowControllers?.values() ?? []) {
995
896
  if (!controller.signal.aborted)
996
- controller.abort(new Error("Workflow stopped because the extension session was replaced or reloaded."));
897
+ controller.abort(runtimeReplacedAbortReason());
997
898
  }
998
899
  state.workflowControllers?.clear();
999
900
  state.workflowChildStops?.clear();
@@ -1004,6 +905,9 @@ export default function registerSubagentExtension(pi) {
1004
905
  if (asyncRetentionTimer)
1005
906
  clearTimeout(asyncRetentionTimer);
1006
907
  asyncRetentionTimer = undefined;
908
+ if (modulePreloadTimer)
909
+ clearTimeout(modulePreloadTimer);
910
+ modulePreloadTimer = undefined;
1007
911
  asyncRetentionAbort.abort();
1008
912
  stopResultWatcher();
1009
913
  resultDeliveryOwnership.clear();
@@ -1112,6 +1016,7 @@ export default function registerSubagentExtension(pi) {
1112
1016
  pi.on("session_start", (event, ctx) => {
1113
1017
  installRuntime(ctx);
1114
1018
  startSessionMaintenance();
1019
+ scheduleModulePreload();
1115
1020
  const recovering = event.reason === "startup" || event.reason === "reload" || event.reason === "resume";
1116
1021
  resetSessionState(ctx, recovering, event.previousSessionFile);
1117
1022
  releaseHostSessionLiveness();
@@ -1147,8 +1052,11 @@ export default function registerSubagentExtension(pi) {
1147
1052
  }
1148
1053
  await herdrStatusBridge.flush();
1149
1054
  });
1055
+ // Child processes and Herdr panes never load this module; in-process children have no UI.
1056
+ pi.on("session_start", (_event, ctx) => void showUpgradeNotice(ctx).catch((error) => console.error("Failed to show the pi-subagents upgrade notice:", error)));
1150
1057
  pi.on("session_start", (_event, ctx) => beginAdvertisement(ctx));
1151
1058
  registerSubagentToolActivation(pi, {
1059
+ mode: config.toolActivation,
1152
1060
  advertisedPrompt: async () => {
1153
1061
  await waitForAdvertisement();
1154
1062
  return buildAdvertisedAgentPrompt(advertisedAgents, resolveCurrentSubagentCapabilityCeiling(state.currentSessionId ?? undefined));