taskflow-core 0.2.6 → 0.2.7
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/README.md +33 -5
- package/dist/analytics.d.ts +30 -0
- package/dist/analytics.d.ts.map +1 -0
- package/dist/analytics.js +127 -0
- package/dist/analytics.js.map +1 -0
- package/dist/build-info.json +2 -2
- package/dist/exec/step-kinds.d.ts +1 -1
- package/dist/exec/step-kinds.d.ts.map +1 -1
- package/dist/exec/step-kinds.js +26 -14
- package/dist/exec/step-kinds.js.map +1 -1
- package/dist/hooks.d.ts +73 -0
- package/dist/hooks.d.ts.map +1 -0
- package/dist/hooks.js +296 -0
- package/dist/hooks.js.map +1 -0
- package/dist/index.d.ts +4 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -0
- package/dist/index.js.map +1 -1
- package/dist/preflight.d.ts +69 -0
- package/dist/preflight.d.ts.map +1 -0
- package/dist/preflight.js +389 -0
- package/dist/preflight.js.map +1 -0
- package/dist/runtime/phases/approval-wait.d.ts +33 -0
- package/dist/runtime/phases/approval-wait.d.ts.map +1 -0
- package/dist/runtime/phases/approval-wait.js +95 -0
- package/dist/runtime/phases/approval-wait.js.map +1 -0
- package/dist/runtime/phases/approval.d.ts +1 -1
- package/dist/runtime/phases/approval.d.ts.map +1 -1
- package/dist/runtime/phases/approval.js +10 -6
- package/dist/runtime/phases/approval.js.map +1 -1
- package/dist/runtime.d.ts.map +1 -1
- package/dist/runtime.js +40 -11
- package/dist/runtime.js.map +1 -1
- package/dist/savings.d.ts +36 -0
- package/dist/savings.d.ts.map +1 -0
- package/dist/savings.js +76 -0
- package/dist/savings.js.map +1 -0
- package/dist/schema.d.ts +31 -0
- package/dist/schema.d.ts.map +1 -1
- package/dist/schema.js +123 -0
- package/dist/schema.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,389 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Preflight dry-run — zero-token plan before spend.
|
|
3
|
+
*
|
|
4
|
+
* Binds typed args, runs structural verify, projects a phase plan with
|
|
5
|
+
* static/dynamic binding status, and computes a worst-case agent-call bound.
|
|
6
|
+
*/
|
|
7
|
+
import { asArray, collectRefs, desugar, isShorthand, LOOP_DEFAULT_MAX_ITERATIONS, LOOP_HARD_MAX_ITERATIONS, resolveArgs, topoLayers, validateInvocationArgs, validateTaskflow, } from "./schema.js";
|
|
8
|
+
import { verifyTaskflow, } from "./verify.js";
|
|
9
|
+
// ---------------------------------------------------------------------------
|
|
10
|
+
// when / binding helpers
|
|
11
|
+
// ---------------------------------------------------------------------------
|
|
12
|
+
const STEPS_PLACEHOLDER = /\{steps\.[a-zA-Z0-9_-]+/;
|
|
13
|
+
const PREVIOUS_PLACEHOLDER = /\{previous\.|\{item\b|\{reflexion\b/;
|
|
14
|
+
const ARGS_PLACEHOLDER = /\{args\.([a-zA-Z0-9_-]+)(?:\.[a-zA-Z0-9_-]+)*\}/g;
|
|
15
|
+
function templateIsDynamic(s) {
|
|
16
|
+
if (!s)
|
|
17
|
+
return false;
|
|
18
|
+
return STEPS_PLACEHOLDER.test(s) || PREVIOUS_PLACEHOLDER.test(s);
|
|
19
|
+
}
|
|
20
|
+
/** Classify a `when` guard for preflight (args-only static evaluation). */
|
|
21
|
+
export function classifyWhen(when, args) {
|
|
22
|
+
if (!when || !when.trim())
|
|
23
|
+
return "always";
|
|
24
|
+
if (templateIsDynamic(when))
|
|
25
|
+
return "dynamic";
|
|
26
|
+
// Only args — try a tiny static truthiness check for simple forms.
|
|
27
|
+
const onlyArgs = when.replace(ARGS_PLACEHOLDER, (_, name) => {
|
|
28
|
+
const v = args[name];
|
|
29
|
+
if (v === undefined)
|
|
30
|
+
return "{missing}";
|
|
31
|
+
return String(v);
|
|
32
|
+
});
|
|
33
|
+
if (onlyArgs.includes("{"))
|
|
34
|
+
return "dynamic";
|
|
35
|
+
// Simple literals after arg substitution
|
|
36
|
+
const t = onlyArgs.trim().toLowerCase();
|
|
37
|
+
if (t === "true" || t === "1" || t === "yes")
|
|
38
|
+
return "static-true";
|
|
39
|
+
if (t === "false" || t === "0" || t === "no" || t === "")
|
|
40
|
+
return "static-false";
|
|
41
|
+
// Equality on args: `{args.x}==foo` already substituted above if exact
|
|
42
|
+
if (/^(true|false)$/i.test(t))
|
|
43
|
+
return t.toLowerCase() === "true" ? "static-true" : "static-false";
|
|
44
|
+
// Conservative: treat non-trivial static expressions as dynamic (fail-open at plan)
|
|
45
|
+
if (!STEPS_PLACEHOLDER.test(when) && !PREVIOUS_PLACEHOLDER.test(when)) {
|
|
46
|
+
// If no missing args placeholders left, we still may not eval full condition language —
|
|
47
|
+
// mark dynamic so we never skip a phase that should run.
|
|
48
|
+
return "dynamic";
|
|
49
|
+
}
|
|
50
|
+
return "dynamic";
|
|
51
|
+
}
|
|
52
|
+
function collectTemplates(phase) {
|
|
53
|
+
const out = [];
|
|
54
|
+
const push = (s) => {
|
|
55
|
+
if (typeof s === "string" && s.includes("{"))
|
|
56
|
+
out.push(s);
|
|
57
|
+
};
|
|
58
|
+
push(phase.task);
|
|
59
|
+
push(phase.over);
|
|
60
|
+
push(phase.when);
|
|
61
|
+
push(phase.until);
|
|
62
|
+
push(phase.cwd);
|
|
63
|
+
if (Array.isArray(phase.run))
|
|
64
|
+
for (const r of phase.run)
|
|
65
|
+
push(r);
|
|
66
|
+
push(phase.input);
|
|
67
|
+
if (typeof phase.def === "string")
|
|
68
|
+
push(phase.def);
|
|
69
|
+
for (const e of asArray(phase.eval))
|
|
70
|
+
push(e);
|
|
71
|
+
const score = phase.score;
|
|
72
|
+
if (score && typeof score === "object") {
|
|
73
|
+
push(score.target);
|
|
74
|
+
if (score.judge && typeof score.judge === "object")
|
|
75
|
+
push(score.judge.task);
|
|
76
|
+
}
|
|
77
|
+
return out;
|
|
78
|
+
}
|
|
79
|
+
function bindingsForPhase(phase, args) {
|
|
80
|
+
const refs = collectRefs(phase);
|
|
81
|
+
const bindings = [];
|
|
82
|
+
for (const a of refs.args) {
|
|
83
|
+
if (a in args && args[a] !== undefined) {
|
|
84
|
+
bindings.push({ path: `args.${a}`, status: "bound", value: stringifyBound(args[a]) });
|
|
85
|
+
}
|
|
86
|
+
else {
|
|
87
|
+
bindings.push({ path: `args.${a}`, status: "unresolved" });
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
for (const s of refs.steps) {
|
|
91
|
+
bindings.push({ path: `steps.${s}`, status: "dynamic" });
|
|
92
|
+
}
|
|
93
|
+
// Also flag previous/item style dynamics from templates
|
|
94
|
+
for (const t of collectTemplates(phase)) {
|
|
95
|
+
if (PREVIOUS_PLACEHOLDER.test(t) && !bindings.some((b) => b.path.startsWith("previous") || b.path === "item")) {
|
|
96
|
+
if (/\{previous\./.test(t))
|
|
97
|
+
bindings.push({ path: "previous.output", status: "dynamic" });
|
|
98
|
+
if (/\{item\b/.test(t))
|
|
99
|
+
bindings.push({ path: "item", status: "dynamic" });
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
return bindings;
|
|
103
|
+
}
|
|
104
|
+
function stringifyBound(v) {
|
|
105
|
+
if (typeof v === "string")
|
|
106
|
+
return v.length > 80 ? `${v.slice(0, 77)}…` : v;
|
|
107
|
+
try {
|
|
108
|
+
const s = JSON.stringify(v);
|
|
109
|
+
return s.length > 80 ? `${s.slice(0, 77)}…` : s;
|
|
110
|
+
}
|
|
111
|
+
catch {
|
|
112
|
+
return String(v);
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
// ---------------------------------------------------------------------------
|
|
116
|
+
// Budget bound
|
|
117
|
+
// ---------------------------------------------------------------------------
|
|
118
|
+
const LLM_TYPES = new Set([
|
|
119
|
+
"agent",
|
|
120
|
+
"gate",
|
|
121
|
+
"reduce",
|
|
122
|
+
"map",
|
|
123
|
+
"parallel",
|
|
124
|
+
"loop",
|
|
125
|
+
"tournament",
|
|
126
|
+
"race",
|
|
127
|
+
]);
|
|
128
|
+
export function computeBudgetBound(phases, args = {}) {
|
|
129
|
+
const assumptions = [];
|
|
130
|
+
let unbounded = false;
|
|
131
|
+
let maxMapFanout;
|
|
132
|
+
let total = 0;
|
|
133
|
+
const byId = new Map(phases.map((p) => [p.id, p]));
|
|
134
|
+
const boundPhase = (p, stack) => {
|
|
135
|
+
if (stack.has(p.id)) {
|
|
136
|
+
assumptions.push(`cycle involving '${p.id}' treated as unbounded`);
|
|
137
|
+
return "unbounded";
|
|
138
|
+
}
|
|
139
|
+
const when = classifyWhen(p.when, args);
|
|
140
|
+
if (when === "static-false")
|
|
141
|
+
return 0;
|
|
142
|
+
const type = p.type ?? "agent";
|
|
143
|
+
const next = new Set(stack);
|
|
144
|
+
next.add(p.id);
|
|
145
|
+
if (type === "script" || type === "approval")
|
|
146
|
+
return 0;
|
|
147
|
+
if (type === "agent" || type === "gate" || type === "reduce") {
|
|
148
|
+
if (type === "reduce" && p.reduceStrategy === "tree") {
|
|
149
|
+
assumptions.push(`phase '${p.id}': tree-reduce worst-case uses TREE cap (bounded as 256)`);
|
|
150
|
+
return 256;
|
|
151
|
+
}
|
|
152
|
+
return 1;
|
|
153
|
+
}
|
|
154
|
+
if (type === "parallel" || type === "race") {
|
|
155
|
+
const branches = asArray(p.branches);
|
|
156
|
+
// Each branch is one agent call in the common case
|
|
157
|
+
const n = Math.max(branches.length, 1);
|
|
158
|
+
return n;
|
|
159
|
+
}
|
|
160
|
+
if (type === "tournament") {
|
|
161
|
+
const variants = typeof p.variants === "number" && Number.isFinite(p.variants)
|
|
162
|
+
? Math.max(1, Math.floor(p.variants))
|
|
163
|
+
: asArray(p.branches).length || 3;
|
|
164
|
+
return variants + 1; // variants + judge
|
|
165
|
+
}
|
|
166
|
+
if (type === "map") {
|
|
167
|
+
const over = p.over ?? "";
|
|
168
|
+
if (templateIsDynamic(over) || STEPS_PLACEHOLDER.test(over)) {
|
|
169
|
+
assumptions.push(`phase '${p.id}': map.over is dynamic → agent-call bound unbounded`);
|
|
170
|
+
maxMapFanout = "unbounded";
|
|
171
|
+
unbounded = true;
|
|
172
|
+
return "unbounded";
|
|
173
|
+
}
|
|
174
|
+
// args-only array refs are still dynamic without evaluating over JSON
|
|
175
|
+
if (/\{args\./.test(over)) {
|
|
176
|
+
assumptions.push(`phase '${p.id}': map.over depends on args (length unknown) → unbounded`);
|
|
177
|
+
maxMapFanout = "unbounded";
|
|
178
|
+
unbounded = true;
|
|
179
|
+
return "unbounded";
|
|
180
|
+
}
|
|
181
|
+
assumptions.push(`phase '${p.id}': map.over not a static array → treated as unbounded`);
|
|
182
|
+
maxMapFanout = "unbounded";
|
|
183
|
+
unbounded = true;
|
|
184
|
+
return "unbounded";
|
|
185
|
+
}
|
|
186
|
+
if (type === "loop") {
|
|
187
|
+
const maxIter = typeof p.maxIterations === "number" && Number.isFinite(p.maxIterations)
|
|
188
|
+
? Math.min(Math.max(1, Math.floor(p.maxIterations)), LOOP_HARD_MAX_ITERATIONS)
|
|
189
|
+
: LOOP_DEFAULT_MAX_ITERATIONS;
|
|
190
|
+
// Body is one agent call per iteration (loop body is the phase task)
|
|
191
|
+
return maxIter;
|
|
192
|
+
}
|
|
193
|
+
if (type === "flow" || type === "expand") {
|
|
194
|
+
const def = p.def;
|
|
195
|
+
if (def && typeof def === "object" && def !== null) {
|
|
196
|
+
const child = def;
|
|
197
|
+
const childPhases = asArray(child.phases);
|
|
198
|
+
if (childPhases.length) {
|
|
199
|
+
let sum = 0;
|
|
200
|
+
for (const cp of childPhases) {
|
|
201
|
+
const b = boundPhase(cp, next);
|
|
202
|
+
if (b === "unbounded")
|
|
203
|
+
return "unbounded";
|
|
204
|
+
sum += b;
|
|
205
|
+
}
|
|
206
|
+
return sum;
|
|
207
|
+
}
|
|
208
|
+
}
|
|
209
|
+
assumptions.push(`phase '${p.id}': ${type} child def not statically available → unbounded`);
|
|
210
|
+
unbounded = true;
|
|
211
|
+
return "unbounded";
|
|
212
|
+
}
|
|
213
|
+
if (LLM_TYPES.has(type))
|
|
214
|
+
return 1;
|
|
215
|
+
return 0;
|
|
216
|
+
};
|
|
217
|
+
for (const p of phases) {
|
|
218
|
+
const b = boundPhase(p, new Set());
|
|
219
|
+
if (b === "unbounded") {
|
|
220
|
+
unbounded = true;
|
|
221
|
+
}
|
|
222
|
+
else {
|
|
223
|
+
total += b;
|
|
224
|
+
}
|
|
225
|
+
}
|
|
226
|
+
// Silence unused byId (reserved for future dep-aware pruning)
|
|
227
|
+
void byId;
|
|
228
|
+
return {
|
|
229
|
+
maxAgentCalls: unbounded ? "unbounded" : total,
|
|
230
|
+
maxMapFanout,
|
|
231
|
+
phasesCounted: phases.length,
|
|
232
|
+
assumptions,
|
|
233
|
+
};
|
|
234
|
+
}
|
|
235
|
+
// ---------------------------------------------------------------------------
|
|
236
|
+
// Main entry
|
|
237
|
+
// ---------------------------------------------------------------------------
|
|
238
|
+
/**
|
|
239
|
+
* Plan a flow without executing any agent. Pure w.r.t. model spend.
|
|
240
|
+
*/
|
|
241
|
+
export function preflightTaskflow(raw, opts = {}) {
|
|
242
|
+
const strictArgs = opts.strictArgs !== false;
|
|
243
|
+
const issues = [];
|
|
244
|
+
let flow;
|
|
245
|
+
try {
|
|
246
|
+
if (isShorthand(raw)) {
|
|
247
|
+
flow = desugar(raw);
|
|
248
|
+
}
|
|
249
|
+
else if (raw && typeof raw === "object" && Array.isArray(raw.phases)) {
|
|
250
|
+
flow = raw;
|
|
251
|
+
}
|
|
252
|
+
else {
|
|
253
|
+
// Last chance: treat as shorthand or invalid
|
|
254
|
+
flow = desugar(raw);
|
|
255
|
+
}
|
|
256
|
+
}
|
|
257
|
+
catch (e) {
|
|
258
|
+
const msg = e instanceof Error ? e.message : String(e);
|
|
259
|
+
return {
|
|
260
|
+
ok: false,
|
|
261
|
+
issues: [{ message: `desugar failed: ${msg}`, severity: "error", category: "ref-integrity" }],
|
|
262
|
+
flowName: "(invalid)",
|
|
263
|
+
args: {},
|
|
264
|
+
phases: [],
|
|
265
|
+
budget: { maxAgentCalls: 0, phasesCounted: 0, assumptions: [] },
|
|
266
|
+
summary: `Preflight failed: ${msg}`,
|
|
267
|
+
};
|
|
268
|
+
}
|
|
269
|
+
const validation = validateTaskflow(flow, {
|
|
270
|
+
args: opts.args,
|
|
271
|
+
cwd: opts.cwd,
|
|
272
|
+
});
|
|
273
|
+
for (const e of validation.errors) {
|
|
274
|
+
issues.push({ message: e, severity: "error", category: "ref-integrity" });
|
|
275
|
+
}
|
|
276
|
+
for (const w of validation.warnings) {
|
|
277
|
+
issues.push({ message: w, severity: "warning", category: "ref-integrity" });
|
|
278
|
+
}
|
|
279
|
+
const args = resolveArgs(flow, opts.args);
|
|
280
|
+
const invErrs = validateInvocationArgs(flow, args);
|
|
281
|
+
for (const e of invErrs) {
|
|
282
|
+
issues.push({
|
|
283
|
+
message: e,
|
|
284
|
+
severity: strictArgs ? "error" : "warning",
|
|
285
|
+
category: "ref-integrity",
|
|
286
|
+
});
|
|
287
|
+
}
|
|
288
|
+
const verify = verifyTaskflow(flow, { verifiers: opts.verifiers });
|
|
289
|
+
issues.push(...verify.issues);
|
|
290
|
+
const phases = asArray(flow.phases).filter((p) => !!p && typeof p === "object" && typeof p.id === "string");
|
|
291
|
+
const layers = topoLayers(phases);
|
|
292
|
+
const orderMap = new Map();
|
|
293
|
+
let order = 0;
|
|
294
|
+
for (const layer of layers) {
|
|
295
|
+
for (const p of layer)
|
|
296
|
+
orderMap.set(p.id, order++);
|
|
297
|
+
}
|
|
298
|
+
const plan = phases.map((p) => {
|
|
299
|
+
const when = classifyWhen(p.when, args);
|
|
300
|
+
const bindings = bindingsForPhase(p, args);
|
|
301
|
+
const notes = [];
|
|
302
|
+
if (when === "static-false")
|
|
303
|
+
notes.push("statically skipped by when");
|
|
304
|
+
if (bindings.some((b) => b.status === "unresolved"))
|
|
305
|
+
notes.push("has unresolved args");
|
|
306
|
+
return {
|
|
307
|
+
id: p.id,
|
|
308
|
+
type: p.type ?? "agent",
|
|
309
|
+
order: orderMap.get(p.id) ?? 0,
|
|
310
|
+
when,
|
|
311
|
+
bindings,
|
|
312
|
+
agent: typeof p.agent === "string" ? p.agent : undefined,
|
|
313
|
+
modelHint: typeof p.model === "string" ? p.model : undefined,
|
|
314
|
+
notes: notes.length ? notes : undefined,
|
|
315
|
+
};
|
|
316
|
+
});
|
|
317
|
+
const budget = computeBudgetBound(phases, args);
|
|
318
|
+
if (budget.maxAgentCalls === "unbounded" && flow.budget) {
|
|
319
|
+
issues.push({
|
|
320
|
+
message: "Worst-case agent-call bound is unbounded (dynamic map/flow) while a flow budget is declared — cost ceiling still enforced at runtime but cannot be proven statically.",
|
|
321
|
+
severity: "warning",
|
|
322
|
+
category: "budget-overflow",
|
|
323
|
+
});
|
|
324
|
+
}
|
|
325
|
+
const ok = !issues.some((i) => i.severity === "error");
|
|
326
|
+
const summary = formatPreflightSummary({
|
|
327
|
+
ok,
|
|
328
|
+
flowName: flow.name,
|
|
329
|
+
phases: plan,
|
|
330
|
+
budget,
|
|
331
|
+
issueCount: issues.length,
|
|
332
|
+
errorCount: issues.filter((i) => i.severity === "error").length,
|
|
333
|
+
});
|
|
334
|
+
return {
|
|
335
|
+
ok,
|
|
336
|
+
issues,
|
|
337
|
+
flowName: flow.name,
|
|
338
|
+
args,
|
|
339
|
+
phases: plan,
|
|
340
|
+
budget,
|
|
341
|
+
summary,
|
|
342
|
+
verify,
|
|
343
|
+
};
|
|
344
|
+
}
|
|
345
|
+
export function formatPreflightSummary(p) {
|
|
346
|
+
const runnable = p.phases.filter((x) => x.when !== "static-false").length;
|
|
347
|
+
const dyn = p.phases.filter((x) => x.when === "dynamic" || x.bindings.some((b) => b.status === "dynamic")).length;
|
|
348
|
+
const calls = p.budget.maxAgentCalls;
|
|
349
|
+
const lines = [
|
|
350
|
+
`plan — flow "${p.flowName}" · ${p.ok ? "OK" : "BLOCKED"}`,
|
|
351
|
+
`phases: ${p.phases.length} total · ${runnable} may run · ${dyn} with dynamic refs`,
|
|
352
|
+
`budget bound: maxAgentCalls=${calls === "unbounded" ? "unbounded" : calls} · phasesCounted=${p.budget.phasesCounted}`,
|
|
353
|
+
`issues: ${p.errorCount} error(s), ${p.issueCount - p.errorCount} warning(s)`,
|
|
354
|
+
];
|
|
355
|
+
if (p.budget.assumptions.length) {
|
|
356
|
+
lines.push(`assumptions: ${p.budget.assumptions.slice(0, 5).join("; ")}${p.budget.assumptions.length > 5 ? "…" : ""}`);
|
|
357
|
+
}
|
|
358
|
+
return lines.join("\n");
|
|
359
|
+
}
|
|
360
|
+
/** Full human report for MCP/CLI. */
|
|
361
|
+
export function formatPreflightReport(r, json = false) {
|
|
362
|
+
if (json)
|
|
363
|
+
return JSON.stringify(r, null, 2);
|
|
364
|
+
const lines = [r.summary, ""];
|
|
365
|
+
lines.push("Phase plan (topo order):");
|
|
366
|
+
const sorted = [...r.phases].sort((a, b) => a.order - b.order);
|
|
367
|
+
for (const p of sorted) {
|
|
368
|
+
const when = p.when === "always" ? "" : ` when=${p.when}`;
|
|
369
|
+
const agent = p.agent ? ` agent=${p.agent}` : "";
|
|
370
|
+
const notes = p.notes?.length ? ` (${p.notes.join("; ")})` : "";
|
|
371
|
+
lines.push(` ${p.order + 1}. ${p.id} [${p.type}]${when}${agent}${notes}`);
|
|
372
|
+
for (const b of p.bindings) {
|
|
373
|
+
const val = b.status === "bound" && b.value !== undefined ? `=${b.value}` : "";
|
|
374
|
+
lines.push(` · {${b.path}} → ${b.status}${val}`);
|
|
375
|
+
}
|
|
376
|
+
}
|
|
377
|
+
if (r.issues.length) {
|
|
378
|
+
lines.push("");
|
|
379
|
+
lines.push("Issues:");
|
|
380
|
+
for (const i of r.issues) {
|
|
381
|
+
const where = i.phaseId ? ` [${i.phaseId}]` : "";
|
|
382
|
+
lines.push(` ${i.severity === "error" ? "✗" : "!"} ${i.severity}${where}: ${i.message}`);
|
|
383
|
+
}
|
|
384
|
+
}
|
|
385
|
+
lines.push("");
|
|
386
|
+
lines.push("Zero tokens. Run with taskflow_run when ready.");
|
|
387
|
+
return lines.join("\n");
|
|
388
|
+
}
|
|
389
|
+
//# sourceMappingURL=preflight.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"preflight.js","sourceRoot":"","sources":["../src/preflight.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Approval wait with optional timeoutMs / onExpire.
|
|
3
|
+
* Shared by imperative runtime and event-kernel step-kinds.
|
|
4
|
+
*/
|
|
5
|
+
import type { Phase } from "../../schema.ts";
|
|
6
|
+
import type { ApprovalDecision } from "./approval.ts";
|
|
7
|
+
export type ApprovalExpireAction = "reject" | "fail" | "approve";
|
|
8
|
+
export type ResolvedApproval = {
|
|
9
|
+
kind: "decision";
|
|
10
|
+
decision: ApprovalDecision;
|
|
11
|
+
auto?: boolean;
|
|
12
|
+
} | {
|
|
13
|
+
kind: "fail";
|
|
14
|
+
error: string;
|
|
15
|
+
};
|
|
16
|
+
export interface ApprovalWaitDeps {
|
|
17
|
+
phase: Phase;
|
|
18
|
+
message: string;
|
|
19
|
+
upstream?: string;
|
|
20
|
+
requestApproval?: (req: {
|
|
21
|
+
phaseId: string;
|
|
22
|
+
message: string;
|
|
23
|
+
upstream?: string;
|
|
24
|
+
}) => Promise<ApprovalDecision>;
|
|
25
|
+
signal?: AbortSignal;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Resolve an approval decision, racing human input against timeoutMs when set.
|
|
29
|
+
* Non-interactive (no requestApproval): auto-reject unless we only had timeout path —
|
|
30
|
+
* still auto-reject for safety (detached/CI never bypasses).
|
|
31
|
+
*/
|
|
32
|
+
export declare function resolveApprovalDecision(deps: ApprovalWaitDeps): Promise<ResolvedApproval>;
|
|
33
|
+
//# sourceMappingURL=approval-wait.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"approval-wait.d.ts","sourceRoot":"","sources":["../../../src/runtime/phases/approval-wait.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAEtD,MAAM,MAAM,oBAAoB,GAAG,QAAQ,GAAG,MAAM,GAAG,SAAS,CAAC;AAEjE,MAAM,MAAM,gBAAgB,GACzB;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,QAAQ,EAAE,gBAAgB,CAAC;IAAC,IAAI,CAAC,EAAE,OAAO,CAAA;CAAE,GAChE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAEnC,MAAM,WAAW,gBAAgB;IAChC,KAAK,EAAE,KAAK,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,eAAe,CAAC,EAAE,CAAC,GAAG,EAAE;QACvB,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,EAAE,MAAM,CAAC;QAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;KAClB,KAAK,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAChC,MAAM,CAAC,EAAE,WAAW,CAAC;CACrB;AAcD;;;;GAIG;AACH,wBAAsB,uBAAuB,CAAC,IAAI,EAAE,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CA6E/F"}
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Approval wait with optional timeoutMs / onExpire.
|
|
3
|
+
* Shared by imperative runtime and event-kernel step-kinds.
|
|
4
|
+
*/
|
|
5
|
+
function onExpireOf(phase) {
|
|
6
|
+
const o = phase.onExpire;
|
|
7
|
+
if (o === "approve" || o === "fail" || o === "reject")
|
|
8
|
+
return o;
|
|
9
|
+
return "reject";
|
|
10
|
+
}
|
|
11
|
+
function timeoutMsOf(phase) {
|
|
12
|
+
const t = phase.timeoutMs;
|
|
13
|
+
if (typeof t === "number" && Number.isFinite(t) && t >= 1000)
|
|
14
|
+
return t;
|
|
15
|
+
return undefined;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Resolve an approval decision, racing human input against timeoutMs when set.
|
|
19
|
+
* Non-interactive (no requestApproval): auto-reject unless we only had timeout path —
|
|
20
|
+
* still auto-reject for safety (detached/CI never bypasses).
|
|
21
|
+
*/
|
|
22
|
+
export async function resolveApprovalDecision(deps) {
|
|
23
|
+
const { phase, message, upstream, requestApproval, signal } = deps;
|
|
24
|
+
const timeoutMs = timeoutMsOf(phase);
|
|
25
|
+
const onExpire = onExpireOf(phase);
|
|
26
|
+
// Headless: never auto-approve; timeout path still applies only when a human
|
|
27
|
+
// wait was possible. Without requestApproval, preserve fail-closed reject.
|
|
28
|
+
if (!requestApproval) {
|
|
29
|
+
return {
|
|
30
|
+
kind: "decision",
|
|
31
|
+
decision: { decision: "reject", note: "(auto-rejected: no interactive approver available)" },
|
|
32
|
+
auto: true,
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
const human = requestApproval({ phaseId: phase.id, message, upstream });
|
|
36
|
+
if (timeoutMs === undefined) {
|
|
37
|
+
if (signal?.aborted) {
|
|
38
|
+
return { kind: "decision", decision: { decision: "reject", note: "aborted" }, auto: true };
|
|
39
|
+
}
|
|
40
|
+
const decision = await human;
|
|
41
|
+
return { kind: "decision", decision };
|
|
42
|
+
}
|
|
43
|
+
let timer;
|
|
44
|
+
const expired = new Promise((resolve) => {
|
|
45
|
+
timer = setTimeout(() => {
|
|
46
|
+
if (onExpire === "fail") {
|
|
47
|
+
resolve({ kind: "fail", error: "approval-expired" });
|
|
48
|
+
}
|
|
49
|
+
else if (onExpire === "approve") {
|
|
50
|
+
resolve({
|
|
51
|
+
kind: "decision",
|
|
52
|
+
decision: { decision: "approve", note: "approval-expired (auto-approve)" },
|
|
53
|
+
auto: true,
|
|
54
|
+
});
|
|
55
|
+
}
|
|
56
|
+
else {
|
|
57
|
+
resolve({
|
|
58
|
+
kind: "decision",
|
|
59
|
+
decision: { decision: "reject", note: "approval-expired" },
|
|
60
|
+
auto: true,
|
|
61
|
+
});
|
|
62
|
+
}
|
|
63
|
+
}, timeoutMs);
|
|
64
|
+
});
|
|
65
|
+
let onAbort;
|
|
66
|
+
const abortPromise = signal
|
|
67
|
+
? new Promise((resolve) => {
|
|
68
|
+
if (signal.aborted) {
|
|
69
|
+
resolve({ kind: "decision", decision: { decision: "reject", note: "aborted" }, auto: true });
|
|
70
|
+
return;
|
|
71
|
+
}
|
|
72
|
+
onAbort = () => resolve({ kind: "decision", decision: { decision: "reject", note: "aborted" }, auto: true });
|
|
73
|
+
signal.addEventListener("abort", onAbort, { once: true });
|
|
74
|
+
})
|
|
75
|
+
: undefined;
|
|
76
|
+
const humanResolved = human.then((decision) => ({ kind: "decision", decision }), (err) => ({
|
|
77
|
+
kind: "fail",
|
|
78
|
+
error: err instanceof Error ? err.message : String(err),
|
|
79
|
+
}));
|
|
80
|
+
// Swallow unhandled rejection if the human promise never settles (timeout wins).
|
|
81
|
+
humanResolved.catch(() => { });
|
|
82
|
+
const racers = [humanResolved, expired];
|
|
83
|
+
if (abortPromise)
|
|
84
|
+
racers.push(abortPromise);
|
|
85
|
+
try {
|
|
86
|
+
return await Promise.race(racers);
|
|
87
|
+
}
|
|
88
|
+
finally {
|
|
89
|
+
if (timer)
|
|
90
|
+
clearTimeout(timer);
|
|
91
|
+
if (signal && onAbort)
|
|
92
|
+
signal.removeEventListener("abort", onAbort);
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
//# sourceMappingURL=approval-wait.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"approval-wait.js","sourceRoot":"","sources":["../../../src/runtime/phases/approval-wait.ts"],"names":[],"mappings":"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"}
|
|
@@ -17,7 +17,7 @@ export interface ApprovalRequest {
|
|
|
17
17
|
export declare function approvalDecisionToPhaseState(phaseId: string, decision: ApprovalDecision, opts: {
|
|
18
18
|
inputHash: string;
|
|
19
19
|
reads?: PhaseState["reads"];
|
|
20
|
-
/** When true, mark
|
|
20
|
+
/** When true, mark approval as automatic (timeout / headless / abort). */
|
|
21
21
|
auto?: boolean;
|
|
22
22
|
}): PhaseState;
|
|
23
23
|
//# sourceMappingURL=approval.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"approval.d.ts","sourceRoot":"","sources":["../../../src/runtime/phases/approval.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAGjD,MAAM,WAAW,gBAAgB;IAChC,QAAQ,EAAE,SAAS,GAAG,QAAQ,GAAG,MAAM,CAAC;IACxC,IAAI,CAAC,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,eAAe;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,wBAAgB,4BAA4B,CAC3C,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,gBAAgB,EAC1B,IAAI,EAAE;IACL,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC;IAC5B,
|
|
1
|
+
{"version":3,"file":"approval.d.ts","sourceRoot":"","sources":["../../../src/runtime/phases/approval.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAGjD,MAAM,WAAW,gBAAgB;IAChC,QAAQ,EAAE,SAAS,GAAG,QAAQ,GAAG,MAAM,CAAC;IACxC,IAAI,CAAC,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,eAAe;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,wBAAgB,4BAA4B,CAC3C,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,gBAAgB,EAC1B,IAAI,EAAE;IACL,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC;IAC5B,0EAA0E;IAC1E,IAAI,CAAC,EAAE,OAAO,CAAC;CACf,GACC,UAAU,CAoCZ"}
|
|
@@ -6,25 +6,29 @@ import { emptyUsage } from "../../usage.js";
|
|
|
6
6
|
* Build PhaseState for an approval outcome (interactive or auto-reject).
|
|
7
7
|
*/
|
|
8
8
|
export function approvalDecisionToPhaseState(phaseId, decision, opts) {
|
|
9
|
-
|
|
9
|
+
const note = decision.note?.trim();
|
|
10
|
+
// Headless default path: no note and reject → keep historical auto-reject wording.
|
|
11
|
+
if (opts.auto &&
|
|
12
|
+
decision.decision === "reject" &&
|
|
13
|
+
(!note || note === "(auto-rejected: no interactive approver available)")) {
|
|
14
|
+
const reason = note || "(auto-rejected: no interactive approver available)";
|
|
10
15
|
return {
|
|
11
16
|
id: phaseId,
|
|
12
17
|
status: "done",
|
|
13
|
-
output:
|
|
14
|
-
approval: { decision: "reject", auto: true },
|
|
15
|
-
gate: { verdict: "block", reason
|
|
18
|
+
output: reason,
|
|
19
|
+
approval: { decision: "reject", auto: true, note },
|
|
20
|
+
gate: { verdict: "block", reason },
|
|
16
21
|
usage: emptyUsage(),
|
|
17
22
|
inputHash: opts.inputHash,
|
|
18
23
|
reads: opts.reads,
|
|
19
24
|
endedAt: Date.now(),
|
|
20
25
|
};
|
|
21
26
|
}
|
|
22
|
-
const note = decision.note?.trim();
|
|
23
27
|
const ps = {
|
|
24
28
|
id: phaseId,
|
|
25
29
|
status: "done",
|
|
26
30
|
output: note || `(${decision.decision})`,
|
|
27
|
-
approval: { decision: decision.decision, note },
|
|
31
|
+
approval: { decision: decision.decision, note, ...(opts.auto ? { auto: true } : {}) },
|
|
28
32
|
usage: emptyUsage(),
|
|
29
33
|
inputHash: opts.inputHash,
|
|
30
34
|
reads: opts.reads,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"approval.js","sourceRoot":"","sources":["../../../src/runtime/phases/approval.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAa5C;;GAEG;AACH,MAAM,UAAU,4BAA4B,CAC3C,OAAe,EACf,QAA0B,EAC1B,IAKC;IAED,
|
|
1
|
+
{"version":3,"file":"approval.js","sourceRoot":"","sources":["../../../src/runtime/phases/approval.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAa5C;;GAEG;AACH,MAAM,UAAU,4BAA4B,CAC3C,OAAe,EACf,QAA0B,EAC1B,IAKC;IAED,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC;IACnC,mFAAmF;IACnF,IACC,IAAI,CAAC,IAAI;QACT,QAAQ,CAAC,QAAQ,KAAK,QAAQ;QAC9B,CAAC,CAAC,IAAI,IAAI,IAAI,KAAK,oDAAoD,CAAC,EACvE,CAAC;QACF,MAAM,MAAM,GAAG,IAAI,IAAI,oDAAoD,CAAC;QAC5E,OAAO;YACN,EAAE,EAAE,OAAO;YACX,MAAM,EAAE,MAAM;YACd,MAAM,EAAE,MAAM;YACd,QAAQ,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE;YAClD,IAAI,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE;YAClC,KAAK,EAAE,UAAU,EAAE;YACnB,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,OAAO,EAAE,IAAI,CAAC,GAAG,EAAE;SACnB,CAAC;IACH,CAAC;IAED,MAAM,EAAE,GAAe;QACtB,EAAE,EAAE,OAAO;QACX,MAAM,EAAE,MAAM;QACd,MAAM,EAAE,IAAI,IAAI,IAAI,QAAQ,CAAC,QAAQ,GAAG;QACxC,QAAQ,EAAE,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE;QACrF,KAAK,EAAE,UAAU,EAAE;QACnB,SAAS,EAAE,IAAI,CAAC,SAAS;QACzB,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,OAAO,EAAE,IAAI,CAAC,GAAG,EAAE;KACnB,CAAC;IACF,IAAI,QAAQ,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;QACpC,EAAE,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,IAAI,kBAAkB,EAAE,CAAC;IACpE,CAAC;IACD,OAAO,EAAE,CAAC;AACX,CAAC"}
|
package/dist/runtime.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"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"}
|