taskflow-core 0.2.0 → 0.2.2

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 (157) hide show
  1. package/README.md +247 -862
  2. package/dist/agents.d.ts +12 -0
  3. package/dist/agents.d.ts.map +1 -1
  4. package/dist/agents.js +29 -1
  5. package/dist/agents.js.map +1 -1
  6. package/dist/build-info.d.ts +48 -0
  7. package/dist/build-info.d.ts.map +1 -0
  8. package/dist/build-info.js +112 -0
  9. package/dist/build-info.js.map +1 -0
  10. package/dist/build-info.json +4 -0
  11. package/dist/cwd-bridge.d.ts +61 -0
  12. package/dist/cwd-bridge.d.ts.map +1 -0
  13. package/dist/cwd-bridge.js +136 -0
  14. package/dist/cwd-bridge.js.map +1 -0
  15. package/dist/detached-runner.js +31 -5
  16. package/dist/detached-runner.js.map +1 -1
  17. package/dist/exec/driver.d.ts +6 -0
  18. package/dist/exec/driver.d.ts.map +1 -1
  19. package/dist/exec/driver.js +40 -18
  20. package/dist/exec/driver.js.map +1 -1
  21. package/dist/exec/kernel-policy.d.ts.map +1 -1
  22. package/dist/exec/kernel-policy.js +10 -0
  23. package/dist/exec/kernel-policy.js.map +1 -1
  24. package/dist/exec/step-kinds.d.ts +14 -1
  25. package/dist/exec/step-kinds.d.ts.map +1 -1
  26. package/dist/exec/step-kinds.js +126 -6
  27. package/dist/exec/step-kinds.js.map +1 -1
  28. package/dist/exec/step.d.ts +22 -0
  29. package/dist/exec/step.d.ts.map +1 -1
  30. package/dist/exec/step.js +40 -5
  31. package/dist/exec/step.js.map +1 -1
  32. package/dist/final-output.d.ts +53 -0
  33. package/dist/final-output.d.ts.map +1 -0
  34. package/dist/final-output.js +65 -0
  35. package/dist/final-output.js.map +1 -0
  36. package/dist/flowir/canonical-hash.d.ts.map +1 -1
  37. package/dist/flowir/canonical-hash.js +2 -0
  38. package/dist/flowir/canonical-hash.js.map +1 -1
  39. package/dist/flowir/compile.d.ts.map +1 -1
  40. package/dist/flowir/compile.js +17 -0
  41. package/dist/flowir/compile.js.map +1 -1
  42. package/dist/flowir/meta.d.ts +3 -0
  43. package/dist/flowir/meta.d.ts.map +1 -1
  44. package/dist/flowir/schema.d.ts +3 -0
  45. package/dist/flowir/schema.d.ts.map +1 -1
  46. package/dist/flowir/schema.js.map +1 -1
  47. package/dist/flowir/translate.d.ts.map +1 -1
  48. package/dist/flowir/translate.js +4 -0
  49. package/dist/flowir/translate.js.map +1 -1
  50. package/dist/host/runner-types.d.ts +16 -0
  51. package/dist/host/runner-types.d.ts.map +1 -1
  52. package/dist/index.d.ts +5 -0
  53. package/dist/index.d.ts.map +1 -1
  54. package/dist/index.js +9 -0
  55. package/dist/index.js.map +1 -1
  56. package/dist/interpolate.d.ts +4 -0
  57. package/dist/interpolate.d.ts.map +1 -1
  58. package/dist/interpolate.js +14 -0
  59. package/dist/interpolate.js.map +1 -1
  60. package/dist/resources/authority.d.ts +35 -0
  61. package/dist/resources/authority.d.ts.map +1 -0
  62. package/dist/resources/authority.js +67 -0
  63. package/dist/resources/authority.js.map +1 -0
  64. package/dist/resources/backend.d.ts +302 -0
  65. package/dist/resources/backend.d.ts.map +1 -0
  66. package/dist/resources/backend.js +16 -0
  67. package/dist/resources/backend.js.map +1 -0
  68. package/dist/resources/baseline.d.ts +116 -0
  69. package/dist/resources/baseline.d.ts.map +1 -0
  70. package/dist/resources/baseline.js +447 -0
  71. package/dist/resources/baseline.js.map +1 -0
  72. package/dist/resources/canonical-json.d.ts +7 -0
  73. package/dist/resources/canonical-json.d.ts.map +1 -0
  74. package/dist/resources/canonical-json.js +75 -0
  75. package/dist/resources/canonical-json.js.map +1 -0
  76. package/dist/resources/errors.d.ts +23 -0
  77. package/dist/resources/errors.d.ts.map +1 -0
  78. package/dist/resources/errors.js +89 -0
  79. package/dist/resources/errors.js.map +1 -0
  80. package/dist/resources/execution.d.ts +90 -0
  81. package/dist/resources/execution.d.ts.map +1 -0
  82. package/dist/resources/execution.js +581 -0
  83. package/dist/resources/execution.js.map +1 -0
  84. package/dist/resources/index.d.ts +15 -0
  85. package/dist/resources/index.d.ts.map +1 -0
  86. package/dist/resources/index.js +15 -0
  87. package/dist/resources/index.js.map +1 -0
  88. package/dist/resources/journal.d.ts +138 -0
  89. package/dist/resources/journal.d.ts.map +1 -0
  90. package/dist/resources/journal.js +438 -0
  91. package/dist/resources/journal.js.map +1 -0
  92. package/dist/resources/leases.d.ts +51 -0
  93. package/dist/resources/leases.d.ts.map +1 -0
  94. package/dist/resources/leases.js +354 -0
  95. package/dist/resources/leases.js.map +1 -0
  96. package/dist/resources/permits.d.ts +52 -0
  97. package/dist/resources/permits.d.ts.map +1 -0
  98. package/dist/resources/permits.js +240 -0
  99. package/dist/resources/permits.js.map +1 -0
  100. package/dist/resources/persistence.d.ts +63 -0
  101. package/dist/resources/persistence.d.ts.map +1 -0
  102. package/dist/resources/persistence.js +522 -0
  103. package/dist/resources/persistence.js.map +1 -0
  104. package/dist/resources/registry.d.ts +56 -0
  105. package/dist/resources/registry.d.ts.map +1 -0
  106. package/dist/resources/registry.js +139 -0
  107. package/dist/resources/registry.js.map +1 -0
  108. package/dist/resources/resolve.d.ts +49 -0
  109. package/dist/resources/resolve.d.ts.map +1 -0
  110. package/dist/resources/resolve.js +309 -0
  111. package/dist/resources/resolve.js.map +1 -0
  112. package/dist/resources/sandbox.d.ts +72 -0
  113. package/dist/resources/sandbox.d.ts.map +1 -0
  114. package/dist/resources/sandbox.js +952 -0
  115. package/dist/resources/sandbox.js.map +1 -0
  116. package/dist/resources/schema.d.ts +195 -0
  117. package/dist/resources/schema.d.ts.map +1 -0
  118. package/dist/resources/schema.js +231 -0
  119. package/dist/resources/schema.js.map +1 -0
  120. package/dist/resources/types.d.ts +36 -0
  121. package/dist/resources/types.d.ts.map +1 -0
  122. package/dist/resources/types.js +75 -0
  123. package/dist/resources/types.js.map +1 -0
  124. package/dist/resume.d.ts +76 -0
  125. package/dist/resume.d.ts.map +1 -0
  126. package/dist/resume.js +190 -0
  127. package/dist/resume.js.map +1 -0
  128. package/dist/runner-core.d.ts +29 -0
  129. package/dist/runner-core.d.ts.map +1 -1
  130. package/dist/runner-core.js +311 -36
  131. package/dist/runner-core.js.map +1 -1
  132. package/dist/runtime/phases/parallel.d.ts +3 -0
  133. package/dist/runtime/phases/parallel.d.ts.map +1 -1
  134. package/dist/runtime/phases/parallel.js.map +1 -1
  135. package/dist/runtime/phases/reduce.d.ts +47 -0
  136. package/dist/runtime/phases/reduce.d.ts.map +1 -0
  137. package/dist/runtime/phases/reduce.js +195 -0
  138. package/dist/runtime/phases/reduce.js.map +1 -0
  139. package/dist/runtime/phases/script.d.ts.map +1 -1
  140. package/dist/runtime/phases/script.js +47 -9
  141. package/dist/runtime/phases/script.js.map +1 -1
  142. package/dist/runtime.d.ts +67 -1
  143. package/dist/runtime.d.ts.map +1 -1
  144. package/dist/runtime.js +904 -79
  145. package/dist/runtime.js.map +1 -1
  146. package/dist/schema.d.ts +135 -5
  147. package/dist/schema.d.ts.map +1 -1
  148. package/dist/schema.js +338 -21
  149. package/dist/schema.js.map +1 -1
  150. package/dist/store.d.ts +56 -0
  151. package/dist/store.d.ts.map +1 -1
  152. package/dist/store.js +5 -1
  153. package/dist/store.js.map +1 -1
  154. package/dist/trace.d.ts +3 -0
  155. package/dist/trace.d.ts.map +1 -1
  156. package/dist/trace.js.map +1 -1
  157. package/package.json +4 -3
