pi-subagents 0.73.0 → 0.74.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 (245) hide show
  1. package/CHANGELOG.md +65 -0
  2. package/README.md +1 -1
  3. package/docs/agents.md +18 -12
  4. package/docs/configuration.md +66 -9
  5. package/docs/extension-api.md +5 -4
  6. package/docs/missions.md +13 -13
  7. package/docs/models.md +2 -2
  8. package/docs/observability.md +2 -2
  9. package/docs/tool-reference.md +63 -86
  10. package/docs/workflows.md +165 -171
  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/advertised-agent-prompt.d.ts +6 -4
  21. package/src/agents/advertised-agent-prompt.d.ts.map +1 -1
  22. package/src/agents/advertised-agent-prompt.js +16 -30
  23. package/src/agents/advertised-agent-prompt.js.map +1 -1
  24. package/src/agents/agent-management.js +2 -2
  25. package/src/agents/agent-management.js.map +1 -1
  26. package/src/agents/agents.d.ts +1 -0
  27. package/src/agents/agents.d.ts.map +1 -1
  28. package/src/agents/agents.js +8 -0
  29. package/src/agents/agents.js.map +1 -1
  30. package/src/api/preflight.d.ts +5 -1
  31. package/src/api/preflight.d.ts.map +1 -1
  32. package/src/api/preflight.js +2 -1
  33. package/src/api/preflight.js.map +1 -1
  34. package/src/extension/config.d.ts.map +1 -1
  35. package/src/extension/config.js +12 -4
  36. package/src/extension/config.js.map +1 -1
  37. package/src/extension/control-notices.d.ts +2 -0
  38. package/src/extension/control-notices.d.ts.map +1 -1
  39. package/src/extension/control-notices.js +2 -0
  40. package/src/extension/control-notices.js.map +1 -1
  41. package/src/extension/doctor.d.ts.map +1 -1
  42. package/src/extension/doctor.js +1 -0
  43. package/src/extension/doctor.js.map +1 -1
  44. package/src/extension/fanout-child.d.ts.map +1 -1
  45. package/src/extension/fanout-child.js +13 -3
  46. package/src/extension/fanout-child.js.map +1 -1
  47. package/src/extension/herdr-pi-bridge.d.ts.map +1 -1
  48. package/src/extension/herdr-pi-bridge.js +2 -0
  49. package/src/extension/herdr-pi-bridge.js.map +1 -1
  50. package/src/extension/index.d.ts +1 -1
  51. package/src/extension/index.d.ts.map +1 -1
  52. package/src/extension/index.js +71 -169
  53. package/src/extension/index.js.map +1 -1
  54. package/src/extension/public-execution.d.ts +10 -1
  55. package/src/extension/public-execution.d.ts.map +1 -1
  56. package/src/extension/public-execution.js +69 -35
  57. package/src/extension/public-execution.js.map +1 -1
  58. package/src/extension/reply-workflow-script.d.ts +12 -0
  59. package/src/extension/reply-workflow-script.d.ts.map +1 -0
  60. package/src/extension/reply-workflow-script.js +61 -0
  61. package/src/extension/reply-workflow-script.js.map +1 -0
  62. package/src/extension/rpc.d.ts +2 -0
  63. package/src/extension/rpc.d.ts.map +1 -1
  64. package/src/extension/rpc.js +33 -10
  65. package/src/extension/rpc.js.map +1 -1
  66. package/src/extension/schemas.d.ts +3 -117
  67. package/src/extension/schemas.d.ts.map +1 -1
  68. package/src/extension/schemas.js +38 -125
  69. package/src/extension/schemas.js.map +1 -1
  70. package/src/extension/tool-activation.d.ts +2 -4
  71. package/src/extension/tool-activation.d.ts.map +1 -1
  72. package/src/extension/tool-activation.js +54 -104
  73. package/src/extension/tool-activation.js.map +1 -1
  74. package/src/extension/tool-description.d.ts +8 -5
  75. package/src/extension/tool-description.d.ts.map +1 -1
  76. package/src/extension/tool-description.js +51 -27
  77. package/src/extension/tool-description.js.map +1 -1
  78. package/src/extension/upgrade-notice.d.ts +7 -0
  79. package/src/extension/upgrade-notice.d.ts.map +1 -0
  80. package/src/extension/upgrade-notice.js +37 -0
  81. package/src/extension/upgrade-notice.js.map +1 -0
  82. package/src/integrations/herdr-status.d.ts +3 -0
  83. package/src/integrations/herdr-status.d.ts.map +1 -1
  84. package/src/integrations/herdr-status.js +17 -3
  85. package/src/integrations/herdr-status.js.map +1 -1
  86. package/src/intercom/native-supervisor-channel.d.ts.map +1 -1
  87. package/src/intercom/native-supervisor-channel.js +4 -1
  88. package/src/intercom/native-supervisor-channel.js.map +1 -1
  89. package/src/runs/background/async-execution.d.ts +3 -0
  90. package/src/runs/background/async-execution.d.ts.map +1 -1
  91. package/src/runs/background/async-execution.js +6 -2
  92. package/src/runs/background/async-execution.js.map +1 -1
  93. package/src/runs/background/async-job-tracker.d.ts.map +1 -1
  94. package/src/runs/background/async-job-tracker.js +65 -22
  95. package/src/runs/background/async-job-tracker.js.map +1 -1
  96. package/src/runs/background/async-retention.d.ts +1 -1
  97. package/src/runs/background/async-retention.d.ts.map +1 -1
  98. package/src/runs/background/async-retention.js +47 -15
  99. package/src/runs/background/async-retention.js.map +1 -1
  100. package/src/runs/background/await-async-run.d.ts +23 -0
  101. package/src/runs/background/await-async-run.d.ts.map +1 -0
  102. package/src/runs/background/await-async-run.js +80 -0
  103. package/src/runs/background/await-async-run.js.map +1 -0
  104. package/src/runs/background/chain-root-attachment.d.ts +1 -0
  105. package/src/runs/background/chain-root-attachment.d.ts.map +1 -1
  106. package/src/runs/background/chain-root-attachment.js +3 -3
  107. package/src/runs/background/chain-root-attachment.js.map +1 -1
  108. package/src/runs/background/control-channel.d.ts +4 -0
  109. package/src/runs/background/control-channel.d.ts.map +1 -1
  110. package/src/runs/background/control-channel.js +16 -1
  111. package/src/runs/background/control-channel.js.map +1 -1
  112. package/src/runs/background/notify.d.ts +3 -0
  113. package/src/runs/background/notify.d.ts.map +1 -1
  114. package/src/runs/background/notify.js +3 -0
  115. package/src/runs/background/notify.js.map +1 -1
  116. package/src/runs/background/run-child-session.d.ts.map +1 -1
  117. package/src/runs/background/run-child-session.js +4 -1
  118. package/src/runs/background/run-child-session.js.map +1 -1
  119. package/src/runs/background/run-status.d.ts.map +1 -1
  120. package/src/runs/background/run-status.js +6 -0
  121. package/src/runs/background/run-status.js.map +1 -1
  122. package/src/runs/background/runner-child-launch.d.ts +1 -0
  123. package/src/runs/background/runner-child-launch.d.ts.map +1 -1
  124. package/src/runs/background/runner-child-launch.js +2 -0
  125. package/src/runs/background/runner-child-launch.js.map +1 -1
  126. package/src/runs/background/scheduled-runs.js +5 -5
  127. package/src/runs/background/scheduled-runs.js.map +1 -1
  128. package/src/runs/background/subagent-runner.d.ts +3 -0
  129. package/src/runs/background/subagent-runner.d.ts.map +1 -1
  130. package/src/runs/background/subagent-runner.js +13 -1
  131. package/src/runs/background/subagent-runner.js.map +1 -1
  132. package/src/runs/foreground/async-stop-action.d.ts.map +1 -1
  133. package/src/runs/foreground/async-stop-action.js +19 -3
  134. package/src/runs/foreground/async-stop-action.js.map +1 -1
  135. package/src/runs/foreground/execution.d.ts.map +1 -1
  136. package/src/runs/foreground/execution.js +8 -1
  137. package/src/runs/foreground/execution.js.map +1 -1
  138. package/src/runs/foreground/subagent-executor.d.ts +6 -5
  139. package/src/runs/foreground/subagent-executor.d.ts.map +1 -1
  140. package/src/runs/foreground/subagent-executor.js +293 -182
  141. package/src/runs/foreground/subagent-executor.js.map +1 -1
  142. package/src/runs/shared/child-launch.d.ts +5 -1
  143. package/src/runs/shared/child-launch.d.ts.map +1 -1
  144. package/src/runs/shared/child-launch.js +15 -1
  145. package/src/runs/shared/child-launch.js.map +1 -1
  146. package/src/runs/shared/child-session.d.ts +9 -0
  147. package/src/runs/shared/child-session.d.ts.map +1 -1
  148. package/src/runs/shared/child-session.js +90 -4
  149. package/src/runs/shared/child-session.js.map +1 -1
  150. package/src/runs/shared/child-tool-plan.d.ts +4 -0
  151. package/src/runs/shared/child-tool-plan.d.ts.map +1 -1
  152. package/src/runs/shared/child-tool-plan.js +11 -4
  153. package/src/runs/shared/child-tool-plan.js.map +1 -1
  154. package/src/runs/shared/dynamic-fanout.js +1 -1
  155. package/src/runs/shared/dynamic-fanout.js.map +1 -1
  156. package/src/runs/shared/mcp-config-sources.d.ts +1 -0
  157. package/src/runs/shared/mcp-config-sources.d.ts.map +1 -1
  158. package/src/runs/shared/mcp-config-sources.js +1 -1
  159. package/src/runs/shared/mcp-config-sources.js.map +1 -1
  160. package/src/runs/shared/mcp-direct-tool-allowlist.d.ts +28 -0
  161. package/src/runs/shared/mcp-direct-tool-allowlist.d.ts.map +1 -1
  162. package/src/runs/shared/mcp-direct-tool-allowlist.js +78 -2
  163. package/src/runs/shared/mcp-direct-tool-allowlist.js.map +1 -1
  164. package/src/runs/shared/model-resolution.d.ts +10 -0
  165. package/src/runs/shared/model-resolution.d.ts.map +1 -1
  166. package/src/runs/shared/model-resolution.js +30 -9
  167. package/src/runs/shared/model-resolution.js.map +1 -1
  168. package/src/runs/shared/model-scope.d.ts +2 -1
  169. package/src/runs/shared/model-scope.d.ts.map +1 -1
  170. package/src/runs/shared/model-scope.js +26 -10
  171. package/src/runs/shared/model-scope.js.map +1 -1
  172. package/src/runs/shared/parallel-utils.d.ts +2 -0
  173. package/src/runs/shared/parallel-utils.d.ts.map +1 -1
  174. package/src/runs/shared/parallel-utils.js.map +1 -1
  175. package/src/runs/shared/pi-spawn.d.ts +1 -10
  176. package/src/runs/shared/pi-spawn.d.ts.map +1 -1
  177. package/src/runs/shared/pi-spawn.js +7 -86
  178. package/src/runs/shared/pi-spawn.js.map +1 -1
  179. package/src/runs/shared/subagent-prompt-runtime.d.ts.map +1 -1
  180. package/src/runs/shared/subagent-prompt-runtime.js +2 -0
  181. package/src/runs/shared/subagent-prompt-runtime.js.map +1 -1
  182. package/src/runs/shared/worktree.d.ts +1 -1
  183. package/src/runs/shared/worktree.d.ts.map +1 -1
  184. package/src/runs/shared/worktree.js +1 -1
  185. package/src/runs/shared/worktree.js.map +1 -1
  186. package/src/shared/disabled-features.d.ts +92 -0
  187. package/src/shared/disabled-features.d.ts.map +1 -0
  188. package/src/shared/disabled-features.js +113 -0
  189. package/src/shared/disabled-features.js.map +1 -0
  190. package/src/shared/extension-context.d.ts +9 -0
  191. package/src/shared/extension-context.d.ts.map +1 -1
  192. package/src/shared/extension-context.js +7 -0
  193. package/src/shared/extension-context.js.map +1 -1
  194. package/src/shared/settings.d.ts +1 -1
  195. package/src/shared/types.d.ts +20 -0
  196. package/src/shared/types.d.ts.map +1 -1
  197. package/src/shared/types.js.map +1 -1
  198. package/src/slash/prompt-template-bridge.js +2 -2
  199. package/src/slash/prompt-template-bridge.js.map +1 -1
  200. package/src/slash/slash-commands.d.ts +2 -0
  201. package/src/slash/slash-commands.d.ts.map +1 -1
  202. package/src/slash/slash-commands.js +2 -2
  203. package/src/slash/slash-commands.js.map +1 -1
  204. package/src/tui/render.d.ts.map +1 -1
  205. package/src/tui/render.js +55 -17
  206. package/src/tui/render.js.map +1 -1
  207. package/src/watchdog/diff-tool.d.ts +3 -1
  208. package/src/watchdog/diff-tool.d.ts.map +1 -1
  209. package/src/watchdog/diff-tool.js +20 -11
  210. package/src/watchdog/diff-tool.js.map +1 -1
  211. package/src/watchdog/register-child.js +2 -2
  212. package/src/watchdog/register-child.js.map +1 -1
  213. package/src/watchdog/register-main.js +2 -2
  214. package/src/watchdog/register-main.js.map +1 -1
  215. package/src/watchdog/review.d.ts +1 -1
  216. package/src/watchdog/review.d.ts.map +1 -1
  217. package/src/watchdog/review.js +1 -1
  218. package/src/watchdog/review.js.map +1 -1
  219. package/src/watchdog/turn-delta.js +1 -1
  220. package/src/watchdog/turn-delta.js.map +1 -1
  221. package/src/workflows/chat-progress.js +2 -2
  222. package/src/workflows/chat-progress.js.map +1 -1
  223. package/src/workflows/scripted-workflow.d.ts +8 -0
  224. package/src/workflows/scripted-workflow.d.ts.map +1 -1
  225. package/src/workflows/scripted-workflow.js +10 -2
  226. package/src/workflows/scripted-workflow.js.map +1 -1
  227. package/src/workflows/structured-workflow-scripts.d.ts +10 -0
  228. package/src/workflows/structured-workflow-scripts.d.ts.map +1 -0
  229. package/src/workflows/structured-workflow-scripts.js +166 -0
  230. package/src/workflows/structured-workflow-scripts.js.map +1 -0
  231. package/src/workflows/workflow-receipt.d.ts.map +1 -1
  232. package/src/workflows/workflow-receipt.js +8 -2
  233. package/src/workflows/workflow-receipt.js.map +1 -1
  234. package/src/workflows/workflow-resources.d.ts +9 -0
  235. package/src/workflows/workflow-resources.d.ts.map +1 -1
  236. package/src/workflows/workflow-resources.js +39 -12
  237. package/src/workflows/workflow-resources.js.map +1 -1
  238. package/src/workflows/workflow-reuse.d.ts +51 -0
  239. package/src/workflows/workflow-reuse.d.ts.map +1 -0
  240. package/src/workflows/workflow-reuse.js +103 -0
  241. package/src/workflows/workflow-reuse.js.map +1 -0
  242. package/src/workflows/workflow-revival.d.ts +32 -0
  243. package/src/workflows/workflow-revival.d.ts.map +1 -0
  244. package/src/workflows/workflow-revival.js +111 -0
  245. package/src/workflows/workflow-revival.js.map +1 -0
