patchwork-os 1.2.0-beta.2.canary.824 → 1.2.0-beta.2.canary.826

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.
@@ -269,8 +269,9 @@ export interface ExecutionDeps {
269
269
  requireApprovalFn?: import("./approvalRequest.js").ApprovalFn;
270
270
  /**
271
271
  * Set exactly when `buildWorkerAutonomyGate` returned a fn, i.e. when
272
- * `requireApprovalFn` IS the worker gate rather than the tier gate. Spread in
273
- * from the flat runner's deps, which the chained path already receives whole.
272
+ * `requireApprovalFn` IS the worker gate rather than the tier gate. Forwarded
273
+ * explicitly by `buildChainedDeps` (yamlRunner.ts) alongside that fn — it was
274
+ * once assumed to arrive by spread, and did not.
274
275
  *
275
276
  * Load-bearing for one reason: a recipe's own `requireApproval: false` must
276
277
  * not be able to switch off the machinery that governs it. The flag suppresses
@@ -6,7 +6,7 @@
6
6
  * - Conditional step execution (when)
7
7
  * - Dry-run mode
8
8
  */
9
- import { approvalIdentityMatches, executionEvidence, } from "../approvalIdentity.js";
9
+ import { approvalIdentityMatches, computeApprovedActionIdentity, executionEvidence, } from "../approvalIdentity.js";
10
10
  import { computeEffectivePolicy } from "../governance/effectivePolicy.js";
11
11
  import { readKillSwitch } from "../governance/killSwitchPolicy.js";
12
12
  import { activeProfile, COMPAT_PROFILE, resolveAgentContainment, } from "../governance/profile.js";
@@ -16,6 +16,7 @@ import { classifyTool } from "../riskTier.js";
16
16
  import { stepSandboxRequest } from "./agentExecutor.js";
17
17
  import { normaliseApprovalVerdict, recipeApprovalIdentityMatches, } from "./approvalRequest.js";
18
18
  import { buildDependencyGraph, executeWithDependencies, } from "./dependencyGraph.js";
19
+ import { fanOutApprovalSummary, fanOutChildReversibilityCeiling, fanOutChildToolId, } from "./fanOutChild.js";
19
20
  import { reversibilityCeilingFor } from "./fileWriteRollbackability.js";
20
21
  import { approvalHaltFor, categoriseHaltReason, deriveHaltReasonFromError, } from "./haltCategory.js";
21
22
  import { mockNestedRecipe, resolveNestedVars, validateNestedRecipe, } from "./nestedRecipeStep.js";
@@ -440,7 +441,12 @@ export async function executeChainedStep(ctx, deps) {
440
441
  const stepRollback = !step.agent && step.tool && deps.assessRollback
441
442
  ? deps.assessRollback(step.tool, resolved)
442
443
  : undefined;
443
- const stepReversibilityCeiling = reversibilityCeilingFor(stepRollback);
444
+ // A fan_out step is gated as the tool it runs per item (fanOutChild.ts);
445
+ // identity below still hashes the dispatched `fan_out` call.
446
+ const fanOutChild = step.agent ? undefined : fanOutChildToolId(step);
447
+ const stepReversibilityCeiling = fanOutChild
448
+ ? fanOutChildReversibilityCeiling(fanOutChild)
449
+ : reversibilityCeilingFor(stepRollback);
444
450
  const effective = depth === 0 && (step.agent || step.tool)
445
451
  ? computeEffectivePolicy({
446
452
  profile: governance,
@@ -453,7 +459,7 @@ export async function executeChainedStep(ctx, deps) {
453
459
  }),
454
460
  },
455
461
  trigger: "manual",
456
- tool: toolFactsFor(step.agent ? "agent" : (step.tool ?? "unknown"), step.agent
462
+ tool: toolFactsFor(step.agent ? "agent" : (fanOutChild ?? step.tool ?? "unknown"), step.agent
457
463
  ? {
458
464
  containment: resolveAgentContainment(governance, stepSandboxRequest({
459
465
  ...(step.agent.sandbox !== undefined && {
@@ -493,13 +499,33 @@ export async function executeChainedStep(ctx, deps) {
493
499
  let stepApprovalEvidence;
494
500
  let stepApprovalGrant;
495
501
  if (deps.requireApprovalFn && effective?.consultsApproval) {
496
- const approvalToolId = step.agent ? "agent" : (step.tool ?? "unknown");
502
+ const approvalToolId = step.agent
503
+ ? "agent"
504
+ : (fanOutChild ?? step.tool ?? "unknown");
497
505
  const approvalInput = {
498
506
  toolId: approvalToolId,
499
507
  tier: classifyTool(approvalToolId),
500
508
  effective: effective.final,
501
- summary: step.agent ? "agent step" : `tool ${approvalToolId}`,
509
+ summary: step.agent
510
+ ? "agent step"
511
+ : fanOutChild
512
+ ? fanOutApprovalSummary(fanOutChild, resolved)
513
+ : `tool ${approvalToolId}`,
502
514
  params: step.agent ? undefined : resolved,
515
+ // fan_out: `toolId` names the child for classification, so the
516
+ // identity must be supplied — hashed over the DISPATCHED call, with
517
+ // exactly the fields the tool-step dispatch check below re-verifies.
518
+ ...(fanOutChild &&
519
+ step.tool && {
520
+ proposedActionIdentity: computeApprovedActionIdentity({
521
+ toolName: step.tool,
522
+ params: resolved,
523
+ sessionId: "recipe",
524
+ tier: classifyTool(step.tool),
525
+ correlationId: ctx.runTaskId ?? "",
526
+ recipeName: recipe.name,
527
+ }),
528
+ }),
503
529
  ...(stepReversibilityCeiling && {
504
530
  reversibilityCeiling: stepReversibilityCeiling,
505
531
  }),
@@ -1 +1 @@
1
- {"version":3,"file":"chainedRunner.js","sourceRoot":"","sources":["../../src/recipes/chainedRunner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"chainedRunner.js","sourceRoot":"","sources":["../../src/recipes/chainedRunner.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,39 @@
1
+ /**
2
+ * fanOutChild — what a `fan_out` step actually does, for the gates that decide
3
+ * whether it may.
4
+ *
5
+ * `fan_out` dispatches its child tool once per item through `executeTool`
6
+ * directly, never through `executeStep`. Every step-level gate that keyed on
7
+ * the step's own tool id therefore saw `fan_out` — registered `isWrite: false`
8
+ * with no declared tier, so "medium" — and never the tool it runs. Under
9
+ * approvalGate "high" a high-tier write wrapped in `fan_out` reached no human,
10
+ * while the same write as a direct step queued; the worker gate classified it
11
+ * as a medium read; and `patchwork.policy.yml` was checked against `fan_out`
12
+ * rather than the child's own params.
13
+ *
14
+ * The rule this module encodes: a gate classifies a `fan_out` step as its
15
+ * CHILD tool. What is HASHED for approval identity stays the dispatched call
16
+ * (`fan_out` + its params) — that is what `executeStep` re-verifies at
17
+ * dispatch, and one approval covers the whole batch it names.
18
+ *
19
+ * `do.agent` children are out of scope here: they run through the injected
20
+ * agent executor, which has its own boundary checks.
21
+ */
22
+ import type { Reversibility } from "../workers/actionClass.js";
23
+ export declare const FAN_OUT_TOOL_ID = "fan_out";
24
+ /**
25
+ * The tool a `fan_out` step dispatches per item, or `undefined` when the step
26
+ * is not a tool fan_out. `fan_out` itself rejects a missing, templated-empty
27
+ * or nested child before the loop, so a string here is the id that runs.
28
+ */
29
+ export declare function fanOutChildToolId(step: unknown): string | undefined;
30
+ /**
31
+ * Reversibility ceiling for a fan_out child. A rollback-backed file write is
32
+ * reversible only with a rollback confirmed for ITS path at decision time; a
33
+ * fan_out's per-item paths are not assessed then, so the batch is treated as
34
+ * unconfirmed — `irreversible`, exactly as an unconfirmed direct write is.
35
+ * Any other child keeps its own classification.
36
+ */
37
+ export declare function fanOutChildReversibilityCeiling(childToolId: string): Reversibility | undefined;
38
+ /** Approval summary naming the child and, when known, how many times it runs. */
39
+ export declare function fanOutApprovalSummary(childToolId: string, params: Record<string, unknown> | undefined): string;
@@ -0,0 +1,71 @@
1
+ /**
2
+ * fanOutChild — what a `fan_out` step actually does, for the gates that decide
3
+ * whether it may.
4
+ *
5
+ * `fan_out` dispatches its child tool once per item through `executeTool`
6
+ * directly, never through `executeStep`. Every step-level gate that keyed on
7
+ * the step's own tool id therefore saw `fan_out` — registered `isWrite: false`
8
+ * with no declared tier, so "medium" — and never the tool it runs. Under
9
+ * approvalGate "high" a high-tier write wrapped in `fan_out` reached no human,
10
+ * while the same write as a direct step queued; the worker gate classified it
11
+ * as a medium read; and `patchwork.policy.yml` was checked against `fan_out`
12
+ * rather than the child's own params.
13
+ *
14
+ * The rule this module encodes: a gate classifies a `fan_out` step as its
15
+ * CHILD tool. What is HASHED for approval identity stays the dispatched call
16
+ * (`fan_out` + its params) — that is what `executeStep` re-verifies at
17
+ * dispatch, and one approval covers the whole batch it names.
18
+ *
19
+ * `do.agent` children are out of scope here: they run through the injected
20
+ * agent executor, which has its own boundary checks.
21
+ */
22
+ import { ROLLBACK_BACKED_TOOLS } from "./fileWriteRollbackability.js";
23
+ export const FAN_OUT_TOOL_ID = "fan_out";
24
+ /**
25
+ * The tool a `fan_out` step dispatches per item, or `undefined` when the step
26
+ * is not a tool fan_out. `fan_out` itself rejects a missing, templated-empty
27
+ * or nested child before the loop, so a string here is the id that runs.
28
+ */
29
+ export function fanOutChildToolId(step) {
30
+ if (!step || typeof step !== "object")
31
+ return undefined;
32
+ const s = step;
33
+ if (s.tool !== FAN_OUT_TOOL_ID)
34
+ return undefined;
35
+ const d = s.do;
36
+ if (!d || typeof d !== "object" || Array.isArray(d))
37
+ return undefined;
38
+ const t = d.tool;
39
+ return typeof t === "string" && t.length > 0 ? t : undefined;
40
+ }
41
+ /**
42
+ * Reversibility ceiling for a fan_out child. A rollback-backed file write is
43
+ * reversible only with a rollback confirmed for ITS path at decision time; a
44
+ * fan_out's per-item paths are not assessed then, so the batch is treated as
45
+ * unconfirmed — `irreversible`, exactly as an unconfirmed direct write is.
46
+ * Any other child keeps its own classification.
47
+ */
48
+ export function fanOutChildReversibilityCeiling(childToolId) {
49
+ return ROLLBACK_BACKED_TOOLS.has(childToolId) ? "irreversible" : undefined;
50
+ }
51
+ /** Approval summary naming the child and, when known, how many times it runs. */
52
+ export function fanOutApprovalSummary(childToolId, params) {
53
+ const items = params?.items;
54
+ let count;
55
+ if (Array.isArray(items))
56
+ count = items.length;
57
+ else if (typeof items === "string") {
58
+ try {
59
+ const parsed = JSON.parse(items);
60
+ if (Array.isArray(parsed))
61
+ count = parsed.length;
62
+ }
63
+ catch {
64
+ // unparseable — fan_out itself will refuse it; no count to show
65
+ }
66
+ }
67
+ return count === undefined
68
+ ? `fan_out → tool ${childToolId} (once per item)`
69
+ : `fan_out → tool ${childToolId} × ${count}`;
70
+ }
71
+ //# sourceMappingURL=fanOutChild.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fanOutChild.js","sourceRoot":"","sources":["../../src/recipes/fanOutChild.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAGH,OAAO,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AAEtE,MAAM,CAAC,MAAM,eAAe,GAAG,SAAS,CAAC;AAEzC;;;;GAIG;AACH,MAAM,UAAU,iBAAiB,CAAC,IAAa;IAC7C,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ;QAAE,OAAO,SAAS,CAAC;IACxD,MAAM,CAAC,GAAG,IAA+B,CAAC;IAC1C,IAAI,CAAC,CAAC,IAAI,KAAK,eAAe;QAAE,OAAO,SAAS,CAAC;IACjD,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;IACf,IAAI,CAAC,CAAC,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;QAAE,OAAO,SAAS,CAAC;IACtE,MAAM,CAAC,GAAI,CAA6B,CAAC,IAAI,CAAC;IAC9C,OAAO,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AAC/D,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,+BAA+B,CAC7C,WAAmB;IAEnB,OAAO,qBAAqB,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,SAAS,CAAC;AAC7E,CAAC;AAED,iFAAiF;AACjF,MAAM,UAAU,qBAAqB,CACnC,WAAmB,EACnB,MAA2C;IAE3C,MAAM,KAAK,GAAG,MAAM,EAAE,KAAK,CAAC;IAC5B,IAAI,KAAyB,CAAC;IAC9B,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC;SAC1C,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QACnC,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YACjC,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;gBAAE,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC;QACnD,CAAC;QAAC,MAAM,CAAC;YACP,gEAAgE;QAClE,CAAC;IACH,CAAC;IACD,OAAO,KAAK,KAAK,SAAS;QACxB,CAAC,CAAC,kBAAkB,WAAW,kBAAkB;QACjD,CAAC,CAAC,kBAAkB,WAAW,MAAM,KAAK,EAAE,CAAC;AACjD,CAAC"}
@@ -0,0 +1,23 @@
1
+ /**
2
+ * toolPolicyCheck — the `patchwork.policy.yml` check for one in-process tool
3
+ * call, shared by every site that dispatches one.
4
+ *
5
+ * Recipe and worker tool calls dispatch in-process via toolRegistry.executeTool
6
+ * and NEVER pass through McpTransport, so the bridge's CLI/HTTP chokepoint
7
+ * (bridge.ts / streamableHttp.ts) never sees them. That makes the sites that
8
+ * call executeTool the only policy enforcement points: `executeStep` for a
9
+ * normal step, and `fan_out` for each of its children, which used to be
10
+ * checked against `fan_out` and its step params instead of the child tool and
11
+ * the params it is actually called with.
12
+ *
13
+ * Runs whenever FLAG_ENFORCE_POLICY is on, independent of whether a worker owns
14
+ * the recipe: `checkPolicy`'s base rules (forbiddenPaths / allowedNetworkHosts
15
+ * / allowedCommands) apply to every tool call regardless of workerId; only its
16
+ * 4th check (per-worker allowedTools) needs one, and that check no-ops when
17
+ * workerId is undefined. Deny is fail-closed on a malformed policy file.
18
+ */
19
+ /** Throws a `policy_denied`-coded Error when the policy refuses the call. */
20
+ export declare function enforceToolPolicy(toolId: string, params: Record<string, unknown>, deps: {
21
+ workdir: string;
22
+ workerId?: string;
23
+ }): void;
@@ -0,0 +1,42 @@
1
+ /**
2
+ * toolPolicyCheck — the `patchwork.policy.yml` check for one in-process tool
3
+ * call, shared by every site that dispatches one.
4
+ *
5
+ * Recipe and worker tool calls dispatch in-process via toolRegistry.executeTool
6
+ * and NEVER pass through McpTransport, so the bridge's CLI/HTTP chokepoint
7
+ * (bridge.ts / streamableHttp.ts) never sees them. That makes the sites that
8
+ * call executeTool the only policy enforcement points: `executeStep` for a
9
+ * normal step, and `fan_out` for each of its children, which used to be
10
+ * checked against `fan_out` and its step params instead of the child tool and
11
+ * the params it is actually called with.
12
+ *
13
+ * Runs whenever FLAG_ENFORCE_POLICY is on, independent of whether a worker owns
14
+ * the recipe: `checkPolicy`'s base rules (forbiddenPaths / allowedNetworkHosts
15
+ * / allowedCommands) apply to every tool call regardless of workerId; only its
16
+ * 4th check (per-worker allowedTools) needs one, and that check no-ops when
17
+ * workerId is undefined. Deny is fail-closed on a malformed policy file.
18
+ */
19
+ import { FLAG_ENFORCE_POLICY, isEnabled } from "../featureFlags.js";
20
+ import { checkPolicy, loadPolicyFile } from "../policy.js";
21
+ /** Throws a `policy_denied`-coded Error when the policy refuses the call. */
22
+ export function enforceToolPolicy(toolId, params, deps) {
23
+ if (!isEnabled(FLAG_ENFORCE_POLICY))
24
+ return;
25
+ const loaded = loadPolicyFile(deps.workdir);
26
+ if (!loaded.ok) {
27
+ const err = new Error(`policy_denied: ${loaded.error}`);
28
+ err.code = "policy_denied";
29
+ throw err;
30
+ }
31
+ const verdict = checkPolicy(loaded.policy, {
32
+ toolName: toolId,
33
+ params,
34
+ ...(deps.workerId !== undefined && { workerId: deps.workerId }),
35
+ });
36
+ if (!verdict.allowed) {
37
+ const err = new Error(`policy_denied: ${verdict.reason}`);
38
+ err.code = "policy_denied";
39
+ throw err;
40
+ }
41
+ }
42
+ //# sourceMappingURL=toolPolicyCheck.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"toolPolicyCheck.js","sourceRoot":"","sources":["../../src/recipes/toolPolicyCheck.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,EAAE,mBAAmB,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AACpE,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAE3D,6EAA6E;AAC7E,MAAM,UAAU,iBAAiB,CAC/B,MAAc,EACd,MAA+B,EAC/B,IAA4C;IAE5C,IAAI,CAAC,SAAS,CAAC,mBAAmB,CAAC;QAAE,OAAO;IAC5C,MAAM,MAAM,GAAG,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC5C,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;QACf,MAAM,GAAG,GAAG,IAAI,KAAK,CAAC,kBAAkB,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;QACvD,GAAiC,CAAC,IAAI,GAAG,eAAe,CAAC;QAC1D,MAAM,GAAG,CAAC;IACZ,CAAC;IACD,MAAM,OAAO,GAAG,WAAW,CAAC,MAAM,CAAC,MAAM,EAAE;QACzC,QAAQ,EAAE,MAAM;QAChB,MAAM;QACN,GAAG,CAAC,IAAI,CAAC,QAAQ,KAAK,SAAS,IAAI,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC;KAChE,CAAC,CAAC;IACH,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;QACrB,MAAM,GAAG,GAAG,IAAI,KAAK,CAAC,kBAAkB,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;QACzD,GAAiC,CAAC,IAAI,GAAG,eAAe,CAAC;QAC1D,MAAM,GAAG,CAAC;IACZ,CAAC;AACH,CAAC"}
@@ -26,6 +26,7 @@
26
26
  import { FLAG_CIRCUIT_BREAKER, isEnabled } from "../../featureFlags.js";
27
27
  import { deriveBreakerKey, getCircuitBreaker } from "../circuitBreaker.js";
28
28
  import { isReturnValueFailure } from "../idempotencyKey.js";
29
+ import { enforceToolPolicy } from "../toolPolicyCheck.js";
29
30
  import { executeTool, hasTool, registerTool } from "../toolRegistry.js";
30
31
  import { isUncertainOutcome, markUncertainOutcome, } from "../uncertainOutcome.js";
31
32
  import { classifyHttpStepResult, httpFailureEvidence, } from "./httpOutcome.js";
@@ -216,16 +217,39 @@ registerTool({
216
217
  // module after the first load so correctness is unaffected, but resolving
217
218
  // the same promise on every iteration adds async overhead for each item.
218
219
  const { render } = await import("../yamlRunner.js");
219
- for (let i = 0; i < items.length; i++) {
220
+ // Build per-iter ctx clone. Bind the loop variable as the raw item
221
+ // (objects get JSON-stringified by `render`'s value coercion at use
222
+ // sites; dot-notation `{{row.id}}` works because render JSON-parses
223
+ // string intermediates).
224
+ const iterContextFor = (i) => {
220
225
  const item = items[i];
221
- // Build per-iter ctx clone. Bind the loop variable as the raw item
222
- // (objects get JSON-stringified by `render`'s value coercion at use
223
- // sites; dot-notation `{{row.id}}` works because render JSON-parses
224
- // string intermediates).
225
226
  const iterCtx = { ...ctx };
226
227
  iterCtx[loopVar] = typeof item === "string" ? item : JSON.stringify(item);
227
228
  iterCtx[`${loopVar}_index`] = String(i);
228
229
  iterCtx[`${loopVar}_total`] = String(items.length);
230
+ return iterCtx;
231
+ };
232
+ const renderInnerParams = (iterCtx) => {
233
+ const innerParams = {};
234
+ for (const [k, v] of Object.entries(doObj)) {
235
+ if (k === "tool")
236
+ continue;
237
+ innerParams[k] = deepRenderForIter(v, iterCtx, render);
238
+ }
239
+ return innerParams;
240
+ };
241
+ // patchwork.policy.yml, per CHILD call and BEFORE the first dispatch.
242
+ // Children go straight to executeTool, so executeStep's check only ever
243
+ // saw `fan_out` and the step's own params. Checking every item up front
244
+ // means a denied item stops the batch before any of it has run, rather
245
+ // than after the items ahead of it already have (toolPolicyCheck.ts).
246
+ if (!agentCfg) {
247
+ for (let i = 0; i < items.length; i++) {
248
+ enforceToolPolicy(toolId, renderInnerParams(iterContextFor(i)), deps);
249
+ }
250
+ }
251
+ for (let i = 0; i < items.length; i++) {
252
+ const iterCtx = iterContextFor(i);
229
253
  // Agent iteration: render the prompt against this item's context and
230
254
  // run it through the injected executor, which owns budget admission and
231
255
  // usage reconciliation. Checked before the tool path so the breaker /
@@ -272,12 +296,7 @@ registerTool({
272
296
  }
273
297
  continue;
274
298
  }
275
- const innerParams = {};
276
- for (const [k, v] of Object.entries(doObj)) {
277
- if (k === "tool")
278
- continue;
279
- innerParams[k] = deepRenderForIter(v, iterCtx, render);
280
- }
299
+ const innerParams = renderInnerParams(iterCtx);
281
300
  // Circuit breaker — fan_out calls executeTool DIRECTLY, bypassing
282
301
  // executeStep's own breaker check/record (that logic lives in the
283
302
  // step loop, not in executeTool). Without this, a fan_out whose