@@ -27,12 +27,18 @@ export interface EventKernelDeps {
27
27
  requestApproval?: (req: KernelApprovalRequest) => Promise<KernelApprovalDecision>;
28
28
  loadFlow?: (name: string) => Taskflow | undefined;
29
29
  _stack?: string[];
30
+ _dynamic?: boolean;
30
31
  }
31
32
  export interface EventKernelResult {
32
33
  state: RunState;
33
34
  finalOutput: string;
34
35
  ok: boolean;
35
36
  totalUsage: UsageStats;
37
+ /** Id of the PhaseState whose output supplied finalOutput (0.2.0 dogfood
38
+ * issue 6). Mirrors `RuntimeResult.outputSourcePhaseId`; the event kernel
39
+ * delegates final-phase selection to the shared `resolveFinalOutput`
40
+ * helper so attribution matches the imperative path exactly. */
41
+ outputSourcePhaseId?: string;
36
42
  }
37
43
  /** True when types are known AND no advanced features force imperative fall-back. */
38
44
  export declare function canUseEventKernel(def: Taskflow, loadFlow?: (name: string) => Taskflow | undefined, seen?: Set<string>, inheritedBudget?: Budget): boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"driver.d.ts","sourceRoot":"","sources":["../../src/exec/driver.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAA2C,KAAK,MAAM,EAAc,KAAK,QAAQ,EAAE,MAAM,cAAc,CAAC;AAE/G,OAAO,KAAK,EAAc,SAAS,EAAE,MAAM,aAAa,CAAC;AAGzD,OAAO,EACN,wBAAwB,EAExB,KAAK,sBAAsB,EAC3B,KAAK,qBAAqB,EAE1B,KAAK,SAAS,EAGd,MAAM,WAAW,CAAC;AAGnB,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,EAIN,uBAAuB,EACvB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAE,wBAAwB,EAAE,uBAAuB,EAAE,CAAC;AAE7D,MAAM,WAAW,eAAe;IAC/B,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,WAAW,EAAE,CAAC;IACtB,OAAO,EAAE,SAAS,CAAC;IACnB,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,eAAe,CAAC,EAAE,WAAW,GAAG,aAAa,GAAG,aAAa,CAAC;IAC9D,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,QAAQ,KAAK,IAAI,CAAC;IACpC,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,QAAQ,KAAK,IAAI,CAAC;IACvC,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,eAAe,CAAC,EAAE,CAAC,GAAG,EAAE,qBAAqB,KAAK,OAAO,CAAC,sBAAsB,CAAC,CAAC;IAClF,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,QAAQ,GAAG,SAAS,CAAC;IAClD,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;CAClB;AAED,MAAM,WAAW,iBAAiB;IACjC,KAAK,EAAE,QAAQ,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,EAAE,EAAE,OAAO,CAAC;IACZ,UAAU,EAAE,UAAU,CAAC;CACvB;AAED,qFAAqF;AACrF,wBAAgB,iBAAiB,CAChC,GAAG,EAAE,QAAQ,EACb,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,QAAQ,GAAG,SAAS,EACjD,IAAI,GAAE,GAAG,CAAC,MAAM,CAAa,EAC7B,eAAe,CAAC,EAAE,MAAM,GACtB,OAAO,CAyCT;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE;IAAE,WAAW,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,OAAO,CAI3E;AA4DD;;;GAGG;AACH,wBAAsB,cAAc,CAAC,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,eAAe,GAAG,OAAO,CAAC,iBAAiB,CAAC,CA+QvG"}