@@ -53,10 +53,19 @@ export type PublicSubagentExecutionNormalization<T> = {
53
53
  error: string;
54
54
  mode: PublicSubagentExecutionMode;
55
55
  };
56
+ /** A workflow value containing "/" or "\" is a script path; named workflow resource names contain neither. */
57
+ export declare function isWorkflowScriptPath(workflow: string): boolean;
58
+ /**
59
+ * Model tool calls supply script text only through workflow: true (the reply block) or a script path.
60
+ * workflowScript remains the internal carrier for slash, prompt-workflow, scheduled, RPC, and named-resource launches.
61
+ */
62
+ export declare function removedModelWorkflowFieldError(params: object): string | undefined;
56
63
  export declare function validateWorkflowCapacityOverrides(params: PublicSubagentExecutionParams): string | undefined;
57
64
  /**
58
65
  * Enforce the public execution cutover before requests reach the executor.
59
66
  * Internal runs.run children and structured owned delegation bypass this boundary.
60
67
  */
61
- export declare function normalizePublicSubagentExecution<T extends PublicSubagentExecutionParams>(params: T): PublicSubagentExecutionNormalization<T>;
68
+ export declare function normalizePublicSubagentExecution<T extends PublicSubagentExecutionParams>(params: T, options?: {
69
+ structuredWorkflows?: boolean;
70
+ }): PublicSubagentExecutionNormalization<T>;
62
71
  //# sourceMappingURL=public-execution.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"public-execution.d.ts","sourceRoot":"","sources":["../../../src/extension/public-execution.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,6BAA6B;IAC7C,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,wBAAwB,CAAC,EAAE,OAAO,CAAC;IACnC,6BAA6B,CAAC,EAAE,OAAO,CAAC;IACxC,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC5B;AAED,MAAM,MAAM,2BAA2B,GAAG,UAAU,GAAG,YAAY,CAAC;AAEpE,MAAM,MAAM,oCAAoC,CAAC,CAAC,IAC/C;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,MAAM,EAAE,CAAC,CAAA;CAAE,GACvB;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,2BAA2B,CAAA;CAAE,CAAC;AAEnE,wBAAgB,iCAAiC,CAAC,MAAM,EAAE,6BAA6B,GAAG,MAAM,GAAG,SAAS,CAO3G;AAED;;;GAGG;AACH,wBAAgB,gCAAgC,CAAC,CAAC,SAAS,6BAA6B,EAAE,MAAM,EAAE,CAAC,GAAG,oCAAoC,CAAC,CAAC,CAAC,CA4J5I"}
