taskflow-core 0.2.3 → 0.2.5
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.
- package/dist/agents/analyst.md +2 -1
- package/dist/agents/critic.md +2 -1
- package/dist/agents/doc-writer.md +2 -1
- package/dist/agents/executor-code.md +2 -1
- package/dist/agents/executor-fast.md +2 -1
- package/dist/agents/executor-ui.md +2 -1
- package/dist/agents/executor.md +2 -1
- package/dist/agents/final-arbiter.md +2 -1
- package/dist/agents/plan-arbiter.md +2 -1
- package/dist/agents/planner.md +2 -1
- package/dist/agents/recover.md +2 -1
- package/dist/agents/reviewer.md +2 -1
- package/dist/agents/risk-reviewer.md +2 -1
- package/dist/agents/scout.md +2 -1
- package/dist/agents/security-reviewer.md +2 -1
- package/dist/agents/test-engineer.md +2 -1
- package/dist/agents/verifier.md +2 -1
- package/dist/agents/visual-explorer.md +2 -1
- package/dist/agents.d.ts +2 -0
- package/dist/agents.d.ts.map +1 -1
- package/dist/agents.js +21 -10
- package/dist/agents.js.map +1 -1
- package/dist/build-info.json +2 -2
- package/dist/compile.d.ts +8 -1
- package/dist/compile.d.ts.map +1 -1
- package/dist/compile.js +75 -9
- package/dist/compile.js.map +1 -1
- package/dist/exec/driver.d.ts +5 -0
- package/dist/exec/driver.d.ts.map +1 -1
- package/dist/exec/driver.js +96 -52
- package/dist/exec/driver.js.map +1 -1
- package/dist/exec/kernel-policy.d.ts.map +1 -1
- package/dist/exec/kernel-policy.js +20 -20
- package/dist/exec/kernel-policy.js.map +1 -1
- package/dist/exec/step-kinds.d.ts.map +1 -1
- package/dist/exec/step-kinds.js +59 -22
- package/dist/exec/step-kinds.js.map +1 -1
- package/dist/exec/step.d.ts.map +1 -1
- package/dist/exec/step.js +44 -10
- package/dist/exec/step.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/runtime.d.ts +13 -0
- package/dist/runtime.d.ts.map +1 -1
- package/dist/runtime.js +60 -4
- package/dist/runtime.js.map +1 -1
- package/dist/verifiers/discover.d.ts +44 -0
- package/dist/verifiers/discover.d.ts.map +1 -0
- package/dist/verifiers/discover.js +152 -0
- package/dist/verifiers/discover.js.map +1 -0
- package/dist/verifiers/index.d.ts +12 -0
- package/dist/verifiers/index.d.ts.map +1 -0
- package/dist/verifiers/index.js +12 -0
- package/dist/verifiers/index.js.map +1 -0
- package/dist/verifiers/script-lint.d.ts +24 -0
- package/dist/verifiers/script-lint.d.ts.map +1 -0
- package/dist/verifiers/script-lint.js +311 -0
- package/dist/verifiers/script-lint.js.map +1 -0
- package/dist/verify.d.ts +55 -3
- package/dist/verify.d.ts.map +1 -1
- package/dist/verify.js +201 -2
- package/dist/verify.js.map +1 -1
- package/package.json +1 -1
package/dist/exec/driver.js
CHANGED
|
@@ -13,6 +13,7 @@ import { safeParse } from "../interpolate.js";
|
|
|
13
13
|
import { EVENT_KERNEL_PHASE_TYPES, stepPhase, } from "./step.js";
|
|
14
14
|
import { foldEvents } from "./fold.js";
|
|
15
15
|
import { EVENT_SCHEMA_VERSION } from "./events.js";
|
|
16
|
+
import { pluginVerifierErrors } from "../verify.js";
|
|
16
17
|
import { clampSubFlowBudget, containsInterpolationPlaceholder, depsSatisfied, kernelUnsupportedReason, } from "./kernel-policy.js";
|
|
17
18
|
export { EVENT_KERNEL_PHASE_TYPES, kernelUnsupportedReason };
|
|
18
19
|
/** True when types are known AND no advanced features force imperative fall-back. */
|
|
@@ -189,6 +190,34 @@ export async function runEventKernel(state, deps) {
|
|
|
189
190
|
blocked: false,
|
|
190
191
|
};
|
|
191
192
|
}
|
|
193
|
+
// Plugin-error verifier preflight (no-spend gate, zero-token). runNested is
|
|
194
|
+
// the single funnel for BOTH inline-def and saved-use child dispatch on this
|
|
195
|
+
// engine, so centralizing here covers every child flow (review of #84, issue
|
|
196
|
+
// 1). It runs BEFORE childState is created, so a blocked child never
|
|
197
|
+
// dispatches. Verifiers see the DECLARED child def (opts.def), not the
|
|
198
|
+
// budget-clamped effectiveDef, matching what the imperative path's verify
|
|
199
|
+
// sites observe: a budget/concurrency policy verifier must see the same
|
|
200
|
+
// declaration on both engines, or the event kernel would silently let a child
|
|
201
|
+
// it blocks on the imperative path go on to spend.
|
|
202
|
+
//
|
|
203
|
+
// Built-in graph detectors (dead-ends, unreachable, …) are intentionally NOT
|
|
204
|
+
// run here: this is a plugin-only gate, matching the top-level preflight's
|
|
205
|
+
// advisory treatment of built-ins. It costs nothing reachable — the only
|
|
206
|
+
// error-severity built-ins are `unreachable` and self-dependency, and neither
|
|
207
|
+
// can reach a dispatching event-kernel child. A flow nesting an unreachable
|
|
208
|
+
// child is itself kernel-ineligible (concurrent DAG layers), so it runs on the
|
|
209
|
+
// imperative path where the built-in detectors still run; a self-dependency is
|
|
210
|
+
// rejected by validateTaskflow above. (Pinned in verify-pluggable.test.ts.)
|
|
211
|
+
const pluginErrors = pluginVerifierErrors({ name: opts.def.name, phases: opts.def.phases, budget: opts.def.budget, concurrency: opts.def.concurrency }, deps.verifiers);
|
|
212
|
+
if (pluginErrors) {
|
|
213
|
+
return {
|
|
214
|
+
finalOutput: `Nested flow '${effectiveDef.name}' failed verifier preflight: ${pluginErrors.join("; ")}`,
|
|
215
|
+
ok: false,
|
|
216
|
+
usage: emptyUsage(),
|
|
217
|
+
events: [],
|
|
218
|
+
blocked: false,
|
|
219
|
+
};
|
|
220
|
+
}
|
|
192
221
|
const childState = {
|
|
193
222
|
// No `/` — validateRunId rejects path separators if ever persisted.
|
|
194
223
|
runId: `${state.runId}-n-${effectiveDef.name.replace(/[^a-zA-Z0-9._-]/g, "_").slice(0, 40)}`,
|
|
@@ -235,20 +264,12 @@ export async function runEventKernel(state, deps) {
|
|
|
235
264
|
for (const layer of layers) {
|
|
236
265
|
if (deps.signal?.aborted)
|
|
237
266
|
break;
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
else if (budgetBlocked)
|
|
245
|
-
skipReason = `Budget exceeded${budgetReason ? `: ${budgetReason}` : ""}`;
|
|
246
|
-
else {
|
|
247
|
-
const dep = depsSatisfied(phase, state.phases, byId);
|
|
248
|
-
if (!dep.ok)
|
|
249
|
-
skipReason = dep.skipReason;
|
|
250
|
-
}
|
|
251
|
-
if (skipReason) {
|
|
267
|
+
// --- Pre-layer gate/budget check: skip the entire layer if blocked ---
|
|
268
|
+
if (gateBlocked || budgetBlocked) {
|
|
269
|
+
for (const phase of layer) {
|
|
270
|
+
const skipReason = gateBlocked
|
|
271
|
+
? `Gate blocked${gateReason ? `: ${gateReason}` : ""}`
|
|
272
|
+
: `Budget exceeded${budgetReason ? `: ${budgetReason}` : ""}`;
|
|
252
273
|
if (skipReason.startsWith("Budget exceeded")) {
|
|
253
274
|
budgetBlocked = true;
|
|
254
275
|
const be = {
|
|
@@ -262,24 +283,50 @@ export async function runEventKernel(state, deps) {
|
|
|
262
283
|
allEvents.push(be);
|
|
263
284
|
safeTraceEmit(deps, be);
|
|
264
285
|
}
|
|
265
|
-
const startedAt = Date.now();
|
|
266
286
|
emitLifecycle(deps, allEvents, state.runId, phase, "skipped", skipReason);
|
|
267
287
|
state.phases[phase.id] = {
|
|
268
288
|
id: phase.id,
|
|
269
289
|
status: "skipped",
|
|
270
290
|
error: skipReason,
|
|
271
|
-
startedAt,
|
|
291
|
+
startedAt: Date.now(),
|
|
272
292
|
endedAt: Date.now(),
|
|
273
293
|
usage: emptyUsage(),
|
|
274
294
|
};
|
|
275
|
-
continue;
|
|
276
295
|
}
|
|
296
|
+
continue;
|
|
297
|
+
}
|
|
298
|
+
const plans = layer.map((phase) => {
|
|
299
|
+
const dep = depsSatisfied(phase, state.phases, byId);
|
|
300
|
+
return { phase, skipReason: dep.ok ? undefined : dep.skipReason };
|
|
301
|
+
});
|
|
302
|
+
// Emit skips for dep-unsatisfied phases (sequential, cheap).
|
|
303
|
+
for (const { phase, skipReason } of plans) {
|
|
304
|
+
if (!skipReason)
|
|
305
|
+
continue;
|
|
306
|
+
emitLifecycle(deps, allEvents, state.runId, phase, "skipped", skipReason);
|
|
307
|
+
state.phases[phase.id] = {
|
|
308
|
+
id: phase.id,
|
|
309
|
+
status: "skipped",
|
|
310
|
+
error: skipReason,
|
|
311
|
+
startedAt: Date.now(),
|
|
312
|
+
endedAt: Date.now(),
|
|
313
|
+
usage: emptyUsage(),
|
|
314
|
+
};
|
|
315
|
+
}
|
|
316
|
+
// --- Execute runnable phases concurrently within the layer ---
|
|
317
|
+
const runnable = plans.filter((p) => !p.skipReason);
|
|
318
|
+
if (runnable.length === 0)
|
|
319
|
+
continue;
|
|
320
|
+
const outcomes = await Promise.all(runnable.map(async ({ phase }) => {
|
|
277
321
|
const startedAt = Date.now();
|
|
278
|
-
state.phases[phase.id] = { id: phase.id, status: "running", startedAt };
|
|
279
322
|
const readRefs = [];
|
|
280
323
|
const promptCalls = [];
|
|
281
324
|
const ctx = { state, deps: stepDeps, steps, args, readRefs, promptCalls };
|
|
282
325
|
const result = await stepPhase(phase, ctx);
|
|
326
|
+
return { phase, result, startedAt, readRefs, promptCalls };
|
|
327
|
+
}));
|
|
328
|
+
// --- Atomic layer commit: fold all outcomes into state ---
|
|
329
|
+
for (const { phase, result, startedAt, readRefs } of outcomes) {
|
|
283
330
|
if (!result) {
|
|
284
331
|
state.phases[phase.id] = {
|
|
285
332
|
id: phase.id,
|
|
@@ -318,18 +365,13 @@ export async function runEventKernel(state, deps) {
|
|
|
318
365
|
approval: result.approval,
|
|
319
366
|
warnings: result.warnings,
|
|
320
367
|
...(observedReads.length ? { reads: observedReads } : {}),
|
|
321
|
-
// Prompt-size diagnostics (parity with imperative PhaseState.promptStats).
|
|
322
368
|
...(result.promptStats ? { promptStats: result.promptStats } : {}),
|
|
323
|
-
// Match the imperative audit marker: an idempotent:false phase
|
|
324
|
-
// records that its side effect may have fired, unless its guard skipped
|
|
325
|
-
// all execution.
|
|
326
369
|
...(phase.idempotent === false && result.status !== "skipped" ? { sideEffect: true } : {}),
|
|
327
370
|
...(result.status === "timedOut" ? { timedOut: true } : {}),
|
|
328
371
|
};
|
|
329
372
|
if (result.status === "done" && result.output !== undefined) {
|
|
330
373
|
steps[phase.id] = {
|
|
331
374
|
output: result.output,
|
|
332
|
-
// Always best-effort parse so {steps.X.json.field} works for JSON agents
|
|
333
375
|
json: phaseJson ?? safeParse(result.output),
|
|
334
376
|
};
|
|
335
377
|
}
|
|
@@ -339,35 +381,37 @@ export async function runEventKernel(state, deps) {
|
|
|
339
381
|
gateOutput = result.output ?? "";
|
|
340
382
|
gatePhaseId = phase.id;
|
|
341
383
|
}
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
384
|
+
}
|
|
385
|
+
// --- Post-layer budget check ---
|
|
386
|
+
const ob = runOverBudget(state);
|
|
387
|
+
if (ob.over) {
|
|
388
|
+
budgetBlocked = true;
|
|
389
|
+
budgetReason = ob.reason;
|
|
390
|
+
// Attribute the budget-hit to the last phase in the layer.
|
|
391
|
+
const lastPhase = layer[layer.length - 1];
|
|
392
|
+
const be = {
|
|
393
|
+
v: EVENT_SCHEMA_VERSION,
|
|
394
|
+
ts: Date.now(),
|
|
395
|
+
runId: state.runId,
|
|
396
|
+
phaseId: lastPhase.id,
|
|
397
|
+
kind: "decision",
|
|
398
|
+
decision: { type: "budget-hit", value: "budget", reason: ob.reason },
|
|
399
|
+
};
|
|
400
|
+
allEvents.push(be);
|
|
401
|
+
safeTraceEmit(deps, be);
|
|
402
|
+
safeTraceFlush(deps, lastPhase.id);
|
|
403
|
+
}
|
|
404
|
+
try {
|
|
405
|
+
deps.persist?.(state);
|
|
406
|
+
}
|
|
407
|
+
catch {
|
|
408
|
+
/* fail-open */
|
|
409
|
+
}
|
|
410
|
+
try {
|
|
411
|
+
deps.onProgress?.(state);
|
|
412
|
+
}
|
|
413
|
+
catch {
|
|
414
|
+
/* fail-open */
|
|
371
415
|
}
|
|
372
416
|
}
|
|
373
417
|
// Soft fold drift check
|
package/dist/exec/driver.js.map
CHANGED
|
@@ -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,
|
|
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,CAoFzE;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"}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* Feature gates and shared helpers for the S2 event kernel.
|
|
3
3
|
* Keeps the kernel from silently accepting DSL it cannot implement safely.
|
|
4
4
|
*/
|
|
5
|
-
import { dependenciesOf
|
|
5
|
+
import { dependenciesOf } from "../schema.js";
|
|
6
6
|
import { emptyUsage } from "../usage.js";
|
|
7
7
|
import { overBudget } from "../deterministic.js";
|
|
8
8
|
/** Linear-time placeholder detection for untrusted DSL strings.
|
|
@@ -69,10 +69,12 @@ export function kernelUnsupportedReason(def) {
|
|
|
69
69
|
if ((p.type ?? "agent") === "reduce" && p.reduceStrategy === "tree") {
|
|
70
70
|
return `phase '${id}': reduceStrategy 'tree' requires the imperative runtime`;
|
|
71
71
|
}
|
|
72
|
-
// Explicit multi-attempt retry
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
72
|
+
// Explicit multi-attempt retry: now supported on the kernel path (0.2.4).
|
|
73
|
+
// The retry curve is handled in step.ts runOneAgent and step-kinds.ts
|
|
74
|
+
// runAgentCall.
|
|
75
|
+
// expect contracts remain imperative-only (0.2.4): the contract-violation
|
|
76
|
+
// retry loop (contractViolations + runOne integration) is not yet ported
|
|
77
|
+
// to the kernel step handlers.
|
|
76
78
|
if (p.expect !== undefined) {
|
|
77
79
|
return `phase '${id}': expect contracts require the imperative runtime`;
|
|
78
80
|
}
|
|
@@ -85,19 +87,22 @@ export function kernelUnsupportedReason(def) {
|
|
|
85
87
|
if (p.shareContext === true || def.contextSharing === true) {
|
|
86
88
|
return `phase '${id}': Shared Context Tree requires the imperative runtime`;
|
|
87
89
|
}
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
//
|
|
92
|
-
//
|
|
93
|
-
// override would silently run in the wrong workspace.
|
|
90
|
+
// Context pre-read: now supported on the kernel path (0.2.4).
|
|
91
|
+
// step-kinds.ts reads context files and prepends them to the prompt.
|
|
92
|
+
// Per-phase cwd: literal string cwd is now supported on the kernel path
|
|
93
|
+
// (0.2.4). Interpolation placeholder cwds ({args.*}, {steps.*}) and
|
|
94
|
+
// workspace keywords (temp/dedicated/worktree) remain imperative-only.
|
|
94
95
|
const cwd = p.cwd;
|
|
95
|
-
if (typeof cwd === "string") {
|
|
96
|
+
if (typeof cwd === "string" && (containsInterpolationPlaceholder(cwd) || /^(temp|dedicated|worktree)$/.test(cwd))) {
|
|
96
97
|
return `phase '${id}': workspace cwd '${cwd}' requires the imperative runtime`;
|
|
97
98
|
}
|
|
99
|
+
// Per-branch cwd remains imperative-only (the kernel has no branch-level
|
|
100
|
+
// cwd resolution for parallel/tournament/race branches).
|
|
98
101
|
if (Array.isArray(p.branches) && p.branches.some((branch) => typeof branch.cwd === "string")) {
|
|
99
102
|
return `phase '${id}': per-branch cwd requires the imperative runtime`;
|
|
100
103
|
}
|
|
104
|
+
// Script stdin input and interpolated script argv remain imperative-only
|
|
105
|
+
// (they require the full interpolation + spawn pipeline).
|
|
101
106
|
if ((p.type ?? "agent") === "script" && p.input !== undefined) {
|
|
102
107
|
return `phase '${id}': script stdin input requires the imperative runtime`;
|
|
103
108
|
}
|
|
@@ -105,14 +110,9 @@ export function kernelUnsupportedReason(def) {
|
|
|
105
110
|
return `phase '${id}': interpolated script argv requires the imperative runtime`;
|
|
106
111
|
}
|
|
107
112
|
}
|
|
108
|
-
//
|
|
109
|
-
//
|
|
110
|
-
//
|
|
111
|
-
// independent sibling that should already have been in flight.
|
|
112
|
-
const layers = topoLayers(def.phases ?? []);
|
|
113
|
-
if (layers.some((layer) => layer.length > 1)) {
|
|
114
|
-
return "concurrent DAG layers require the imperative runtime";
|
|
115
|
-
}
|
|
113
|
+
// Concurrent DAG layers are now supported (0.2.4): the driver executes
|
|
114
|
+
// phases within a layer concurrently via Promise.all and commits atomically
|
|
115
|
+
// at layer boundaries. Gate/budget decisions are checked between layers.
|
|
116
116
|
// A fan-out budget guard must stop spawning items as spend accumulates. The
|
|
117
117
|
// kernel aggregates only after the whole node today, so budgeted fan-out is
|
|
118
118
|
// deliberately routed to the imperative implementation.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"kernel-policy.js","sourceRoot":"","sources":["../../src/exec/kernel-policy.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,cAAc,EAAE,
|
|
1
|
+
{"version":3,"file":"kernel-policy.js","sourceRoot":"","sources":["../../src/exec/kernel-policy.ts"],"names":[],"mappings":"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"}
|
|
@@ -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,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;
|
|
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;AAapD,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;AAgNF;;;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,CAuIzF"}
|
package/dist/exec/step-kinds.js
CHANGED
|
@@ -5,12 +5,13 @@
|
|
|
5
5
|
* Intentionally does not import runtime.ts. Nested flows go through
|
|
6
6
|
* `StepDeps.runNested` (injected by driver).
|
|
7
7
|
*/
|
|
8
|
+
import { readFileSync } from "node:fs";
|
|
9
|
+
import { resolve as resolvePath } from "node:path";
|
|
8
10
|
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
11
|
import { parseGateVerdict, parseTournamentWinner } from "../deterministic.js";
|
|
10
|
-
import { verifyTaskflow } from "../verify.js";
|
|
11
12
|
import { aggregateUsage, emptyUsage } from "../usage.js";
|
|
12
13
|
import { evaluateCondition, interpolate, interpolateValue, safeParse, tryEvaluateCondition } from "../interpolate.js";
|
|
13
|
-
import {
|
|
14
|
+
import { kernelAttemptsOverBudget } from "./kernel-policy.js";
|
|
14
15
|
import { abortableDelay, isFailed as isFailedResult, isTransientError, mapWithConcurrencyLimit, PHASE_TIMEOUT_ABORT_GRACE_MS } from "../runner-core.js";
|
|
15
16
|
import { EVENT_SCHEMA_VERSION } from "./events.js";
|
|
16
17
|
function baseEvent(ctx, phaseId, kind, extra = {}) {
|
|
@@ -27,9 +28,46 @@ async function runAgentCall(ctx, phase, agentName, task, nodePath, mapIndex, var
|
|
|
27
28
|
const phaseTimeoutMs = typeof phase.timeout === "number" && Number.isFinite(phase.timeout) && phase.timeout >= 1000
|
|
28
29
|
? phase.timeout
|
|
29
30
|
: undefined;
|
|
31
|
+
// --- Per-phase cwd resolution (0.2.4) ---
|
|
32
|
+
// A literal string cwd is resolved relative to the flow cwd. Workspace
|
|
33
|
+
// keywords (temp/dedicated/worktree) remain imperative-only.
|
|
34
|
+
const effCwd = typeof phase.cwd === "string" && !/^(temp|dedicated|worktree)$/.test(phase.cwd)
|
|
35
|
+
? (phase.cwd.startsWith("/") ? phase.cwd : `${ctx.deps.cwd}/${phase.cwd}`)
|
|
36
|
+
: ctx.deps.cwd;
|
|
37
|
+
// --- Context pre-read (0.2.4) ---
|
|
38
|
+
// Read context files and prepend them to the task prompt, matching the
|
|
39
|
+
// imperative runtime's resolvePhaseContext behavior.
|
|
40
|
+
let effectiveTask = task;
|
|
41
|
+
if (Array.isArray(phase.context) && phase.context.length > 0) {
|
|
42
|
+
const contextParts = [];
|
|
43
|
+
for (const file of phase.context) {
|
|
44
|
+
if (typeof file !== "string")
|
|
45
|
+
continue;
|
|
46
|
+
try {
|
|
47
|
+
const filePath = resolvePath(effCwd, file);
|
|
48
|
+
const content = readFileSync(filePath, "utf8");
|
|
49
|
+
contextParts.push(`<context file="${file}">\n${content}\n</context>`);
|
|
50
|
+
}
|
|
51
|
+
catch {
|
|
52
|
+
contextParts.push(`<context file="${file}">\n[file not found or unreadable]\n</context>`);
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
if (contextParts.length > 0) {
|
|
56
|
+
effectiveTask = `${contextParts.join("\n\n")}\n\n${task}`;
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
// --- Explicit retry support (0.2.4) ---
|
|
60
|
+
// The imperative runtime supports phase.retry = { max, backoffMs, factor }.
|
|
61
|
+
// The kernel previously only did transient-error retries (up to 4 attempts).
|
|
62
|
+
// Now we honor the declared retry.max for ALL failures (not just transient),
|
|
63
|
+
// matching the imperative contract.
|
|
64
|
+
const retryMax = phase.retry && typeof phase.retry === "object" ? (phase.retry.max ?? 0) : 0;
|
|
65
|
+
const retryBackoffMs = phase.retry && typeof phase.retry === "object" ? (phase.retry.backoffMs ?? 2000) : 2000;
|
|
66
|
+
const retryFactor = phase.retry && typeof phase.retry === "object" ? (phase.retry.factor ?? 2) : 2;
|
|
67
|
+
const maxAttempts = Math.max(4, retryMax + 1); // at least 4 for transient retries
|
|
30
68
|
const usages = [];
|
|
31
69
|
let r;
|
|
32
|
-
for (let attempt = 0; attempt <
|
|
70
|
+
for (let attempt = 0; attempt < maxAttempts; attempt++) {
|
|
33
71
|
if (ctx.deps.signal?.aborted)
|
|
34
72
|
break;
|
|
35
73
|
let timedOut = false;
|
|
@@ -60,12 +98,12 @@ async function runAgentCall(ctx, phase, agentName, task, nodePath, mapIndex, var
|
|
|
60
98
|
timer = undefined;
|
|
61
99
|
}
|
|
62
100
|
};
|
|
63
|
-
ctx.promptCalls?.push(
|
|
64
|
-
const invocation = ctx.deps.runTask(
|
|
101
|
+
ctx.promptCalls?.push(effectiveTask);
|
|
102
|
+
const invocation = ctx.deps.runTask(effCwd, ctx.deps.agents, agentName, effectiveTask, {
|
|
65
103
|
model: phase.model,
|
|
66
104
|
thinking: phase.thinking,
|
|
67
105
|
tools: phase.tools,
|
|
68
|
-
cwd:
|
|
106
|
+
cwd: effCwd,
|
|
69
107
|
signal: callSignal,
|
|
70
108
|
idleTimeoutMs: resolveIdleMs(phase, ctx.state.def),
|
|
71
109
|
onTerminalCommit,
|
|
@@ -79,7 +117,7 @@ async function runAgentCall(ctx, phase, agentName, task, nodePath, mapIndex, var
|
|
|
79
117
|
timeoutController?.abort();
|
|
80
118
|
forceReturnTimer = setTimeout(() => resolve({
|
|
81
119
|
agent: agentName,
|
|
82
|
-
task,
|
|
120
|
+
task: effectiveTask,
|
|
83
121
|
exitCode: 1,
|
|
84
122
|
output: "",
|
|
85
123
|
stderr: "",
|
|
@@ -120,9 +158,15 @@ async function runAgentCall(ctx, phase, agentName, task, nodePath, mapIndex, var
|
|
|
120
158
|
break;
|
|
121
159
|
if (kernelAttemptsOverBudget(ctx.state, phase.id, usages))
|
|
122
160
|
break;
|
|
123
|
-
if (r.phaseTimeout || phase.idempotent === false
|
|
161
|
+
if (r.phaseTimeout || phase.idempotent === false)
|
|
124
162
|
break;
|
|
125
|
-
|
|
163
|
+
// Explicit retry: retry ALL failures up to retryMax, not just transient.
|
|
164
|
+
const isTransient = isTransientError(r);
|
|
165
|
+
const withinExplicitRetry = attempt < retryMax;
|
|
166
|
+
const withinTransientRetry = isTransient && attempt < 3;
|
|
167
|
+
if (!withinExplicitRetry && !withinTransientRetry)
|
|
168
|
+
break;
|
|
169
|
+
const wait = Math.min(60_000, retryBackoffMs * retryFactor ** attempt);
|
|
126
170
|
await abortableDelay(wait, ctx.deps.signal);
|
|
127
171
|
}
|
|
128
172
|
if (!r) {
|
|
@@ -605,19 +649,12 @@ export async function executeFlowBody(phase, ctx) {
|
|
|
605
649
|
if (!v.ok) {
|
|
606
650
|
return { midEvents: [], output: "", status: "done", usage: emptyUsage() };
|
|
607
651
|
}
|
|
608
|
-
|
|
609
|
-
|
|
610
|
-
|
|
611
|
-
|
|
612
|
-
|
|
613
|
-
|
|
614
|
-
if (!ver.ok) {
|
|
615
|
-
const errs = ver.issues.filter((i) => i.severity === "error");
|
|
616
|
-
if (errs.length) {
|
|
617
|
-
return { midEvents: [], output: "", status: "done", usage: emptyUsage() };
|
|
618
|
-
}
|
|
619
|
-
}
|
|
620
|
-
subDef = clampSubFlowBudget(wrapped, ctx.state.def.budget);
|
|
652
|
+
// Pass the DECLARED def (unclamped). runNested clamps to effectiveDef
|
|
653
|
+
// internally for dispatch, and its verifier preflight inspects opts.def — so
|
|
654
|
+
// this makes the event kernel verify the same declared budget/concurrency
|
|
655
|
+
// the imperative path verifies (wrapped), keeping the no-spend gate at parity
|
|
656
|
+
// across engines (review of #84, issue 1).
|
|
657
|
+
subDef = wrapped;
|
|
621
658
|
recursionKey = `def:${subDef.name}`;
|
|
622
659
|
}
|
|
623
660
|
else {
|