1
+ {"version":3,"file":"driver.d.ts","sourceRoot":"","sources":["../../src/exec/driver.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAA2C,KAAK,MAAM,EAAc,KAAK,QAAQ,EAAoB,MAAM,cAAc,CAAC;AAGjI,OAAO,KAAK,EAAc,SAAS,EAAE,MAAM,aAAa,CAAC;AAGzD,OAAO,EACN,wBAAwB,EAExB,KAAK,sBAAsB,EAC3B,KAAK,qBAAqB,EAE1B,KAAK,SAAS,EAGd,MAAM,WAAW,CAAC;AAGnB,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,EAIN,uBAAuB,EACvB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAE,wBAAwB,EAAE,uBAAuB,EAAE,CAAC;AAE7D,MAAM,WAAW,eAAe;IAC/B,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,WAAW,EAAE,CAAC;IACtB,OAAO,EAAE,SAAS,CAAC;IACnB,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,eAAe,CAAC,EAAE,WAAW,GAAG,aAAa,GAAG,aAAa,CAAC;IAC9D,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,QAAQ,KAAK,IAAI,CAAC;IACpC,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,QAAQ,KAAK,IAAI,CAAC;IACvC,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,eAAe,CAAC,EAAE,CAAC,GAAG,EAAE,qBAAqB,KAAK,OAAO,CAAC,sBAAsB,CAAC,CAAC;IAClF,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,QAAQ,GAAG,SAAS,CAAC;IAClD,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,iBAAiB;IACjC,KAAK,EAAE,QAAQ,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,EAAE,EAAE,OAAO,CAAC;IACZ,UAAU,EAAE,UAAU,CAAC;IACvB;;;qEAGiE;IACjE,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED,qFAAqF;AACrF,wBAAgB,iBAAiB,CAChC,GAAG,EAAE,QAAQ,EACb,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,QAAQ,GAAG,SAAS,EACjD,IAAI,GAAE,GAAG,CAAC,MAAM,CAAa,EAC7B,eAAe,CAAC,EAAE,MAAM,GACtB,OAAO,CAyCT;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE;IAAE,WAAW,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,OAAO,CAI3E;AA4DD;;;GAGG;AACH,wBAAsB,cAAc,CAAC,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,eAAe,GAAG,OAAO,CAAC,iBAAiB,CAAC,CA2SvG"}
@@ -5,7 +5,8 @@
5
5
  * `PI_TASKFLOW_EVENT_KERNEL=1`, and only when {@link canUseEventKernel} admits
6
6
  * the def (no unsupported advanced features).
7
7
  */
8
- import { dependenciesOf, resolveArgs, topoLayers } from "../schema.js";
8
+ import { dependenciesOf, resolveArgs, topoLayers, validateTaskflow } from "../schema.js";
9
+ import { resolveFinalOutput } from "../final-output.js";
9
10
  import { aggregateUsage, emptyUsage } from "../usage.js";
10
11
  import { overBudget as overBudgetCheck } from "../deterministic.js";
11
12
  import { safeParse } from "../interpolate.js";
@@ -140,9 +141,25 @@ export async function runEventKernel(state, deps) {
140
141
  const allEvents = [];
141
142
  let gateBlocked = false;
142
143
  let gateReason = "";
144
+ /** Output of the blocking gate/approval phase (included in the gate prefix). */
145
+ let gateOutput = "";
146
+ /** Id of the blocking gate/approval phase (source of `gateOutput`). */
147
+ let gatePhaseId;
143
148
  let budgetBlocked = false;
144
149
  let budgetReason = "";
145
150
  const runNested = async (opts) => {
151
+ const nestedArgs = resolveArgs(opts.def, opts.args);
152
+ const dynamic = deps._dynamic === true || opts.dynamic === true;
153
+ const validation = validateTaskflow(opts.def, { args: nestedArgs, cwd: deps.cwd, dynamic });
154
+ if (!validation.ok) {
155
+ return {
156
+ finalOutput: `Nested flow invocation is invalid: ${validation.errors.join("; ")}`,
157
+ ok: false,
158
+ usage: emptyUsage(),
159
+ events: [],
160
+ blocked: false,
161
+ };
162
+ }
146
163
  if (deps.usageAccounting === "unavailable" && (opts.def.budget || def.budget)) {
147
164
  return {
148
165
  finalOutput: `Usage accounting is unavailable; refusing budgeted nested flow '${opts.def.name}'`,
@@ -177,7 +194,7 @@ export async function runEventKernel(state, deps) {
177
194
  runId: `${state.runId}-n-${effectiveDef.name.replace(/[^a-zA-Z0-9._-]/g, "_").slice(0, 40)}`,
178
195
  flowName: effectiveDef.name,
179
196
  def: effectiveDef,
180
- args: opts.args,
197
+ args: nestedArgs,
181
198
  status: "running",
182
199
  phases: {},
183
200
  createdAt: Date.now(),
@@ -186,6 +203,7 @@ export async function runEventKernel(state, deps) {
186
203
  };
187
204
  const child = await runEventKernel(childState, {
188
205
  ...deps,
206
+ _dynamic: dynamic ? true : undefined,
189
207
  // A trace file belongs to exactly one runId. Nested flow events are
190
208
  // intentionally isolated; the parent flow phase is marked unreplayable
191
209
  // by the imperative path rather than polluting the parent's event log.
@@ -258,7 +276,9 @@ export async function runEventKernel(state, deps) {
258
276
  }
259
277
  const startedAt = Date.now();
260
278
  state.phases[phase.id] = { id: phase.id, status: "running", startedAt };
261
- const ctx = { state, deps: stepDeps, steps, args };
279
+ const readRefs = [];
280
+ const promptCalls = [];
281
+ const ctx = { state, deps: stepDeps, steps, args, readRefs, promptCalls };
262
282
  const result = await stepPhase(phase, ctx);
263
283
  if (!result) {
264
284
  state.phases[phase.id] = {
@@ -281,6 +301,9 @@ export async function runEventKernel(state, deps) {
281
301
  ? "failed"
282
302
  : "done";
283
303
  const phaseJson = phase.output === "json" ? safeParse(result.output ?? "") : undefined;
304
+ const observedReads = Array.from(new Set(readRefs
305
+ .map((ref) => /^steps\.([A-Za-z0-9_-]+)\b/.exec(ref)?.[1])
306
+ .filter((id) => typeof id === "string"))).map((stepId) => ({ stepId, version: state.phases[stepId]?.inputHash }));
284
307
  state.phases[phase.id] = {
285
308
  id: phase.id,
286
309
  status: st,
@@ -294,6 +317,9 @@ export async function runEventKernel(state, deps) {
294
317
  gate: result.gate,
295
318
  approval: result.approval,
296
319
  warnings: result.warnings,
320
+ ...(observedReads.length ? { reads: observedReads } : {}),
321
+ // Prompt-size diagnostics (parity with imperative PhaseState.promptStats).
322
+ ...(result.promptStats ? { promptStats: result.promptStats } : {}),
297
323
  // Match the imperative audit marker: an idempotent:false phase
298
324
  // records that its side effect may have fired, unless its guard skipped
299
325
  // all execution.
@@ -310,6 +336,8 @@ export async function runEventKernel(state, deps) {
310
336
  if (result.gate?.verdict === "block") {
311
337
  gateBlocked = true;
312
338
  gateReason = result.gate.reason || "Gate blocked";
339
+ gateOutput = result.output ?? "";
340
+ gatePhaseId = phase.id;
313
341
  }
314
342
  const ob = runOverBudget(state);
315
343
  if (ob.over) {
@@ -357,21 +385,6 @@ export async function runEventKernel(state, deps) {
357
385
  console.warn(`[taskflow] event-kernel fold status drift phase=${id} state=${ps.status} fold=${f.status}`);
358
386
  }
359
387
  const anyFailed = Object.entries(state.phases).some(([id, p]) => p.status === "failed" && !byId.get(id)?.optional);
360
- const finals = def.phases.filter((p) => p.final);
361
- const finalPhase = finals[finals.length - 1] ?? def.phases[def.phases.length - 1];
362
- let finalState = finalPhase ? state.phases[finalPhase.id] : undefined;
363
- if (!finalState || finalState.status !== "done") {
364
- const doneInOrder = def.phases.map((p) => state.phases[p.id]).filter((p) => p?.status === "done");
365
- if (doneInOrder.length)
366
- finalState = doneInOrder[doneInOrder.length - 1];
367
- }
368
- let finalOutput = finalState?.output ?? "";
369
- if (gateBlocked) {
370
- finalOutput = `Gate blocked the workflow.${gateReason ? `\nReason: ${gateReason}` : ""}${finalOutput ? `\n\n${finalOutput}` : ""}`;
371
- }
372
- else if (budgetBlocked) {
373
- finalOutput = `Budget exceeded — run halted.${budgetReason ? `\nReason: ${budgetReason}` : ""}${finalOutput ? `\n\n${finalOutput}` : ""}`;
374
- }
375
388
  // Match imperative priority: aborted → gate/budget blocked → failed → completed
376
389
  state.status = deps.signal?.aborted
377
390
  ? "paused"
@@ -380,6 +393,14 @@ export async function runEventKernel(state, deps) {
380
393
  : anyFailed
381
394
  ? "failed"
382
395
  : "completed";
396
+ const { finalOutput, outputSourcePhaseId } = resolveFinalOutput(def.phases, state, {
397
+ gate: gateBlocked,
398
+ gateReason,
399
+ gateOutput,
400
+ gatePhaseId,
401
+ budget: budgetBlocked,
402
+ budgetReason,
403
+ });
383
404
  const totalUsage = aggregateUsage(Object.values(state.phases).map((p) => p.usage ?? emptyUsage()));
384
405
  try {
385
406
  deps.persist?.(state);
@@ -392,6 +413,7 @@ export async function runEventKernel(state, deps) {
392
413
  finalOutput,
393
414
  ok: state.status === "completed",
394
415
  totalUsage,
416
+ outputSourcePhaseId,
395
417
  };
396
418
  }
397
419
  //# sourceMappingURL=driver.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"driver.js","sourceRoot":"","sources":["../../src/exec/driver.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"driver.js","sourceRoot":"","sources":["../../src/exec/driver.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"kernel-policy.d.ts","sourceRoot":"","sources":["../../src/exec/kernel-policy.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAE5D,OAAO,EAAc,KAAK,UAAU,EAAE,MAAM,aAAa,CAAC;AAC1D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAG5C;;;;;;2DAM2D;AAC3D,wBAAgB,gCAAgC,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CA2BvE;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,QAAQ,GAAG,MAAM,GAAG,SAAS,CAuEzE;AAED,6EAA6E;AAC7E,wBAAgB,aAAa,CAC5B,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,GAAG,SAAS,CAAC,EACtD,IAAI,EAAE,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,GACtB;IAAE,EAAE,EAAE,OAAO,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAA;CAAE,CAgBtC;AAED,uEAAuE;AACvE,wBAAgB,kBAAkB,CACjC,GAAG,EAAE,QAAQ,EACb,YAAY,EAAE,MAAM,GAAG,SAAS,EAChC,KAAK,GAAE,UAAyB,GAC9B,QAAQ,CAmBV;AAED;;;0EAG0E;AAC1E,wBAAgB,wBAAwB,CACvC,KAAK,EAAE,QAAQ,EACf,OAAO,EAAE,MAAM,EACf,YAAY,EAAE,SAAS,UAAU,EAAE,GACjC,OAAO,CAaT"}
1
+ {"version":3,"file":"kernel-policy.d.ts","sourceRoot":"","sources":["../../src/exec/kernel-policy.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAE5D,OAAO,EAAc,KAAK,UAAU,EAAE,MAAM,aAAa,CAAC;AAC1D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAG5C;;;;;;2DAM2D;AAC3D,wBAAgB,gCAAgC,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CA2BvE;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,QAAQ,GAAG,MAAM,GAAG,SAAS,CAiFzE;AAED,6EAA6E;AAC7E,wBAAgB,aAAa,CAC5B,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,GAAG,SAAS,CAAC,EACtD,IAAI,EAAE,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,GACtB;IAAE,EAAE,EAAE,OAAO,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAA;CAAE,CAgBtC;AAED,uEAAuE;AACvE,wBAAgB,kBAAkB,CACjC,GAAG,EAAE,QAAQ,EACb,YAAY,EAAE,MAAM,GAAG,SAAS,EAChC,KAAK,GAAE,UAAyB,GAC9B,QAAQ,CAmBV;AAED;;;0EAG0E;AAC1E,wBAAgB,wBAAwB,CACvC,KAAK,EAAE,QAAQ,EACf,OAAO,EAAE,MAAM,EACf,YAAY,EAAE,SAAS,UAAU,EAAE,GACjC,OAAO,CAaT"}
@@ -62,6 +62,13 @@ export function kernelUnsupportedReason(def) {
62
62
  if (p.reflexion === true) {
63
63
  return `phase '${id}': reflexion loops require the imperative runtime`;
64
64
  }
65
+ // Tree reduction (`reduceStrategy: "tree"`) runs batched intermediate reducer
66
+ // calls with full retry/timeout/budget/prompt-stats wiring. Rather than
67
+ // duplicate that complex multi-round logic on the kernel path, force the
68
+ // imperative runtime (which owns it). One-shot reduce stays on the kernel.
69
+ if ((p.type ?? "agent") === "reduce" && p.reduceStrategy === "tree") {
70
+ return `phase '${id}': reduceStrategy 'tree' requires the imperative runtime`;
71
+ }
65
72
  // Explicit multi-attempt retry / expect contracts: kernel lacks full policy yet.
66
73
  if (p.retry && typeof p.retry === "object" && (p.retry.max ?? 0) > 0) {
67
74
  return `phase '${id}': retry requires the imperative runtime`;
@@ -88,6 +95,9 @@ export function kernelUnsupportedReason(def) {
88
95
  if (typeof cwd === "string") {
89
96
  return `phase '${id}': workspace cwd '${cwd}' requires the imperative runtime`;
90
97
  }
98
+ if (Array.isArray(p.branches) && p.branches.some((branch) => typeof branch.cwd === "string")) {
99
+ return `phase '${id}': per-branch cwd requires the imperative runtime`;
100
+ }
91
101
  if ((p.type ?? "agent") === "script" && p.input !== undefined) {
92
102
  return `phase '${id}': script stdin input requires the imperative runtime`;
93
103
  }
@@ -1 +1 @@
1
- {"version":3,"file":"kernel-policy.js","sourceRoot":"","sources":["../../src/exec/kernel-policy.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"kernel-policy.js","sourceRoot":"","sources":["../../src/exec/kernel-policy.ts"],"names":[],"mappings":"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"}
@@ -5,7 +5,7 @@
5
5
  * Intentionally does not import runtime.ts. Nested flows go through
6
6
  * `StepDeps.runNested` (injected by driver).
7
7
  */
8
- import type { Phase } from "../schema.ts";
8
+ import type { Phase, Taskflow } from "../schema.ts";
9
9
  import { type UsageStats } from "../usage.ts";
10
10
  import type { Event } from "./events.ts";
11
11
  import type { StepContext, StepResult } from "./step.ts";
@@ -24,6 +24,19 @@ type BodyResult = {
24
24
  note?: string;
25
25
  auto?: boolean;
26
26
  };
27
+ warnings?: string[];
28
+ promptStats?: StepResult["promptStats"];
29
+ };
30
+ /** Resolve the effective idle-watchdog ms for a phase on the kernel path:
31
+ * phase overrides flow; `undefined` when neither sets it (host default 300000
32
+ * applies). Mirrors `resolveIdleTimeoutMs` in runtime.ts — duplicated here
33
+ * because the kernel deliberately does not import runtime.ts (strangler cycle). */
34
+ export declare function resolveIdleMs(phase: Phase, def: Taskflow): number | undefined;
35
+ /** Build the promptStats StepResult field for one or more resolved prompts,
36
+ * appending a warning when any crosses the conservative threshold. */
37
+ export declare function buildPromptStats(prompts: string[]): {
38
+ promptStats: NonNullable<StepResult["promptStats"]>;
39
+ warnings: string[];
27
40
  };
28
41
  /** reduce / agent-style single call. */
29
42
  export declare function executeReduceBody(phase: Phase, ctx: StepContext): Promise<BodyResult>;
@@ -1 +1 @@
1
- {"version":3,"file":"step-kinds.d.ts","sourceRoot":"","sources":["../../src/exec/step-kinds.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,KAAK,EAAY,MAAM,cAAc,CAAC;AAWpD,OAAO,EAA8B,KAAK,UAAU,EAAE,MAAM,aAAa,CAAC;AAI1E,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAEzC,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAGzD,KAAK,UAAU,GAAG;IACjB,SAAS,EAAE,KAAK,EAAE,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC;IAC7B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,UAAU,CAAC;IAClB,IAAI,CAAC,EAAE;QAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACtD,QAAQ,CAAC,EAAE;QAAE,QAAQ,EAAE,SAAS,GAAG,QAAQ,GAAG,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC;CACtF,CAAC;AA4IF,wCAAwC;AACxC,wBAAsB,iBAAiB,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC,CAqB3F;AAED,yFAAyF;AACzF,wBAAsB,eAAe,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC,CAsFzF;AAED,yEAAyE;AACzE,wBAAsB,mBAAmB,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC,CA8C7F;AAED,sFAAsF;AACtF,wBAAsB,eAAe,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC,CAkEzF;AAED,sCAAsC;AACtC,wBAAsB,qBAAqB,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC,CA+F/F;AAED,uEAAuE;AACvE,wBAAsB,eAAe,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC,CA6IzF"}
1
+ {"version":3,"file":"step-kinds.d.ts","sourceRoot":"","sources":["../../src/exec/step-kinds.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAYpD,OAAO,EAA8B,KAAK,UAAU,EAAE,MAAM,aAAa,CAAC;AAI1E,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAEzC,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAGzD,KAAK,UAAU,GAAG;IACjB,SAAS,EAAE,KAAK,EAAE,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC;IAC7B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,UAAU,CAAC;IAClB,IAAI,CAAC,EAAE;QAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACtD,QAAQ,CAAC,EAAE;QAAE,QAAQ,EAAE,SAAS,GAAG,QAAQ,GAAG,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC;IACtF,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,WAAW,CAAC,EAAE,UAAU,CAAC,aAAa,CAAC,CAAC;CACxC,CAAC;AAoKF;;;oFAGoF;AACpF,wBAAgB,aAAa,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,QAAQ,GAAG,MAAM,GAAG,SAAS,CAM7E;AAgBD;uEACuE;AACvE,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG;IACpD,WAAW,EAAE,WAAW,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,CAAC;IACpD,QAAQ,EAAE,MAAM,EAAE,CAAC;CACnB,CASA;AA+CD,wCAAwC;AACxC,wBAAsB,iBAAiB,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC,CAoC3F;AAED,yFAAyF;AACzF,wBAAsB,eAAe,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC,CAsFzF;AAED,yEAAyE;AACzE,wBAAsB,mBAAmB,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC,CA8C7F;AAED,sFAAsF;AACtF,wBAAsB,eAAe,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC,CAkEzF;AAED,sCAAsC;AACtC,wBAAsB,qBAAqB,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC,CA+F/F;AAED,uEAAuE;AACvE,wBAAsB,eAAe,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC,CA8IzF"}
@@ -5,11 +5,11 @@
5
5
  * Intentionally does not import runtime.ts. Nested flows go through
6
6
  * `StepDeps.runNested` (injected by driver).
7
7
  */
8
- import { LOOP_DEFAULT_MAX_ITERATIONS, LOOP_HARD_MAX_ITERATIONS, MAX_DYNAMIC_NESTING, TOURNAMENT_DEFAULT_VARIANTS, TOURNAMENT_HARD_MAX_VARIANTS, validateTaskflow, } from "../schema.js";
8
+ import { LOOP_DEFAULT_MAX_ITERATIONS, LOOP_HARD_MAX_ITERATIONS, MAX_DYNAMIC_NESTING, TOURNAMENT_DEFAULT_VARIANTS, TOURNAMENT_HARD_MAX_VARIANTS, asArray, validateTaskflow, } from "../schema.js";
9
9
  import { parseGateVerdict, parseTournamentWinner } from "../deterministic.js";
10
10
  import { verifyTaskflow } from "../verify.js";
11
11
  import { aggregateUsage, emptyUsage } from "../usage.js";
12
- import { evaluateCondition, interpolate, safeParse, tryEvaluateCondition } from "../interpolate.js";
12
+ import { evaluateCondition, interpolate, interpolateValue, safeParse, tryEvaluateCondition } from "../interpolate.js";
13
13
  import { clampSubFlowBudget, kernelAttemptsOverBudget } from "./kernel-policy.js";
14
14
  import { abortableDelay, isFailed as isFailedResult, isTransientError, mapWithConcurrencyLimit, PHASE_TIMEOUT_ABORT_GRACE_MS } from "../runner-core.js";
15
15
  import { EVENT_SCHEMA_VERSION } from "./events.js";
@@ -33,6 +33,7 @@ async function runAgentCall(ctx, phase, agentName, task, nodePath, mapIndex, var
33
33
  if (ctx.deps.signal?.aborted)
34
34
  break;
35
35
  let timedOut = false;
36
+ let terminalCommitted = false;
36
37
  let timer;
37
38
  let forceReturnTimer;
38
39
  let onParentAbort;
@@ -50,10 +51,30 @@ async function runAgentCall(ctx, phase, agentName, task, nodePath, mapIndex, var
50
51
  }
51
52
  }
52
53
  try {
53
- const invocation = ctx.deps.runTask(ctx.deps.cwd, ctx.deps.agents, agentName, task, { model: phase.model, thinking: phase.thinking, tools: phase.tools, cwd: ctx.deps.cwd, signal: callSignal }, ctx.deps.globalThinking);
54
+ const onTerminalCommit = () => {
55
+ if (timedOut)
56
+ return;
57
+ terminalCommitted = true;
58
+ if (timer) {
59
+ clearTimeout(timer);
60
+ timer = undefined;
61
+ }
62
+ };
63
+ ctx.promptCalls?.push(task);
64
+ const invocation = ctx.deps.runTask(ctx.deps.cwd, ctx.deps.agents, agentName, task, {
65
+ model: phase.model,
66
+ thinking: phase.thinking,
67
+ tools: phase.tools,
68
+ cwd: ctx.deps.cwd,
69
+ signal: callSignal,
70
+ idleTimeoutMs: resolveIdleMs(phase, ctx.state.def),
71
+ onTerminalCommit,
72
+ }, ctx.deps.globalThinking);
54
73
  if (phaseTimeoutMs) {
55
74
  const timeoutFallback = new Promise((resolve) => {
56
75
  timer = setTimeout(() => {
76
+ if (terminalCommitted)
77
+ return;
57
78
  timedOut = true;
58
79
  timeoutController?.abort();
59
80
  forceReturnTimer = setTimeout(() => resolve({
@@ -66,6 +87,7 @@ async function runAgentCall(ctx, phase, agentName, task, nodePath, mapIndex, var
66
87
  stopReason: "error",
67
88
  errorMessage: `Phase runner did not stop within ${PHASE_TIMEOUT_ABORT_GRACE_MS}ms after abort`,
68
89
  phaseTimeout: true,
90
+ completionSource: "phase-timeout",
69
91
  }), PHASE_TIMEOUT_ABORT_GRACE_MS);
70
92
  }, phaseTimeoutMs);
71
93
  });
@@ -90,6 +112,7 @@ async function runAgentCall(ctx, phase, agentName, task, nodePath, mapIndex, var
90
112
  stopReason: "error",
91
113
  errorMessage: `Phase timed out after ${phaseTimeoutMs}ms (subagent aborted)`,
92
114
  phaseTimeout: true,
115
+ completionSource: "phase-timeout",
93
116
  };
94
117
  }
95
118
  usages.push(r.usage ? { ...emptyUsage(), ...r.usage } : emptyUsage());
@@ -130,17 +153,109 @@ async function runAgentCall(ctx, phase, agentName, task, nodePath, mapIndex, var
130
153
  model: r.model,
131
154
  usage,
132
155
  stopReason: r.stopReason,
156
+ completionSource: r.completionSource,
157
+ reapedAfterTerminal: r.reapedAfterTerminal,
158
+ terminalGraceMs: r.terminalGraceMs,
133
159
  },
134
160
  });
135
161
  return { result: r, event };
136
162
  }
137
163
  function interpCtx(ctx, extra) {
138
- return { args: ctx.args, steps: ctx.steps, ...extra };
164
+ return { args: ctx.args, steps: ctx.steps, onRead: (ref) => ctx.readRefs?.push(ref), ...extra };
165
+ }
166
+ /** Resolve the effective idle-watchdog ms for a phase on the kernel path:
167
+ * phase overrides flow; `undefined` when neither sets it (host default 300000
168
+ * applies). Mirrors `resolveIdleTimeoutMs` in runtime.ts — duplicated here
169
+ * because the kernel deliberately does not import runtime.ts (strangler cycle). */
170
+ export function resolveIdleMs(phase, def) {
171
+ const p = phase.idleTimeout;
172
+ if (typeof p === "number" && Number.isFinite(p))
173
+ return p;
174
+ const f = def.idleTimeout;
175
+ if (typeof f === "number" && Number.isFinite(f))
176
+ return f;
177
+ return undefined;
178
+ }
179
+ /** Conservative prompt-size warning threshold in estimated tokens (mirrors the
180
+ * imperative runtime's PROMPT_SIZE_WARN_TOKENS). Crossed → a `warnings` entry. */
181
+ const KERNEL_PROMPT_SIZE_WARN_TOKENS = 32_000;
182
+ /** Compute prompt-size diagnostics for a resolved prompt (mirrors the imperative
183
+ * `promptSizeStats`: exact UTF-8 bytes, char count, ceil(chars/4) estTokens). */
184
+ function promptStatsFor(text) {
185
+ let chars = 0;
186
+ for (const _char of text)
187
+ chars++; // Unicode code points, not UTF-16 code units
188
+ const bytes = Buffer.byteLength(text, "utf8");
189
+ const estTokens = Math.ceil(chars / 4);
190
+ return { bytes, chars, estTokens };
191
+ }
192
+ /** Build the promptStats StepResult field for one or more resolved prompts,
193
+ * appending a warning when any crosses the conservative threshold. */
194
+ export function buildPromptStats(prompts) {
195
+ const calls = prompts.map(promptStatsFor);
196
+ const warnings = [];
197
+ for (const c of calls) {
198
+ if (c.estTokens >= KERNEL_PROMPT_SIZE_WARN_TOKENS) {
199
+ warnings.push(`Prompt size ≈${c.estTokens} tokens (${c.chars} chars, ${c.bytes} bytes) exceeds the conservative ${KERNEL_PROMPT_SIZE_WARN_TOKENS}-token warning threshold — the prompt may be approaching a model's context limit.`);
200
+ }
201
+ }
202
+ return { promptStats: { calls }, warnings };
203
+ }
204
+ /** Aggregate stats over the completed `from[]` inputs for reduce diagnostics
205
+ * (kernel mirror of the imperative `reduceInputStats`). */
206
+ function reduceInputStatsKernel(state, phase) {
207
+ const fromIds = asArray(phase.from);
208
+ let count = 0;
209
+ let totalBytes = 0;
210
+ let totalChars = 0;
211
+ let totalEstTokens = 0;
212
+ for (const id of fromIds) {
213
+ const ps = state.phases[id];
214
+ if (ps?.status === "done" && ps.output !== undefined) {
215
+ count++;
216
+ const s = promptStatsFor(ps.output);
217
+ totalBytes += s.bytes;
218
+ totalChars += s.chars;
219
+ totalEstTokens += s.estTokens;
220
+ }
221
+ }
222
+ return { count, totalBytes, totalChars, totalEstTokens };
223
+ }
224
+ /** Aggregate completed `from[]` outputs for a reduce phase's {previous.output}
225
+ * on the kernel path. Mirrors `aggregateReduceFrom` in runtime.ts — duplicated
226
+ * here because the kernel does not import runtime.ts. BREAKING (dogfood 1):
227
+ * one completed input → raw output; many → `### <id>\n\n<output>` joined by
228
+ * `\n\n---\n\n`; join:any includes only completed branches. Returns the ids
229
+ * aggregated (for observed reads) alongside the value. */
230
+ function aggregateReduceFromKernel(state, phase) {
231
+ const fromIds = asArray(phase.from);
232
+ const completed = [];
233
+ for (const id of fromIds) {
234
+ const ps = state.phases[id];
235
+ if (ps?.status === "done" && ps.output !== undefined) {
236
+ completed.push({ id, output: ps.output });
237
+ }
238
+ }
239
+ if (completed.length === 0)
240
+ return { value: undefined, ids: [] };
241
+ if (completed.length === 1)
242
+ return { value: completed[0].output, ids: [completed[0].id] };
243
+ const value = completed.map((c) => `### ${c.id}\n\n${c.output}`).join("\n\n---\n\n");
244
+ return { value, ids: completed.map((c) => c.id) };
139
245
  }
140
246
  /** reduce / agent-style single call. */
141
247
  export async function executeReduceBody(phase, ctx) {
142
- const task = interpolate(phase.task ?? "", interpCtx(ctx)).text;
248
+ // BREAKING (dogfood 1): a reduce phase's {previous.output} aggregates ALL
249
+ // completed `from[]` outputs in from-array order (one → raw, many → joined).
250
+ // The kernel path mirrors the imperative `aggregateReduceFrom` semantics.
251
+ const reduceAgg = aggregateReduceFromKernel(ctx.state, phase);
252
+ for (const id of reduceAgg.ids)
253
+ ctx.readRefs?.push(`steps.${id}.output`);
254
+ const task = interpolate(phase.task ?? "", interpCtx(ctx, reduceAgg.value !== undefined ? { previousOutput: reduceAgg.value } : {})).text;
143
255
  const agentName = phase.agent ?? "executor";
256
+ const { promptStats, warnings } = buildPromptStats([task]);
257
+ const reduceInputs = reduceInputStatsKernel(ctx.state, phase);
258
+ const psWithInputs = { ...promptStats, reduceInputs };
144
259
  try {
145
260
  const { result: r, event } = await runAgentCall(ctx, phase, agentName, task, phase.id);
146
261
  const failed = isFailedResult(r);
@@ -150,6 +265,8 @@ export async function executeReduceBody(phase, ctx) {
150
265
  status: r.phaseTimeout ? "timedOut" : failed ? "failed" : "done",
151
266
  error: failed ? r.errorMessage ?? r.stderr : undefined,
152
267
  usage: r.usage ?? emptyUsage(),
268
+ promptStats: psWithInputs,
269
+ warnings: warnings.length ? warnings : undefined,
153
270
  };
154
271
  }
155
272
  catch (e) {
@@ -158,6 +275,8 @@ export async function executeReduceBody(phase, ctx) {
158
275
  status: "failed",
159
276
  error: e instanceof Error ? e.message : String(e),
160
277
  usage: emptyUsage(),
278
+ promptStats: psWithInputs,
279
+ warnings: warnings.length ? warnings : undefined,
161
280
  };
162
281
  }
163
282
  }
@@ -551,7 +670,7 @@ export async function executeFlowBody(phase, ctx) {
551
670
  const withMap = phase.with;
552
671
  if (withMap && typeof withMap === "object") {
553
672
  for (const [k, v] of Object.entries(withMap)) {
554
- provided[k] = typeof v === "string" ? interpolate(v, interpCtx(ctx)).text : v;
673
+ provided[k] = interpolateValue(v, interpCtx(ctx));
555
674
  }
556
675
  }
557
676
  const nextStack = hasDef
@@ -561,6 +680,7 @@ export async function executeFlowBody(phase, ctx) {
561
680
  def: subDef,
562
681
  args: provided,
563
682
  stack: nextStack,
683
+ dynamic: hasDef,
564
684
  });
565
685
  return {
566
686
  midEvents: nested.events,