1
+ {"version":3,"file":"public-execution.d.ts","sourceRoot":"","sources":["../../../src/extension/public-execution.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,22 @@
1
1
  import { normalizeWorktreeBaseRef } from "../runs/shared/worktree.js";
2
+ const RAW_SCRIPT_FORMS = "workflow: true or a workflow script path";
3
+ const REMOVED_WORKFLOW_SCRIPT = "workflowScript was removed; write the script in one ```js workflow block in this reply and call subagent({ workflow: true }), or pass a script file as workflow: \"./path/to/script.js\".";
4
+ const REMOVED_WORKFLOW_SCRIPT_PATH = "workflowScriptPath was removed; pass the script file as workflow: \"./path/to/script.js\" (a workflow value containing '/' is a path).";
5
+ /** A workflow value containing "/" or "\" is a script path; named workflow resource names contain neither. */
6
+ export function isWorkflowScriptPath(workflow) {
7
+ return workflow.includes("/") || workflow.includes("\\");
8
+ }
9
+ /**
10
+ * Model tool calls supply script text only through workflow: true (the reply block) or a script path.
11
+ * workflowScript remains the internal carrier for slash, prompt-workflow, scheduled, RPC, and named-resource launches.
12
+ */
13
+ export function removedModelWorkflowFieldError(params) {
14
+ if (Object.hasOwn(params, "workflowScript"))
15
+ return REMOVED_WORKFLOW_SCRIPT;
16
+ if (Object.hasOwn(params, "workflowScriptPath"))
17
+ return REMOVED_WORKFLOW_SCRIPT_PATH;
18
+ return undefined;
19
+ }
2
20
  export function validateWorkflowCapacityOverrides(params) {
3
21
  for (const [name, value] of [
4
22
  ["globalConcurrencyLimit", params.globalConcurrencyLimit],
@@ -12,7 +30,7 @@ export function validateWorkflowCapacityOverrides(params) {
12
30
  * Enforce the public execution cutover before requests reach the executor.
13
31
  * Internal runs.run children and structured owned delegation bypass this boundary.
14
32
  */
15
- export function normalizePublicSubagentExecution(params) {
33
+ export function normalizePublicSubagentExecution(params, options = {}) {
16
34
  for (const field of ["resource", "resourceProvenance", "workflowResource", "workflowResourceProvenance", "workflowResourcePermit", "resourcePermit", "permit"]) {
17
35
  if (Object.hasOwn(params, field) && params[field] !== undefined) {
18
36
  return { ok: false, error: "Public execution does not accept workflow resource provenance or permit fields.", mode: params.action === undefined ? "workflow" : "management" };
@@ -26,19 +44,22 @@ export function normalizePublicSubagentExecution(params) {
26
44
  return { ok: false, error: error instanceof Error ? error.message : String(error), mode: params.action === undefined ? "workflow" : "management" };
27
45
  }
28
46
  }
29
- if (params.workflowScript !== undefined && params.workflowScriptPath !== undefined) {
30
- return { ok: false, error: "workflowScript and workflowScriptPath are mutually exclusive.", mode: "workflow" };
47
+ if (params.workflowScriptPath !== undefined) {
48
+ return { ok: false, error: REMOVED_WORKFLOW_SCRIPT_PATH, mode: params.action === undefined ? "workflow" : "management" };
31
49
  }
32
- const hasNamedWorkflow = params.workflow !== undefined;
33
- if (hasNamedWorkflow && (typeof params.workflow !== "string" || !params.workflow.trim())) {
34
- return { ok: false, error: "workflow must be a non-empty named workflow resource.", mode: "workflow" };
50
+ const workflow = params.workflow;
51
+ if (workflow !== undefined && workflow !== true && (typeof workflow !== "string" || !workflow.trim())) {
52
+ return { ok: false, error: "workflow must be true (the ```js workflow block in this reply), a script path containing '/', or a named workflow resource.", mode: "workflow" };
35
53
  }
36
- if (hasNamedWorkflow && (params.workflowScript !== undefined || params.workflowScriptPath !== undefined)) {
37
- return { ok: false, error: "workflow is mutually exclusive with workflowScript and workflowScriptPath.", mode: "workflow" };
54
+ const hasNamedWorkflow = typeof workflow === "string" && !isWorkflowScriptPath(workflow);
55
+ // workflowScript is the internal script carrier; model tool calls cannot set it.
56
+ if (workflow !== undefined && params.workflowScript !== undefined) {
57
+ return { ok: false, error: "workflow cannot be combined with an internal workflowScript.", mode: "workflow" };
38
58
  }
39
- const hasWorkflowInput = params.workflowScript !== undefined || params.workflowScriptPath !== undefined || hasNamedWorkflow;
59
+ const hasRawScript = params.workflowScript !== undefined || (workflow !== undefined && !hasNamedWorkflow);
60
+ const hasWorkflowInput = hasRawScript || hasNamedWorkflow;
40
61
  if (!hasWorkflowInput && params.args !== undefined) {
41
- return { ok: false, error: "args requires workflow, workflowScript, or workflowScriptPath.", mode: "workflow" };
62
+ return { ok: false, error: "args requires workflow.", mode: "workflow" };
42
63
  }
43
64
  const hasCapacityOverride = params.globalConcurrencyLimit !== undefined || params.maxSubagentSpawnsPerRun !== undefined;
44
65
  if (hasCapacityOverride) {
@@ -47,19 +68,17 @@ export function normalizePublicSubagentExecution(params) {
47
68
  return { ok: false, error: capacityOverrideError, mode: params.action === undefined ? "workflow" : "management" };
48
69
  const validatesSpawnBudget = typeof params.action === "string" && params.action.trim() === "validate"
49
70
  && params.globalConcurrencyLimit === undefined && params.maxSubagentSpawnsPerRun !== undefined;
50
- if ((params.action !== undefined && !validatesSpawnBudget) || hasNamedWorkflow || (params.workflowScript === undefined && params.workflowScriptPath === undefined)) {
51
- return { ok: false, error: "Workflow capacity overrides are only supported on top-level workflowScript or workflowScriptPath calls; validate accepts maxSubagentSpawnsPerRun for static budget checks.", mode: params.action === undefined ? "workflow" : "management" };
71
+ if ((params.action !== undefined && !validatesSpawnBudget) || !hasRawScript) {
72
+ return { ok: false, error: `Workflow capacity overrides are only supported on top-level ${RAW_SCRIPT_FORMS} calls; validate accepts maxSubagentSpawnsPerRun for static budget checks.`, mode: params.action === undefined ? "workflow" : "management" };
52
73
  }
53
74
  }
54
75
  if (params.preflight !== undefined && !hasWorkflowInput) {
55
- return { ok: false, error: "preflight requires workflowScript or workflowScriptPath.", mode: params.action === undefined ? "workflow" : "management" };
76
+ return { ok: false, error: `preflight requires ${RAW_SCRIPT_FORMS}.`, mode: params.action === undefined ? "workflow" : "management" };
56
77
  }
57
- if (params.preflight !== undefined && hasNamedWorkflow && params.workflowScript === undefined && params.workflowScriptPath === undefined) {
78
+ if (params.preflight !== undefined && hasNamedWorkflow) {
58
79
  return { ok: false, error: "preflight is not supported with named workflow resources.", mode: "workflow" };
59
80
  }
60
- const hasValidWorkflowInput = (typeof params.workflowScript === "string" && Boolean(params.workflowScript.trim()))
61
- || (typeof params.workflowScriptPath === "string" && Boolean(params.workflowScriptPath.trim()))
62
- || (typeof params.workflow === "string" && Boolean(params.workflow.trim()));
81
+ const hasValidWorkflowInput = workflow !== undefined || (typeof params.workflowScript === "string" && Boolean(params.workflowScript.trim()));
63
82
  if (params.isolation !== undefined) {
64
83
  if (params.isolation !== "none" && params.isolation !== "worktree") {
65
84
  return { ok: false, error: "isolation must be 'none' or 'worktree'.", mode: hasWorkflowInput ? "workflow" : "management" };
@@ -79,7 +98,7 @@ export function normalizePublicSubagentExecution(params) {
79
98
  }
80
99
  const action = params.action;
81
100
  if (action !== undefined && (typeof action !== "string" || !action.trim())) {
82
- return { ok: false, error: "action must be a non-empty management/control action, or omit action and use workflowScript.", mode: "management" };
101
+ return { ok: false, error: "action must be a non-empty management/control action, or omit action and use workflow.", mode: "management" };
83
102
  }
84
103
  const normalizedAction = typeof action === "string" ? action.trim() : undefined;
85
104
  if (params.baseRef !== undefined && normalizedAction !== undefined && normalizedAction !== "resume" && normalizedAction !== "schedule.create") {
@@ -89,55 +108,70 @@ export function normalizePublicSubagentExecution(params) {
89
108
  return { ok: false, error: "Named workflow resource execution must omit action.", mode: "management" };
90
109
  }
91
110
  if (params.clarify !== undefined) {
92
- return { ok: false, error: "Public workflowScript execution does not support clarify UI.", mode: "workflow" };
111
+ return { ok: false, error: "Public workflow execution does not support clarify UI.", mode: "workflow" };
93
112
  }
94
113
  if (params.chainName !== undefined) {
95
- return { ok: false, error: "Durable chain management was removed; use workflowScript or /prompt-workflow for repeatable workflows.", mode: "management" };
114
+ return { ok: false, error: "Durable chain management was removed; use a workflow script or /prompt-workflow for repeatable workflows.", mode: "management" };
96
115
  }
97
116
  if (params.config && typeof params.config === "object" && !Array.isArray(params.config) && Object.prototype.hasOwnProperty.call(params.config, "steps")) {
98
- return { ok: false, error: "Durable chain definitions were removed; use workflowScript or /prompt-workflow for repeatable workflows.", mode: "management" };
117
+ return { ok: false, error: "Durable chain definitions were removed; use a workflow script or /prompt-workflow for repeatable workflows.", mode: "management" };
99
118
  }
100
119
  if (params.resume !== undefined) {
101
- return { ok: false, error: "Top-level resume execution is not available. Put resume on a workflowScript runs.run/runs.all item.", mode: "workflow" };
120
+ return { ok: false, error: "Top-level resume execution is not available. Put resume on a workflow script runs.run/runs.all item.", mode: "workflow" };
102
121
  }
103
- const hasLegacyOrchestration = params.tasks !== undefined || params.chain !== undefined || params.parallel !== undefined || params.concurrency !== undefined || params.chainDir !== undefined;
122
+ // action: "chain"/"tasks"/"parallel" stays a legacy error even where top-level chain/tasks are accepted.
123
+ const legacyOrchestrationAction = ["parallel", "tasks", "chain"].includes(normalizedAction?.toLowerCase() ?? "");
124
+ const hasStructuredWorkflow = options.structuredWorkflows === true && !legacyOrchestrationAction && (params.tasks !== undefined || params.chain !== undefined);
125
+ const hasLegacyOrchestration = (!hasStructuredWorkflow && (params.tasks !== undefined || params.chain !== undefined)) || params.parallel !== undefined || params.concurrency !== undefined || params.chainDir !== undefined;
104
126
  if (hasLegacyOrchestration) {
105
- return { ok: false, error: "Legacy top-level chain and parallel inputs were removed; use workflowScript.", mode: normalizedAction ? "management" : "workflow" };
127
+ return { ok: false, error: `Legacy top-level chain and parallel inputs were removed; use a workflow script (${RAW_SCRIPT_FORMS}).`, mode: normalizedAction ? "management" : "workflow" };
128
+ }
129
+ if (hasStructuredWorkflow) {
130
+ if (params.tasks !== undefined && params.chain !== undefined) {
131
+ return { ok: false, error: "Pass either tasks or chain, not both.", mode: "workflow" };
132
+ }
133
+ const field = params.tasks !== undefined ? "tasks" : "chain";
134
+ // workflow and workflowScript were already rejected by the workflow-scripts feature check.
135
+ for (const [name, value] of [["action", params.action], ["agent", params.agent], ["step", params.step]]) {
136
+ if (value !== undefined)
137
+ return { ok: false, error: `${field} cannot be combined with ${name}.`, mode: normalizedAction ? "management" : "workflow" };
138
+ }
139
+ return { ok: true, params };
106
140
  }
107
141
  if (normalizedAction !== undefined) {
108
142
  const legacyAction = normalizedAction.toLowerCase();
109
143
  if (legacyAction === "append-step") {
110
- return { ok: false, error: "Legacy append-step control was removed from the public subagent tool; use current workflowScript orchestration.", mode: "management" };
144
+ return { ok: false, error: "Legacy append-step control was removed from the public subagent tool; use workflow script orchestration.", mode: "management" };
111
145
  }
112
146
  if (legacyAction === "approve-checkpoint" || legacyAction === "reject-checkpoint") {
113
- return { ok: false, error: "Legacy checkpoint approval controls were removed from the public subagent tool; use current workflowScript orchestration.", mode: "management" };
147
+ return { ok: false, error: "Legacy checkpoint approval controls were removed from the public subagent tool; use workflow script orchestration.", mode: "management" };
114
148
  }
115
149
  if (legacyAction === "single") {
116
150
  return { ok: false, error: "action='single' is not supported. Omit action and pass { agent, task } for one child.", mode: "workflow" };
117
151
  }
118
152
  if (legacyAction === "parallel" || legacyAction === "tasks" || legacyAction === "chain") {
119
- return { ok: false, error: "Legacy top-level chain and parallel inputs were removed; use workflowScript.", mode: "workflow" };
153
+ return { ok: false, error: `Legacy top-level chain and parallel inputs were removed; use a workflow script (${RAW_SCRIPT_FORMS}).`, mode: "workflow" };
120
154
  }
121
155
  if (normalizedAction === "validate") {
122
156
  if (params.agent !== undefined || params.task !== undefined || params.step !== undefined) {
123
- return { ok: false, error: "validate requires workflowScript or workflowScriptPath and does not accept direct agent, task, or step execution fields.", mode: "management" };
157
+ return { ok: false, error: `validate requires ${RAW_SCRIPT_FORMS} and does not accept direct agent, task, or step execution fields.`, mode: "management" };
124
158
  }
125
159
  if (!hasValidWorkflowInput) {
126
- return { ok: false, error: "validate requires a non-empty workflowScript or workflowScriptPath.", mode: "management" };
160
+ return { ok: false, error: `validate requires ${RAW_SCRIPT_FORMS}.`, mode: "management" };
127
161
  }
128
162
  return { ok: true, params: { ...params, action: normalizedAction } };
129
163
  }
130
164
  if (normalizedAction === "schedule.create") {
131
165
  if (params.agent !== undefined || params.task !== undefined || params.step !== undefined) {
132
- return { ok: false, error: "schedule.create requires workflowScript or workflowScriptPath and does not accept direct agent, task, or step execution fields.", mode: "management" };
166
+ return { ok: false, error: `schedule.create requires ${RAW_SCRIPT_FORMS} and does not accept direct agent, task, or step execution fields.`, mode: "management" };
133
167
  }
134
168
  if (!hasValidWorkflowInput) {
135
- return { ok: false, error: "schedule.create requires a non-empty workflowScript or workflowScriptPath.", mode: "management" };
169
+ return { ok: false, error: `schedule.create requires ${RAW_SCRIPT_FORMS}.`, mode: "management" };
136
170
  }
137
171
  return { ok: true, params: { ...params, action: normalizedAction } };
138
172
  }
139
173
  if (hasWorkflowInput) {
140
- return { ok: false, error: "Workflow execution must omit action; only validate and schedule.create accept action with workflowScript or workflowScriptPath.", mode: "management" };
174
+ return { ok: false, error: `Workflow execution must omit action; only validate and schedule.create accept action with ${RAW_SCRIPT_FORMS}.`, mode: "management" };
141
175
  }
142
176
  if (params.task !== undefined) {
143
177
  return { ok: false, error: "Structured single-child task cannot be combined with a management/control action.", mode: "management" };
@@ -145,10 +179,10 @@ export function normalizePublicSubagentExecution(params) {
145
179
  return { ok: true, params: { ...params, action: normalizedAction } };
146
180
  }
147
181
  if (params.step !== undefined) {
148
- return { ok: false, error: "step is not a public execution field; use workflowScript for orchestration.", mode: "workflow" };
182
+ return { ok: false, error: `step is not a public execution field; use a workflow script (${RAW_SCRIPT_FORMS}) for orchestration.`, mode: "workflow" };
149
183
  }
150
184
  if (hasWorkflowInput && (params.agent !== undefined || params.task !== undefined)) {
151
- return { ok: false, error: "Structured single-child execution cannot be combined with workflow, workflowScript, or workflowScriptPath.", mode: "workflow" };
185
+ return { ok: false, error: "Structured single-child execution cannot be combined with workflow.", mode: "workflow" };
152
186
  }
153
187
  if (params.agent !== undefined || params.task !== undefined) {
154
188
  if (typeof params.agent !== "string" || !params.agent.trim()) {
@@ -167,7 +201,7 @@ export function normalizePublicSubagentExecution(params) {
167
201
  };
168
202
  }
169
203
  if (!hasValidWorkflowInput) {
170
- return { ok: false, error: "Execution requires either { agent, task? } for one child, a named workflow resource, or a non-empty workflowScript or workflowScriptPath for orchestration.", mode: "workflow" };
204
+ return { ok: false, error: "Execution requires either { agent, task? } for one child or workflow (true, a script path, or a named workflow resource) for orchestration.", mode: "workflow" };
171
205
  }
172
206
  return { ok: true, params };
173
207
  }
@@ -1 +1 @@
1
- {"version":3,"file":"public-execution.js","sourceRoot":"","sources":["../../../src/extension/public-execution.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"public-execution.js","sourceRoot":"","sources":["../../../src/extension/public-execution.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ import type { ExtensionContext } from "@earendil-works/pi-coding-agent";
2
+ export type ReplyWorkflowScript = {
3
+ script: string;
4
+ } | {
5
+ error: string;
6
+ };
7
+ /**
8
+ * Pi persists the whole assistant message before running its tool calls, so the
9
+ * message that issued this subagent call is on the branch and carries the script.
10
+ */
11
+ export declare function readReplyWorkflowScript(sessionManager: Pick<ExtensionContext["sessionManager"], "getBranch">, toolCallId: string): ReplyWorkflowScript;
12
+ //# sourceMappingURL=reply-workflow-script.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reply-workflow-script.d.ts","sourceRoot":"","sources":["../../../src/extension/reply-workflow-script.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AAMxE,MAAM,MAAM,mBAAmB,GAAG;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAEzE;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,cAAc,EAAE,IAAI,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,EAAE,WAAW,CAAC,EAAE,UAAU,EAAE,MAAM,GAAG,mBAAmB,CAWtJ"}
@@ -0,0 +1,61 @@
1
+ const WORKFLOW_FENCE = /^```(?:js|javascript) workflow[ \t]*$/;
2
+ const OPEN_FENCE = /^(`{3,}|~{3,})/;
3
+ const CLOSE_FENCE = /^(`{3,}|~{3,})[ \t]*$/;
4
+ /**
5
+ * Pi persists the whole assistant message before running its tool calls, so the
6
+ * message that issued this subagent call is on the branch and carries the script.
7
+ */
8
+ export function readReplyWorkflowScript(sessionManager, toolCallId) {
9
+ const branch = sessionManager.getBranch();
10
+ for (let index = branch.length - 1; index >= 0; index--) {
11
+ const entry = branch[index];
12
+ if (entry.type !== "message")
13
+ continue;
14
+ const message = entry.message;
15
+ if (message?.role !== "assistant" || !Array.isArray(message.content))
16
+ continue;
17
+ if (!message.content.some((block) => block.type === "toolCall" && block.id === toolCallId))
18
+ continue;
19
+ return scriptFromReply(message.content);
20
+ }
21
+ return { error: "workflow: true only works from a model subagent tool call whose assistant message contains the ```js workflow block; other callers must pass a script path such as workflow: \"./script.js\"." };
22
+ }
23
+ function scriptFromReply(content) {
24
+ const replyCalls = content.filter((block) => block.type === "toolCall" && block.name === "subagent"
25
+ && block.arguments?.workflow === true).length;
26
+ if (replyCalls > 1)
27
+ return { error: `This reply has ${replyCalls} subagent calls with workflow: true; a reply can carry only one. Pass other scripts as workflow file paths.` };
28
+ const text = content.flatMap((block) => block.type === "text" && typeof block.text === "string" ? [block.text] : []).join("\n");
29
+ const { blocks, unclosed } = workflowBlocks(text);
30
+ if (unclosed)
31
+ return { error: "The ```js workflow block in this reply is not closed." };
32
+ if (blocks.length !== 1)
33
+ return { error: `workflow: true requires exactly one \`\`\`js workflow fenced block in the same reply as the tool call; found ${blocks.length}.` };
34
+ const script = blocks[0];
35
+ if (!script.trim())
36
+ return { error: "The ```js workflow block in this reply is empty." };
37
+ return { script };
38
+ }
39
+ /** Collects ```js workflow / ```javascript workflow fenced blocks, skipping the bodies of other fences. */
40
+ function workflowBlocks(text) {
41
+ const lines = text.split("\n");
42
+ const blocks = [];
43
+ let fence;
44
+ for (let index = 0; index < lines.length; index++) {
45
+ const line = lines[index].replace(/\r$/, "");
46
+ if (!fence) {
47
+ const open = OPEN_FENCE.exec(line);
48
+ if (open)
49
+ fence = { marker: open[1], tagged: WORKFLOW_FENCE.test(line), start: index + 1 };
50
+ continue;
51
+ }
52
+ const close = CLOSE_FENCE.exec(line);
53
+ if (!close || close[1][0] !== fence.marker[0] || close[1].length < fence.marker.length)
54
+ continue;
55
+ if (fence.tagged)
56
+ blocks.push(lines.slice(fence.start, index).join("\n"));
57
+ fence = undefined;
58
+ }
59
+ return { blocks, unclosed: fence?.tagged === true };
60
+ }
61
+ //# sourceMappingURL=reply-workflow-script.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reply-workflow-script.js","sourceRoot":"","sources":["../../../src/extension/reply-workflow-script.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,7 @@ import type { AgentToolResult } from "@earendil-works/pi-agent-core";
2
2
  import type { ExtensionContext } from "@earendil-works/pi-coding-agent";
3
3
  import type { SubagentParamsLike } from "../runs/foreground/subagent-executor.ts";
4
4
  import { type Details, type SubagentState, type TokenUsage } from "../shared/types.ts";
5
+ import { type DisabledFeatureSurface } from "../shared/disabled-features.ts";
5
6
  export declare const SUBAGENT_RPC_PROTOCOL_VERSION = 1;
6
7
  export declare const SUBAGENT_RPC_REQUEST_EVENT = "subagents:rpc:v1:request";
7
8
  export declare const SUBAGENT_RPC_READY_EVENT = "subagents:rpc:v1:ready";
@@ -73,6 +74,7 @@ interface RegisterSubagentRpcBridgeOptions {
73
74
  now?: () => number;
74
75
  /** Native live state, projected into the optional public fleet-status capability. */
75
76
  state?: SubagentState;
77
+ disabledFeatures?: DisabledFeatureSurface;
76
78
  }
77
79
  export declare function subagentRpcReplyEvent(requestId: string): string;
78
80
  export declare function registerSubagentRpcBridge(options: RegisterSubagentRpcBridgeOptions): {
@@ -1 +1 @@
1
- {"version":3,"file":"rpc.d.ts","sourceRoot":"","sources":["../../../src/extension/rpc.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AACrE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AAKxE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yCAAyC,CAAC;AAElF,OAAO,EAEN,KAAK,OAAO,EACZ,KAAK,aAAa,EAClB,KAAK,UAAU,EAOf,MAAM,oBAAoB,CAAC;AAS5B,eAAO,MAAM,6BAA6B,IAAI,CAAC;AAC/C,eAAO,MAAM,0BAA0B,6BAA6B,CAAC;AACrE,eAAO,MAAM,wBAAwB,2BAA2B,CAAC;AACjE,eAAO,MAAM,+BAA+B,4BAA4B,CAAC;AAEzE,eAAO,MAAM,oBAAoB,gGAAiG,CAAC;AACnI,MAAM,MAAM,iBAAiB,GAAG,OAAO,oBAAoB,CAAC,MAAM,CAAC,CAAC;AAEpE,MAAM,WAAW,0BAA0B;IAC1C,OAAO,EAAE,OAAO,6BAA6B,CAAC;IAC9C,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,iBAAiB,CAAC;IAC1B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE;QACR,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;KACvB,CAAC;CACF;AAED,MAAM,MAAM,wBAAwB,CAAC,CAAC,GAAG,OAAO,IAAI;IACnD,OAAO,EAAE,OAAO,6BAA6B,CAAC;IAC9C,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,iBAAiB,CAAC;IAC3B,OAAO,EAAE,IAAI,CAAC;IACd,IAAI,EAAE,CAAC,CAAC;CACR,GAAG;IACH,OAAO,EAAE,OAAO,6BAA6B,CAAC;IAC9C,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,iBAAiB,CAAC;IAC3B,OAAO,EAAE,KAAK,CAAC;IACf,KAAK,EAAE;QACN,IAAI,EAAE,oBAAoB,CAAC;QAC3B,OAAO,EAAE,MAAM,CAAC;KAChB,CAAC;CACF,CAAC;AAEF,eAAO,MAAM,+BAA+B,yIAQlC,CAAC;AAIX,KAAK,oBAAoB,GACtB,iBAAiB,GACjB,gBAAgB,GAChB,qBAAqB,GACrB,oBAAoB,GACpB,mBAAmB,GACnB,kBAAkB,GAClB,WAAW,GACX,eAAe,CAAC;AAEnB,UAAU,QAAQ;IACjB,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,GAAG,CAAC,MAAM,IAAI,CAAC,GAAG,IAAI,CAAC;IACzE,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,IAAI,CAAC;CACzC;AAED,MAAM,WAAW,qBAAqB;IACrC,kFAAkF;IAClF,GAAG,EAAE,MAAM,CAAC;IACZ,sCAAsC;IACtC,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,UAAU,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,sBAAsB;IACtC,OAAO,EAAE,CAAC,CAAC;IACX,OAAO,EAAE,qBAAqB,EAAE,CAAC;IACjC,+DAA+D;IAC/D,WAAW,EAAE,MAAM,CAAC;IACpB,qBAAqB,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IACvD,OAAO,EAAE,MAAM,CAAC;CAChB;AAgMD,UAAU,gCAAgC;IACzC,MAAM,EAAE,QAAQ,CAAC;IACjB,UAAU,EAAE,MAAM,gBAAgB,GAAG,IAAI,CAAC;IAC1C,OAAO,EAAE,CACR,EAAE,EAAE,MAAM,EACV,MAAM,EAAE,kBAAkB,EAC1B,MAAM,EAAE,WAAW,EACnB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,eAAe,CAAC,OAAO,CAAC,KAAK,IAAI,CAAC,GAAG,SAAS,EAClE,GAAG,EAAE,gBAAgB,KACjB,OAAO,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC;IACvC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,OAAO,GAAG,CAAC,KAAK,OAAO,CAAC;IAC7D,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;IACnB,qFAAqF;IACrF,KAAK,CAAC,EAAE,aAAa,CAAC;CACtB;AAcD,wBAAgB,qBAAqB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAE/D;AAyeD,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,gCAAgC,GAAG;IACrF,SAAS,EAAE,CAAC,GAAG,CAAC,EAAE,gBAAgB,GAAG,IAAI,KAAK,IAAI,CAAC;IACnD,OAAO,EAAE,MAAM,IAAI,CAAC;CACpB,CA4BA"}
1
+ {"version":3,"file":"rpc.d.ts","sourceRoot":"","sources":["../../../src/extension/rpc.ts"],"names":[],"mappings":"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"}
@@ -8,6 +8,7 @@ import { DIRS, SUBAGENT_ASYNC_COMPLETE_EVENT, SUBAGENT_CHILD_STATUS_EVENT, SUBAG
8
8
  import { sanitizeDisplayText, truncateDisplayText } from "../shared/display-text.js";
9
9
  import { readStatus } from "../shared/utils.js";
10
10
  import { SubagentParams } from "./schemas.js";
11
+ import { disabledFeatureUseError } from "../shared/disabled-features.js";
11
12
  import { normalizePublicSubagentExecution } from "./public-execution.js";
12
13
  import { collectSubagentCost, SUBAGENT_COST_REPORT_VERSION } from "../slash/subagent-cost.js";
13
14
  import { ASYNC_STATUS_SNAPSHOT_KIND, ASYNC_STATUS_SNAPSHOT_VERSION, buildAsyncStatusSnapshotForState } from "../runs/background/async-status-snapshot.js";
@@ -197,6 +198,9 @@ function buildFleetStatus(state, keyState, sessionId) {
197
198
  const omitted = Math.max(0, totalActive - entries.length);
198
199
  return { version: 1, entries, totalActive, topLevelAsyncCapacity: state.activeAsyncCapacity ?? { used: 0, limit: 0 }, omitted };
199
200
  }
201
+ function enabledManagementActions(options) {
202
+ return SUBAGENT_RPC_MANAGEMENT_ACTIONS.filter((action) => !options.disabledFeatures?.actions.has(action));
203
+ }
200
204
  class SubagentRpcError extends Error {
201
205
  code;
202
206
  constructor(code, message) {
@@ -304,14 +308,14 @@ function sessionData(ctx) {
304
308
  sessionFile: ctx.sessionManager.getSessionFile() ?? null,
305
309
  };
306
310
  }
307
- function pingData(ctx) {
311
+ function pingData(ctx, options) {
308
312
  return {
309
313
  version: SUBAGENT_RPC_PROTOCOL_VERSION,
310
314
  methods: [...SUBAGENT_RPC_METHODS],
311
315
  capabilities: {
312
316
  status: true,
313
317
  statusProjection: { version: 1, untargeted: "in-memory-when-ready", targeted: "executor" },
314
- managementActions: [...SUBAGENT_RPC_MANAGEMENT_ACTIONS],
318
+ managementActions: enabledManagementActions(options),
315
319
  fleetStatus: { version: 1 },
316
320
  asyncStatusSnapshot: { kind: ASYNC_STATUS_SNAPSHOT_KIND, version: ASYNC_STATUS_SNAPSHOT_VERSION },
317
321
  asyncSpawn: true,
@@ -343,10 +347,11 @@ async function executeChecked(options, ctx, requestId, method, params) {
343
347
  failIfToolError(result);
344
348
  return dataFromToolResult(result);
345
349
  }
346
- function manageParams(params) {
350
+ function manageParams(params, options) {
347
351
  const input = assertRecordParams(params, "manage");
348
352
  if (typeof input.action !== "string" || !SUBAGENT_RPC_MANAGEMENT_ACTIONS.includes(input.action)) {
349
- throw new SubagentRpcError("invalid_params", `RPC manage action must be one of: ${SUBAGENT_RPC_MANAGEMENT_ACTIONS.join(", ")}.`);
353
+ const enabled = enabledManagementActions(options);
354
+ throw new SubagentRpcError("invalid_params", enabled.length > 0 ? `RPC manage action must be one of: ${enabled.join(", ")}.` : "RPC manage actions are all disabled by config.");
350
355
  }
351
356
  if (input.id !== undefined && (typeof input.id !== "string" || !input.id.trim())) {
352
357
  throw new SubagentRpcError("invalid_params", "RPC manage id must be a non-empty string.");
@@ -367,8 +372,26 @@ function manageParams(params) {
367
372
  assertSubagentParams(output, "RPC manage params");
368
373
  return output;
369
374
  }
370
- function spawnParams(params) {
371
- const input = assertRecordParams(params, "spawn");
375
+ function spawnParams(params, options) {
376
+ const { script, ...input } = assertRecordParams(params, "spawn");
377
+ if (Object.hasOwn(input, "workflowScript"))
378
+ throw new SubagentRpcError("invalid_params", "RPC spawn workflowScript was removed; pass inline script text as script.");
379
+ if (Object.hasOwn(input, "workflowScriptPath"))
380
+ throw new SubagentRpcError("invalid_params", "RPC spawn workflowScriptPath was removed; pass the file as workflow: \"./path/to/script.js\".");
381
+ if (input.workflow === true)
382
+ throw new SubagentRpcError("invalid_params", "RPC spawn has no reply block for workflow: true; pass inline script text as script or a file as workflow: \"./path/to/script.js\".");
383
+ if (script !== undefined) {
384
+ if (typeof script !== "string" || !script.trim())
385
+ throw new SubagentRpcError("invalid_params", "RPC spawn script must be a non-empty string.");
386
+ if (input.workflow !== undefined)
387
+ throw new SubagentRpcError("invalid_params", "RPC spawn script cannot be combined with workflow.");
388
+ // The executor's internal carrier; the model-facing tool cannot set it.
389
+ input.workflowScript = script;
390
+ }
391
+ // With workflow scripts disabled, name the setting before normalization can report a script-shape error instead.
392
+ const disabledFeatureError = options.disabledFeatures?.features.has("workflow-scripts") ? disabledFeatureUseError(input, options.disabledFeatures, "RPC spawn") : undefined;
393
+ if (disabledFeatureError)
394
+ throw new SubagentRpcError("invalid_params", disabledFeatureError);
372
395
  const normalized = normalizePublicSubagentExecution(input);
373
396
  if (!normalized.ok)
374
397
  throw new SubagentRpcError("invalid_params", normalized.error);
@@ -559,14 +582,14 @@ function stopAsyncRun(params, options, ctx) {
559
582
  async function handleRequest(request, options, fleetKeys) {
560
583
  const ctx = options.getContext();
561
584
  if (request.method === "ping")
562
- return pingData(ctx);
585
+ return pingData(ctx, options);
563
586
  if (!ctx)
564
587
  throw new SubagentRpcError("no_active_session", "No active extension context for subagent RPC.");
565
588
  if (request.method === "manage") {
566
- return executeChecked(options, ctx, request.requestId, request.method, manageParams(request.params));
589
+ return executeChecked(options, ctx, request.requestId, request.method, manageParams(request.params, options));
567
590
  }
568
591
  if (request.method === "spawn") {
569
- return executeChecked(options, ctx, request.requestId, request.method, spawnParams(request.params));
592
+ return executeChecked(options, ctx, request.requestId, request.method, spawnParams(request.params, options));
570
593
  }
571
594
  if (request.method === "status") {
572
595
  const statusParams = normalizeStatusParams(request.params);
@@ -686,7 +709,7 @@ export function registerSubagentRpcBridge(options) {
686
709
  });
687
710
  return {
688
711
  emitReady: (ctx) => {
689
- options.events.emit(SUBAGENT_RPC_READY_EVENT, pingData(ctx ?? options.getContext()));
712
+ options.events.emit(SUBAGENT_RPC_READY_EVENT, pingData(ctx ?? options.getContext(), options));
690
713
  },
691
714
  dispose: () => {
692
715
  if (typeof unsubscribe === "function")